summaryrefslogtreecommitdiff
path: root/desktop
diff options
context:
space:
mode:
authorMuthu Subramanian <sumuthu@novell.com>2011-05-02 16:57:21 +0530
committerMuthu Subramanian <sumuthu@novell.com>2011-05-02 17:01:45 +0530
commite784a2c0ef09c96711bca285c7700e6c398d3f62 (patch)
tree8b0804a147d5cb7cbe53da707aa955c85e1d741f /desktop
parent7b7c53a529a34285b4492393ac70eea16b83a8a4 (diff)
n#690798: Fixed a crasher. Also, improved batch conversion.
* The pointer is not removed from the array before 'delete' * FilterMatcher now uses (input) content to guess better.
Diffstat (limited to 'desktop')
-rw-r--r--desktop/source/app/dispatchwatcher.cxx11
1 files changed, 8 insertions, 3 deletions
diff --git a/desktop/source/app/dispatchwatcher.cxx b/desktop/source/app/dispatchwatcher.cxx
index e575ea8f3727..aff73d0984e3 100644
--- a/desktop/source/app/dispatchwatcher.cxx
+++ b/desktop/source/app/dispatchwatcher.cxx
@@ -33,6 +33,7 @@
#include <sfx2/docfilt.hxx>
#include <sfx2/fcontnr.hxx>
#include "osl/file.hxx"
+#include "sfx2/app.hxx"
#include <svl/fstathelper.hxx>
#include "dispatchwatcher.hxx"
@@ -96,10 +97,14 @@ static String impl_GetFilterFromExt( OUString aUrl, SfxFilterFlags nFlags,
SfxMedium* pMedium = new SfxMedium( aUrl,
STREAM_STD_READ, sal_False );
const SfxFilter *pSfxFilter = NULL;
- SfxFilterMatcher aMatcher;
if( nFlags == SFX_FILTER_EXPORT )
- aMatcher = SfxFilterMatcher( aAppl );
- aMatcher.GuessFilterIgnoringContent( *pMedium, &pSfxFilter, nFlags, 0 );
+ {
+ SfxFilterMatcher( aAppl ).GuessFilterIgnoringContent( *pMedium, &pSfxFilter, nFlags, 0 );
+ }
+ else
+ {
+ SFX_APP()->GetFilterMatcher().GuessFilter( *pMedium, &pSfxFilter, nFlags, 0 );
+ }
if( pSfxFilter )
aFilter = ( nFlags == SFX_FILTER_EXPORT ) ? pSfxFilter->GetFilterName() :
pSfxFilter->GetServiceName();