diff --git a/src/window.c b/src/window.c index 57845579f..20bfeac94 100644 --- a/src/window.c +++ b/src/window.c @@ -258,7 +258,7 @@ void glfwDefaultWindowHints(void) _glfw.hints.framebuffer.redBits = 8; _glfw.hints.framebuffer.greenBits = 8; _glfw.hints.framebuffer.blueBits = 8; - _glfw.hints.framebuffer.alphaBits = 8; + _glfw.hints.framebuffer.alphaBits = 0; _glfw.hints.framebuffer.depthBits = 24; _glfw.hints.framebuffer.stencilBits = 8; _glfw.hints.framebuffer.doublebuffer = GLFW_TRUE; diff --git a/src/wl_window.c b/src/wl_window.c index caa51d3a9..b7478b723 100644 --- a/src/wl_window.c +++ b/src/wl_window.c @@ -178,6 +178,12 @@ static const struct wl_surface_listener surfaceListener = { static void setOpaqueRegion(_GLFWwindow* window) { struct wl_region* region; + int alphaBits; + + eglGetConfigAttrib(_glfw.egl.display, window->context.egl.config, + EGL_ALPHA_SIZE, &alphaBits); + if (alphaBits > 0) + return; region = wl_compositor_create_region(_glfw.wl.compositor); if (!region)