Merge lp:~townsend/unity/fix-lp1240595-7.1 into lp:unity/7.1

Proposed by Christopher Townsend on 2013-10-29
Status: Merged
Approved by: Marco Trevisan (Treviño) on 2013-10-30
Approved revision: 3572
Merged at revision: 3574
Proposed branch: lp:~townsend/unity/fix-lp1240595-7.1
Merge into: lp:unity/7.1
Diff against target: 55 lines (+14/-0)
4 files modified
launcher/Launcher.cpp (+5/-0)
launcher/Launcher.h (+2/-0)
panel/PanelView.cpp (+5/-0)
panel/PanelView.h (+2/-0)
To merge this branch: bzr merge lp:~townsend/unity/fix-lp1240595-7.1
Reviewer Review Type Date Requested Status
PS Jenkins bot (community) continuous-integration Approve on 2013-11-19
Marco Trevisan (Treviño) 2013-10-29 Approve on 2013-10-30
Review via email: mp+193103@code.launchpad.net

Commit message

Instead of using NeedSoftRedraw(), use QueueDraw() for the Launcher and Panel to force a redraw to fix issue where leaving a full screen unredirected window would not redraw the Launcher and Panel. Backport of lp:unity rev. 3585.

Description of the change

= Issue =
When exiting an unredirected window, the Launcher and Panel would not redraw most of the time.

= Fix =
For the Launcher and Panel views, override the call to NeedSoftRedraw() to call QueueDraw() instead which forces the Launcher and Panel to redraw.

Note: This is a backport of lp:unity rev. 3585.

To post a comment you must log in.
review: Approve
review: Approve (continuous-integration)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'launcher/Launcher.cpp'
2--- launcher/Launcher.cpp 2013-10-04 03:55:52 +0000
3+++ launcher/Launcher.cpp 2013-10-29 17:13:35 +0000
4@@ -2494,6 +2494,11 @@
5 unity::graphics::PopOffscreenRenderTarget();
6 }
7
8+void Launcher::NeedSoftRedraw()
9+{
10+ QueueDraw();
11+}
12+
13 #ifdef NUX_GESTURES_SUPPORT
14 nux::GestureDeliveryRequest Launcher::GestureEvent(const nux::GestureEvent &event)
15 {
16
17=== modified file 'launcher/Launcher.h'
18--- launcher/Launcher.h 2013-09-30 15:08:09 +0000
19+++ launcher/Launcher.h 2013-10-29 17:13:35 +0000
20@@ -154,6 +154,8 @@
21
22 void RenderIconToTexture(nux::GraphicsEngine&, nux::ObjectPtr<nux::IOpenGLBaseTexture> const&, AbstractLauncherIcon::Ptr const&);
23
24+ void NeedSoftRedraw() override;
25+
26 #ifdef NUX_GESTURES_SUPPORT
27 virtual nux::GestureDeliveryRequest GestureEvent(const nux::GestureEvent &event);
28 #endif
29
30=== modified file 'panel/PanelView.cpp'
31--- panel/PanelView.cpp 2013-09-24 20:18:42 +0000
32+++ panel/PanelView.cpp 2013-10-29 17:13:35 +0000
33@@ -787,4 +787,9 @@
34 return ui::EdgeBarrierSubscriber::Result::NEEDS_RELEASE;
35 }
36
37+void PanelView::NeedSoftRedraw()
38+{
39+ QueueDraw();
40+}
41+
42 } // namespace unity
43
44=== modified file 'panel/PanelView.h'
45--- panel/PanelView.h 2013-09-24 20:18:42 +0000
46+++ panel/PanelView.h 2013-10-29 17:13:35 +0000
47@@ -78,6 +78,8 @@
48
49 ui::EdgeBarrierSubscriber::Result HandleBarrierEvent(ui::PointerBarrierWrapper* owner, ui::BarrierEvent::Ptr event) override;
50
51+ void NeedSoftRedraw() override;
52+
53 protected:
54 void Draw(nux::GraphicsEngine& GfxContext, bool force_draw);
55 void DrawContent(nux::GraphicsEngine& GfxContext, bool force_draw);

Subscribers

People subscribed via source and target branches