Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
frmContactEditor: Stop XAB crashing when pressing Modify/Delete
[xestiaab/.git] / source / contacteditor / frmContactEditorVendor.cpp
index c1340ef..2ca399b 100644 (file)
@@ -1,3 +1,21 @@
+// frmContactEditorVendor.cpp - frmContactEditorVendor form.
+//
+// (c) 2012-2015 Xestia Software Development.
+//
+// This file is part of Xestia Address Book.
+//
+// Xestia Address Book is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by the
+// Free Software Foundation, version 3 of the license.
+//
+// Xestia Address Book is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with Xestia Address Book. If not, see <http://www.gnu.org/licenses/>
+
 #include "frmContactEditorVendor.h"
 #include <wx/tokenzr.h>
 #include "../common/textprocessing.h"
@@ -11,6 +29,7 @@ frmContactEditorVendorADT( parent )
 
 void frmContactEditorVendor::SetEditorMode(bool EditMode)
 {
+       
        // Set if the editor is adding or editing an address.
        // FALSE = Add
        // TRUE = Edit
@@ -49,7 +68,8 @@ void frmContactEditorVendor::SetEditorMode(bool EditMode)
 
                striter = VendorListElementPtr->find(VendorListIndex);
                 
-               if (striter->first == VendorListIndex){
+               if (striter->first == VendorListIndex &&
+                       striter != VendorListElementPtr->end()){
                
                        strValue = striter->second;
                
@@ -63,7 +83,8 @@ void frmContactEditorVendor::SetEditorMode(bool EditMode)
                
                striter = VendorListPtr->find(VendorListIndex);
                 
-               if (striter->first == VendorListIndex){
+               if (striter->first == VendorListIndex &&
+                       striter != VendorListPtr->end()){
                
                        strValue = striter->second;
                
@@ -80,6 +101,8 @@ void frmContactEditorVendor::SetEditorMode(bool EditMode)
 void frmContactEditorVendor::ProcessAction( wxCommandEvent& event )
 {
        
+       // Process action.
+       
        if (EditorMode == FALSE){
 
                wxString strValue;
@@ -162,7 +185,8 @@ void frmContactEditorVendor::SetupPointers( std::map<int, wxString> *VendorList,
                        wxListCtrl *VendorListCtrl,
                        int VendorIndex )
 {
-
+       // Setup the pointers.
+       
        VendorListPtr = VendorList;
        VendorListPENPtr = VendorListPEN;
        VendorListElementPtr = VendorListElement;
@@ -173,5 +197,9 @@ void frmContactEditorVendor::SetupPointers( std::map<int, wxString> *VendorList,
 
 void frmContactEditorVendor::CloseWindow( wxCommandEvent& event )
 {
+       
+       // Close the window.
+       
        this->Close();
+       
 }
Xestia Software Development
Yn Maystri
© 2006 - 2019 Xestia Software Development
Software

Xestia Address Book
Xestia Calendar
Development

Xestia Gelforn
Everything else

About
News
Privacy Policy