diff options
Diffstat (limited to 'gtk/gtkwidget.c')
-rw-r--r-- | gtk/gtkwidget.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 79cf9e2ea1..48f996063e 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -4694,6 +4694,9 @@ gtk_widget_connect_frame_clock (GtkWidget *widget, { GtkWidgetPrivate *priv = widget->priv; + if (GTK_IS_CONTAINER (widget)) + _gtk_container_maybe_start_idle_sizer (GTK_CONTAINER (widget)); + if (priv->tick_callbacks != NULL) { g_signal_connect (frame_clock, "update", @@ -4713,6 +4716,9 @@ gtk_widget_disconnect_frame_clock (GtkWidget *widget, { GtkWidgetPrivate *priv = widget->priv; + if (GTK_IS_CONTAINER (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, @@ -4802,9 +4808,6 @@ gtk_widget_realize (GtkWidget *widget) _gtk_widget_enable_device_events (widget); gtk_widget_update_devices_mask (widget, TRUE); - if (GTK_IS_CONTAINER (widget)) - _gtk_container_maybe_start_idle_sizer (GTK_CONTAINER (widget)); - gtk_widget_connect_frame_clock (widget, gtk_widget_get_frame_clock (widget)); |