X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fpsppire-selector.c;h=82e21399768a05548cef4fc7b59e25fa4acf8ae3;hb=refs%2Fbuilds%2F20131105032650%2Fpspp;hp=3b1bfe00abd41d208d6a924f00da269d0a118901;hpb=d5f42de822479581dded51ade0d997c16404890f;p=pspp diff --git a/src/ui/gui/psppire-selector.c b/src/ui/gui/psppire-selector.c index 3b1bfe00ab..82e2139976 100644 --- a/src/ui/gui/psppire-selector.c +++ b/src/ui/gui/psppire-selector.c @@ -883,6 +883,12 @@ on_dest_data_delete (GtkTreeModel *tree_model, } +static void +remove_selector_handlers (PsppireSelector *selector, GObject *sel) +{ + g_signal_handlers_disconnect_by_data (sel, selector); +} + static void on_dest_model_changed (PsppireSelector *selector) { @@ -896,6 +902,8 @@ on_dest_model_changed (PsppireSelector *selector) g_signal_connect (model, "row-deleted", G_CALLBACK (on_dest_data_delete), selector); + + g_signal_connect (selector, "destroy", G_CALLBACK (remove_selector_handlers), model); if ( selector->selecting ) return;