https://bugs.winehq.org/show_bug.cgi?id=53189
Santino Mazza tatidev1454@protonmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |tatidev1454@protonmail.com
--- Comment #1 from Santino Mazza tatidev1454@protonmail.com --- I can confirm this bug.
After some investigation, the problem is in the way of handling exceptions implemented in unixlib.h
Basically, there can't be a try except inside another one, because of the way ntdll_set_exception_jmp_buf works. It throws an exception when jmpbuf is already set and you want to set it to something else which isn't null.
This commit is responsible of this because it adds another case to the function handle_sys_command, specifically SC_MOUSEMENU which calls track_mouse_menu_bar, this leads to the function NtUserDispatchMessage get called at some point which runs a try except block, and inside this at some point convert_bitmapinfo gets called, and this function also runs a try except block, generating the assert exception.