Patching Wine 0.9.35 to run TOPO!

I missed it the first time, but bug 8165 actually does give a source code mod to fix this problem.

We are going to be rebuilding Wine from scratch, so lets roll up the shirtsleeves and get to it. First thing is to get the source from WineHQ. What I got was wine-0.9.35.tar.bz2 circa April 25, 2007. Then explode this via: tar -jxvf wine-0.9.35.tar.bz2. This will yield the directory wine-0.9.35 full of stuff. It perhaps won't hurt that I have already put the wine-devel rpm on my system, but who can say.

Now it is on to the usual drill:

cd wine-0.9.35
./configure
make depend
make

Before doing this I had modified one file, namely dlls/comdlg32/printdlg.c adding two lines as shown in the following diff.

--- printdlg.c.ORIG	2007-04-25 13:51:11.000000000 -0700
+++ printdlg.c	2007-04-25 14:02:36.000000000 -0700
@@ -3394,6 +3394,11 @@
             }
             return FALSE;
         }
+
+	/* TJT - fix for TOPO! page fault crash */
+	setupdlg->hDevMode = pdlg.hDevMode;
+	setupdlg->hDevNames = pdlg.hDevNames;
+	/* TJT - end fix */
     }
 
     /* short cut exit, just return default values */

OK, we have built a new wine, now install it:

cd wine-0.9.35
su
make install

Someday, just maybe, this hack (or a better all encompassing fix) will make it into the standard release, but not as of 0.9.36.


Have any comments? Questions? Drop me a line!

Adventures in Computing / tom@mmto.org