Normally a plugin would connect using its own plugin object, this is what I expect for peasy based ones at least:
``` def on_document_new(self, doc): pass def do_enable(self): self.geany_plugin.geany_data.object.connect("document-new", self.on_document_new) ```
In this case the signal connection is automatically cleaned up when `self` is destructed, i.e. when geany (via peasy) unloads the plugin.
I'm not sure we can enforce such behavior for all GI based plugins but I expect the most common cases are handled like above.
Also, we can't enforce it for plain C plugins either (for non-geany_object signals) since those can too always use plain g_object_connect().
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1038#issuecomment-223812224