Stefan Ginsberg
c589c03a22
- NtUserMessageCall: Fix probe-and-capture for the FNID_BROADCASTSYSTEMMESSAGE case -- win32k must copy user mode buffers to safe memory before reading from them (or wrap the operations in SEH). Copy the buffer to the stack as it is small.
...
svn path=/trunk/; revision=41816
2009-07-08 20:41:58 +00:00
James Tabor
0d5243017d
- Move PostThreadMessage internals into its own function.
...
svn path=/trunk/; revision=41778
2009-07-05 07:47:41 +00:00
James Tabor
77c9c52324
- Cleanup patch tab removeal.
...
svn path=/trunk/; revision=41773
2009-07-04 16:43:59 +00:00
James Tabor
0aeef70968
- Updates and changes to, with one add on and removal: MenuWindowProc (Not supported in kernel space), PopupMenuWndProcA, PostMessage, SendNotifyMessage and win32k hook debugs.
...
- Patch by Smiley <johnyadams@hotmail.com>: Wrong PostMessage and SendNotifyMessage behavior, see Bug 4646.
- Reference: Related to TranslateMessage: http://msdn.microsoft.com/en-us/library/aa912145.aspx , Related to PopupMenuWndProcA: Registration of Atom classes, Unicode only: http://www.reactos.org/archives/public/ros-dev/2007-October/009976.html
svn path=/trunk/; revision=41772
2009-07-04 16:31:11 +00:00
Dmitry Chapyshev
09f8aa06a9
- Use PWINDOW_OBJECT instead HWND in PostTimerMessages, IntGetPaintMessage, co_MsqTranslateMouseMessage, co_MsqPeekHardwareMessage, co_MsqFindMessage, co_MsqWaitForNewMessages, MsqGetTimerMessage, MsqGetFirstTimerExpiry, co_IntPeekMessage
...
- Allow hWnd equal -1, 0x0000ffff, 0xffffffff
- Fixes 3 winetests for PeekMessageA/W
svn path=/trunk/; revision=41754
2009-07-03 09:37:44 +00:00
James Tabor
345be0f17a
- Add more vista types. Added another window message type, based on winproc.c. Added two vista prototypes for ntuser.
...
- Implemented new PostMessage and SendNotifyMessage, this is for bug 4646. I realize the need to update/sync dde code from wine. This relates to the new post and send functions and the use of MsgiKMToUMMessage. Trying to understand this mess.
- CreateDesktop is used to create the HWND_MESSAGE for the desktop. This is a work in progress. The ntuser prototype is updated too. Now pass the correct data from user to kernel space.
- Major update to event code and testing with user32 wine test msg. ATM, only two ntuser notifications are sent if the app has a event hook. Need to add more notifications at the correct points.
- Code arranging in hooks. Testing with user32 cross test works, need to add more ntuser hook calls at the correct points.
- Testing: More is required! User32 cross tests win and msg, win test hangs at flush_events. FF 1.5.x (Still has that funny minimize bug. Play with it and see. Missing one more check I think.) and AbiWord 2.4.1. Notepad lite is doing something very naughty inside it's hook call, with out the source, testing it will be imposable, so someone needs to find an open source program that does the same thing.
- Reference: Drag and drop file into window: winproc.c WM_COPYGLOBALDATA http://wiki.winprog.org/wiki/Windows_messages
svn path=/trunk/; revision=41727
2009-07-01 17:19:16 +00:00
Dmitry Chapyshev
25e390f1bd
- Fix two potential crashes
...
svn path=/trunk/; revision=41080
2009-05-23 17:20:30 +00:00
James Tabor
3586ec74c7
- Check the pointer for client thread information for null not thread information.
...
svn path=/trunk/; revision=41056
2009-05-23 04:01:27 +00:00
Timo Kreuzer
05a7fd23a3
UserPostMessage: when dealing with WM_QUIT, allow broadcasting like windows does and post it to the window's message queue instead of the current thread's message queue. Fixes a hang in user32_winetest msg. Patch by Giannis Adamopoulos.
...
See issue #4058 for more details.
svn path=/trunk/; revision=40964
2009-05-17 22:22:20 +00:00
James Tabor
3902e655f3
- Remove client thread information from w32 thread information.
...
svn path=/trunk/; revision=40892
2009-05-12 01:56:39 +00:00
James Tabor
9a36bd47a2
- Implement ReplyMessage and kernel support for InSendMessage and GetMessageTime.
...
svn path=/trunk/; revision=40820
2009-05-06 18:49:53 +00:00
James Tabor
c993561d5d
- Migration changes from PPROCESSINFO and PTHREADINFO to use ClientInfo from TEB. I moved kpi to ci->ppi, we still depend on it as a reference pointer.
...
- Added and changed structure types.
- Tested with old AbiWord, FireFox and explorer.
- Comment out TestWindowProcess until the rest is ready.
svn path=/trunk/; revision=40333
2009-04-02 18:52:34 +00:00
Timo Kreuzer
ea055dde70
Rename NtGdiDeleteObject to GreDeleteObject
...
svn path=/trunk/; revision=40240
2009-03-25 20:24:34 +00:00
James Tabor
1a0ed06ffc
- Update DispathMessage and fix time stamp for system and standard timers. Tested with qemu bootcd, cmd and explorer. If any bugs arise please log them under Timer Rewrite then associate the older or newer related bugs under it.
...
svn path=/trunk/; revision=38803
2009-01-17 01:03:03 +00:00
James Tabor
a0d07a719b
- Rewrite Timers, nothing is using it except a bogus system timer for raw input thread is loaded and running.
...
svn path=/trunk/; revision=38779
2009-01-15 23:15:31 +00:00
James Tabor
0c4b617c16
- Re-implement NtUserDispatchMessage and implement NtUserValidateTimerCallback.
...
svn path=/trunk/; revision=38745
2009-01-13 12:16:06 +00:00
James Tabor
a035fd4e21
- Un-implement NtUserDispatchMessage.
...
- First of all, it is incorrect. I had a rant that I was going to send to the private mail list, but this will do.
- No more "New Standards"! The Window object should already know it is ANSI or not. A pointer to MSG is the only thing passed.
svn path=/trunk/; revision=38741
2009-01-12 23:36:10 +00:00
Stefan Ginsberg
09cde7e355
- NtUserWaitForInputIdle: Call EngGetTickCount, removing duplicated code
...
- GetTickCount/GetTickCount64/EngGetTickCount: Use the correct SharedUserData fields, and fix the calculations
- KeUpdateSystemTime: Don't update TickCountLowDeprecated now that it truly is deprecated
- Thanks to Fireball and KJK!
svn path=/trunk/; revision=38616
2009-01-06 19:57:44 +00:00
KJK::Hyperion
1bd07ee187
modified include/reactos/probe.h
...
Workaround for gcc 4.1.3. See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38054#c7
modified ntoskrnl/include/internal/mm.h
gcc 4.3.2 doesn't like to be told to inline MmAcquirePageListLock
modified ntoskrnl/include/internal/probe.h
Cleaning up after TSVN's buggy "apply patch"
modified subsystems/win32/win32k/ntuser/message.c
Silence a gcc 4.3.2 warning (possibly incorrectly)
modified dll/directx/ddraw/ddraw.rbuild
modified dll/win32/gdi32/gdi32.rbuild
modified dll/win32/kernel32/kernel32.rbuild
modified dll/win32/psapi/psapi.rbuild
modified dll/win32/setupapi/setupapi.rbuild
modified dll/win32/syssetup/syssetup.rbuild
modified dll/win32/user32/user32.rbuild
modified drivers/input/kbdclass/kbdclass.rbuild
modified drivers/input/mouclass/mouclass.rbuild
modified drivers/network/afd/afd.rbuild
modified drivers/network/tcpip/tcpip.rbuild
modified lib/rtl/rtl.rbuild
modified subsystems/win32/win32k/win32k.rbuild
modified subsystems/win32/win32k/objects/gdiobj.c
gcc 4.1.3 workarounds. See embedded comments
modified base/services/eventlog/eventlog.h
modified dll/win32/advapi32/advapi32.h
Removed superfluous includes of pseh/pseh.h
modified dll/directx/ddraw/Ddraw/ddraw_displaymode.c
modified dll/directx/ddraw/Ddraw/ddraw_main.c
modified dll/directx/ddraw/Ddraw/ddraw_setcooperativelevel.c
modified dll/directx/ddraw/Ddraw/GetCaps.c
modified dll/directx/ddraw/Ddraw/GetDeviceIdentifier.c
modified dll/directx/ddraw/main.c
modified dll/directx/ddraw/rosdraw.h
modified dll/directx/ddraw/Surface/surface_main.c
ddraw migrated to PSEH 2.0
modified dll/win32/gdi32/include/precomp.h
modified dll/win32/gdi32/misc/misc.c
modified dll/win32/gdi32/objects/bitmap.c
gdi32 migrated to PSEH 2.0
modified dll/win32/kernel32/except/except.c
modified dll/win32/kernel32/file/find.c
modified dll/win32/kernel32/k32.h
modified dll/win32/kernel32/mem/isbad.c
modified dll/win32/kernel32/misc/console.c
modified dll/win32/kernel32/process/procsup.c
modified dll/win32/kernel32/string/lstring.c
modified dll/win32/kernel32/thread/thread.c
kernel32 migrated to PSEH 2.0
modified dll/win32/psapi/precomp.h
modified dll/win32/psapi/psapi.c
psapi migrated to PSEH 2.0
modified dll/win32/setupapi/cfgmgr.c
modified dll/win32/setupapi/setupapi_private.h
setupapi migrated to PSEH 2.0
modified dll/win32/syssetup/wizard.c
syssetup migrated to PSEH 2.0
modified dll/win32/user32/include/user32.h
modified dll/win32/user32/windows/class.c
modified dll/win32/user32/windows/text.c
modified dll/win32/user32/windows/window.c
user32 migrated to PSEH 2.0
modified drivers/input/kbdclass/kbdclass.c
modified drivers/input/kbdclass/kbdclass.h
kbdclass migrated to PSEH 2.0
modified drivers/input/mouclass/mouclass.c
modified drivers/input/mouclass/mouclass.h
mouclass migrated to PSEH 2.0
modified drivers/network/afd/afd/info.c
modified drivers/network/afd/afd/lock.c
modified drivers/network/afd/afd/tdi.c
modified drivers/network/afd/afd/tdiconn.c
afd migrated to PSEH 2.0
modified drivers/network/lan/lan/lan.c
lan migrated to PSEH 2.0
modified drivers/network/tcpip/tcpip/dispatch.c
tcpip migrated to PSEH 2.0
modified lib/rtl/debug.c
modified lib/rtl/res.c
modified lib/rtl/rtl.h
modified lib/rtl/unicode.c
modified lib/rtl/workitem.c
rtl migrated to PSEH 2.0
modified ntoskrnl/include/precomp.h
ntoskrnl migrated to PSEH 2.0
modified subsystems/csr/csrsrv/api.c
csrsrv migrated to PSEH 2.0
modified subsystems/win32/win32k/eng/bitblt.c
modified subsystems/win32/win32k/eng/mem.c
modified subsystems/win32/win32k/include/mmcopy.h
modified subsystems/win32/win32k/misc/copy.c
modified subsystems/win32/win32k/ntuser/callback.c
modified subsystems/win32/win32k/ntuser/class.c
modified subsystems/win32/win32k/ntuser/clipboard.c
modified subsystems/win32/win32k/ntuser/cursoricon.c
modified subsystems/win32/win32k/ntuser/display.c
modified subsystems/win32/win32k/ntuser/hook.c
modified subsystems/win32/win32k/ntuser/input.c
modified subsystems/win32/win32k/ntuser/kbdlayout.c
modified subsystems/win32/win32k/ntuser/menu.c
modified subsystems/win32/win32k/ntuser/misc.c
modified subsystems/win32/win32k/ntuser/ntstubs.c
modified subsystems/win32/win32k/ntuser/painting.c
modified subsystems/win32/win32k/ntuser/simplecall.c
modified subsystems/win32/win32k/ntuser/sysparams.c
modified subsystems/win32/win32k/ntuser/window.c
modified subsystems/win32/win32k/objects/bitblt.c
modified subsystems/win32/win32k/objects/bitmaps.c
modified subsystems/win32/win32k/objects/brush.c
modified subsystems/win32/win32k/objects/cliprgn.c
modified subsystems/win32/win32k/objects/color.c
modified subsystems/win32/win32k/objects/coord.c
modified subsystems/win32/win32k/objects/dc.c
modified subsystems/win32/win32k/objects/dcutil.c
modified subsystems/win32/win32k/objects/dibobj.c
modified subsystems/win32/win32k/objects/fillshap.c
modified subsystems/win32/win32k/objects/font.c
modified subsystems/win32/win32k/objects/freetype.c
modified subsystems/win32/win32k/objects/icm.c
modified subsystems/win32/win32k/objects/line.c
modified subsystems/win32/win32k/objects/path.c
modified subsystems/win32/win32k/objects/pen.c
modified subsystems/win32/win32k/objects/print.c
modified subsystems/win32/win32k/objects/region.c
modified subsystems/win32/win32k/objects/text.c
modified subsystems/win32/win32k/pch.h
win32k migrated to PSEH 2.0
svn path=/trunk/; revision=37776
2008-11-30 19:28:11 +00:00
Stefan Ginsberg
ef394b196f
- Less STDCALL, more WINAPI/NTAPI/APIENTRY
...
svn path=/trunk/; revision=37752
2008-11-29 22:48:58 +00:00
James Tabor
f46193a7d2
Patch by Daniel Zimmerman : Fix a lot of missing ExFreePoolWithTag. See bug 3848.
...
svn path=/trunk/; revision=37194
2008-11-04 23:49:07 +00:00
Michael Martin
f4ab2b4a4b
- Correct fix for handling WM_MOUSEACTIVATE and Bug #3111 . If no parent, use MsgWindow->hSelf as wParam.
...
svn path=/trunk/; revision=36965
2008-10-25 18:42:42 +00:00
Michael Martin
b8e2e47d4e
- Do not send the WM_MOUSEACTIVATE message for a window that has no parent.
...
- Fixes visual basic application crashes when clicking on form. See bug #3111 for more details.
svn path=/trunk/; revision=36950
2008-10-25 16:08:59 +00:00
Timo Kreuzer
d13301ae65
Win32 structure cleanup part 1 / x:
...
- replace W32THREAD with THREADINFO, define W32THREAD like it's on Windows and make it part of THREADINFO.
svn path=/trunk/; revision=36769
2008-10-16 17:52:38 +00:00
Timo Kreuzer
a075ba41c2
- Update CLIENTTHREADINFO structure
...
- Rename W32CLIENTINFO to CLIENTINFO and update members
- C_ASERT that CLIENTINFO fits into the TEB
svn path=/trunk/; revision=36753
2008-10-14 21:03:20 +00:00
James Tabor
3e6656c48c
- Preliminary implementation of SetWinEventHook and UnhookWinEvent.
...
- Only wine cross test uses this and testing is not stable.
- Patches are welcome but all code is subject to change.
- All Hook code should be ready by Aug 4th.
svn path=/trunk/; revision=34988
2008-07-31 23:48:35 +00:00
James Tabor
274bd6b2ab
- Added more hook points, WH_FOREGROUNDIDLE and WH_KEYBOARD.
...
- Fixed WH_CALLWNDPROC/RET, now the posted test program works as it should.
- Tested with Opera 9.51, FF, Seamonkey, Abiword, Miranda, Mirc and the rest of our applications.
svn path=/trunk/; revision=34922
2008-07-29 00:35:05 +00:00
James Tabor
5296beccd9
Turn off WH_CALLWNDPROC and WH_GETMESSAGE debug spam.
...
svn path=/trunk/; revision=34818
2008-07-27 00:56:18 +00:00
James Tabor
e153b69952
- Attempt to initiate hook set from kernel space.
...
svn path=/trunk/; revision=34807
2008-07-26 12:27:40 +00:00
James Tabor
37cf6bcd75
- Fix boot add missing return.
...
svn path=/trunk/; revision=34799
2008-07-26 00:25:42 +00:00
James Tabor
9bec76e407
- Fix NtUserCallMsgFilter so it initiates the hook call.
...
svn path=/trunk/; revision=34794
2008-07-25 23:08:50 +00:00
James Tabor
f123580aa0
- Add support for SMTO_NOTIMEOUTIFNOTHUNG.
...
- Fix WH_CALLWNDPROC/RET for multi thread.
- Fix foreground idle.
svn path=/trunk/; revision=34776
2008-07-25 12:31:59 +00:00
James Tabor
0104c42bb4
Fix typo.
...
svn path=/trunk/; revision=34767
2008-07-25 01:07:41 +00:00
James Tabor
c688d08ea3
- Add call window proc hooks.
...
svn path=/trunk/; revision=34766
2008-07-25 01:02:17 +00:00
James Tabor
8c9a96581a
Add two more CallNextHook finctions.
...
svn path=/trunk/; revision=34759
2008-07-24 21:39:00 +00:00
James Tabor
e928cd52fd
- Added more hook points. Setup WH_MOUSE with callbacks, seems to be preloaded. Started BroadcastSystemMessage.
...
- Tested with Opera 9.51, FF, Seamonkey, Abiword, Miranda and the rest of our applications.
svn path=/trunk/; revision=34736
2008-07-24 11:38:08 +00:00
James Tabor
2ca130fb8b
- Fix NtUserCallMsgFilter to use SEH. Add support for system commands related to hooks.
...
svn path=/trunk/; revision=34696
2008-07-23 19:59:20 +00:00
James Tabor
0868fdb45d
- Fixed CallNextHookEx, now we do make the callback. Q, how to reload it at the end of the list? Fix for bug 3549.
...
- Tested with Opera 9.51(still breaks when getting the page see bug 3465), FF, Seamonkey, Abiword, and the rest of our applications.
svn path=/trunk/; revision=34691
2008-07-22 23:46:31 +00:00
James Tabor
4f11e10d3d
- Rewrite HOOKs, Implement CallNextHookEx and fix prototype for NtUserCallNextHookEx. Move hook structure to ntuser.h for user verifying.
...
- Tested with FF, Seamonkey, Abiword, and the rest of our applications.
svn path=/trunk/; revision=34653
2008-07-22 04:54:53 +00:00
James Tabor
7272eb9108
Move NUMC defines to FNIDs.
...
svn path=/trunk/; revision=34582
2008-07-19 03:49:48 +00:00
Aleksey Bragin
81c0fbc19f
Yuriy Sidorov <jura@cp-lab.com>
...
- Fix BSOD in NtUserWaitForInputIdle because KeWaitForMultipleObjects expects actual pointers to objects, not handles.
- Fix failure branches to have UserLeave and/or object dereference where needed.
See issue #3522 for more details.
svn path=/trunk/; revision=34525
2008-07-15 14:00:37 +00:00
James Tabor
c66063fbaa
Added WH_GETMESSAGE support.
...
svn path=/trunk/; revision=34498
2008-07-14 07:26:13 +00:00
James Tabor
97892224cf
Separate Default Window proc from messages.
...
svn path=/trunk/; revision=34476
2008-07-13 23:31:00 +00:00
James Tabor
b17c0af25f
The rest of rev 34442.
...
svn path=/trunk/; revision=34443
2008-07-13 00:24:05 +00:00
James Tabor
1fa1b4e184
- Cleanup NtUserWaitForInputIdle and plug in the user call. Still testing it.
...
svn path=/trunk/; revision=34424
2008-07-11 11:22:16 +00:00
James Tabor
4460003077
Improve NtUserWaitForInputIdle, still a work in progress.
...
svn path=/trunk/; revision=34419
2008-07-11 01:24:47 +00:00
James Tabor
0b35c794b5
- Port wine WaitForInputIdle. Work in progress and untested. Need input idle event to support it.
...
svn path=/trunk/; revision=34418
2008-07-11 01:02:28 +00:00
James Tabor
75ea87b3cb
- Move NtUserWaitForInputIdle to message.c.
...
svn path=/trunk/; revision=34417
2008-07-10 23:51:24 +00:00
Christoph von Wittich
4409400b6b
don't try to dereference NULL pointers
...
now Avira AntiVir installs without crashing the whole system
svn path=/trunk/; revision=34300
2008-07-05 09:19:56 +00:00
James Tabor
b242c12bdc
- Remove old pump hook and use new client thread information. Tested with Qemu and installed and run more than twice FF 1.5.03.
...
svn path=/trunk/; revision=32890
2008-04-07 19:02:21 +00:00