gdk/wayland: freeze popups when hidden
authorChristian Hergert <chergert@redhat.com>
Thu, 24 Mar 2022 00:00:21 +0000 (17:00 -0700)
committerIvan Molodetskikh <yalterz@gmail.com>
Tue, 10 May 2022 04:28:25 +0000 (07:28 +0300)
commit4bf07aeef98a09ef1f929c4dd8a4bc540319bd9f
tree615f3e87cb033bc5059adeb284419416ab784fa2
parent26b250503d73c364e6dbe3627473e990ab109fe0
gdk/wayland: freeze popups when hidden

Previously, there was an issue with glitching after showing/hiding a
popover that was not also destroyed. This was due to the popover having
an update_freeze_count of zero after hiding the surface.

That resulted in it's toplevel continuously dropping frames such as during
high-frame-rate scrolling in textviews. This problem is much more visible
on high-frame-rate displays such as 120hz/144hz.

With this commit, we freeze the frame clock of the popup until it is
mapped again.
gdk/wayland/gdksurface-wayland.c