From: Rémi Bernon rbernon@codeweavers.com
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55047 --- server/winstation.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/server/winstation.c b/server/winstation.c index 1408e1a9e65..5903497d61e 100644 --- a/server/winstation.c +++ b/server/winstation.c @@ -30,6 +30,7 @@ #include "winbase.h" #include "winuser.h" #include "winternl.h" +#include "ntuser.h"
#include "object.h" #include "handle.h" @@ -240,7 +241,11 @@ static struct desktop *create_desktop( const struct unicode_str *name, unsigned list_add_tail( &winstation->desktops, &desktop->entry ); list_init( &desktop->hotkeys ); } - else clear_error(); + else + { + desktop->flags |= (flags & DF_WINE_CREATE_DESKTOP); + clear_error(); + } } return desktop; }
From: Rémi Bernon rbernon@codeweavers.com
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55047 --- dlls/win32u/winstation.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/dlls/win32u/winstation.c b/dlls/win32u/winstation.c index 049ed111954..6877136e144 100644 --- a/dlls/win32u/winstation.c +++ b/dlls/win32u/winstation.c @@ -44,12 +44,9 @@ BOOL is_virtual_desktop(void) { HANDLE desktop = NtUserGetThreadDesktop( GetCurrentThreadId() ); USEROBJECTFLAGS flags = {0}; - NTSTATUS status; DWORD len;
- status = NtUserGetObjectInformation( desktop, UOI_FLAGS, &flags, sizeof(flags), &len ); - if (status) return FALSE; - + if (!NtUserGetObjectInformation( desktop, UOI_FLAGS, &flags, sizeof(flags), &len )) return FALSE; return !!(flags.dwFlags & DF_WINE_CREATE_DESKTOP); }