[gimp/gimp-2-8] Bug 679082: Crash after using Rotate tool
- From: Massimo Valentini <mvalentini src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp/gimp-2-8] Bug 679082: Crash after using Rotate tool
- Date: Sat, 30 Jun 2012 11:06:52 +0000 (UTC)
commit b874c8af1e7d06a0ca88459427aaaf0b037702b4
Author: Massimo Valentini <mvalentini src gnome org>
Date: Sat Jun 30 13:05:55 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 71181ea..17edad4 100644
--- a/app/display/gimptooldialog.c
+++ b/app/display/gimptooldialog.c
@@ -53,10 +53,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));
}
@@ -137,6 +153,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);
@@ -153,6 +171,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]