I believe that using CPP files in core Wine code is not a good idea. But it would be nice to have the option to compile C++ modules. For example, lsteamclient from Proton is written partially in C++.
Based on @rbernon patch.
--
v2: tools/makedep: Allow building modules with C++ sources.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6009
--
v2: win32u: Use the thread input shared memory for NtUserGetGUIThreadInfo.
win32u: Use the thread input shared memory for NtUserGetCursorInfo.
win32u: Use the thread input shared memory for NtUserGetForegroundWindow.
server: Add cursor handle and count to desktop shared memory.
server: Add a foreground flag to the thread input shared memory.
https://gitlab.winehq.org/wine/wine/-/merge_requests/5995
mf/session: Ensure that the command callback does not return without clearing SESSION_FLAG_PENDING_COMMAND.
Leaving SESSION_FLAG_PENDING_COMMAND set results in no more work items being queued by session_submit_command, and even
if they were, callback would return immediately due to a check at the start of the function.
Thus, it is never valid to leave the function without clearing the SESSION_FLAG_PENDING_COMMAND flag.
This case can be hit by SESSION_CMD_START, and leaves the session unable to process any commands.
Fix this by ensuring that SESSION_FLAG_PENDING_COMMAND is always cleared before the command callback returns.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6011