When a new popup surface is created, it may end up
getting a resume-events signal from its frame clock
without having seen a flush-events first.
Don't unpause events in that case, since it messes
up the displays pause counter.
This was causing criticals with tooltips.
_gdk_display_pause_events (surface->display);
gdk_frame_clock_request_phase (clock, GDK_FRAME_CLOCK_PHASE_RESUME_EVENTS);
-
surface->frame_clock_events_paused = TRUE;
}
{
GdkSurface *surface = GDK_SURFACE (data);
- _gdk_display_unpause_events (surface->display);
-
- surface->frame_clock_events_paused = FALSE;
+ if (surface->frame_clock_events_paused)
+ {
+ _gdk_display_unpause_events (surface->display);
+ surface->frame_clock_events_paused = FALSE;
+ }
}
static void