prevents WM_DISPLAYCHANGE message being sent when a call to ChangeDisplaySettingsEx fails due to the requested change to the display not occurring.

chris morgan cmorgan at mail.leather-wallet.co.uk
Mon Mar 24 10:41:52 CDT 2008


Hi,

The following patch prevents WM_DISPLAYCHANGE message being sent when a
call to ChangeDisplaySettingsEx does not result in the display changing,
matching the behaviour of windows (test code below).

This seem to prevent a couple of programs (all from the same publisher)
I have from crashing at start up. The programs themselves are probably
buggy since they seem to crash if they receive a second WM_DISPLAYCHANGE
message. Crash details below.

Changelog:
* prevents WM_DISPLAYCHANGE message being sent when a call to
ChangeDisplaySettingsEx fails due to the requested change to the display
not occurring.

---
   dlls/winex11.drv/winpos.c |    5 +++++
   1 files changed, 5 insertions(+), 0 deletions(-)

test code run on windows nt4 sp6, messages checked using ms spk++:

      DEVMODE dev_mode;
      memset(&dev_mode,0,sizeof(DEVMODE));
      dev_mode.dmSize = sizeof(DEVMODE);

      // Get the current display settings
      if (!EnumDisplaySettings(NULL,ENUM_CURRENT_SETTINGS,&dev_mode))
      {
          printf("Could not EnumDisplaySettings, giving up.\n");
          return 0;
      }

      // Call ChangeDisplaySettings with the current settings,
      // No WM_DISPLAYCHANGE message sent
      ChangeDisplaySettings(&dev_mode, 0);

      // Change something (that works)
      dev_mode.dmBitsPerPel = 32;

      // WM_DISPLAYCHANGE message sent
      ChangeDisplaySettings(&dev_mode, 0);

      // Change something to an impossible value
      dev_mode.dmBitsPerPel = 999;

      // No WM_DISPLAYCHANGE message sent
      ChangeDisplaySettings(&dev_mode, 0);

crashes:

fixme:mixer:ALSA_MixerInit No master control found on MPU-401 UART,
disabling mixer
fixme:wave:wodPlayer_Reset shouldn't have headers left
fixme:exec:SHELL_execute flags ignored: 0x00000400
fixme:mixer:ALSA_MixerInit No master control found on MPU-401 UART,
disabling mixer
fixme:x11drv:X11DRV_desktop_SetCurrentMode Cannot change screen BPP from
32 to 16
fixme:x11drv:X11DRV_desktop_SetCurrentMode Cannot change screen BPP from
32 to 16
wine: Unhandled page fault on read access to 0x00000030 at address
0x43d1e5 (thread 001b), starting debugger...
Unhandled exception: page fault on read access to 0x00000030 in 32-bit
code (0x0043d1e5).
Register dump:
   CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
   EIP:0043d1e5 ESP:0034ed6c EBP:0034ede4 EFLAGS:00210293(   - 00
RISA1C)
   EAX:00000000 EBX:0001002a ECX:00ea0044 EDX:00000007
   ESI:00e800ac EDI:01e00280
Stack dump:
0x0034ed6c:  00e800ac 0034ee00 7edd6568 7edee473
0x0034ed7c:  0034ed88 00ef015c 00b3555c 00000000
0x0034ed8c:  00000000 00000280 000001e0 7eda5aa6
0x0034ed9c:  00000005 00000000 00000000 00000000
0x0034edac:  00000000 00000000 00000000 00000000
0x0034edbc:  00000000 00b3555c 00000000 00000000
Backtrace:
=>1 0x0043d1e5 in shmath (+0x3d1e5) (0x0034ede4)
    2 0x0042e2b2 in shmath (+0x2e2b2) (0x0034ee08)
    3 0x7edfbd1a WINPROC_wrapper+0x1a() in user32 (0x0034ee38)
    4 0x7edfc3fe call_window_proc+0x6e(hwnd=<register EDI not in topmost
frame>, msg=0x7e, wp=0x20, lp=0x1e00280, result=0x34f3ec, arg=0x42e030)
[/home/chris/build/wine/dlls/user32/winproc.c:457] in user32 (0x0034ee78)
    5 0x7ee01c45 WINPROC_CallProcWtoA+0x8c5(callback=0x7edfc390,
hwnd=0x1002a, msg=<register EDI not in topmost frame>, wParam=0x20,
lParam=0x1e00280, result=0x34f3ec, arg=0x42e030)
[/home/chris/build/wine/dlls/user32/winproc.c:1267] in user32 (0x0034f348)
    6 0x7ee0280b WINPROC_call_window+0x15b(hwnd=<register ESI not in
topmost frame>, msg=0x7e, wParam=0x20, lParam=0x1e00280,
result=0x34f3ec, unicode=0x1, mapping=0x3)
[/home/chris/build/wine/dlls/user32/winproc.c:2200] in user32 (0x0034f388)
    7 0x7edc3efa call_window_proc+0xca(hwnd=<register ESI not in topmost
frame>, msg=0x7e, wparam=0x20, lparam=0x1e00280, unicode=0x1,
same_thread=0x0, mapping=0x3)
[/home/chris/build/wine/dlls/user32/message.c:1615] in user32 (0x0034f3f8)
    8 0x7edc5368 peek_message+0x5e8(msg=0x34f7c0, hwnd=0x0, first=0x0,
last=0xffffffff, flags=0x400001)
[/home/chris/build/wine/dlls/user32/message.c:2155] in user32 (0x0034f6d8)
    9 0x7edc71cf send_inter_thread_message+0x17f(info=0x34f8b8,
res_ptr=0x34f894) [/home/chris/build/wine/dlls/user32/message.c:2174] in
user32 (0x0034f848)
    10 0x7edc7bbe send_message+0x17e(info=<register EDI not in topmost
frame>, res_ptr=0x34f8e4, unicode=0x1)
[/home/chris/build/wine/dlls/user32/message.c:2447] in user32 (0x0034f8a8)
    11 0x7edc80ba SendMessageW+0x4a(hwnd=0x10020, msg=0x80001003,
wparam=0x0, lparam=0x1e00280)
[/home/chris/build/wine/dlls/user32/message.c:2553] in user32 (0x0034f8e8)
    12 0x7e579ffd X11DRV_resize_desktop+0xcd(width=<is not available>,
height=<register ESI not in topmost frame>)
[/home/chris/build/wine/dlls/winex11.drv/winpos.c:570] in winex11
(0x0034f948)
    13 0x7e544d01 X11DRV_desktop_SetCurrentMode+0xa1(mode=0x18)
[/home/chris/build/wine/dlls/winex11.drv/desktop.c:100] in winex11
(0x0034f978)
    14 0x7e574524 X11DRV_ChangeDisplaySettingsEx+0x1d4(devname=0x0,
devmode=0x1dff98, hwnd=0x0, flags=0x4, lpvoid=0x0)
[/home/chris/build/wine/dlls/winex11.drv/settings.c:439] in winex11
(0x0034fb58)
    15 0x7eddf822 ChangeDisplaySettingsExW+0x42(devname=0x0,
devmode=0x1dff98, hwnd=0x0, flags=0x4, lparam=0x0)
[/home/chris/build/wine/dlls/user32/sysparams.c:3036] in user32 (0x0034fb78)
    16 0x7eddfb4c ChangeDisplaySettingsExA+0x7c(devname=0x0,
devmode=0x34fbec, hwnd=0x0, flags=0x4, lparam=0x0)
[/home/chris/build/wine/dlls/user32/sysparams.c:3010] in user32 (0x0034fbb8)
    17 0x7eddfc1c ChangeDisplaySettingsA+0x3c(devmode=0x34fbec,
flags=0x4) [/home/chris/build/wine/dlls/user32/sysparams.c:2979] in
user32 (0x0034fbd8)
    18 0x0044bbf6 in shmath (+0x4bbf6) (0x0034fc80)
    19 0x0040ddcf in shmath (+0xddcf) (0x0034fc98)
    20 0x0043ab75 in shmath (+0x3ab75) (0x0034fcec)
    21 0x00430b9a in shmath (+0x30b9a) (0x0034fd24)
    22 0x004314eb in shmath (+0x314eb) (0x0034fd7c)
    23 0x00431573 in shmath (+0x31573) (0x007b004c)
    24 0x00001201 (0x010c753d)
    25 0x00000000 (0x00000000)
0x0043d1e5: movl        0x30(%eax),%eax
Modules:
Module  Address                 Debug info      Name (132 modules)
PE        350000-  35e000       Deferred        kazlib32
PE        360000-  3ab000       Deferred        atmsg32
PE        3d0000-  3e2000       Deferred        atmss32
PE        400000-  4af000       Export          shmath
PE        c00000-  c5a000       Deferred        atres32
PE       1490000- 14ab000       Deferred        atfio32
PE       14b0000- 14cb000       Deferred        kauser32
PE       14d0000- 14fd000       Deferred        signin32
PE       a930000- a952000       Deferred        shw32
PE      10000000-10013000       Deferred        kablit32
PE      21100000-2115e000       Deferred        mss32
PE      26f00000-26f2a000       Deferred        mp3dec.asi
PE      780c0000-78121000       Deferred        msvcp60
ELF     7b800000-7b92c000       Deferred        kernel32<elf>
    \-PE  7b820000-7b92c000       \               kernel32
ELF     7bc00000-7bca4000       Deferred        ntdll<elf>
    \-PE  7bc10000-7bca4000       \               ntdll
ELF     7bf00000-7bf03000       Deferred        <wine-loader>
ELF     7d03d000-7d048000       Deferred        libgcc_s.so.1
ELF     7d46a000-7d4b4000       Deferred        dsound<elf>
    \-PE  7d470000-7d4b4000       \               dsound
ELF     7d5ca000-7d5de000       Deferred        winejoystick<elf>
    \-PE  7d5d0000-7d5de000       \               winejoystick
ELF     7d5de000-7d5ff000       Deferred        mpr<elf>
    \-PE  7d5e0000-7d5ff000       \               mpr
ELF     7d5ff000-7d612000       Deferred        sensapi<elf>
    \-PE  7d600000-7d612000       \               sensapi
ELF     7d612000-7d63e000       Deferred        ws2_32<elf>
    \-PE  7d620000-7d63e000       \               ws2_32
ELF     7d63e000-7d664000       Deferred        netapi32<elf>
    \-PE  7d640000-7d664000       \               netapi32
ELF     7d664000-7d68b000       Deferred        secur32<elf>
    \-PE  7d670000-7d68b000       \               secur32
ELF     7d68b000-7d6a4000       Deferred        rasapi32<elf>
    \-PE  7d690000-7d6a4000       \               rasapi32
ELF     7d6a4000-7d6c9000       Deferred        oledlg<elf>
    \-PE  7d6b0000-7d6c9000       \               oledlg
ELF     7d6f4000-7d708000       Deferred        lz32<elf>
    \-PE  7d700000-7d708000       \               lz32
ELF     7d708000-7d721000       Deferred        version<elf>
    \-PE  7d710000-7d721000       \               version
ELF     7d721000-7d749000       Deferred        msvfw32<elf>
    \-PE  7d730000-7d749000       \               msvfw32
ELF     7d749000-7d75d000       Deferred        avicap32<elf>
    \-PE  7d750000-7d75d000       \               avicap32
ELF     7d75d000-7d77a000       Deferred        imm32<elf>
    \-PE  7d760000-7d77a000       \               imm32
ELF     7d77a000-7d7cb000       Deferred        libgcrypt.so.11
ELF     7d7cb000-7d7cf000       Deferred        libgpg-error.so.0
ELF     7d7cf000-7d7df000       Deferred        libtasn1.so.3
ELF     7d7df000-7d80d000       Deferred        libcrypt.so.1
ELF     7d80d000-7d87d000       Deferred        libgnutls.so.13
ELF     7d87d000-7d8a2000       Deferred        libk5crypto.so.3
ELF     7d8a2000-7d92a000       Deferred        libkrb5.so.3
ELF     7d92a000-7d953000       Deferred        libgssapi_krb5.so.2
ELF     7d955000-7d974000       Deferred        unicows<elf>
    \-PE  7d960000-7d974000       \               unicows
ELF     7d974000-7d9a9000       Deferred        libcups.so.2
ELF     7d9f4000-7da26000       Deferred        uxtheme<elf>
    \-PE  7da00000-7da26000       \               uxtheme
ELF     7da26000-7da3a000       Deferred        midimap<elf>
    \-PE  7da30000-7da3a000       \               midimap
ELF     7da3a000-7da60000       Deferred        msacm32<elf>
    \-PE  7da40000-7da60000       \               msacm32
ELF     7e261000-7e299000       Deferred        libpulse.so.0
ELF     7e299000-7e29b000       Deferred        libkeyutils.so.1
ELF     7e29b000-7e2a3000       Deferred        libkrb5support.so.0
ELF     7e2a3000-7e2ba000       Deferred        msacm32<elf>
    \-PE  7e2b0000-7e2ba000       \               msacm32
ELF     7e2ba000-7e380000       Deferred        libasound.so.2
ELF     7e380000-7e3b6000       Deferred        winealsa<elf>
    \-PE  7e390000-7e3b6000       \               winealsa
ELF     7e3b6000-7e3bb000       Deferred        libxfixes.so.3
ELF     7e3bb000-7e3be000       Deferred        libcom_err.so.2
ELF     7e3be000-7e3c7000       Deferred        librt.so.1
ELF     7e3c7000-7e3cb000       Deferred        libcap.so.1
ELF     7e3cb000-7e3d1000       Deferred
libasound_module_pcm_pulse.so
ELF     7e3d3000-7e3dc000       Deferred        libxcursor.so.1
ELF     7e3dc000-7e3df000       Deferred        libxcomposite.so.1
ELF     7e3df000-7e3e5000       Deferred        libxrandr.so.2
ELF     7e3e5000-7e3ed000       Deferred        libxrender.so.1
ELF     7e3ed000-7e3f0000       Deferred        libxinerama.so.1
ELF     7e3f0000-7e3f5000       Deferred        libxdmcp.so.6
ELF     7e3f5000-7e3f8000       Deferred        libxau.so.6
ELF     7e3f8000-7e4e9000       Deferred        libx11.so.6
ELF     7e4e9000-7e4f7000       Deferred        libxext.so.6
ELF     7e4f7000-7e4fc000       Deferred        libxxf86vm.so.1
ELF     7e4fc000-7e514000       Deferred        libice.so.6
ELF     7e514000-7e51c000       Deferred        libsm.so.6
ELF     7e51c000-7e5ad000       Dwarf           winex11<elf>
    \-PE  7e530000-7e5ad000       \               winex11
ELF     7e637000-7e657000       Deferred        libexpat.so.1
ELF     7e657000-7e682000       Deferred        libfontconfig.so.1
ELF     7e682000-7e697000       Deferred        libz.so.1
ELF     7e6b8000-7e728000       Deferred        libfreetype.so.6
ELF     7e728000-7e75d000       Deferred        winspool<elf>
    \-PE  7e730000-7e75d000       \               winspool
ELF     7e75d000-7e7ff000       Deferred        comdlg32<elf>
    \-PE  7e760000-7e7ff000       \               comdlg32
ELF     7e7ff000-7e8be000       Deferred        comctl32<elf>
    \-PE  7e810000-7e8be000       \               comctl32
ELF     7e8be000-7e917000       Deferred        shlwapi<elf>
    \-PE  7e8d0000-7e917000       \               shlwapi
ELF     7e917000-7ea1f000       Deferred        shell32<elf>
    \-PE  7e930000-7ea1f000       \               shell32
ELF     7ea1f000-7eaad000       Deferred        winmm<elf>
    \-PE  7ea30000-7eaad000       \               winmm
ELF     7eaad000-7eac0000       Deferred        libresolv.so.2
ELF     7eac0000-7eade000       Deferred        iphlpapi<elf>
    \-PE  7ead0000-7eade000       \               iphlpapi
ELF     7eade000-7eb3e000       Deferred        rpcrt4<elf>
    \-PE  7eaf0000-7eb3e000       \               rpcrt4
ELF     7eb3e000-7ebe2000       Deferred        ole32<elf>
    \-PE  7eb50000-7ebe2000       \               ole32
ELF     7ebe2000-7ec4b000       Deferred        msvcrt<elf>
    \-PE  7ebf0000-7ec4b000       \               msvcrt
ELF     7ec4b000-7ec98000       Deferred        advapi32<elf>
    \-PE  7ec60000-7ec98000       \               advapi32
ELF     7ec98000-7ed33000       Deferred        gdi32<elf>
    \-PE  7ecb0000-7ed33000       \               gdi32
ELF     7ed33000-7ee78000       Dwarf           user32<elf>
    \-PE  7ed50000-7ee78000       \               user32
ELF     7ee78000-7ee90000       Deferred        libnsl.so.1
ELF     7ee9c000-7eea7000       Deferred        libnss_files.so.2
ELF     7eea7000-7eeb1000       Deferred        libnss_nis.so.2
ELF     7eeb1000-7eeba000       Deferred        libnss_compat.so.2
ELF     7efdb000-7f000000       Deferred        libm.so.6
ELF     f7c69000-f7c6d000       Deferred        libdl.so.2
ELF     f7c6d000-f7db7000       Deferred        libc.so.6
ELF     f7db8000-f7dd0000       Deferred        libpthread.so.0
ELF     f7dd0000-f7ee5000       Deferred        libwine.so.1
ELF     f7ee7000-f7f05000       Deferred        ld-linux.so.2
Threads:
process  tid      prio (all id:s are in hex)
0000000a
          0000000b    0
0000000c
          0000000f    0
          0000000e    0
          0000000d    0
00000010
          00000011    0
0000001a (D) C:\Program Files\JumpStart\Study Helpers Math
Booster\shmath.exe
          00000020   15
          0000001e   15
          0000001c   15
          0000001b    0 <==
Backtrace:
=>1 0x0043d1e5 in shmath (+0x3d1e5) (0x0034ede4)
    2 0x0042e2b2 in shmath (+0x2e2b2) (0x0034ee08)
    3 0x7edfbd1a WINPROC_wrapper+0x1a() in user32 (0x0034ee38)
    4 0x7edfc3fe call_window_proc+0x6e(hwnd=<register EDI not in topmost
frame>, msg=0x7e, wp=0x20, lp=0x1e00280, result=0x34f3ec, arg=0x42e030)
[/home/chris/build/wine/dlls/user32/winproc.c:457] in user32 (0x0034ee78)
    5 0x7ee01c45 WINPROC_CallProcWtoA+0x8c5(callback=0x7edfc390,
hwnd=0x1002a, msg=<register EDI not in topmost frame>, wParam=0x20,
lParam=0x1e00280, result=0x34f3ec, arg=0x42e030)
[/home/chris/build/wine/dlls/user32/winproc.c:1267] in user32 (0x0034f348)
    6 0x7ee0280b WINPROC_call_window+0x15b(hwnd=<register ESI not in
topmost frame>, msg=0x7e, wParam=0x20, lParam=0x1e00280,
result=0x34f3ec, unicode=0x1, mapping=0x3)
[/home/chris/build/wine/dlls/user32/winproc.c:2200] in user32 (0x0034f388)
    7 0x7edc3efa call_window_proc+0xca(hwnd=<register ESI not in topmost
frame>, msg=0x7e, wparam=0x20, lparam=0x1e00280, unicode=0x1,
same_thread=0x0, mapping=0x3)
[/home/chris/build/wine/dlls/user32/message.c:1615] in user32 (0x0034f3f8)
    8 0x7edc5368 peek_message+0x5e8(msg=0x34f7c0, hwnd=0x0, first=0x0,
last=0xffffffff, flags=0x400001)
[/home/chris/build/wine/dlls/user32/message.c:2155] in user32 (0x0034f6d8)
    9 0x7edc71cf send_inter_thread_message+0x17f(info=0x34f8b8,
res_ptr=0x34f894) [/home/chris/build/wine/dlls/user32/message.c:2174] in
user32 (0x0034f848)
    10 0x7edc7bbe send_message+0x17e(info=<register EDI not in topmost
frame>, res_ptr=0x34f8e4, unicode=0x1)
[/home/chris/build/wine/dlls/user32/message.c:2447] in user32 (0x0034f8a8)
    11 0x7edc80ba SendMessageW+0x4a(hwnd=0x10020, msg=0x80001003,
wparam=0x0, lparam=0x1e00280)
[/home/chris/build/wine/dlls/user32/message.c:2553] in user32 (0x0034f8e8)
    12 0x7e579ffd X11DRV_resize_desktop+0xcd(width=<is not available>,
height=<register ESI not in topmost frame>)
[/home/chris/build/wine/dlls/winex11.drv/winpos.c:570] in winex11
(0x0034f948)
    13 0x7e544d01 X11DRV_desktop_SetCurrentMode+0xa1(mode=0x18)
[/home/chris/build/wine/dlls/winex11.drv/desktop.c:100] in winex11
(0x0034f978)
    14 0x7e574524 X11DRV_ChangeDisplaySettingsEx+0x1d4(devname=0x0,
devmode=0x1dff98, hwnd=0x0, flags=0x4, lpvoid=0x0)
[/home/chris/build/wine/dlls/winex11.drv/settings.c:439] in winex11
(0x0034fb58)
    15 0x7eddf822 ChangeDisplaySettingsExW+0x42(devname=0x0,
devmode=0x1dff98, hwnd=0x0, flags=0x4, lparam=0x0)
[/home/chris/build/wine/dlls/user32/sysparams.c:3036] in user32 (0x0034fb78)
    16 0x7eddfb4c ChangeDisplaySettingsExA+0x7c(devname=0x0,
devmode=0x34fbec, hwnd=0x0, flags=0x4, lparam=0x0)
[/home/chris/build/wine/dlls/user32/sysparams.c:3010] in user32 (0x0034fbb8)
    17 0x7eddfc1c ChangeDisplaySettingsA+0x3c(devmode=0x34fbec,
flags=0x4) [/home/chris/build/wine/dlls/user32/sysparams.c:2979] in
user32 (0x0034fbd8)
    18 0x0044bbf6 in shmath (+0x4bbf6) (0x0034fc80)
    19 0x0040ddcf in shmath (+0xddcf) (0x0034fc98)
    20 0x0043ab75 in shmath (+0x3ab75) (0x0034fcec)
    21 0x00430b9a in shmath (+0x30b9a) (0x0034fd24)
    22 0x004314eb in shmath (+0x314eb) (0x0034fd7c)
    23 0x00431573 in shmath (+0x31573) (0x007b004c)
    24 0x00001201 (0x010c753d)
    25 0x00000000 (0x00000000)


=========================================================================================

fixme:mixer:ALSA_MixerInit No master control found on MPU-401 UART,
disabling mixer
fixme:wave:wodPlayer_Reset shouldn't have headers left
fixme:exec:SHELL_execute flags ignored: 0x00000400
fixme:mixer:ALSA_MixerInit No master control found on MPU-401 UART,
disabling mixer
fixme:x11drv:X11DRV_desktop_SetCurrentMode Cannot change screen BPP from
32 to 16
fixme:x11drv:X11DRV_desktop_SetCurrentMode Cannot change screen BPP from
32 to 16
wine: Unhandled page fault on read access to 0x00000030 at address
0x43dad1 (thread 0019), starting debugger...
Unhandled exception: page fault on read access to 0x00000030 in 32-bit
code (0x0043dad1).
Register dump:
   CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
   EIP:0043dad1 ESP:0034ed6c EBP:0034ede4 EFLAGS:00210293(   - 00
RISA1C)
   EAX:00000000 EBX:0001002a ECX:00b80044 EDX:00000007
   ESI:00f60044 EDI:01e00280
Stack dump:
0x0034ed6c:  00f60044 0034ee00 7edd5568 7eded473
0x0034ed7c:  0034ed88 00bc0274 00b355ac 00000000
0x0034ed8c:  00000000 00000280 000001e0 7eda4aa6
0x0034ed9c:  00000005 00000000 00000000 00000000
0x0034edac:  00000000 00000000 00000000 00000000
0x0034edbc:  00000000 00b355ac 00000000 00000000
Backtrace:
=>1 0x0043dad1 in jsdet4g (+0x3dad1) (0x0034ede4)
    2 0x0042e983 in jsdet4g (+0x2e983) (0x0034ee08)
    3 0x7edfad1a WINPROC_wrapper+0x1a() in user32 (0x0034ee38)
    4 0x7edfb3fe call_window_proc+0x6e(hwnd=<register EDI not in topmost
frame>, msg=0x7e, wp=0x20, lp=0x1e00280, result=0x34f3ec, arg=0x42e701)
[/home/chris/build/wine/dlls/user32/winproc.c:457] in user32 (0x0034ee78)
    5 0x7ee00c45 WINPROC_CallProcWtoA+0x8c5(callback=0x7edfb390,
hwnd=0x1002a, msg=<register EDI not in topmost frame>, wParam=0x20,
lParam=0x1e00280, result=0x34f3ec, arg=0x42e701)
[/home/chris/build/wine/dlls/user32/winproc.c:1267] in user32 (0x0034f348)
    6 0x7ee0180b WINPROC_call_window+0x15b(hwnd=<register ESI not in
topmost frame>, msg=0x7e, wParam=0x20, lParam=0x1e00280,
result=0x34f3ec, unicode=0x1, mapping=0x3)
[/home/chris/build/wine/dlls/user32/winproc.c:2200] in user32 (0x0034f388)
    7 0x7edc2efa call_window_proc+0xca(hwnd=<register ESI not in topmost
frame>, msg=0x7e, wparam=0x20, lparam=0x1e00280, unicode=0x1,
same_thread=0x0, mapping=0x3)
[/home/chris/build/wine/dlls/user32/message.c:1615] in user32 (0x0034f3f8)
    8 0x7edc4368 peek_message+0x5e8(msg=0x34f7c0, hwnd=0x0, first=0x0,
last=0xffffffff, flags=0x400001)
[/home/chris/build/wine/dlls/user32/message.c:2155] in user32 (0x0034f6d8)
    9 0x7edc61cf send_inter_thread_message+0x17f(info=0x34f8b8,
res_ptr=0x34f894) [/home/chris/build/wine/dlls/user32/message.c:2174] in
user32 (0x0034f848)
    10 0x7edc6bbe send_message+0x17e(info=<register EDI not in topmost
frame>, res_ptr=0x34f8e4, unicode=0x1)
[/home/chris/build/wine/dlls/user32/message.c:2447] in user32 (0x0034f8a8)
    11 0x7edc70ba SendMessageW+0x4a(hwnd=0x10020, msg=0x80001003,
wparam=0x0, lparam=0x1e00280)
[/home/chris/build/wine/dlls/user32/message.c:2553] in user32 (0x0034f8e8)
    12 0x7e578ffd X11DRV_resize_desktop+0xcd(width=<is not available>,
height=<register ESI not in topmost frame>)
[/home/chris/build/wine/dlls/winex11.drv/winpos.c:570] in winex11
(0x0034f948)
    13 0x7e543d01 X11DRV_desktop_SetCurrentMode+0xa1(mode=0x18)
[/home/chris/build/wine/dlls/winex11.drv/desktop.c:100] in winex11
(0x0034f978)
    14 0x7e573524 X11DRV_ChangeDisplaySettingsEx+0x1d4(devname=0x0,
devmode=0x1e0880, hwnd=0x0, flags=0x4, lpvoid=0x0)
[/home/chris/build/wine/dlls/winex11.drv/settings.c:439] in winex11
(0x0034fb58)
    15 0x7edde822 ChangeDisplaySettingsExW+0x42(devname=0x0,
devmode=0x1e0880, hwnd=0x0, flags=0x4, lparam=0x0)
[/home/chris/build/wine/dlls/user32/sysparams.c:3036] in user32 (0x0034fb78)
    16 0x7eddeb4c ChangeDisplaySettingsExA+0x7c(devname=0x0,
devmode=0x34fbec, hwnd=0x0, flags=0x4, lparam=0x0)
[/home/chris/build/wine/dlls/user32/sysparams.c:3010] in user32 (0x0034fbb8)
    17 0x7eddec1c ChangeDisplaySettingsA+0x3c(devmode=0x34fbec,
flags=0x4) [/home/chris/build/wine/dlls/user32/sysparams.c:2979] in
user32 (0x0034fbd8)
    18 0x0044c6c0 in jsdet4g (+0x4c6c0) (0x0034fc80)
    19 0x0040e082 in jsdet4g (+0xe082) (0x0034fc98)
    20 0x0043b461 in jsdet4g (+0x3b461) (0x0034fcec)
    21 0x00431263 in jsdet4g (+0x31263) (0x0034fd24)
    22 0x00431bb4 in jsdet4g (+0x31bb4) (0x0034fd7c)
    23 0x00431c3c in jsdet4g (+0x31c3c) (0x007b004c)
    24 0x00001186 (0x010c753d)
    25 0x00000000 (0x00000000)
0x0043dad1: movl        0x30(%eax),%eax
Modules:
Module  Address                 Debug info      Name (132 modules)
PE        350000-  35e000       Deferred        kazlib32
PE        360000-  3ab000       Deferred        atmsg32
PE        3d0000-  3e3000       Deferred        atmss32
PE        400000-  4b0000       Export          jsdet4g
PE        c00000-  c5a000       Deferred        atres32
PE       1490000- 14ab000       Deferred        atfio32
PE       14b0000- 14cb000       Deferred        kauser32
PE       14d0000- 14fe000       Deferred        signin32
PE       a930000- a952000       Deferred        shw32
PE      10000000-10013000       Deferred        kablit32
PE      21100000-2115e000       Deferred        mss32
PE      26f00000-26f2a000       Deferred        mp3dec.asi
PE      780c0000-78121000       Deferred        msvcp60
ELF     7b800000-7b92c000       Deferred        kernel32<elf>
    \-PE  7b820000-7b92c000       \               kernel32
ELF     7bc00000-7bca4000       Deferred        ntdll<elf>
    \-PE  7bc10000-7bca4000       \               ntdll
ELF     7bf00000-7bf03000       Deferred        <wine-loader>
ELF     7d03c000-7d047000       Deferred        libgcc_s.so.1
ELF     7d469000-7d4b3000       Deferred        dsound<elf>
    \-PE  7d470000-7d4b3000       \               dsound
ELF     7d5c9000-7d5dd000       Deferred        winejoystick<elf>
    \-PE  7d5d0000-7d5dd000       \               winejoystick
ELF     7d5dd000-7d5fe000       Deferred        mpr<elf>
    \-PE  7d5e0000-7d5fe000       \               mpr
ELF     7d5fe000-7d611000       Deferred        sensapi<elf>
    \-PE  7d600000-7d611000       \               sensapi
ELF     7d611000-7d63d000       Deferred        ws2_32<elf>
    \-PE  7d620000-7d63d000       \               ws2_32
ELF     7d63d000-7d663000       Deferred        netapi32<elf>
    \-PE  7d640000-7d663000       \               netapi32
ELF     7d663000-7d68a000       Deferred        secur32<elf>
    \-PE  7d670000-7d68a000       \               secur32
ELF     7d68a000-7d6a3000       Deferred        rasapi32<elf>
    \-PE  7d690000-7d6a3000       \               rasapi32
ELF     7d6a3000-7d6c8000       Deferred        oledlg<elf>
    \-PE  7d6b0000-7d6c8000       \               oledlg
ELF     7d6f3000-7d707000       Deferred        lz32<elf>
    \-PE  7d700000-7d707000       \               lz32
ELF     7d707000-7d720000       Deferred        version<elf>
    \-PE  7d710000-7d720000       \               version
ELF     7d720000-7d748000       Deferred        msvfw32<elf>
    \-PE  7d730000-7d748000       \               msvfw32
ELF     7d748000-7d75c000       Deferred        avicap32<elf>
    \-PE  7d750000-7d75c000       \               avicap32
ELF     7d75c000-7d779000       Deferred        imm32<elf>
    \-PE  7d760000-7d779000       \               imm32
ELF     7d779000-7d7ca000       Deferred        libgcrypt.so.11
ELF     7d7ca000-7d7ce000       Deferred        libgpg-error.so.0
ELF     7d7ce000-7d7de000       Deferred        libtasn1.so.3
ELF     7d7de000-7d80c000       Deferred        libcrypt.so.1
ELF     7d80c000-7d87c000       Deferred        libgnutls.so.13
ELF     7d87c000-7d8a1000       Deferred        libk5crypto.so.3
ELF     7d8a1000-7d929000       Deferred        libkrb5.so.3
ELF     7d929000-7d952000       Deferred        libgssapi_krb5.so.2
ELF     7d954000-7d973000       Deferred        unicows<elf>
    \-PE  7d960000-7d973000       \               unicows
ELF     7d973000-7d9a8000       Deferred        libcups.so.2
ELF     7d9f3000-7da25000       Deferred        uxtheme<elf>
    \-PE  7da00000-7da25000       \               uxtheme
ELF     7da25000-7da39000       Deferred        midimap<elf>
    \-PE  7da30000-7da39000       \               midimap
ELF     7da39000-7da5f000       Deferred        msacm32<elf>
    \-PE  7da40000-7da5f000       \               msacm32
ELF     7e260000-7e298000       Deferred        libpulse.so.0
ELF     7e298000-7e29a000       Deferred        libkeyutils.so.1
ELF     7e29a000-7e2a2000       Deferred        libkrb5support.so.0
ELF     7e2a2000-7e2b9000       Deferred        msacm32<elf>
    \-PE  7e2b0000-7e2b9000       \               msacm32
ELF     7e2b9000-7e37f000       Deferred        libasound.so.2
ELF     7e37f000-7e3b5000       Deferred        winealsa<elf>
    \-PE  7e390000-7e3b5000       \               winealsa
ELF     7e3b5000-7e3ba000       Deferred        libxfixes.so.3
ELF     7e3ba000-7e3bd000       Deferred        libcom_err.so.2
ELF     7e3bd000-7e3c6000       Deferred        librt.so.1
ELF     7e3c6000-7e3ca000       Deferred        libcap.so.1
ELF     7e3ca000-7e3d0000       Deferred
libasound_module_pcm_pulse.so
ELF     7e3d2000-7e3db000       Deferred        libxcursor.so.1
ELF     7e3db000-7e3de000       Deferred        libxcomposite.so.1
ELF     7e3de000-7e3e4000       Deferred        libxrandr.so.2
ELF     7e3e4000-7e3ec000       Deferred        libxrender.so.1
ELF     7e3ec000-7e3ef000       Deferred        libxinerama.so.1
ELF     7e3ef000-7e3f4000       Deferred        libxdmcp.so.6
ELF     7e3f4000-7e3f7000       Deferred        libxau.so.6
ELF     7e3f7000-7e4e8000       Deferred        libx11.so.6
ELF     7e4e8000-7e4f6000       Deferred        libxext.so.6
ELF     7e4f6000-7e4fb000       Deferred        libxxf86vm.so.1
ELF     7e4fb000-7e513000       Deferred        libice.so.6
ELF     7e513000-7e51b000       Deferred        libsm.so.6
ELF     7e51b000-7e5ac000       Dwarf           winex11<elf>
    \-PE  7e530000-7e5ac000       \               winex11
ELF     7e636000-7e656000       Deferred        libexpat.so.1
ELF     7e656000-7e681000       Deferred        libfontconfig.so.1
ELF     7e681000-7e696000       Deferred        libz.so.1
ELF     7e6b7000-7e727000       Deferred        libfreetype.so.6
ELF     7e727000-7e75c000       Deferred        winspool<elf>
    \-PE  7e730000-7e75c000       \               winspool
ELF     7e75c000-7e7fe000       Deferred        comdlg32<elf>
    \-PE  7e760000-7e7fe000       \               comdlg32
ELF     7e7fe000-7e8bd000       Deferred        comctl32<elf>
    \-PE  7e810000-7e8bd000       \               comctl32
ELF     7e8bd000-7e916000       Deferred        shlwapi<elf>
    \-PE  7e8d0000-7e916000       \               shlwapi
ELF     7e916000-7ea1e000       Deferred        shell32<elf>
    \-PE  7e930000-7ea1e000       \               shell32
ELF     7ea1e000-7eaac000       Deferred        winmm<elf>
    \-PE  7ea30000-7eaac000       \               winmm
ELF     7eaac000-7eabf000       Deferred        libresolv.so.2
ELF     7eabf000-7eadd000       Deferred        iphlpapi<elf>
    \-PE  7ead0000-7eadd000       \               iphlpapi
ELF     7eadd000-7eb3d000       Deferred        rpcrt4<elf>
    \-PE  7eaf0000-7eb3d000       \               rpcrt4
ELF     7eb3d000-7ebe1000       Deferred        ole32<elf>
    \-PE  7eb50000-7ebe1000       \               ole32
ELF     7ebe1000-7ec4a000       Deferred        msvcrt<elf>
    \-PE  7ebf0000-7ec4a000       \               msvcrt
ELF     7ec4a000-7ec97000       Deferred        advapi32<elf>
    \-PE  7ec60000-7ec97000       \               advapi32
ELF     7ec97000-7ed32000       Deferred        gdi32<elf>
    \-PE  7ecb0000-7ed32000       \               gdi32
ELF     7ed32000-7ee77000       Dwarf           user32<elf>
    \-PE  7ed50000-7ee77000       \               user32
ELF     7ee77000-7ee8f000       Deferred        libnsl.so.1
ELF     7ee9b000-7eea6000       Deferred        libnss_files.so.2
ELF     7eea6000-7eeb0000       Deferred        libnss_nis.so.2
ELF     7eeb0000-7eeb9000       Deferred        libnss_compat.so.2
ELF     7efdb000-7f000000       Deferred        libm.so.6
ELF     f7cd8000-f7cdc000       Deferred        libdl.so.2
ELF     f7cdc000-f7e26000       Deferred        libc.so.6
ELF     f7e27000-f7e3f000       Deferred        libpthread.so.0
ELF     f7e3f000-f7f54000       Deferred        libwine.so.1
ELF     f7f56000-f7f74000       Deferred        ld-linux.so.2
Threads:
process  tid      prio (all id:s are in hex)
0000000a
          0000000b    0
0000000c
          0000000f    0
          0000000e    0
          0000000d    0
00000010
          00000011    0
00000018 (D) C:\Program Files\JumpStart\Mystery Club Mastermind\jsdet4g.exe
          0000001e   15
          0000001c   15
          0000001a   15
          00000019    0 <==
Backtrace:
=>1 0x0043dad1 in jsdet4g (+0x3dad1) (0x0034ede4)
    2 0x0042e983 in jsdet4g (+0x2e983) (0x0034ee08)
    3 0x7edfad1a WINPROC_wrapper+0x1a() in user32 (0x0034ee38)
    4 0x7edfb3fe call_window_proc+0x6e(hwnd=<register EDI not in topmost
frame>, msg=0x7e, wp=0x20, lp=0x1e00280, result=0x34f3ec, arg=0x42e701)
[/home/chris/build/wine/dlls/user32/winproc.c:457] in user32 (0x0034ee78)
    5 0x7ee00c45 WINPROC_CallProcWtoA+0x8c5(callback=0x7edfb390,
hwnd=0x1002a, msg=<register EDI not in topmost frame>, wParam=0x20,
lParam=0x1e00280, result=0x34f3ec, arg=0x42e701)
[/home/chris/build/wine/dlls/user32/winproc.c:1267] in user32 (0x0034f348)
    6 0x7ee0180b WINPROC_call_window+0x15b(hwnd=<register ESI not in
topmost frame>, msg=0x7e, wParam=0x20, lParam=0x1e00280,
result=0x34f3ec, unicode=0x1, mapping=0x3)
[/home/chris/build/wine/dlls/user32/winproc.c:2200] in user32 (0x0034f388)
    7 0x7edc2efa call_window_proc+0xca(hwnd=<register ESI not in topmost
frame>, msg=0x7e, wparam=0x20, lparam=0x1e00280, unicode=0x1,
same_thread=0x0, mapping=0x3)
[/home/chris/build/wine/dlls/user32/message.c:1615] in user32 (0x0034f3f8)
    8 0x7edc4368 peek_message+0x5e8(msg=0x34f7c0, hwnd=0x0, first=0x0,
last=0xffffffff, flags=0x400001)
[/home/chris/build/wine/dlls/user32/message.c:2155] in user32 (0x0034f6d8)
    9 0x7edc61cf send_inter_thread_message+0x17f(info=0x34f8b8,
res_ptr=0x34f894) [/home/chris/build/wine/dlls/user32/message.c:2174] in
user32 (0x0034f848)
    10 0x7edc6bbe send_message+0x17e(info=<register EDI not in topmost
frame>, res_ptr=0x34f8e4, unicode=0x1)
[/home/chris/build/wine/dlls/user32/message.c:2447] in user32 (0x0034f8a8)
    11 0x7edc70ba SendMessageW+0x4a(hwnd=0x10020, msg=0x80001003,
wparam=0x0, lparam=0x1e00280)
[/home/chris/build/wine/dlls/user32/message.c:2553] in user32 (0x0034f8e8)
    12 0x7e578ffd X11DRV_resize_desktop+0xcd(width=<is not available>,
height=<register ESI not in topmost frame>)
[/home/chris/build/wine/dlls/winex11.drv/winpos.c:570] in winex11
(0x0034f948)
    13 0x7e543d01 X11DRV_desktop_SetCurrentMode+0xa1(mode=0x18)
[/home/chris/build/wine/dlls/winex11.drv/desktop.c:100] in winex11
(0x0034f978)
    14 0x7e573524 X11DRV_ChangeDisplaySettingsEx+0x1d4(devname=0x0,
devmode=0x1e0880, hwnd=0x0, flags=0x4, lpvoid=0x0)
[/home/chris/build/wine/dlls/winex11.drv/settings.c:439] in winex11
(0x0034fb58)
    15 0x7edde822 ChangeDisplaySettingsExW+0x42(devname=0x0,
devmode=0x1e0880, hwnd=0x0, flags=0x4, lparam=0x0)
[/home/chris/build/wine/dlls/user32/sysparams.c:3036] in user32 (0x0034fb78)
    16 0x7eddeb4c ChangeDisplaySettingsExA+0x7c(devname=0x0,
devmode=0x34fbec, hwnd=0x0, flags=0x4, lparam=0x0)
[/home/chris/build/wine/dlls/user32/sysparams.c:3010] in user32 (0x0034fbb8)
    17 0x7eddec1c ChangeDisplaySettingsA+0x3c(devmode=0x34fbec,
flags=0x4) [/home/chris/build/wine/dlls/user32/sysparams.c:2979] in
user32 (0x0034fbd8)
    18 0x0044c6c0 in jsdet4g (+0x4c6c0) (0x0034fc80)
    19 0x0040e082 in jsdet4g (+0xe082) (0x0034fc98)
    20 0x0043b461 in jsdet4g (+0x3b461) (0x0034fcec)
    21 0x00431263 in jsdet4g (+0x31263) (0x0034fd24)
    22 0x00431bb4 in jsdet4g (+0x31bb4) (0x0034fd7c)
    23 0x00431c3c in jsdet4g (+0x31c3c) (0x007b004c)
    24 0x00001186 (0x010c753d)
    25 0x00000000 (0x00000000)


-------------- next part --------------
A non-text attachment was scrubbed...
Name: c131f0875a3c56b988a1949c692179786f87f4c7.diff
Type: text/x-patch
Size: 564 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-patches/attachments/20080324/74610265/attachment-0001.bin 


More information about the wine-patches mailing list