summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2016-07-25 08:32:24 -0400
committerMatthias Clasen <mclasen@redhat.com>2016-07-25 08:32:24 -0400
commitf44baf51d9e8616acd9b929d9cfef83a4a3ad00a (patch)
treec3d75710700d92b787e9c6a5d8a20e36723f1a00
parent8db8891c66e9b5dc07deba631f2facc9383b7c2e (diff)
downloadgtk+-f44baf51d9e8616acd9b929d9cfef83a4a3ad00a.tar.gz
Avoid a division by zero
It appears that xvfb returns nonsense in its xrandr resources. Avoid a crash when that happens. https://bugzilla.gnome.org/show_bug.cgi?id=768999
-rw-r--r--gdk/x11/gdkscreen-x11.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gdk/x11/gdkscreen-x11.c b/gdk/x11/gdkscreen-x11.c
index 34dfcccd58..c189053c92 100644
--- a/gdk/x11/gdkscreen-x11.c
+++ b/gdk/x11/gdkscreen-x11.c
@@ -474,7 +474,8 @@ init_randr15 (GdkScreen *screen, gboolean *changed)
XRRModeInfo *xmode = &resources->modes[j];
if (xmode->id == crtc->mode)
{
- refresh_rate = (1000 * xmode->dotClock) / (xmode->hTotal *xmode->vTotal);
+ if (xmode->hTotal != 0 && xmode->vTotal != 0)
+ refresh_rate = (1000 * xmode->dotClock) / (xmode->hTotal * xmode->vTotal);
break;
}
}