Code

implemented proper error checking
authorAdonis Papaderos <ado.papas@yahoo.gr>
Mon, 6 Dec 2010 22:01:37 +0000 (00:01 +0200)
committerAdonis Papaderos <ado.papas@yahoo.gr>
Mon, 6 Dec 2010 22:01:37 +0000 (00:01 +0200)
src/selection-chemistry.cpp

index 55cfe9234a0b47e4c47608dae81e1e0cfae2376d..8b917de55ed8201a7da335684856c9962c673fb5 100644 (file)
@@ -417,7 +417,8 @@ void sp_selection_duplicate(SPDesktop *desktop, bool suppressDone)
                 }
             } else if (SP_IS_OFFSET(old_clone)) {
                 for (guint j = 0; j < old_ids.size(); j++) {
-                    if (!strcmp(SP_OFFSET(old_clone)->sourceHref+1, old_ids[j])) {
+                gchar *source_href = SP_OFFSET(old_clone)->sourceHref;
+                    if (source_href && source_href[0]=='#' && !strcmp(source_href+1, old_ids[j])) {
                         gchar *newref = g_strdup_printf("#%s", new_ids[j]);
                         doc->getObjectById(new_ids[i])->repr->setAttribute("xlink:href", newref);
                         g_free(newref);