summaryrefslogtreecommitdiffstats
path: root/src/document.cpp
diff options
context:
space:
mode:
authorMenTaLguY <mental@rydia.net>2007-05-10 01:18:16 +0000
committermental <mental@users.sourceforge.net>2007-05-10 01:18:16 +0000
commit16f043fe27ac5c3790272b530a425ee9323ff21a (patch)
tree4d9a437f8777cf9b1242e272161475753e1cd3d0 /src/document.cpp
parentmake sure microseconds get the right number of decimal places (diff)
downloadinkscape-16f043fe27ac5c3790272b530a425ee9323ff21a.tar.gz
inkscape-16f043fe27ac5c3790272b530a425ee9323ff21a.zip
add document serial numbers
(bzr r2989)
Diffstat (limited to 'src/document.cpp')
-rw-r--r--src/document.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/document.cpp b/src/document.cpp
index a61dffc0b..6ab08ffb6 100644
--- a/src/document.cpp
+++ b/src/document.cpp
@@ -70,6 +70,8 @@ gboolean sp_document_resource_list_free(gpointer key, gpointer value, gpointer d
static gint doc_count = 0;
+static unsigned long next_serial = 0;
+
SPDocument::SPDocument() {
SPDocumentPrivate *p;
@@ -96,6 +98,8 @@ SPDocument::SPDocument() {
p = new SPDocumentPrivate();
+ p->serial = next_serial++;
+
p->iddef = g_hash_table_new(g_direct_hash, g_direct_equal);
p->reprdef = g_hash_table_new(g_direct_hash, g_direct_equal);
@@ -182,6 +186,10 @@ SPDocument::~SPDocument() {
//delete this->_whiteboard_session_manager;
}
+unsigned long SPDocument::serial() const {
+ return priv->serial;
+}
+
void SPDocument::queueForOrphanCollection(SPObject *object) {
g_return_if_fail(object != NULL);
g_return_if_fail(SP_OBJECT_DOCUMENT(object) == this);