From: Rémi Bernon rbernon@codeweavers.com
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=58217 --- dlls/winex11.drv/event.c | 2 +- dlls/winex11.drv/window.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/dlls/winex11.drv/event.c b/dlls/winex11.drv/event.c index 58692a2ca65..723f3204dd8 100644 --- a/dlls/winex11.drv/event.c +++ b/dlls/winex11.drv/event.c @@ -1302,7 +1302,7 @@ void X11DRV_ActivateWindow( HWND hwnd, HWND previous ) { struct x11drv_win_data *data;
- set_net_active_window( hwnd, previous ); + if (!is_virtual_desktop()) set_net_active_window( hwnd, previous );
if (!(data = get_win_data( hwnd ))) return; if (!data->managed || data->embedder) set_input_focus( data ); diff --git a/dlls/winex11.drv/window.c b/dlls/winex11.drv/window.c index 7fd1151bdff..c6decf4796d 100644 --- a/dlls/winex11.drv/window.c +++ b/dlls/winex11.drv/window.c @@ -1623,7 +1623,7 @@ BOOL X11DRV_GetWindowStateUpdates( HWND hwnd, UINT *state_cmd, UINT *config_cmd, *foreground = 0;
if (!(old_foreground = NtUserGetForegroundWindow())) old_foreground = NtUserGetDesktopWindow(); - if (NtUserGetWindowThread( old_foreground, NULL ) == GetCurrentThreadId() && + if (!is_virtual_desktop() && NtUserGetWindowThread( old_foreground, NULL ) == GetCurrentThreadId() && !window_has_pending_wm_state( old_foreground, NormalState ) && !thread_data->net_active_window_serial) {