ui/gtk: Update gd_refresh_rate_millihz() to handle VirtualConsole

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Jan Kiszka <jan.kiszka@web.de>
Message-id: 20200208161048.11311-2-f4bug@amsat.org
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
Philippe Mathieu-Daudé 2020-02-08 17:10:47 +01:00 committed by Gerd Hoffmann
parent e18e5501d8
commit 31ab416d7d
1 changed files with 5 additions and 4 deletions

View File

@ -1965,11 +1965,11 @@ static GtkWidget *gd_create_menu_machine(GtkDisplayState *s)
* If available, return the refresh rate of the display in milli-Hertz,
* else return 0.
*/
static int gd_refresh_rate_millihz(GtkDisplayState *s)
static int gd_refresh_rate_millihz(GtkWidget *window)
{
#ifdef GDK_VERSION_3_22
GdkDisplay *dpy = gtk_widget_get_display(s->window);
GdkWindow *win = gtk_widget_get_window(s->window);
GdkDisplay *dpy = gtk_widget_get_display(window);
GdkWindow *win = gtk_widget_get_window(window);
GdkMonitor *monitor = gdk_display_get_monitor_at_window(dpy, win);
return gdk_monitor_get_refresh_rate(monitor);
@ -2045,7 +2045,8 @@ static GSList *gd_vc_gfx_init(GtkDisplayState *s, VirtualConsole *vc,
vc->gfx.kbd = qkbd_state_init(con);
vc->gfx.dcl.con = con;
refresh_rate_millihz = gd_refresh_rate_millihz(s);
refresh_rate_millihz = gd_refresh_rate_millihz(vc->window ?
vc->window : s->window);
if (refresh_rate_millihz) {
vc->gfx.dcl.update_interval = MILLISEC_PER_SEC / refresh_rate_millihz;
}