From d7cc3ab4cde91c261e13a2a208ed125227e6b30f Mon Sep 17 00:00:00 2001 From: "Jon A. Cruz" Date: Sat, 30 Jul 2011 21:48:59 -0700 Subject: Added overload for getObjectById(). Added safety by zeroing out invalid points (prevents accidental use of stale pointers). (bzr r10521) --- src/document.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/document.cpp') 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); -- cgit v1.2.3