Blob Blame History Raw
From ec74bb9607f5187f8fda37dba1882efe1693e24f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
Date: Fri, 12 May 2017 13:40:31 +0200
Subject: [PATCH] window-actor: Special-case shaped Java windows

OpenJDK wrongly assumes that shaping a window implies no shadows.
They got lucky until commit b975676c changed the fallback case,
but now their compliance tests are broken. Make them happy again
by special-casing shaped Java windows.
---
 src/compositor/meta-window-actor.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/src/compositor/meta-window-actor.c b/src/compositor/meta-window-actor.c
index 381d3ea85..b67fb3ce1 100644
--- a/src/compositor/meta-window-actor.c
+++ b/src/compositor/meta-window-actor.c
@@ -865,6 +865,14 @@ meta_window_actor_has_shadow (MetaWindowActor *self)
   if (priv->window->has_custom_frame_extents)
     return FALSE;
 
+  /*
+   * OpenJDK wrongly assumes that shaping a window implies no compositor
+   * shadows; make its compliance tests happy to give it what it wants ...
+   */
+  if (g_strcmp0 (priv->window->res_name, "sun-awt-X11-XWindowPeer") == 0 &&
+      priv->window->shape_region != NULL)
+    return FALSE;
+
   /*
    * Generate shadows for all other windows.
    */
-- 
2.20.1