summaryrefslogtreecommitdiffstats
path: root/src/uri-references.cpp
diff options
context:
space:
mode:
authorMenTaLguY <mental@rydia.net>2006-08-16 01:02:09 +0000
committermental <mental@users.sourceforge.net>2006-08-16 01:02:09 +0000
commita8a170975f53fa955fc7986dfb95defe7521f107 (patch)
tree08d6baa0b1310575b632ac1eadd960bbe4457940 /src/uri-references.cpp
parentinkboard-session now sends all changes to the document (diff)
downloadinkscape-a8a170975f53fa955fc7986dfb95defe7521f107.tar.gz
inkscape-a8a170975f53fa955fc7986dfb95defe7521f107.zip
We were disconnecting the wrong signal, resulting on the old object's
release signal lingering after a URIReference's referrent changed. Fixed, thereby fixing bug #1535218. (bzr r1603)
Diffstat (limited to 'src/uri-references.cpp')
-rw-r--r--src/uri-references.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/uri-references.cpp b/src/uri-references.cpp
index 793e10d98..6b2a8401f 100644
--- a/src/uri-references.cpp
+++ b/src/uri-references.cpp
@@ -97,13 +97,13 @@ void URIReference::_setObject(SPObject *obj) {
SPObject *old_obj=_obj;
_obj = obj;
+ _release_connection.disconnect();
if (_obj) {
sp_object_href(_obj, _owner);
_release_connection = _obj->connectRelease(sigc::mem_fun(*this, &URIReference::_release));
}
_changed_signal.emit(old_obj, _obj);
if (old_obj) {
- _release_connection.disconnect();
/* release the old object _after_ the signal emission */
sp_object_hunref(old_obj, _owner);
}