Merge lp:~gerboland/qtmir/remove-legacy-notification-support into lp:qtmir

Proposed by Gerry Boland
Status: Merged
Approved by: Daniel d'Andrada
Approved revision: 324
Merged at revision: 330
Proposed branch: lp:~gerboland/qtmir/remove-legacy-notification-support
Merge into: lp:qtmir
Diff against target: 205 lines (+19/-53)
8 files modified
src/modules/Unity/Application/mirsurfaceitem.cpp (+2/-2)
src/modules/Unity/Application/mirsurfaceitem.h (+1/-1)
src/modules/Unity/Application/mirsurfacemanager.cpp (+0/-22)
src/modules/Unity/Application/mirsurfacemanager.h (+0/-3)
src/platforms/mirserver/mirshell.cpp (+0/-12)
src/platforms/mirserver/mirshell.h (+0/-9)
src/platforms/mirserver/surfaceobserver.cpp (+12/-2)
src/platforms/mirserver/surfaceobserver.h (+4/-2)
To merge this branch: bzr merge lp:~gerboland/qtmir/remove-legacy-notification-support
Reviewer Review Type Date Requested Status
Daniel d'Andrada (community) Approve
PS Jenkins bot (community) continuous-integration Approve
Michael Zanetti Pending
Review via email: mp+252551@code.launchpad.net

Commit message

Remove legacy surface configuration change code, use newer SurfaceObserver

Description of the change

Remove legacy surface configuration change code, use newer SurfaceObserver

* Are there any related MPs required for this MP to build/function as expected? Please list.
N
 * Did you perform an exploratory manual test run of your code change and any related functionality?
Y
 * If you changed the packaging (debian), did you subscribe the ubuntu-unity team to this MP?
N/A

To post a comment you must log in.
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)
Revision history for this message
Daniel d'Andrada (dandrader) wrote :

* Did you perform an exploratory manual test run of the code change and any related functionality?
Yes

* Did CI run pass? If not, please explain why.
Yes

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/modules/Unity/Application/mirsurfaceitem.cpp'
2--- src/modules/Unity/Application/mirsurfaceitem.cpp 2015-02-20 10:08:31 +0000
3+++ src/modules/Unity/Application/mirsurfaceitem.cpp 2015-03-11 10:13:19 +0000
4@@ -255,6 +255,7 @@
5 m_surfaceObserver = observer;
6 if (observer) {
7 connect(observer.get(), &SurfaceObserver::framesPosted, this, &MirSurfaceItem::surfaceDamaged);
8+ connect(observer.get(), &SurfaceObserver::attributeChanged, this, &MirSurfaceItem::onAttributeChanged);
9 observer->setListener(this);
10 }
11
12@@ -692,8 +693,7 @@
13 }
14 }
15
16-// Called by MirSurfaceItemManager upon a msh::Surface attribute change
17-void MirSurfaceItem::setAttribute(const MirSurfaceAttrib attribute, const int /*value*/)
18+void MirSurfaceItem::onAttributeChanged(const MirSurfaceAttrib attribute, const int /*value*/)
19 {
20 switch (attribute) {
21 case mir_surface_attrib_type:
22
23=== modified file 'src/modules/Unity/Application/mirsurfaceitem.h'
24--- src/modules/Unity/Application/mirsurfaceitem.h 2015-02-06 09:47:21 +0000
25+++ src/modules/Unity/Application/mirsurfaceitem.h 2015-03-11 10:13:19 +0000
26@@ -144,6 +144,7 @@
27 void updateMirSurfaceSize();
28
29 void updateMirSurfaceFocus(bool focused);
30+ void onAttributeChanged(const MirSurfaceAttrib, const int);
31
32 private:
33 bool updateTexture();
34@@ -154,7 +155,6 @@
35 void setLive(const bool);
36
37 // called by MirSurfaceManager
38- void setAttribute(const MirSurfaceAttrib, const int);
39 void setSurfaceValid(const bool);
40
41 bool hasTouchInsideUbuntuKeyboard(const QList<QTouchEvent::TouchPoint> &touchPoints);
42
43=== modified file 'src/modules/Unity/Application/mirsurfacemanager.cpp'
44--- src/modules/Unity/Application/mirsurfacemanager.cpp 2015-02-06 09:47:21 +0000
45+++ src/modules/Unity/Application/mirsurfacemanager.cpp 2015-03-11 10:13:19 +0000
46@@ -51,12 +51,6 @@
47 manager, &MirSurfaceManager::onSessionDestroyingSurface);
48 }
49
50-void connectToShell(MirSurfaceManager *manager, MirShell *shell)
51-{
52- QObject::connect(shell, &MirShell::surfaceAttributeChanged,
53- manager, &MirSurfaceManager::onSurfaceAttributeChanged);
54-}
55-
56 MirSurfaceManager* MirSurfaceManager::singleton()
57 {
58 if (!the_surface_manager) {
59@@ -75,7 +69,6 @@
60 the_surface_manager = new MirSurfaceManager(nativeInterface->m_mirServer, shell, SessionManager::singleton());
61
62 connectToSessionListener(the_surface_manager, sessionListener);
63- connectToShell(the_surface_manager, shell);
64 }
65 return the_surface_manager;
66 }
67@@ -167,19 +160,4 @@
68 Q_EMIT surfaceDestroyed(item);
69 }
70
71-// NB: Surface might be a dangling pointer here, so refrain from dereferencing it.
72-void MirSurfaceManager::onSurfaceAttributeChanged(const ms::Surface *surface,
73- const MirSurfaceAttrib attribute, const int value)
74-{
75- qCDebug(QTMIR_SURFACES) << "MirSurfaceManager::onSurfaceAttributeChanged - surface=" << surface
76- << qPrintable(mirSurfaceAttribAndValueToString(attribute, value));
77-
78- QMutexLocker lock(&m_mutex);
79- auto it = m_mirSurfaceToItemHash.find(surface);
80- if (it != m_mirSurfaceToItemHash.end()) {
81- it.value()->setAttribute(attribute, value);
82- }
83-}
84-
85-
86 } // namespace qtmir
87
88=== modified file 'src/modules/Unity/Application/mirsurfacemanager.h'
89--- src/modules/Unity/Application/mirsurfacemanager.h 2015-02-06 09:47:21 +0000
90+++ src/modules/Unity/Application/mirsurfacemanager.h 2015-03-11 10:13:19 +0000
91@@ -73,10 +73,7 @@
92 void onSessionCreatedSurface(const mir::scene::Session *, const std::shared_ptr<mir::scene::Surface> &, std::shared_ptr<SurfaceObserver> const&);
93 void onSessionDestroyingSurface(const mir::scene::Session *, const std::shared_ptr<mir::scene::Surface> &);
94
95- void onSurfaceAttributeChanged(const mir::scene::Surface *, MirSurfaceAttrib, int);
96-
97 protected:
98-
99 QHash<const mir::scene::Surface *, MirSurfaceItem *> m_mirSurfaceToItemHash;
100 QMutex m_mutex;
101
102
103=== modified file 'src/platforms/mirserver/mirshell.cpp'
104--- src/platforms/mirserver/mirshell.cpp 2015-02-04 17:17:53 +0000
105+++ src/platforms/mirserver/mirshell.cpp 2015-03-11 10:13:19 +0000
106@@ -61,15 +61,3 @@
107
108 return AbstractShell::create_surface(session, placedParameters);
109 }
110-
111-int MirShell::set_surface_attribute(
112- const std::shared_ptr<mir::scene::Session> &session,
113- const std::shared_ptr<mir::scene::Surface> &surface,
114- MirSurfaceAttrib attrib,
115- int value)
116-{
117- auto const result = AbstractShell::set_surface_attribute(session, surface, attrib, value);
118- Q_EMIT surfaceAttributeChanged(surface.get(), attrib, result);
119-
120- return result;
121-}
122
123=== modified file 'src/platforms/mirserver/mirshell.h'
124--- src/platforms/mirserver/mirshell.h 2015-02-04 17:17:53 +0000
125+++ src/platforms/mirserver/mirshell.h 2015-03-11 10:13:19 +0000
126@@ -40,15 +40,6 @@
127
128 virtual mir::frontend::SurfaceId create_surface(const std::shared_ptr<mir::scene::Session>& session, const mir::scene::SurfaceCreationParameters &params);
129
130- int set_surface_attribute(
131- const std::shared_ptr<mir::scene::Session> &session,
132- const std::shared_ptr<mir::scene::Surface> &surface,
133- MirSurfaceAttrib attrib,
134- int value) override;
135-
136-Q_SIGNALS:
137- void surfaceAttributeChanged(mir::scene::Surface const*, const MirSurfaceAttrib, const int);
138-
139 private:
140 std::shared_ptr<mir::shell::DisplayLayout> const m_displayLayout;
141 };
142
143=== modified file 'src/platforms/mirserver/surfaceobserver.cpp'
144--- src/platforms/mirserver/surfaceobserver.cpp 2014-12-16 14:30:47 +0000
145+++ src/platforms/mirserver/surfaceobserver.cpp 2015-03-11 10:13:19 +0000
146@@ -24,16 +24,26 @@
147 {
148 }
149
150-void SurfaceObserver::setListener(QObject *listener) {
151+void SurfaceObserver::setListener(QObject *listener)
152+{
153 m_listener = listener;
154 if (m_framesPosted) {
155 Q_EMIT framesPosted();
156 }
157 }
158
159-void SurfaceObserver::frame_posted(int /*frames_available*/) {
160+void SurfaceObserver::frame_posted(int /*frames_available*/)
161+{
162 m_framesPosted = true;
163 if (m_listener) {
164 Q_EMIT framesPosted();
165 }
166 }
167+
168+void SurfaceObserver::attrib_changed(MirSurfaceAttrib attribute, int value)
169+{
170+ if (m_listener) {
171+ Q_EMIT attributeChanged(attribute, value);
172+ }
173+}
174+
175
176=== modified file 'src/platforms/mirserver/surfaceobserver.h'
177--- src/platforms/mirserver/surfaceobserver.h 2015-01-14 08:24:29 +0000
178+++ src/platforms/mirserver/surfaceobserver.h 2015-03-11 10:13:19 +0000
179@@ -20,7 +20,8 @@
180 #include <QObject>
181 #include <mir/scene/surface_observer.h>
182
183-class SurfaceObserver : public QObject, public mir::scene::SurfaceObserver {
184+class SurfaceObserver : public QObject, public mir::scene::SurfaceObserver
185+{
186 Q_OBJECT
187
188 public:
189@@ -28,7 +29,7 @@
190
191 void setListener(QObject *listener);
192
193- void attrib_changed(MirSurfaceAttrib, int) override {}
194+ void attrib_changed(MirSurfaceAttrib, int) override;
195 void resized_to(mir::geometry::Size const&) override {}
196 void moved_to(mir::geometry::Point const&) override {}
197 void hidden_set_to(bool) override {}
198@@ -44,6 +45,7 @@
199 void client_surface_close_requested() override {}
200
201 Q_SIGNALS:
202+ void attributeChanged(const MirSurfaceAttrib attribute, const int value);
203 void framesPosted();
204
205 private:

Subscribers

People subscribed via source and target branches