mirror of
https://github.com/GerbilSoft/rom-properties.git
synced 2025-06-18 19:45:41 -04:00
[win32] RP_ShellPropSheetExt_Private::SubtabDlgProc(): Return FALSE instead of calling DefSubclassProc().
This *usually* didn't cause any problems when using Windows Explorer, but Directory Opus appears to do its own subclassing. The end result is Directory Opus crashes when selecting the rom-properties tab in file properties. NOTE: Since it's a dialog procedure, it needs to return FALSE instead of calling DefWindowProc, and definitely not DefDlgProc. As per MSDN: https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-defdlgprocw The **DefDlgProc** function must not be called by a dialog box procedure; doing so results in recursive execution. Fixes #405: Crash when used inside Directory Opus Reported by @Kugelblitz360.
This commit is contained in:
parent
8b072cfc4b
commit
205c81c885
12
NEWS.md
12
NEWS.md
@ -1,12 +1,20 @@
|
|||||||
# Changes
|
# Changes
|
||||||
|
|
||||||
## v2.? (released 2024/??/??)
|
## v2.3.1 (released 2024/03/??)
|
||||||
|
|
||||||
* Other changes:
|
NOTE: Precompiled builds of v2.3.1 are only being provided for Windows.
|
||||||
|
The Linux-specific changes don't affect any current releases of
|
||||||
|
Ubuntu Linux.
|
||||||
|
|
||||||
|
* Bug fixes:
|
||||||
* On Linux, rp-config now correctly detects KDE Plasma 6 and uses the
|
* On Linux, rp-config now correctly detects KDE Plasma 6 and uses the
|
||||||
KF6 version of the UI instead of the KF5 version.
|
KF6 version of the UI instead of the KF5 version.
|
||||||
* Linux, armhf/aarch64: Add missing syscalls to the seccomp whitelist.
|
* Linux, armhf/aarch64: Add missing syscalls to the seccomp whitelist.
|
||||||
This fixes unit tests in the Launchpad build system.
|
This fixes unit tests in the Launchpad build system.
|
||||||
|
* Windows: Fix a crash when viewing the ROM Properties tab through
|
||||||
|
the Directory Opus file browser.
|
||||||
|
* Fixes #405: Crash when used inside Directory Opus
|
||||||
|
* Reported by @Kugelblitz360.
|
||||||
|
|
||||||
## v2.3 (released 2024/03/03)
|
## v2.3 (released 2024/03/03)
|
||||||
|
|
||||||
|
@ -11,10 +11,13 @@ video game ROM and disc images.
|
|||||||
[](https://www.codefactor.io/repository/github/gerbilsoft/rom-properties/overview)
|
[](https://www.codefactor.io/repository/github/gerbilsoft/rom-properties/overview)
|
||||||
[](https://codecov.io/gh/GerbilSoft/rom-properties)
|
[](https://codecov.io/gh/GerbilSoft/rom-properties)
|
||||||
|
|
||||||
## v2.3
|
## v2.3.1
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
v2.3.1 is a minor bugfix release for a crash that may occur on Windows when
|
||||||
|
using the Directory Opus file browser.
|
||||||
|
|
||||||
Major changes in v2.3 include:
|
Major changes in v2.3 include:
|
||||||
|
|
||||||
* xattrs tab on Linux now shows XFS attributes.
|
* xattrs tab on Linux now shows XFS attributes.
|
||||||
|
@ -3008,7 +3008,7 @@ INT_PTR CALLBACK RP_ShellPropSheetExt_Private::SubtabDlgProc(HWND hDlg, UINT uMs
|
|||||||
switch (uMsg) {
|
switch (uMsg) {
|
||||||
case WM_DESTROY: {
|
case WM_DESTROY: {
|
||||||
// Remove the TAB_PTR_PROP property from the page.
|
// Remove the TAB_PTR_PROP property from the page.
|
||||||
// The TAB_PTR_PROP property stored the pointer to the
|
// The TAB_PTR_PROP property stored the pointer to the
|
||||||
// RP_ShellPropSheetExt_Private::tab object.
|
// RP_ShellPropSheetExt_Private::tab object.
|
||||||
RemoveProp(hDlg, RP_ShellPropSheetExtPrivate::TAB_PTR_PROP);
|
RemoveProp(hDlg, RP_ShellPropSheetExtPrivate::TAB_PTR_PROP);
|
||||||
break;
|
break;
|
||||||
@ -3176,6 +3176,6 @@ INT_PTR CALLBACK RP_ShellPropSheetExt_Private::SubtabDlgProc(HWND hDlg, UINT uMs
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Dummy callback procedure that does nothing.
|
// Nothing to do here...
|
||||||
return DefSubclassProc(hDlg, uMsg, wParam, lParam);
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user