summaryrefslogtreecommitdiffstats
path: root/src/extension/prefdialog.cpp
diff options
context:
space:
mode:
authorEduard Braun <eduard.braun2@gmx.de>2017-12-20 23:11:30 +0000
committerEduard Braun <eduard.braun2@gmx.de>2017-12-20 23:11:30 +0000
commitcabdde6554a95e6d0fee5ab39f850f7645df3cbb (patch)
treef85847d899169d369929df0f570e40c871c5c361 /src/extension/prefdialog.cpp
parentEffects: make "Working..." dialog transient for preferences dialog (diff)
downloadinkscape-cabdde6554a95e6d0fee5ab39f850f7645df3cbb.tar.gz
inkscape-cabdde6554a95e6d0fee5ab39f850f7645df3cbb.zip
Make script warnings transient for "Working..." dialog
This turned out to be a bit of a mess due to the interplay between the classes Script / ExecutionEnv / Effect / PrefDialog. (Basically they don't talk to each other much but all want to contribute to the GUI) Likely "Script" (and possibly "ExecutionEnv") should be refactored to let the other classes handle UI exclusively and throw errors where suitable.
Diffstat (limited to 'src/extension/prefdialog.cpp')
-rw-r--r--src/extension/prefdialog.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/extension/prefdialog.cpp b/src/extension/prefdialog.cpp
index 92ddd3050..0247e18e9 100644
--- a/src/extension/prefdialog.cpp
+++ b/src/extension/prefdialog.cpp
@@ -131,6 +131,7 @@ PrefDialog::~PrefDialog ( )
_exEnv->cancel();
delete _exEnv;
_exEnv = NULL;
+ _effect->set_execution_env(_exEnv);
}
if (_effect != NULL) {
@@ -173,6 +174,7 @@ PrefDialog::preview_toggle (void) {
set_modal(true);
if (_exEnv == NULL) {
_exEnv = new ExecutionEnv(_effect, SP_ACTIVE_DESKTOP, NULL, false, false);
+ _effect->set_execution_env(_exEnv);
_exEnv->run();
}
} else {
@@ -182,6 +184,7 @@ PrefDialog::preview_toggle (void) {
_exEnv->undo();
delete _exEnv;
_exEnv = NULL;
+ _effect->set_execution_env(_exEnv);
}
}
}
@@ -230,6 +233,7 @@ PrefDialog::on_response (int signal) {
}
delete _exEnv;
_exEnv = NULL;
+ _effect->set_execution_env(_exEnv);
}
}