diff --git a/cmake/LibRingClientConfig.cmake.in b/cmake/LibRingClientConfig.cmake.in index 1b49464237089379a6bf618d87e67b3dbb7f086f..ad3d74f4d3e85f19d0f3ca5f31d537922ff9e099 100644 --- a/cmake/LibRingClientConfig.cmake.in +++ b/cmake/LibRingClientConfig.cmake.in @@ -2,7 +2,7 @@ INCLUDE(GNUInstallDirs) -SET(LIB_RING_CLIENT_INCLUDE_DIR ${INCLUDE_INSTALL_DIR}/libringclient/) +SET(LIB_RING_CLIENT_INCLUDE_DIR @INCLUDE_INSTALL_DIR@/libringclient) STRING(REPLACE "${CMAKE_LIBRARY_ARCHITECTURE}" "" SANE_LIBRARY_PATH "${CMAKE_INSTALL_FULL_LIBDIR}" ) diff --git a/src/accountmodel.cpp b/src/accountmodel.cpp index e980d8166292ef3a720d49da63272186bc947898..e4c37102b4a3ac5e4fd5b24797803047fa9743b7 100644 --- a/src/accountmodel.cpp +++ b/src/accountmodel.cpp @@ -26,6 +26,7 @@ //Ring library #include "dbus/configurationmanager.h" #include "dbus/callmanager.h" +#include "dbus/instancemanager.h" #include "visitors/accountlistcolorvisitor.h" class AccountModelPrivate : public QObject @@ -96,7 +97,7 @@ m_pColorVisitor(nullptr),m_pIP2IP(nullptr) AccountModel::AccountModel() : QAbstractListModel(QCoreApplication::instance()) ,d_ptr(new AccountModelPrivate(this)) { - + InstanceInterface& instance = DBus::InstanceManager::instance(); } ///Prevent constructor loop diff --git a/src/callmodel.cpp b/src/callmodel.cpp index c7e516e1dfb5912b450924380be83ad699b3e41e..e365575084d36a8c95b59e203df6790631c91845 100644 --- a/src/callmodel.cpp +++ b/src/callmodel.cpp @@ -132,10 +132,6 @@ CallModel::CallModel() : QAbstractItemModel(QCoreApplication::instance()),d_ptr( { //Register with the daemon InstanceInterface& instance = DBus::InstanceManager::instance(); -#ifndef ENABLE_LIBWRAP - QDBusPendingReply<QString> reply = instance.Register(getpid(), "Ring KDE Client"); - reply.waitForFinished(); -#endif setObjectName("CallModel"); } //CallModel @@ -402,7 +398,13 @@ Call* CallModel::dialingCall(const QString& peerName, Account* account) //No dialing call found, creating one Account* acc = (account)?account:AccountModel::currentAccount(); - return (!acc)?nullptr:d_ptr->addCall(CallPrivate::buildDialingCall(QString::number(qrand()), peerName, acc)); + + if (!acc) { + qWarning() << "No account is available, cannot call" << DBus::ConfigurationManager::instance().getAccountList(); + return nullptr; + } + + return d_ptr->addCall(CallPrivate::buildDialingCall(QString::number(qrand()), peerName, acc)); } //dialingCall ///Create a new incoming call when the daemon is being called diff --git a/src/dbus/instancemanager.cpp b/src/dbus/instancemanager.cpp index e2ea0455bf8c3dd214273e420dd890894c401c6e..c1d76a19a87132f012e901bd5b8db2eb8d1923fc 100644 --- a/src/dbus/instancemanager.cpp +++ b/src/dbus/instancemanager.cpp @@ -33,6 +33,8 @@ InstanceInterface& DBus::InstanceManager::instance() if(!interface->connection().isConnected()) { throw "Error : dring not connected. Service " + interface->service() + " not connected. From instance interface."; } + QDBusPendingReply<QString> reply = instance.Register(getpid(), "Ring KDE Client"); + reply.waitForFinished(); #endif return *interface; } diff --git a/src/qtwrapper/instancemanager.cpp b/src/qtwrapper/instancemanager.cpp index 7178f451c730a44ffddeba63d3a7c265e1537be5..1feb9f3e9a6eb27ccd23e2eb933c157f2a1a6f79 100644 --- a/src/qtwrapper/instancemanager.cpp +++ b/src/qtwrapper/instancemanager.cpp @@ -26,11 +26,14 @@ static int ringFlags = 0; +void pollEvents(); + InstanceInterface::InstanceInterface() : m_pTimer(nullptr) { m_pTimer = new QTimer(this); m_pTimer->setInterval(50); - connect(m_pTimer,SIGNAL(timeout()),this,SLOT(pollEvents())); + connect(m_pTimer,&QTimer::timeout,this,&pollEvents); + m_pTimer->start(); ringFlags |= RING_FLAG_DEBUG; ringFlags |= RING_FLAG_CONSOLE_LOG;