aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGarrett Brown <themagnificentmrb@gmail.com>2016-09-21 08:40:15 -0700
committerGitHub <noreply@github.com>2016-09-21 08:40:15 -0700
commitf28b77c4ab4db927eb3f373f4aa39ae3cb638bd8 (patch)
tree9bcc852c66e4ba3f3268cc76f3c6338a938b8c32
parent7f905f05306260df64600094d266b56414469a72 (diff)
parent4965b7865406c6e23dcea6b2e0f799007a239d2c (diff)
Merge pull request #10484 from garbear/picture-improvements
Picture improvements
-rw-r--r--xbmc/pictures/GUIViewStatePictures.cpp12
-rw-r--r--xbmc/pictures/GUIWindowPictures.cpp11
-rw-r--r--xbmc/windows/GUIMediaWindow.cpp5
3 files changed, 18 insertions, 10 deletions
diff --git a/xbmc/pictures/GUIViewStatePictures.cpp b/xbmc/pictures/GUIViewStatePictures.cpp
index a04f5a7963..0cfe803a42 100644
--- a/xbmc/pictures/GUIViewStatePictures.cpp
+++ b/xbmc/pictures/GUIViewStatePictures.cpp
@@ -82,8 +82,20 @@ std::string CGUIViewStateWindowPictures::GetExtensions()
VECSOURCES& CGUIViewStateWindowPictures::GetSources()
{
VECSOURCES *pictureSources = CMediaSourceSettings::GetInstance().GetSources("pictures");
+
+ // Guard against source type not existing
+ if (pictureSources == nullptr)
+ {
+ static VECSOURCES empty;
+ return empty;
+ }
+
+ // Picture add-ons
AddAddonsSource("image", g_localizeStrings.Get(1039), "DefaultAddonPicture.png");
+
+ // Global sources
AddOrReplace(*pictureSources, CGUIViewState::GetSources());
+
return *pictureSources;
}
diff --git a/xbmc/pictures/GUIWindowPictures.cpp b/xbmc/pictures/GUIWindowPictures.cpp
index 2197079c0d..c68371900d 100644
--- a/xbmc/pictures/GUIWindowPictures.cpp
+++ b/xbmc/pictures/GUIWindowPictures.cpp
@@ -114,11 +114,6 @@ bool CGUIWindowPictures::OnMessage(CGUIMessage& message)
message.SetStringParam(CMediaSourceSettings::GetInstance().GetDefaultSource("pictures"));
m_dlgProgress = (CGUIDialogProgress*)g_windowManager.GetWindow(WINDOW_DIALOG_PROGRESS);
-
- if (!CGUIMediaWindow::OnMessage(message))
- return false;
-
- return true;
}
break;
@@ -587,7 +582,7 @@ void CGUIWindowPictures::LoadPlayList(const std::string& strPlayList)
void CGUIWindowPictures::OnItemInfo(int itemNumber)
{
- CFileItemPtr item = (itemNumber >= 0 && itemNumber < m_vecItems->Size()) ? m_vecItems->Get(itemNumber) : CFileItemPtr();
+ CFileItemPtr item = m_vecItems->Get(itemNumber);
if (!item)
return;
if (!m_vecItems->IsPlugin() && (item->IsPlugin() || item->IsScript()))
@@ -607,8 +602,8 @@ void CGUIWindowPictures::OnItemInfo(int itemNumber)
std::string CGUIWindowPictures::GetStartFolder(const std::string &dir)
{
- std::string lower(dir); StringUtils::ToLower(lower);
- if (lower == "plugins" || lower == "addons")
+ if (StringUtils::EqualsNoCase(dir, "plugins") ||
+ StringUtils::EqualsNoCase(dir, "addons"))
return "addons://sources/image/";
SetupShares();
diff --git a/xbmc/windows/GUIMediaWindow.cpp b/xbmc/windows/GUIMediaWindow.cpp
index 25fa402c77..a5645d36ad 100644
--- a/xbmc/windows/GUIMediaWindow.cpp
+++ b/xbmc/windows/GUIMediaWindow.cpp
@@ -1990,9 +1990,10 @@ bool CGUIMediaWindow::Filter(bool advanced /* = true */)
std::string CGUIMediaWindow::GetStartFolder(const std::string &dir)
{
- std::string lower(dir); StringUtils::ToLower(lower);
- if (lower == "$root" || lower == "root")
+ if (StringUtils::EqualsNoCase(dir, "$root") ||
+ StringUtils::EqualsNoCase(dir, "root"))
return "";
+
return dir;
}