[SCM] kdeconnect packaging branch, master, updated. debian/0.9g-1-1183-g9d69498
Maximiliano Curia
maxy at moszumanska.debian.org
Fri Oct 14 14:28:46 UTC 2016
Gitweb-URL: http://git.debian.org/?p=pkg-kde/kde-extras/kdeconnect.git;a=commitdiff;h=38aa970
The following commit has been merged in the master branch:
commit 38aa9704a70113aa23093cfb64127cef863f69a6
Author: Lamarque V. Souza <lamarque at kde.org>
Date: Sat Jul 18 16:36:58 2015 -0300
Only deletes dbus interfaces for the same device that had created it.
---
plugins/battery/batterydbusinterface.cpp | 11 ++++++-----
plugins/battery/batterydbusinterface.h | 3 ++-
2 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/plugins/battery/batterydbusinterface.cpp b/plugins/battery/batterydbusinterface.cpp
index 950de73..9e06c30 100644
--- a/plugins/battery/batterydbusinterface.cpp
+++ b/plugins/battery/batterydbusinterface.cpp
@@ -24,7 +24,7 @@
#include <QDebug>
#include <core/device.h>
-BatteryDbusInterface *BatteryDbusInterface::s_currentInterface = 0;
+QMap<QString, BatteryDbusInterface *> BatteryDbusInterface::s_dbusInterfaces;
BatteryDbusInterface::BatteryDbusInterface(const Device *device)
: QDBusAbstractAdaptor(const_cast<Device*>(device))
@@ -35,12 +35,13 @@ BatteryDbusInterface::BatteryDbusInterface(const Device *device)
// This makes the old BatteryDdbusInterface be deleted only after the new one is
// fully operational. That seems to prevent the crash mentioned in BatteryPlugin's
// destructor.
- if (s_currentInterface) {
- qCDebug(KDECONNECT_PLUGIN_BATTERY) << "Deleting stale BattteryDbusInterface object.";
- s_currentInterface->deleteLater();
+ QMap<QString, BatteryDbusInterface *>::iterator oldInterfaceIter = s_dbusInterfaces.find(device->id());
+ if (oldInterfaceIter != s_dbusInterfaces.end()) {
+ qCDebug(KDECONNECT_PLUGIN_BATTERY) << "Deleting stale BattteryDbusInterface for" << device->name();
+ oldInterfaceIter.value()->deleteLater();
}
- s_currentInterface = this;
+ s_dbusInterfaces[device->id()] = this;
}
BatteryDbusInterface::~BatteryDbusInterface()
diff --git a/plugins/battery/batterydbusinterface.h b/plugins/battery/batterydbusinterface.h
index 434bed2..01d4ef7 100644
--- a/plugins/battery/batterydbusinterface.h
+++ b/plugins/battery/batterydbusinterface.h
@@ -48,7 +48,8 @@ private:
int mCharge;
bool mIsCharging;
- static BatteryDbusInterface *s_currentInterface;
+ // Map to save current BatteryDbusInterface for each device.
+ static QMap<QString, BatteryDbusInterface *> s_dbusInterfaces;
};
#endif
--
kdeconnect packaging
More information about the pkg-kde-commits
mailing list