Skip to content

Commit

Permalink
Merge pull request #4927 from mkortstiege/masterprompt
Browse files Browse the repository at this point in the history
prompt for master pin in case the addon manager is locked
  • Loading branch information
jmarshallnz authored and Trent Nelson committed Jul 8, 2014
1 parent c39c6ed commit 3dd5e80
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 0 deletions.
9 changes: 9 additions & 0 deletions xbmc/addons/AddonInstaller.cpp
Expand Up @@ -163,6 +163,9 @@ bool CAddonInstaller::Cancel(const CStdString &addonID)

bool CAddonInstaller::PromptForInstall(const CStdString &addonID, AddonPtr &addon)
{
if (!g_passwordManager.CheckMenuLock(WINDOW_ADDON_BROWSER))
return false;

// we assume that addons that are enabled don't get to this routine (i.e. that GetAddon() has been called)
if (CAddonMgr::Get().GetAddon(addonID, addon, ADDON_UNKNOWN, false))
return false; // addon is installed but disabled, and the user has specifically activated something that needs
Expand Down Expand Up @@ -210,6 +213,9 @@ bool CAddonInstaller::PromptForInstall(const CStdString &addonID, AddonPtr &addo

bool CAddonInstaller::Install(const CStdString &addonID, bool force, const CStdString &referer, bool background)
{
if (!g_passwordManager.CheckMenuLock(WINDOW_ADDON_BROWSER))
return false;

AddonPtr addon;
bool addonInstalled = CAddonMgr::Get().GetAddon(addonID, addon, ADDON_UNKNOWN, false);
if (addonInstalled && !force)
Expand Down Expand Up @@ -270,6 +276,9 @@ bool CAddonInstaller::DoInstall(const AddonPtr &addon, const CStdString &hash, b

bool CAddonInstaller::InstallFromZip(const CStdString &path)
{
if (!g_passwordManager.CheckMenuLock(WINDOW_ADDON_BROWSER))
return false;

// grab the descriptive XML document from the zip, and read it in
CFileItemList items;
// BUG: some zip files return a single item (root folder) that we think is stored, so we don't use the zip:// protocol
Expand Down
9 changes: 9 additions & 0 deletions xbmc/addons/GUIDialogAddonInfo.cpp
Expand Up @@ -213,6 +213,9 @@ void CGUIDialogAddonInfo::OnUninstall()
if (!m_localAddon.get())
return;

if (!g_passwordManager.CheckMenuLock(WINDOW_ADDON_BROWSER))
return;

// ensure the addon is not a dependency of other installed addons
if (PromptIfDependency(24037, 24047))
return;
Expand All @@ -235,6 +238,9 @@ void CGUIDialogAddonInfo::OnEnable(bool enable)
if (!m_localAddon.get())
return;

if (!g_passwordManager.CheckMenuLock(WINDOW_ADDON_BROWSER))
return;

if (!enable && PromptIfDependency(24075, 24091))
return;

Expand Down Expand Up @@ -284,6 +290,9 @@ void CGUIDialogAddonInfo::OnChangeLog()

void CGUIDialogAddonInfo::OnRollback()
{
if (!g_passwordManager.CheckMenuLock(WINDOW_ADDON_BROWSER))
return;

CGUIDialogContextMenu* dlg = (CGUIDialogContextMenu*)g_windowManager.GetWindow(WINDOW_DIALOG_CONTEXT_MENU);
CAddonDatabase database;
database.Open();
Expand Down
3 changes: 3 additions & 0 deletions xbmc/addons/GUIDialogAddonSettings.cpp
Expand Up @@ -193,6 +193,9 @@ bool CGUIDialogAddonSettings::ShowAndGetInput(const AddonPtr &addon, bool saveTo
if (!addon)
return false;

if (!g_passwordManager.CheckMenuLock(WINDOW_ADDON_BROWSER))
return false;

bool ret(false);
if (addon->HasSettings())
{
Expand Down

0 comments on commit 3dd5e80

Please sign in to comment.