GtkWidget * sp_widget_construct_repr (SPWidget *spw, SPRepr *repr) { g_return_val_if_fail (spw != NULL, NULL); g_return_val_if_fail (SP_IS_WIDGET (spw), NULL); g_return_val_if_fail (repr != NULL, NULL); if (spw->repr) { if (repr == spw->repr) return (GtkWidget *) spw; if (GTK_WIDGET_VISIBLE (spw)) { sp_repr_remove_listener_by_data (spw->repr, spw); } sp_repr_unref (spw->repr); spw->repr = NULL; } if (spw->inkscape) { if (GTK_WIDGET_VISIBLE (spw)) { sp_signal_disconnect_by_data (inkscape, spw); } spw->inkscape = NULL; } spw->repr = repr; sp_repr_ref (spw->repr); if (GTK_WIDGET_VISIBLE (spw)) { sp_repr_add_listener (spw->repr, &spw_event_vector, spw); } g_signal_emit (G_OBJECT (spw), signals[CONSTRUCT], 0); return (GtkWidget *) spw; }
static void sp_text_edit_dialog_destroy (GtkObject *object, gpointer data) { sp_signal_disconnect_by_data (INKSCAPE, dlg); wd.win = dlg = NULL; wd.stop = 0; }
static void sp_item_dialog_destroy( GtkObject */*object*/, gpointer /*data*/ ) { sp_signal_disconnect_by_data (INKSCAPE, dlg); wd.win = dlg = NULL; wd.stop = 0; }
static void sp_widget_destroy (GtkObject *object) { SPWidget *spw; spw = (SPWidget *) object; if (spw->inkscape) { #if 1 /* This happens in ::hide (Lauris) */ /* It seems it does not (Lauris) */ /* Disconnect signals */ sp_signal_disconnect_by_data (inkscape, spw); #endif spw->inkscape = NULL; } if (spw->repr) { #if 1 /* This happens in ::hide (Lauris) */ /* It seems it does not (Lauris) */ sp_repr_remove_listener_by_data (spw->repr, spw); #endif sp_repr_unref (spw->repr); spw->repr = NULL; } if (((GtkObjectClass *) parent_class)->destroy) (* ((GtkObjectClass *) parent_class)->destroy) (object); }
static void sp_quick_align_dialog_destroy (void) { sp_signal_disconnect_by_data (INKSCAPE, dlg); wd.win = dlg = NULL; wd.stop = 0; }
void sp_sel_trans_shutdown (SPSelTrans *seltrans) { gint i; for (i = 0; i < 8; i++) { if (seltrans->shandle[i]) { g_object_unref (G_OBJECT (seltrans->shandle[i])); seltrans->shandle[i] = NULL; } if (seltrans->rhandle[i]) { g_object_unref (G_OBJECT (seltrans->rhandle[i])); seltrans->rhandle[i] = NULL; } } if (seltrans->chandle) { g_object_unref (G_OBJECT (seltrans->chandle)); seltrans->chandle = NULL; } if (seltrans->norm) { gtk_object_destroy (GTK_OBJECT (seltrans->norm)); seltrans->norm = NULL; } if (seltrans->grip) { gtk_object_destroy (GTK_OBJECT (seltrans->grip)); seltrans->grip = NULL; } if (seltrans->l1) { gtk_object_destroy (GTK_OBJECT (seltrans->l1)); seltrans->l1 = NULL; } if (seltrans->l2) { gtk_object_destroy (GTK_OBJECT (seltrans->l2)); seltrans->l2 = NULL; } if (seltrans->l3) { gtk_object_destroy (GTK_OBJECT (seltrans->l3)); seltrans->l3 = NULL; } if (seltrans->l4) { gtk_object_destroy (GTK_OBJECT (seltrans->l4)); seltrans->l4 = NULL; } if (seltrans->selection) { sp_signal_disconnect_by_data (seltrans->selection, seltrans); } nr_free (seltrans->spp); if (seltrans->items) { int i; for (i = 0; i < seltrans->nitems; i++) sp_object_unref (SP_OBJECT (seltrans->items[i]), NULL); nr_free (seltrans->items); } if (seltrans->transforms) nr_free (seltrans->transforms); }
static void sp_gradient_image_gradient_release (SPGradient *gradient, SPGradientImage *image) { if (image->gradient) { sp_signal_disconnect_by_data (image->gradient, image); } image->gradient = NULL; sp_gradient_image_update (image); }
AlignAndDistribute::~AlignAndDistribute() { sp_signal_disconnect_by_data (G_OBJECT (INKSCAPE), this); for (std::list<Action *>::iterator it = _actionList.begin(); it != _actionList.end(); ++it) { delete *it; } _desktopChangeConn.disconnect(); _deskTrack.disconnect(); }
static void sp_widget_hide (GtkWidget *widget) { SPWidget *spw; spw = SP_WIDGET (widget); if (spw->inkscape) { /* Disconnect signals */ sp_signal_disconnect_by_data (spw->inkscape, spw); } if (((GtkWidgetClass *) parent_class)->hide) (* ((GtkWidgetClass *) parent_class)->hide) (widget); }
static void sp_gradient_image_destroy (GtkObject *object) { SPGradientImage *image; image = SP_GRADIENT_IMAGE (object); if (image->gradient) { sp_signal_disconnect_by_data (image->gradient, image); image->gradient = NULL; } if (((GtkObjectClass *) (parent_class))->destroy) (* ((GtkObjectClass *) (parent_class))->destroy) (object); }
void sp_gradient_image_set_gradient (SPGradientImage *image, SPGradient *gradient) { if (image->gradient) { sp_signal_disconnect_by_data (image->gradient, image); } image->gradient = gradient; if (gradient) { g_signal_connect (G_OBJECT (gradient), "release", G_CALLBACK (sp_gradient_image_gradient_release), image); g_signal_connect (G_OBJECT (gradient), "modified", G_CALLBACK (sp_gradient_image_gradient_modified), image); } sp_gradient_image_update (image); }
static void sp_draw_context_finish (SPEventContext *ec) { SPDrawContext *dc; dc = SP_DRAW_CONTEXT (ec); if (dc->grab) { sp_canvas_item_ungrab (dc->grab, GDK_CURRENT_TIME); } if (dc->selection) { sp_signal_disconnect_by_data (dc->selection, dc); dc->selection = NULL; } spdc_free_colors (dc); }
static void sp_widget_destroy (GtkObject *object) { SPWidget *spw; spw = (SPWidget *) object; if (spw->inkscape) { /* Disconnect signals */ // the checks are necessary because when destroy is caused by the the program shutting down, // the inkscape object may already be (partly?) invalid --bb if (G_IS_OBJECT(spw->inkscape) && G_OBJECT_GET_CLASS(G_OBJECT(spw->inkscape))) sp_signal_disconnect_by_data (spw->inkscape, spw); spw->inkscape = NULL; } if (((GtkObjectClass *) parent_class)->destroy) (* ((GtkObjectClass *) parent_class)->destroy) (object); }
static void sp_draw_context_dispose (GObject *object) { SPDrawContext *dc; dc = SP_DRAW_CONTEXT (object); if (dc->grab) { sp_canvas_item_ungrab (dc->grab, GDK_CURRENT_TIME); dc->grab = NULL; } if (dc->selection) { sp_signal_disconnect_by_data (dc->selection, dc); dc->selection = NULL; } spdc_free_colors (dc); G_OBJECT_CLASS (draw_parent_class)->dispose (object); }
static void sp_find_dialog_destroy(GtkObject *object, gpointer) { sp_signal_disconnect_by_data (INKSCAPE, object); wd.win = dlg = NULL; wd.stop = 0; }