From 1f3328c096cf708d755fd6eb041b0e8663049ceb Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sat, 7 Mar 2015 17:48:11 -0500 Subject: [PATCH] Avoid calling g_object_ref on NULL gtk_widget_set_visual() allows NULL for the visual, so be careful ot to ref it unconditionally. --- gtk/gtkwidget.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 715105d9a7..d9c2a9c6fb 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -11445,7 +11445,7 @@ gtk_widget_get_ancestor (GtkWidget *widget, /** * gtk_widget_set_visual: * @widget: a #GtkWidget - * @visual: visual to be used or %NULL to unset a previous one + * @visual: (allow-none): visual to be used or %NULL to unset a previous one * * Sets the visual that should be used for by widget and its children for * creating #GdkWindows. The visual must be on the same #GdkScreen as @@ -11461,14 +11461,13 @@ gtk_widget_set_visual (GtkWidget *widget, { g_return_if_fail (GTK_IS_WIDGET (widget)); g_return_if_fail (visual == NULL || GDK_IS_VISUAL (visual)); + if (visual) - { - g_return_if_fail (gtk_widget_get_screen (widget) == gdk_visual_get_screen (visual)); - } + g_return_if_fail (gtk_widget_get_screen (widget) == gdk_visual_get_screen (visual)); g_object_set_qdata_full (G_OBJECT (widget), quark_visual, - g_object_ref (visual), + visual ? g_object_ref (visual) : NULL, g_object_unref); }