[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