diff options
| author | MenTaLguY <mental@rydia.net> | 2006-07-28 03:18:31 +0000 |
|---|---|---|
| committer | mental <mental@users.sourceforge.net> | 2006-07-28 03:18:31 +0000 |
| commit | e242e4718fa5978104fb0fb018c3f4cb8a771d8f (patch) | |
| tree | f033d7bea2454430ae5f832e5f9c5c147d6fd46d /src/sp-offset.cpp | |
| parent | switch to sigc++ SPObject signals for SPShape (diff) | |
| download | inkscape-e242e4718fa5978104fb0fb018c3f4cb8a771d8f.tar.gz inkscape-e242e4718fa5978104fb0fb018c3f4cb8a771d8f.zip | |
switch to sigc++ SPObject signals for SPOffset
(bzr r1496)
Diffstat (limited to 'src/sp-offset.cpp')
| -rw-r--r-- | src/sp-offset.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/sp-offset.cpp b/src/sp-offset.cpp index 6aead7a54..2253bf1e1 100644 --- a/src/sp-offset.cpp +++ b/src/sp-offset.cpp @@ -179,6 +179,7 @@ sp_offset_init(SPOffset *offset) offset->sourceHref = NULL; offset->sourceRepr = NULL; offset->sourceObject = NULL; + new (&offset->_modified_connection) sigc::connection(); new (&offset->_delete_connection) sigc::connection(); new (&offset->_changed_connection) sigc::connection(); new (&offset->_transformed_connection) sigc::connection(); @@ -196,8 +197,14 @@ sp_offset_finalize(GObject *obj) SPOffset *offset = (SPOffset *) obj; delete offset->sourceRef; + + offset->_modified_connection.disconnect(); + offset->_modified_connection.~connection(); + offset->_delete_connection.disconnect(); offset->_delete_connection.~connection(); + offset->_changed_connection.disconnect(); offset->_changed_connection.~connection(); + offset->_transformed_connection.disconnect(); offset->_transformed_connection.~connection(); } @@ -1057,7 +1064,7 @@ static void sp_offset_start_listening(SPOffset *offset,SPObject* to) offset->_delete_connection = SP_OBJECT(to)->connectDelete(sigc::bind(sigc::ptr_fun(&sp_offset_delete_self), offset)); offset->_transformed_connection = SP_ITEM(to)->connectTransformed(sigc::bind(sigc::ptr_fun(&sp_offset_move_compensate), offset)); - offset->_modified_connection = g_signal_connect (G_OBJECT (to), "modified", G_CALLBACK (sp_offset_source_modified), offset); + offset->_modified_connection = SP_OBJECT(to)->connectModified(sigc::bind<2>(sigc::ptr_fun(&sp_offset_source_modified), offset)); } static void sp_offset_quit_listening(SPOffset *offset) @@ -1065,7 +1072,7 @@ static void sp_offset_quit_listening(SPOffset *offset) if ( offset->sourceObject == NULL ) return; - g_signal_handler_disconnect (offset->sourceObject, offset->_modified_connection); + offset->_modified_connection.disconnect(); offset->_delete_connection.disconnect(); offset->_transformed_connection.disconnect(); |
