[Wine] Strange problems with WH_CALLWNDPROC hook

CherryDT wineforum-user at winehq.org
Thu Mar 11 13:16:52 CST 2010


Hello!

I created a program which injects a DLL into the game creation tool RPG Maker 2000/2003 (RPG Maker is written in Delphi 5/6) to add features.

The DLL is injected by altering the code at the entry point. So there is some code run before the actual program starts. In this code, a WH_CALLWNDPROC hook is installed, and when RPG Maker opens its main window, some additional code will get executed.

This works fine with native Windows as well as Ubuntu (using Wine). But it doesn't work with openSuSE.

In openSuSE, the whole thing terminates before showing the main window, the hook gets never activated. I can't find a reason for that termination. When I remove the hook, everything works fine - but the RPG Maker won't be altered this way^^ - so no more than INSTALLING the hook (it gets never activated!) causes the problem!

While terminating, winedbg shows the following:

err:wineconsole:WCUSER_SetFont wrong font
err:seh:setup_exception_record stack overflow 1088 bytes in thread 000c eip 7bc3ea98 esp 00240ef0

Since the termination happens inside the RPG Maker and not inside my DLL, I have no idea what to do to track down and solve the problem :(

This is the project: http://cherrytree.at/ultimate - You need to replace ultimate.dll with this one to get it work with Wine (otherwise the original RPG Maker will start without changes): http://share.cherrytree.at/showfile-993/ultimate.dll - and you need to have installed RPG Maker 2000 or 2003.

Thanks in advance
CherryDT







More information about the wine-users mailing list