summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCody Russell <bratsche@gnome.org>2008-01-10 20:58:40 +0000
committerCody Russell <bratsche@src.gnome.org>2008-01-10 20:58:40 +0000
commit4dc47ed7005834de5af42e26987edb703b788506 (patch)
treec0e7c17086275fbc274631592f04e05ac5d59423
parentadad4cf884828ab5e692118c17c33f5b4bc14213 (diff)
downloadgtk+-4dc47ed7005834de5af42e26987edb703b788506.tar.gz
Properly ref/unref windows and parents. (#506769)
2008-01-10 Cody Russell <bratsche@gnome.org> * gdk/win32/gdkwindow-win32.c: (gdk_window_set_transient_for), Properly ref/unref windows and parents. (#506769) svn path=/trunk/; revision=19344
-rw-r--r--ChangeLog5
-rw-r--r--gdk/win32/gdkwindow-win32.c4
2 files changed, 9 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 65ab438e91..d65d6d748f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2008-01-10 Cody Russell <bratsche@gnome.org>
+
+ * gdk/win32/gdkwindow-win32.c: (gdk_window_set_transient_for),
+ Properly ref/unref windows and parents. (#506769)
+
2008-01-10 Richard Hult <richard@imendio.com>
* gdk/quartz/gdkwindow-quartz.c: (show_window_internal),
diff --git a/gdk/win32/gdkwindow-win32.c b/gdk/win32/gdkwindow-win32.c
index 4fd8ce7a86..8f72780b56 100644
--- a/gdk/win32/gdkwindow-win32.c
+++ b/gdk/win32/gdkwindow-win32.c
@@ -1985,6 +1985,8 @@ gdk_window_set_transient_for (GdkWindow *window,
trans_impl->transient_children = NULL;
}
}
+ g_object_unref (G_OBJECT (window_impl->transient_owner));
+ g_object_unref (G_OBJECT (window));
window_impl->transient_owner = NULL;
}
@@ -1993,8 +1995,10 @@ gdk_window_set_transient_for (GdkWindow *window,
parent_impl = GDK_WINDOW_IMPL_WIN32 (GDK_WINDOW_OBJECT (parent)->impl);
parent_impl->transient_children = g_slist_append (parent_impl->transient_children, window);
+ g_object_ref (G_OBJECT (window));
parent_impl->num_transients++;
window_impl->transient_owner = parent;
+ g_object_ref (G_OBJECT (parent));
}
/* This changes the *owner* of the window, despite the misleading