[arch-commits] Commit in bluedevil/trunk (KDEBUG-337193.patch PKGBUILD)
Andrea Scarpino
andrea at archlinux.org
Sun Dec 14 16:32:30 UTC 2014
Date: Sunday, December 14, 2014 @ 17:32:29
Author: andrea
Revision: 227608
upgpkg: bluedevil 1:2.0-2
Fix not recognized bluetooth adapter (FS#43074)
Added:
bluedevil/trunk/KDEBUG-337193.patch
Modified:
bluedevil/trunk/PKGBUILD
---------------------+
KDEBUG-337193.patch | 151 ++++++++++++++++++++++++++++++++++++++++++++++++++
PKGBUILD | 11 ++-
2 files changed, 159 insertions(+), 3 deletions(-)
Added: KDEBUG-337193.patch
===================================================================
--- KDEBUG-337193.patch (rev 0)
+++ KDEBUG-337193.patch 2014-12-14 16:32:29 UTC (rev 227608)
@@ -0,0 +1,151 @@
+From: David Rosca <nowrep at gmail.com>
+Date: Sat, 13 Dec 2014 12:20:24 +0000
+Subject: Bluedevil daemon: Save and restore adapters state
+X-Git-Url: http://quickgit.kde.org/?p=bluedevil.git&a=commitdiff&h=ff6ae6022286e118e98efd69ba1833f2be2e4842
+---
+Bluedevil daemon: Save and restore adapters state
+
+Fixes issue that some adapters were always powered off
+on startup.
+
+BUG: 337193
+---
+
+
+--- a/src/daemon/kded/BlueDevilDaemon.cpp
++++ b/src/daemon/kded/BlueDevilDaemon.cpp
+@@ -36,6 +36,7 @@
+ #include <KPluginFactory>
+ #include <kfileplacesmodel.h>
+ #include <kdirnotify.h>
++#include <ksharedconfig.h>
+
+ #include <bluedevil/bluedevilmanager.h>
+ #include <bluedevil/bluedeviladapter.h>
+@@ -66,6 +67,7 @@
+ QTimer m_timer;
+ KComponentData m_componentData;
+ QHash<QString, bool> m_adapterPoweredHash;
++ KSharedConfig::Ptr m_config;
+ };
+
+ BlueDevilDaemon::BlueDevilDaemon(QObject *parent, const QList<QVariant>&)
+@@ -83,6 +85,7 @@
+ , QDBusConnection::sessionBus(), QDBusServiceWatcher::WatchForUnregistration, this);
+ d->m_timer.setInterval(20000);
+ d->m_timer.setSingleShot(true);
++ d->m_config = KSharedConfig::openConfig("bluedevilglobalrc");
+
+ KAboutData aboutData(
+ "bluedevildaemon",
+@@ -106,6 +109,8 @@
+
+ connect(Manager::self(), SIGNAL(usableAdapterChanged(Adapter*)),
+ this, SLOT(usableAdapterChanged(Adapter*)));
++ connect(Manager::self(), SIGNAL(adapterAdded(Adapter*)),
++ this, SLOT(adapterAdded(Adapter*)));
+
+ // Catch suspend/resume events
+ QDBusConnection::systemBus().connect("org.freedesktop.login1",
+@@ -117,6 +122,8 @@
+ );
+
+ d->m_status = Private::Offline;
++
++ restoreAdaptersState();
+ usableAdapterChanged(Manager::self()->usableAdapter());
+
+ if (!Manager::self()->adapters().isEmpty()) {
+@@ -126,6 +133,8 @@
+
+ BlueDevilDaemon::~BlueDevilDaemon()
+ {
++ saveAdaptersState();
++
+ if (d->m_status == Private::Online) {
+ offlineMode();
+ }
+@@ -344,6 +353,11 @@
+ }
+ }
+
++void BlueDevilDaemon::adapterAdded(Adapter *adapter)
++{
++ restoreAdapterState(adapter);
++}
++
+ void BlueDevilDaemon::deviceFound(Device *device)
+ {
+ kDebug(dblue()) << "DeviceFound: " << device->name();
+@@ -359,6 +373,47 @@
+ qDebug() << "Error response: " << reply.error().message();
+ killMonolithic();
+ }
++}
++
++void BlueDevilDaemon::saveAdaptersState()
++{
++ Manager *manager = Manager::self();
++ if (!manager) {
++ return;
++ }
++
++ KConfigGroup adaptersGroup = d->m_config->group("Adapters");
++
++ Q_FOREACH (Adapter *adapter, manager->adapters()) {
++ const QString key = QString("%1_powered").arg(adapter->address());
++ adaptersGroup.writeEntry<bool>(key, adapter->isPowered());
++ }
++
++ d->m_config->sync();
++}
++
++// New adapters are automatically powered on
++void BlueDevilDaemon::restoreAdaptersState()
++{
++ Manager *manager = Manager::self();
++ if (!manager) {
++ return;
++ }
++
++ KConfigGroup adaptersGroup = d->m_config->group("Adapters");
++
++ Q_FOREACH (Adapter *adapter, manager->adapters()) {
++ const QString key = QString("%1_powered").arg(adapter->address());
++ adapter->setPowered(adaptersGroup.readEntry<bool>(key, true));
++ }
++}
++
++void BlueDevilDaemon::restoreAdapterState(Adapter *adapter)
++{
++ KConfigGroup adaptersGroup = d->m_config->group("Adapters");
++
++ const QString key = QString("%1_powered").arg(adapter->address());
++ adapter->setPowered(adaptersGroup.readEntry<bool>(key, true));
+ }
+
+ DeviceInfo BlueDevilDaemon::deviceToInfo(Device *const device) const
+
+--- a/src/daemon/kded/BlueDevilDaemon.h
++++ b/src/daemon/kded/BlueDevilDaemon.h
+@@ -82,6 +82,8 @@
+ */
+ void usableAdapterChanged(Adapter *adapter);
+
++ void adapterAdded(Adapter *adapter);
++
+ /**
+ * When the agent is released this is called to unload it
+ */
+@@ -97,6 +99,10 @@
+ void executeMonolithic();
+ void killMonolithic();
+
++ void saveAdaptersState();
++ void restoreAdaptersState();
++ void restoreAdapterState(Adapter *adapter);
++
+ DeviceInfo deviceToInfo (Device *const device) const;
+
+ private:
+
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2014-12-14 16:18:26 UTC (rev 227607)
+++ PKGBUILD 2014-12-14 16:32:29 UTC (rev 227608)
@@ -3,7 +3,7 @@
pkgname=bluedevil
pkgver=2.0
-pkgrel=1
+pkgrel=2
epoch=1
pkgdesc='KDE bluetooth framework'
arch=('i686' 'x86_64')
@@ -13,11 +13,16 @@
makedepends=('cmake' 'automoc4')
optdepends=('kdebase-workspace: to run the plasmoid')
install="${pkgname}.install"
-source=("http://download.kde.org/stable/${pkgname}/${pkgver}/src/${pkgname}-${pkgver}.tar.xz")
-md5sums=('c318b94d6de3d516598208e32cbccad6')
+source=("http://download.kde.org/stable/${pkgname}/${pkgver}/src/${pkgname}-${pkgver}.tar.xz"
+ 'KDEBUG-337193.patch')
+md5sums=('c318b94d6de3d516598208e32cbccad6'
+ '9b89d5741c951b3d940faa4cfda0a738')
prepare() {
mkdir build
+
+ cd ${pkgname}-${pkgver}
+ patch -p1 -i "${srcdir}"/KDEBUG-337193.patch
}
build(){
More information about the arch-commits
mailing list