Index: gedit-window.c =================================================================== RCS file: /cvs/gnome/gedit/gedit/gedit-window.c,v retrieving revision 1.10 diff -u -r1.10 gedit-window.c --- gedit-window.c 3 Jan 2006 17:19:10 -0000 1.10 +++ gedit-window.c 3 Jan 2006 17:35:59 -0000 @@ -62,6 +62,10 @@ #include "recent-files/egg-recent-view-gtk.h" #include "recent-files/egg-recent-view-uimanager.h" +#ifdef ENABLE_PYTHON +#include +#endif + #define GEDIT_WINDOW_GET_PRIVATE(object)(G_TYPE_INSTANCE_GET_PRIVATE ((object),\ GEDIT_TYPE_WINDOW, \ GeditWindowPrivate)) @@ -165,6 +169,12 @@ g_object_unref (window->priv->recent_view_uim); window->priv->recent_view_uim = NULL; } + + #ifdef ENABLE_PYTHON + while (PyGC_Collect ()) + ; + #endif + GTK_OBJECT_CLASS (gedit_window_parent_class)->destroy (object); } @@ -234,11 +244,23 @@ } static void +gedit_window_tab_removed (GeditWindow *window, + GeditTab *tab) +{ + #ifdef ENABLE_PYTHON + while (PyGC_Collect ()) + ; + #endif +} + +static void gedit_window_class_init (GeditWindowClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkObjectClass *gobject_class = GTK_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); + + klass->tab_removed = gedit_window_tab_removed; object_class->finalize = gedit_window_finalize; object_class->get_property = gedit_window_get_property;