[Bug 10799] Myst Masterpiece Edition crashes at startup

wine-bugs at winehq.org wine-bugs at winehq.org
Wed Dec 19 19:22:40 CST 2007


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





--- Comment #16 from Mateus César Gröess <mateuscg at gmail.com>  2007-12-19 19:22:39 ---
I don't want to disappoint you, but the problem is still present. I applied
your first commited patch and after the second patch, against version 0.9.51.
Based on you changes, I made some additions using the old printf debug method.
Here is the patch I tried:

--- driver.c-orig       2007-12-17 15:28:47.000000000 -0200
+++ driver.c    2007-12-17 16:57:11.000000000 -0200
@@ -413,19 +413,29 @@
     DEVMODEW *dmW;
     WORD dmW_size, dmA_size;

+    printf("dmA value: %X\n", dmA);
+    printf("dmA->dmSize value: %d\n", dmA->dmSize);
+    printf("sizeof(DEVMODEA) value: %d\n", sizeof(DEVMODEA));
     dmA_size = dmA->dmSize;
     if (dmA_size > sizeof(DEVMODEA))
         dmA_size = sizeof(DEVMODEA);

+    printf("dmA_size 2 value: %d\n", dmA_size);
     dmW_size = dmA_size + CCHDEVICENAME;
+    printf("dmW_size value: %d\n", dmW_size);
     if (dmA_size >= FIELD_OFFSET(DEVMODEA, dmFormName) + CCHFORMNAME)
         dmW_size += CCHFORMNAME;
+    printf("dmW_size 2 value: %d\n", dmW_size);

     dmW = HeapAlloc(GetProcessHeap(), 0, dmW_size + dmA->dmDriverExtra);
     if (!dmW) return NULL;
+    printf("dmW value: %X\n", dmW);

     MultiByteToWideChar(CP_ACP, 0, (const char*) dmA->dmDeviceName,
CCHDEVICENAME,
                                    dmW->dmDeviceName, CCHDEVICENAME);
+    printf("dmW->dmSpecVersion value: %d\n", dmW->dmSpecVersion);
+    printf("dmA->dmSpecVersion value: %d\n", dmA->dmSpecVersion);
+    printf("dmA_size value: %d\n", dmA_size);
     /* copy slightly more, to avoid long computations */
     memcpy(&dmW->dmSpecVersion, &dmA->dmSpecVersion, dmA_size -
CCHDEVICENAME);


The results:

dmA value: AC1C3C
dmA->dmSize value: 0
sizeof(DEVMODEA) value: 156
dmA_size 2 value: 0
dmW_size value: 32
dmW_size 2 value: 32
dmW value: 1410B8
dmW->dmSpecVersion value: 74
dmA->dmSpecVersion value: 0
dmA_size value: 0
wine: Unhandled page fault on read access to 0x00acc000 at address 0xb7ce455f
(thread 001b), starting debugger...
<snip...>
Backtrace:
=>1 0xb7ce455f memcpy+0x2f() in libc.so.6 (0x0031a370)
  2 0x7e99399b GdiConvertToDevmodeW+0x1d5(dmA=0xac1c3c)
[/tmp/tgz/wine-0.9.51/dlls/gdi32/driver.c:440] in gdi32 (0x0031a3a0)
  3 0x7eab2cc5 ChangeDisplaySettingsExA+0x45(devname=0x0, devmode=0xac1c3c,
hwnd=0x0, flags=0x0, lparam=0x0)
[/tmp/tgz/wine-0.9.51/dlls/user32/sysparams.c:3001] in user32 (0x0031a3e0)
  4 0x7eab2c45 ChangeDisplaySettingsA+0x27(devmode=0xac1c3c, flags=0x0)
[/tmp/tgz/wine-0.9.51/dlls/user32/sysparams.c:2972] in user32 (0x0031a410)
  5 0x0042a433 in myst (+0x2a433) (0x0031a428)
  6 0x0042ab3f in myst (+0x2ab3f) (0x0031a490)


-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.


More information about the wine-bugs mailing list