commit 0011432dda4d0968823df8fecde6e5a828b72966 Author: Peter Urbanec Date: Wed Jan 7 10:31:07 2009 +1100 wintab32: Check for NULL before using context. diff --git a/dlls/wintab32/context.c b/dlls/wintab32/context.c index efc5cfa..b2a9c98 100644 --- a/dlls/wintab32/context.c +++ b/dlls/wintab32/context.c @@ -702,6 +702,12 @@ BOOL WINAPI WTOverlap(HCTX hCtx, BOOL fToTop) EnterCriticalSection(&csTablet); context = TABLET_FindOpenContext(hCtx); + if (!context) + { + LeaveCriticalSection(&csTablet); + return FALSE; + } + /* if we want to send to top and it's not already there */ if (fToTop && context->context.lcStatus != CXS_ONTOP) { @@ -806,6 +812,12 @@ BOOL WINAPI WTSetA(HCTX hCtx, LPLOGCONTEXTA lpLogCtx) EnterCriticalSection(&csTablet); context = TABLET_FindOpenContext(hCtx); + if (!context) + { + LeaveCriticalSection(&csTablet); + return FALSE; + } + LOGCONTEXTAtoW(lpLogCtx, &context->context); LeaveCriticalSection(&csTablet); @@ -828,6 +840,12 @@ BOOL WINAPI WTSetW(HCTX hCtx, LPLOGCONTEXTW lpLogCtx) EnterCriticalSection(&csTablet); context = TABLET_FindOpenContext(hCtx); + if (!context) + { + LeaveCriticalSection(&csTablet); + return FALSE; + } + memmove(&context->context, lpLogCtx, sizeof(LOGCONTEXTW)); LeaveCriticalSection(&csTablet);