From 1833ca12ec9d962298a10394793e8f2a2c16a6a0 Mon Sep 17 00:00:00 2001 From: Joao Carreira Date: Mon, 11 Sep 2017 01:08:00 +0100 Subject: [PATCH] Fix DBus communication in order to re-use app instances --- app/PlaYUVerAppAdaptor.cpp | 4 +++- app/PlaYUVerAppAdaptor.h | 4 ++-- app/main.cpp | 3 +-- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/app/PlaYUVerAppAdaptor.cpp b/app/PlaYUVerAppAdaptor.cpp index bdddbbb..56a02a8 100644 --- a/app/PlaYUVerAppAdaptor.cpp +++ b/app/PlaYUVerAppAdaptor.cpp @@ -30,8 +30,10 @@ PlaYUVerAppAdaptor::PlaYUVerAppAdaptor( PlaYUVerApp* app ) : QDBusAbstractAdaptor( app ), m_app( app ) { // application dbus interface - QDBusConnection::sessionBus().registerObject( QStringLiteral( PLAYUVER_DBUS_PATH ), this, + Bool isRegistered = QDBusConnection::sessionBus().registerObject( QStringLiteral( PLAYUVER_DBUS_PATH ), this, QDBusConnection::ExportAllSlots ); + + Q_ASSERT( isRegistered == true ); } PlaYUVerAppAdaptor::~PlaYUVerAppAdaptor() diff --git a/app/PlaYUVerAppAdaptor.h b/app/PlaYUVerAppAdaptor.h index d57236a..7c1c357 100644 --- a/app/PlaYUVerAppAdaptor.h +++ b/app/PlaYUVerAppAdaptor.h @@ -33,14 +33,14 @@ #include #define PLAYUVER_DBUS_SESSION_NAME "org.pixlra.PlaYUVer.application" -#define PLAYUVER_DBUS_PATH "/MainApplication" +#define PLAYUVER_DBUS_PATH "/" class PlaYUVerApp; class PlaYUVerAppAdaptor : public QDBusAbstractAdaptor { Q_OBJECT - Q_CLASSINFO( "D-Bus Interface", "org.pixlra.PlaYUVer.application" ) + Q_CLASSINFO( "D-Bus Interface", PLAYUVER_DBUS_SESSION_NAME ) Q_PROPERTY( QString activeSession READ activeSession ) public: PlaYUVerAppAdaptor( PlaYUVerApp* app ); diff --git a/app/main.cpp b/app/main.cpp index 7a3d9db..5853941 100644 --- a/app/main.cpp +++ b/app/main.cpp @@ -56,8 +56,7 @@ int main( int argc, char* argv[] ) * use dbus, if available * allows for resuse of running Kate instances */ - QDBusConnectionInterface* const sessionBusInterface = QDBusConnection::sessionBus().interface(); - if( sessionBusInterface ) + if (QDBusConnectionInterface * const sessionBusInterface = QDBusConnection::sessionBus().interface()) { Bool force_new = false; QStringList filenameList;