Code

r16474@tres: ted | 2007-08-31 21:37:33 -0700
authorgouldtj <gouldtj@users.sourceforge.net>
Sat, 1 Sep 2007 04:38:03 +0000 (04:38 +0000)
committergouldtj <gouldtj@users.sourceforge.net>
Sat, 1 Sep 2007 04:38:03 +0000 (04:38 +0000)
 Changes that SVK borked.

src/extension/execution-env.cpp
src/extension/execution-env.h
src/extension/prefdialog.cpp

index 4134b71aa7c242cb9177470726d118907695e51d..3e7bb7e273b3efb2b1c875d8f87862e0610eb728 100644 (file)
@@ -36,6 +36,7 @@ ExecutionEnv::ExecutionEnv (Effect * effect, Inkscape::UI::View::View * doc, Gtk
     _canceled(false),
     _prefsChanged(false),
     _livePreview(true),
+    _shutdown(false),
     _selfdelete(false),
     _changeSignal(changeSignal),
     _doc(doc),
@@ -67,6 +68,7 @@ ExecutionEnv::ExecutionEnv (Effect * effect, Inkscape::UI::View::View * doc, Gtk
     } else {
         _visibleDialog = prefDialog;
         _prefsVisible = true;
+        _dialogsig = _visibleDialog->signal_response().connect(sigc::mem_fun(this, &ExecutionEnv::preferencesResponse));
 
         // We came from a dialog, we'll need to die by ourselves.
         _selfdelete = true;
@@ -119,7 +121,6 @@ ExecutionEnv::preferencesTimer (void) {
 void
 ExecutionEnv::createPrefsDialog (Gtk::Widget * controls) {
     _visibleDialog = new PrefDialog(_effect->get_name(), _effect->get_help(), controls, this, _effect, _changeSignal);
-    _visibleDialog->signal_response().connect(sigc::mem_fun(this, &ExecutionEnv::preferencesResponse));
     _visibleDialog->show();
     _dialogsig = _visibleDialog->signal_response().connect(sigc::mem_fun(this, &ExecutionEnv::preferencesResponse));
 
@@ -286,8 +287,7 @@ ExecutionEnv::shutdown (bool del) {
     documentCancel();
 
     _finished = true;
-    _visibleDialog = NULL;
-}
+    _shutdown = true;
     _selfdelete = del;
 
     return;
index 34b368afa26758e8b419fca4e27c6fbc79c740e1..a6c4ebf647dba2fd79ee612d93c9e75fc4dfd786 100644 (file)
@@ -32,6 +32,7 @@ private:
     bool _canceled;
     bool _prefsChanged;
     bool _livePreview;
+    bool _shutdown;
     bool _selfdelete;
     sigc::signal<void> * _changeSignal;
     Glib::RefPtr<Glib::MainLoop> _mainloop;
index 0174fd58505b58d68ec668ee8d6ab79bcd85dc86..3247224eb622396e2fb0f10cb028c4a0a43689bb 100644 (file)
@@ -217,8 +217,7 @@ PrefDialog::on_response (int signal) {
         delete this;
     }
 
-    this->hide();
-    delete this;
+    return;
 }
 
 #include "internal/clear-n_.h"