winex11: Don't make the owner window managed if its popup isn't.

This commit is contained in:
Alexandre Julliard 2010-03-20 20:16:42 +01:00
parent 03642414a8
commit b6ef8a5944
1 changed files with 3 additions and 3 deletions

View File

@ -997,7 +997,7 @@ static void set_initial_wm_hints( Display *display, struct x11drv_win_data *data
* *
* Retrieve an owner's window, creating it if necessary. * Retrieve an owner's window, creating it if necessary.
*/ */
static Window get_owner_whole_window( HWND owner ) static Window get_owner_whole_window( HWND owner, BOOL force_managed )
{ {
struct x11drv_win_data *data; struct x11drv_win_data *data;
@ -1009,7 +1009,7 @@ static Window get_owner_whole_window( HWND owner )
!(data = X11DRV_create_win_data( owner ))) !(data = X11DRV_create_win_data( owner )))
return (Window)GetPropA( owner, whole_window_prop ); return (Window)GetPropA( owner, whole_window_prop );
} }
else if (!data->managed) /* make it managed */ else if (!data->managed && force_managed) /* make it managed */
{ {
SetWindowPos( owner, 0, 0, 0, 0, 0, SetWindowPos( owner, 0, 0, 0, 0, 0,
SWP_NOACTIVATE | SWP_NOZORDER | SWP_NOSIZE | SWP_NOMOVE | SWP_NOACTIVATE | SWP_NOZORDER | SWP_NOSIZE | SWP_NOMOVE |
@ -1045,7 +1045,7 @@ static void set_wm_hints( Display *display, struct x11drv_win_data *data )
style = GetWindowLongW( data->hwnd, GWL_STYLE ); style = GetWindowLongW( data->hwnd, GWL_STYLE );
ex_style = GetWindowLongW( data->hwnd, GWL_EXSTYLE ); ex_style = GetWindowLongW( data->hwnd, GWL_EXSTYLE );
owner = get_window_owner( data->hwnd ); owner = get_window_owner( data->hwnd );
if ((owner_win = get_owner_whole_window( owner ))) group_leader = owner_win; if ((owner_win = get_owner_whole_window( owner, data->managed ))) group_leader = owner_win;
} }
wine_tsx11_lock(); wine_tsx11_lock();