widget: Not all toplevels are containers
authorBenjamin Otte <otte@redhat.com>
Wed, 11 Apr 2018 02:04:37 +0000 (04:04 +0200)
committerBenjamin Otte <otte@redhat.com>
Wed, 11 Apr 2018 02:04:37 +0000 (04:04 +0200)
Guard against GtkInvisible.

gtk/gtkwidget.c

index 9bfbffa95eadbcac3da896433eb757f780068c85..8a96707b4b81894e2b7db433ec5d36ff5e1e0ccd 100644 (file)
@@ -3694,7 +3694,7 @@ gtk_widget_connect_frame_clock (GtkWidget *widget)
   GtkWidgetPrivate *priv = widget->priv;
   GdkFrameClock *frame_clock;
 
-  if (_gtk_widget_is_toplevel (widget))
+  if (GTK_IS_CONTAINER (widget) && _gtk_widget_is_toplevel (widget))
     gtk_container_start_idle_sizer (GTK_CONTAINER (widget));
 
   frame_clock = gtk_widget_get_frame_clock (widget);
@@ -3718,7 +3718,7 @@ gtk_widget_disconnect_frame_clock (GtkWidget *widget)
 {
   GtkWidgetPrivate *priv = widget->priv;
 
-  if (_gtk_widget_is_toplevel (widget))
+  if (GTK_IS_CONTAINER (widget) && _gtk_widget_is_toplevel (widget))
     gtk_container_stop_idle_sizer (GTK_CONTAINER (widget));
 
   gtk_css_node_invalidate_frame_clock (priv->cssnode, FALSE);