Konrad Wartke : browseui: Improved a FIXME in DllGetVersion.

Alexandre Julliard julliard at winehq.org
Mon Aug 16 12:25:05 CDT 2010


Module: wine
Branch: master
Commit: c4a3b39033fc6f561be3f93bd5e224a94fb2e49c
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=c4a3b39033fc6f561be3f93bd5e224a94fb2e49c

Author: Konrad Wartke <kwartke at gmail.com>
Date:   Fri Aug 13 16:30:58 2010 +0200

browseui: Improved a FIXME in DllGetVersion.

---

 dlls/browseui/browseui_main.c |   29 +++++++++++++++++++++--------
 1 files changed, 21 insertions(+), 8 deletions(-)

diff --git a/dlls/browseui/browseui_main.c b/dlls/browseui/browseui_main.c
index f09d817..2db169e 100644
--- a/dlls/browseui/browseui_main.c
+++ b/dlls/browseui/browseui_main.c
@@ -183,15 +183,28 @@ HRESULT WINAPI DllCanUnloadNow(void)
  */
 HRESULT WINAPI DllGetVersion(DLLVERSIONINFO *info)
 {
-    if (info->cbSize != sizeof(DLLVERSIONINFO)) FIXME("support DLLVERSIONINFO2\n");
-
-    /* this is what IE6 on Windows 98 reports */
-    info->dwMajorVersion = 6;
-    info->dwMinorVersion = 0;
-    info->dwBuildNumber = 2600;
-    info->dwPlatformID = DLLVER_PLATFORM_WINDOWS;
+    if(info->cbSize == sizeof(DLLVERSIONINFO) ||
+       info->cbSize == sizeof(DLLVERSIONINFO2))
+    {
+        /* this is what IE6 on Windows 98 reports */
+        info->dwMajorVersion = 6;
+        info->dwMinorVersion = 0;
+        info->dwBuildNumber = 2600;
+        info->dwPlatformID = DLLVER_PLATFORM_WINDOWS;
+        if(info->cbSize == sizeof(DLLVERSIONINFO2))
+        {
+            DLLVERSIONINFO2 *info2 = (DLLVERSIONINFO2*) info;
+            info2->dwFlags = 0;
+            info2->ullVersion = MAKEDLLVERULL(info->dwMajorVersion,
+                                              info->dwMinorVersion,
+                                              info->dwBuildNumber,
+                                              0); /* FIXME: correct hotfix number */
+        }
+        return S_OK;
+    }
 
-    return NOERROR;
+    WARN("wrong DLLVERSIONINFO size from app.\n");
+    return E_INVALIDARG;
 }
 
 /***********************************************************************




More information about the wine-cvs mailing list