summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 7ee3c5b)
raw | patch | inline | side by side (parent: 7ee3c5b)
author | gouldtj <gouldtj@users.sourceforge.net> | |
Sat, 1 Sep 2007 04:34:28 +0000 (04:34 +0000) | ||
committer | gouldtj <gouldtj@users.sourceforge.net> | |
Sat, 1 Sep 2007 04:34:28 +0000 (04:34 +0000) |
Fixing a crash on signal deletion and also making it so that OK is
handled correctly.
handled correctly.
src/extension/execution-env.cpp | patch | blob | history |
index caef5033a9fe90538b109bb583b1970b9de9fa63..ffaaed86d60968140fca0e969fb7be0c7ec74152 100644 (file)
ExecutionEnv::~ExecutionEnv (void) {
_dialogsig.disconnect();
- _changesig.disconnect();
+ if (_prefsVisible) {
+ _changesig.disconnect();
+ }
if (_visibleDialog != NULL && !_shutdown) {
delete _visibleDialog;
}
}
if (_changeSignal != NULL) {
delete _changeSignal;
+ _changeSignal = NULL;
}
gchar * dlgmessage = g_strdup_printf(_("'%s' working, please wait..."), _effect->get_name());
void
ExecutionEnv::preferencesResponse (const int resp) {
if (resp == Gtk::RESPONSE_OK) {
- if (_humanWait) {
+ if (_humanWait && _livePreview) {
documentCommit();
_mainloop->quit();
_finished = true;
} else {
createWorkingDialog();
+ if (!_livePreview) {
+ _mainloop->quit();
+ _humanWait = false;
+ _livePreview = true; // this is counter intuitive
+ }
}
} else {
if (_humanWait) {