Fix Xlib locking in create_desktop
Mike Hearn
mh at codeweavers.com
Thu Dec 23 07:53:09 CST 2004
-------------- next part --------------
--- dlls/x11drv/window.c (revision 6)
+++ dlls/x11drv/window.c (local)
@@ -744,22 +744,24 @@ void X11DRV_register_window( Display *di
static void create_desktop( Display *display, WND *wndPtr )
{
X11DRV_WND_DATA *data = wndPtr->pDriverData;
+ HANDLE visualid;
wine_tsx11_lock();
winContext = XUniqueContext();
XInternAtoms( display, (char **)atom_names, NB_XATOMS - FIRST_XATOM, False, X11DRV_Atoms );
+ visualid = (HANDLE)XVisualIDFromVisual(visual);
wine_tsx11_unlock();
- whole_window_atom = MAKEINTATOMA( GlobalAddAtomA( "__wine_x11_whole_window" ));
- client_window_atom = MAKEINTATOMA( GlobalAddAtomA( "__wine_x11_client_window" ));
- icon_window_atom = MAKEINTATOMA( GlobalAddAtomA( "__wine_x11_icon_window" ));
+ whole_window_atom = MAKEINTATOMA(GlobalAddAtomA( "__wine_x11_whole_window" ));
+ client_window_atom = MAKEINTATOMA(GlobalAddAtomA( "__wine_x11_client_window" ));
+ icon_window_atom = MAKEINTATOMA(GlobalAddAtomA( "__wine_x11_icon_window" ));
data->whole_window = data->client_window = root_window;
data->whole_rect = data->client_rect = wndPtr->rectWindow;
SetPropA( wndPtr->hwndSelf, whole_window_atom, (HANDLE)root_window );
SetPropA( wndPtr->hwndSelf, client_window_atom, (HANDLE)root_window );
- SetPropA( wndPtr->hwndSelf, "__wine_x11_visual_id", (HANDLE)XVisualIDFromVisual(visual) );
+ SetPropA( wndPtr->hwndSelf, "__wine_x11_visual_id", visualid );
X11DRV_InitClipboard();
More information about the wine-patches
mailing list