[PATCH] Stop crash on error

Alistair Leslie-Hughes leslie_alistair at hotmail.com
Fri Jun 20 05:35:53 CDT 2008


---
 dlls/shell32/tests/shlfolder.c |   34 +++++++++++++++++++---------------
 1 files changed, 19 insertions(+), 15 deletions(-)

diff --git a/dlls/shell32/tests/shlfolder.c b/dlls/shell32/tests/shlfolder.c
index 950f1d7..524b511 100644
--- a/dlls/shell32/tests/shlfolder.c
+++ b/dlls/shell32/tests/shlfolder.c
@@ -450,21 +450,25 @@ static void test_GetDisplayName(void)
         /* The pidl returned through the last parameter of SetNameOf is a simple one. */
         hr = IShellFolder_SetNameOf(psfPersonal, NULL, pidlLast, wszDirName, SHGDN_NORMAL, &pidlNew);
         ok (SUCCEEDED(hr), "SetNameOf failed! hr = %08x\n", hr);
-        ok (((LPITEMIDLIST)((LPBYTE)pidlNew+pidlNew->mkid.cb))->mkid.cb == 0, 
-            "pidl returned from SetNameOf should be simple!\n");
-
-        /* Passing an absolute path to SetNameOf fails. The HRESULT code indicates that SetNameOf
-         * is implemented on top of SHFileOperation in WinXP. */
-        hr = IShellFolder_SetNameOf(psfPersonal, NULL, pidlNew, wszAbsoluteFilename, 
-                SHGDN_FORPARSING, NULL);
-        ok (hr == HRESULT_FROM_WIN32(ERROR_CANCELLED), "SetNameOf succeeded! hr = %08x\n", hr);
-
-        /* Rename the file back to its original name. SetNameOf ignores the fact, that the
-         * SHGDN flags specify an absolute path. */
-        hr = IShellFolder_SetNameOf(psfPersonal, NULL, pidlNew, wszFileName, SHGDN_FORPARSING, NULL);
-        ok (SUCCEEDED(hr), "SetNameOf failed! hr = %08x\n", hr);
+        if(hr == S_OK)
+        {
+            ok (((LPITEMIDLIST)((LPBYTE)pidlNew+pidlNew->mkid.cb))->mkid.cb == 0, 
+                "pidl returned from SetNameOf should be simple!\n");
+
+            /* Passing an absolute path to SetNameOf fails. The HRESULT code indicates that SetNameOf
+             * is implemented on top of SHFileOperation in WinXP. */
+            hr = IShellFolder_SetNameOf(psfPersonal, NULL, pidlNew, wszAbsoluteFilename, 
+                    SHGDN_FORPARSING, NULL);
+            ok (hr == HRESULT_FROM_WIN32(ERROR_CANCELLED), "SetNameOf succeeded! hr = %08x\n", hr);
 
-        pILFree(pidlNew);
+            /* Rename the file back to its original name. SetNameOf ignores the fact, that the
+             * SHGDN flags specify an absolute path. */
+            hr = IShellFolder_SetNameOf(psfPersonal, NULL, pidlNew, wszFileName, SHGDN_FORPARSING, NULL);
+            ok (SUCCEEDED(hr), "SetNameOf failed! hr = %08x\n", hr);
+
+            pILFree(pidlNew);
+        }
+ 
         IShellFolder_Release(psfPersonal);
     }
 
-- 
1.5.4.1


--------------080906070303000604010509--




More information about the wine-patches mailing list