[PATCH] [User32]: interprocess NCPAINT

Eric Pouech eric.pouech at wanadoo.fr
Tue May 16 14:14:59 CDT 2006


- allow interprocess WM_NCPAINT messages when wParam is 0 or 1
  (default values)

This is used by windbg 6.4.

A+
---

 dlls/user/message.c |   16 ++++++++++++----
 1 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/dlls/user/message.c b/dlls/user/message.c
index 6cfc28b..48c1c0d 100644
--- a/dlls/user/message.c
+++ b/dlls/user/message.c
@@ -621,7 +621,11 @@ static size_t pack_message( HWND hwnd, U
         return 0;
     case WM_PAINT:
         if (!wparam) return 0;
-        /* fall through */
+        goto cant_pack;
+
+    case WM_NCPAINT:
+        if (wparam <= 1) return 0;
+        goto cant_pack;
 
     /* these contain an HFONT */
     case WM_SETFONT:
@@ -629,7 +633,6 @@ static size_t pack_message( HWND hwnd, U
     /* these contain an HDC */
     case WM_ERASEBKGND:
     case WM_ICONERASEBKGND:
-    case WM_NCPAINT:
     case WM_CTLCOLORMSGBOX:
     case WM_CTLCOLOREDIT:
     case WM_CTLCOLORLISTBOX:
@@ -653,6 +656,7 @@ static size_t pack_message( HWND hwnd, U
     case WM_DRAGLOOP:
     case WM_DRAGSELECT:
     case WM_DRAGMOVE:
+    cant_pack:
         FIXME( "msg %x (%s) not supported yet\n", message, SPY_GetMsgName(message, hwnd) );
         data->count = -1;
         return 0;
@@ -881,7 +885,11 @@ static BOOL unpack_message( HWND hwnd, U
         break;
     case WM_PAINT:
         if (!*wparam) return TRUE;
-        /* fall through */
+        goto cant_unpack;
+    case WM_NCPAINT:
+        if (*wparam <= 1) return TRUE;
+        FIXME("got %p/%x\n", wparam, *wparam);
+        goto cant_unpack;
 
     /* these contain an HFONT */
     case WM_SETFONT:
@@ -889,7 +897,6 @@ static BOOL unpack_message( HWND hwnd, U
     /* these contain an HDC */
     case WM_ERASEBKGND:
     case WM_ICONERASEBKGND:
-    case WM_NCPAINT:
     case WM_CTLCOLORMSGBOX:
     case WM_CTLCOLOREDIT:
     case WM_CTLCOLORLISTBOX:
@@ -913,6 +920,7 @@ static BOOL unpack_message( HWND hwnd, U
     case WM_DRAGLOOP:
     case WM_DRAGSELECT:
     case WM_DRAGMOVE:
+    cant_unpack:
         FIXME( "msg %x (%s) not supported yet\n", message, SPY_GetMsgName(message, hwnd) );
         return FALSE;
 




More information about the wine-patches mailing list