Merge lp:~fboucault/unity-2d/more_soft_dep_on_unity2dapplication into lp:unity-2d/3.0

Proposed by Florian Boucault
Status: Merged
Approved by: Olivier Tilloy
Approved revision: 592
Merged at revision: 598
Proposed branch: lp:~fboucault/unity-2d/more_soft_dep_on_unity2dapplication
Merge into: lp:unity-2d/3.0
Diff against target: 51 lines (+12/-7)
3 files modified
libunity-2d-private/Unity2d/launcherapplicationslist.cpp (+0/-5)
libunity-2d-private/src/mousearea.cpp (+8/-1)
libunity-2d-private/src/unity2dapplication.cpp (+4/-1)
To merge this branch: bzr merge lp:~fboucault/unity-2d/more_soft_dep_on_unity2dapplication
Reviewer Review Type Date Requested Status
Olivier Tilloy (community) Approve
Ugo Riboni Pending
Review via email: mp+64292@code.launchpad.net

Description of the change

Prevent crash when using MouseArea and AbstractX11EventFilter without Unity2dApplication.
Remove duplicate code in LauncherApplicationsList: LauncherApplicationsList is a AbstractX11EventFilter.

To post a comment you must log in.
Revision history for this message
Olivier Tilloy (osomon) wrote :

Looks good, makes sense and doesn’t seem to introduce regressions.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'libunity-2d-private/Unity2d/launcherapplicationslist.cpp'
--- libunity-2d-private/Unity2d/launcherapplicationslist.cpp 2011-06-08 10:15:49 +0000
+++ libunity-2d-private/Unity2d/launcherapplicationslist.cpp 2011-06-11 10:52:33 +0000
@@ -167,11 +167,6 @@
167167
168LauncherApplicationsList::~LauncherApplicationsList()168LauncherApplicationsList::~LauncherApplicationsList()
169{169{
170 Unity2dApplication* application = Unity2dApplication::instance();
171 if (application != NULL) {
172 application->removeX11EventFilter(this);
173 }
174
175 sn_monitor_context_unref(m_snContext);170 sn_monitor_context_unref(m_snContext);
176 sn_display_unref(m_snDisplay);171 sn_display_unref(m_snDisplay);
177172
178173
=== modified file 'libunity-2d-private/src/mousearea.cpp'
--- libunity-2d-private/src/mousearea.cpp 2011-02-15 18:18:13 +0000
+++ libunity-2d-private/src/mousearea.cpp 2011-06-11 10:52:33 +0000
@@ -41,7 +41,14 @@
41: QObject(parent)41: QObject(parent)
42, d(new MouseAreaPrivate)42, d(new MouseAreaPrivate)
43{43{
44 Unity2dApplication::instance()->installX11EventFilter(this);44 Unity2dApplication* application = Unity2dApplication::instance();
45 if (application == NULL) {
46 /* This can happen for example when using qmlviewer */
47 UQ_WARNING << "The application is not an Unity2dApplication."
48 "MouseArea disabled.";
49 } else {
50 application->installX11EventFilter(this);
51 }
4552
46 d->m_containsMouse = false;53 d->m_containsMouse = false;
4754
4855
=== modified file 'libunity-2d-private/src/unity2dapplication.cpp'
--- libunity-2d-private/src/unity2dapplication.cpp 2011-02-28 17:14:19 +0000
+++ libunity-2d-private/src/unity2dapplication.cpp 2011-06-11 10:52:33 +0000
@@ -26,7 +26,10 @@
2626
27AbstractX11EventFilter::~AbstractX11EventFilter()27AbstractX11EventFilter::~AbstractX11EventFilter()
28{28{
29 Unity2dApplication::instance()->removeX11EventFilter(this);29 Unity2dApplication* application = Unity2dApplication::instance();
30 if (application != NULL) {
31 application->removeX11EventFilter(this);
32 }
30}33}
3134
32Unity2dApplication::Unity2dApplication(int& argc, char** argv)35Unity2dApplication::Unity2dApplication(int& argc, char** argv)

Subscribers

People subscribed via source and target branches