Shadow applied inconsistently to windows that use XShape

Bug #1364225 reported by Jack Hou on 2014-09-02
16
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Unity
Fix Released
Medium
Marco Trevisan (Treviño)
7.2
Fix Released
Medium
Marco Trevisan (Treviño)
unity (Ubuntu)
Medium
Marco Trevisan (Treviño)
Trusty
Undecided
Unassigned

Bug Description

[ Impact ]

Non-standard windows of a non-rectangular shape end up with rectangular shadows drawn behind them by Unity.

It is better to have no shadow at all for these windows rather than an incorrect rectangular shadow.

[ Test Case ]

C code for a test case is attached to this bug. It needs to be compiled and run to demonstrate the problem and solution.

[ Regression Potential ]

Any code change to the Unity desktop shell could introduce a new crash or hang.

A possible regression in this particular fix is a lack of shadows when expected, or a non-standard non-rectangular window still having a shadow as before.

[ Additional Info ]

The Unity SRU fix for Ubuntu 14.04 LTS was cherry-picked from Ubuntu 14.10 where it has been in production use for some time without regression.

Related branches

lp:~3v1n0/unity/decoration-edges-improvements
PS Jenkins bot: Approve (continuous-integration) on 2014-10-10
Brandon Schaefer: Approve on 2014-10-01
lp:~unity-team/unity/7.2.4
Marco Trevisan (Treviño): Approve on 2014-12-17
Jack Hou (jackhou) wrote :
Jack Hou (jackhou) wrote :

Attached screenshot.

Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in unity (Ubuntu):
status: New → Confirmed

Thanks a lot for the test case, I'll look into this!

tags: added: decorations
tags: added: new-decorations
removed: decorations
Changed in unity:
status: New → Triaged
Changed in unity (Ubuntu):
status: Confirmed → Triaged

Mh, I've been giving a look to this, but while applying shadows in non-rectangular windows is something that is better to avoid (no WM does it AFAIK, and that case is preferred to leave that role to the apps).

So, at this point I'd go for not shadowing an app like that at all.

I've to mention btw, that other WMs (compiz trunk or metacity) added both decorations and shadows to a such window.

Changed in unity:
status: Triaged → In Progress
assignee: nobody → Marco Trevisan (Treviño) (3v1n0)
importance: Undecided → Medium
Changed in unity (Ubuntu):
importance: Undecided → Medium
assignee: nobody → Marco Trevisan (Treviño) (3v1n0)
Changed in unity:
milestone: none → 7.3.1
Changed in unity (Ubuntu):
status: Triaged → In Progress
Changed in unity:
status: In Progress → Fix Committed
Changed in unity (Ubuntu):
status: In Progress → Fix Released

Hello Jack, or anyone else affected,

Accepted unity into trusty-proposed. The package will build now and be available at http://launchpad.net/ubuntu/+source/unity/7.2.4+14.04.20141217-0ubuntu1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in unity (Ubuntu Trusty):
status: New → Fix Committed
tags: added: verification-needed

Tested with attached C code.

tags: added: verification-done
removed: verification-needed
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package unity - 7.2.4+14.04.20141217-0ubuntu1

---------------
unity (7.2.4+14.04.20141217-0ubuntu1) trusty; urgency=medium

  [ Andrea Azzarone ]
  * Share lockscreen password between screens (lp: #1308540)
  * Allow a distinct pam config file for greeter and for lock-screen.
    (lp: #1305440)
  * Add an arrow activator in the lockscreen. (lp: #1332509)
  * Make sure GetScreenGeometry returns the correct value (lp: #1374785).
  * unmapped all windows prior to shutdown (lp: #1370017) (lp: #1375271)

  [ Brandon Schaefer ]
  * fix tooltip for the "Show Desktop / Restore Windows" icon in the Alt-Tab
    switcher (lp: #1237132)
  * Use CONFIG instead of CACHE to store the first_run.stamp (lp: #1328677)

  [ Eleni Maria Stea ]
  * LayoutSystem: make sure the exposed open windows are displayed in the
    preserved order (lp: #1349281).

  [ handsome_feng ]
  * added support for getting the distro name from /etc/os-release
    (lp: #1329584)

  [ Iain Lane ]
  * When grabbing keys, try prefixing "XF86" if the key isn't found. GNOME
    gives us unprefixed keys sometimes (lp: #1302885).

  [ Marco Trevisan (Treviño) ]
  * make the Launcher icon count badge width depend on the text value width
    and scaling (lp: #1353070) (lp: #1354498) (lp: #796527) (lp: #1066971)
    (lp: #1361713)
  * DecoratedWindow: make edges independent from borders and properly update
    them on actions change (lp: #1276177), (lp: #1299741), (lp: #1301776),
    (lp: #1324104), (lp: #1364225), (lp: #1373695)
  * Lockscreen: scale the UI elements based on current monitor scaling
    (lp: #1292218)
  * UnityScreen: when filtering out windows in spread, make sure we unscale
    them (lp: #1316265).
  * PanelMenuView: ensure that proper window tiles and buttons are shown at
    the right place (lp: #1384910) (lp: #1384958) (lp: #1385285)
  * SearchBar, ActionButtons, IconRenderer: include the font scaling when
    scaling textual items (lp: #1332947) (lp: #1361751) (lp: #1362162)
    (lp: #1362346).
  * ApplicationLauncherIcon: make sure we close the dash if DnD is accepted
    and the application window is about to be focused (lp: #1350331).
  * SwitcherView: set progress on icon render args (lp: #1361679).
  * LockScreenController: wait for the primary shield to get the grab
    before setting the session locked (lp: #1368427) (lp: #1371764).
  * added decorations to windows in non-focused workspaces (lp: #1383468)

  [ Stephen M. Webb ]
  * updated the unity(1) manpage to match the actual command (lp: #1059275)
  * bumped package version to match upstream

  [ Marco Trevisan (Treviño) ]
  * Preparing for unity 7.2.4
 -- Ubuntu daily release <email address hidden> Wed, 17 Dec 2014 20:52:10 +0000

Changed in unity (Ubuntu Trusty):
status: Fix Committed → Fix Released

The verification of the Stable Release Update for unity has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

Stephen M. Webb (bregma) on 2015-02-11
Changed in unity:
status: Fix Committed → Fix Released
tags: added: rls-w-incoming
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers