diff options
| author | su_v <suv-sf@users.sourceforge.net> | 2015-12-07 10:00:35 +0000 |
|---|---|---|
| committer | ~suv <suv-sf@users.sourceforge.net> | 2015-12-07 10:00:35 +0000 |
| commit | 457c41675d69c7463c3590ad9b8e43bcae20e611 (patch) | |
| tree | 43d1f8d4e350a3070944bbd7bb4ad265c1b6ed02 /src/uri-references.cpp | |
| parent | merge from trunk (r14473) (diff) | |
| parent | Remove leftover assert. (diff) | |
| download | inkscape-457c41675d69c7463c3590ad9b8e43bcae20e611.tar.gz inkscape-457c41675d69c7463c3590ad9b8e43bcae20e611.zip | |
merge from trunk (r14506)
(bzr r14425.1.4)
Diffstat (limited to 'src/uri-references.cpp')
| -rw-r--r-- | src/uri-references.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/uri-references.cpp b/src/uri-references.cpp index b6ccdbf5f..db46a156f 100644 --- a/src/uri-references.cpp +++ b/src/uri-references.cpp @@ -19,7 +19,7 @@ #include "uri.h" #include "uri-references.h" #include "extract-uri.h" - +#include "sp-tag-use.h" #include <glibmm/miscutils.h> #include <sigc++/functors/mem_fun.h> @@ -84,7 +84,14 @@ bool URIReference::_acceptObject(SPObject *obj) const positions.push_back(position); owner = owner->parent; } - owner = ((SPUse *)owner)->get_original(); + if (dynamic_cast<SPUse *>(owner)) + owner = ((SPUse *)owner)->get_original(); + else if (dynamic_cast<SPTagUse *>(owner)) + owner = ((SPTagUse *)owner)->get_original(); + else { + g_warning("cloned object with no known type\n"); + return false; + } for (int i = positions.size() - 2; i >= 0; i--) owner = owner->childList(false)[positions[i]]; } |
