ソースを参照

Disconnect slot if service listener is disconnected manually.

Sascha Zelzer 14 年 前
コミット
3b2922290c
共有1 個のファイルを変更した5 個の追加0 個の削除を含む
  1. 5 0
      Libs/PluginFramework/ctkPluginFrameworkListeners.cpp

+ 5 - 0
Libs/PluginFramework/ctkPluginFrameworkListeners.cpp

@@ -80,6 +80,11 @@ void ctkPluginFrameworkListeners::removeServiceSlot(ctkPlugin* plugin,
       if (slot) break;
     }
   }
+
+  if (plugin)
+  {
+    disconnect(receiver, SIGNAL(destroyed(QObject*)), this, SLOT(serviceListenerDestroyed(QObject*)));
+  }
 }
 
 void ctkPluginFrameworkListeners::serviceListenerDestroyed(QObject *listener)