Blob Blame History Raw
From 9efcc35102b4c41265e93461b35a1193b3d5822d 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-x11.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/src/compositor/meta-window-actor-x11.c b/src/compositor/meta-window-actor-x11.c
index b7032e0ba..b05d5e158 100644
--- a/src/compositor/meta-window-actor-x11.c
+++ b/src/compositor/meta-window-actor-x11.c
@@ -528,6 +528,14 @@ has_shadow (MetaWindowActorX11 *actor_x11)
    */
   if (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 (window->res_name, "sun-awt-X11-XWindowPeer") == 0 &&
+      window->shape_region != NULL)
+    return FALSE;
 
   /*
    * Generate shadows for all other windows.
-- 
2.23.0