Crash in BeginPaint running Sams Photofact index, a free VB app

Mike Hearn m.hearn at signal.qinetiq.com
Mon Apr 28 04:45:42 CDT 2003


Try this patch:

--- painting.c.old      2003-04-28 10:44:52.000000000 +0100
+++ painting.c  2003-04-28 10:44:55.000000000 +0100
@@ -159,6 +159,9 @@
     HWND full_handle;
     WND *wndPtr;
  
+    /* sanity check */
+    if (!lps) return 0;
+
     if (!(full_handle = WIN_IsCurrentThread( hwnd )))
     {
         if (IsWindow(hwnd))


On Mon, 2003-04-28 at 07:26, Dan Kegel wrote:
> Wine is coming along!  It can *almost* run a real world VB app
> I downloaded tonight.  I'm trying to fix an old TV, and I wanted
> to see if Sams has a manual for it, so I downloaded their
> index program (http://www.servicesoftware.com/sams/)
> and was happy to discover it installed properly under a
> recent Wine (once I copied in the msiexec stuff, stdole2.tlb, etc.).
> 
> However, it didn't quite run properly.  Here's what I got running
> it under wine-20030408:
> 
> Unhandled exception: page fault on write access to 0x00000000 in 32-bit code (0x409e5873).
> In 32-bit mode.
> 0x409e5873 (BeginPaint+0x9f [painting.c:200] in user32.dll.so): movl    %eax,0x0(%edx)
> 203         if (!lps->hdc)
> Wine-dbg>bt
> Backtrace:
> =>0 0x409e5873 (BeginPaint+0x9f(hwnd=0x10029, lps=0x0) [painting.c:200] in user32.dll.so) (ebp=40892bc4)
>    1 0x52195475 (GRIDX.OCX..text+0x14475 in C:\WINDOWS\SYSTEM\GRIDX.OCX) (ebp=40892c18)
>    2 0x52194fe0 (GRIDX.OCX..text+0x13fe0 in C:\WINDOWS\SYSTEM\GRIDX.OCX) (ebp=40892c40)
>    3 0x5218b961 (GRIDX.OCX..text+0xa961 in C:\WINDOWS\SYSTEM\GRIDX.OCX) (ebp=40892c88)
>    4 0x409cc817 (WINPROC_wrapper+0x17 in user32.dll.so) (ebp=40892cac)
>    5 0x409cc875 (WINPROC_CallWndProc+0x55(proc=0x41855438, hwnd=0x10029, msg=0xf, wParam=0x0, lParam=0x0) [winproc.c:185] in user32.dll.so) (ebp=40892cd8)
>    6 0x409d1535 (CallWindowProcA+0xf9(func=0x40df0908, hwnd=0x10029, msg=0xf, wParam=0x0, lParam=0x0) [winproc.c:2812] in user32.dll.so) (ebp=40892d0c)
>    7 0x409b5a3e (DispatchMessageA+0x96(msg=0x40892d68) [message.c:794] in user32.dll.so) (ebp=40892d50)
>    8 0x66014979 (MSVBVM60.DLL.__vbaInStr+0x3b7 in C:\WINDOWS\SYSTEM\MSVBVM60.DLL) (ebp=40892d90)
>    9 0x660148b2 (MSVBVM60.DLL.__vbaInStr+0x2f0 in C:\WINDOWS\SYSTEM\MSVBVM60.DLL) (ebp=40892dd4)
>    10 0x66014790 (MSVBVM60.DLL.__vbaInStr+0x1ce in C:\WINDOWS\SYSTEM\MSVBVM60.DLL) (ebp=6601a360)
>    11 0x66010e00 (MSVBVM60.DLL.BASIC_CLASS_QueryInterface+0x17 in C:\WINDOWS\SYSTEM\MSVBVM60.DLL) (ebp=660d3526)
>    12 0x0c2474ff (SAMSINDX.exe..rsrc+0xbe334ff) (ebp=0424448b)
> *** Invalid address 0x0424448b (SAMSINDX.exe..rsrc+0x3e3048b)
> 
> I can run this app under real Windows, but this is such a juicy little
> testcase I bet someone will want to take a look at it :-)
> - Dan
-- 
Mike Hearn <m.hearn at signal.qinetiq.com>
QinetiQ - Malvern Technology Center




More information about the wine-devel mailing list