Merge lp:~unity-api-team/indicator-network/handle-mesh-networks-14.09 into lp:indicator-network/14.09

Proposed by Pete Woods
Status: Merged
Approved by: Pete Woods
Approved revision: 475
Merged at revision: 475
Proposed branch: lp:~unity-api-team/indicator-network/handle-mesh-networks-14.09
Merge into: lp:indicator-network/14.09
Diff against target: 182 lines (+49/-13)
8 files modified
src/indicator/nmofono/kill-switch-impl.cpp (+9/-1)
src/indicator/nmofono/wifi/access-point-impl.cpp (+2/-2)
src/indicator/nmofono/wifi/access-point-impl.h (+2/-2)
src/indicator/nmofono/wifi/access-point.h (+1/-1)
src/indicator/nmofono/wifi/grouped-access-point-impl.cpp (+27/-2)
src/indicator/nmofono/wifi/grouped-access-point-impl.h (+2/-2)
src/indicator/root-state.cpp (+4/-0)
tests/unit/indicator/menuitems/test-access-point-item.cpp (+2/-3)
To merge this branch: bzr merge lp:~unity-api-team/indicator-network/handle-mesh-networks-14.09
Reviewer Review Type Date Requested Status
Indicator Applet Developers Pending
Review via email: mp+257868@code.launchpad.net

Commit message

Handle mesh networks without crashing

Description of the change

Handle mesh networks without crashing

To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/indicator/nmofono/kill-switch-impl.cpp'
2--- src/indicator/nmofono/kill-switch-impl.cpp 2015-03-31 14:30:57 +0000
3+++ src/indicator/nmofono/kill-switch-impl.cpp 2015-04-30 10:18:42 +0000
4@@ -133,7 +133,15 @@
5 return true;
6 }
7
8- return utils::getOrThrow(d->urfkill->FlightMode(enable));
9+ try
10+ {
11+ return utils::getOrThrow(d->urfkill->FlightMode(enable));
12+ }
13+ catch (std::runtime_error& e)
14+ {
15+ qWarning() << __PRETTY_FUNCTION__ << ": " << QString::fromStdString(e.what());
16+ return false;
17+ }
18 }
19
20 bool KillSwitch::isFlightMode()
21
22=== modified file 'src/indicator/nmofono/wifi/access-point-impl.cpp'
23--- src/indicator/nmofono/wifi/access-point-impl.cpp 2015-03-31 14:30:57 +0000
24+++ src/indicator/nmofono/wifi/access-point-impl.cpp 2015-04-30 10:18:42 +0000
25@@ -101,12 +101,12 @@
26 return m_lastConnected;
27 }
28
29-const QString& AccessPoint::ssid() const
30+QString AccessPoint::ssid() const
31 {
32 return m_ssid;
33 }
34
35-const QByteArray& AccessPoint::raw_ssid() const
36+QByteArray AccessPoint::raw_ssid() const
37 {
38 return m_raw_ssid;
39 }
40
41=== modified file 'src/indicator/nmofono/wifi/access-point-impl.h'
42--- src/indicator/nmofono/wifi/access-point-impl.h 2015-03-31 14:30:57 +0000
43+++ src/indicator/nmofono/wifi/access-point-impl.h 2015-04-30 10:18:42 +0000
44@@ -91,8 +91,8 @@
45 Q_PROPERTY(std::chrono::system_clock::time_point lastConnected READ lastConnected NOTIFY lastConnectedUpdated)
46 std::chrono::system_clock::time_point lastConnected() const;
47
48- const QString& ssid() const override;
49- const QByteArray& raw_ssid() const;
50+ QString ssid() const override;
51+ QByteArray raw_ssid() const;
52
53 bool secured() const override;
54
55
56=== modified file 'src/indicator/nmofono/wifi/access-point.h'
57--- src/indicator/nmofono/wifi/access-point.h 2015-03-31 14:30:57 +0000
58+++ src/indicator/nmofono/wifi/access-point.h 2015-04-30 10:18:42 +0000
59@@ -50,7 +50,7 @@
60 Q_PROPERTY(double strength READ strength NOTIFY strengthUpdated)
61 virtual double strength() const = 0;
62
63- virtual const QString& ssid() const = 0;
64+ virtual QString ssid() const = 0;
65 virtual bool secured() const = 0;
66 virtual bool adhoc() const = 0;
67
68
69=== modified file 'src/indicator/nmofono/wifi/grouped-access-point-impl.cpp'
70--- src/indicator/nmofono/wifi/grouped-access-point-impl.cpp 2015-03-31 14:30:57 +0000
71+++ src/indicator/nmofono/wifi/grouped-access-point-impl.cpp 2015-04-30 10:18:42 +0000
72@@ -147,6 +147,11 @@
73 }
74
75 QDBusObjectPath GroupedAccessPoint::object_path() const {
76+ if (p->aplist.empty())
77+ {
78+ return QDBusObjectPath("/");
79+ }
80+
81 return p->aplist.at(0)->object_path();
82 }
83
84@@ -160,23 +165,43 @@
85 return p->m_lastTime;
86 }
87
88-const QString& GroupedAccessPoint::ssid() const
89+QString GroupedAccessPoint::ssid() const
90 {
91+ if (p->aplist.empty())
92+ {
93+ return QString();
94+ }
95+
96 return p->aplist.at(0)->ssid();
97 }
98
99-const QByteArray& GroupedAccessPoint::raw_ssid() const
100+QByteArray GroupedAccessPoint::raw_ssid() const
101 {
102+ if (p->aplist.empty())
103+ {
104+ return QByteArray();
105+ }
106+
107 return p->aplist.at(0)->raw_ssid();
108 }
109
110 bool GroupedAccessPoint::secured() const
111 {
112+ if (p->aplist.empty())
113+ {
114+ return false;
115+ }
116+
117 return p->aplist.at(0)->secured();
118 }
119
120 bool GroupedAccessPoint::adhoc() const
121 {
122+ if (p->aplist.empty())
123+ {
124+ return false;
125+ }
126+
127 return p->aplist.at(0)->adhoc();
128 }
129
130
131=== modified file 'src/indicator/nmofono/wifi/grouped-access-point-impl.h'
132--- src/indicator/nmofono/wifi/grouped-access-point-impl.h 2015-03-31 14:30:57 +0000
133+++ src/indicator/nmofono/wifi/grouped-access-point-impl.h 2015-04-30 10:18:42 +0000
134@@ -51,8 +51,8 @@
135 Q_PROPERTY(std::chrono::system_clock::time_point lastConnected READ lastConnected NOTIFY lastConnectedUpdated)
136 std::chrono::system_clock::time_point lastConnected() const;
137
138- const QString& ssid() const override;
139- const QByteArray& raw_ssid() const;
140+ QString ssid() const override;
141+ QByteArray raw_ssid() const;
142
143 bool secured() const override;
144
145
146=== modified file 'src/indicator/root-state.cpp'
147--- src/indicator/root-state.cpp 2015-03-31 14:30:57 +0000
148+++ src/indicator/root-state.cpp 2015-04-30 10:18:42 +0000
149@@ -213,6 +213,10 @@
150 &networking::wifi::AccessPoint::strengthUpdated,
151 this,
152 &Private::updateNetworkingIcon);
153+ if (m_activeAP_conn)
154+ {
155+ disconnect(*m_activeAP_conn);
156+ }
157 m_activeAP_conn.reset(new QMetaObject::Connection(c));
158 }
159 else
160
161=== modified file 'tests/unit/indicator/menuitems/test-access-point-item.cpp'
162--- tests/unit/indicator/menuitems/test-access-point-item.cpp 2015-03-31 14:30:57 +0000
163+++ tests/unit/indicator/menuitems/test-access-point-item.cpp 2015-04-30 10:18:42 +0000
164@@ -38,7 +38,7 @@
165 class MockAccessPoint : public networking::wifi::AccessPoint
166 {
167 public:
168- MOCK_CONST_METHOD0(ssid, const QString&());
169+ MOCK_CONST_METHOD0(ssid, QString());
170
171 MOCK_CONST_METHOD0(secured, bool());
172
173@@ -57,8 +57,7 @@
174 {
175 shared_ptr<MockAccessPoint> accessPoint = make_shared<
176 NiceMock<MockAccessPoint>>();
177- static QString ssidtext("the ssid");
178- ON_CALL(*accessPoint, ssid()).WillByDefault(ReturnRef(ssidtext));
179+ ON_CALL(*accessPoint, ssid()).WillByDefault(Return(QString("the ssid")));
180 ON_CALL(*accessPoint, secured()).WillByDefault(Return(true));
181 ON_CALL(*accessPoint, adhoc()).WillByDefault(Return(false));
182 ON_CALL(*accessPoint, strength()).WillByDefault(Return(70.0));

Subscribers

People subscribed via source and target branches