File ck-avoid-crash.diff of Package polkit-qt-1
--- core/polkitqt1-authority.cpp
+++ core/polkitqt1-authority.cpp
@@ -219,12 +219,14 @@
// then we need to extract all seats from ConsoleKit
QDBusMessage msg = QDBusMessage::createMethodCall(consoleKitService, consoleKitManagerPath, consoleKitManagerInterface, "GetSeats");
msg = QDBusConnection::systemBus().call(msg);
- // this method returns a list with present seats
- QList<QString> seats;
- qVariantValue<QDBusArgument> (msg.arguments()[0]) >> seats;
- // it can be multiple seats present so connect all their signals
- Q_FOREACH(const QString &seat, seats) {
- seatSignalsConnect(seat);
+ if (!msg.arguments().isEmpty()) {
+ // this method returns a list with present seats
+ QList<QString> seats;
+ qVariantValue<QDBusArgument> (msg.arguments()[0]) >> seats;
+ // it can be multiple seats present so connect all their signals
+ Q_FOREACH(const QString &seat, seats) {
+ seatSignalsConnect(seat);
+ }
}
}