Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
frmContactEditor: Stop XAB crashing when pressing Modify/Delete
[xestiaab/.git] / source / contacteditor / frmContactEditor-Groups.cpp
index ef56a7f..b3e5f10 100644 (file)
 void frmContactEditor::AddGroup( wxCommandEvent& event )
 {
     
-    int intResult = 0;
+       // Bring up window to add a group.
+       
+       int intResult = 0;
     
-    XABViewMode XVMData = MainPtr->GetViewMode();
+       XABViewMode XVMData = MainPtr->GetViewMode();
     
-    frmContactEditorGroup *frameCEGroup = new frmContactEditorGroup ( this );
-    frameCEGroup->SetEditorMode(FALSE, XVMData);
-    intResult = GetLastInt(&ContactEditorData.GroupsList);
-    frameCEGroup->SetupPointers(&ContactEditorData.GroupsList,
-                                lboGroups,
-                                wxSContactAccount,
-                                intValueSeek);
-    frameCEGroup->ShowModal();
-    delete frameCEGroup;
-    frameCEGroup = NULL;
+       frmContactEditorGroup *frameCEGroup = new frmContactEditorGroup ( this );
+       frameCEGroup->SetEditorMode(FALSE, XVMData);
+       intResult = GetLastInt(&ContactEditorData.GroupsList);
+       frameCEGroup->SetupPointers(&ContactEditorData.GroupsList,
+               lboGroups,
+               wxSContactAccount,
+               intValueSeek);
+       frameCEGroup->ShowModal();
+       delete frameCEGroup;
+       frameCEGroup = NULL;
     
 }
 
 void frmContactEditor::ModifyGroup( wxCommandEvent& event )
 {
-    
-    return;
+       
+       return;
     
 }
 
 void frmContactEditor::DeleteGroup( wxCommandEvent& event )
 {
     
-    long longSelected = -1;
-    int intSelectedData = 0;
-    
-    if (!GetSelectedItem(lboGroups,
-                         &longSelected,
-                         &intSelectedData)){
-        return;
-    }
+       // Bring up window to delete a group.
+       
+       long longSelected = -1;
+       int intSelectedData = 0;
     
-    lboGroups->DeleteItem(longSelected);
+       if (lboGroups->GetItemCount() == 0 || !GetSelectedItem(lboGroups,
+               &longSelected,
+               &intSelectedData)){
+               return;
+       }
     
-    DeleteMapData(intSelectedData, &ContactEditorData.GroupsList);
+       lboGroups->DeleteItem(longSelected);
     
+       DeleteMapData(intSelectedData, &ContactEditorData.GroupsList);
+       
 }
\ No newline at end of file
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