x11: Avoid a division by zero
authorPavel Roskin <plroskin@gmail.com>
Thu, 8 Mar 2018 14:58:42 +0000 (15:58 +0100)
committerDebarshi Ray <debarshir@gnome.org>
Thu, 8 Mar 2018 15:00:40 +0000 (16:00 +0100)
This is similar to f44baf51d9e8616a but for RandR 1.3 servers like
x11rdp and Windows Exceed which don't return a refresh rate. Avoid a
crash when that happens.

https://bugzilla.gnome.org/show_bug.cgi?id=775546

gdk/x11/gdkscreen-x11.c

index 20fd27531e45f09784b3eefa37c6ee889814d0d8..272cecd7aa4beea601908e3d8827dc3dddb01f2f 100644 (file)
@@ -658,7 +658,8 @@ init_randr13 (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;
                 }
             }