<div>Hi,</div><div><br></div><div>connectionRemoved() is both defined as a signal in the base class Notifier and as a slot in the deriving class SettingsPrivate. The signal is being emitted from the function itself => recursive call of that function.</div>
<div><br></div><div>Diff at the end of the mail with a fix.</div><div><br></div><div>Best regards,</div><div><br></div><div>Christophe</div><div><br></div><div>diff -r 9f062f9781ab settings.cpp</div><div>--- a/settings.cpp<span class="Apple-tab-span" style="white-space:pre"> </span>Wed Aug 08 11:39:59 2012 +0200</div>
<div>+++ b/settings.cpp<span class="Apple-tab-span" style="white-space:pre"> </span>Wed Aug 08 11:45:10 2012 +0200</div><div>@@ -145,12 +145,12 @@</div><div> } else {</div><div> rc = new NetworkManager::Settings::Connection(path, this);</div>
<div> connections.insert(path, rc);</div><div>- connect(rc, SIGNAL(removed(QString)), this, SLOT(connectionRemoved(QString)));</div><div>+ connect(rc, SIGNAL(removed(QString)), this, SLOT(slotConnectionRemoved(QString)));</div>
<div> }</div><div> return rc;</div><div> }</div><div> </div><div>-void NetworkManager::Settings::SettingsPrivate::connectionRemoved(const QString &path)</div><div>+void NetworkManager::Settings::SettingsPrivate::slotConnectionRemoved(const QString &path)</div>
<div> {</div><div> NetworkManager::Settings::Connection *rc = connections.take(path);</div><div> emit connectionRemoved(path);</div><div>@@ -161,7 +161,7 @@</div><div> {</div><div> QMap<QString, Connection*>::const_iterator i;</div>
<div> for (i = connections.constBegin(); i != connections.constEnd(); ++i) {</div><div>- connectionRemoved(i.key());</div><div>+ slotConnectionRemoved(i.key());</div><div> }</div><div> connections.clear();</div>
<div> }</div><div>diff -r 9f062f9781ab settings_p.h</div><div>--- a/settings_p.h<span class="Apple-tab-span" style="white-space:pre"> </span>Wed Aug 08 11:39:59 2012 +0200</div><div>+++ b/settings_p.h<span class="Apple-tab-span" style="white-space:pre"> </span>Wed Aug 08 11:45:10 2012 +0200</div>
<div>@@ -52,7 +52,7 @@</div><div> OrgFreedesktopNetworkManagerSettingsInterface iface;</div><div> protected Q_SLOTS:</div><div> void slotConnectionAdded(const QDBusObjectPath &);</div><div>- void connectionRemoved(const QString &);</div>
<div>+ void slotConnectionRemoved(const QString &);</div><div> void propertiesChanged(const QVariantMap &);</div><div> void onConnectionAddArrived(QDBusPendingCallWatcher *);</div><div> void daemonUnregistered();</div>
<div><br></div>