Commit graph

21060 commits

Author SHA1 Message Date
Christoph von Wittich 99c66c095c fixed some warnings (msvc)
svn path=/trunk/; revision=22701
2006-06-29 22:32:06 +00:00
Christoph von Wittich 23b77e8fd7 fixed some warnings (msvc)
svn path=/trunk/; revision=22700
2006-06-29 22:12:40 +00:00
Johannes Anderwald cbfccc50b9 * finished reading console options.c
* thnx for everyone helping with this commit (you know who you are)

svn path=/trunk/; revision=22699
2006-06-29 21:40:22 +00:00
Johannes Anderwald e7fdae5613 * fix resource inconsistency (pointed out by Lohnegrim)
* halfplemented reading console options

svn path=/trunk/; revision=22698
2006-06-29 20:19:26 +00:00
Alex Ionescu 9478fc9049 - Activate the Grim Reaper and remove a hard-coded bugcheck. This fixes random bugchecks and especially bugchecks on shutdown.
svn path=/trunk/; revision=22697
2006-06-29 19:24:10 +00:00
Alex Ionescu 4c630fdc31 - Fixes in ObCreateObjectType to pass Fireball's (and some of my own local) ob tests:
- Fix a check in ObpFreeObject which was causing a bugcheck if the object had a handle database (fixes another kmtest failure/crash).
  - Verify parameters passed to ObCreateObjectType based on behaviour seen on Windows 2003 (I might've missed some, these are the ones I tested for). This fixes 2 of the kmtest failures.
  - Also make sure the object type's name doesn't have a slash in the name.
  - Also make sure we don't allow creating two object types with the same name.
  - Also use our own local copy of the object name and copy it.

svn path=/trunk/; revision=22696
2006-06-29 19:03:24 +00:00
Johannes Anderwald 3dd2bff814 * compile console with pch support
svn path=/trunk/; revision=22695
2006-06-29 18:19:51 +00:00
Johannes Anderwald de285c4081 * add ReactOS Console configuration DLL
svn path=/trunk/; revision=22693
2006-06-29 18:10:15 +00:00
Alex Ionescu ec719832c0 - Fix the last two Ob reference counting bugs:
- Don't de-reference the object when duplicating it (not sure why this was left there). This fixes all the "misbehaving object: Event" messages in the console and fixes those regressions.
  - Don't reference the object when doing a lookup (not sure why this was there either). This made it impossible to kill named objects, since ObpDeleteNameCheck did a lookup before killing them, and the lookup ended up adding a reference.
- Cm still needs fixing!

svn path=/trunk/; revision=22692
2006-06-29 18:07:53 +00:00
Saveliy Tretiakov 0e79c3011a Fix thread synchronization, use critical sections.
Rewrite some functions (optimize).


svn path=/trunk/; revision=22691
2006-06-29 17:36:04 +00:00
Brandon Turner 410ae9c26b Unicode fixes and error checking.
svn path=/trunk/; revision=22690
2006-06-29 15:08:10 +00:00
Johannes Anderwald cdbfb24b12 * fix building of win32k_test
svn path=/trunk/; revision=22689
2006-06-29 14:39:53 +00:00
Johannes Anderwald 92f587b398 * auto select items which are started automatically
* read disabled autostart items

svn path=/trunk/; revision=22688
2006-06-29 13:33:59 +00:00
Alex Ionescu 1c69156be9 - Cleanup the checks for mishbeaving objects a bit, and now quit the Dereference routine instead of doing the dereference. This has the advantage making console applications work again (note: this is NOT a fix. I'm just making the situation less bad until I fix ObDuplicateObject since that seems to be messing Events up, and until Cm gets fixed).
svn path=/trunk/; revision=22686
2006-06-29 05:20:16 +00:00
Alex Ionescu d02a403c94 - This patch finally enables closing handles for real, when NtClose is called. This means that File handles, processes, and all other NT Objects finally die (no more "file in use" and unkillable processes). On the other hand, this makes the registry code unhappy and unravelled a bug in ObDuplicateObject.
- Booting/installing still works, but the system will possibly be unstable. However I'm choosing to commit this because it shows correct Ob behavior and will allow Art to fix Cm's referencing properly.
- Implement ObCheckObjectAccess and call it to perform access verification checks.
- Properly create devices, processes and controllers with an extra reference count, so that when the code closes their handle they don't die.
- Check for invalid uses of ObfDereferenceObject for our current debugging purposes.
- Add SEH to NtQueryObject.

svn path=/trunk/; revision=22685
2006-06-29 05:05:27 +00:00
Art Yerkes 61cb74d018 Fixed reference counting in CmiConnectHive and CmiDisconnectHive.
No longer need hacks to check reference counts.
Deleted a ton of wierd code.
Fixed bug where we allocated uninitialized memory for child nodes we never
populated.
Now reference counting mirrors pointers exactly:
 - Hold one reference for the parent key pointer
 - Hold one reference for the list entry in the connected hive list

svn path=/trunk/; revision=22684
2006-06-29 03:48:43 +00:00
Brandon Turner c6661f1f9e expand %* to batch file params.
bug: #1629

svn path=/trunk/; revision=22683
2006-06-29 02:48:52 +00:00
Alex Ionescu bbfd29210c - Add some hacks to Cm to allow creating registry keys that finish with a backslash (this works under NT).
- Also add a REALLY nasty hack that forces OBJ_CASE_INSENSITIVE on all Registry APIs... this is needed because we seem to completely mess up case sensitivity otherwise and any user-mode caller that doesn't specify that flag will fail.
- These two fixes fix all the WINE failures for the "ntdll reg" test and should increase compatibility with some applications.
- Runtime Library Registry Wrappers Fixes and Optimizations:
  - Use an array of registry paths instead of duplicating them
  - Fix implenmentation of RTL_REGISTRY_HANDLE.
  - Verify all Appends for failure before continuing.
  - Use the strict minimum key permissions isntead of KEY_ALL_ACCESS.
  - Don't use OBJ_OPENIF
  - Use CAPS for \\REGISTRY\\USER (required to match a Windows quirk exposed by a WINE test)
  - Use the correct length in RtlpNtQueryValueKey
  - Generic cleanups, formatting and commenting.

svn path=/trunk/; revision=22682
2006-06-29 00:30:36 +00:00
Alex Ionescu 96c859e6a6 - Sync RtlBitmap* implementation with WINE: Fixes 278 regression failures (for a total of 0 now).
- Also adds implementations for RtlFindMostSignificantBit , RtlFindLeastSignificantBit, RtlFindNextForwardRunClear, RtlFindClearRuns.
- The RtlBitmap* package is essential for compatibility with NTFS.SYS and other File System Drivers, but these fixes should not really improve user-mode app. compat.

svn path=/trunk/; revision=22679
2006-06-28 20:51:51 +00:00
Aleksey Bragin 81f5e26099 Mikhail Zvyozdochkin: Fix compilation of msafd without precompiled header (also fixes compilation process on linux)
svn path=/trunk/; revision=22678
2006-06-28 20:27:41 +00:00
Alex Ionescu 78a7bd2051 [AUDIT] - Unlock these files, they're just lame wrappers around the NT Kernel APIs that handle them and they're tested by WINE tests.
svn path=/trunk/; revision=22677
2006-06-28 19:52:45 +00:00
Alex Ionescu abee505e57 - Rewrite all synch object wrappers in kernel32 to use a single unified method of implementation:
- A->W converstion through static TEB buffer.
  - Failure if opening without a name.
  - Special warning code for objects that already exist (fixes some WINE test failures and probably makes a myriad of applications work).
  - Use BasepConvertObjectAttributes when creating an object to remove code duplication.
- InitializeCrticalSectionAndSpinCount shouldn't raise an exception on failure.
- Optimize WaitForMultipleObjects to cache 8 objects on the stack instead of only 3.
- Reformat and comment all the files to ROS standards.

svn path=/trunk/; revision=22676
2006-06-28 17:08:35 +00:00
Alex Ionescu 561c27e0d3 - Implement, export and NDKize: DbgUiGetThreadDebugObject, DbgUiDebugActiveProcess, DbgUiStopDebugging, NtSetInformationDebugObject.
- Make CheckRemoteDebuggerPresent fail if no process was specified.
- Implement DebugActiveProcess, DebugActiveProcessStop, DebugBreakProcess, DebugSetProcessKillOnExit.
- Add *.vcproj to ignore lists.

svn path=/trunk/; revision=22675
2006-06-28 17:02:37 +00:00
Aleksey Bragin 1a65517f18 [FORMATTING]
- Amend file header slightly
- Add functions headers

svn path=/trunk/; revision=22674
2006-06-28 15:56:09 +00:00
Aleksey Bragin 76b7211579 [FORMATTING]
- Amend file header slightly
- Add function header
- STDCALL -> NTAPI

svn path=/trunk/; revision=22673
2006-06-28 14:02:39 +00:00
Aleksey Bragin 981fde0f9f [AUDIT]
- Add proper function headers, including links to publically-available documentation
- One internal function is subject to further review/audit

svn path=/trunk/; revision=22672
2006-06-28 13:53:30 +00:00
Aleksey Bragin 6ef4e4d9d4 [AUDIT]
- Add proper function headers, including links to documentation
- All exported functions have publically-available information sources
- The only internal function is actually quite self-explanatory by its name
- Implementation is partly wrong as pointed by Gunnar

svn path=/trunk/; revision=22671
2006-06-28 12:52:08 +00:00
Johannes Anderwald de2a826959 * add EXSTYLE DS_SHELLFONT for dialogs having "MS Shell Dlg"
* fix typos 
* change sublang identifiers to SUBLANG_NEUTRAL
* patch by EmuandCo

svn path=/trunk/; revision=22668
2006-06-27 22:01:50 +00:00
Johannes Anderwald bd7821cda6 our friends using case sensitive filesystems should also play with International Control panel applet
svn path=/trunk/; revision=22667
2006-06-27 16:11:57 +00:00
Hervé Poussineau e66e011656 Fix case of resource files, so our friends using case sensitive filesystems will be able to play Solitaire ;)
svn path=/trunk/; revision=22665
2006-06-27 11:56:44 +00:00
Hervé Poussineau 1a5e9cdfd8 Don't be so aggressive in debug messages.
svn path=/trunk/; revision=22664
2006-06-27 11:09:23 +00:00
Johannes Anderwald 29c3268f4e add ukrainian translation by temarez bug (1628)
svn path=/trunk/; revision=22663
2006-06-27 10:40:01 +00:00
Johannes Anderwald 0e72e420b1 add ukraiain translation by temarez bug (1628)
svn path=/trunk/; revision=22662
2006-06-27 10:38:36 +00:00
Johannes Anderwald 94ad288b3c fix displaying status bar when notepad was resized
bug report by Apal
patch by Apal && w3seek
fixes bug 1625

svn path=/trunk/; revision=22660
2006-06-27 10:02:33 +00:00
Alex Ionescu 4903b28f61 - Fix all the failures in the RTLSTR Wine test by merging our old rtl string routines with Wine's. We now pass all 2300 something tests.
svn path=/trunk/; revision=22653
2006-06-27 04:09:03 +00:00
Alex Ionescu bc5d1b0581 - Catch illegal call to Ob functions when ObjectAttributes == NULL and return distinguished status code for this situation (STATUS_INVALID_PARAMETER), instead of failing due to access violation.
- Create the BNO Global and Local symbolic links in kernel32.
- We pass all the Ob+Native tests in ntdll_winetest om now (we fail some named pipe ones, but I have no idea why WINE calls them "Object Manager" related...)

svn path=/trunk/; revision=22652
2006-06-27 03:06:26 +00:00
Alex Ionescu 7c3d15c5f9 - Fix another critical bug in ObInsertObject: don't overwrite the lookup status with the handle creation status. If the lookup returned something like OBJECT_NAME_EXISTS (which is a success + warning), we don't want to overwrite it with ObpCreateHandle's STATUS_SUCCESS. This should fix a large number of regressions (and also fixes many WINE ntdll "om" tests).
- We also now correctly dereference the object in ObInsertObject, which should reduce one source of leaks (But there is still one). OTOH, this makes the Cm code crash at shutdown (I'll fix this ASAP, this fix is worth having atm.)

svn path=/trunk/; revision=22651
2006-06-27 01:52:16 +00:00
Alex Ionescu e498da59d9 - ObpCreateUnnamedHandle/ObpCreateHandle => Reference the object before calling ExCreateHandle.
- Fix two critical bugs in ObInsertObject: We were creating a handle for the wrong object (in ObInsertObject) and we were not passing the ReferencedObject parameter to ObpCreateHandle, so that object was never being returned properly to the caller.
- ObfDereferenceObject shouldn't check for the OB_FLAG_PERMANENT flag, or else it would never be possible to kill permanent objects while in kernel mode (permanent objects only apply to user-mode handles).

svn path=/trunk/; revision=22650
2006-06-27 01:16:17 +00:00
Alex Ionescu 71dda51555 - Lesson One: Don't revert commits because your eyes are inventing the word "copyright". I tried really hard, I really did, but I could not find even the word "copy", much less "copyright".
- Lesson Two: What do you know! En and De.rc actually *are* our files, not James Brown's (his is sol.rc, which hasn't been altered with a ROS Header).
- Lesson Three: It is official (voted) ROS Policy that all ROS files have a header. Reverting this header violated it.

svn path=/trunk/; revision=22649
2006-06-26 23:50:03 +00:00
Ged Murphy 93eae33135 You can't really claim copyright for translating a resource file.
Secondly, it's not even our code to put headers in. It's James Browns from catch22.net

svn path=/trunk/; revision=22648
2006-06-26 23:02:54 +00:00
Alex Ionescu 12156b1e8e - Same fixes for LocalAlloc/LocalReAlloc
- We now pass all 278+49 WINE Regression Tests related to Heap/Memory.

svn path=/trunk/; revision=22647
2006-06-26 22:50:02 +00:00
Alex Ionescu 2410073dc4 - Fix a typo in a comparison (& vs &&) which was breaking GlobalReAlloc in some cases.
- Fix a missing | (OR) in GlobalAlloc which created an invalid handle if the first allocation was of size 0.

svn path=/trunk/; revision=22646
2006-06-26 22:48:12 +00:00
Johannes Anderwald 2eddc82aca add missing includes
svn path=/trunk/; revision=22645
2006-06-26 20:18:52 +00:00
Johannes Anderwald e18611f0ad add missing include
svn path=/trunk/; revision=22644
2006-06-26 20:15:58 +00:00
Johannes Anderwald fe9c547879 * move english resource file to own file
* add german translation
* patch provided by Daniel "EmuandCo" Reimer

svn path=/trunk/; revision=22643
2006-06-26 20:14:36 +00:00
Johannes Anderwald 721b8ace94 fix include
svn path=/trunk/; revision=22642
2006-06-26 19:37:26 +00:00
Johannes Anderwald 926eca70dc remove unecessary include
svn path=/trunk/; revision=22641
2006-06-26 19:30:49 +00:00
Alex Ionescu 0a68278291 - Fix the build...I hope/think
svn path=/trunk/; revision=22640
2006-06-26 17:18:20 +00:00
Alex Ionescu 23321b6dc3 - Sync with WINE's latest Heap implementation and try to remove some of the differences we had, and also document the ones which must be kept (our support for RTL_HEAP_COMMIT_ROUTINE and usage of user/kernel-mode lock APIs, etc). This reduces the heap/alloc regression tests to only 1 issue (which I'm working on fixing).
svn path=/trunk/; revision=22639
2006-06-26 17:03:17 +00:00
Maarten Bosma 3654e13467 Remove all curses except 'semprini'.
svn path=/trunk/; revision=22638
2006-06-26 16:39:23 +00:00