Unload plugin on exit.
This commit is contained in:
parent
12b12a8551
commit
0eab54f04f
4 changed files with 14 additions and 3 deletions
|
|
@ -329,3 +329,11 @@ void PluginManager::UnloadPlugin(std::string path)
|
||||||
ActivePlugins[plugin_idx].loaded = false;
|
ActivePlugins[plugin_idx].loaded = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void PluginManager::UnloadPlugins()
|
||||||
|
{
|
||||||
|
for(const OpenRGBPluginEntry& plugin_entry: ActivePlugins)
|
||||||
|
{
|
||||||
|
plugin_entry.plugin->Unload();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -42,6 +42,8 @@ public:
|
||||||
void LoadPlugin(std::string path);
|
void LoadPlugin(std::string path);
|
||||||
void UnloadPlugin(std::string path);
|
void UnloadPlugin(std::string path);
|
||||||
|
|
||||||
|
void UnloadPlugins();
|
||||||
|
|
||||||
std::vector<OpenRGBPluginEntry> ActivePlugins;
|
std::vector<OpenRGBPluginEntry> ActivePlugins;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
|
||||||
|
|
@ -438,7 +438,7 @@ OpenRGBDialog2::OpenRGBDialog2(QWidget *parent) : QMainWindow(parent), ui(new Op
|
||||||
/*-----------------------------------------------------*\
|
/*-----------------------------------------------------*\
|
||||||
| Add the Plugins page |
|
| Add the Plugins page |
|
||||||
\*-----------------------------------------------------*/
|
\*-----------------------------------------------------*/
|
||||||
AddPluginsPage(plugin_manager);
|
AddPluginsPage();
|
||||||
|
|
||||||
/*-----------------------------------------------------*\
|
/*-----------------------------------------------------*\
|
||||||
| Add the E1.31 settings page |
|
| Add the E1.31 settings page |
|
||||||
|
|
@ -543,11 +543,12 @@ void OpenRGBDialog2::closeEvent(QCloseEvent *event)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
plugin_manager->UnloadPlugins();
|
||||||
event->accept();
|
event->accept();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void OpenRGBDialog2::AddPluginsPage(PluginManager* plugin_manager)
|
void OpenRGBDialog2::AddPluginsPage()
|
||||||
{
|
{
|
||||||
/*-----------------------------------------------------*\
|
/*-----------------------------------------------------*\
|
||||||
| Create the Plugins page |
|
| Create the Plugins page |
|
||||||
|
|
|
||||||
|
|
@ -96,7 +96,7 @@ private:
|
||||||
void AddQMKORGBSettingsPage();
|
void AddQMKORGBSettingsPage();
|
||||||
void AddSerialSettingsPage();
|
void AddSerialSettingsPage();
|
||||||
void AddYeelightSettingsPage();
|
void AddYeelightSettingsPage();
|
||||||
void AddPluginsPage(PluginManager* plugin_manager);
|
void AddPluginsPage();
|
||||||
void AddConsolePage();
|
void AddConsolePage();
|
||||||
|
|
||||||
void ClearDevicesList();
|
void ClearDevicesList();
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue