[gimp/metadata-browser] Bug 679082: Crash after using Rotate tool
- From: Roman Joost <romanofski src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp/metadata-browser] Bug 679082: Crash after using Rotate tool
- Date: Thu, 13 Sep 2012 00:27:02 +0000 (UTC)
commit 756759e065b77a7b280a70c1ffbdde993198566f
Author: Massimo Valentini <mvalentini src gnome org>
Date: Sat Jun 30 13:05:56 2012 +0200
Bug 679082: Crash after using Rotate tool
app/display/gimptooldialog.c | 20 ++++++++++++++++++++
1 files changed, 20 insertions(+), 0 deletions(-)
---
diff --git a/app/display/gimptooldialog.c b/app/display/gimptooldialog.c
index f31b301..6576fbb 100644
--- a/app/display/gimptooldialog.c
+++ b/app/display/gimptooldialog.c
@@ -54,10 +54,26 @@ static void gimp_tool_dialog_shell_unmap (GimpDisplayShell *shell,
G_DEFINE_TYPE (GimpToolDialog, gimp_tool_dialog, GIMP_TYPE_VIEWABLE_DIALOG)
+static void
+gimp_tool_dialog_dispose (GObject *object)
+{
+ GimpToolDialogPrivate *private = GET_PRIVATE (object);
+
+ if (private->shell)
+ {
+ g_object_remove_weak_pointer (G_OBJECT (private->shell),
+ (gpointer) &private->shell);
+ private->shell = NULL;
+ }
+
+ G_OBJECT_CLASS (gimp_tool_dialog_parent_class)->dispose (object);
+}
static void
gimp_tool_dialog_class_init (GimpToolDialogClass *klass)
{
+ G_OBJECT_CLASS (klass)->dispose = gimp_tool_dialog_dispose;
+
g_type_class_add_private (klass, sizeof (GimpToolDialogPrivate));
}
@@ -138,6 +154,8 @@ gimp_tool_dialog_set_shell (GimpToolDialog *tool_dialog,
if (private->shell)
{
+ g_object_remove_weak_pointer (G_OBJECT (private->shell),
+ (gpointer) &private->shell);
g_signal_handlers_disconnect_by_func (private->shell,
gimp_tool_dialog_shell_unmap,
tool_dialog);
@@ -154,6 +172,8 @@ gimp_tool_dialog_set_shell (GimpToolDialog *tool_dialog,
G_CALLBACK (gimp_tool_dialog_shell_unmap),
tool_dialog, 0);
+ g_object_add_weak_pointer (G_OBJECT (private->shell),
+ (gpointer) &private->shell);
toplevel = gtk_widget_get_toplevel (GTK_WIDGET (shell));
gtk_window_set_transient_for (GTK_WINDOW (tool_dialog),
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]