1 |
commit: 3c2a7c551875c1f3d7c6ed2e0af1309cee6035a4 |
2 |
Author: Andreas K. Huettel (dilfridge) <mail <AT> akhuettel <DOT> de> |
3 |
AuthorDate: Sat May 28 22:09:20 2011 +0000 |
4 |
Commit: Andreas Hüttel <dilfridge <AT> gentoo <DOT> org> |
5 |
CommitDate: Sat May 28 22:09:20 2011 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/kde.git;a=commit;h=3c2a7c55 |
7 |
|
8 |
[kde-base/plasma-workspace] Fix compilation against sci-geosciences/gpsd-2.96, bug 367567 |
9 |
|
10 |
(Portage version: 2.1.9.49/git/Linux x86_64, signed Manifest commit with key B6C5F7DE) |
11 |
|
12 |
--- |
13 |
.../plasma-workspace-4.6.2-panelplacement.patch | 350 -------------------- |
14 |
.../files/plasma-workspace-4.6.3-gpsdapi.patch | 74 ++++ |
15 |
.../plasma-workspace-4.6.9999.ebuild | 2 +- |
16 |
3 files changed, 75 insertions(+), 351 deletions(-) |
17 |
|
18 |
diff --git a/kde-base/plasma-workspace/files/plasma-workspace-4.6.2-panelplacement.patch b/kde-base/plasma-workspace/files/plasma-workspace-4.6.2-panelplacement.patch |
19 |
deleted file mode 100644 |
20 |
index e9c049e..0000000 |
21 |
--- a/kde-base/plasma-workspace/files/plasma-workspace-4.6.2-panelplacement.patch |
22 |
+++ /dev/null |
23 |
@@ -1,350 +0,0 @@ |
24 |
-diff --git a/plasma/desktop/shell/panelview.cpp b/plasma/desktop/shell/panelview.cpp |
25 |
-index 9e76304..ac1425a 100644 |
26 |
---- a/plasma/desktop/shell/panelview.cpp |
27 |
-+++ b/plasma/desktop/shell/panelview.cpp |
28 |
-@@ -20,6 +20,7 @@ |
29 |
- #include "panelview.h" |
30 |
- |
31 |
- #include <QApplication> |
32 |
-+#include <QDesktopWidget> |
33 |
- #include <QGraphicsLinearLayout> |
34 |
- #include <QPropertyAnimation> |
35 |
- #include <QTimer> |
36 |
-@@ -29,9 +30,8 @@ |
37 |
- #include <X11/extensions/shape.h> |
38 |
- #endif |
39 |
- |
40 |
--#include <KDebug> |
41 |
--#include <KIdleTime> |
42 |
- #include <KWindowSystem> |
43 |
-+#include <KDebug> |
44 |
- |
45 |
- #include <Plasma/Containment> |
46 |
- #include <Plasma/Corona> |
47 |
-@@ -309,7 +309,6 @@ PanelView::PanelView(Plasma::Containment *panel, int id, QWidget *parent) |
48 |
- m_glowBar(0), |
49 |
- m_mousePollTimer(0), |
50 |
- m_strutsTimer(new QTimer(this)), |
51 |
-- m_rehideAfterAutounhideTimer(new QTimer(this)), |
52 |
- m_spacer(0), |
53 |
- m_spacerIndex(-1), |
54 |
- m_shadowWindow(0), |
55 |
-@@ -319,8 +318,7 @@ PanelView::PanelView(Plasma::Containment *panel, int id, QWidget *parent) |
56 |
- m_visibilityMode(NormalPanel), |
57 |
- m_lastHorizontal(true), |
58 |
- m_editing(false), |
59 |
-- m_triggerEntered(false), |
60 |
-- m_respectStatus(true) |
61 |
-+ m_triggerEntered(false) |
62 |
- { |
63 |
- // KWin setup |
64 |
- KWindowSystem::setOnAllDesktops(winId(), true); |
65 |
-@@ -330,13 +328,11 @@ PanelView::PanelView(Plasma::Containment *panel, int id, QWidget *parent) |
66 |
- m_strutsTimer->setSingleShot(true); |
67 |
- connect(m_strutsTimer, SIGNAL(timeout()), this, SLOT(updateStruts())); |
68 |
- |
69 |
-- // this timer controls checks to re-hide a panel after it's been unhidden |
70 |
-- // for the user because, e.g., something is demanding attention |
71 |
-- m_rehideAfterAutounhideTimer->setSingleShot(true); |
72 |
-- connect(m_rehideAfterAutounhideTimer, SIGNAL(timeout()), this, SLOT(checkAutounhide())); |
73 |
-- |
74 |
- // Graphics view setup |
75 |
- setFrameStyle(QFrame::NoFrame); |
76 |
-+ //setAutoFillBackground(true); |
77 |
-+ //setDragMode(QGraphicsView::RubberBandDrag); |
78 |
-+ //setCacheMode(QGraphicsView::CacheBackground); |
79 |
- setInteractive(true); |
80 |
- setAcceptDrops(true); |
81 |
- setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); |
82 |
-@@ -356,20 +352,10 @@ PanelView::PanelView(Plasma::Containment *panel, int id, QWidget *parent) |
83 |
- |
84 |
- const bool onScreen = panel->screen() < PlasmaApp::self()->corona()->numScreens(); |
85 |
- const QRect screenRect = onScreen ? PlasmaApp::self()->corona()->screenGeometry(panel->screen()) : QRect(); |
86 |
-- const int sw = screenRect.width(); |
87 |
-- const int sh = screenRect.height(); |
88 |
-- m_lastSeenSize = sizes.readEntry("lastsize", m_lastHorizontal ? sw : sh); |
89 |
-- |
90 |
-- if (onScreen) { |
91 |
-- const QString last = m_lastHorizontal ? "Horizontal" + QString::number(sw) : |
92 |
-- "Vertical" + QString::number(sh); |
93 |
-- if (sizes.hasGroup(last)) { |
94 |
-- KConfigGroup thisSize(&sizes, last); |
95 |
-- resize(thisSize.readEntry("size", m_lastHorizontal ? QSize(sw, 27) : QSize(27, sh))); |
96 |
-- } |
97 |
-- } else { |
98 |
-+ if (!onScreen) { |
99 |
- resize(panel->size().toSize()); |
100 |
- } |
101 |
-+ m_lastSeenSize = sizes.readEntry("lastsize", m_lastHorizontal ? screenRect.width() : screenRect.height()); |
102 |
- |
103 |
- m_alignment = alignmentFilter((Qt::Alignment)viewConfig.readEntry("Alignment", (int)Qt::AlignLeft)); |
104 |
- KConfigGroup sizeConfig(&viewConfig, (m_lastHorizontal ? "Horizontal" : "Vertical") + |
105 |
-@@ -413,7 +399,7 @@ void PanelView::setContainment(Plasma::Containment *containment) |
106 |
- disconnect(oldContainment); |
107 |
- } |
108 |
- |
109 |
-- connect(containment, SIGNAL(newStatus(Plasma::ItemStatus)), this, SLOT(statusUpdated(Plasma::ItemStatus))); |
110 |
-+ connect(containment, SIGNAL(newStatus(Plasma::ItemStatus)), this, SLOT(setStatus(Plasma::ItemStatus))); |
111 |
- connect(containment, SIGNAL(destroyed(QObject*)), this, SLOT(panelDeleted())); |
112 |
- connect(containment, SIGNAL(toolBoxToggled()), this, SLOT(togglePanelController())); |
113 |
- connect(containment, SIGNAL(appletAdded(Plasma::Applet *, const QPointF &)), this, SLOT(appletAdded(Plasma::Applet *))); |
114 |
-@@ -436,6 +422,10 @@ void PanelView::setContainment(Plasma::Containment *containment) |
115 |
- |
116 |
- // ensure we aren't overlapping other panels |
117 |
- const QRect screenRect = PlasmaApp::self()->corona()->screenGeometry(containment->screen()); |
118 |
-+ const QRegion availGeom = PlasmaApp::self()->corona()->availableScreenRegion(containment->screen()); |
119 |
-+ const int w = containment->size().width(); |
120 |
-+ const int h = containment->size().height(); |
121 |
-+ const int length = containment->formFactor() == Plasma::Horizontal ? w : h; |
122 |
- |
123 |
- View::setContainment(containment); |
124 |
- |
125 |
-@@ -448,11 +438,6 @@ void PanelView::setContainment(Plasma::Containment *containment) |
126 |
- |
127 |
- updateStruts(); |
128 |
- checkShadow(); |
129 |
-- |
130 |
-- // if we are an autohiding panel, then see if the status mandates we do something about it |
131 |
-- if (m_visibilityMode != NormalPanel && m_visibilityMode != WindowsGoBelow) { |
132 |
-- checkUnhide(containment->status()); |
133 |
-- } |
134 |
- } |
135 |
- |
136 |
- void PanelView::themeChanged() |
137 |
-@@ -463,7 +448,6 @@ void PanelView::themeChanged() |
138 |
- |
139 |
- void PanelView::checkShadow() |
140 |
- { |
141 |
--#ifndef Q_WS_WIN |
142 |
- if (KWindowSystem::compositingActive() && containment()->property("shadowPath").isValid()) { |
143 |
- if (!m_shadowWindow) { |
144 |
- m_shadowWindow = new ShadowWindow(this); |
145 |
-@@ -478,11 +462,12 @@ void PanelView::checkShadow() |
146 |
- if (m_shadowWindow->isValid() && isVisible()) { |
147 |
- m_shadowWindow->show(); |
148 |
- } |
149 |
-- } else if (m_shadowWindow) { |
150 |
-- m_shadowWindow->deleteLater(); |
151 |
-- m_shadowWindow = 0; |
152 |
-+ } else { |
153 |
-+ if (m_shadowWindow) { |
154 |
-+ m_shadowWindow->deleteLater(); |
155 |
-+ m_shadowWindow = 0; |
156 |
-+ } |
157 |
- } |
158 |
--#endif |
159 |
- } |
160 |
- |
161 |
- void PanelView::setPanelDragPosition(const QPoint &point) |
162 |
-@@ -709,6 +694,8 @@ void PanelView::updatePanelGeometry() |
163 |
- geom.moveTopLeft(QPoint(screenGeom.center().x() - geom.width()/2 + 1 - geom.width()%2 + m_offset, screenGeom.top())); |
164 |
- } |
165 |
- |
166 |
-+ //enable borders if needed |
167 |
-+ //c->setGeometry(QRect(geom.left(), c->geometry().top(), geom.width(), geom.height())); |
168 |
- break; |
169 |
- |
170 |
- case Plasma::LeftEdge: |
171 |
-@@ -720,6 +707,8 @@ void PanelView::updatePanelGeometry() |
172 |
- geom.moveTopLeft(QPoint(screenGeom.left(), screenGeom.center().y() - geom.height()/2 + 1 - geom.height()%2 + m_offset)); |
173 |
- } |
174 |
- |
175 |
-+ //enable borders if needed |
176 |
-+ //c->setGeometry(QRect(c->geometry().left(), geom.top(), geom.width(), geom.height())); |
177 |
- break; |
178 |
- |
179 |
- case Plasma::RightEdge: |
180 |
-@@ -731,6 +720,8 @@ void PanelView::updatePanelGeometry() |
181 |
- geom.moveTopRight(QPoint(screenGeom.right(), screenGeom.center().y() - geom.height()/2 + 1 - geom.height()%2 + m_offset)); |
182 |
- } |
183 |
- |
184 |
-+ //enable borders if needed |
185 |
-+ //c->setGeometry(QRect(c->geometry().left(), geom.top(), geom.width(), geom.height())); |
186 |
- break; |
187 |
- |
188 |
- case Plasma::BottomEdge: |
189 |
-@@ -743,6 +734,8 @@ void PanelView::updatePanelGeometry() |
190 |
- geom.moveBottomLeft(QPoint(screenGeom.center().x() - geom.width()/2 + 1 - geom.width()%2 + m_offset, screenGeom.bottom())); |
191 |
- } |
192 |
- |
193 |
-+ //enable borders if needed |
194 |
-+ //c->setGeometry(QRect(geom.left(), c->geometry().top(), geom.width(), geom.height())); |
195 |
- break; |
196 |
- } |
197 |
- |
198 |
-@@ -818,7 +811,8 @@ void PanelView::pinchContainment(const QRect &screenGeom) |
199 |
- KConfigGroup sizes = config(); |
200 |
- sizes = KConfigGroup(&sizes, "Sizes"); |
201 |
- |
202 |
-- if (m_lastHorizontal != horizontal || m_lastSeenSize != (horizontal ? sw : sh)) { |
203 |
-+ if (m_lastHorizontal != horizontal || |
204 |
-+ m_lastSeenSize != (horizontal ? sw : sh)) { |
205 |
- // we're adjusting size. store the current size now |
206 |
- KConfigGroup lastSize(&sizes, (m_lastHorizontal ? "Horizontal" : "Vertical") + |
207 |
- QString::number(m_lastSeenSize)); |
208 |
-@@ -1032,23 +1026,17 @@ void PanelView::togglePanelController() |
209 |
- } |
210 |
- } |
211 |
- |
212 |
-- if (m_panelController->isVisible()) { |
213 |
-- if (m_panelController->showingWidgetExplorer() || |
214 |
-- m_panelController->showingActivityManager()) { |
215 |
-- m_panelController->switchToController(); |
216 |
-- m_panelController->move(m_panelController->positionForPanelGeometry(geometry())); |
217 |
-- } else { |
218 |
-- Plasma::WindowEffects::slideWindow(m_panelController, location()); |
219 |
-- m_panelController->close(); |
220 |
-- updateStruts(); |
221 |
-- } |
222 |
-- } else { |
223 |
-+ if (!m_panelController->isVisible()) { |
224 |
- m_editing = true; |
225 |
- m_panelController->resize(m_panelController->sizeHint()); |
226 |
- m_panelController->move(m_panelController->positionForPanelGeometry(geometry())); |
227 |
- Plasma::WindowEffects::slideWindow(m_panelController, location()); |
228 |
- kDebug() << "showing panel controller!" << m_panelController->geometry(); |
229 |
- m_panelController->show(); |
230 |
-+ } else { |
231 |
-+ Plasma::WindowEffects::slideWindow(m_panelController, location()); |
232 |
-+ m_panelController->close(); |
233 |
-+ updateStruts(); |
234 |
- } |
235 |
- } |
236 |
- |
237 |
-@@ -1438,7 +1426,7 @@ void PanelView::unhide(bool destroyTrigger) |
238 |
- } |
239 |
- } |
240 |
- |
241 |
--void PanelView::statusUpdated(Plasma::ItemStatus newStatus) |
242 |
-+void PanelView::setStatus(Plasma::ItemStatus newStatus) |
243 |
- { |
244 |
- if (newStatus == Plasma::AcceptingInputStatus) { |
245 |
- KWindowSystem::forceActiveWindow(winId()); |
246 |
-@@ -1447,50 +1435,14 @@ void PanelView::statusUpdated(Plasma::ItemStatus newStatus) |
247 |
- |
248 |
- void PanelView::checkUnhide(Plasma::ItemStatus newStatus) |
249 |
- { |
250 |
-- //kDebug() << "================= got a status: " << newStatus << Plasma::ActiveStatus; |
251 |
-- m_respectStatus = true; |
252 |
-- |
253 |
-+ //kDebug() << "================= got a new status: " << newStatus << Plasma::ActiveStatus; |
254 |
- if (newStatus > Plasma::ActiveStatus) { |
255 |
- unhide(); |
256 |
-- if (newStatus == Plasma::NeedsAttentionStatus) { |
257 |
-- //kDebug() << "starting the timer!"; |
258 |
-- // start our rehide timer, so that the panel doesn't stay up and stuck forever and a day |
259 |
-- m_rehideAfterAutounhideTimer->start(AUTOUNHIDE_CHECK_DELAY); |
260 |
-- } |
261 |
- } else { |
262 |
-- //kDebug() << "new status, just autohiding"; |
263 |
- startAutoHide(); |
264 |
- } |
265 |
- } |
266 |
- |
267 |
--void PanelView::checkAutounhide() |
268 |
--{ |
269 |
-- //kDebug() << "***************************" << KIdleTime::instance()->idleTime(); |
270 |
-- if (KIdleTime::instance()->idleTime() >= AUTOUNHIDE_CHECK_DELAY) { |
271 |
-- // the user is idle .. let's not hige the panel on them quite yet, but rather given them a |
272 |
-- // chance to see this thing! |
273 |
-- connect(KIdleTime::instance(), SIGNAL(resumingFromIdle()), this, SLOT(checkAutounhide()), |
274 |
-- Qt::UniqueConnection); |
275 |
-- KIdleTime::instance()->catchNextResumeEvent(); |
276 |
-- //kDebug() << "exit 1 ***************************"; |
277 |
-- return; |
278 |
-- } |
279 |
-- |
280 |
-- m_respectStatus = false; |
281 |
-- //kDebug() << "in to check ... who's resonsible?" << sender() << KIdleTime::instance(); |
282 |
-- if (sender() == KIdleTime::instance()) { |
283 |
-- //kDebug() << "doing a 2s wait"; |
284 |
-- QTimer::singleShot(2000, this, SLOT(startAutoHide())); |
285 |
-- } else { |
286 |
-- //kDebug() << "just starting autohide!"; |
287 |
-- startAutoHide(); |
288 |
-- } |
289 |
-- |
290 |
-- // this line must come after the check on sender() as it *clears* that value! |
291 |
-- disconnect(KIdleTime::instance(), SIGNAL(resumingFromIdle()), this, SLOT(checkAutounhide())); |
292 |
-- //kDebug() << "exit 0 ***************************"; |
293 |
--} |
294 |
-- |
295 |
- void PanelView::unhide() |
296 |
- { |
297 |
- unhide(true); |
298 |
-@@ -1503,31 +1455,10 @@ void PanelView::resetTriggerEnteredSuppression() |
299 |
- |
300 |
- void PanelView::startAutoHide() |
301 |
- { |
302 |
-- /* |
303 |
-- kDebug() << m_editing << (containment() ? containment()->status() : 0) << Plasma::ActiveStatus |
304 |
-- << geometry().adjusted(-10, -10, 10, 10).contains(QCursor::pos()) << hasPopup(); |
305 |
-- if (containment() && containment()->status() > Plasma::ActiveStatus) { |
306 |
-- foreach (Plasma::Applet *applet, containment()->applets()) { |
307 |
-- kDebug() << " " << applet->name() << applet->status(); |
308 |
-- } |
309 |
-- } |
310 |
-- */ |
311 |
-- |
312 |
-- |
313 |
-- if (m_editing || (m_respectStatus && (containment() && containment()->status() > Plasma::ActiveStatus))) { |
314 |
-- if (m_mousePollTimer) { |
315 |
-- m_mousePollTimer->stop(); |
316 |
-- disconnect(m_mousePollTimer, SIGNAL(timeout()), this, SLOT(startAutoHide())); |
317 |
-- } |
318 |
-- |
319 |
-- return; |
320 |
-- } |
321 |
-- |
322 |
-- // since we've gotten this far, we don't need to worry about rehiding-after-auto-unhide, so just |
323 |
-- // stop the timer |
324 |
-- m_rehideAfterAutounhideTimer->stop(); |
325 |
-- |
326 |
-- if (geometry().adjusted(-10, -10, 10, 10).contains(QCursor::pos()) || hasPopup()) { |
327 |
-+ //TODO: is 5s too long? not long enough? |
328 |
-+ if (m_editing || (containment() && containment()->status() > Plasma::ActiveStatus) || |
329 |
-+ geometry().adjusted(-10, -10, 10, 10).contains(QCursor::pos()) || |
330 |
-+ hasPopup()) { |
331 |
- if (!m_mousePollTimer) { |
332 |
- leaveEvent(0); |
333 |
- } |
334 |
-diff --git a/plasma/desktop/shell/panelview.h b/plasma/desktop/shell/panelview.h |
335 |
-index 9bdf780..c4be6b4 100644 |
336 |
---- a/plasma/desktop/shell/panelview.h |
337 |
-+++ b/plasma/desktop/shell/panelview.h |
338 |
-@@ -141,7 +141,7 @@ public Q_SLOTS: |
339 |
- /** |
340 |
- * Decides whether give focus to the panel |
341 |
- */ |
342 |
-- void statusUpdated(Plasma::ItemStatus newStatus); |
343 |
-+ void setStatus(Plasma::ItemStatus newStatus); |
344 |
- |
345 |
- /** |
346 |
- * Pinches the min/max sizes of the containment to the current screen resolution |
347 |
-@@ -240,7 +240,6 @@ private Q_SLOTS: |
348 |
- void overlayMoved(PanelAppletOverlay *overlay); |
349 |
- void panelDeleted(); |
350 |
- void startAutoHide(); |
351 |
-- void checkAutounhide(); |
352 |
- |
353 |
- /** |
354 |
- * update the appearance of the unhide hinter |
355 |
-@@ -270,7 +269,6 @@ private: |
356 |
- GlowBar *m_glowBar; |
357 |
- QTimer *m_mousePollTimer; |
358 |
- QTimer *m_strutsTimer; |
359 |
-- QTimer *m_rehideAfterAutounhideTimer; |
360 |
- QTimeLine *m_timeLine; |
361 |
- QGraphicsWidget *m_spacer; |
362 |
- int m_spacerIndex; |
363 |
-@@ -292,10 +290,7 @@ private: |
364 |
- |
365 |
- bool m_editing : 1; |
366 |
- bool m_triggerEntered : 1; |
367 |
-- bool m_respectStatus : 1; |
368 |
-- |
369 |
- static const int STRUTSTIMERDELAY = 200; |
370 |
-- static const int AUTOUNHIDE_CHECK_DELAY = 3000; |
371 |
- }; |
372 |
- |
373 |
- #endif |
374 |
|
375 |
diff --git a/kde-base/plasma-workspace/files/plasma-workspace-4.6.3-gpsdapi.patch b/kde-base/plasma-workspace/files/plasma-workspace-4.6.3-gpsdapi.patch |
376 |
new file mode 100644 |
377 |
index 0000000..f24aded |
378 |
--- /dev/null |
379 |
+++ b/kde-base/plasma-workspace/files/plasma-workspace-4.6.3-gpsdapi.patch |
380 |
@@ -0,0 +1,74 @@ |
381 |
+From: Rafael Fernández López <ereslibre@×××.org> |
382 |
+Date: Thu, 28 Apr 2011 11:35:53 +0000 |
383 |
+Subject: gpsd api has changed and for GPSD_API_MAJOR_VERSION >=5 there are |
384 |
+X-Git-Url: http://quickgit.kde.org/?p=kde-workspace.git&a=commitdiff&h=a3009dd96e8519bcc205d75c29e18bbbb81fce03 |
385 |
+--- |
386 |
+gpsd api has changed and for GPSD_API_MAJOR_VERSION >=5 there are |
387 |
+some calls that are slightly different. Make the dataengine compile |
388 |
+against this version and previous one by adding conditional code. |
389 |
+ |
390 |
+REVIEW: 101247 |
391 |
+--- |
392 |
+ |
393 |
+ |
394 |
+--- a/plasma/generic/dataengines/geolocation/location_gps.cpp |
395 |
++++ b/plasma/generic/dataengines/geolocation/location_gps.cpp |
396 |
+@@ -51,7 +51,11 @@ void Gpsd::run() |
397 |
+ while (!m_abort) { |
398 |
+ Plasma::DataEngine::Data d; |
399 |
+ |
400 |
++#if GPSD_API_MAJOR_VERSION >= 5 |
401 |
++ if (gps_read(m_gpsdata) != -1) { |
402 |
++#else |
403 |
+ if (gps_poll(m_gpsdata) != -1) { |
404 |
++#endif |
405 |
+ //kDebug() << "poll ok"; |
406 |
+ if (m_gpsdata->online) { |
407 |
+ //kDebug() << "online"; |
408 |
+@@ -73,11 +77,19 @@ void Gpsd::run() |
409 |
+ Gps::Gps(QObject* parent, const QVariantList& args) |
410 |
+ : GeolocationProvider(parent, args), |
411 |
+ m_gpsd(0) |
412 |
++#if GPSD_API_MAJOR_VERSION >= 5 |
413 |
++ , m_gpsdata(0) |
414 |
++#endif |
415 |
+ { |
416 |
+- gps_data_t* gpsdata = gps_open("localhost", DEFAULT_GPSD_PORT); |
417 |
+- if (gpsdata) { |
418 |
++#if GPSD_API_MAJOR_VERSION >= 5 |
419 |
++ m_gpsdata = new gps_data_t; |
420 |
++ gps_open("localhost", DEFAULT_GPSD_PORT, m_gpsdata); |
421 |
++#else |
422 |
++ gps_data_t* m_gpsdata = gps_open("localhost", DEFAULT_GPSD_PORT); |
423 |
++#endif |
424 |
++ if (m_gpsdata) { |
425 |
+ kDebug() << "gpsd found."; |
426 |
+- m_gpsd = new Gpsd(gpsdata); |
427 |
++ m_gpsd = new Gpsd(m_gpsdata); |
428 |
+ connect(m_gpsd, SIGNAL(dataReady(const Plasma::DataEngine::Data&)), |
429 |
+ this, SIGNAL(setData(const Plasma::DataEngine::Data&))); |
430 |
+ } else { |
431 |
+@@ -90,6 +102,9 @@ Gps::Gps(QObject* parent, const QVariant |
432 |
+ Gps::~Gps() |
433 |
+ { |
434 |
+ delete m_gpsd; |
435 |
++#if GPSD_API_MAJOR_VERSION >= 5 |
436 |
++ delete m_gpsdata; |
437 |
++#endif |
438 |
+ } |
439 |
+ |
440 |
+ void Gps::update() |
441 |
+ |
442 |
+--- a/plasma/generic/dataengines/geolocation/location_gps.h |
443 |
++++ b/plasma/generic/dataengines/geolocation/location_gps.h |
444 |
+@@ -58,6 +58,9 @@ public: |
445 |
+ |
446 |
+ private: |
447 |
+ Gpsd* m_gpsd; |
448 |
++#if GPSD_API_MAJOR_VERSION >= 5 |
449 |
++ gps_data_t* m_gpsdata; |
450 |
++#endif |
451 |
+ }; |
452 |
+ |
453 |
+ #endif |
454 |
+ |
455 |
|
456 |
diff --git a/kde-base/plasma-workspace/plasma-workspace-4.6.9999.ebuild b/kde-base/plasma-workspace/plasma-workspace-4.6.9999.ebuild |
457 |
index 4a6d547..2eaa9ed 100644 |
458 |
--- a/kde-base/plasma-workspace/plasma-workspace-4.6.9999.ebuild |
459 |
+++ b/kde-base/plasma-workspace/plasma-workspace-4.6.9999.ebuild |
460 |
@@ -74,7 +74,7 @@ KMLOADLIBS="libkworkspace libplasmaclock libplasmagenericshell libtaskmanager" |
461 |
PATCHES=( |
462 |
"${FILESDIR}/${PN}-4.4.2-xinerama_cmake_automagic.patch" |
463 |
"${FILESDIR}/${PN}-4.6.2-optional_akonadi-server.patch" |
464 |
- "${FILESDIR}/${PN}-4.6.2-panelplacement.patch" |
465 |
+ "${FILESDIR}/${PN}-4.6.3-gpsdapi.patch" |
466 |
) |
467 |
|
468 |
pkg_setup() { |