summaryrefslogtreecommitdiffstats
path: root/src/widgets
diff options
context:
space:
mode:
Diffstat (limited to 'src/widgets')
-rw-r--r--src/widgets/toolbox.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/widgets/toolbox.cpp b/src/widgets/toolbox.cpp
index fba4f58ce..fbcb397cf 100644
--- a/src/widgets/toolbox.cpp
+++ b/src/widgets/toolbox.cpp
@@ -1886,6 +1886,7 @@ void toggle_snap_callback (GtkToggleAction *act, gpointer data) { //data points
SPDesktop *dt = reinterpret_cast<SPDesktop*>(ptr);
SPNamedView *nv = sp_desktop_namedview(dt);
+ SPDocument *doc = SP_OBJECT_DOCUMENT(nv);
if (dt == NULL || nv == NULL) {
g_warning("No desktop or namedview specified (in toggle_snap_callback)!");
@@ -1899,6 +1900,9 @@ void toggle_snap_callback (GtkToggleAction *act, gpointer data) { //data points
return;
}
+ bool saved = sp_document_get_undo_sensitive(doc);
+ sp_document_set_undo_sensitive(doc, false);
+
bool v = false;
SPAttributeEnum attr = (SPAttributeEnum) GPOINTER_TO_INT(g_object_get_data(G_OBJECT(act), "SP_ATTR_INKSCAPE"));
@@ -1980,8 +1984,9 @@ void toggle_snap_callback (GtkToggleAction *act, gpointer data) { //data points
}
// The snapping preferences are stored in the document, and therefore toggling makes the document dirty
- SPDocument *doc = SP_OBJECT_DOCUMENT(nv);
doc->setModifiedSinceSave();
+
+ sp_document_set_undo_sensitive(doc, saved);
}
void setup_snap_toolbox(GtkWidget *toolbox, SPDesktop *desktop)