Alexandre Julliard : winex11: Use SetWindowPos to invalidate DCEs when changing the pixel format.
Alexandre Julliard
julliard at winehq.org
Tue Apr 22 06:47:12 CDT 2008
Module: wine
Branch: master
Commit: 9727aa812389e73ef63e6fbe1c51d8adfb90518a
URL: http://source.winehq.org/git/wine.git/?a=commit;h=9727aa812389e73ef63e6fbe1c51d8adfb90518a
Author: Alexandre Julliard <julliard at winehq.org>
Date: Mon Apr 21 20:32:22 2008 +0200
winex11: Use SetWindowPos to invalidate DCEs when changing the pixel format.
---
dlls/user32/user32.spec | 1 -
dlls/winex11.drv/window.c | 6 +++++-
dlls/winex11.drv/x11drv.h | 1 -
3 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/dlls/user32/user32.spec b/dlls/user32/user32.spec
index 7057399..73af8aa 100644
--- a/dlls/user32/user32.spec
+++ b/dlls/user32/user32.spec
@@ -788,4 +788,3 @@
# Wine dll separation hacks, these will go away, don't use them
#
@ cdecl HOOK_CallHooks(long long long long long)
-@ cdecl WIN_invalidate_dce(long ptr) invalidate_dce
diff --git a/dlls/winex11.drv/window.c b/dlls/winex11.drv/window.c
index 0802b4d..e362e9c 100644
--- a/dlls/winex11.drv/window.c
+++ b/dlls/winex11.drv/window.c
@@ -496,7 +496,10 @@ done:
wine_tsx11_lock();
XFlush( display );
wine_tsx11_unlock();
- WIN_invalidate_dce( hwnd, NULL );
+ /* force DCE invalidation */
+ SetWindowPos( hwnd, 0, 0, 0, 0, 0,
+ SWP_NOACTIVATE | SWP_NOZORDER | SWP_NOSIZE | SWP_NOMOVE |
+ SWP_NOREDRAW | SWP_NOSENDCHANGING | SWP_STATECHANGED);
return TRUE;
}
@@ -559,6 +562,7 @@ static void sync_gl_drawable(Display *display, struct x11drv_win_data *data)
XFreePixmap(display, data->pixmap);
destroy_glxpixmap(display, data->gl_drawable);
+ TRACE( "Recreated GL drawable %lx to replace %lx\n", glxp, data->gl_drawable );
data->pixmap = pix;
data->gl_drawable = glxp;
diff --git a/dlls/winex11.drv/x11drv.h b/dlls/winex11.drv/x11drv.h
index 90a2abd..450153b 100644
--- a/dlls/winex11.drv/x11drv.h
+++ b/dlls/winex11.drv/x11drv.h
@@ -774,7 +774,6 @@ extern void X11DRV_ForceXIMReset(HWND hwnd);
/* FIXME: private functions imported from user32 */
extern LRESULT HOOK_CallHooks( INT id, INT code, WPARAM wparam, LPARAM lparam, BOOL unicode );
-extern void WIN_invalidate_dce( HWND hwnd, const RECT *rect );
#define XEMBED_MAPPED (1 << 0)
More information about the wine-cvs
mailing list