<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
  <title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
I've actually seen the old thread but my problem appeared to be
different, I applied the patch and recompiled with no success (I
believe I did it appropriately, it manually requested the filenames).&nbsp;
Here is the requested bt output:<br>
<br>
[ehoover@FEDORA Diablo II]$ setarch i386 wine BNupdate.exe<br>
fixme:msvcrt:_XcptFilter (-1073741819,0x5584f76c)semi-stub<br>
wine: Unhandled exception (thread 0009), starting debugger...<br>
fixme:console:SetConsoleCtrlHandler (0x55609ec4,1) - no error checking
or testing yet<br>
WineDbg starting on pid 0x8<br>
Unhandled exception: page fault on write access to 0x00000000 in 32-bit
code (0x558fc8e4).<br>
In 32 bit mode.<br>
0x558fc8e4: movl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $0x0,0x0(%eax)<br>
Wine-dbg&gt;bt<br>
Backtrace:<br>
=&gt;1 0x558fc8e4 (0x5584fc20)<br>
&nbsp; 2 0x558fcd6b (0x5584fc44)<br>
&nbsp; 3 0x558fcd96 (0x5584fc68)<br>
&nbsp; 4 0x558fccea (0x5584fc8c)<br>
&nbsp; 5 0x004070d6 (0x5584ff2c)<br>
&nbsp; 6 0x554af3e7 (0x5584fff4)<br>
&nbsp; 7 0x5502d525 (0x00000000)<br>
Wine-dbg&gt;<br>
<br>
I didn't get the message:<br>
<pre>0x408ba2e0 (DIALOG_CreateIndirect+0x300 [dialog.c:636] in USER32.DLL): </pre>
so I assumed my problem might be different.<br>
<br>
Robert Shearman wrote:
<blockquote cite="mid1086544908.13878.15.camel@rob.sydenhamwireless.net"
 type="cite">
  <pre wrap="">On Sun, 2004-06-06 at 16:14, Saulius Krasuckas wrote:
  </pre>
  <blockquote type="cite">
    <pre wrap="">On Sun, 6 Jun 2004, Robert Shearman wrote:
    </pre>
    <blockquote type="cite">
      <pre wrap="">Erich Hoover wrote:
      </pre>
      <blockquote type="cite">
        <pre wrap="">I haven't been able to get the blizzard updater to run on recent 
versions of wine (I've downloaded from CVS to make sure there isn't a 
fix).  I'm not sure if this is something wrong with my setup or a bug 
with wine (i recently reinstalled my system with Fedora Core 2 and am 
no-longer running the same version of wine).
        </pre>
      </blockquote>
      <pre wrap="">More likely a change in Wine caused the app to fail.
      </pre>
    </blockquote>
    <pre wrap="">AFAICS this case may be related to already known issue [1].

The bug is still present in the CVS.  If it's the same bug I urge to
reverse this patch [2] (if compiling by yourself) or just use Wine version
prior to the date "2004/04/19 23:02:35".  For me reversing [2] patch
worked out fine.

[1] <a class="moz-txt-link-freetext" href="http://bugs.winehq.org/show_bug.cgi?id=2210">http://bugs.winehq.org/show_bug.cgi?id=2210</a>
[2] <a class="moz-txt-link-freetext" href="http://cvs.winehq.org/patch.py?id=12071">http://cvs.winehq.org/patch.py?id=12071</a>
    </pre>
  </blockquote>
  <pre wrap=""><!---->
Does the attached patch work for you?

Rob
  </pre>
  <pre wrap="">
<hr size="4" width="90%">
Index: wine/dlls/user/controls.h
===================================================================
RCS file: /home/wine/wine/dlls/user/controls.h,v
retrieving revision 1.15
diff -u -r1.15 controls.h
--- wine/dlls/user/controls.h        4 Mar 2004 01:41:11 -0000        1.15
+++ wine/dlls/user/controls.h        6 Jun 2004 17:56:17 -0000
@@ -134,11 +134,7 @@
 /* offset of DIALOGINFO ptr in dialog extra bytes */
 #define DWL_WINE_DIALOGINFO (DWL_USER+sizeof(ULONG_PTR))
 
-inline static DIALOGINFO *DIALOG_get_info( HWND hwnd )
-{
-    return (DIALOGINFO *)GetWindowLongW( hwnd, DWL_WINE_DIALOGINFO );
-}
-
+extern DIALOGINFO* DIALOG_get_info(HWND hwnd);
 extern BOOL DIALOG_GetCharSize( HDC hdc, HFONT hFont, SIZE * pSize );
 extern void DIALOG_EnableOwner( HWND hOwner );
 extern BOOL DIALOG_DisableOwner( HWND hOwner );
Index: wine/windows/defdlg.c
===================================================================
RCS file: /home/wine/wine/windows/defdlg.c,v
retrieving revision 1.31
diff -u -r1.31 defdlg.c
--- wine/windows/defdlg.c        20 Apr 2004 04:02:35 -0000        1.31
+++ wine/windows/defdlg.c        6 Jun 2004 17:56:18 -0000
@@ -284,26 +284,19 @@
 }
 
 /***********************************************************************
-*               DEFDLG_InitDlgInfo
+*               DIALOG_get_info
 *
-* Allocate memory for DIALOGINFO structure and store in DWL_DIALOGINFO
-* structure. Also flag the window as a dialog type.
+* Returns the data structure associated with the dialog.
+* Allocates memory for DIALOGINFO structure and stores in DWL_DIALOGINFO
+* structure and flags the window as a dialog type if not already done.
 */
-static DIALOGINFO* DEFDLG_InitDlgInfo(HWND hwnd)
+DIALOGINFO* DIALOG_get_info(HWND hwnd)
 {
     WND* wndPtr;
-    DIALOGINFO* dlgInfo = DIALOG_get_info( hwnd );
+    DIALOGINFO* dlgInfo = (DIALOGINFO *)GetWindowLongW( hwnd, DWL_WINE_DIALOGINFO );
     if(!dlgInfo)
     {
-        if (!(dlgInfo = HeapAlloc( GetProcessHeap(), 0, sizeof(*dlgInfo) ))) return NULL;
-        dlgInfo-&gt;hwndFocus   = 0;
-        dlgInfo-&gt;hUserFont   = 0;
-        dlgInfo-&gt;hMenu       = 0;
-        dlgInfo-&gt;xBaseUnit   = 0;
-        dlgInfo-&gt;yBaseUnit   = 0;
-        dlgInfo-&gt;idResult    = 0;
-        dlgInfo-&gt;flags       = 0;
-        dlgInfo-&gt;hDialogHeap = 0;
+        if (!(dlgInfo = HeapAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*dlgInfo) ))) return NULL;
         wndPtr = WIN_GetPtr( hwnd );
         if (wndPtr &amp;&amp; wndPtr != WND_OTHER_PROCESS)
         {
@@ -332,7 +325,7 @@
     BOOL result = FALSE;
 
     /* Perform DIALOGINFO intialization if not done */
-    if(!(dlgInfo = DEFDLG_InitDlgInfo(hwnd32))) return -1;
+    if(!(dlgInfo = DIALOG_get_info(hwnd))) return -1;
 
     SetWindowLongW( hwnd32, DWL_MSGRESULT, 0 );
 
@@ -389,7 +382,7 @@
     BOOL result = FALSE;
 
     /* Perform DIALOGINFO initialization if not done */
-    if(!(dlgInfo = DEFDLG_InitDlgInfo(hwnd))) return -1;
+    if(!(dlgInfo = DIALOG_get_info(hwnd))) return -1;
 
     SetWindowLongW( hwnd, DWL_MSGRESULT, 0 );
 
@@ -446,7 +439,7 @@
     WNDPROC dlgproc;
 
     /* Perform DIALOGINFO intialization if not done */
-    if(!(dlgInfo = DEFDLG_InitDlgInfo(hwnd))) return -1;
+    if(!(dlgInfo = DIALOG_get_info(hwnd))) return -1;
 
     SetWindowLongW( hwnd, DWL_MSGRESULT, 0 );
 
  </pre>
</blockquote>
<br>
</body>
</html>