diff options
Diffstat (limited to 'gtk')
-rw-r--r-- | gtk/gtkstylecontext.c | 6 | ||||
-rw-r--r-- | gtk/gtkwidget.c | 20 |
2 files changed, 11 insertions, 15 deletions
diff --git a/gtk/gtkstylecontext.c b/gtk/gtkstylecontext.c index 7fa5ee7ba1..f5d1e86ea5 100644 --- a/gtk/gtkstylecontext.c +++ b/gtk/gtkstylecontext.c @@ -739,9 +739,6 @@ gtk_style_context_update (GdkFrameClock *clock, GtkStyleContext *context) { _gtk_style_context_queue_invalidate (context, GTK_CSS_CHANGE_ANIMATE); - - /* A little blech to request one more than we need */ - gdk_frame_clock_request_phase (clock, GDK_FRAME_CLOCK_PHASE_UPDATE); } static gboolean @@ -762,6 +759,7 @@ gtk_style_context_disconnect_update (GtkStyleContext *context) g_signal_handler_disconnect (priv->frame_clock, priv->frame_clock_update_id); priv->frame_clock_update_id = 0; + gdk_frame_clock_end_updating (priv->frame_clock); } } @@ -776,7 +774,7 @@ gtk_style_context_connect_update (GtkStyleContext *context) "update", G_CALLBACK (gtk_style_context_update), context); - gdk_frame_clock_request_phase (priv->frame_clock, GDK_FRAME_CLOCK_PHASE_UPDATE); + gdk_frame_clock_begin_updating (priv->frame_clock); } } diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 231d27b773..8a7fb18f69 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -4554,6 +4554,7 @@ unref_tick_callback_info (GtkWidget *widget, g_signal_handlers_disconnect_by_func (frame_clock, (gpointer) gtk_widget_on_frame_clock_update, widget); + gdk_frame_clock_end_updating (frame_clock); } } @@ -4596,10 +4597,6 @@ gtk_widget_on_frame_clock_update (GdkFrameClock *frame_clock, unref_tick_callback_info (widget, info, l); l = next; } - - if (priv->tick_callbacks != NULL) - gdk_frame_clock_request_phase (frame_clock, - GDK_FRAME_CLOCK_PHASE_UPDATE); } static guint tick_callback_id; @@ -4651,8 +4648,7 @@ gtk_widget_add_tick_callback (GtkWidget *widget, g_signal_connect (frame_clock, "update", G_CALLBACK (gtk_widget_on_frame_clock_update), widget); - gdk_frame_clock_request_phase (frame_clock, - GDK_FRAME_CLOCK_PHASE_UPDATE); + gdk_frame_clock_begin_updating (frame_clock); } info = g_slice_new0 (GtkTickCallbackInfo); @@ -4702,8 +4698,7 @@ gtk_widget_connect_frame_clock (GtkWidget *widget, g_signal_connect (frame_clock, "update", G_CALLBACK (gtk_widget_on_frame_clock_update), widget); - gdk_frame_clock_request_phase (frame_clock, - GDK_FRAME_CLOCK_PHASE_UPDATE); + gdk_frame_clock_begin_updating (frame_clock); } if (priv->context) @@ -4720,9 +4715,12 @@ gtk_widget_disconnect_frame_clock (GtkWidget *widget, _gtk_container_stop_idle_sizer (GTK_CONTAINER (widget)); if (priv->tick_callbacks) - g_signal_handlers_disconnect_by_func (frame_clock, - (gpointer) gtk_widget_on_frame_clock_update, - widget); + { + g_signal_handlers_disconnect_by_func (frame_clock, + (gpointer) gtk_widget_on_frame_clock_update, + widget); + gdk_frame_clock_end_updating (frame_clock); + } if (priv->context) gtk_style_context_set_frame_clock (priv->context, NULL); |