Developer forums (C::B DEVELOPMENT STRICTLY!) > Development

Allowing Plugin Interdependency and Improving Plugin Management

<< < (7/9) > >>

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