MetaWindowActor: don't overwrite send_frame_messages_timer
If the app finished multiple frames before we sent _NET_WM_FRAME_DRAWN, we could add the send_frame_messages_timer multiple times. In the rare case that the app immediately closed the window, the older timeout could potentially then run on the freed actor. https://bugzilla.gnome.org/show_bug.cgi?id=738686
This commit is contained in:
parent
9745f9f8ce
commit
5e84c8f20b
@ -939,6 +939,10 @@ static void
|
||||
queue_send_frame_messages_timeout (MetaWindowActor *self)
|
||||
{
|
||||
MetaWindowActorPrivate *priv = self->priv;
|
||||
|
||||
if (priv->send_frame_messages_timer != 0)
|
||||
return;
|
||||
|
||||
MetaDisplay *display = meta_window_get_display (priv->window);
|
||||
gint64 current_time = meta_compositor_monotonic_time_to_server_time (display, g_get_monotonic_time ());
|
||||
MetaMonitorManager *monitor_manager = meta_monitor_manager_get ();
|
||||
|
Loading…
x
Reference in New Issue
Block a user