summaryrefslogtreecommitdiffstats
path: root/src/document.cpp
diff options
context:
space:
mode:
authorJon A. Cruz <jon@joncruz.org>2011-07-31 04:48:59 +0000
committerJon A. Cruz <jon@joncruz.org>2011-07-31 04:48:59 +0000
commitd7cc3ab4cde91c261e13a2a208ed125227e6b30f (patch)
tree937f7e33fff59ea0535b8dc92ca995ae339d9fe2 /src/document.cpp
parentDutch translation update (diff)
downloadinkscape-d7cc3ab4cde91c261e13a2a208ed125227e6b30f.tar.gz
inkscape-d7cc3ab4cde91c261e13a2a208ed125227e6b30f.zip
Added overload for getObjectById(). Added safety by zeroing out invalid points (prevents accidental use of stale pointers).
(bzr r10521)
Diffstat (limited to '')
-rw-r--r--src/document.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/document.cpp b/src/document.cpp
index 441a5876f..4d1d8780a 100644
--- a/src/document.cpp
+++ b/src/document.cpp
@@ -314,12 +314,15 @@ SPDocument *SPDocument::createDoc(Inkscape::XML::Document *rdoc,
if (document->uri){
g_free(document->uri);
+ document->uri = 0;
}
if (document->base){
g_free(document->base);
+ document->base = 0;
}
if (document->name){
g_free(document->name);
+ document->name = 0;
}
#ifndef WIN32
document->uri = prepend_current_dir_if_relative(uri);
@@ -852,6 +855,11 @@ SPDocument::removeUndoObserver(Inkscape::UndoStackObserver& observer)
this->priv->undoStackObservers.remove(observer);
}
+SPObject *SPDocument::getObjectById(Glib::ustring const &id) const
+{
+ return getObjectById( id.c_str() );
+}
+
SPObject *SPDocument::getObjectById(gchar const *id) const
{
g_return_val_if_fail(id != NULL, NULL);