- clip = gtk_widget_get_clipboard (widget, GDK_SELECTION_CLIPBOARD);
- g_signal_connect (clip, "owner-change", G_CALLBACK (on_owner_change),
- widget);
- on_owner_change (clip, NULL, widget);
+ data_sheet->clip = gtk_widget_get_clipboard (widget,
+ GDK_SELECTION_CLIPBOARD);
+ if (data_sheet->on_owner_change_signal)
+ g_signal_handler_disconnect (data_sheet->clip,
+ data_sheet->on_owner_change_signal);
+ data_sheet->on_owner_change_signal
+ = g_signal_connect (data_sheet->clip, "owner-change",
+ G_CALLBACK (on_owner_change), widget);
+ on_owner_change (data_sheet->clip, NULL, widget);