Screen-saver fade-to-black does not cover entire screen on HiDPI
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Unity |
Fix Released
|
Medium
|
Andrea Azzarone | ||
7.2 |
Fix Released
|
Medium
|
Andrea Azzarone | ||
unity (Ubuntu) |
Fix Released
|
Medium
|
Andrea Azzarone | ||
Trusty |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
[ Impact ]
When display scaling is set to 2x or greater the fade-to-black animation when the screen saver is invoked covers only a fraction of the screen.
[ Test Case ]
Requires a display with 2x UI scaling (works best with a high-DPI display).
The fade-to-black which occurs prior to the screen shutting off only covers the top left quarter of the screen.
When scaling is set to 1x, the entire screen fades to black.
[ Regression Potential ]
An invalid scaling calculation (or rounding error) could result in writing outside the screen buffer bounds with resulting unknown impact. Inpspection and code review shows this not to be the case wit this patch.
[ Other Info ]
The Ubuntu 14.04 LTS SRU was cherry-picked from upstream Unity where it has been in production use in Ubuntu 'Vivid Vervet' for some time and has not shown ergressions.
Related branches
- PS Jenkins bot (community): Approve (continuous-integration)
- Marco Trevisan (Treviño): Approve
-
Diff: 55 lines (+20/-16)1 file modifiedunity-shared/UScreen.cpp (+20/-16)
- Marco Trevisan (Treviño): Approve
-
Diff: 6023 lines (+2168/-709)105 files modifiedCMakeLists.txt (+1/-0)
UnityCore/DBusIndicators.cpp (+11/-0)
UnityCore/DBusIndicators.h (+1/-0)
UnityCore/DesktopUtilities.cpp (+12/-0)
UnityCore/DesktopUtilities.h (+1/-0)
UnityCore/GLibDBusProxy.cpp (+100/-3)
UnityCore/GLibDBusProxy.h (+6/-0)
UnityCore/GLibWrapper-inl.h (+12/-0)
UnityCore/GLibWrapper.h (+1/-0)
UnityCore/GnomeSessionManager.cpp (+0/-1)
UnityCore/Indicators.h (+1/-0)
dash/FilterBasicButton.cpp (+6/-3)
dash/previews/ActionButton.cpp (+5/-2)
dash/previews/ErrorPreview.cpp (+1/-0)
dash/previews/PaymentPreview.cpp (+3/-1)
data/CMakeLists.txt (+1/-0)
data/pam/CMakeLists.txt (+1/-0)
data/pam/unity (+2/-0)
debian/changelog (+59/-0)
debian/rules (+1/-1)
debian/unity.install (+1/-0)
debian/unity.migrations (+1/-0)
decorations/DecoratedWindow.cpp (+155/-64)
decorations/DecorationsEdgeBorders.cpp (+32/-19)
decorations/DecorationsForceQuitDialog.cpp (+17/-3)
decorations/DecorationsManager.cpp (+17/-26)
decorations/DecorationsPriv.h (+12/-3)
decorations/DecorationsTitle.cpp (+1/-0)
decorations/DecorationsWidgets.cpp (+13/-1)
decorations/DecorationsWidgets.h (+5/-0)
doc/unity.1 (+35/-10)
hud/HudIconTextureSource.cpp (+0/-5)
hud/HudIconTextureSource.h (+0/-1)
launcher/ApplicationLauncherIcon.cpp (+2/-0)
launcher/DesktopLauncherIcon.cpp (+13/-1)
launcher/DesktopLauncherIcon.h (+2/-0)
launcher/Launcher.cpp (+1/-3)
launcher/LauncherIcon.cpp (+117/-104)
launcher/LauncherIcon.h (+12/-8)
launcher/MockLauncherIcon.h (+0/-5)
launcher/SwitcherView.cpp (+9/-1)
launcher/Tooltip.cpp (+5/-4)
lockscreen/BackgroundSettings.cpp (+13/-11)
lockscreen/BackgroundSettings.h (+0/-1)
lockscreen/CMakeLists.txt (+2/-0)
lockscreen/CofView.cpp (+15/-2)
lockscreen/CofView.h (+3/-1)
lockscreen/LockScreenAbstractShield.h (+14/-1)
lockscreen/LockScreenController.cpp (+54/-14)
lockscreen/LockScreenController.h (+12/-3)
lockscreen/LockScreenPanel.cpp (+31/-2)
lockscreen/LockScreenSettings.cpp (+2/-0)
lockscreen/LockScreenSettings.h (+2/-1)
lockscreen/LockScreenShield.cpp (+60/-29)
lockscreen/LockScreenShield.h (+10/-3)
lockscreen/LockScreenShieldFactory.cpp (+7/-2)
lockscreen/LockScreenShieldFactory.h (+12/-2)
lockscreen/ShutdownNotifier.cpp (+152/-0)
lockscreen/ShutdownNotifier.h (+51/-0)
lockscreen/SuspendNotifier.cpp (+153/-0)
lockscreen/SuspendNotifier.h (+51/-0)
lockscreen/UserAuthenticatorPam.cpp (+1/-2)
lockscreen/UserPromptView.cpp (+96/-17)
lockscreen/UserPromptView.h (+5/-4)
panel/PanelIndicatorEntryView.cpp (+1/-1)
panel/PanelMenuView.cpp (+83/-38)
panel/PanelMenuView.h (+1/-1)
plugins/unityshell/src/unityshell.cpp (+29/-35)
plugins/unityshell/src/unityshell.h (+2/-2)
services/panel-main.c (+8/-0)
services/panel-service.c (+15/-0)
services/panel-service.h (+2/-0)
tests/CMakeLists.txt (+1/-1)
tests/mock_indicators.h (+1/-0)
tests/test_lockscreen_controller.cpp (+10/-2)
tests/test_main_xless.cpp (+4/-5)
tests/test_previews_music_payment.cpp (+1/-0)
tests/test_text_input.cpp (+1/-0)
tools/migration-scripts/03_unity_first_run_stamp_move (+35/-0)
unity-shared/CompizUtils.cpp (+77/-58)
unity-shared/CompizUtils.h (+36/-5)
unity-shared/DashStyle.cpp (+8/-11)
unity-shared/DecorationStyle.cpp (+2/-2)
unity-shared/GnomeKeyGrabber.cpp (+9/-0)
unity-shared/IconRenderer.cpp (+73/-43)
unity-shared/IconRenderer.h (+0/-2)
unity-shared/IconTexture.cpp (+1/-1)
unity-shared/IconTextureSource.cpp (+37/-1)
unity-shared/IconTextureSource.h (+10/-4)
unity-shared/LayoutSystem.cpp (+28/-4)
unity-shared/LayoutSystem.h (+2/-1)
unity-shared/PluginAdapter.cpp (+39/-2)
unity-shared/PluginAdapter.h (+3/-0)
unity-shared/SearchBar.cpp (+18/-12)
unity-shared/SearchBar.h (+9/-9)
unity-shared/SearchBarSpinner.h (+0/-2)
unity-shared/SpreadFilter.cpp (+3/-1)
unity-shared/StandaloneWindowManager.h (+2/-0)
unity-shared/TextInput.cpp (+138/-76)
unity-shared/TextInput.h (+17/-19)
unity-shared/UScreen.cpp (+26/-4)
unity-shared/UScreen.h (+0/-1)
unity-shared/UnitySettings.cpp (+9/-1)
unity-shared/WindowManager.h (+5/-0)
unity-shared/XWindowManager.cpp (+1/-1)
tags: | added: hidpi lockscreen |
Changed in unity: | |
status: | New → Confirmed |
Changed in unity (Ubuntu): | |
status: | New → Confirmed |
Changed in unity: | |
importance: | Undecided → Medium |
assignee: | nobody → Andrea Azzarone (andyrock) |
Changed in unity: | |
status: | Confirmed → In Progress |
Changed in unity (Ubuntu): | |
status: | Confirmed → In Progress |
Changed in unity: | |
milestone: | none → 7.3.1 |
Changed in unity (Ubuntu): | |
importance: | Undecided → Medium |
assignee: | nobody → Andrea Azzarone (andyrock) |
Changed in unity: | |
status: | In Progress → Fix Committed |
description: | updated |
tags: | removed: ubuntu |
Changed in unity: | |
status: | Fix Committed → Fix Released |
tags: | added: rls-w-incoming |
This bug was fixed in the package unity - 7.3.1+15. 04.20141128- 0ubuntu1
--------------- 15.04.20141128- 0ubuntu1) vivid; urgency=low
unity (7.3.1+
[ Andrea Azzarone ]
* Unmap all windows during shutdown. (LP: #1370017, #1375271)
* Make sure GetScreenGeometry returns the correct value. (LP:
#1374785)
[ Marco Trevisan (Treviño) ]
* Decorated Window: still paint decorations if on transformated
windows in different workspaces (LP: #1383468)
* DecoratedWindow: make sure we always set a _NET_FRAME_EXTENTS for
windows that requested it
* 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: #1384958, #1384910, #1385285)
* PanelService: inject special key events back to the root window when
a menu is opened
* PanelService: use gdbus to notfy upstart of service start/stop
-- Ubuntu daily release <email address hidden> Fri, 28 Nov 2014 12:56:28 +0000