gdk/wayland: freeze popups when hidden
authorChristian Hergert <chergert@redhat.com>
Thu, 24 Mar 2022 00:00:21 +0000 (17:00 -0700)
committerMatthias Clasen <mclasen@redhat.com>
Wed, 11 May 2022 20:32:17 +0000 (16:32 -0400)
commitf737131d27dc3d5f4c4bf9c55866aba5b91e325b
treed718875a8d3042567ebea41b300579156921a723
parentf54c1537750e35f7bef365c6b87a65123ab2fa13
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