Alexandre Julliard : user32: Call the SetWindowStyle driver entry point before updating the window position .

Alexandre Julliard julliard at winehq.org
Mon Oct 1 13:35:06 CDT 2012


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

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Mon Oct  1 13:12:29 2012 +0200

user32: Call the SetWindowStyle driver entry point before updating the window position.

---

 dlls/user32/win.c |   18 +++++++++---------
 1 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/dlls/user32/win.c b/dlls/user32/win.c
index 0faf02d..0dbe29e 100644
--- a/dlls/user32/win.c
+++ b/dlls/user32/win.c
@@ -763,6 +763,7 @@ ULONG WIN_SetStyle( HWND hwnd, ULONG set_bits, ULONG clear_bits )
 
     if (!ok) return 0;
 
+    USER_Driver->pSetWindowStyle( hwnd, GWL_STYLE, &style );
     if (needs_show)
     {
         RECT window_rect, client_rect;
@@ -772,7 +773,6 @@ ULONG WIN_SetStyle( HWND hwnd, ULONG set_bits, ULONG clear_bits )
                         &window_rect, &client_rect, NULL );
     }
 
-    USER_Driver->pSetWindowStyle( hwnd, GWL_STYLE, &style );
     return style.styleOld;
 }
 
@@ -2481,19 +2481,19 @@ LONG_PTR WIN_SetWindowLong( HWND hwnd, INT offset, UINT size, LONG_PTR newval, B
 
     if (!ok) return 0;
 
-    if (needs_show)
-    {
-        RECT window_rect, client_rect;
-        WIN_GetRectangles( hwnd, COORDS_PARENT, &window_rect, &client_rect );
-        set_window_pos( hwnd, 0, SWP_NOSIZE | SWP_NOMOVE | SWP_NOCLIENTSIZE | SWP_NOCLIENTMOVE |
-                        SWP_NOZORDER | SWP_NOACTIVATE | SWP_SHOWWINDOW,
-                        &window_rect, &client_rect, NULL );
-    }
     if (offset == GWL_STYLE || offset == GWL_EXSTYLE)
     {
         style.styleOld = retval;
         style.styleNew = newval;
         USER_Driver->pSetWindowStyle( hwnd, offset, &style );
+        if (needs_show)
+        {
+            RECT window_rect, client_rect;
+            WIN_GetRectangles( hwnd, COORDS_PARENT, &window_rect, &client_rect );
+            set_window_pos( hwnd, 0, SWP_NOSIZE | SWP_NOMOVE | SWP_NOCLIENTSIZE | SWP_NOCLIENTMOVE |
+                            SWP_NOZORDER | SWP_NOACTIVATE | SWP_SHOWWINDOW,
+                            &window_rect, &client_rect, NULL );
+        }
         SendMessageW( hwnd, WM_STYLECHANGED, offset, (LPARAM)&style );
     }
 




More information about the wine-cvs mailing list