From 6bf1a65c9c3a802c9f71e26338c2ac5a794f6cb1 Mon Sep 17 00:00:00 2001 From: "Philipp Lohmann [pl]" Date: Fri, 12 Feb 2010 11:35:33 +0100 Subject: vcl109: #i109129# avoid recursive behavior of NSFileWrapper --- fpicker/source/aqua/FilterHelper.cxx | 28 +++++++++++----------------- 1 file changed, 11 insertions(+), 17 deletions(-) (limited to 'fpicker/source/aqua') diff --git a/fpicker/source/aqua/FilterHelper.cxx b/fpicker/source/aqua/FilterHelper.cxx index 3e7b04021f3a..da3d621f2f40 100644 --- a/fpicker/source/aqua/FilterHelper.cxx +++ b/fpicker/source/aqua/FilterHelper.cxx @@ -394,30 +394,25 @@ sal_Bool FilterHelper::filenameMatchesFilter(NSString* sFilename) { DBG_PRINT_ENTRY(CLASS_NAME, __func__); -// OSL_TRACE("filter event handler called"); - if (m_aCurrentFilter == NULL) { OSL_TRACE("filter name is null"); return sal_True; } NSFileManager *manager = [NSFileManager defaultManager]; - MacOSBOOL bDir = NO; - if ([manager fileExistsAtPath:sFilename isDirectory:&bDir] && bDir == YES) { -// OSL_TRACE(" folder"); - return sal_True; - } - - NSFileWrapper *wrapper = [[NSFileWrapper alloc] initWithPath:sFilename]; - MacOSBOOL bIsLink = [wrapper isSymbolicLink]; - [wrapper release]; - if (bIsLink) { -// OSL_TRACE(" symboliclink"); - return sal_True; + NSDictionary* pAttribs = [manager fileAttributesAtPath: sFilename traverseLink: NO]; + if( pAttribs ) + { + NSObject* pType = [pAttribs objectForKey: NSFileType]; + if( pType && [pType isMemberOfClass: [NSString class]] ) + { + NSString* pT = (NSString*)pType; + if( [pT isEqualToString: NSFileTypeDirectory] || + [pT isEqualToString: NSFileTypeSymbolicLink] ) + return sal_True; + } } -// OSL_TRACE(" file"); - FilterList::iterator filter = ::std::find_if(m_pFilterList->begin(), m_pFilterList->end(), FilterTitleMatch(m_aCurrentFilter)); if (filter == m_pFilterList->end()) { OSL_TRACE("filter not found in list"); @@ -427,7 +422,6 @@ sal_Bool FilterHelper::filenameMatchesFilter(NSString* sFilename) OUStringList suffixList = filter->getFilterSuffixList(); { -// OSL_TRACE(" starting to work"); rtl::OUString aName = [sFilename OUString]; rtl::OUString allMatcher = rtl::OUString::createFromAscii(".*"); for(OUStringList::iterator iter = suffixList.begin(); iter != suffixList.end(); iter++) { -- cgit From a47f324ffa781bb0ac7cfacb9ca640b1c408adde Mon Sep 17 00:00:00 2001 From: "Philipp Lohmann [pl]" Date: Mon, 15 Feb 2010 10:48:01 +0100 Subject: vcl109: #i109129# use isKindOfClass instead of isMemeberOfClass --- fpicker/source/aqua/FilterHelper.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'fpicker/source/aqua') diff --git a/fpicker/source/aqua/FilterHelper.cxx b/fpicker/source/aqua/FilterHelper.cxx index da3d621f2f40..d0d36544998f 100644 --- a/fpicker/source/aqua/FilterHelper.cxx +++ b/fpicker/source/aqua/FilterHelper.cxx @@ -404,7 +404,7 @@ sal_Bool FilterHelper::filenameMatchesFilter(NSString* sFilename) if( pAttribs ) { NSObject* pType = [pAttribs objectForKey: NSFileType]; - if( pType && [pType isMemberOfClass: [NSString class]] ) + if( pType && [pType isKindOfClass: [NSString class]] ) { NSString* pT = (NSString*)pType; if( [pT isEqualToString: NSFileTypeDirectory] || -- cgit