summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorbulia byak <buliabyak@gmail.com>2007-02-11 02:00:45 +0000
committerbuliabyak <buliabyak@users.sourceforge.net>2007-02-11 02:00:45 +0000
commit0b7d34a75df1bb5504edd0e81e4dd7558f89e5d7 (patch)
tree000e1af989f49f9d24b72f33aa52b2fa9125e91a /src
parentadded comments. updated version (diff)
downloadinkscape-0b7d34a75df1bb5504edd0e81e4dd7558f89e5d7.tar.gz
inkscape-0b7d34a75df1bb5504edd0e81e4dd7558f89e5d7.zip
fix 1654495: a comment repr node has no spobject, so we must weaken the asserts
(bzr r2355)
Diffstat (limited to 'src')
-rw-r--r--src/sp-object.cpp5
-rw-r--r--src/sp-root.cpp4
2 files changed, 5 insertions, 4 deletions
diff --git a/src/sp-object.cpp b/src/sp-object.cpp
index 9294a2e9f..9b6c24917 100644
--- a/src/sp-object.cpp
+++ b/src/sp-object.cpp
@@ -737,8 +737,9 @@ sp_object_remove_child(SPObject *object, Inkscape::XML::Node *child)
{
debug("id=%x, typename=%s", object, g_type_name_from_instance((GTypeInstance*)object));
SPObject *ochild = sp_object_get_child_by_repr(object, child);
- g_return_if_fail(ochild != NULL);
- sp_object_detach(object, ochild);
+ g_return_if_fail (ochild != NULL || !strcmp("comment", child->name())); // comments have no objects
+ if (ochild)
+ sp_object_detach(object, ochild);
}
/**
diff --git a/src/sp-root.cpp b/src/sp-root.cpp
index d6e423edc..c555c78a0 100644
--- a/src/sp-root.cpp
+++ b/src/sp-root.cpp
@@ -353,9 +353,9 @@ sp_root_child_added(SPObject *object, Inkscape::XML::Node *child, Inkscape::XML:
(* ((SPObjectClass *) (parent_class))->child_added)(object, child, ref);
SPObject *co = object->document->getObjectByRepr(child);
- g_assert(co != NULL);
+ g_assert (co != NULL || !strcmp("comment", child->name())); // comment repr node has no object
- if (SP_IS_DEFS(co)) {
+ if (co && SP_IS_DEFS(co)) {
SPObject *c;
/* We search for first <defs> node - it is not beautiful, but works */
for (c = sp_object_first_child(SP_OBJECT(group)) ; c != NULL; c = SP_OBJECT_NEXT(c) ) {