summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMenTaLguY <mental@rydia.net>2006-07-27 03:01:27 +0000
committermental <mental@users.sourceforge.net>2006-07-27 03:01:27 +0000
commit50d94adde7c6a74362e8a7d568de6ab7808824bc (patch)
treef058ed25a4e74289dcbef92ed1817b4076a14abe /src
parentimport some new po files (diff)
downloadinkscape-50d94adde7c6a74362e8a7d568de6ab7808824bc.tar.gz
inkscape-50d94adde7c6a74362e8a7d568de6ab7808824bc.zip
switch to sigc++ "release"
(bzr r1489)
Diffstat (limited to 'src')
-rw-r--r--src/dialogs/object-attributes.cpp15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/dialogs/object-attributes.cpp b/src/dialogs/object-attributes.cpp
index b62287aff..34f7e4463 100644
--- a/src/dialogs/object-attributes.cpp
+++ b/src/dialogs/object-attributes.cpp
@@ -21,6 +21,10 @@
#include "sp-anchor.h"
#include "sp-attribute-widget.h"
+#include <sigc++/connection.h>
+#include <sigc++/functors/ptr_fun.h>
+#include <sigc++/adaptors/bind.h>
+
struct SPAttrDesc {
gchar const *label;
gchar const *attribute;
@@ -55,7 +59,7 @@ static const SPAttrDesc image_desc[] = {
static void
-object_released (GtkObject *object, GtkWidget *widget)
+object_released (SPObject *object, GtkWidget *widget)
{
gtk_widget_destroy (widget);
}
@@ -65,7 +69,9 @@ object_released (GtkObject *object, GtkWidget *widget)
static void
window_destroyed (GtkObject *window, GtkObject *object)
{
- sp_signal_disconnect_by_data (object, window);
+ sigc::connection *release_connection = (sigc::connection *)g_object_get_data(G_OBJECT(window), "release_connection");
+ release_connection->disconnect();
+ delete release_connection;
}
@@ -102,8 +108,9 @@ sp_object_attr_show_dialog ( SPObject *object,
g_signal_connect ( G_OBJECT (w), "destroy",
G_CALLBACK (window_destroyed), object );
- g_signal_connect ( G_OBJECT (object), "release",
- G_CALLBACK (object_released), w );
+ sigc::connection *release_connection = new sigc::connection();
+ *release_connection = object->connectRelease(sigc::bind<1>(sigc::ptr_fun(&object_released), w));
+ g_object_set_data(G_OBJECT(w), "release_connection", release_connection);
gtk_widget_show (w);