summaryrefslogtreecommitdiff
path: root/gtk
diff options
context:
space:
mode:
Diffstat (limited to 'gtk')
-rw-r--r--gtk/gtkstylecontext.c6
-rw-r--r--gtk/gtkwidget.c20
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);