From 052b4e286c51af499cda1740c6d61a0d58bd745e Mon Sep 17 00:00:00 2001 From: Alexandre Lision <alexandre.lision@savoirfairelinux.com> Date: Mon, 19 Jan 2015 16:13:11 -0500 Subject: [PATCH] Fix initilization issues Bug in cmake.in template on OSX: ${VAR} does not expand when generating final file Solution @VAR@ --- cmake/LibRingClientConfig.cmake.in | 2 +- src/accountmodel.cpp | 3 ++- src/callmodel.cpp | 12 +++++++----- src/dbus/instancemanager.cpp | 2 ++ src/qtwrapper/instancemanager.cpp | 5 ++++- 5 files changed, 16 insertions(+), 8 deletions(-) diff --git a/cmake/LibRingClientConfig.cmake.in b/cmake/LibRingClientConfig.cmake.in index 1b494642..ad3d74f4 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 e980d816..e4c37102 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 c7e516e1..e3655750 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 e2ea0455..c1d76a19 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 7178f451..1feb9f3e 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; -- GitLab