aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikola Pavlica <pavlica.nikola@gmail.com>2021-10-24 16:31:10 +0200
committerGerd Hoffmann <kraxel@redhat.com>2021-11-02 17:24:17 +0100
commit760deab30e41a98bb09f29944e977a4cda55f3c7 (patch)
tree7039b2f9b0b340ebde49f336e6a68acc2cad3360
parentf5918a992839454c6e87234760bdf7aee804aa33 (diff)
downloadqemu-760deab30e41a98bb09f29944e977a4cda55f3c7.zip
qemu-760deab30e41a98bb09f29944e977a4cda55f3c7.tar.gz
qemu-760deab30e41a98bb09f29944e977a4cda55f3c7.tar.bz2
ui/gtk: Update the refresh rate for gl-area too
This is a bugfix that stretches all the way back to January 2020, where I initially introduced this problem and potential solutions. A quick recap of the issue: QEMU did not sync up with the monitors refresh rate causing the VM to render frames that were NOT displayed to the user. That "fix" allowed QEMU to obtain the screen refreshrate information from the system using GDK API's and was for GTK only. Well, I'm back with the same issue again. But this time on Wayland. And I did NOT realize there was YET another screen refresh rate function, this time for Wayland specifically. Thankfully the fix was simple and without much hassle. Thanks, Nikola PS: It seems that my patch has gone missing from the mailing list, hence I'm sending it again. Sorry for any inconveniences. Signed-off-by: Nikola Pavlica <pavlica.nikola@gmail.com> Message-Id: <20211024143110.704296-1-pavlica.nikola@gmail.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
-rw-r--r--ui/gtk-gl-area.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/ui/gtk-gl-area.c b/ui/gtk-gl-area.c
index b235237..afcb29f 100644
--- a/ui/gtk-gl-area.c
+++ b/ui/gtk-gl-area.c
@@ -112,6 +112,9 @@ void gd_gl_area_refresh(DisplayChangeListener *dcl)
{
VirtualConsole *vc = container_of(dcl, VirtualConsole, gfx.dcl);
+ vc->gfx.dcl.update_interval = gd_monitor_update_interval(
+ vc->window ? vc->window : vc->gfx.drawing_area);
+
if (!vc->gfx.gls) {
if (!gtk_widget_get_realized(vc->gfx.drawing_area)) {
return;