Commit graph

26 commits

Author SHA1 Message Date
Hermès Bélusca-Maïto 9fd5cfb5f8 [KERNEL32]
Add a bunch of missing _SEH_YIELD in 'return' clues in _SEH_TRY clauses.

[KERNEL32][CONSRV]
Make kernel32 / winsrv console CSR structures Win2k3-compliant for Read/WriteConsoleOutput functions.
The last missing ones are Alloc/Attach/FreeConsole APIs!!

Part 9/10

CORE-7931

svn path=/branches/condrv_restructure/; revision=63803
2014-08-04 16:25:12 +00:00
Hermès Bélusca-Maïto e9c6ccbd0f [CONSRV]
Fix memory section protection flag, that made console settings application fail since some recent work on virtual memory...

svn path=/branches/condrv_restructure/; revision=63801
2014-08-04 14:36:26 +00:00
Hermès Bélusca-Maïto bf136052c0 Sync with trunk r63793.
svn path=/branches/condrv_restructure/; revision=63794
2014-08-01 18:39:52 +00:00
Hermès Bélusca-Maïto 22c9e139a1 [KERNEL32][CONSRV]
- Make kernel32 / winsrv console CSR structures Win2k3-compliant for Read/WriteConsole functions.
  An attentive code reader will see that there are structure members in CONSOLE_WRITECONSOLE that are
  indeed unused by kernel32 that can be used in ReactOS for undocumented extensions of WriteConsole...
  (for instance, adding a parameter for ANSI codes support, who knows!... :P)
- Fix a bit the support for the CONSOLE_READCONSOLE_CONTROL parameter in ReadConsole (for unicode only).
- Use the actual exe name for command history management, given via a hackish way by ReadConsole:
  the exe name is passed via the 80-byte-length limited static buffer, and is of course retrieved before
  actually using the static buffer (if needed).

[CONSRV]
- Fix writing input events in the console, but first preprocessing them for pausing commands (we treat them separately and remove them),
  then, in case we write many single events, we merge them in case they are mouse moves or repeated key down presses. This helps in not
  overflowing too quickly the input buffer, and that fixes all the remaining kernel32:console winetests!! (see CORE-8256)
- Use the actual exe name for command history management, given via a hackish way by ReadConsole (blame MS!)

Part 8/X

CORE-7931
CORE-8256 #resolve #comment Fixed in the condrv_restructure branch in revision .

svn path=/branches/condrv_restructure/; revision=63793
2014-08-01 18:08:29 +00:00
Hermès Bélusca-Maïto ac51557c0a [CONSRV]
- Start a better fix for the mouse event problem described in r62739.
- Add a hack for the problem described in CORE-8394, that fixes some Far Manager mouse issues.
CORE-8394

svn path=/branches/condrv_restructure/; revision=63792
2014-08-01 13:36:44 +00:00
Hermès Bélusca-Maïto 2ae25e18a8 [CONSRV]
Fix returned number of read/write codes.

svn path=/branches/condrv_restructure/; revision=63770
2014-07-29 15:54:03 +00:00
Hermès Bélusca-Maïto 4a285f0633 [CONSRV]
Add the optional "number of things read/written" parameters back.

svn path=/branches/condrv_restructure/; revision=63769
2014-07-29 14:00:46 +00:00
Hermès Bélusca-Maïto 5ce6a6c12b Simplify code.
svn path=/branches/condrv_restructure/; revision=63768
2014-07-29 13:49:03 +00:00
Hermès Bélusca-Maïto 2d9a888371 [KERNEL32][CONSRV]
- Use a CODE_ELEMENT structure in order to simplify the code.
- Do not do an on-place ansi to unicode conversion.

svn path=/branches/condrv_restructure/; revision=63766
2014-07-29 13:18:59 +00:00
Hermès Bélusca-Maïto 6f772ac651 [CONSRV]
Add diagnostics ASSERTs for MultiByteToWideChar & its companion (the source and target pointers must not be the same, otherwise it doesn't work).

svn path=/branches/condrv_restructure/; revision=63764
2014-07-29 12:54:01 +00:00
Hermès Bélusca-Maïto 19e30db97b [KERNEL32][CONSRV]
- Make kernel32 / winsrv console CSR structures Win2k3-compliant for Read/WriteConsoleCharacter/Attribute and FillConsoleOutputCharacter/Attribute functions.
  The underlying CONSOLE_READOUTPUTCODE and CONSOLE_WRITEOUTPUTCODE structures are the same.
  It should be noticed, as for the Read/WriteConsoleInput functions of r63754 and the other Read/WriteConsole*** functions, that for performance purposes Windows uses a local buffer for "small" sizes;
  we should do the same too because both the client and the server use the number of elements to actually read/write in order to determine which buffer one should use (local or some shared buffer).
- Some memcpy --> RtlCopyMemory.

Part 7/X

CORE-7931

svn path=/branches/condrv_restructure/; revision=63755
2014-07-29 00:00:21 +00:00
Hermès Bélusca-Maïto e9c7111b66 [KERNEL32][CONSRV]
- Make kernel32 / winsrv console CSR structures Win2k3-compliant for Read/WriteConsoleInput functions.
- Really fix some ASSERTS from r63108.

Part 6/X

CORE-7931

svn path=/branches/condrv_restructure/; revision=63754
2014-07-28 21:20:36 +00:00
Hermès Bélusca-Maïto b06a89c070 [KERNEL32][CONSRV]
Make kernel32 / winsrv console CSR structures Win2k3-compliant.

- Fix UNICODE and ANSI versions of the Alias and History APIs. Tested with unicode and ansi version of our doskey.exe
- Implement GetNumberOfConsoleMouseButtons.

Part 5/X

CORE-7931

svn path=/branches/condrv_restructure/; revision=63751
2014-07-28 13:20:54 +00:00
Hermès Bélusca-Maïto 9ed2e0b5bc Sync with trunk r63743.
svn path=/branches/condrv_restructure/; revision=63744
2014-07-27 20:52:13 +00:00
Hermès Bélusca-Maïto 8a3822c4ea Sync with trunk r63647.
svn path=/branches/condrv_restructure/; revision=63648
2014-06-27 18:05:20 +00:00
Hermès Bélusca-Maïto b1623c7976 [CONSRV]: Remove unused (anymore) ProcessKeyCallback support for terminal frontends.
svn path=/branches/condrv_restructure/; revision=63387
2014-05-20 19:56:47 +00:00
Hermès Bélusca-Maïto e4155c95c7 Sync with trunk r63383 .
svn path=/branches/condrv_restructure/; revision=63384
2014-05-20 17:04:19 +00:00
Hermès Bélusca-Maïto 07b314c140 Sync with trunk r63283
svn path=/branches/condrv_restructure/; revision=63285
2014-05-13 22:15:21 +00:00
Hermès Bélusca-Maïto c26bc793ac [KERNEL32][CONSRV]
Make kernel32 / winsrv console CSR structures Win2k3-compliant.
The aim is to be able to put our kernel32.dll or winsrv.dll on win2k3, and vice-versa.

- Fix almost all the alias APIs and the history APIs. Unicode versions is OK, ANSI ones need correct fixes in server-side (see CORE-7931 for more details).
- Half-plement SetConsoleCommandHistoryMode (client-side OK, server-side unimplemented).

Part 4/X

CORE-7931

svn path=/branches/condrv_restructure/; revision=63194
2014-05-08 18:08:07 +00:00
Hermès Bélusca-Maïto 7a0c3bde06 Sync with trunk r63192.
svn path=/branches/condrv_restructure/; revision=63193
2014-05-08 14:40:52 +00:00
Hermès Bélusca-Maïto 500db72171 [CONSRV]
- Move aliases & history management structures & initialization into the console server part.
- Maintain two different console lists, the first one for all the consoles (that are managed by the console driver) and the other for the consoles that are also owned by the console server.
- Simplify few function prototypes.

svn path=/branches/condrv_restructure/; revision=63141
2014-05-04 00:01:48 +00:00
Hermès Bélusca-Maïto 9b17c1b99d [CONSRV]
Terminals are for consoles, and frontends for a given win32 terminal.
Start to clarify this situation in the code. Work in progress.

svn path=/branches/condrv_restructure/; revision=63123
2014-05-03 01:59:28 +00:00
Hermès Bélusca-Maïto e26a117d1f [CONSRV]
- Move some functions where they belong.
- Start to differentiate frontends for consrv terminal, and terminals.

svn path=/branches/condrv_restructure/; revision=63117
2014-05-02 18:44:26 +00:00
Hermès Bélusca-Maïto dc4ef8e972 [CONSRV]
Start refactoring:
- remove FASTCALL
- Add WINSRV_CONSOLE for keeping what makes sense only in Win32 consoles and not in consoles in general (keep in mind that the condrv part of this should go into kernel mode later on...)
  therefore: move the wait queues into it, the pause flags (that are frontend-specific).
- Move process control from condrv.

svn path=/branches/condrv_restructure/; revision=63112
2014-05-02 16:46:13 +00:00
Hermès Bélusca-Maïto 6e2c6eb7de [CONDRV]: Remove compilation warnings.
svn path=/branches/condrv_restructure/; revision=63108
2014-05-02 15:09:26 +00:00
Hermès Bélusca-Maïto b819608ed8 Create a branch for console restructuration work.
svn path=/branches/condrv_restructure/; revision=63104
2014-05-02 14:13:40 +00:00