[SCM] kdeconnect packaging branch, master, updated. debian/0.9g-1-1183-g9d69498
Maximiliano Curia
maxy at moszumanska.debian.org
Fri Oct 14 14:29:28 UTC 2016
Gitweb-URL: http://git.debian.org/?p=pkg-kde/kde-extras/kdeconnect.git;a=commitdiff;h=49a24c2
The following commit has been merged in the master branch:
commit 49a24c258b56fd2d2cd648d4e7c63545ead695a0
Author: Albert Vaca <albertvaka at gmail.com>
Date: Thu Dec 17 05:54:24 2015 -0800
Fixed crash
---
core/backends/lan/lanlinkprovider.cpp | 14 ++++++++++++--
core/backends/lan/lanpairinghandler.cpp | 5 ++---
core/backends/lan/lanpairinghandler.h | 3 +--
core/backends/pairinghandler.h | 2 +-
4 files changed, 16 insertions(+), 8 deletions(-)
diff --git a/core/backends/lan/lanlinkprovider.cpp b/core/backends/lan/lanlinkprovider.cpp
index 73f643f..504dff9 100644
--- a/core/backends/lan/lanlinkprovider.cpp
+++ b/core/backends/lan/lanlinkprovider.cpp
@@ -397,6 +397,7 @@ void LanLinkProvider::deviceLinkDestroyed(QObject* destroyedDeviceLink)
if (linkIterator != mLinks.end()) {
Q_ASSERT(linkIterator.value() == destroyedDeviceLink);
mLinks.erase(linkIterator);
+ mPairingHandlers.remove(id);
}
}
@@ -447,6 +448,12 @@ void LanLinkProvider::addLink(const QString& deviceId, QSslSocket* socket, Netwo
deviceLink = new LanDeviceLink(deviceId, this, socket, connectionOrigin);
connect(deviceLink, SIGNAL(destroyed(QObject*)), this, SLOT(deviceLinkDestroyed(QObject*)));
mLinks[deviceId] = deviceLink;
+ if (mPairingHandlers.contains(deviceId)) {
+ //We shouldn't have a pairinghandler if we didn't have a link.
+ //Crash if debug, recover if release (by setting the new devicelink to the old pairinghandler)
+ Q_ASSERT(mPairingHandlers.contains(deviceId));
+ mPairingHandlers[deviceId]->setDeviceLink(deviceLink);
+ }
}
Q_EMIT onConnectionReceived(*receivedPackage, deviceLink);
@@ -457,7 +464,9 @@ void LanLinkProvider::userRequestsPair(const QString& deviceId)
{
LanPairingHandler* ph = mPairingHandlers.value(deviceId);
if (!ph) {
- ph = new LanPairingHandler(deviceId);
+ LanDeviceLink* link = mLinks.value(deviceId);
+ qDebug() << "Creating LanPairingHandler with link " << link;
+ ph = new LanPairingHandler(link);
mPairingHandlers[deviceId] = ph;
}
@@ -469,9 +478,10 @@ void LanLinkProvider::incomingPairPackage(DeviceLink* deviceLink, const NetworkP
const QString deviceId = deviceLink->deviceId();
LanPairingHandler* ph = mPairingHandlers.value(deviceId);
if (!ph) {
- ph = new LanPairingHandler(deviceId);
+ ph = new LanPairingHandler(deviceLink);
mPairingHandlers[deviceId] = ph;
}
ph->packageReceived(np);
}
+
diff --git a/core/backends/lan/lanpairinghandler.cpp b/core/backends/lan/lanpairinghandler.cpp
index a3dba16..cee4ff6 100644
--- a/core/backends/lan/lanpairinghandler.cpp
+++ b/core/backends/lan/lanpairinghandler.cpp
@@ -27,9 +27,8 @@
#include "lanpairinghandler.h"
#include "networkpackagetypes.h"
-LanPairingHandler::LanPairingHandler(const QString& deviceId)
- : PairingHandler()
- , m_deviceId(deviceId)
+LanPairingHandler::LanPairingHandler(DeviceLink* deviceLink)
+ : PairingHandler(deviceLink)
, m_status(NotPaired)
{
m_pairingTimeout.setSingleShot(true);
diff --git a/core/backends/lan/lanpairinghandler.h b/core/backends/lan/lanpairinghandler.h
index a088bb3..a6bde25 100644
--- a/core/backends/lan/lanpairinghandler.h
+++ b/core/backends/lan/lanpairinghandler.h
@@ -38,7 +38,7 @@ public:
Paired,
};
- LanPairingHandler(const QString& deviceId);
+ LanPairingHandler(DeviceLink* deviceLink);
virtual ~LanPairingHandler() { }
virtual void createPairPackage(NetworkPackage& np) Q_DECL_OVERRIDE;
@@ -58,7 +58,6 @@ protected:
void setInternalPairStatus(InternalPairStatus status);
QTimer m_pairingTimeout;
- QString m_deviceId;
InternalPairStatus m_status;
};
diff --git a/core/backends/pairinghandler.h b/core/backends/pairinghandler.h
index 1aac977..712b7ff 100644
--- a/core/backends/pairinghandler.h
+++ b/core/backends/pairinghandler.h
@@ -42,7 +42,7 @@ class KDECONNECTCORE_EXPORT PairingHandler : public QObject
Q_OBJECT
public:
- PairingHandler(DeviceLink* parent = 0);
+ PairingHandler(DeviceLink* parent);
virtual ~PairingHandler() { }
DeviceLink* deviceLink() const;
--
kdeconnect packaging
More information about the pkg-kde-commits
mailing list