[Bug 740] Changed - divide by zero exception in x11drv.dll
wine-bugs at winehq.com
wine-bugs at winehq.com
Fri May 31 10:51:49 CDT 2002
http://bugs.winehq.com/show_bug.cgi?id=740
*** shadow/740 Fri May 31 07:36:05 2002
--- shadow/740.tmp.28580 Fri May 31 10:51:49 2002
***************
*** 216,218 ****
--- 216,242 ----
"/ fgBits" and "/ bgBits". It would be interesting to research where fgBits and
bgBits come from. One of these could be 0 for some reasons.
I don't have time right now to research it, but this guess may help you.
+
+ ------- Additional Comments From ronis at onsager.chem.mcgill.ca 2002-05-31 10:51 -------
+ I've added some trace calls and found the problem; it turns out that fgBits=0, and
+ that's the divisior in mous.c:270. The origial TRACE call shows:
+
+ trace:cursor:X11DRV_GetCursor Bitmap 32x32 planes=1 bpp=24 bytesperline=96
+ bBitsPerPixel=24.
+
+ I also put in some traces for the loops at line 233. xmax=ymax=32 and
+ threshold=64. It turns out that the entire theImage array is zero; hence,
+ the first block of the if at line 253 is never entered, and fgBits stays zero.
+
+ If I understand what's going on correctly, a zero mask is allowed.
+
+ I tried protecting the divisions by bgBits and fgBits by testing to see that
+ they weren't zero--setting, bg.red=bg.geeen=bg.blue=0 and similarly for the fg
+ struct if the division would fail; this get's me farther, but the application
+ still fails.
+
+
+
+
+
+
More information about the wine-bugs
mailing list