summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRĂ¼diger Timm <rt@openoffice.org>2008-09-26 14:11:37 +0000
committerRĂ¼diger Timm <rt@openoffice.org>2008-09-26 14:11:37 +0000
commit16cc7e9aec33bae64152537a5b197fcf12a8fe07 (patch)
tree15cab0dba5594bf4109af603df9e90a7ea331453
parentb94e473f489e948f59a1faa9f75ae454f832122a (diff)
CWS-TOOLING: integrate CWS ab63_DEV300
-rw-r--r--basic/source/uno/namecont.cxx18
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;