Avoid division by zero (thanks to David Ronis).
diff --git a/dlls/x11drv/mouse.c b/dlls/x11drv/mouse.c
index b4db4b2..76d6dfd 100644
--- a/dlls/x11drv/mouse.c
+++ b/dlls/x11drv/mouse.c
@@ -301,13 +301,21 @@
rscale = 1 << (16 - rbits);
gscale = 1 << (16 - gbits);
bscale = 1 << (16 - bbits);
- fg.red = rfg * rscale / fgBits;
- fg.green = gfg * gscale / fgBits;
- fg.blue = bfg * bscale / fgBits;
+ if (fgBits)
+ {
+ fg.red = rfg * rscale / fgBits;
+ fg.green = gfg * gscale / fgBits;
+ fg.blue = bfg * bscale / fgBits;
+ }
+ else fg.red = fg.green = fg.blue = 0;
bgBits = xmax * ymax - fgBits;
- bg.red = rbg * rscale / bgBits;
- bg.green = gbg * gscale / bgBits;
- bg.blue = bbg * bscale / bgBits;
+ if (bgBits)
+ {
+ bg.red = rbg * rscale / bgBits;
+ bg.green = gbg * gscale / bgBits;
+ bg.blue = bbg * bscale / bgBits;
+ }
+ else bg.red = bg.green = bg.blue = 0;
pixmapBits = XCreateBitmapFromData( display, root_window, pXorBits, xmax, ymax );
if (!pixmapBits)
{