Commit graph

21577 commits

Author SHA1 Message Date
Alex Ionescu 9b5a87cdac - Fix trace macro to print line number in decimal, not hex.
- Implement PspSetCrossThreadFlag and PspClearCrossThreadFlag and use them. Thanks to Thomas for the idea.
- Fix a bug in Fast Referencing, thanks to Thomas.

svn path=/trunk/; revision=23260
2006-07-23 21:38:31 +00:00
Magnus Olsen 5cfb6a6d48 really small change using DDSURFACEDESC2 instead of DDSURFACEDESC, for these struct basic same but DDSURFACEDESC2 have few more member at end. and it is type casted around DDSURFACEDESC when it pass down. u can found that info in msdn, ddk, sdk
svn path=/trunk/; revision=23259
2006-07-23 20:54:53 +00:00
Magnus Olsen 7b88a669e2 Forget remove ref in rosdraw.h
svn path=/trunk/; revision=23258
2006-07-23 20:39:46 +00:00
Magnus Olsen 414ef85877 1. start Cleaning up ddraw_main.c
2. Implement (not tested) CreatePalette it can use HAL or HEL 
3. change DirectDraw_Addref and DirectDraw_Release using document dwRefCnt in DDRAWI_DIRECTDRAW_LCL
4. change Palette_Addref and Palette_Release using document dwRefCnt in DDRAWI_DDRAWPALETTE_GBL

more cleanup will follow

svn path=/trunk/; revision=23257
2006-07-23 20:38:28 +00:00
Alex Ionescu 251250ad96 - Temporarly disable screensaver code. Sorry greatlord but you're creating 150 realtime threads per minute and killing the system with the code. Please fix it.
- Fix some incorrect tracing macro usage and make it add the current line.
- Re-organize I/O bugs per priority.

svn path=/trunk/; revision=23256
2006-07-23 20:12:45 +00:00
Magnus Olsen c9ef32aff5 Forget commit some changes
svn path=/trunk/; revision=23255
2006-07-23 19:57:36 +00:00
Alex Ionescu 881a60f895 - Add tracing in process/thread.c as well.
- Add a new tracing class/macro for reference counts and add it in kill/process/thread.c.
- Remove tracing TODO from kernel fun.

svn path=/trunk/; revision=23254
2006-07-23 19:45:16 +00:00
Magnus Olsen 6cf55b644f Patch from w3seek
svn path=/trunk/; revision=23253
2006-07-23 19:14:19 +00:00
Magnus Olsen 92583a9250 1. Implement check for DDCREATE_HARDWAREONLY and DDCREATE_EMULATIONONLY in CreateDraw and CreateDrawEx
2. Implement activate of DDCREATE_HARDWAREONLY and DDCREATE_EMULATIONONLY in StartupDirectDraw
3. Fix correct return value when pUnkOuter is not NULL in CreateDraw and CreateDrawEx

Now we can activate deactive HAL or HEL and use one of thuse interface.

svn path=/trunk/; revision=23252
2006-07-23 19:03:41 +00:00
Johannes Anderwald bef2c32a89 * use supplied parent window handle when class is of type system
* this is temp hack for getting edit controls with notification windows going
* reduces user32_winetest.exe from 43 to 2 total faults

svn path=/trunk/; revision=23251
2006-07-23 18:12:19 +00:00
Alex Ionescu e685ced6d0 - Add ObGetObjectSecurity calls like in PspCreateProcess to check the thread's level of access towards itself.
- Add code to handle two more failure (the last, afaics) cases.
- Get rid of 2 kernel fun entries.

svn path=/trunk/; revision=23250
2006-07-23 17:56:57 +00:00
Alex Ionescu 3774a4b259 - Acquire Process lock when touching the thread list entry and incrementing the process' active threads.
- Set the Thread Create Time on creation, I had forgotten this!
- Handle failures for thread-safety/race conditions. If the process was deleted or the thread terminated behind our back, then go through a manual un-initalization code path.
- Just like previous process patch, add code to now create an access state with SeCreateAccessStateEx.
- Handle failure of ObInsertObject.

svn path=/trunk/; revision=23249
2006-07-23 17:45:30 +00:00
Alex Ionescu 78ffb6aecc - Make use of PsChangeQuantumTable on system startup to setup the raw priority separation.
- Call PspComputeQuantumAndPriority in PspCreateProcess to calculate process base priority and quantum for child threads.
- Add security code to calculate process's access rights to itself, as documented in WI II.

svn path=/trunk/; revision=23248
2006-07-23 17:01:43 +00:00
Magnus Olsen b1bc28f878 1. Remove more dead code after all commit
2. Move Cleanup code to own file.

svn path=/trunk/; revision=23247
2006-07-23 15:37:57 +00:00
Magnus Olsen a845d3f67d Implement HELDdSetmode
1. it is hacked, this small hack need be rewriten later. 
   But lest we got back same compatible we had with our ddraw.dll
   in windows. 

svn path=/trunk/; revision=23246
2006-07-23 15:09:06 +00:00
Magnus Olsen 5bd92faae5 Remove alot HAL and HEL split and make the split into startup.c instead.
it will save us the time to write same code twice. and it is extream 
easy to adding HEL api. U can look at ddk and sdk how Dd* api works
and write then proper HEL for it. 

1. I have break the HEL version of set display for we need it follow DdSetMode 
   and no code have been rewriten for it yet.


 

svn path=/trunk/; revision=23245
2006-07-23 13:13:07 +00:00
Eric Kohl 534e2e28c0 Implement CM_Get_Log_Conf_Priority[_Ex] and add PNP_GetLogConfPriority stub.
svn path=/trunk/; revision=23242
2006-07-23 10:35:27 +00:00
Magnus Olsen c1ecf8175e Now is the move of all startup code complete.
Starting redesign it. and alot of files will be delete

svn path=/trunk/; revision=23241
2006-07-23 10:21:30 +00:00
Magnus Olsen bbc166ce1d move more code into startup.c
svn path=/trunk/; revision=23240
2006-07-23 10:12:08 +00:00
Johannes Anderwald 11459c8cc4 * add ukrainian translation by Temarez
* fixes bug 1706

svn path=/trunk/; revision=23239
2006-07-23 09:59:30 +00:00
Magnus Olsen a3842a1f4e Start cleaing up DDraw.dll I start moving all startup code for HAL and HEL to startup.c. It will kill alot of files and code
and we can adodate our ddraw to wine ddraw design, at end. 

svn path=/trunk/; revision=23238
2006-07-23 09:57:15 +00:00
Johannes Anderwald ca4d6063a2 * add automatic powrprof diff for winesync
svn path=/trunk/; revision=23237
2006-07-23 09:56:59 +00:00
Alex Ionescu 1223ca9cab - Refactor SeCaptureSubjectContext into SeCaptureSubjectContextEx and SeCreateAccessState into SeCreateAccessStateEx. The *Ex routines allow specifying a custom process/thread which isn't the current one. This is useful when creating a new process or thread since we're not actually in it.
- Implemented a bit more security calls in PspCreateProcess as seen in WI II. We now create an AccessState.
- Also write the PID in the ObjectTable.

svn path=/trunk/; revision=23236
2006-07-23 08:20:57 +00:00
Alex Ionescu a92eec4397 - SeAccessCheck should assume failure if no SD was passed. Also fixes bugcheck on startup since processes don't currently have SDs.
svn path=/trunk/; revision=23235
2006-07-23 07:24:20 +00:00
Alex Ionescu a818a86bf9 - Fixup PSTRACE to print much nicer output and actually work.
- Add tracing for security.c and kill.c.

svn path=/trunk/; revision=23234
2006-07-23 07:13:19 +00:00
Alex Ionescu 90ea51a96b - ImperstionationLocale -> ImpersonationLocale.
- Implement PspWriteTebImpersonationInfo for setting the impersonation locale and impersonation status in the TEB (since User-mode needs to read this value and we don't want to NtQueryInformationThread for it each time to read the ETHERAD flag).
- Complete the implementation of PspSetPrimaryToken to recalculate a process's access rights to itself based on a new primary token.
- Reorganize ps.h header like ob.h and io.h, implement Tracing support but not the tracing itself yet.
- Get rid of some deprecated cruft.

svn path=/trunk/; revision=23233
2006-07-23 05:43:28 +00:00
Alex Ionescu 04e0d8c7bf [AUDIT] - The entire /kd directory is clear. We do not implement any Kd support in ReactOS, and I very much doubt someone implemented GDB or BOCHS support based reverse-engineering NT since NT happens not to have a GDB/BOCHS stub built-in (what a surprise!).
svn path=/trunk/; revision=23232
2006-07-23 05:43:00 +00:00
Alex Ionescu 59c6a927a2 - CT_ACTIVE_IMPERSTIONATION_INFO_BIT -> CT_ACTIVE_IMPERSONATION_INFO_BIT
- Added Process and Thread locking inlined functions for Ps Security functions.
- Thread safety is your friend! Huge rework of almost all the functions in ps/security.c to use the process/thread pushlocks and use interlocked operations when dealing with the ActiveImpersonationInfo thread flag.
- Added PAGED_CODE().
- Added checks for Processes with Jobs for the day that will happen.
- PsAssignImpersoonationToken with a NULL token handle means simply to revert to self.
- Don't ignore the HandleAttributes in NtOpenProcessTokenEx.
- Use SeTokenType to make sure the token passed is an impersonation token.
- Remove some fixed bugs in krnlfun.c, add more TODOs.

svn path=/trunk/; revision=23231
2006-07-22 22:57:42 +00:00
Klemens Friedl 0cc0655c20 Add software patent setting to build config template.
Implement the setting in freetype2 (rbuild file).

svn path=/trunk/; revision=23230
2006-07-22 19:38:18 +00:00
Alex Ionescu 7af4849812 - Implement KiRecalculateDueTime to handle cases where a timeout wait has been interupted by an APC or alerted, and it needs to be recalculated in the relative case. (This fixes the "contact alex" bugcheck).
svn path=/trunk/; revision=23229
2006-07-22 17:19:09 +00:00
Brandon Turner d310e2ae8c Fix typo.
svn path=/trunk/; revision=23228
2006-07-22 17:03:00 +00:00
Brandon Turner 25b81049eb Partially implement:
NtUserCallHwndOpt
NtUserGetThreadState
Implement
GetProgmanWindow
GetTaskmanWindow
This is (kinda)part of bug 1668

svn path=/trunk/; revision=23227
2006-07-22 16:50:23 +00:00
Alex Ionescu db04986dce - Give winlogon SE_ASSIGNPRIMARYTOKEN_PRIVILEGE because it was lacking it and would fail under this kernel patch.
- PspAssignPrimaryToken was good enough for actually *assigning* the token, but when NtSetInfoProcess is called with ProcessPrimaryToken, we want to do a lot more then just randomly assigning it. Added PspSetPrimaryToken which first verifies if the token being assigned is a child token and if not, checks for SeAssignPrimaryTokenPrivilege. Also added a fixme for more code that's needed, to actually re-calculate the process's granted access towards itself. Also added thread-safety.

svn path=/trunk/; revision=23226
2006-07-22 16:03:12 +00:00
Eric Kohl e553dd4145 Implement CM_Get_Next_Log_Conf[_Ex] and add PNP_GetNextLogConf stub.
svn path=/trunk/; revision=23225
2006-07-22 14:45:14 +00:00
James Tabor 7f907bd0ac Fix for TrackMouseEvent by Dmitry Timoshkov, wine port.
svn path=/trunk/; revision=23224
2006-07-22 07:04:44 +00:00
Brandon Turner 1c87e124a6 you can thank me later jim ;)
svn path=/trunk/; revision=23223
2006-07-22 05:50:06 +00:00
James Tabor db1b46702a Put back revision 23192
svn path=/trunk/; revision=23222
2006-07-22 05:37:33 +00:00
James Tabor 07b6ddc2b6 -Part 1
-Win32k and User32
  - Menu.c: Made set menu items selective masking. Setting masks fixed the garbage going into the item structure. Now right justify menu bar works. There are some more cosmetic issues left to do. I have those ready next week or so. Running wine menu test fail due to exception in kernel32 IsBadStringPtrA&W isbad.c. Funny? Does PSEH work in user mode? The string test is needed. Misc fixed, some restructuring and Wine ports. Please let me know if it breaks something.

svn path=/trunk/; revision=23221
2006-07-22 05:28:44 +00:00
Brandon Turner 4a6251c297 Revert my backspace patch from before. I found a better way to handle backspaces which doesnt break backspacing in ftp.exe(and some of apps) while still fixing ncftp.exe.
svn path=/trunk/; revision=23220
2006-07-22 05:16:26 +00:00
Hervé Poussineau c1d9e2bb6c Get rid of TCHAR variables. Use WCHAR instead.
svn path=/trunk/; revision=23219
2006-07-21 22:15:21 +00:00
Brandon Turner a6bd824e02 Fix the horribly broken SetProgramWindow implementation
svn path=/trunk/; revision=23218
2006-07-21 21:11:46 +00:00
Alex Ionescu da390966cc - Add bugcheck CRITICAL_OBJECT_TERMINATED
- Implement PspCatchCriticalBreak and fix the 5 or so FIXMEs that depended on it.

svn path=/trunk/; revision=23216
2006-07-21 19:59:16 +00:00
Hervé Poussineau 4dfbe6ea8c Add a hack to be able to use serial mice again (IRP_MJ_CLOSE is not set after IoGetDeviceObjectPointer() + ObDereferenceObject())
svn path=/trunk/; revision=23215
2006-07-21 19:49:32 +00:00
Alex Ionescu 2f2139d851 - Implement Kernel, Memory Manager and Process Manager APIs for the following concepts (not yet used):
- Process Quantum.
  - Fixed and Variable Quantum Tables.
  - Long and Short Quantum Variability.
  - Priority Separation and Separation Masks.
  - Foreground Quantum Table.
  - Process Priority, Priority Modes and Priority Classes.
  - Virtual Memory Priority
  - Job Scheduling Classes
- Implement PsSetProcessPriorityByClass.

svn path=/trunk/; revision=23214
2006-07-21 19:28:38 +00:00
Hervé Poussineau 3ea8db48b1 Fix regression introduced in r23174, which prevented autochk to work
svn path=/trunk/; revision=23212
2006-07-21 19:00:28 +00:00
The Wine Synchronizer 9924c52e90 Autosyncing with Wine HEAD
svn path=/trunk/; revision=23211
2006-07-21 13:07:57 +00:00
The Wine Synchronizer fb4c0e59ed Autosyncing with Wine HEAD
svn path=/trunk/; revision=23210
2006-07-21 13:07:51 +00:00
The Wine Synchronizer 6c0bd6bc60 Autosyncing with Wine HEAD
svn path=/trunk/; revision=23209
2006-07-21 13:05:13 +00:00
The Wine Synchronizer d2f18185df Autosyncing with Wine HEAD
svn path=/trunk/; revision=23208
2006-07-21 13:05:07 +00:00
The Wine Synchronizer 9046d40509 Autosyncing with Wine HEAD
svn path=/trunk/; revision=23207
2006-07-21 13:05:00 +00:00