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

Proposed by Christopher Townsend
Status: Merged
Approved by: Marco Trevisan (Treviño)
Approved revision: no longer in the source branch.
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
Marco Trevisan (Treviño) Approve
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.
Revision history for this message
Marco Trevisan (Treviño) (3v1n0) :
review: Approve
Revision history for this message
PS Jenkins bot (ps-jenkins) :
review: Approve (continuous-integration)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'launcher/Launcher.cpp'
--- launcher/Launcher.cpp 2013-10-04 03:55:52 +0000
+++ launcher/Launcher.cpp 2013-10-29 17:13:35 +0000
@@ -2494,6 +2494,11 @@
2494 unity::graphics::PopOffscreenRenderTarget();2494 unity::graphics::PopOffscreenRenderTarget();
2495}2495}
24962496
2497void Launcher::NeedSoftRedraw()
2498{
2499 QueueDraw();
2500}
2501
2497#ifdef NUX_GESTURES_SUPPORT2502#ifdef NUX_GESTURES_SUPPORT
2498nux::GestureDeliveryRequest Launcher::GestureEvent(const nux::GestureEvent &event)2503nux::GestureDeliveryRequest Launcher::GestureEvent(const nux::GestureEvent &event)
2499{2504{
25002505
=== modified file 'launcher/Launcher.h'
--- launcher/Launcher.h 2013-09-30 15:08:09 +0000
+++ launcher/Launcher.h 2013-10-29 17:13:35 +0000
@@ -154,6 +154,8 @@
154154
155 void RenderIconToTexture(nux::GraphicsEngine&, nux::ObjectPtr<nux::IOpenGLBaseTexture> const&, AbstractLauncherIcon::Ptr const&);155 void RenderIconToTexture(nux::GraphicsEngine&, nux::ObjectPtr<nux::IOpenGLBaseTexture> const&, AbstractLauncherIcon::Ptr const&);
156156
157 void NeedSoftRedraw() override;
158
157#ifdef NUX_GESTURES_SUPPORT159#ifdef NUX_GESTURES_SUPPORT
158 virtual nux::GestureDeliveryRequest GestureEvent(const nux::GestureEvent &event);160 virtual nux::GestureDeliveryRequest GestureEvent(const nux::GestureEvent &event);
159#endif161#endif
160162
=== modified file 'panel/PanelView.cpp'
--- panel/PanelView.cpp 2013-09-24 20:18:42 +0000
+++ panel/PanelView.cpp 2013-10-29 17:13:35 +0000
@@ -787,4 +787,9 @@
787 return ui::EdgeBarrierSubscriber::Result::NEEDS_RELEASE;787 return ui::EdgeBarrierSubscriber::Result::NEEDS_RELEASE;
788}788}
789789
790void PanelView::NeedSoftRedraw()
791{
792 QueueDraw();
793}
794
790} // namespace unity795} // namespace unity
791796
=== modified file 'panel/PanelView.h'
--- panel/PanelView.h 2013-09-24 20:18:42 +0000
+++ panel/PanelView.h 2013-10-29 17:13:35 +0000
@@ -78,6 +78,8 @@
7878
79 ui::EdgeBarrierSubscriber::Result HandleBarrierEvent(ui::PointerBarrierWrapper* owner, ui::BarrierEvent::Ptr event) override;79 ui::EdgeBarrierSubscriber::Result HandleBarrierEvent(ui::PointerBarrierWrapper* owner, ui::BarrierEvent::Ptr event) override;
8080
81 void NeedSoftRedraw() override;
82
81protected:83protected:
82 void Draw(nux::GraphicsEngine& GfxContext, bool force_draw);84 void Draw(nux::GraphicsEngine& GfxContext, bool force_draw);
83 void DrawContent(nux::GraphicsEngine& GfxContext, bool force_draw);85 void DrawContent(nux::GraphicsEngine& GfxContext, bool force_draw);

Subscribers

People subscribed via source and target branches