Jacek Caban (@jacek) commented about dlls/win32u/window.c:
}
+static NTSTATUS get_shared_window( HANDLE handle, struct object_lock *lock, const window_shm_t **window_shm ) +{ + const shared_object_t *object; + struct user_entry entry; + + TRACE( "handle %p, lock %p, window_shm %p\n", handle, lock, window_shm ); + + if (!get_user_entry( handle, NTUSER_OBJ_WINDOW, &entry, &handle )) return STATUS_INVALID_HANDLE; + if (lock->id) object = CONTAINING_RECORD( *window_shm, shared_object_t, shm.window ); + else + { + object = find_shared_session_object( entry.id, entry.offset ); + if (!object) return STATUS_INVALID_HANDLE; + memset( lock, 0, sizeof(*lock) ); What's the reason for this `memset`?
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/8061#note_106024