gtkwidget: Do a type-check in gtk_widget_in_destruction()
authorMarco Trevisan (Treviño) <mail@3v1n0.net>
Fri, 24 Mar 2023 02:29:53 +0000 (03:29 +0100)
committerMarco Trevisan (Treviño) <mail@3v1n0.net>
Fri, 24 Mar 2023 02:31:07 +0000 (03:31 +0100)
Given it can be called during a widget destruction, it's safer to do a
type-check before crashing.

See: https://gitlab.gnome.org/GNOME/gnome-control-center/-/merge_requests/1727

gtk/gtkwidget.c

index eaf7f04d11e69c4d8bbe4358c8b64290df2dd174..531b0f4314d7e066a54bf87cb33fb102062dac41 100644 (file)
@@ -10638,7 +10638,11 @@ gtk_widget_set_has_focus (GtkWidget *widget,
 gboolean
 gtk_widget_in_destruction (GtkWidget *widget)
 {
-  GtkWidgetPrivate *priv = gtk_widget_get_instance_private (widget);
+  GtkWidgetPrivate *priv;
+
+  g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE);
+
+  priv = gtk_widget_get_instance_private (widget);
 
   return priv->in_destruction;
 }