Hello community,

here is the log from the commit of package kdebase4-workspace for 
openSUSE:Factory checked in at 2012-11-16 13:35:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kdebase4-workspace (Old)
 and      /work/SRC/openSUSE:Factory/.kdebase4-workspace.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kdebase4-workspace", Maintainer is "kde-maintain...@suse.de"

Changes:
--------
--- /work/SRC/openSUSE:Factory/kdebase4-workspace/kdebase4-workspace.changes    
2012-11-08 07:42:53.000000000 +0100
+++ 
/work/SRC/openSUSE:Factory/.kdebase4-workspace.new/kdebase4-workspace.changes   
    2012-11-16 13:35:55.000000000 +0100
@@ -1,0 +2,6 @@
+Thu Nov 15 10:13:44 UTC 2012 - tittiatc...@gmail.com
+
+- Activate systemd support for Factory only. This disables 
+  ConsoleKit support !!
+
+-------------------------------------------------------------------

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

Other differences:
------------------
++++++ kdebase4-workspace.spec ++++++
--- /var/tmp/diff_new_pack.6OzSZh/_old  2012-11-16 13:35:58.000000000 +0100
+++ /var/tmp/diff_new_pack.6OzSZh/_new  2012-11-16 13:35:58.000000000 +0100
@@ -16,7 +16,11 @@
 #
 
 
+%if 0%{?suse_version} > 1220
+%define with_systemd 1
+%else
 %define with_systemd 0
+%endif
 
 Name:           kdebase4-workspace
 Version:        4.9.3




++++++ workspace_systemd_initial_support.patch ++++++
--- /var/tmp/diff_new_pack.6OzSZh/_old  2012-11-16 13:35:58.000000000 +0100
+++ /var/tmp/diff_new_pack.6OzSZh/_new  2012-11-16 13:35:58.000000000 +0100
@@ -327,3 +327,115 @@
              }
          }
          return false;
+--- kde-workspace-4.9.2/libs/kworkspace/kdisplaymanager.cpp.moje       
2012-10-08 15:27:57.172066523 +0200
++++ kde-workspace-4.9.1/libs/kworkspace/kdisplaymanager.cpp    2012-10-08 
15:28:42.494886559 +0200
+@@ -112,6 +112,19 @@ public:
+                 path.path(),
+                 QLatin1String("org.freedesktop.login1.Seat"),
+                 QDBusConnection::systemBus()) {}
++    /* HACK to be able to extract a(so) type from QDBus, property doesn't do 
the trick */
++    QList<NamedDBusObjectPath> getSessions() {
++        QDBusMessage message = QDBusMessage::createMethodCall(service(), 
path(), QLatin1String("org.freedesktop.DBus.Properties"), QLatin1String("Get"));
++        message <<  interface() <<  QLatin1String("Sessions");
++        QDBusMessage reply = QDBusConnection::systemBus().call(message);
++
++        QVariantList args = reply.arguments();
++        if (!args.isEmpty()) {
++            QList<NamedDBusObjectPath> namedPathList = qdbus_cast< 
QList<NamedDBusObjectPath> 
>(args.at(0).value<QDBusVariant>().variant().value<QDBusArgument>());
++            return namedPathList;
++        }
++        return QList<NamedDBusObjectPath>();
++    }
+ };
+ 
+ class SystemdSession : public QDBusInterface
+@@ -123,6 +136,33 @@ public:
+                 path.path(),
+                 QLatin1String("org.freedesktop.login1.Session"),
+                 QDBusConnection::systemBus()) {}
++    /* HACK to be able to extract (so) type from QDBus, property doesn't do 
the trick */
++    NamedDBusObjectPath getSeat() {
++        QDBusMessage message = QDBusMessage::createMethodCall(service(), 
path(), QLatin1String("org.freedesktop.DBus.Properties"), QLatin1String("Get"));
++        message <<  interface() <<  QLatin1String("Seat");
++        QDBusMessage reply = QDBusConnection::systemBus().call(message);
++
++        QVariantList args = reply.arguments();
++        if (!args.isEmpty()) {
++            NamedDBusObjectPath namedPath;
++            args.at(0).value<QDBusVariant>().variant().value<QDBusArgument>() 
>> namedPath;
++            return namedPath;
++        }
++        return NamedDBusObjectPath();
++    }
++    NumberedDBusObjectPath getUser() {
++        QDBusMessage message = QDBusMessage::createMethodCall(service(), 
path(), QLatin1String("org.freedesktop.DBus.Properties"), QLatin1String("Get"));
++        message <<  interface() <<  QLatin1String("User");
++        QDBusMessage reply = QDBusConnection::systemBus().call(message);
++
++        QVariantList args = reply.arguments();
++        if (!args.isEmpty()) {
++            NumberedDBusObjectPath numberedPath;
++            args.at(0).value<QDBusVariant>().variant().value<QDBusArgument>() 
>> numberedPath;
++            return numberedPath;
++        }
++        return NumberedDBusObjectPath();
++    }
+ };
+ #else
+ class CKManager : public QDBusInterface
+@@ -339,14 +379,11 @@ static bool getCurrentSeat(QDBusObjectPa
+     if (r.isValid()) {
+         SystemdSession sess(r.value());
+         if (sess.isValid()) {
+-            QVariant p = sess.property("Seat");
+-            if (p.canConvert<NamedDBusObjectPath>()) {
+-                NamedDBusObjectPath namedPath = 
p.value<NamedDBusObjectPath>();
+-                if (currentSession)
+-                    *currentSession = r.value();
+-                *currentSeat = namedPath.path;
+-                return true;
+-            }
++            NamedDBusObjectPath namedPath = sess.getSeat();
++            if (currentSession)
++                *currentSession = r.value();
++            *currentSeat = namedPath.path;
++            return true;
+         }
+     }
+ #else
+@@ -373,17 +410,14 @@ static QList<QDBusObjectPath> getSession
+ #ifdef KWORKSPACE_USE_SYSTEMD
+     SystemdSeat seat(path);
+     if (seat.isValid()) {
+-        QVariant p = seat.property("Sessions");
+-        if (p.canConvert<QList<NamedDBusObjectPath> >()) {
+-            QList<NamedDBusObjectPath> r = p.value<QList<NamedDBusObjectPath> 
>();
+-            QList<QDBusObjectPath> result;
+-            foreach (const NamedDBusObjectPath &namedPath, r)
+-                result.append(namedPath.path);
+-            // This will contain only local sessions:
+-            // - this is only ever called when isSwitchable() is true => 
local seat
+-            // - remote logins into the machine are assigned to other seats
+-            return result;
+-        }
++        QList<NamedDBusObjectPath> r = seat.getSessions();
++        QList<QDBusObjectPath> result;
++        foreach (const NamedDBusObjectPath &namedPath, r)
++            result.append(namedPath.path);
++        // This will contain only local sessions:
++        // - this is only ever called when isSwitchable() is true => local 
seat
++        // - remote logins into the machine are assigned to other seats
++        return result;
+     }
+ #else
+     CKSeat seat(path);
+@@ -633,8 +667,7 @@ KDisplayManager::localSessions(SessList
+                     SessEnt se;
+                     getSessionLocation(lsess, se);
+                     if (lsess.property("Class").toString() != 
QLatin1String("greeter")) {
+-                        QVariant p = lsess.property("User");
+-                        NumberedDBusObjectPath numberedPath = 
p.value<NumberedDBusObjectPath>();
++                        NumberedDBusObjectPath numberedPath = lsess.getUser();
+                         se.user = KUser(K_UID(numberedPath.num)).loginName();
+                         se.session = "<unknown>";
+                     }

-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to