Module: wine Branch: master Commit: 28c52d4ac3678e7074b9b8233d027baeb825cdc7 URL: https://gitlab.winehq.org/wine/wine/-/commit/28c52d4ac3678e7074b9b8233d027ba...
Author: Rémi Bernon rbernon@codeweavers.com Date: Fri Mar 8 17:02:53 2024 +0100
server: Remove desktop from their winstation list before looking for another input desktop.
---
server/winstation.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/server/winstation.c b/server/winstation.c index 4672cf65e56..3af4c365ec3 100644 --- a/server/winstation.c +++ b/server/winstation.c @@ -349,6 +349,8 @@ static void desktop_destroy( struct object *obj ) struct desktop *desktop = (struct desktop *)obj; struct winstation *winstation = desktop->winstation;
+ list_remove( &desktop->entry ); + if (desktop == winstation->input_desktop) { struct desktop *other, *found = NULL; @@ -363,7 +365,6 @@ static void desktop_destroy( struct object *obj ) if (desktop->msg_window) free_window_handle( desktop->msg_window ); if (desktop->global_hooks) release_object( desktop->global_hooks ); if (desktop->close_timeout) remove_timeout_user( desktop->close_timeout ); - list_remove( &desktop->entry ); release_object( desktop->winstation ); }