gdk: Remove overeager checks

Parent is guaranteed to not be NULL. It can only ever be NULL for root
windows and root windows cannot be created with gdk_window_new() and
gdk_window_ensure_native() will exit early because they already are
native.

Also, both functions would crash a few lines below where parent gets
dereferenced.
This commit is contained in:
Benjamin Otte 2014-10-05 11:18:15 +02:00
parent 3526f2081b
commit 66be6a018c

View File

@ -1335,8 +1335,7 @@ gdk_window_new (GdkWindow *parent,
window->input_only = TRUE;
}
if (window->parent)
window->parent->children = g_list_prepend (window->parent->children, window);
window->parent->children = g_list_prepend (window->parent->children, window);
if (window->parent->window_type == GDK_WINDOW_ROOT)
{
@ -1362,8 +1361,7 @@ gdk_window_new (GdkWindow *parent,
_gdk_display_create_window_impl (display, window, real_parent, screen, event_mask, attributes, attributes_mask);
window->impl_window = window;
if (parent)
parent->impl_window->native_children = g_list_prepend (parent->impl_window->native_children, window);
parent->impl_window->native_children = g_list_prepend (parent->impl_window->native_children, window);
/* This will put the native window topmost in the native parent, which may
* be wrong wrt other native windows in the non-native hierarchy, so restack */
@ -1712,9 +1710,8 @@ gdk_window_ensure_native (GdkWindow *window)
NULL, 0);
new_impl = window->impl;
if (parent)
parent->impl_window->native_children =
g_list_prepend (parent->impl_window->native_children, window);
parent->impl_window->native_children =
g_list_prepend (parent->impl_window->native_children, window);
window->impl = old_impl;
change_impl (window, window, new_impl);