Commit graph

95 commits

Author SHA1 Message Date
Timo Kreuzer
9ea495ba33 Create a branch for header work.
svn path=/branches/header-work/; revision=45691
2010-02-26 22:57:55 +00:00
James Tabor
1e2a5d67cd [Win32k]
- Updated headers and related files.

svn path=/trunk/; revision=45070
2010-01-14 02:52:12 +00:00
Timo Kreuzer
dfe969ab14 [win32k] / [user32]
Merge from amd64 branch:
34780 some DWORD -> DWORD_PTR (Timo Kreuzer)
34781 fix usage of InterlockedCompareExchangePointer (Timo Kreuzer)
34782 fix usage of InterlockedCompareExchangePointer (Timo Kreuzer)
34908 some 64 bit fixes in win32k (Timo Kreuzer)
34909 some more win32k 64 bit fixes (Timo Kreuzer)
34965 Fix typos. (Samuel Serapión)
41479 Remove usage of RETURN() macro (Timo Kreuzer)
41540 Make parameters for NtUserCallOneParam and NtUserCallTwoParam DWORD_PTR instead of DWORD (Timo Kreuzer)
41546 Add _FLOATOBJ_GetFix for non-x86 (Timo Kreuzer)
41547 Only export FLOATOBJ_* api on x86 (Timo Kreuzer)
44238 Fix some 64 bit isues. (Timo Kreuzer)
43969 undefine i386 in the pspec file (Timo Kreuzer)

svn path=/trunk/; revision=44956
2010-01-05 19:26:32 +00:00
James Tabor
f755214f06 [Win32k]
- Continuing the moving into WND structure with minor desktop structure changes.
- Tested: wine user32 tests, AbiWord 2.6.8, FF 3.5, OOo 2.4.3 and Seamonkey 2.0.

svn path=/trunk/; revision=44576
2009-12-14 06:48:40 +00:00
James Tabor
6185365441 - Move TI flages to main header file.
svn path=/trunk/; revision=43796
2009-10-27 19:02:02 +00:00
James Tabor
25d4d83e6b - Fix exception. Spotted by Stefan Ginsberg.
svn path=/trunk/; revision=43366
2009-10-10 21:51:24 +00:00
James Tabor
6d29703714 - Set Process, pass keyboard handle and enable check for user hooks.
svn path=/trunk/; revision=43309
2009-10-06 03:38:23 +00:00
Dmitry Gorbachev
d412903cb1 Sprinkle win32k with some explicit voids,
svn path=/trunk/; revision=42926
2009-08-24 20:09:58 +00:00
James Tabor
46af179093 - [Win32k] Removed W32THREADINFO.
- Tested AbiWord, User32 wine tests. Yes, of course, this needs more testing.


svn path=/trunk/; revision=42746
2009-08-16 21:44:59 +00:00
James Tabor
e0b7b058c3 - [Win32k] More Class work. Moved to use thread and process information structures.
- Tested wine, Firefox 1.15.xx and AbiWord 2.6.8.

svn path=/trunk/; revision=42234
2009-07-26 16:17:50 +00:00
Timo Kreuzer
68ccd5f6e4 Rewrite (NtUser)SystemParametersInfo and related.
- Instead of getting the data from the window station and other strange places, the values are now mostly stored in a global variable. This is possible because NtUserSystemParametersInfo should fail anyway when being called from a non-interactive windowstation (tested on windows XP).
- WM_SETTINGCHANGE is now properly sent not posted to all toplevel Windows also passing the registry string as the lParam value (strings could need some testing).
- SystemMetrics are now set and updated from system parameters.
- Most values are now properly loaded from registry and also saved.
- user32_winetest sysparams: before: 634 executed / 235 failures, after: 1093 executed, 11 failures
- Fixes the non-bold caption font in 2nd stage.
- Implements a number SPI codes.
- Implements helper functions for registry and file access
Thanks to all testers for all the regression testing :)


See issue #4595 for more details.

svn path=/trunk/; revision=41604
2009-06-25 02:43:38 +00:00
James Tabor
bde03977f6 - Move Process Information structure back into kernel space. We use client information via TEB to provide a pointer for user space as a reference pointer.
svn path=/trunk/; revision=41051
2009-05-23 00:57:51 +00:00
James Tabor
6dd2853afa - Cleanup Real/GetInputState.
svn path=/trunk/; revision=40981
2009-05-19 15:47:16 +00:00
James Tabor
d67caa6f8c - Migration changes from W32THREADINFO to use ThreadInfo for kernel space and user space pointer reference, and use ClientInfo from TEB for user space. Next change will have the full removal of W32THREADINFO.
svn path=/trunk/; revision=40916
2009-05-13 21:32:10 +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
85d4ab3b58 - Move update thread information hooks.
svn path=/trunk/; revision=40891
2009-05-12 01:31:07 +00:00
James Tabor
e00d640f15 - This helps gimp 2.4.6 start-up. But there is another bug in msvcrt.dll that throws an exception. I must apologize for not doing this sooner.
svn path=/trunk/; revision=40824
2009-05-07 05:49:35 +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
James Tabor
d3c4569552 - Implement NtUserProcessConnect. Moving to client information format for User32. PPROCESSINFO and PTHREADINFO are references not user land structures.
- Added and removed structure types.
- Tested with old AbiWord, FireFox and explorer.

svn path=/trunk/; revision=40305
2009-03-31 22:02:29 +00:00
James Tabor
c40699db49 - Move W32PROCESSINFO to PROCESSINFO.
svn path=/trunk/; revision=40294
2009-03-30 05:45:08 +00:00
James Tabor
ea204363b7 - Update W32PROCESS and related code.
svn path=/trunk/; revision=40293
2009-03-30 03:56:53 +00:00
James Tabor
1335fe7f13 - It is understandable now why certain applications fail when accessing thread information from user mode, it is the wrong information being accessed.
svn path=/trunk/; revision=38853
2009-01-17 21:14:52 +00:00
Aleksey Bragin
bd0cab21cc - Silence debug output.
svn path=/trunk/; revision=38468
2008-12-30 10:32:23 +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
James Tabor
b70d5a56a4 - Implemented: GetFontLanguageInfo based on wine. GetLanguageID, it reads the registry for default language type.
- Move more function in and out of freetype.c. Minor code fixes too.


svn path=/trunk/; revision=37090
2008-10-30 10:46:27 +00:00
Timo Kreuzer
86f07d739d Win32 structure cleanup (WIP):
- remove DesktopHeapBase and DesktopHeapLimit from W32THREADINFO, use DESKTOPINFO members instead

svn path=/trunk/; revision=36831
2008-10-19 17:35:22 +00:00
Timo Kreuzer
e77f768a09 Win32 structure cleanup (WIP):
- replace hKernelHeap and HeapLimit from DESKTOPINFO with pvDesktopBase and pvDesktopLimit- replace hDesktopHeap with pheapDesktop in DESKTOP
- use PWIN32HEAP for the heap handle and use this and only this as the handle.
- Use the real base address for pvDesktopBase, instead of a copy of the heap handle

svn path=/trunk/; revision=36824
2008-10-19 02:05:41 +00:00
Timo Kreuzer
9353696890 Win32 structure cleanup (WIP):
- Use CLIENTINFO.ulClientDelta instead of W32THREADINFO.DesktopHeapDelta
- Remove DesktopHeapDelta from W32THREADINFO- Add PtiList to DESKTOP
- Add pClientInfo to THREADINFO

svn path=/trunk/; revision=36800
2008-10-17 21:07:24 +00:00
Timo Kreuzer
65e82782c9 Win32 structure cleanup part 3 / x:
- rename DESKTOP_OBJECT to DESKTOP

svn path=/trunk/; revision=36789
2008-10-17 13:09:56 +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
c4f0f3c668 Move the init of server info after heap is init.
svn path=/trunk/; revision=33766
2008-05-30 06:13:52 +00:00
James Tabor
64d6a8dc59 Attach global server information to process information.
svn path=/trunk/; revision=32949
2008-04-14 10:51:53 +00:00
James Tabor
ef08f7b929 - Plugged in client thread information, tested with Qemu.
- Add small fix to IntBroadcastSystemMessage structure.

svn path=/trunk/; revision=32887
2008-04-07 05:01:34 +00:00
James Tabor
46780ff6d7 - Implement SendMessageCallbackA/W, user32 only.
- Add client thread infomation structure to W32THREADINFO. Nothing is plugged in yet, the code is there.
- Fix IntBroadcastSystemMessage to correct filter action. More work is needed since our message system has issues.
- This could be a good project for newbies, rewrite message system could be placed into a branch.

svn path=/trunk/; revision=32884
2008-04-06 18:24:30 +00:00
Timo Kreuzer
1e51a48800 Patch by Stefan Ginsberg (stefan__100__ AT hotmail DOT com):
- remove NtUserEnumClipboardFormats, use ->ONEPARAM_ROUTINE_ENUMCLIPBOARDFORMAT insetad
- remove NtUserRegisterClipboardFormat, use NtUserRegisterWIndowsMessage instead
- remove NtUserKillSystemTimer, use HWNDPARAM_ROUTINE_KILLSYSTEMTIMER instead
- remove NtUserInsertMenuItem, use NtUserThunkedMenuItemInfo instead
- remove NtUserGetCapture, use THREADSTATE_CAPTUREWINDOW instead
- remove NtUserGetActiveWindow, use THREADSTATE_ACTIVEWINDOW instead
- remove NtUserGetQueueStatus, use ONEPARAM_ROUTIME_GETQUEUESTATUS instead
- remove NtUserGetLastActivePopup, wasn't implemented
- remove NtUserRealizePalette from ntuser.h, it's not implemented
- remove duplicate NtUserGetLastInputInfo from ntuser.h
- remove PrivateCsrssRergisterPrimitive from user32, it was unused and unimplemented
- remove NtUserDereferenceWndprocHandle, it was unused
- move WNDPROC_INFO structure from ntuser.h to win32k/include/class.h, as it's not used in usermode anymore
tested with AbiWord and FF on VMWare

svn path=/trunk/; revision=32825
2008-04-03 02:13:34 +00:00
Timo Kreuzer
964a060f9b ntuser/misc.c was huge, split it into sysparams.c, simplecall.c and misc.c
svn path=/trunk/; revision=32730
2008-03-21 00:07:06 +00:00
Timo Kreuzer
4e4095383f - Set the BaseObject.hHmgr field in GDIOBJ_AllocObj
- rename RGNDATA_ functions to REGION_ to have a consistent naming.
- move REGION prototypes to region.h
- rename REGION_AllocRgn to REGION_AllocRgnWithHandle and make it return a pointer to a locked region.
- rename UnsafeIntGetRgnBox to REGION_GetRgnBox
- rename UnsafeIntRectInRegion to REGION_RectInRegion
- remove UnsafeIntUnionRectWithRgn maco
- implement REGION_SetRectRgn and call it from NtGdiSetRectRgn
- reorder some parameters
- remove REGION_CropRgn, use REGION_CropAndOffsetRegion instead
- Implement UserShowCursor based on the code from NtUserCallOneParam and call it from inside the switch statement.

svn path=/trunk/; revision=32713
2008-03-17 22:17:48 +00:00
Timo Kreuzer
c11d265144 Bye, bye, GDIOBJ header! You've served us well, but now the time has come for you to make room for BASEOBJECT.
Also bye, bye, HandleTable parameter. You've never done any reasonable job, so no one will be missing you.

svn path=/trunk/; revision=32497
2008-02-26 23:09:20 +00:00
James Tabor
b5c759cceb Fix regression in RealizePalette. Send broadcast message if palette was changed.
svn path=/trunk/; revision=31621
2008-01-06 06:57:57 +00:00
James Tabor
b38a8a2d4c Fixed regression in RealizePalette, found by Stefan100.
svn path=/trunk/; revision=31614
2008-01-05 19:35:03 +00:00
Ged Murphy
6d9378a1fd - Add a new routine to NtUSerCallOneParam which returns newly created handles for icons and cursors
- Fix the NtUserGetIconSize prototype

svn path=/trunk/; revision=31289
2007-12-17 09:40:48 +00:00
Aleksey Bragin
729df301cd Andrey Korotaev <unc0rr@mail.ru>:
- Never trust MaximumLength passed from usermode when copying a unicode string (fixes a wide amount of crashes, tested with CdrLabel 4.1).

svn path=/trunk/; revision=31010
2007-12-04 22:52:05 +00:00
Thomas Bluemel
55e7ab53a2 Add a hack for SPI_GETKEYBOARDCUES
svn path=/trunk/; revision=30661
2007-11-22 05:36:01 +00:00
Thomas Bluemel
d77503dadb Implement WM_QUERYUISTATE, WM_CHANGEUISTATE and WM_UPDATEUISTATE
svn path=/trunk/; revision=30611
2007-11-21 08:32:45 +00:00
Thomas Bluemel
2bc07496f3 Store the internal window placement directly inside the WINDOW structure
svn path=/trunk/; revision=30610
2007-11-21 05:35:33 +00:00
James Tabor
48a2026e7a Removing old syscalls and updated related files. Old syscalls will be renamed for internal use.
svn path=/trunk/; revision=30603
2007-11-20 19:56:57 +00:00