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)
committerMatthias Clasen <mclasen@redhat.com>
Fri, 21 Apr 2023 06:34:47 +0000 (08:34 +0200)
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 123bf17745dd0055fd7e1e6838a50c2dc4e0e19e..2f510650a014e45796faa9c90864cce2170789e4 100644 (file)
@@ -10635,7 +10635,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;
 }