summaryrefslogtreecommitdiff
path: root/ext/win32ole/win32ole.c
diff options
context:
space:
mode:
authorsuke <suke@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-06-23 12:41:26 +0000
committersuke <suke@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-06-23 12:41:26 +0000
commit0864df17fbc41780e51e100ad64bd264f970d386 (patch)
tree1a92039f0f3782f147dba164397b08bdbb6779ee /ext/win32ole/win32ole.c
parenteab33b597d7f1460566fbe3c3a3e8f47024ce71f (diff)
* ext/win32ole/win32ole.c (reg_get_typelib_file_path): try win64
registry entry at first. [ruby-dev:41674] [Bug #3464] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28403 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/win32ole/win32ole.c')
-rw-r--r--ext/win32ole/win32ole.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/ext/win32ole/win32ole.c b/ext/win32ole/win32ole.c
index f92c0dd4b6..98a93802d1 100644
--- a/ext/win32ole/win32ole.c
+++ b/ext/win32ole/win32ole.c
@@ -130,7 +130,7 @@ const IID IID_IMultiLanguage2 = {0xDCCFC164, 0x2B38, 0x11d2, {0xB7, 0xEC, 0x00,
#define WC2VSTR(x) ole_wc2vstr((x), TRUE)
-#define WIN32OLE_VERSION "1.4.8"
+#define WIN32OLE_VERSION "1.4.9"
typedef HRESULT (STDAPICALLTYPE FNCOCREATEINSTANCEEX)
(REFCLSID, IUnknown*, DWORD, COSERVERINFO*, DWORD, MULTI_QI*);
@@ -2353,10 +2353,15 @@ static VALUE
reg_get_typelib_file_path(HKEY hkey)
{
VALUE path = Qnil;
+ path = reg_get_val2(hkey, "win64");
+ if (path != Qnil) {
+ return path;
+ }
path = reg_get_val2(hkey, "win32");
- if (path == Qnil) {
- path = reg_get_val2(hkey, "win16");
+ if (path != Qnil) {
+ return path;
}
+ path = reg_get_val2(hkey, "win16");
return path;
}