Release 961208
Sun Dec 8 14:51:57 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [configure.in]
Added check to see if the compiler supports building a DLL when
the --with-dll option is used.
* [controls/listbox.c]
Don't send LBN_SELCHANGE too often.
Added WM_CHARTOITEM support.
* [Make.rules.in] [library/Makefile.in]
Build winestub.o and link it with Winelib programs.
* [objects/text.c]
Added support for '&&' in DrawText().
* [tools/build.c]
Added -o option.
Sat Dec 7 12:07:07 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [win32/thread.c]
GetCurrentThread(): return -2 (current thread pseudo-handle).
GetCurrentThreadId(): return GetCurrentTask().
* [objects/font.c] [if1632/gdi32.spec]
GetTextExtentPoint32{A,W}Buggy(): for future bug-compatibility.
* [win32/findfile.c]
FindClose(): ignore INVALID_HANDLE_VALUE (like Win95).
* [windows/hook.c] [include/hook.h] [if1632/user.spec]
[if1632/user32.spec] [windows/focus.c] [windows/message.c]
[windows/nonclient.c] [windows/win.c] [windows/winpos.c]
Hooks rewritten to support Win32.
* [misc/winsock.c]
WINSOCK_select(): need to put sockets with errors into exceptfds.
WINSOCK_socket(): fix error return.
* [windows/win.c]
SetWindowWord(): call SetParent on GWW_HWNDPARENT.
Wed Dec 4 22:03:05 1996 Andrew Taylor <andrew@riscan.com>
* [files/dos_fs.c]
Check if buf is NULL before copying string in GetFullPathName32A().
Wed Dec 4 21:40:59 1996 Robert Pouliot <krynos@clic.net>
* [graphics/wing.c] [if1632/wing.spec]
Implemented many WinG functions, but some don't seem to
work correctly (probably due to the one not done).
Wed Dec 4 03:38:25 1996 Lee Jaekil <juria@puma.kaitech.re.kr>
* [misc/main.c]
Implemented a few more of the SystemParametersInfo() cases.
Sun Dec 1 22:30:00 1996 Alex Korobka <alex@trantor.pharm.sunysb.edu>
* [controls/button.c]
Improved focus rectangle painting.
* [windows/dialog.c] [windows/defdlg.c]
Fixed IE3.0 problems with DWL_MSGRESULT.
Sun Dec 1 20:49:32 1996 Albrecht Kleine <kleine@ak.sax.de>
* [files/profile.c]
Changed error handling in PROFILE_SetString().
diff --git a/windows/message.c b/windows/message.c
index 77ee2f9..05f8ad5 100644
--- a/windows/message.c
+++ b/windows/message.c
@@ -91,15 +91,15 @@
msg->lParam = MAKELONG( pt.x, pt.y );
/* No need to further process the message */
- if (!HOOK_GetHook( WH_MOUSE, GetTaskQueue(0)) ||
+ if (!HOOK_IsHooked( WH_MOUSE ) ||
!(hook = SEGPTR_NEW(MOUSEHOOKSTRUCT16)))
return SYSQ_MSG_ACCEPT;
hook->pt = msg->pt;
hook->hwnd = msg->hwnd;
hook->wHitTestCode = HTCLIENT;
hook->dwExtraInfo = 0;
- ret = !HOOK_CallHooks( WH_MOUSE, remove ? HC_ACTION : HC_NOREMOVE,
- msg->message, (LPARAM)SEGPTR_GET(hook));
+ ret = !HOOK_CallHooks16( WH_MOUSE, remove ? HC_ACTION : HC_NOREMOVE,
+ msg->message, (LPARAM)SEGPTR_GET(hook));
SEGPTR_FREE(hook);
return ret ? SYSQ_MSG_ACCEPT : SYSQ_MSG_SKIP ;
}
@@ -195,7 +195,7 @@
/* Call the WH_MOUSE hook */
- if (!HOOK_GetHook( WH_MOUSE, GetTaskQueue(0)) ||
+ if (!HOOK_IsHooked( WH_MOUSE ) ||
!(hook = SEGPTR_NEW(MOUSEHOOKSTRUCT16)))
return SYSQ_MSG_ACCEPT;
@@ -203,8 +203,8 @@
hook->hwnd = msg->hwnd;
hook->wHitTestCode = hittest;
hook->dwExtraInfo = 0;
- ret = !HOOK_CallHooks( WH_MOUSE, remove ? HC_ACTION : HC_NOREMOVE,
- msg->message, (LPARAM)SEGPTR_GET(hook) );
+ ret = !HOOK_CallHooks16( WH_MOUSE, remove ? HC_ACTION : HC_NOREMOVE,
+ msg->message, (LPARAM)SEGPTR_GET(hook) );
SEGPTR_FREE(hook);
return ret ? SYSQ_MSG_ACCEPT : SYSQ_MSG_SKIP;
}
@@ -245,9 +245,9 @@
if (queue) QUEUE_SetWakeBit( queue, QS_KEY );
return SYSQ_MSG_ABANDON;
}
- return (HOOK_CallHooks( WH_KEYBOARD, remove ? HC_ACTION : HC_NOREMOVE,
- msg->wParam, msg->lParam ))
- ? SYSQ_MSG_SKIP : SYSQ_MSG_ACCEPT;
+ return (HOOK_CallHooks16( WH_KEYBOARD, remove ? HC_ACTION : HC_NOREMOVE,
+ msg->wParam, msg->lParam )
+ ? SYSQ_MSG_SKIP : SYSQ_MSG_ACCEPT);
}
@@ -268,16 +268,16 @@
event->paramH = msg->lParam & 0x7FFF;
if (HIWORD(msg->lParam) & 0x0100)
event->paramH |= 0x8000; /* special_key - bit */
- HOOK_CallHooks( WH_JOURNALRECORD, HC_ACTION, 0,
- (LPARAM)SEGPTR_GET(event) );
+ HOOK_CallHooks16( WH_JOURNALRECORD, HC_ACTION, 0,
+ (LPARAM)SEGPTR_GET(event) );
}
else if ((msg->message >= WM_MOUSEFIRST) && (msg->message <= WM_MOUSELAST))
{
event->paramL = LOWORD(msg->lParam); /* X pos */
event->paramH = HIWORD(msg->lParam); /* Y pos */
ClientToScreen16( msg->hwnd, (LPPOINT16)&event->paramL );
- HOOK_CallHooks( WH_JOURNALRECORD, HC_ACTION, 0,
- (LPARAM)SEGPTR_GET(event) );
+ HOOK_CallHooks16( WH_JOURNALRECORD, HC_ACTION, 0,
+ (LPARAM)SEGPTR_GET(event) );
}
else if ((msg->message >= WM_NCMOUSEFIRST) &&
(msg->message <= WM_NCMOUSELAST))
@@ -285,8 +285,8 @@
event->paramL = LOWORD(msg->lParam); /* X pos */
event->paramH = HIWORD(msg->lParam); /* Y pos */
event->message += WM_MOUSEMOVE-WM_NCMOUSEMOVE;/* give no info about NC area */
- HOOK_CallHooks( WH_JOURNALRECORD, HC_ACTION, 0,
- (LPARAM)SEGPTR_GET(event) );
+ HOOK_CallHooks16( WH_JOURNALRECORD, HC_ACTION, 0,
+ (LPARAM)SEGPTR_GET(event) );
}
SEGPTR_FREE(event);
}
@@ -302,10 +302,11 @@
long wtime,lParam;
WORD keyDown,i,wParam,result=0;
- if ( HOOK_GetHook(WH_JOURNALPLAYBACK, 0) )
+ if ( HOOK_IsHooked( WH_JOURNALPLAYBACK ) )
{
tmpMsg = SEGPTR_NEW(EVENTMSG16);
- wtime=HOOK_CallHooks( WH_JOURNALPLAYBACK, HC_GETNEXT, 0, (LPARAM)SEGPTR_GET(tmpMsg));
+ wtime=HOOK_CallHooks16( WH_JOURNALPLAYBACK, HC_GETNEXT, 0,
+ (LPARAM)SEGPTR_GET(tmpMsg));
/* dprintf_msg(stddeb,"Playback wait time =%ld\n",wtime); */
if (wtime<=0)
{
@@ -360,7 +361,8 @@
tmpMsg->paramL, tmpMsg->paramH, tmpMsg->time, 0 );
}
}
- HOOK_CallHooks( WH_JOURNALPLAYBACK, HC_SKIP, 0, (LPARAM)SEGPTR_GET(tmpMsg));
+ HOOK_CallHooks16( WH_JOURNALPLAYBACK, HC_SKIP, 0,
+ (LPARAM)SEGPTR_GET(tmpMsg));
}
else
result= QS_MOUSE | QS_KEY;
@@ -412,9 +414,9 @@
hook->wMessage = msg->message;
hook->wParam = msg->wParam;
hook->lParam = msg->lParam;
- ret = HOOK_CallHooks( WH_HARDWARE,
- remove ? HC_ACTION : HC_NOREMOVE,
- 0, (LPARAM)SEGPTR_GET(hook) );
+ ret = HOOK_CallHooks16( WH_HARDWARE,
+ remove ? HC_ACTION : HC_NOREMOVE,
+ 0, (LPARAM)SEGPTR_GET(hook) );
SEGPTR_FREE(hook);
status = ret ? SYSQ_MSG_SKIP : SYSQ_MSG_ACCEPT;
}
@@ -434,7 +436,7 @@
((msg->message < first) || (msg->message > last))) continue;
if (remove)
{
- if (HOOK_GetHook( WH_JOURNALRECORD, GetTaskQueue(0) ))
+ if (HOOK_IsHooked( WH_JOURNALRECORD ))
MSG_JournalRecordMsg( msg );
QUEUE_RemoveMsg( sysMsgQueue, pos );
}
@@ -776,18 +778,17 @@
/* Call message filters */
- if (HOOK_GetHook( WH_SYSMSGFILTER, GetTaskQueue(0) ) ||
- HOOK_GetHook( WH_MSGFILTER, GetTaskQueue(0) ))
+ if (HOOK_IsHooked( WH_SYSMSGFILTER ) || HOOK_IsHooked( WH_MSGFILTER ))
{
MSG16 *pmsg = SEGPTR_NEW(MSG16);
if (pmsg)
{
BOOL32 ret;
*pmsg = *msg;
- ret = ((BOOL16)HOOK_CallHooks( WH_SYSMSGFILTER, code, 0,
- (LPARAM)SEGPTR_GET(pmsg) ) ||
- (BOOL16)HOOK_CallHooks( WH_MSGFILTER, code, 0,
- (LPARAM)SEGPTR_GET(pmsg) ));
+ ret = ((BOOL16)HOOK_CallHooks16( WH_SYSMSGFILTER, code, 0,
+ (LPARAM)SEGPTR_GET(pmsg) ) ||
+ (BOOL16)HOOK_CallHooks16( WH_MSGFILTER, code, 0,
+ (LPARAM)SEGPTR_GET(pmsg) ));
SEGPTR_FREE(pmsg);
if (ret)
{
@@ -826,7 +827,7 @@
dprintf_msg(stddeb,"message %04x, hwnd %04x, filter(%04x - %04x)\n", lpmsg->message,
hwnd, first, last );
- HOOK_CallHooks( WH_GETMESSAGE, HC_ACTION, 0, (LPARAM)msg );
+ HOOK_CallHooks16( WH_GETMESSAGE, HC_ACTION, 0, (LPARAM)msg );
return (lpmsg->message != WM_QUIT);
}
@@ -924,30 +925,30 @@
return TRUE;
}
- if (HOOK_GetHook( WH_CALLWNDPROC, GetTaskQueue(0) ))
- {
- struct msgstruct
- {
- LPARAM lParam;
- WPARAM16 wParam;
- UINT16 wMsg;
- HWND16 hWnd;
- } *pmsg;
-
- if ((pmsg = SEGPTR_NEW(struct msgstruct)))
- {
- pmsg->hWnd = hwnd;
- pmsg->wMsg = msg;
- pmsg->wParam = wParam;
- pmsg->lParam = lParam;
- HOOK_CallHooks( WH_CALLWNDPROC, HC_ACTION, 1,
- (LPARAM)SEGPTR_GET(pmsg) );
- hwnd = pmsg->hWnd;
- msg = pmsg->wMsg;
- wParam = pmsg->wParam;
- lParam = pmsg->lParam;
- SEGPTR_FREE( pmsg );
- }
+ if (HOOK_IsHooked( WH_CALLWNDPROC ))
+ {
+ struct msgstruct
+ {
+ LPARAM lParam;
+ WPARAM16 wParam;
+ UINT16 wMsg;
+ HWND16 hWnd;
+ } *pmsg;
+
+ if ((pmsg = SEGPTR_NEW(struct msgstruct)))
+ {
+ pmsg->hWnd = hwnd;
+ pmsg->wMsg = msg;
+ pmsg->wParam = wParam;
+ pmsg->lParam = lParam;
+ HOOK_CallHooks16( WH_CALLWNDPROC, HC_ACTION, 1,
+ (LPARAM)SEGPTR_GET(pmsg) );
+ hwnd = pmsg->hWnd;
+ msg = pmsg->wMsg;
+ wParam = pmsg->wParam;
+ lParam = pmsg->lParam;
+ SEGPTR_FREE( pmsg );
+ }
}
if (!(wndPtr = WIN_FindWndPtr( hwnd )))
@@ -1134,7 +1135,7 @@
{
if (msg->lParam)
{
-/* HOOK_CallHooks( WH_CALLWNDPROC, HC_ACTION, 0, FIXME ); */
+/* HOOK_CallHooks16( WH_CALLWNDPROC, HC_ACTION, 0, FIXME ); */
return CallWindowProc16( (WNDPROC16)msg->lParam, msg->hwnd,
msg->message, msg->wParam, GetTickCount() );
}
@@ -1145,7 +1146,7 @@
if (!wndPtr->winproc) return 0;
painting = (msg->message == WM_PAINT);
if (painting) wndPtr->flags |= WIN_NEEDS_BEGINPAINT;
-/* HOOK_CallHooks( WH_CALLWNDPROC, HC_ACTION, 0, FIXME ); */
+/* HOOK_CallHooks16( WH_CALLWNDPROC, HC_ACTION, 0, FIXME ); */
SPY_EnterMessage( SPY_DISPATCHMESSAGE16, msg->hwnd, msg->message,
msg->wParam, msg->lParam );