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
This commit is contained in:
Cody Russell
2008-01-10 20:58:40 +00:00
committed by Cody Russell
parent adad4cf884
commit 4dc47ed700
2 changed files with 9 additions and 0 deletions

View File

@ -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),

View File

@ -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