Commit graph

96 commits

Author SHA1 Message Date
Gé van Geldorp
46376679ce Fix deadlock when two threads were trying to SendMessage() each other
svn path=/trunk/; revision=7306
2003-12-29 10:09:33 +00:00
Thomas Bluemel
ce1768d3c3 moved NtUserTranslateMessage() to message.c
svn path=/trunk/; revision=7291
2003-12-28 14:21:03 +00:00
Thomas Bluemel
1ff3a7da81 small fix to NtUserDispatchMessage()
svn path=/trunk/; revision=7289
2003-12-28 13:53:14 +00:00
Gé van Geldorp
3d94ef5e21 Fix to handling of inter-thread and inter-process messages
svn path=/trunk/; revision=7260
2003-12-27 10:08:31 +00:00
Gé van Geldorp
c0ba949f78 Marshall messages across process boundaries (not complete yet) and
generalize message sending from kernel

svn path=/trunk/; revision=7256
2003-12-26 22:52:12 +00:00
Casper Hornstrup
08ba5babf3 2003-12-25 Casper S. Hornstrup <chorns@users.sourceforge.net>
* apps/utils/net/roshttpd/error.cpp (ReportErrorStr): Cast to wchar_t*,
	not __wchar_t*.
	* apps/utils/net/roshttpd/makefile (TARGET_CPPFLAGS): Add -Wno-deprecated.
	(TARGET_GCCLIBS): Add stdc++.
	* apps/utils/net/roshttpd/common/socket.cpp: Include <string.h>.
	* apps/utils/net/roshttpd/common/thread.cpp (CThread::CThread): Fix
	warning.
	* drivers/net/afd/afd/afd.c (ListenRequestLookasideList): New variable.
	(DriverEntry): Initialize ListenRequestLookasideList.
	* drivers/net/afd/afd/dispatch.c (AfdDispCompleteListen): New function.
	(AfdDispListen): Partial implement.
	* drivers/net/afd/afd/opnclose.c (AfdInitializeFCB): Initialize
	NewFCB->ListenRequestQueue.
	(AfdKillListenRequests): New function.
	(AfdClose): Call AfdKillListenRequests.
	* drivers/net/afd/afd/routines.c (DumpName): New function.
	* drivers/net/afd/afd/tdi.c (TdiAddressSizeFromType): New function.
	(TdiBuildConnectionInfo): Initialize ConnInfo->OptionsLength.
	(TdiBuildNullConnectionInfo): New function.
	(TdiOpenAddressFileIPv4, TdiOpenConnectionEndpointFile): EaName is
	0-terminated.
	(TdiListen): New function.
	* drivers/net/afd/include/afd.h (AFDFCB): Add ListenRequestQueue.
	(AFD_LISTEN_REQUEST): New structure.
	(ListenRequestLookasideList): Declare.
	(DumpName, TdiListen): Add prototypes.
	* drivers/net/tcpip/datalink/lan.c (BindAdapter): Initialize
	AnsiAddress.Length and AnsiAddress.MaximumLength.
	* drivers/net/tcpip/include/debug.h: Define DEBUG_TCP.
	* drivers/net/tcpip/include/routines.h (DisplayTCPPacket): Add
	prototype.
	(DISPLAY_TCP_PACKET): Define.
	* drivers/net/tcpip/include/tcp.h (TCPListen): Add prototype.
	* drivers/net/tcpip/include/titypes.h (ADDRESS_FILE): Add Connection.
	* drivers/net/tcpip/network/ip.c (IPLocateNTEOnInterface): Cleanup.
	* drivers/net/tcpip/tcpip/address.c (AddrSearchNext): Port is in
	network byte order.
	* drivers/net/tcpip/tcpip/dispatch.c (DispTdiAssociateAddress):
	Initialize AddrFile->Connection.
	(DispTdiListen): Implement.
	* drivers/net/tcpip/tcpip/fileobjs.c (FileOpenAddress): Don't
	initialize AddrFile->Connections.
	* drivers/net/tcpip/tcpip/routines.c: Include <tcp.h>.
	(DisplayIPPacket): Enable.
	(DisplayTCPHeader, DisplayTCPPacket): New functions.
	* drivers/net/tcpip/transport/tcp/tcp.c: Include <routines.h>.
	(TCPListen, TCPiReceive): New functions.
	(TCPReceive): Partial implement.
	* lib/msafd/misc/helpers.c (CreateHelperDLLDatabase): Add
	{SOCK_STREAM,IPPROTO_TCP,0} and {SOCK_DGRAM,IPPROTO_UDP,0} mappings.
	* lib/ntdll/ldr/utils.c (LdrLoadDll): Print name of DLL if not found.
	* lib/ws2_32/include/ws2_32.h (Initialized): Declare.
	(WINSOCK_THREAD_BLOCK): Remove Initialized member.
	* (WSAINITIALIZED, WSASETINITIALIZED): Update.
	* lib/ws2_32/misc/catalog.c (CreateCatalog): Add
	{SOCK_STREAM,IPPROTO_TCP,0} and {SOCK_DGRAM,IPPROTO_UDP,0} mappings.
	(Initialized): New variable.
	(DllMain): Don't initialize p->Initialized.
	* ntoskrnl/dbg/kdb.c: Include <ctype.h>.
	* subsys/win32k/ntuser/message.c (NtUserDispatchMessage): Kill noisy
	message.

svn path=/trunk/; revision=7232
2003-12-25 14:06:15 +00:00
Filip Navara
9516179123 Support for HWN_BROADCAST in NtUserPostMessage.
svn path=/trunk/; revision=7211
2003-12-24 10:23:13 +00:00
Thomas Bluemel
6c6cd533e1 partially implemented WM_SETCURSOR messages
svn path=/trunk/; revision=7149
2003-12-20 21:45:14 +00:00
Thomas Bluemel
9d372b138d NtUserDispatchMessage() shouldn't allow calling the window proc if the window doesn't belong to the thread
svn path=/trunk/; revision=7072
2003-12-14 23:52:54 +00:00
Gé van Geldorp
96e065ecb2 When sending messages to a window in the same thread, call window proc
from usermode instead of from a kernelmode callback

svn path=/trunk/; revision=7016
2003-12-14 11:36:43 +00:00
Art Yerkes
d792147982 These changes are described in earlier posts to the ros-kernel list.
I believe everything here is correct, Alt+Gr works with the french keyboard,
Numlock and Capslock work normally in my testing.

svn path=/trunk/; revision=6772
2003-11-24 00:22:53 +00:00
Thomas Bluemel
1d4b120ca5 use IntGetWindowObject() and IntReleaseWindowObject()
svn path=/trunk/; revision=6763
2003-11-23 12:41:42 +00:00
Filip Navara
967fd54cdd - More painting bugfixes.
svn path=/trunk/; revision=6737
2003-11-21 17:01:16 +00:00
Thomas Bluemel
54ebd5ce0e Patch by Jonathon Wilson:
add stubs to user32 and add partial non-working implementation of Message Pump Hooks

svn path=/trunk/; revision=6711
2003-11-19 13:19:40 +00:00
Filip Navara
1ccabd4c8e - Rewritten painting implementation (not complete yet, but better then the current).
- Bug fixes.

svn path=/trunk/; revision=6691
2003-11-18 20:49:39 +00:00
Gé van Geldorp
44a3da7588 WndProc changes by Jonathan Wilson
svn path=/trunk/; revision=6621
2003-11-11 20:28:21 +00:00
Gé van Geldorp
3f52e9d728 Keyboard sync between gui and text modes, patch by Art Yerkes and
Hartmut Birr

svn path=/trunk/; revision=6271
2003-10-09 06:13:05 +00:00
Gé van Geldorp
8638791220 Set cursor position and time for posted messages
svn path=/trunk/; revision=6165
2003-09-27 15:41:54 +00:00
Thomas Bluemel
f75a6525b5 Patch by Jonathon Wilson:
1. renames all w32k syscalls to ntgdi
2. contains the fixed, working PolyPatBlt and PatBlt fixes from before
3. renames W32kInitialize to Win32kInitalize
4. renames W32kDeviceProcess to Win32kDeviceProcess
5. renames all the w32k functions in ntuser to int functions (like in ntgdi)

svn path=/trunk/; revision=5672
2003-08-19 11:48:50 +00:00
Thomas Bluemel
64c31c759c ANSI/UNICODE struct separation patch by Royce3, ANSI/UNICODE WNDCLASS separation and new gdi32 functions by Jonathan Wilson
svn path=/trunk/; revision=5422
2003-08-05 15:41:03 +00:00
Gunnar Dalsnes
7f050c459b -invented NtUserGetQueueStatus
-added queue bits (currently unused)

svn path=/trunk/; revision=5383
2003-08-02 16:53:08 +00:00
David Welch
99f9c40405 - Use a paged lookside list for window messages.
svn path=/trunk/; revision=5271
2003-07-25 23:53:36 +00:00
Gé van Geldorp
7e7e74b988 This time, apply the correct patch from Art Yerkes instead of an old one...
svn path=/trunk/; revision=5236
2003-07-24 05:51:26 +00:00
Gé van Geldorp
42d63c02df Implement NtUserPostThreadMessage and add test program (all by Art Yerkes)
svn path=/trunk/; revision=5227
2003-07-23 17:00:55 +00:00
Eric Kohl
ea01cf3f1f Enable automatic initialization and termination of Win32 threads and processes.
svn path=/trunk/; revision=4933
2003-06-20 16:26:53 +00:00
Gé van Geldorp
60dd268c50 Pass WndProc in call to W32kCallWindowProc, saving a usermode -> kernelmode ->
usermode trip

svn path=/trunk/; revision=4892
2003-06-14 21:21:23 +00:00
Gé van Geldorp
5af5f51b74 - Implement WaitMessage()
- Rearrange message code to avoid code duplication
- Fix bugs, mainly in signaling new messages
- Include Hartmut's fix of 2003/03/26

svn path=/trunk/; revision=4738
2003-05-21 22:58:43 +00:00
Gé van Geldorp
15073977b6 Remove WINDOWOBJECT_NEED_BEGINPAINT flag since calling BeginPaint in a
WM_PAINT handler is not strictly required

svn path=/trunk/; revision=4721
2003-05-18 22:07:02 +00:00
Emanuele Aliberti
982fd1f286 WIN32K code cleanup.
Prefer FASTCALL/STDCALL in kernel mode code.
Make compiler check function signatures.
Tested under BOCHS 2.0.2 + FreeDOS + loadros.

svn path=/trunk/; revision=4714
2003-05-18 17:16:18 +00:00
Gé van Geldorp
7ba70583b9 Generate WM_PAINT messages in PeekMessage()
svn path=/trunk/; revision=4706
2003-05-18 06:47:19 +00:00
Jason Filby
76c3289be5 NtUserSendMessageCallback is UNIMPLEMENTED
svn path=/trunk/; revision=4672
2003-05-11 12:29:41 +00:00
Jason Filby
6c2e6e0aa5 NtUserPostMessage: use a switch statement instead of if; WM_NULL: ignore message
svn path=/trunk/; revision=4670
2003-05-11 10:47:33 +00:00
Gé van Geldorp
8d4eee3aab Check for messages sent by other threads
svn path=/trunk/; revision=4665
2003-05-10 21:47:04 +00:00
Gé van Geldorp
9f2567f198 Allow sending of messages from non-GUI threads
svn path=/trunk/; revision=4643
2003-05-04 15:42:21 +00:00
Gé van Geldorp
ddf2e52b15 Switch back to the command prompt when you press the "X" Close button
svn path=/trunk/; revision=4256
2003-03-06 23:57:03 +00:00
David Welch
ae67380311 Implemented mouse messages.
svn path=/trunk/; revision=3679
2002-10-31 00:03:31 +00:00
David Welch
8874b95126 Misc. user fixes.
svn path=/trunk/; revision=3516
2002-09-17 23:43:29 +00:00
David Welch
df75d0d97f Fixes for painting.
svn path=/trunk/; revision=3398
2002-08-26 23:20:54 +00:00
David Welch
9d6848e6ed Fixed some bugs.
svn path=/trunk/; revision=3243
2002-07-17 21:04:57 +00:00
David Welch
3c453d5dc1 2002-07-04 David Welch <welch@computer2.darkstar.org>
* subsys/win32k/include/callback.h: Fixed callback argument
	definitions.
	* subsys/win32k/ntuser/winpos.c: Implemented some more of the windows
	sizing/moving code.
	* subsys/win32k/ntuser/painting.c: Implemented some more of the
	window painting code.
	* subsys/win32k/objects/coord.c: Implemented LPtoDP and DPtoLP.
	* subsys/win32k/objects/region.c: Added stubs for some more
	region functions.

2002-07-04  David Welch  <welch@computer2.darkstar.org>

	* ntoskrnl/ps/process.c (NtCreateProcess): Duplicate the
	process desktop handle as well.

2002-07-04  David Welch  <welch@computer2.darkstar.org>

	* ntoskrnl/se/token.c: Don't call the ZwXXX variant of
	system calls when in system context.

2002-07-04  David Welch  <welch@computer2.darkstar.org>

	* ntoskrnl/Makefile: Added file with MDA output code.
	* ntoskrnl/kd/kdebug.c: Recognize MDA as a destination for
	debug output.

2002-07-04  David Welch  <welch@computer2.darkstar.org>

	* lib/user32/windows/defwnd.c: Implemented some more of the
	default window handler.

2002-07-04  David Welch  <welch@computer2.darkstar.org>

	* lib/user32/misc/stubs.c: Removed some stubs to seperate files.

2002-07-04  David Welch  <welch@computer2.darkstar.org>

	* lib/user32/user32.def: Export ScreenToClient otherwise we
	get problems when code in user32 tries to call it.

2002-07-04  David Welch  <welch@computer2.darkstar.org>

	* include/win32k/region.h: Added prototypes for some missing
	region functions.

2002-07-04  David Welch  <welch@computer2.darkstar.org>

	* include/win32k/ntuser.h: Added prototypes for some missing
	NtUserXXX functions.

2002-07-04  David Welch  <welch@computer2.darkstar.org>

	* include/user32/wininternal.h: Added some constants for
	private GetDCEx styles that WINE needs.

2002-07-04  David Welch  <welch@computer2.darkstar.org>

	* include/user32/callback.h: Fixed callbacks for messages with
	parameters.

2002-07-04  David Welch  <welch@computer2.darkstar.org>

	* include/napi/win32.h (W32THREAD): Added pointer to the
	thread's desktop.
	* include/napi/win32.h (W32PROCESS): Removed handle table,
	added a pointer to the process's window station.
	* subsys/win32k/ntuser/guicheck.c (W32kGuiCheck): Reference
	a process's window station on the first win32k system call. Reference
	a thread's desktop on the first win32k system call.

2002-07-04  David Welch  <welch@computer2.darkstar.org>

	* include/messages.h: Added some missing WM_XXX constants.

2002-07-04  David Welch  <welch@computer2.darkstar.org>

	* drivers/dd/ide/makefile: Compiling with debugging messages
	needs libgcc to be linked in.

2002-07-04  David Welch  <welch@computer2.darkstar.org>

	* iface/addsys/genw32k.c: Generate a variable with the
	number of system calls.
	* iface/native/genntdll.c: Generate a proper stack frame for
	the user system call stubs.
	* ntoskrnl/ke/i386/syscall.S: Generate a proper stack frame for
	the handler for system calls.

2002-07-04  David Welch  <welch@computer2.darkstar.org>

	* Makefile: Build the GUI startup application.
	* subsys/system/gstart/gstart.c: Application to start up
	the GUI.

svn path=/trunk/; revision=3179
2002-07-04 19:56:38 +00:00
Jason Filby
51fddda8d4 Implemented NtUserPeekMessage
svn path=/trunk/; revision=3014
2002-06-06 17:50:16 +00:00
David Welch
f1694d4913 Some additions to the USER code; nothing is working yet.
svn path=/trunk/; revision=2915
2002-05-06 22:20:32 +00:00
David Welch
8dff4a88dc More user work
svn path=/trunk/; revision=2567
2002-01-27 01:11:24 +00:00
David Welch
43b2190795 Began work on message queue and default window procedure
svn path=/trunk/; revision=2504
2002-01-13 22:52:08 +00:00
David Welch
cc824ce464 Fixed fast mutex implementation (they are NOT recursive)
Implemented paged pool
Removed duplicate dependency tool source file

svn path=/trunk/; revision=2433
2001-12-20 03:56:10 +00:00
Casper Hornstrup
8eba21d917 Window stations and desktops
svn path=/trunk/; revision=1965
2001-06-12 17:51:51 +00:00