[Bug 8314] New: WinBoard using ICS crashes because of extra WM_INITDIALOG

Wine Bugs wine-bugs at winehq.org
Mon May 7 13:49:51 CDT 2007


http://bugs.winehq.org/show_bug.cgi?id=8314

           Summary: WinBoard using ICS crashes because of extra
                    WM_INITDIALOG
           Product: Wine
           Version: 0.9.36.
          Platform: PC
               URL: //http://ftp.gnu.org/gnu/winboard/winboard-4_2_7a.exe
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: major
          Priority: P2
         Component: wine-gui
        AssignedTo: wine-bugs at winehq.org
        ReportedBy: emullins0x20 at earthlink.net


To duplicate the problem, install and run winboard from a fresh wine config.

Choose "Use an Internet Chess Server".  I use freechess.org, however the default
one at chessclub works here too-- the console window that gets created when
connecting to a chess server causes the crash:

err:seh:setup_exception stack overflow 32 bytes in thread 0009 eip 0040f77f esp
00660fe0 stack 0x661000-0x870000

I tracked the bug down.  From the sources,
http://ftp.gnu.org/gnu/xboard/xboard-4.2.7.tar.gz, in
xboard-4.2.7/winboard/winboard.c is this function:

VOID

ConsoleCreate()

{

  HWND hCons;

  if (hwndConsole) return;

  hCons = CreateDialog(hInst, szConsoleName, 0, NULL);

  SendMessage(hCons, WM_INITDIALOG, 0, 0);

}

In windows, the CreateDialog() call issued as above, there is no WM_INITDIALOG
message sent, but in wine, there is.  So, in wine, two consecutive WM_INITDIALOG
calls are sent, and the windowproc for this program is unable to deal with that
and so it crashes.  The docs for CreateDialog() that I read indicate it is
supposed to send an WM_INITDIALOG message.  I haven't investigated beyond what
is here, but I suspect that only in a CreateDialog() like above will windows
proper refuse to send WM_INITDIALOG.

This problem only affects the use of winboard on an internet chess server since
that's the only time it needs the console window.  And the obvious temporary fix
for wine of commenting out the SendMessage() following the CreateDialog() indeed
allows the console window to get created and have the app work properly.

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.



More information about the wine-bugs mailing list