From 4a1c3a244096a32b79dad819ddb5cd05d5cd0dc7 Mon Sep 17 00:00:00 2001 From: "Jon A. Cruz" Date: Mon, 8 May 2006 08:46:21 +0000 Subject: Fixed a couple of bugs (bzr r763) --- src/document-subset.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'src/document-subset.cpp') diff --git a/src/document-subset.cpp b/src/document-subset.cpp index ba6e416cd..217176f4e 100644 --- a/src/document-subset.cpp +++ b/src/document-subset.cpp @@ -170,6 +170,17 @@ private: } record.position_changed_connection.disconnect(); records.erase(obj); + + if ( record.parent == NULL ) { + Record &root = records[NULL]; + for ( Siblings::iterator it = root.children.begin(); it != root.children.end(); ++it ) { + if ( *it == obj ) { + root.children.erase( it ); + break; + } + } + } + removed_signal.emit(obj); sp_object_unref(obj); } @@ -202,7 +213,7 @@ DocumentSubset::DocumentSubset() void DocumentSubset::Relations::addOne(SPObject *obj) { g_return_if_fail( obj != NULL ); - g_return_if_fail( get(obj) != NULL ); + g_return_if_fail( get(obj) == NULL ); Record &record=_doAdd(obj); -- cgit v1.2.3