[Libreoffice-commits] core.git: Branch 'libreoffice-4-0' - cui/source

Andras Timar atimar at suse.com
Mon May 6 05:10:05 PDT 2013


 cui/source/dialogs/winpluginlib.cxx |   31 +++++--------------------------
 1 file changed, 5 insertions(+), 26 deletions(-)

New commits:
commit f577975db513c2108600a1fabd1f7560c95b3db2
Author: Andras Timar <atimar at suse.com>
Date:   Sat May 4 09:48:27 2013 -0700

    fdo#54087 refactor/fix browser plugin detection on Windows
    
    Former code did not find the Firefox plugin, if it was
    registered under HKEY_CURRENT_USER. Therefore the checkbox state was not
    preserved in Tools - Options - Internet - Browser Plug-in.
    
    Change-Id: I9ae2a7dae1501500d7ea7cb42517605219450af3
    Reviewed-on: https://gerrit.libreoffice.org/3784
    Reviewed-by: Michael Stahl <mstahl at redhat.com>
    Tested-by: Michael Stahl <mstahl at redhat.com>

diff --git a/cui/source/dialogs/winpluginlib.cxx b/cui/source/dialogs/winpluginlib.cxx
index ce4ab24..5391375 100644
--- a/cui/source/dialogs/winpluginlib.cxx
+++ b/cui/source/dialogs/winpluginlib.cxx
@@ -33,37 +33,18 @@
 extern "C" {
 int lc_isInstalled(const  char* realFilePath)
 {
-    HKEY hKeySoftware;
-    HKEY hMozillaPlugins;
-    HKEY hStarOffice;
+    HKEY hLibreOffice;
     char sSoPath[SO_PATH_SIZE];
     char sPluginPath[SO_PATH_SIZE];
 
     LONG ret;
-    ret = RegOpenKeyEx(HKEY_LOCAL_MACHINE,  "SOFTWARE",  0,  KEY_READ, &hKeySoftware);
+    ret = RegOpenKeyEx(HKEY_LOCAL_MACHINE,  "SOFTWARE\\MozillaPlugins\\@sun.com/npsopluginmi;version=1.0",  0,  KEY_READ, &hLibreOffice);
     if(ret != ERROR_SUCCESS){
-        ret = RegOpenKeyEx(HKEY_CURRENT_USER,  "SOFTWARE",  0,  KEY_READ, &hKeySoftware);
+        ret = RegOpenKeyEx(HKEY_CURRENT_USER,  "SOFTWARE\\MozillaPlugins\\@sun.com/npsopluginmi;version=1.0",  0,  KEY_READ, &hLibreOffice);
         if(ret != ERROR_SUCCESS){
             return -1;
         }
     }
-    ret = RegOpenKeyEx(hKeySoftware,  "MozillaPlugins",  0,  KEY_READ, &hMozillaPlugins);
-    if(ret != ERROR_SUCCESS){
-        RegCloseKey(hKeySoftware);
-        if( ret == ERROR_FILE_NOT_FOUND)
-            return 1;
-        else
-            return -1;
-    }
-    ret = RegOpenKeyEx(hMozillaPlugins,  "@sun.com/npsopluginmi;version=1.0",  0,  KEY_READ, &hStarOffice);
-    if(ret != ERROR_SUCCESS){
-        RegCloseKey(hKeySoftware);
-        RegCloseKey(hMozillaPlugins);
-        if( ret == ERROR_FILE_NOT_FOUND)
-            return 1;
-        else
-            return -1;
-    }
 
     if((realFilePath == NULL) || (strlen(realFilePath) == 0) || (strlen(realFilePath) >= SO_PATH_SIZE))
         ret = -1;
@@ -76,7 +57,7 @@ int lc_isInstalled(const  char* realFilePath)
     if(ret == 0){
         DWORD  dType = REG_SZ;
         DWORD  dSize = SO_PATH_SIZE;
-        ret = RegQueryValueEx (hStarOffice, "Path", NULL,  &dType , (LPBYTE) sPluginPath, &dSize);
+        ret = RegQueryValueEx (hLibreOffice, "Path", NULL,  &dType , (LPBYTE) sPluginPath, &dSize);
         if(ret == ERROR_SUCCESS){
             if(strcmp(sPluginPath, sSoPath) == 0)
                 ret = 0;
@@ -88,9 +69,7 @@ int lc_isInstalled(const  char* realFilePath)
     }
     else
         ret = -1;
-    RegCloseKey(hStarOffice);
-    RegCloseKey(hMozillaPlugins);
-    RegCloseKey(hKeySoftware);
+    RegCloseKey(hLibreOffice);
     return ret;
 }
 


More information about the Libreoffice-commits mailing list