Fix operation of cancel in EditableList's operation dialogue box.
authorCarl Hetherington <cth@carlh.net>
Sun, 15 Nov 2015 01:08:48 +0000 (01:08 +0000)
committerCarl Hetherington <cth@carlh.net>
Sun, 15 Nov 2015 01:08:48 +0000 (01:08 +0000)
src/wx/editable_list.h

index f41899a1ef8c374803996879bf6e8bd70c480bc8..ffaadc1823d16bf3855989e426b29ea4baf726c9 100644 (file)
@@ -122,13 +122,13 @@ private:
                T new_item;
                S* dialog = new S (this);
                dialog->set (new_item);
-               dialog->ShowModal ();
 
-               add_to_control (dialog->get ());
-
-               std::vector<T> all = _get ();
-               all.push_back (dialog->get ());
-               _set (all);
+               if (dialog->ShowModal() == wxID_OK) {
+                       add_to_control (dialog->get ());
+                       std::vector<T> all = _get ();
+                       all.push_back (dialog->get ());
+                       _set (all);
+               }
 
                dialog->Destroy ();
        }
@@ -145,8 +145,9 @@ private:
 
                S* dialog = new S (this);
                dialog->set (all[item]);
-               dialog->ShowModal ();
-               all[item] = dialog->get ();
+               if (dialog->ShowModal() == wxID_OK) {
+                       all[item] = dialog->get ();
+               }
                dialog->Destroy ();
 
                for (int i = 0; i < _columns; ++i) {