diff options
author | Garrett Brown <themagnificentmrb@gmail.com> | 2016-09-21 08:40:15 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-09-21 08:40:15 -0700 |
commit | f28b77c4ab4db927eb3f373f4aa39ae3cb638bd8 (patch) | |
tree | 9bcc852c66e4ba3f3268cc76f3c6338a938b8c32 | |
parent | 7f905f05306260df64600094d266b56414469a72 (diff) | |
parent | 4965b7865406c6e23dcea6b2e0f799007a239d2c (diff) |
Merge pull request #10484 from garbear/picture-improvements
Picture improvements
-rw-r--r-- | xbmc/pictures/GUIViewStatePictures.cpp | 12 | ||||
-rw-r--r-- | xbmc/pictures/GUIWindowPictures.cpp | 11 | ||||
-rw-r--r-- | xbmc/windows/GUIMediaWindow.cpp | 5 |
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; } |