Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
frmContactEditor: Check for parent window before sending update event
[xestiaab/.git] / source / contacteditor / frmContactEditor-Save.cpp
index c47ed40..9018943 100644 (file)
@@ -345,7 +345,7 @@ void frmContactEditor::SaveContact( wxCommandEvent& event )
                        FinalAnniversaryMonth = wxString::Format(wxT("%i"), ((int)AnniversaryMonth + 1));
                 
                }
-            
+        
                if (AnniversaryYear == 0){
                 
                        FinalAnniversaryYear = wxT("--");
@@ -470,7 +470,7 @@ void frmContactEditor::SaveContact( wxCommandEvent& event )
         
                wxString wxSETag = ETagDBPtr->GetETag(wxSplitFilename);
                wxString wxSETagOrig = ETagDBPtr->GetETagOriginal(wxSplitFilename);
-        
+
                if (wxSETagOrig.IsEmpty()){
             
                        // Generate the ETag.
@@ -484,7 +484,7 @@ void frmContactEditor::SaveContact( wxCommandEvent& event )
                        // Update empty ETag.
             
                        wxSETag = wxSETagOrig;
-                       ETagDBPtr->UpdateETag(wxSplitFilename, wxSETag, wxSETagOrig);
+                       ETagDBPtr->AddETag(wxSplitFilename, wxSETag, "");
             
                } else {
             
@@ -496,7 +496,7 @@ void frmContactEditor::SaveContact( wxCommandEvent& event )
                }
         
                if (EditMode == FALSE){
-            
+
                        ActMgrPtr->AddTask(0, cmbDisplayAs->GetValue(), wxSContactAccount, wxSDataURL, wxSplitFilename, FilenameFinal, wxSData);
                        EditMode = TRUE;
                        FMTimer.SetFilename(FilenameFinal);
@@ -534,23 +534,26 @@ void frmContactEditor::SaveContact( wxCommandEvent& event )
        NameData.Title = txtTitle->GetValue();
        NameData.Suffix = txtSuffix->GetValue();
        
-       ucd->ContactAccount = wxSContactAccount;
-       ucd->ContactFilename = FilenameFinal;
-       ucd->ContactName = cmbDisplayAs->GetValue();
-       ucd->ContactNameArray = NameData;
+       if (this->GetParent() != nullptr)
+       {
+               ucd->ContactAccount = wxSContactAccount;
+               ucd->ContactFilename = FilenameFinal;
+               ucd->ContactName = cmbDisplayAs->GetValue();
+               ucd->ContactNameArray = NameData;
     
-       for (std::map<int,wxString>::iterator gniter = ContactEditorData.GeneralNicknamesList.begin();
-               gniter != ContactEditorData.GeneralNicknamesList.end(); gniter++){
+               for (std::map<int,wxString>::iterator gniter = ContactEditorData.GeneralNicknamesList.begin();
+                       gniter != ContactEditorData.GeneralNicknamesList.end(); gniter++){
         
-               ucd->ContactNickname = gniter->second;
-               break;
+                       ucd->ContactNickname = gniter->second;
+                       break;
         
+               }
+       
+               wxCommandEvent event2(CE_UPDATECONTACTLIST);
+               event2.SetClientData(ucd);
+               wxPostEvent(MainPtr, event2);
        }
     
-       wxCommandEvent event2(CE_UPDATECONTACTLIST);
-       event2.SetClientData(ucd);
-       wxPostEvent(MainPtr, event2);
-    
 }
 
 void frmContactEditor::SaveCloseContact( wxCommandEvent& event )
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