Crashes with "Rom Properties" extension

When using the ROM Properties extension, calling the properties of several file type (.md or .d64) leads to a crash with:
Error oxc0000005 in Thread Ox44e4 at ox0000000300000002
Some extensions (.gb or .snes) work, as well as thumbnail creation.

GerbilSoft/rom-properties: ROM Properties Page shell extension (github.com)

If it's a bug in their code that crashes when showing properties for particular ROMs then you'd need to report it to them rather than us.

Check if the same ROMs crash in File Explorer as well, to make life easier for them in terms of reproducing the problem.

No crash in File Explorer and the developer is investigating too.

For your archives:

[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: DefDlgProcW function (winuser.h) - Win32 apps | Microsoft Learn

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.

1 Like

Makes sense, and an easy mistake to make. Nice that they fixed it so fast!