Developer forums (C::B DEVELOPMENT STRICTLY!) > Development
Allowing Plugin Interdependency and Improving Plugin Management
ollydbg:
On my test, install a bundle(such as a file named ProjectsImporter-1.1.cbplugin which I exported from C::B) failed in function bool PluginManager::InstallPlugin(const wxString& pluginName, bool forAllUsers, bool askForConfirmation)
--- Code: --- // extract plugin from bundle
if (!ExtractFile(actualName,
localName,
pluginFilename))
return false;
--- End code ---
Not sure the reason.
EDIT: uninstall an unenabled plugin also failed without any dialog or message box.
ollydbg:
--- Quote from: ollydbg on February 16, 2016, 06:26:56 am ---On my test, install a bundle(such as a file named ProjectsImporter-1.1.cbplugin which I exported from C::B) failed in function bool PluginManager::InstallPlugin(const wxString& pluginName, bool forAllUsers, bool askForConfirmation)
--- Code: --- // extract plugin from bundle
if (!ExtractFile(actualName,
localName,
pluginFilename))
return false;
--- End code ---
Not sure the reason.
EDIT: uninstall an unenabled plugin also failed without any dialog or message box.
--- End quote ---
For an disabled plugin.
--- Code: ---void PluginsConfigurationDlg::OnUninstall(cb_unused wxCommandEvent& event)
{
wxListCtrl* list = XRCCTRL(*this, "lstPlugins", wxListCtrl);
if (list->GetSelectedItemCount() == 0)
return;
wxBusyCursor busy;
long sel = -1;
wxString failure;
while (true)
{
sel = list->GetNextItem(sel, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED);
if (sel == -1)
break;
PluginElement* elem = (PluginElement*)list->GetItemData(sel);
if (elem && elem->plugin)
{
if (!Manager::Get()->GetPluginManager()->UninstallPlugin(elem))
failure << elem->info.title << _T('\n');
}
}
FillList();
if (!failure.IsEmpty())
cbMessageBox(_("One or more plugins were not un-installed successfully:\n\n") + failure, _("Warning"), wxICON_WARNING, this);
}
--- End code ---
elem->plugin is NULL, but we still need to uninstall it, right?
ollydbg:
--- Quote from: dmoore on November 10, 2013, 07:33:14 pm ---Patch updated to handle safemode
--- End quote ---
:o, you have version 2 of your patch here, but I'm testing your version 1 patch...
ollydbg:
My new patch is out, which is based on dmoore's version 2 patch, it can uninstall an unloaded plugin.
Code::Blocks / Tickets / #300 Only load plugin shared library objects for plugins that are enabled
But I still have an issue that I can't install an exported plugin bundle, reported in my previous posts.
ollydbg:
--- Quote from: ollydbg on February 16, 2016, 07:51:15 am ---But I still have an issue that I can't install an exported plugin bundle, reported in my previous posts.
--- End quote ---
OK, I found the reason, I see that in my exported plugin bundle, the dll and zip file name are all in lowercase, but the bundle name is "ProjectsImporter-1.1.cbplugin", so that the name are not matched. I'm bulding C::B against wx trunk(wx31)
This does not happens in our 16.01 release(it will generated ProjectsImporter.dll and ProjectsImporter.zip file)
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version