[gimp] app: remove all docks from GimpImageWindow in dispose()
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] app: remove all docks from GimpImageWindow in dispose()
- Date: Sun, 12 Feb 2012 23:13:04 +0000 (UTC)
commit b3c8cbd5a53516994fe0e661f092fff6902edc97
Author: Michael Natterer <mitch gimp org>
Date: Mon Feb 13 00:11:23 2012 +0100
app: remove all docks from GimpImageWindow in dispose()
Seems to fix irregularly occuring warnings on exit about dialogs
being still around.
app/display/gimpimagewindow.c | 33 +++++++++++++++++++++++++++------
1 files changed, 27 insertions(+), 6 deletions(-)
---
diff --git a/app/display/gimpimagewindow.c b/app/display/gimpimagewindow.c
index 555f7d6..eece01e 100644
--- a/app/display/gimpimagewindow.c
+++ b/app/display/gimpimagewindow.c
@@ -426,6 +426,21 @@ gimp_image_window_constructed (GObject *object)
}
static void
+gimp_image_window_clear_docks (GimpDockColumns *columns)
+{
+ GList *docks;
+
+ do
+ {
+ docks = gimp_dock_columns_get_docks (columns);
+
+ if (docks)
+ gimp_dock_columns_remove_dock (columns, docks->data);
+ }
+ while (docks);
+}
+
+static void
gimp_image_window_dispose (GObject *object)
{
GimpImageWindowPrivate *private = GIMP_IMAGE_WINDOW_GET_PRIVATE (object);
@@ -444,6 +459,18 @@ gimp_image_window_dispose (GObject *object)
private->menubar_manager = NULL;
}
+ if (private->left_docks)
+ {
+ gimp_image_window_clear_docks (GIMP_DOCK_COLUMNS (private->left_docks));
+ private->left_docks = NULL;
+ }
+
+ if (private->right_docks)
+ {
+ gimp_image_window_clear_docks (GIMP_DOCK_COLUMNS (private->right_docks));
+ private->right_docks = NULL;
+ }
+
G_OBJECT_CLASS (parent_class)->dispose (object);
}
@@ -452,12 +479,6 @@ gimp_image_window_finalize (GObject *object)
{
GimpImageWindowPrivate *private = GIMP_IMAGE_WINDOW_GET_PRIVATE (object);
- if (private->menubar_manager)
- {
- g_object_unref (private->menubar_manager);
- private->menubar_manager = NULL;
- }
-
if (private->shells)
{
g_list_free (private->shells);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]