sdext/source/minimizer/fileopendialog.cxx |    8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

New commits:
commit 99c6c89deed41457d35c382fc7d6a4cd5191f7d7
Author:     Mike Kaganski <mike.kagan...@collabora.com>
AuthorDate: Sun Aug 16 18:58:48 2020 +0300
Commit:     Mike Kaganski <mike.kagan...@collabora.com>
CommitDate: Sun Aug 16 20:08:15 2020 +0200

    tdf#135342: filter list must include extensions
    
    Regression after commit a0dcc8f78061d22d925f31ef8d03ca751ad6dc19.
    The commit had added extensions to the filter names sent to file
    dialog, but kept internal list of filter names aFilterEntryList
    without extensions. Then dialog returned the chosen filter's name
    in the form it was sent there, i.e. with extension; and that name
    couldn't be found in aFilterEntryList.
    
    So let's keep aFilterEntryList synchronized with the UI names in
    the dialog.
    
    Change-Id: Ic21d19d1a8d0b7f64ccfb517a7d0ee8ab36fc6a8
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100821
    Tested-by: Jenkins
    Reviewed-by: Mike Kaganski <mike.kagan...@collabora.com>

diff --git a/sdext/source/minimizer/fileopendialog.cxx 
b/sdext/source/minimizer/fileopendialog.cxx
index 68f25f77900a..aab29c03907b 100644
--- a/sdext/source/minimizer/fileopendialog.cxx
+++ b/sdext/source/minimizer/fileopendialog.cxx
@@ -106,7 +106,7 @@ FileOpenDialog::FileOpenDialog( const Reference< 
XComponentContext >& rxContext
     Reference< XNameAccess > xTypes( 
rxContext->getServiceManager()->createInstanceWithContext(
         "com.sun.star.document.TypeDetection", rxContext ), UNO_QUERY_THROW );
 
-    for( const auto& rFilterEntry : aFilterEntryList )
+    for (auto& rFilterEntry : aFilterEntryList)
     {
         Sequence< PropertyValue > aTypeProperties;
         try
@@ -120,10 +120,12 @@ FileOpenDialog::FileOpenDialog( const Reference< 
XComponentContext >& rxContext
                     pProp->Value >>= aExtensions;
                 if ( aExtensions.hasElements() )
                 {
-                    // The filter title must be formed in the same way it is
-                    // currently done in the internal implementation:
+                    // The filter title must be formed in the same way it is 
currently done in the
+                    // internal implementation (see 
sfx2::appendFiltersForSave). And we will look
+                    // for the same string returned from the dialog, so save 
it to maUIName:
                     OUString aTitle(
                         rFilterEntry.maUIName + " (." + aExtensions[0] + ")");
+                    rFilterEntry.maUIName = aTitle;
                     OUString aFilter("*." + aExtensions[0]);
                     mxFilePicker->appendFilter(aTitle, aFilter);
                     if ( rFilterEntry.maFlags & 0x100 )
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to