diff --git a/src/widgets/arc-toolbar.cpp b/src/widgets/arc-toolbar.cpp index d19b8672c44c830327de0132a842565c8d0a74de..23ecad50a38afeb0ccb4215c9d0b9139e56196eb 100644 --- a/src/widgets/arc-toolbar.cpp +++ b/src/widgets/arc-toolbar.cpp @@ -596,8 +596,10 @@ static void arc_toolbox_check_ec(SPDesktop* desktop, Inkscape::UI::Tools::ToolBa changed = desktop->getSelection()->connectChanged(sigc::bind(sigc::ptr_fun(sp_arc_toolbox_selection_changed), holder)); sp_arc_toolbox_selection_changed(desktop->getSelection(), holder); } else { - if (changed) + if (changed) { changed.disconnect(); + purge_repr_listener(NULL, holder); + } } }