[1/5] winex11: Added missing release_win_data() to create_foreign_window() (try 3)
Sebastian Lackner
sebastian at fds-team.de
Tue Sep 24 17:59:42 CDT 2013
Ha! Finally figured out why Xembed didn't work the "systray" way - main
reason was a deadlock due to a missing release_win_data(), which should
be fixed by this patch. I've updated/extended the other XEmbed patches
and also stumpled upon an additional bug (patch 5) related to OpenGL and
embedding.
Changelog (try 3):
* Xembed works now exactly the same way as systray icons and all parent
windows are generated as foreign_windows.
(For more details on Xembed see the previous attempts.)
---
dlls/winex11.drv/window.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
-------------- next part --------------
From bbe3cc7c597b73940007442fac56d3ae9dd7f34b Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian at fds-team.de>
Date: Tue, 24 Sep 2013 05:50:33 +0200
Subject: winex11: Added missing release_win_data() to create_foreign_window()
---
dlls/winex11.drv/window.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/dlls/winex11.drv/window.c b/dlls/winex11.drv/window.c
index 429602b..1ff36eb 100644
--- a/dlls/winex11.drv/window.c
+++ b/dlls/winex11.drv/window.c
@@ -1897,11 +1897,12 @@ HWND create_foreign_window( Display *display, Window xwin )
SetPropA( hwnd, foreign_window_prop, (HANDLE)xwin );
XSaveContext( display, xwin, winContext, (char *)data->hwnd );
- ShowWindow( hwnd, SW_SHOW );
-
TRACE( "win %lx parent %p style %08x %s -> hwnd %p\n",
xwin, parent, style, wine_dbgstr_rect(&data->window_rect), hwnd );
+ release_win_data( data );
+
+ ShowWindow( hwnd, SW_SHOW );
return hwnd;
}
--
1.7.9.5
More information about the wine-patches
mailing list