[gtk+/gtk-2-24] Check if buffer is NULL after setting it to NULL, not before.



commit bb8e1c67c6e9b20a4a13d5d95a8d809d260e31e1
Author: Matthias Clasen <mclasen redhat com>
Date:   Sat Jan 29 22:40:41 2011 -0500

    Check if buffer is NULL after setting it to NULL, not before.
    
    This catches cases when "notify::buffer" handler does not recreate
    the buffer again, which could end in reference leak.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=634677
    (cherry picked from commit d688343a31dbe67f34228b998bbb753584d8d2e9)

 gtk/gtktextview.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)
---
diff --git a/gtk/gtktextview.c b/gtk/gtktextview.c
index 2d1a20b..42903b5 100644
--- a/gtk/gtktextview.c
+++ b/gtk/gtktextview.c
@@ -2923,10 +2923,11 @@ gtk_text_view_finalize (GObject *object)
   text_view = GTK_TEXT_VIEW (object);
   priv = GTK_TEXT_VIEW_GET_PRIVATE (text_view);
 
-  g_assert (text_view->buffer == NULL);
-
   gtk_text_view_destroy_layout (text_view);
   gtk_text_view_set_buffer (text_view, NULL);
+
+  /* at this point, no "notify::buffer" handler should recreate the buffer. */
+  g_assert (priv->buffer == NULL);
   
   cancel_pending_scroll (text_view);
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]