[Libreoffice-commits] core.git: Branch 'distro/suse/suse-4.0' - cui/source
Andras Timar
atimar at suse.com
Sat May 4 10:00:07 PDT 2013
cui/source/dialogs/winpluginlib.cxx | 31 +++++--------------------------
1 file changed, 5 insertions(+), 26 deletions(-)
New commits:
commit 9ec6a9d7b50b2cb8b026cb2e8efe74806adbafcd
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
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