summaryrefslogtreecommitdiffstats
path: root/src/extension/execution-env.cpp
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2007-09-01 04:34:37 +0000
committergouldtj <gouldtj@users.sourceforge.net>2007-09-01 04:34:37 +0000
commit597f13ed6fa046e6951345a1a0826b61905ac41b (patch)
treeef8a5cc9c7cbb65017a4f82204c7df638f9c1759 /src/extension/execution-env.cpp
parentr16407@tres: ted | 2007-08-29 22:33:35 -0700 (diff)
downloadinkscape-597f13ed6fa046e6951345a1a0826b61905ac41b.tar.gz
inkscape-597f13ed6fa046e6951345a1a0826b61905ac41b.zip
r16408@tres: ted | 2007-08-29 22:52:27 -0700
Nasty little state machine. Seems better now. (bzr r3647)
Diffstat (limited to 'src/extension/execution-env.cpp')
-rw-r--r--src/extension/execution-env.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/extension/execution-env.cpp b/src/extension/execution-env.cpp
index ffaaed86d..9f50f0c6a 100644
--- a/src/extension/execution-env.cpp
+++ b/src/extension/execution-env.cpp
@@ -67,6 +67,9 @@ ExecutionEnv::ExecutionEnv (Effect * effect, Inkscape::UI::View::View * doc, Gtk
} else {
_visibleDialog = prefDialog;
_prefsVisible = true;
+
+ // We came from a dialog, we'll need to die by ourselves.
+ _selfdelete = true;
}
if (_changeSignal != NULL) {
@@ -160,7 +163,6 @@ ExecutionEnv::preferencesResponse (const int resp) {
if (!_livePreview) {
_mainloop->quit();
_humanWait = false;
- _livePreview = true; // this is counter intuitive
}
}
} else {
@@ -234,7 +236,7 @@ void
ExecutionEnv::run (void) {
while (!_finished) {
_canceled = false;
- if (_humanWait || !_livePreview) {
+ if (_humanWait) {
_mainloop->run();
} else {
_prefsChanged = false;
@@ -257,6 +259,7 @@ ExecutionEnv::livePreview (bool state) {
_mainloop->quit();
if (_livePreview && !state) {
documentCancel();
+ _humanWait = true;
}
if (!_livePreview && state) {
_humanWait = false;