summaryrefslogtreecommitdiffstats
path: root/src/path-chemistry.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/path-chemistry.cpp')
-rw-r--r--src/path-chemistry.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/path-chemistry.cpp b/src/path-chemistry.cpp
index 9a1d67e16..b58fa4f15 100644
--- a/src/path-chemistry.cpp
+++ b/src/path-chemistry.cpp
@@ -32,6 +32,7 @@
#include "verbs.h"
#include "display/curve.h"
+#include "display/sp-canvas.h"
#include "object/box3d.h"
#include "object/object-set.h"
@@ -207,7 +208,8 @@ ObjectSet::breakApart(bool skip_undo)
desktop()->messageStack()->flash(Inkscape::IMMEDIATE_MESSAGE, _("Breaking apart paths..."));
// set "busy" cursor
desktop()->setWaitingCursor();
-
+ // disable redrawing during the break-apart operation for remarkable speedup for large paths
+ desktop()->getCanvas()->_drawing_disabled = true;
}
bool did = false;
@@ -281,9 +283,11 @@ ObjectSet::breakApart(bool skip_undo)
g_free(style);
g_free(path_effect);
}
-
- if(desktop())
+
+ if (desktop()) {
+ desktop()->getCanvas()->_drawing_disabled = false;
desktop()->clearWaitingCursor();
+ }
if (did) {
if ( !skip_undo ) {