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