[Bug 50488] New: SHMessageBoxCheck returns impossible values

WineHQ Bugzilla wine-bugs at winehq.org
Tue Jan 12 02:33:11 CST 2021


https://bugs.winehq.org/show_bug.cgi?id=50488

            Bug ID: 50488
           Summary: SHMessageBoxCheck returns impossible values
           Product: Wine
           Version: unspecified
          Hardware: x86-64
                OS: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: shlwapi
          Assignee: wine-bugs at winehq.org
          Reporter: meandyouftw at gmail.com
      Distribution: ---

The implementation of shlwapi.dll!SHMessageBoxCheck is returning incorrect
values.

My Windows app's implementation was simply:
==
int nUserAnswer = SHMessageBoxCheck(hWnd, strQuestion.GetString(),
GetAppName(), MB_YESNO, IDNO, L"guid"));
==

On the latest WINE builds from both Stable and Development, SHMessageBoxCheck
is returning IDOK (0x1) and IDCANCEL (0x7) for YES and NO, respectively. 
Understandably, chaos ensued.

This should be a clear code bug, but the repro I used was:
* download PalMod from
https://zachd.com/palmod/releases/obsolete/PalMod-1.68.rar
* extract all files and open PalMod
* open any file with File :: Load ROM By Game :: Developer Mode :: Unknown Game
Mode
* change the palette in the palette view, then attempt to switch to a different
palette using the combo boxes
* PalMod now calls SHMessageBoxCheck, and the bogus returns from WINE's
implementation results in aberrant behavior

"wine --version" returns wine-3.6 (Ubuntu 3.6-1).

I'll be adding a work-around for this to current builds of PalMod (1.70beta15
and newer), but that's of course not the best way to fix this concern.

Thanks!

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list