bool MudGameView::newProfile(const Profile& profile) { saveClientWindowPos(); savePluginWindowPos(); unloadPlugins(); if (!m_manager.saveProfile()) { msgBox(m_hWnd, IDS_ERROR_CURRENTSAVEPROFILE_FAILED, MB_OK | MB_ICONSTOP); loadPlugins(); loadClientWindowPos(); return false; } Profile current(m_manager.getProfile()); bool successed = true; if (!m_manager.createEmptyProfile(profile)) { msgBox(m_hWnd, IDS_ERROR_NEWPROFILE_FAILED, MB_OK | MB_ICONSTOP); successed = false; } if (!successed) { tstring error; m_manager.loadProfile(current, &error); } updateProps(); loadClientWindowPos(); loadPlugins(); m_bar.reset(); return successed; }
/** * @brief Release all loaded plugins. * * After this point the plugins features are not available. */ void releasePlugins() noexcept { // Unload plugins unloadPlugins(); // Release plugins m_loaded.clear(); }
//----------------------------------------------------------------------- PluginManager::~PluginManager() { if (mIsInitialised) shutdownPlugins(); LogManager::getSingleton().logMessage("PluginManager Shutdown"); // Практически весь остальной код надо разместить здесь unloadPlugins(); }
void MainWindow::closeEvent(QCloseEvent * event) { //Close all subwindows ui.mdiArea->closeAllSubWindows(); if(ui.mdiArea->activeSubWindow()){ event->ignore(); return; } unloadPlugins(); event->accept(); }
~slit_info() { unloadPlugins(); BBP_Exit_Plugin(this); struct plugin_info **pp; for (pp = &g_PI; *pp; pp = &(*pp)->next) { if (this == *pp) { *pp = this->next; break; } } }
DVWindow::~DVWindow() { unloadPlugins(); delete renderFBO; /* TODO - I'm pretty sure there is more that needs to be deleted here... */ /* Save the window geometry so that it can be restored next run. */ settings.beginGroup("Window"); settings.setValue("Geometry", geometry()); settings.setValue("State", windowState()); settings.endGroup(); }
g19daemon::~g19daemon() { if (menuActive) settings->setValue("ActivePlugin", "menu"); else if (activePlugin != -1) settings->setValue("ActivePlugin", plugins[activePlugin]->getName()); settings->sync(); unloadPlugins(); delete settings; device->closeDevice(); delete device; }
bool MudGameView::copyProfile(bool fromzip, const Profile& profile, const Profile& src) { saveClientWindowPos(); savePluginWindowPos(); unloadPlugins(); if (!m_manager.saveProfile()) { msgBox(m_hWnd, IDS_ERROR_CURRENTSAVEPROFILE_FAILED, MB_OK | MB_ICONSTOP); loadPlugins(); loadClientWindowPos(); return false; } Profile current(m_manager.getProfile()); bool successed = true; tstring error; if (fromzip) { CopyProfileFromZipHelper zip; successed = zip.copyProfile("resources\\profiles.pak", src, profile); if (!successed) error = L"Can't create new profile"; if (successed) { successed = m_manager.loadProfile(profile, &error); } } else { successed = m_manager.copyProfile(src, profile, &error); } if (!successed) { msgBox(m_hWnd, IDS_ERROR_COPYPROFILE_FAILED, error, MB_OK | MB_ICONSTOP); } if (!successed) { tstring error; m_manager.loadProfile(current, &error); } updateProps(); loadClientWindowPos(); loadPlugins(); m_bar.reset(); return successed; }
/** * \brief * Clear ProjectBase (Modelica hierarchy, _problems, Solved _problems, _moFiles...) */ void ProjectBase::clear() { // delete GUI tabs... emit projectAboutToBeReset(); terminateProblemsThreads(); _problems->clear(); _results->clear(); _isdefined=false; _filePath.clear(); _name.clear(); _problemLaunchMutex.unlock(); unloadPlugins(); emit projectChanged(); }
void MudGameView::loadProfile(const tstring& name, const tstring& group, tstring* error) { assert(error); Profile current(m_manager.getProfile()); if ((current.group == group || group.empty()) && current.name == name) { error->assign(L"Попытка загрузить текущий профиль."); return; } Profile profile; profile.name = name; profile.group = current.group; if (!group.empty()) profile.group = group; if (!m_manager.checkProfile(profile)) { error->assign(L"Нет такого профиля."); return; } saveClientWindowPos(); savePluginWindowPos(); unloadPlugins(); if (!m_manager.saveProfile()) { error->assign(L"Не получилось сохранить текущий профиль, чтобы загрузить новый."); loadClientWindowPos(); loadPlugins(); return; } if (!m_manager.loadProfile(profile, error)) { //error->assign(L"Не получилось загрузить профиль."); tstring dummy; m_manager.loadProfile(current, &dummy); } updateProps(); loadClientWindowPos(); loadPlugins(); m_bar.reset(); }
bool MudGameView::loadProfile(const Profile& profile) { bool reload_same_profile = false; Profile current(m_manager.getProfile()); if (current.group == profile.group && current.name == profile.name) { int result = msgBox(m_hWnd, L"Вы действительно хотите перечитать текущий профиль ?", MB_YESNO|MB_ICONQUESTION); if (result != IDYES) return false; reload_same_profile = true; } saveClientWindowPos(); savePluginWindowPos(); unloadPlugins(); if (!reload_same_profile) { if (!m_manager.saveProfile()) { msgBox(m_hWnd, IDS_ERROR_CURRENTSAVEPROFILE_FAILED, MB_OK|MB_ICONSTOP); loadClientWindowPos(); loadPlugins(); return false; } } tstring error; if (!m_manager.loadProfile(profile, &error)) { msgBox(m_hWnd, IDS_ERROR_LOADPROFILE_FAILED, error, MB_OK|MB_ICONSTOP); if (!reload_same_profile) m_manager.loadProfile(current, &error); } updateProps(); if (!reload_same_profile) loadClientWindowPos(); loadPlugins(); m_bar.reset(); return (error.empty()); }
PluginLoader::~PluginLoader() { saveConfig(); unloadPlugins(); }
/** * @brief Destructor. */ ~Manager() { unloadPlugins(); }
//----------------------------------------------------------------------- Root::~Root() { shutdown(); OGRE_DELETE mSceneManagerEnum; OGRE_DELETE mShadowTextureManager; OGRE_DELETE mRenderSystemCapabilitiesManager; destroyAllRenderQueueInvocationSequences(); OGRE_DELETE mCompositorManager; OGRE_DELETE mExternalTextureSourceManager; #if OGRE_NO_FREEIMAGE == 0 FreeImageCodec::shutdown(); #endif #if OGRE_NO_DEVIL == 0 ILCodecs::deleteCodecs(); #endif #if OGRE_NO_DDS_CODEC == 0 DDSCodec::shutdown(); #endif #if OGRE_PROFILING OGRE_DELETE mProfiler; #endif OGRE_DELETE mOverlayManager; OGRE_DELETE mFontManager; OGRE_DELETE mArchiveManager; OGRE_DELETE mZipArchiveFactory; OGRE_DELETE mFileSystemArchiveFactory; OGRE_DELETE mSkeletonManager; OGRE_DELETE mMeshManager; OGRE_DELETE mParticleManager; //OGRE_DELETE mCompilerManager; if( mControllerManager ) OGRE_DELETE mControllerManager; if (mHighLevelGpuProgramManager) OGRE_DELETE mHighLevelGpuProgramManager; OGRE_DELETE mTextAreaFactory; OGRE_DELETE mBorderPanelFactory; OGRE_DELETE mPanelFactory; unloadPlugins(); OGRE_DELETE mMaterialManager; Pass::processPendingPassUpdates(); // make sure passes are cleaned OGRE_DELETE mResourceBackgroundQueue; OGRE_DELETE mResourceGroupManager; OGRE_DELETE mEntityFactory; OGRE_DELETE mLightFactory; OGRE_DELETE mBillboardSetFactory; OGRE_DELETE mManualObjectFactory; OGRE_DELETE mBillboardChainFactory; OGRE_DELETE mRibbonTrailFactory; OGRE_DELETE mTimer; OGRE_DELETE mDynLibManager; OGRE_DELETE mLogManager; OGRE_DELETE mCompilerManager; mAutoWindow = 0; mFirstTimePostWindowInit = false; StringInterface::cleanupDictionary (); }