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
This commit is contained in:
Krzesimir Nowak 2010-11-12 13:14:12 +01:00
parent 0e37b3e2b1
commit d688343a31

View File

@ -3031,10 +3031,11 @@ gtk_text_view_finalize (GObject *object)
text_view = GTK_TEXT_VIEW (object);
priv = text_view->priv;
g_assert (priv->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);