diff --git a/src/seasidecache.cpp b/src/seasidecache.cpp index 035ab44..f768349 100644 --- a/src/seasidecache.cpp +++ b/src/seasidecache.cpp @@ -571,17 +571,21 @@ SeasideCache::SeasideCache() // need to find it from the manager's engine object typedef QtContactsSqliteExtensions::ContactManagerEngine EngineType; EngineType *cme = dynamic_cast(QContactManagerData::managerData(mgr)->m_engine); - connect(cme, SIGNAL(displayLabelGroupsChanged(QStringList)), - this, SLOT(displayLabelGroupsChanged(QStringList))); - displayLabelGroupsChanged(cme->displayLabelGroups()); + if (cme) { + connect(cme, SIGNAL(displayLabelGroupsChanged(QStringList)), + this, SLOT(displayLabelGroupsChanged(QStringList))); + displayLabelGroupsChanged(cme->displayLabelGroups()); + connect(cme, SIGNAL(contactsPresenceChanged(QList)), + this, SLOT(contactsPresenceChanged(QList))); + } else { + qWarning() << "Unable to retrieve contact manager engine"; + } connect(mgr, SIGNAL(dataChanged()), this, SLOT(dataChanged())); connect(mgr, SIGNAL(contactsAdded(QList)), this, SLOT(contactsAdded(QList))); connect(mgr, SIGNAL(contactsChanged(QList)), this, SLOT(contactsChanged(QList))); - connect(cme, SIGNAL(contactsPresenceChanged(QList)), - this, SLOT(contactsPresenceChanged(QList))); connect(mgr, SIGNAL(contactsRemoved(QList)), this, SLOT(contactsRemoved(QList)));