Paul Vriens : shell32/tests: Fix a crash on Win9x.

Alexandre Julliard julliard at winehq.org
Thu Sep 10 09:07:49 CDT 2009


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

Author: Paul Vriens <Paul.Vriens.Wine at gmail.com>
Date:   Wed Sep  9 20:24:47 2009 +0200

shell32/tests: Fix a crash on Win9x.

---

 dlls/shell32/tests/shelllink.c |   13 +++++++++++--
 1 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/dlls/shell32/tests/shelllink.c b/dlls/shell32/tests/shelllink.c
index a1e1cd4..ba2bb33 100644
--- a/dlls/shell32/tests/shelllink.c
+++ b/dlls/shell32/tests/shelllink.c
@@ -107,6 +107,7 @@ static void test_get_set(void)
 {
     HRESULT r;
     IShellLinkA *sl;
+    IShellLinkW *slW = NULL;
     char mypath[MAX_PATH];
     char buffer[INFOTIPSIZE];
     LPITEMIDLIST pidl, tmp_pidl;
@@ -156,8 +157,16 @@ static void test_get_set(void)
     ok(SUCCEEDED(r), "GetPath failed (0x%08x)\n", r);
     ok(*buffer=='\0', "GetPath returned '%s'\n", buffer);
 
-    r = IShellLinkA_SetPath(sl, NULL);
-    ok(r==E_INVALIDARG, "SetPath failed (0x%08x)\n", r);
+    CoCreateInstance(&CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER,
+                     &IID_IShellLinkW, (LPVOID*)&slW);
+    if (!slW)
+        skip("SetPath with NULL parameter crashes on Win9x\n");
+    else
+    {
+        IShellLinkW_Release(slW);
+        r = IShellLinkA_SetPath(sl, NULL);
+        ok(r==E_INVALIDARG, "SetPath failed (0x%08x)\n", r);
+    }
 
     r = IShellLinkA_SetPath(sl, "");
     ok(r==S_OK, "SetPath failed (0x%08x)\n", r);




More information about the wine-cvs mailing list