diff options
author | RĂ¼diger Timm <rt@openoffice.org> | 2008-09-26 14:11:37 +0000 |
---|---|---|
committer | RĂ¼diger Timm <rt@openoffice.org> | 2008-09-26 14:11:37 +0000 |
commit | 16cc7e9aec33bae64152537a5b197fcf12a8fe07 (patch) | |
tree | 15cab0dba5594bf4109af603df9e90a7ea331453 | |
parent | b94e473f489e948f59a1faa9f75ae454f832122a (diff) |
CWS-TOOLING: integrate CWS ab63_DEV300
-rw-r--r-- | basic/source/uno/namecont.cxx | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/basic/source/uno/namecont.cxx b/basic/source/uno/namecont.cxx index 533fdf4987..86b17e6748 100644 --- a/basic/source/uno/namecont.cxx +++ b/basic/source/uno/namecont.cxx @@ -1825,14 +1825,18 @@ void SfxLibraryContainer::storeLibraries_Impl( const uno::Reference< embed::XSto int iArray = 0; pName = aNames.getConstArray(); + ::xmlscript::LibDescriptor aLibDescriptorForExtensionLibs; for( ; pName != pNamesEnd; ++pName ) { SfxLibrary* pImplLib = getImplLib( *pName ); - if( pImplLib->mbSharedIndexFile || pImplLib->mbExtension ) + if( pImplLib->mbSharedIndexFile ) continue; - ::xmlscript::LibDescriptor& rLib = pLibArray->mpLibs[iArray]; + bool bExtensionLib = pImplLib->mbExtension; + ::xmlscript::LibDescriptor& rLib = bExtensionLib ? + aLibDescriptorForExtensionLibs : pLibArray->mpLibs[iArray]; + if( !bExtensionLib ) + iArray++; rLib.aName = *pName; - iArray++; rLib.bLink = pImplLib->mbLink; if( !bStorage || pImplLib->mbLink ) @@ -2112,10 +2116,14 @@ Reference< XNameAccess > SAL_CALL SfxLibraryContainer::createLibraryLink OUString aUserSearchStr = OUString::createFromAscii( "vnd.sun.star.expand:$UNO_USER_PACKAGES_CACHE" ); OUString aSharedSearchStr = OUString::createFromAscii( "vnd.sun.star.expand:$UNO_SHARED_PACKAGES_CACHE" ); - if( StorageURL.indexOf( aUserSearchStr ) != -1 || - StorageURL.indexOf( aSharedSearchStr ) != -1 ) + if( StorageURL.indexOf( aUserSearchStr ) != -1 ) + { + pNewLib->mbExtension = sal_True; + } + else if( StorageURL.indexOf( aSharedSearchStr ) != -1 ) { pNewLib->mbExtension = sal_True; + pNewLib->mbReadOnly = sal_True; } return xRet; |