<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>