Fixed crash on closing second window
see issue 1113
This commit is contained in:
@@ -186,10 +186,24 @@ void EditWindow::toggleFullscreen () {
|
||||
}
|
||||
|
||||
bool EditWindow::on_delete_event(GdkEventAny* event) {
|
||||
for ( std::set <Glib::ustring>::iterator iter = filesEdited.begin(); iter != filesEdited.end();iter++ ) {
|
||||
remEditorPanel(epanels[*iter]);
|
||||
// Check if any editor is still processing, and do NOT quit if so. Otherwise crashes and inconsistent caches
|
||||
bool isProcessing=false;
|
||||
|
||||
for ( std::set <Glib::ustring>::iterator iter = filesEdited.begin(); iter != filesEdited.end() && !isProcessing; iter++ ) {
|
||||
if (epanels[*iter]->getIsProcessing()) isProcessing=true;
|
||||
}
|
||||
|
||||
if (isProcessing) return false;
|
||||
|
||||
|
||||
for ( std::set <Glib::ustring>::iterator iter = filesEdited.begin(); iter != filesEdited.end(); iter++ )
|
||||
mainNB->remove_page (*epanels[*iter]);
|
||||
|
||||
epanels.clear();
|
||||
|
||||
filesEdited.clear();
|
||||
parent->fpanel->refreshEditedState (filesEdited);
|
||||
|
||||
hide ();
|
||||
return true;
|
||||
}
|
||||
|
Reference in New Issue
Block a user