diff options
| author | MenTaLguY <mental@rydia.net> | 2006-07-29 20:01:59 +0000 |
|---|---|---|
| committer | mental <mental@users.sourceforge.net> | 2006-07-29 20:01:59 +0000 |
| commit | f70542e4dd2659219bf51fafcacc3bbd6980081e (patch) | |
| tree | 37f85584c561b70e3039b62821942d130787db28 /src/widgets | |
| parent | patch for rendering quality and speed from Jasper van de Gronde (diff) | |
| download | inkscape-f70542e4dd2659219bf51fafcacc3bbd6980081e.tar.gz inkscape-f70542e4dd2659219bf51fafcacc3bbd6980081e.zip | |
switch to sigc++ SPObject signals for gradient toolbar
(bzr r1504)
Diffstat (limited to 'src/widgets')
| -rw-r--r-- | src/widgets/gradient-toolbar.cpp | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/src/widgets/gradient-toolbar.cpp b/src/widgets/gradient-toolbar.cpp index da84eafca..cd6afac12 100644 --- a/src/widgets/gradient-toolbar.cpp +++ b/src/widgets/gradient-toolbar.cpp @@ -429,12 +429,6 @@ static void gr_disconnect_sigc (GObject *obj, sigc::connection *connection) { delete connection; } -static void gr_disconnect_gsignal (GObject *widget, gpointer defs) { - if (defs && G_IS_OBJECT(defs)) - sp_signal_disconnect_by_data (defs, widget); -} - - static void gr_edit (GtkWidget *button, GtkWidget *widget) { @@ -533,12 +527,14 @@ gr_change_widget (SPDesktop *desktop) g_signal_connect(G_OBJECT(widget), "destroy", G_CALLBACK(gr_disconnect_sigc), conn3); // connect to release and modified signals of the defs (i.e. when someone changes gradient) - g_signal_connect (G_OBJECT (SP_DOCUMENT_DEFS (document)), "release", G_CALLBACK (gr_defs_release), widget); - g_signal_connect (G_OBJECT (SP_DOCUMENT_DEFS (document)), "modified", G_CALLBACK (gr_defs_modified), widget); + sigc::connection *release_connection = new sigc::connection(); + *release_connection = SP_DOCUMENT_DEFS(document)->connectRelease(sigc::bind<1>(sigc::ptr_fun(&gr_defs_release), widget)); + sigc::connection *modified_connection = new sigc::connection(); + *modified_connection = SP_DOCUMENT_DEFS(document)->connectModified(sigc::bind<2>(sigc::ptr_fun(&gr_defs_modified), widget)); // when widget is destroyed, disconnect - g_signal_connect(G_OBJECT(widget), "destroy", G_CALLBACK(gr_disconnect_gsignal), G_OBJECT (SP_DOCUMENT_DEFS (document))); - g_signal_connect(G_OBJECT(widget), "destroy", G_CALLBACK(gr_disconnect_gsignal), G_OBJECT (SP_DOCUMENT_DEFS (document))); + g_signal_connect(G_OBJECT(widget), "destroy", G_CALLBACK(gr_disconnect_sigc), release_connection); + g_signal_connect(G_OBJECT(widget), "destroy", G_CALLBACK(gr_disconnect_sigc), modified_connection); gtk_widget_show_all (widget); return widget; |
