Fix CSD check for Win32

Win32 does not have alpha channel currently ; fix the check
for this, so trying to enable CSDs on this platform will
not "succeed" and crash the app anymore.

Partially fixes gtk3-widget-factory.
This commit is contained in:
Manuel Bachmann 2013-11-27 11:14:16 +01:00
parent c13c741143
commit e45ea70936

View File

@ -61,6 +61,10 @@
#include "x11/gdkx.h"
#endif
#ifdef GDK_WINDOWING_WIN32
#include "win32/gdkwin32.h"
#endif
#ifdef GDK_WINDOWING_WAYLAND
#include "wayland/gdkwayland.h"
#endif
@ -3507,6 +3511,21 @@ gdk_window_supports_csd (GtkWindow *window)
}
#endif
#ifdef GDK_WINDOWING_WIN32
if (GDK_IS_WIN32_DISPLAY (gtk_widget_get_display (widget)))
{
GdkScreen *screen;
GdkVisual *visual;
screen = gtk_widget_get_screen (widget);
/* We need a visual with alpha */
visual = gdk_screen_get_rgba_visual (screen);
if (!visual)
return FALSE;
}
#endif
return TRUE;
}