EditorFrame::~EditorFrame() { #ifdef EDITOR_OLD_UI Deallocate(documentManager); eventManager->disconnectPluginListeners(); #endif ArchiveDestroy(archive); pluginManager->disablePlugins(); Deallocate(pluginManager); Deallocate(eventManager); Deallocate(input); #ifdef EDITOR_OLD_UI if(notebookCtrl) { notebookCtrl->Destroy(); paneCtrl->DetachPane(notebookCtrl); } if(paneCtrl) { paneCtrl->UnInit(); delete paneCtrl; } #endif Deallocate(engine); CoreDeinitialize(); }
static bool VirtualArchiveClose(Archive* archive) { if( !archive ) return false; ArchiveVirtual* varchive = (ArchiveVirtual*) archive; for(size_t i = 0; i < varchive->mounts.size(); i++) { Archive* marchive = varchive->mounts[i]; ArchiveDestroy(marchive); } varchive->mounts.clear(); return true; }