[Libreoffice-commits] core.git: Branch 'libreoffice-5-0' - configmgr/source scp2/source

Michael Meeks michael.meeks at collabora.com
Fri Aug 21 01:51:57 PDT 2015


 configmgr/source/components.cxx  |    8 +++++---
 configmgr/source/winreg.cxx      |    5 +++--
 configmgr/source/winreg.hxx      |    4 +++-
 scp2/source/ooo/common_brand.scp |    2 +-
 4 files changed, 12 insertions(+), 7 deletions(-)

New commits:
commit 1b8812e7ad17957d8982095a37e489b8455a9bda
Author: Michael Meeks <michael.meeks at collabora.com>
Date:   Tue Jul 14 10:44:52 2015 +0100

    tdf#93546 -Add HKEY_CURRENT_USER registry integration.
    
    Back-port this to allow merging a user registry fragment.
    
    Conflicts:
    	configmgr/source/components.cxx
    	instsetoo_native/CustomTarget_setup.mk
    	scp2/source/ooo/common_brand.scp
    
    Conflicts:
    	scp2/source/ooo/common_brand.scp
    
    Change-Id: Ia32ba9ff3e7878d40032bd7d10fba2c143d11757
    Reviewed-on: https://gerrit.libreoffice.org/17884
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Tor Lillqvist <tml at collabora.com>

diff --git a/configmgr/source/components.cxx b/configmgr/source/components.cxx
index 7f3e41c..28f4221 100644
--- a/configmgr/source/components.cxx
+++ b/configmgr/source/components.cxx
@@ -533,7 +533,7 @@ Components::Components(
             parseModificationLayer(url);
         }
 #ifdef WNT
-        else if ( type == "winreg" )
+        else if (type == "winreg" || type == "winuserreg")
         {
             if (!url.isEmpty()) {
                 SAL_WARN(
@@ -541,8 +541,10 @@ Components::Components(
                     "winreg URL is not empty, URL handling is not implemented for winreg");
             }
             OUString aTempFileURL;
-            if ( dumpWindowsRegistry(&aTempFileURL) )
-            {
+            WinRegType eType = WinRegType::LOCAL_MACHINE;
+            if (type == "winuserreg")
+                eType = WinRegType::CURRENT_USER;
+            if (dumpWindowsRegistry(&aTempFileURL, eType)) {
                 parseFileLeniently(&parseXcuFile, aTempFileURL, layer, data_, 0, 0, 0);
                 layer++;
                 osl::File::remove(aTempFileURL);
diff --git a/configmgr/source/winreg.cxx b/configmgr/source/winreg.cxx
index a5723d7..455c711 100644
--- a/configmgr/source/winreg.cxx
+++ b/configmgr/source/winreg.cxx
@@ -188,10 +188,11 @@ void dumpWindowsRegistryKey(HKEY hKey, OUString aKeyName, oslFileHandle aFileHan
 }
 }
 
-bool dumpWindowsRegistry(OUString* pFileURL)
+bool dumpWindowsRegistry(OUString* pFileURL, WinRegType eType)
 {
     HKEY hKey;
-    if(RegOpenKeyExW(HKEY_LOCAL_MACHINE, L"SOFTWARE\\Policies\\LibreOffice", 0, KEY_READ, &hKey) != ERROR_SUCCESS)
+    HKEY hDomain = eType == LOCAL_MACHINE ? HKEY_LOCAL_MACHINE : HKEY_CURRENT_USER;
+    if(RegOpenKeyExW(hDomain, L"SOFTWARE\\Policies\\LibreOffice", 0, KEY_READ, &hKey) != ERROR_SUCCESS)
     {
         SAL_INFO(
             "configmgr",
diff --git a/configmgr/source/winreg.hxx b/configmgr/source/winreg.hxx
index 0209772..fb880ac 100644
--- a/configmgr/source/winreg.hxx
+++ b/configmgr/source/winreg.hxx
@@ -13,7 +13,9 @@
 
 namespace configmgr {
 
-bool dumpWindowsRegistry(OUString* pFileURL);
+enum WinRegType { LOCAL_MACHINE, CURRENT_USER };
+
+bool dumpWindowsRegistry(OUString* pFileURL, WinRegType eType);
 
 }
 
diff --git a/scp2/source/ooo/common_brand.scp b/scp2/source/ooo/common_brand.scp
index 2e967c7..d1e192d 100644
--- a/scp2/source/ooo/common_brand.scp
+++ b/scp2/source/ooo/common_brand.scp
@@ -1123,7 +1123,7 @@ ProfileItem gid_Brand_Profileitem_Fundamental_Configuration_Layers
     Section = "Bootstrap";
     Key = "CONFIGURATION_LAYERS";
 #if defined WNT
-    Value = "xcsxcu:${BRAND_BASE_DIR}/" LIBO_SHARE_FOLDER "/registry winreg: res:${BRAND_BASE_DIR}/" LIBO_SHARE_FOLDER "/registry bundledext:${${BRAND_BASE_DIR}/" LIBO_ETC_FOLDER "/" PROFILENAME(louno) ":BUNDLED_EXTENSIONS_USER}/registry/com.sun.star.comp.deployment.configuration.PackageRegistryBackend/configmgr.ini sharedext:${${BRAND_BASE_DIR}/" LIBO_ETC_FOLDER "/" PROFILENAME(louno) ":SHARED_EXTENSIONS_USER}/registry/com.sun.star.comp.deployment.configuration.PackageRegistryBackend/configmgr.ini userext:${${BRAND_BASE_DIR}/" LIBO_ETC_FOLDER "/" PROFILENAME(louno) ":UNO_USER_PACKAGES_CACHE}/registry/com.sun.star.comp.deployment.configuration.PackageRegistryBackend/configmgr.ini user:${$BRAND_BASE_DIR/" LIBO_ETC_FOLDER "/" PROFILENAME(bootstrap) ":UserInstallation}/user/registrymodifications.xcu";
+    Value = "xcsxcu:${BRAND_BASE_DIR}/" LIBO_SHARE_FOLDER "/registry winreg: winuserreg: res:${BRAND_BASE_DIR}/" LIBO_SHARE_FOLDER "/registry bundledext:${${BRAND_BASE_DIR}/" LIBO_ETC_FOLDER "/" PROFILENAME(louno) ":BUNDLED_EXTENSIONS_USER}/registry/com.sun.star.comp.deployment.configuration.PackageRegistryBackend/configmgr.ini sharedext:${${BRAND_BASE_DIR}/" LIBO_ETC_FOLDER "/" PROFILENAME(louno) ":SHARED_EXTENSIONS_USER}/registry/com.sun.star.comp.deployment.configuration.PackageRegistryBackend/configmgr.ini userext:${${BRAND_BASE_DIR}/" LIBO_ETC_FOLDER "/" PROFILENAME(louno) ":UNO_USER_PACKAGES_CACHE}/registry/com.sun.star.comp.deployment.configuration.PackageRegistryBackend/configmgr.ini user:${$BRAND_BASE_DIR/" LIBO_ETC_FOLDER "/" PROFILENAME(bootstrap) ":UserInstallation}/user/registrymodifications.xcu";
 #else
     Value = "xcsxcu:${BRAND_BASE_DIR}/" LIBO_SHARE_FOLDER "/registry res:${BRAND_BASE_DIR}/" LIBO_SHARE_FOLDER "/registry bundledext:${${BRAND_BASE_DIR}/" LIBO_ETC_FOLDER "/" PROFILENAME(louno) ":BUNDLED_EXTENSIONS_USER}/registry/com.sun.star.comp.deployment.configuration.PackageRegistryBackend/configmgr.ini sharedext:${${BRAND_BASE_DIR}/" LIBO_ETC_FOLDER "/" PROFILENAME(louno) ":SHARED_EXTENSIONS_USER}/registry/com.sun.star.comp.deployment.configuration.PackageRegistryBackend/configmgr.ini userext:${${BRAND_BASE_DIR}/" LIBO_ETC_FOLDER "/" PROFILENAME(louno) ":UNO_USER_PACKAGES_CACHE}/registry/com.sun.star.comp.deployment.configuration.PackageRegistryBackend/configmgr.ini user:${$BRAND_BASE_DIR/" LIBO_ETC_FOLDER "/" PROFILENAME(bootstrap) ":UserInstallation}/user/registrymodifications.xcu";
 #endif


More information about the Libreoffice-commits mailing list