diff options
author | Cody Russell <bratsche@gnome.org> | 2008-01-10 20:58:40 +0000 |
---|---|---|
committer | Cody Russell <bratsche@src.gnome.org> | 2008-01-10 20:58:40 +0000 |
commit | 4dc47ed7005834de5af42e26987edb703b788506 (patch) | |
tree | c0e7c17086275fbc274631592f04e05ac5d59423 | |
parent | adad4cf884828ab5e692118c17c33f5b4bc14213 (diff) | |
download | gtk+-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-- | ChangeLog | 5 | ||||
-rw-r--r-- | gdk/win32/gdkwindow-win32.c | 4 |
2 files changed, 9 insertions, 0 deletions
@@ -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 |