From 6b9d03842a3a642ef4c565ae5b53132851c879af Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Mardelle Date: Wed, 17 Feb 2010 07:03:22 +0000 Subject: [PATCH] Allow shutdown after rendering in Gnome session too svn path=/trunk/kdenlive/; revision=4312 --- src/customtrackview.cpp | 2 +- src/mainwindow.cpp | 3 +++ src/renderwidget.cpp | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/customtrackview.cpp b/src/customtrackview.cpp index 65071ac9..81b59ac8 100644 --- a/src/customtrackview.cpp +++ b/src/customtrackview.cpp @@ -943,7 +943,7 @@ void CustomTrackView::mousePressEvent(QMouseEvent * event) selection.at(i)->setFlag(QGraphicsItem::ItemIsMovable, false); } else if (selection.at(i)->parentItem() && !selection.contains(selection.at(i)->parentItem())) { if (static_cast(selection.at(i)->parentItem())->isItemLocked()) continue; - AbstractGroupItem *grp = static_cast(selection.at(i)->parentItem()); + //AbstractGroupItem *grp = static_cast(selection.at(i)->parentItem()); m_selectionGroup->addToGroup(selection.at(i)->parentItem()); selection.at(i)->parentItem()->setFlag(QGraphicsItem::ItemIsMovable, false); } diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 82843be0..1c9f4984 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -3191,6 +3191,9 @@ void MainWindow::slotShutdown() if (interface && interface->isServiceRegistered("org.kde.ksmserver")) { QDBusInterface smserver("org.kde.ksmserver", "/KSMServer", "org.kde.KSMServerInterface"); smserver.call("logout", 1, 2, 2); + } else if (interface && interface->isServiceRegistered("org.gnome.SessionManager")) { + QDBusInterface smserver("org.gnome.SessionManager", "/org/gnome/SessionManager", "org.gnome.SessionManager"); + smserver.call("Shutdown"); } } diff --git a/src/renderwidget.cpp b/src/renderwidget.cpp index a778a221..2fd3b714 100644 --- a/src/renderwidget.cpp +++ b/src/renderwidget.cpp @@ -195,7 +195,7 @@ RenderWidget::RenderWidget(const QString &projectfolder, QWidget * parent) : } QDBusConnectionInterface* interface = QDBusConnection::sessionBus().interface(); - if (!interface || !interface->isServiceRegistered("org.kde.ksmserver")) { + if (!interface || (!interface->isServiceRegistered("org.kde.ksmserver") && !interface->isServiceRegistered("org.gnome.SessionManager"))) { m_view.shutdown->setEnabled(false); } -- 2.39.2