winex11: Use SetWindowPos to invalidate DCEs when changing the pixel format.

This commit is contained in:
Alexandre Julliard 2008-04-21 20:32:22 +02:00
parent b9443c9a14
commit 9727aa8123
3 changed files with 5 additions and 3 deletions

View File

@ -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

View File

@ -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;

View File

@ -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)