gdkwindow: Don't enforce a native window for a custom visual

In the ancient X days you could have Xservers that had multiple active windows, like
one truecolor and one 8bit palette. Then most apps ran in 8bpp but a single window
would use truecolor. This is done by specifying different visuals for the windows.

To make this work we ensured that a window with a visual different from its parent
gets a native subwindow, so that X can tell the hardware to do its magic.

These days the only real time we get two different visual is when one is a rgba visual
and the other is not. So, the code to check this doesn't really do anything but
get in the way when someone accidentally manages to not get a rgba visual on
a child window (see bb7054b508). So, to avoid
such errors we just remove the "different visual than parent" check.
This commit is contained in:
Alexander Larsson 2013-05-08 15:57:58 +02:00
parent bb7054b508
commit 63a35b6f9c

View File

@ -1361,10 +1361,6 @@ gdk_window_new (GdkWindow *parent,
native = FALSE;
if (window->parent->window_type == GDK_WINDOW_ROOT)
native = TRUE; /* Always use native windows for toplevels */
else if (!window->input_only &&
(attributes_mask & GDK_WA_VISUAL &&
attributes->visual != gdk_window_get_visual (window->parent)))
native = TRUE; /* InputOutput window with different visual than parent, needs native window */
if (gdk_window_is_offscreen (window))
{