winex11: Don't make the owner window managed if its popup isn't.
This commit is contained in:
parent
03642414a8
commit
b6ef8a5944
|
@ -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();
|
||||||
|
|
Loading…
Reference in New Issue