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
1=== modified file 'libunity-2d-private/Unity2d/launcherapplicationslist.cpp'
2--- libunity-2d-private/Unity2d/launcherapplicationslist.cpp 2011-06-08 10:15:49 +0000
3+++ libunity-2d-private/Unity2d/launcherapplicationslist.cpp 2011-06-11 10:52:33 +0000
4@@ -167,11 +167,6 @@
5
6 LauncherApplicationsList::~LauncherApplicationsList()
7 {
8- Unity2dApplication* application = Unity2dApplication::instance();
9- if (application != NULL) {
10- application->removeX11EventFilter(this);
11- }
12-
13 sn_monitor_context_unref(m_snContext);
14 sn_display_unref(m_snDisplay);
15
16
17=== modified file 'libunity-2d-private/src/mousearea.cpp'
18--- libunity-2d-private/src/mousearea.cpp 2011-02-15 18:18:13 +0000
19+++ libunity-2d-private/src/mousearea.cpp 2011-06-11 10:52:33 +0000
20@@ -41,7 +41,14 @@
21 : QObject(parent)
22 , d(new MouseAreaPrivate)
23 {
24- Unity2dApplication::instance()->installX11EventFilter(this);
25+ Unity2dApplication* application = Unity2dApplication::instance();
26+ if (application == NULL) {
27+ /* This can happen for example when using qmlviewer */
28+ UQ_WARNING << "The application is not an Unity2dApplication."
29+ "MouseArea disabled.";
30+ } else {
31+ application->installX11EventFilter(this);
32+ }
33
34 d->m_containsMouse = false;
35
36
37=== modified file 'libunity-2d-private/src/unity2dapplication.cpp'
38--- libunity-2d-private/src/unity2dapplication.cpp 2011-02-28 17:14:19 +0000
39+++ libunity-2d-private/src/unity2dapplication.cpp 2011-06-11 10:52:33 +0000
40@@ -26,7 +26,10 @@
41
42 AbstractX11EventFilter::~AbstractX11EventFilter()
43 {
44- Unity2dApplication::instance()->removeX11EventFilter(this);
45+ Unity2dApplication* application = Unity2dApplication::instance();
46+ if (application != NULL) {
47+ application->removeX11EventFilter(this);
48+ }
49 }
50
51 Unity2dApplication::Unity2dApplication(int& argc, char** argv)

Subscribers

People subscribed via source and target branches