[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-commits] [qemu/qemu] 28b58f: ui/gtk: Get display refresh rate with
From: |
philmd |
Subject: |
[Qemu-commits] [qemu/qemu] 28b58f: ui/gtk: Get display refresh rate with GDK version ... |
Date: |
Thu, 16 Jan 2020 07:15:13 -0800 |
Branch: refs/heads/master
Home: https://github.com/qemu/qemu
Commit: 28b58f19d269633b3d14b6aebf1e92b3cd3ab56e
https://github.com/qemu/qemu/commit/28b58f19d269633b3d14b6aebf1e92b3cd3ab56e
Author: Philippe Mathieu-Daudé <address@hidden>
Date: 2020-01-16 (Thu, 16 Jan 2020)
Changed paths:
M ui/gtk.c
Log Message:
-----------
ui/gtk: Get display refresh rate with GDK version 3.22 or later
Commit c4c00922cc introduced the use of the GdkMonitor API, which
was introduced in GTK+ 3.22:
https://developer.gnome.org/gdk3/stable/api-index-3-22.html#api-index-3.22
Unfortunately this break building with older versions, as on Ubuntu
Xenial which provides GTK+ 3.18:
$ lsb_release -cd
Description: Ubuntu 16.04.5 LTS
Codename: xenial
$ ./configure && make
GTK support yes (3.18.9)
GTK GL support no
[...]
CC ui/gtk.o
qemu/ui/gtk.c: In function ‘gd_vc_gfx_init’:
qemu/ui/gtk.c:1973:5: error: unknown type name ‘GdkMonitor’
GdkMonitor *monitor = gdk_display_get_monitor_at_window(dpy, win);
^
qemu/ui/gtk.c:1973:27: error: implicit declaration of function
‘gdk_display_get_monitor_at_window’ [-Werror=implicit-function-declaration]
GdkMonitor *monitor = gdk_display_get_monitor_at_window(dpy, win);
^
qemu/ui/gtk.c:1973:5: error: nested extern declaration of
‘gdk_display_get_monitor_at_window’ [-Werror=nested-externs]
GdkMonitor *monitor = gdk_display_get_monitor_at_window(dpy, win);
^
qemu/ui/gtk.c:1973:27: error: initialization makes pointer from integer
without a cast [-Werror=int-conversion]
GdkMonitor *monitor = gdk_display_get_monitor_at_window(dpy, win);
^
qemu/ui/gtk.c:2035:28: error: implicit declaration of function
‘gdk_monitor_get_refresh_rate’ [-Werror=implicit-function-declaration]
refresh_rate_millihz = gdk_monitor_get_refresh_rate(monitor);
^
qemu/ui/gtk.c:2035:5: error: nested extern declaration of
‘gdk_monitor_get_refresh_rate’ [-Werror=nested-externs]
refresh_rate_millihz = gdk_monitor_get_refresh_rate(monitor);
^
cc1: all warnings being treated as errors
qemu/rules.mak:69: recipe for target 'ui/gtk.o' failed
make: *** [ui/gtk.o] Error 1
GTK+ provides convenient definition in <gdk/gdkversionmacros.h>
(already include by <gdk/gdk.h>) to check which API are available.
We only use the GdkMonitor API to get the monitor refresh rate.
Extract this code as a new gd_refresh_rate_millihz() function,
and check GDK_VERSION_3_22 is defined before calling its API.
If it is not defined, return 0. This is safe and fixes our build
failure (see https://travis-ci.org/qemu/qemu/builds/636992508).
Reported-by: Travis-CI
Reviewed-by: Gerd Hoffmann <address@hidden>
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
Message-id: address@hidden
Fixes: c4c00922cc (display/gtk: get proper refreshrate)
Reviewed-by: Gerd Hoffmann <address@hidden>
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-commits] [qemu/qemu] 28b58f: ui/gtk: Get display refresh rate with GDK version ...,
philmd <=