Hello community,

here is the log from the commit of package bluez-qt for openSUSE:Factory 
checked in at 2015-07-14 17:21:19
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/bluez-qt (Old)
 and      /work/SRC/openSUSE:Factory/.bluez-qt.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "bluez-qt"

Changes:
--------
--- /work/SRC/openSUSE:Factory/bluez-qt/bluez-qt.changes        2015-06-23 
12:05:26.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.bluez-qt.new/bluez-qt.changes   2015-07-14 
17:21:20.000000000 +0200
@@ -1,0 +2,10 @@
+Sun Jul  5 18:44:43 UTC 2015 - [email protected]
+
+- Update to 5.12.0
+  * Remove all devices from adapter before removing the adapter
+    (kde#349363)
+  * Update links in README.md
+  * For more details please see:
+    https://www.kde.org/announcements/kde-frameworks-5.12.0.php
+
+-------------------------------------------------------------------

Old:
----
  bluez-qt-5.11.0.tar.xz

New:
----
  bluez-qt-5.12.0.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ bluez-qt.spec ++++++
--- /var/tmp/diff_new_pack.VxLr29/_old  2015-07-14 17:21:21.000000000 +0200
+++ /var/tmp/diff_new_pack.VxLr29/_new  2015-07-14 17:21:21.000000000 +0200
@@ -18,9 +18,9 @@
 
 %define sonum   6
 %define _libname KF5BluezQt
-%define _tar_path 5.11
+%define _tar_path 5.12
 Name:           bluez-qt
-Version:        5.11.0
+Version:        5.12.0
 Release:        0
 Summary:        Async Bluez wrapper library
 License:        LGPL-2.1+

++++++ bluez-qt-5.11.0.tar.xz -> bluez-qt-5.12.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bluez-qt-5.11.0/CMakeLists.txt 
new/bluez-qt-5.12.0/CMakeLists.txt
--- old/bluez-qt-5.11.0/CMakeLists.txt  2015-06-06 11:21:38.000000000 +0200
+++ new/bluez-qt-5.12.0/CMakeLists.txt  2015-07-04 22:28:30.000000000 +0200
@@ -3,7 +3,7 @@
 project(BluezQt)
 
 include(FeatureSummary)
-find_package(ECM 5.11.0 NO_MODULE)
+find_package(ECM 5.12.0 NO_MODULE)
 set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake 
Modules." URL 
"https://projects.kde.org/projects/kdesupport/extra-cmake-modules";)
 feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND 
FATAL_ON_MISSING_REQUIRED_PACKAGES)
 
@@ -18,7 +18,7 @@
 include(KDEFrameworkCompilerSettings)
 include(KDECMakeSettings)
 
-set(KF5_VERSION "5.11.0") # handled by release scripts
+set(KF5_VERSION "5.12.0") # handled by release scripts
 
 ecm_setup_version(${KF5_VERSION}
     VARIABLE_PREFIX BLUEZQT
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bluez-qt-5.11.0/README.md 
new/bluez-qt-5.12.0/README.md
--- old/bluez-qt-5.11.0/README.md       2015-06-06 11:21:38.000000000 +0200
+++ new/bluez-qt-5.12.0/README.md       2015-07-04 22:28:30.000000000 +0200
@@ -16,6 +16,7 @@
 
 ## Links
 
-- Mailing list: <https://mail.kde.org/mailman/listinfo/kde-hardware-devel>
-- IRC channel: \#solid on Freenode
-- Git repository: 
<https://projects.kde.org/projects/kde/workspace/bluez-qt/repository>
+- Home page: <https://projects.kde.org/projects/frameworks/bluez-qt>
+- Mailing list: <https://mail.kde.org/mailman/listinfo/kde-frameworks-devel>
+- IRC channel: \#kde-devel and \#solid on Freenode
+- Git repository: 
<https://projects.kde.org/projects/frameworks/bluez-qt/repository>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bluez-qt-5.11.0/autotests/managertest.cpp 
new/bluez-qt-5.12.0/autotests/managertest.cpp
--- old/bluez-qt-5.11.0/autotests/managertest.cpp       2015-06-06 
11:21:38.000000000 +0200
+++ new/bluez-qt-5.12.0/autotests/managertest.cpp       2015-07-04 
22:28:30.000000000 +0200
@@ -44,7 +44,7 @@
     Autotests::registerMetatypes();
 }
 
-void ManagerTest::cleanupTestCase()
+void ManagerTest::cleanup()
 {
     FakeBluez::stop();
 }
@@ -345,10 +345,70 @@
     FakeBluez::runAction(QStringLiteral("devicemanager"), 
QStringLiteral("change-adapter-property"), properties);
 
     QTRY_COMPARE(adapter1Spy.count(), 2);
-
     QVERIFY(manager->deviceForAddress(address));
 
     delete manager;
 }
+
+void ManagerTest::adapterWithDevicesRemovedTest()
+{
+    // tests whether the devices are always removed from the adapter before 
removing adapter
+
+    FakeBluez::start();
+    FakeBluez::runTest(QStringLiteral("bluez-standard"));
+
+    // Create adapters
+    QDBusObjectPath adapter1path = 
QDBusObjectPath(QStringLiteral("/org/bluez/hci0"));
+    QVariantMap adapterProps;
+    adapterProps[QStringLiteral("Path")] = QVariant::fromValue(adapter1path);
+    adapterProps[QStringLiteral("Address")] = 
QStringLiteral("1C:E5:C3:BC:94:7E");
+    adapterProps[QStringLiteral("Name")] = QStringLiteral("TestAdapter");
+    adapterProps[QStringLiteral("Powered")] = false;
+    FakeBluez::runAction(QStringLiteral("devicemanager"), 
QStringLiteral("create-adapter"), adapterProps);
+
+    // Create devices
+    QVariantMap deviceProps;
+    deviceProps[QStringLiteral("Path")] = 
QVariant::fromValue(QDBusObjectPath("/org/bluez/hci0/dev_40_79_6A_0C_39_75"));
+    deviceProps[QStringLiteral("Adapter")] = QVariant::fromValue(adapter1path);
+    deviceProps[QStringLiteral("Address")] = 
QStringLiteral("40:79:6A:0C:39:75");
+    deviceProps[QStringLiteral("Name")] = QStringLiteral("TestDevice");
+    FakeBluez::runAction(QStringLiteral("devicemanager"), 
QStringLiteral("create-device"), deviceProps);
+
+    deviceProps[QStringLiteral("Path")] = 
QVariant::fromValue(QDBusObjectPath("/org/bluez/hci0/dev_50_79_6A_0C_39_75"));
+    deviceProps[QStringLiteral("Adapter")] = QVariant::fromValue(adapter1path);
+    deviceProps[QStringLiteral("Address")] = 
QStringLiteral("50:79:6A:0C:39:75");
+    deviceProps[QStringLiteral("Name")] = QStringLiteral("TestDevice2");
+    FakeBluez::runAction(QStringLiteral("devicemanager"), 
QStringLiteral("create-device"), deviceProps);
+
+    Manager *manager = new Manager;
+
+    InitManagerJob *job = manager->init();
+    job->exec();
+
+    QVERIFY(!job->error());
+
+    AdapterPtr adapter = 
manager->adapterForAddress(QStringLiteral("1C:E5:C3:BC:94:7E"));
+    DevicePtr device1 = 
manager->deviceForAddress(QStringLiteral("40:79:6A:0C:39:75"));
+    DevicePtr device2 = 
manager->deviceForAddress(QStringLiteral("50:79:6A:0C:39:75"));
+
+    QVERIFY(adapter);
+    QVERIFY(device1);
+    QVERIFY(device2);
+
+    QSignalSpy adapterRemovedSpy(manager, SIGNAL(adapterRemoved(AdapterPtr)));
+    QSignalSpy deviceRemovedSpy(manager, SIGNAL(deviceRemoved(DevicePtr)));
+
+    QVariantMap properties;
+    properties[QStringLiteral("Path")] = QVariant::fromValue(adapter1path);
+    FakeBluez::runAction(QStringLiteral("devicemanager"), 
QStringLiteral("remove-adapter"), properties);
+
+    QTRY_COMPARE(adapterRemovedSpy.count(), 1);
+    QTRY_COMPARE(deviceRemovedSpy.count(), 2);
+    QCOMPARE(manager->adapters().count(), 0);
+    QCOMPARE(manager->devices().count(), 0);
+    QCOMPARE(adapter->devices().count(), 0);
+
+    delete manager;
+}
 
 QTEST_MAIN(ManagerTest)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bluez-qt-5.11.0/autotests/managertest.h 
new/bluez-qt-5.12.0/autotests/managertest.h
--- old/bluez-qt-5.11.0/autotests/managertest.h 2015-06-06 11:21:38.000000000 
+0200
+++ new/bluez-qt-5.12.0/autotests/managertest.h 2015-07-04 22:28:30.000000000 
+0200
@@ -29,7 +29,7 @@
 
 private Q_SLOTS:
     void initTestCase();
-    void cleanupTestCase();
+    void cleanup();
 
     void bluezNotRunningTest();
     void bluezNotExportingInterfacesTest();
@@ -39,6 +39,7 @@
 
     void usableAdapterTest();
     void deviceForAddressTest();
+    void adapterWithDevicesRemovedTest();
 
 };
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bluez-qt-5.11.0/autotests/qml/tst_manager.qml 
new/bluez-qt-5.12.0/autotests/qml/tst_manager.qml
--- old/bluez-qt-5.11.0/autotests/qml/tst_manager.qml   2015-06-06 
11:21:38.000000000 +0200
+++ new/bluez-qt-5.12.0/autotests/qml/tst_manager.qml   2015-07-04 
22:28:30.000000000 +0200
@@ -130,5 +130,75 @@
         tryCompare(usableAdapterChangedSpy, "count", 1);
         compare(manager.usableAdapter.ubi, adapter2path);
     }
+
+    SignalSpy {
+        id: managerAdapterRemovedSpy
+        signalName: "adapterRemoved"
+    }
+
+    SignalSpy {
+        id: managerDeviceRemovedSpy
+        signalName: "deviceRemoved"
+    }
+
+    function test_adapterWithDevicesRemoved()
+    {
+        FakeBluez.start();
+        FakeBluez.runTest("bluez-standard");
+
+        var adapter1path = "/org/bluez/hci0";
+        var adapterProps = {
+            Path: adapter1path,
+            Address: "1C:E5:C3:BC:94:7E",
+            Name: "TestAdapter",
+            Powered: false,
+            _toDBusObjectPath: [ "Path" ]
+        }
+        FakeBluez.runAction("devicemanager", "create-adapter", adapterProps);
+
+        var device1props = {
+            Path: "/org/bluez/hci0/dev_40_79_6A_0C_39_75",
+            Adapter: adapter1path,
+            Address: "40:79:6A:0C:39:75",
+            Name: "TestDevice",
+            _toDBusObjectPath: [ "Path", "Adapter" ]
+        }
+        FakeBluez.runAction("devicemanager", "create-device", device1props);
+
+        var device2props = {
+            Path: "/org/bluez/hci0/dev_50_79_6A_0C_39_75",
+            Adapter: adapter1path,
+            Address: "50:79:6A:0C:39:75",
+            Name: "TestDevice2",
+            _toDBusObjectPath: [ "Path", "Adapter" ]
+        }
+        FakeBluez.runAction("devicemanager", "create-device", device2props);
+
+        var manager = BluezQt.Manager;
+
+        tryCompare(manager, "operational", true);
+
+        var adapter = manager.adapterForAddress("1C:E5:C3:BC:94:7E");
+        var device1 = manager.deviceForAddress("40:79:6A:0C:39:75");
+        var device2 = manager.deviceForAddress("50:79:6A:0C:39:75");
+
+        verify(adapter);
+        verify(device1);
+        verify(device2);
+
+        managerAdapterRemovedSpy.target = manager;
+        managerDeviceRemovedSpy.target = manager;
+
+        var properties = {
+            Path: adapter1path,
+            _toDBusObjectPath: [ "Path" ]
+        }
+        FakeBluez.runAction("devicemanager", "remove-adapter", properties);
+
+        tryCompare(managerAdapterRemovedSpy, "count", 1);
+        tryCompare(managerDeviceRemovedSpy, "count", 2);
+        compare(manager.adapters.length, 0);
+        compare(manager.devices.length, 0);
+    }
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bluez-qt-5.11.0/src/device_p.h 
new/bluez-qt-5.12.0/src/device_p.h
--- old/bluez-qt-5.11.0/src/device_p.h  2015-06-06 11:21:38.000000000 +0200
+++ new/bluez-qt-5.12.0/src/device_p.h  2015-07-04 22:28:30.000000000 +0200
@@ -49,11 +49,6 @@
     void interfacesAdded(const QString &path, const QVariantMapMap 
&interfaces);
     void interfacesRemoved(const QString &path, const QStringList &interfaces);
 
-    void addInput(InputPtr input);
-    void addMediaPlayer(MediaPlayerPtr player);
-    void removeInput();
-    void removeMediaPlayer();
-
     QDBusPendingReply<> setDBusProperty(const QString &name, const QVariant 
&value);
     void propertiesChanged(const QString &interface, const QVariantMap 
&changed, const QStringList &invalidated);
     void namePropertyChanged(const QString &value);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bluez-qt-5.11.0/src/devicesmodel.h 
new/bluez-qt-5.12.0/src/devicesmodel.h
--- old/bluez-qt-5.11.0/src/devicesmodel.h      2015-06-06 11:21:38.000000000 
+0200
+++ new/bluez-qt-5.12.0/src/devicesmodel.h      2015-07-04 22:28:30.000000000 
+0200
@@ -72,7 +72,7 @@
         RemoteNameRole = Qt::UserRole + 104,
         /** Class of the device (quint32) */
         ClassRole = Qt::UserRole + 105,
-        /** Type of the device (DeviceType) */
+        /** Type of the device (Device::Type) */
         TypeRole = Qt::UserRole + 106,
         /** Appearance of the device (quint16) */
         AppearanceRole = Qt::UserRole + 107,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bluez-qt-5.11.0/src/manager_p.cpp 
new/bluez-qt-5.12.0/src/manager_p.cpp
--- old/bluez-qt-5.11.0/src/manager_p.cpp       2015-06-06 11:21:38.000000000 
+0200
+++ new/bluez-qt-5.12.0/src/manager_p.cpp       2015-07-04 22:28:30.000000000 
+0200
@@ -361,11 +361,17 @@
 
 void ManagerPrivate::removeAdapter(const QString &adapterPath)
 {
-    AdapterPtr adapter = m_adapters.take(adapterPath);
+    AdapterPtr adapter = m_adapters.value(adapterPath);
     if (!adapter) {
         return;
     }
 
+    // Make sure we always remove all devices before removing the adapter
+    Q_FOREACH (DevicePtr device, adapter->devices()) {
+        removeDevice(device->ubi());
+    }
+
+    m_adapters.remove(adapterPath);
     Q_EMIT adapter->adapterRemoved(adapter);
 
     if (m_adapters.isEmpty()) {


Reply via email to