diff options
author | Matthias Clasen <mclasen@redhat.com> | 2016-07-25 08:32:24 -0400 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2016-07-25 08:32:24 -0400 |
commit | f44baf51d9e8616acd9b929d9cfef83a4a3ad00a (patch) | |
tree | c3d75710700d92b787e9c6a5d8a20e36723f1a00 | |
parent | 8db8891c66e9b5dc07deba631f2facc9383b7c2e (diff) | |
download | gtk+-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.c | 3 |
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; } } |