summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMenTaLguY <mental@rydia.net>2006-07-29 20:01:59 +0000
committermental <mental@users.sourceforge.net>2006-07-29 20:01:59 +0000
commitf70542e4dd2659219bf51fafcacc3bbd6980081e (patch)
tree37f85584c561b70e3039b62821942d130787db28 /src
parentpatch for rendering quality and speed from Jasper van de Gronde (diff)
downloadinkscape-f70542e4dd2659219bf51fafcacc3bbd6980081e.tar.gz
inkscape-f70542e4dd2659219bf51fafcacc3bbd6980081e.zip
switch to sigc++ SPObject signals for gradient toolbar
(bzr r1504)
Diffstat (limited to 'src')
-rw-r--r--src/widgets/gradient-toolbar.cpp16
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;