ecore_drm: Fix off by 1000 in output rate calculation
authorDerek Foreman <derekf@osg.samsung.com>
Fri, 6 May 2016 20:08:33 +0000 (15:08 -0500)
committerDerek Foreman <derekf@osg.samsung.com>
Fri, 6 May 2016 20:43:47 +0000 (15:43 -0500)
This results in wayland wl_output modes having their refresh rates
1000x too high, which has the magical effect of making some native
Qt apps fail with a GTK error when Xwayland crashes on 32-bit systems.

@fix
Fixes T3587

src/lib/ecore_drm/ecore_drm_output.c

index 1de8735..d5bb43c 100644 (file)
@@ -277,7 +277,7 @@ _ecore_drm_output_mode_add(Ecore_Drm_Output *output, drmModeModeInfo *info)
    mode->width = info->hdisplay;
    mode->height = info->vdisplay;
 
-   refresh = (info->clock * 1000000LL / info->htotal + info->vtotal / 2) / info->vtotal;
+   refresh = (info->clock * 1000LL / info->htotal + info->vtotal / 2) / info->vtotal;
    if (info->flags & DRM_MODE_FLAG_INTERLACE)
      refresh *= 2;
    if (info->flags & DRM_MODE_FLAG_DBLSCAN)