From 31b64f162262573dde586fd2330ec70e1c9766c9 Mon Sep 17 00:00:00 2001 From: Julien Nabet Date: Thu, 5 Apr 2018 21:45:20 +0200 Subject: tdf#115407: preselect sound file saved MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit To display the sound in the dropbox, the complete filename (eg: file:///home/julien/lo/libreoffice/instdir/share/gallery/sounds/pluck.wav) was compared with items of the sound list formed like this: file:///home/julien/lo/libreoffice/instdir/program/../share/gallery/sounds/pluck.wav See https://bugs.documentfoundation.org/show_bug.cgi?id=115407#c1 Since listbox displays only basename, let's just compare basenames Change-Id: I5fb49990322423fa7818e5d6e1cafd828e3500ec Reviewed-on: https://gerrit.libreoffice.org/52476 (cherry picked from commit 23c82e1a377ea6fce65d71277ec59b3ca150b98a) Reviewed-on: https://gerrit.libreoffice.org/52490 Reviewed-by: Noel Grandin Tested-by: Jenkins Reviewed-by: Caolán McNamara Tested-by: Caolán McNamara (cherry picked from commit fce0f5823bbd6297f3455a2a36e4a66c423db9b9) --- sd/source/ui/animations/SlideTransitionPane.cxx | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/sd/source/ui/animations/SlideTransitionPane.cxx b/sd/source/ui/animations/SlideTransitionPane.cxx index 05a173449875..02fe8b953cac 100644 --- a/sd/source/ui/animations/SlideTransitionPane.cxx +++ b/sd/source/ui/animations/SlideTransitionPane.cxx @@ -270,10 +270,11 @@ struct lcl_EqualsSoundFileName : public ::std::unary_function< OUString, bool > { // note: formerly this was a case insensitive search for all // platforms. It seems more sensible to do this platform-dependent + INetURLObject aURL(rStr); #if defined(_WIN32) - return maStr.equalsIgnoreAsciiCase( rStr ); + return maStr.equalsIgnoreAsciiCase( aURL.GetBase() ); #else - return maStr == rStr; + return maStr == aURL.GetBase(); #endif } @@ -286,9 +287,10 @@ bool lcl_findSoundInList( const ::std::vector< OUString > & rSoundList, const OUString & rFileName, ::std::vector< OUString >::size_type & rOutPosition ) { + INetURLObject aURL(rFileName); ::std::vector< OUString >::const_iterator aIt = ::std::find_if( rSoundList.begin(), rSoundList.end(), - lcl_EqualsSoundFileName( rFileName )); + lcl_EqualsSoundFileName( aURL.GetBase())); if( aIt != rSoundList.end()) { rOutPosition = ::std::distance( rSoundList.begin(), aIt ); -- cgit