Module: wine Branch: master Commit: 73d36423f3515fe9848dce002a8102cd8895dc49 URL: http://source.winehq.org/git/wine.git/?a=commit;h=73d36423f3515fe9848dce002a...
Author: Detlef Riekenberg wine.dev@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: