Jinoh Kang (@iamahuman) commented about dlls/win32u/winstation.c:
+ ERR( "Failed to map object %p mapping, status %#x\n", object, status ); + return NULL; + } + + return ptr; +} + +const desktop_shm_t *get_desktop_shared_memory(void) +{ + struct user_thread_info *thread_info = get_user_thread_info(); + HANDLE desktop; + + if (thread_info->desktop_shm) return thread_info->desktop_shm; + + desktop = NtUserGetThreadDesktop( GetCurrentThreadId() ); + thread_info->desktop_shm = map_object_shared_memory( desktop, sizeof(*thread_info->desktop_shm) ); Instead of duplicating `return`, how about:
```suggestion:-3+0 if (!thread_info->desktop_shm) { HANDLE desktop = NtUserGetThreadDesktop( GetCurrentThreadId() ); thread_info->desktop_shm = map_object_shared_memory( desktop, sizeof(*thread_info->desktop_shm) ); } ``` (I think early return pattern is more suitable for error-handling cases.) -- https://gitlab.winehq.org/wine/wine/-/merge_requests/3103#note_59390