Detlef Riekenberg : localspl/tests: Fallback to localmon.dll on NT4.0.

Alexandre Julliard julliard at wine.codeweavers.com
Tue Oct 24 04:55:25 CDT 2006


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

Author: Detlef Riekenberg <wine.dev at web.de>
Date:   Sat Oct 21 18:41:04 2006 +0200

localspl/tests: Fallback to localmon.dll on NT4.0.

---

 dlls/localspl/tests/localmon.c |   18 ++++++++++++++----
 1 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/dlls/localspl/tests/localmon.c b/dlls/localspl/tests/localmon.c
index ca5ee97..d71fb64 100644
--- a/dlls/localspl/tests/localmon.c
+++ b/dlls/localspl/tests/localmon.c
@@ -36,6 +36,7 @@ #include "wine/test.h"
 /* ##### */
 
 static HMODULE  hdll;
+static HMODULE  hlocalmon;
 static LPMONITOREX (WINAPI *pInitializePrintMonitor)(LPWSTR);
 
 static LPMONITOREX pm;
@@ -74,16 +75,18 @@ static void test_InitializePrintMonitor(
 
     SetLastError(0xdeadbeef);
     res = pInitializePrintMonitor(NULL);
-    ok( (res == NULL) && (GetLastError() == ERROR_INVALID_PARAMETER),
-        "returned %p with %d\n (expected NULL with " \
+    /* The Parameter was unchecked before w2k */
+    ok( res || (GetLastError() == ERROR_INVALID_PARAMETER),
+        "returned %p with %d\n (expected '!= NULL' or: NULL with " \
         "ERROR_INVALID_PARAMETER)\n", res, GetLastError());
 
     SetLastError(0xdeadbeef);
     res = pInitializePrintMonitor(emptyW);
-    ok( (res == NULL) && (GetLastError() == ERROR_INVALID_PARAMETER),
-        "returned %p with %d\n (expected NULL with " \
+    ok( res || (GetLastError() == ERROR_INVALID_PARAMETER),
+        "returned %p with %d\n (expected '!= NULL' or: NULL with " \
         "ERROR_INVALID_PARAMETER)\n", res, GetLastError());
 
+
     /* Every call with a non-empty string returns the same Pointer */
     SetLastError(0xdeadbeef);
     res = pInitializePrintMonitor(Monitors_LocalPortW);
@@ -107,6 +110,13 @@ START_TEST(localmon)
     if (!hdll) return;
 
     pInitializePrintMonitor = (void *) GetProcAddress(hdll, "InitializePrintMonitor");
+    if (!pInitializePrintMonitor) {
+        /* The Monitor for "Local Ports" was in a seperate dll before w2k */
+        hlocalmon = LoadLibraryA("localmon.dll");
+        if (hlocalmon) {
+            pInitializePrintMonitor = (void *) GetProcAddress(hlocalmon, "InitializePrintMonitor");
+        }
+    }
     if (!pInitializePrintMonitor) return;
 
     /* Native localmon.dll / localspl.dll need a vaild Port-Entry in:




More information about the wine-cvs mailing list