John Klehm : wintab32: Send notification when z-order changes.

Alexandre Julliard julliard at winehq.org
Tue Oct 7 08:54:15 CDT 2008


Module: wine
Branch: master
Commit: 3496d17018de61d95e974b673959d7827e43c374
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=3496d17018de61d95e974b673959d7827e43c374

Author: John Klehm <xixsimplicityxix at gmail.com>
Date:   Tue Oct  7 01:05:51 2008 -0500

wintab32: Send notification when z-order changes.

---

 dlls/wintab32/context.c |   21 +++++++++++++++++++--
 1 files changed, 19 insertions(+), 2 deletions(-)

diff --git a/dlls/wintab32/context.c b/dlls/wintab32/context.c
index bf46170..33c780c 100644
--- a/dlls/wintab32/context.c
+++ b/dlls/wintab32/context.c
@@ -648,6 +648,10 @@ BOOL WINAPI WTEnable(HCTX hCtx, BOOL fEnable)
         context->enabled = TRUE;
         /* TODO: Add to top of overlap order */
         context->context.lcStatus = CXS_ONTOP;
+        TABLET_PostTabletMessage(context,
+            _WT_CTXOVERLAP(context->context.lcMsgBase),
+            (WPARAM)context->handle,
+            context->context.lcStatus, TRUE);
     }
     /* if we want to disable and it is not disabled then */
     else if (!fEnable && context->enabled)
@@ -656,6 +660,10 @@ BOOL WINAPI WTEnable(HCTX hCtx, BOOL fEnable)
         /* TODO: Remove from overlap order?? needs a test */
         context->context.lcStatus = CXS_DISABLED;
         TABLET_FlushQueue(context);
+        TABLET_PostTabletMessage(context,
+            _WT_CTXOVERLAP(context->context.lcMsgBase),
+            (WPARAM)context->handle,
+            context->context.lcStatus, TRUE);
     }
     LeaveCriticalSection(&csTablet);
 
@@ -677,17 +685,26 @@ BOOL WINAPI WTOverlap(HCTX hCtx, BOOL fToTop)
 
     EnterCriticalSection(&csTablet);
     context = TABLET_FindOpenContext(hCtx);
-    if (fToTop)
+    /* if we want to send to top and it's not already there */
+    if (fToTop && context->context.lcStatus != CXS_ONTOP)
     {
         /* TODO: Move context to top of overlap order */
         FIXME("Not moving context to top of overlap order\n");
         context->context.lcStatus = CXS_ONTOP;
+        TABLET_PostTabletMessage(context,
+            _WT_CTXOVERLAP(context->context.lcMsgBase),
+            (WPARAM)context->handle,
+            context->context.lcStatus, TRUE);
     }
-    else
+    else if (!fToTop)
     {
         /* TODO: Move context to bottom of overlap order */
         FIXME("Not moving context to bottom of overlap order\n");
         context->context.lcStatus = CXS_OBSCURED;
+        TABLET_PostTabletMessage(context,
+            _WT_CTXOVERLAP(context->context.lcMsgBase),
+            (WPARAM)context->handle,
+            context->context.lcStatus, TRUE);
     }
     LeaveCriticalSection(&csTablet);
 




More information about the wine-cvs mailing list