diff --git a/src/document-undo.cpp b/src/document-undo.cpp
index 0f0a606a1253237954f69e3ddd462150c3ec4c90..ae1c82e71f4e4d2e02b4ab2e6e480599ac26096f 100644 (file)
--- a/src/document-undo.cpp
+++ b/src/document-undo.cpp
#if HAVE_STDLIB_H
#endif
+#include <string>
+#include <cstring>
#include "xml/repr.h"
#include "document-private.h"
#include "inkscape.h"
@@ -124,10 +126,10 @@ sp_document_done (SPDocument *doc, const unsigned int event_type, Glib::ustring
}
void
-sp_document_reset_key (Inkscape::Application *inkscape, SPDesktop *desktop, GtkObject *base)
+sp_document_reset_key (Inkscape::Application */*inkscape*/, SPDesktop */*desktop*/, GtkObject *base)
{
- SPDocument *doc = (SPDocument *) base;
- doc->actionkey = NULL;
+ SPDocument *doc = (SPDocument *) base;
+ doc->actionkey = NULL;
}
namespace {
CommitEvent(SPDocument *doc, const gchar *key, const unsigned int type)
: InteractionEvent(share_static_string("commit"))
{
- _addProperty(share_static_string("timestamp"), timestamp());
- gchar *serial = g_strdup_printf("%ul", doc->serial());
+ _addProperty(share_static_string("timestamp"), timestamp());
+ gchar *serial = g_strdup_printf("%lu", doc->serial());
_addProperty(share_static_string("document"), serial);
g_free(serial);
Verb *verb = Verb::get(type);
@@ -199,9 +201,7 @@ sp_document_maybe_done (SPDocument *doc, const gchar *key, const unsigned int ev
doc->actionkey = key;
doc->virgin = FALSE;
- if (!doc->rroot->attribute("sodipodi:modified")) {
- doc->rroot->setAttribute("sodipodi:modified", "true");
- }
+ doc->setModifiedSinceSave();
sp_repr_begin_transaction (doc->rdoc);
sp_repr_begin_transaction (doc->rdoc);
}
-namespace {
-
-void finish_incomplete_transaction(SPDocument &doc) {
+static void finish_incomplete_transaction(SPDocument &doc) {
SPDocumentPrivate &priv=*doc.priv;
Inkscape::XML::Event *log=sp_repr_commit_undoable(doc.rdoc);
if (log || priv.partial) {
}
}
-}
-
gboolean
sp_document_undo (SPDocument *doc)
{
sp_repr_undo_log (log->event);
doc->priv->redo = g_slist_prepend (doc->priv->redo, log);
- doc->rroot->setAttribute("sodipodi:modified", "true");
+ doc->setModifiedSinceSave();
doc->priv->undoStackObservers.notifyUndoEvent(log);
ret = TRUE;
sp_repr_replay_log (log->event);
doc->priv->undo = g_slist_prepend (doc->priv->undo, log);
- doc->rroot->setAttribute("sodipodi:modified", "true");
+ doc->setModifiedSinceSave();
doc->priv->undoStackObservers.notifyRedoEvent(log);
ret = TRUE;