Commit graph

21456 commits

Author SHA1 Message Date
Johannes Anderwald 63a3c06ea0 * check return value of RtlDeleteAtomFromAtomTable
* simply, optimize, bugfix UserRegisterClass 
* allow de-registration for system classes
* set ERROR_CLASS_DOES_NOT_EXIST in case of errors
* reduces user32_winetest.exe class errors to 31 failures

svn path=/trunk/; revision=23082
2006-07-16 15:16:55 +00:00
Johannes Anderwald 6a8b5b1b25 * GetClassInfo should return NULL for hInst when hInst is UserHInstance
* fixes one bug found by user32_winetest.exe class.c

svn path=/trunk/; revision=23081
2006-07-16 14:57:34 +00:00
Magnus Olsen 0d759ca707 Framebuf drv
Implement : DdCanCreateSurface
Stub : DdCreateSurface
adding struct ddpfDisplay and dxHalInfo
ddpfDisplay are being filld but not use
dxHalInfo are not fill it is rater large work getting it right 


svn path=/trunk/; revision=23080
2006-07-16 14:54:59 +00:00
Ged Murphy 4b2f6b62b4 add Wine cabinet regression tests
svn path=/trunk/; revision=23079
2006-07-16 14:24:37 +00:00
Aleksey Bragin 61938c2ebc [AUDIT]
- Doxyfile: not a code file at all
- ntdll.h / ntdllp.h: nothing copyrightable or reversengineerable in these files, it's a few functions prototypes only. Thus clean.

svn path=/trunk/; revision=23078
2006-07-16 13:55:11 +00:00
Aleksey Bragin de67bf2622 [AUDIT]
- setup.c: This is a fully ReactOS-specific code, thus clean

svn path=/trunk/; revision=23077
2006-07-16 13:51:13 +00:00
Aleksey Bragin e7729711e5 [AUDIT]
- setup.rc / lsass.rc: nothing copyrightable exists in this files
- lsass.c: some partly #if 0...#endif'ed stub. Doesn't implement any functionality, thus clean (and useless probably)
- win32err.c: a small error-printing function taken from Mark Russinovich's chkdskx source code. Contains nothing which could be thought as copyright-infringement, and the function overall is a few lines only

svn path=/trunk/; revision=23076
2006-07-16 13:46:47 +00:00
Johannes Anderwald a4b70302ef * dont succeed if found Class is local and hInstance is NULL
* set hInstance to input value given when nonzero, zero for global classes and to the actual value of class when its local
* reduces the user32_winetest.exe failures by 20 error to 44

svn path=/trunk/; revision=23075
2006-07-16 12:24:09 +00:00
Eric Kohl 8135ef1f04 Implement CM_Get_First_Log_Conf[_Ex] and add PNP_GetFirstLogConf stub.
svn path=/trunk/; revision=23074
2006-07-16 12:11:26 +00:00
Magnus Olsen fc29d1edf0 Clean up NtGdiDdCreateDirectDrawObject and confirm it working.
1. Fix create hdc when it is NULL that is need to get ms windows xp d3dx.dll working in ReactOS, if some want try it. 

 

svn path=/trunk/; revision=23073
2006-07-16 12:03:41 +00:00
Magnus Olsen d16a694b91 Start adding basic directdraw hal 2d interface, so we have a directdraw hal interface to test with, for vmware server does not come with directdraw interface for the the driver. for now everthing is stubed.
svn path=/trunk/; revision=23072
2006-07-16 11:46:30 +00:00
James Tabor 0a02efc6e2 Fix typo
svn path=/trunk/; revision=23071
2006-07-16 01:40:36 +00:00
James Tabor c1685e75b7 User32: Menu.c I found a small problem with drawing menu popups. This fixes the problem.
svn path=/trunk/; revision=23070
2006-07-16 00:33:50 +00:00
Magnus Olsen a7dcf72d50 disable the screensaver from bootcd and livecd
reason : qemu and vmware 5.0 / 5.5 is afacted by same bug, it does not reading the timeout value right. 
         I need figout why, it is working in vmware server as it should 

svn path=/trunk/; revision=23069
2006-07-15 23:50:51 +00:00
Magnus Olsen 64e3f510fe Tempary fixing kbdclass and mouse class u can not call on IoDeleteDevice before disabler the keyboard or mouse driver other wise it will bsod at shoutdown of ReactOS, create the frist boot problem. that we have seen on BootCD; Hpoussin I have comment out iodevice for now, please look at it when u got time.
svn path=/trunk/; revision=23068
2006-07-15 20:14:44 +00:00
Alex Ionescu 78874d1548 - Remove some debug prints that are not needed anymore
- NtCurrentTeb now returns the TEB instead of the KCPR, so re-enable the codepath that set the CurrentLocale and IdealProcessor in the TEB from the KTHREAD.

svn path=/trunk/; revision=23067
2006-07-15 20:10:13 +00:00
Magnus Olsen 1af6dae1c1 reverting : patch from w3seek :Bug #: 1669 : Probing macros improvements and fixes
reason    : it break second boot, at when u press on finsh buttom 
            with the mouse or wait until auto rest kick in,
            but we still have one more regress to found for 
            second boot when u leave from vmware at center 
            point the setup will crash (when u toch the keyboard)
            lest the mouse does not cause the bsod any longer.
            I will inform w3seek about it when he comes online

 

svn path=/trunk/; revision=23066
2006-07-15 19:10:07 +00:00
James Tabor d61db42063 -User32: Fixed GetMenuItemInfoA so it should work closely to spec and reimplemented GetMenuItemInfoW so it should do the same. Added a string flag to GetMenuStringW. Tested with explorer, winefile, VIDE, Lazarus (nochg) and Miranda. Wine menu test 1178 failures now.
svn path=/trunk/; revision=23065
2006-07-15 01:40:10 +00:00
Alex Ionescu 1d5f17dc97 - Add IN/OUT annotations for KeWaitForSIngleObject
- Set the wait block outside the loop, small optimization in case we get alerted by an APC and have to loop again.
- Set the wait block pointer in the KTHREAD structure only *after* checking if a wait is actually needed. That way, if the object is already signaled, we don't set anything in the WaitBlockList.
- Small optimization: only set the caller's WAitBlock as the next wait block if a timer wasn't specificed, else we ended up overwriting the value.
- Small optimziation: don't write the thread in the wait block, this is a wait for a signle object so this isn't needed.

svn path=/trunk/; revision=23063
2006-07-14 21:45:27 +00:00
Aleksey Bragin 7e51a54974 Add tests for Create/Open/Set/Cancel Timer in Executive. Under Win2003 SP1 works perfectly, however ReactOS hangs.
svn path=/trunk/; revision=23062
2006-07-14 21:04:31 +00:00
Magnus Olsen 8c3ad7c90d [AUDLT] This code are clean and written by filip.
svn path=/trunk/; revision=23061
2006-07-14 17:20:21 +00:00
Alex Ionescu 891d788fca - Implement Safe Referencing (an internal method for referencing objects when race conditions are possible)
- Implement two Vista APIs and export them: ObIsKernelHandle and ObDeleteObjectDeferDelete. ZOMG! Vista APIs in the kernel!

svn path=/trunk/; revision=23060
2006-07-14 15:26:19 +00:00
Alex Ionescu 514aa8290f - Fix a serious bug in Kernel Queues. A condition existed where an inserted kernel queue with a timeout would crash the system once the thread waiting on it had its wait aborted or completed.
- Thanks a lot to Thomas for his brutal test application which allowed me to discover this bug and the bugs addressed in the previous commits (related to the wait list and thread scheduler list corruption).

svn path=/trunk/; revision=23057
2006-07-14 02:26:44 +00:00
Alex Ionescu 1f1857f96d - Add KiCheckThreadStackSwap and KiAddThreadToWaitList macros
- Initialize PRCBs' Wait Lists
- Fix a ghastly implementation fault where the the queue code was correctly removing the thread from its wait list, but where this wait list was actually connected to the _SCHEDULER_ and ended up removing a thread behind its back, causing bizarre issues and w3seek's ASSERT(State == Ready) bug. Fixed this by using the macros above and PRCB Wait List and properly inserting a waiting thread into that list, and then removing it when unblocking it or removing a queue.

svn path=/trunk/; revision=23056
2006-07-14 01:03:27 +00:00
Alex Ionescu 8d372c2271 - Fix utterly messed up unblocking/readying thread logic.
- KiUnblockThread becomes KiReadyThread and doesn't perform priority modifications anymore. Also removed a large block of code that was #if 0ed out.
- KiAbortWaitThread now does priority modifications (and better then before), then calls KiReadyThread.
- Inserting a queue now *READIES A THREAD ONLY* instead of removing all its waits!

svn path=/trunk/; revision=23055
2006-07-13 22:52:18 +00:00
Magnus Olsen eab221b08b Activate screensaver for bootcd
rember fullpath should be c:\reactos\system32\matrix.scr but we use matrix.scr as key path for getting this working on livecd.
But the desk.cpl apps should save full path to it. (and it does it in windows and reactos before ros cm broken it did in ros). 

svn path=/trunk/; revision=23054
2006-07-13 22:42:40 +00:00
Magnus Olsen 85a2492f52 last fix for getting screensaver working on livecd it is rugh hack
svn path=/trunk/; revision=23053
2006-07-13 22:38:30 +00:00
Hervé Poussineau d0bbf9199b In case of error, free the input data buffer only if we just allocated it.
svn path=/trunk/; revision=23052
2006-07-13 22:20:54 +00:00
Alex Ionescu 19ff9cb593 - More cleanup of wait.c
- Set the right wait status in KiAbortWaitThread.
- Don't ignore priority boost (increments) when aborting waits.
- When satisfying a mutant, insert if into the the head of the back-link, not the forward-link.

svn path=/trunk/; revision=23051
2006-07-13 22:19:57 +00:00
Alex Ionescu fc546e804a - Cleanup + formatting fixes for wait.c
- Move some inlined functions from ke.h to ke_x.h
- Add checks for special apc disabled (guarded regions) in wait code.

svn path=/trunk/; revision=23050
2006-07-13 21:48:45 +00:00
Eric Kohl b41eb98534 Implement CM_Free_Log_Conf[_Ex] and add PNP_FreeLogConf stub.
svn path=/trunk/; revision=23049
2006-07-13 21:28:01 +00:00
Magnus Olsen 20ce435a3b 1. Fixing so the screensaver only start one time when ReactOS starting.
2. Fixing so the screensaver do not restart it self. 
Alesky here is the bugfix I promies, it will not longer see alot start screen msg. 
One bug remains before the reg key will be adding as defualt for matrix.scr so it 
can run from livecd as well



svn path=/trunk/; revision=23047
2006-07-13 21:21:30 +00:00
Aleksey Bragin 9d2f75b905 Added a check for a non-null WndProc into IntCallWndProcA/W. Instead of bugchecking, it shows a DPRINT1 now to inform about a bug.
As a side effect, mIRC now works in ReactOS.

svn path=/trunk/; revision=23046
2006-07-13 20:47:59 +00:00
Alex Ionescu d7e7bd087e [FORMATTING] - Cleanup timer.c
svn path=/trunk/; revision=23045
2006-07-13 19:43:10 +00:00
Alex Ionescu bdde4622cc - Don't make the timer signaled in KeSetTimerEx if it already expired.
- Only call KiWaitTest on timers if they have waiters.
- Fix list looping in KiExpireTimers.

svn path=/trunk/; revision=23044
2006-07-13 19:04:39 +00:00
Magnus Olsen 07eacf79df 1. Remove guithreadinfo from the make file. for it not longer builds.
2. Adding a test apps for starting directdraw hal interface, that I have keep within few ros devs, and one wine devs, 
   it also being using in 2-3 diffent company same code. I known which company that using it with my written premitions 
   I give them on icq or email. But u need a document how to use kernel, d3d, mocomp interface,and some more how to access
   them. I only show how to start dx hal the interface and using so call IDrawDraw interface. in this apps. 
  

svn path=/trunk/; revision=23043
2006-07-13 19:00:05 +00:00
Magnus Olsen e862b8b461 patch from w3seek :Bug #: 1667 : NTOSKRNL: Fix GCC4 warning and return correct error code in NtSignalAndWaitForSingleObject
svn path=/trunk/; revision=23041
2006-07-13 12:30:56 +00:00
Aleksey Bragin d5f8964338 Free the buffer as MSDN says
svn path=/trunk/; revision=23040
2006-07-13 07:17:13 +00:00
Alex Ionescu 77203d0406 - Add some TIMER values to the ddk.
- Add DPC Settings (Queue Depths, Rates, etc)
- Cleanup System/Run Time Update code.
- Always increase kernel time in PRCB when inside kernel-mode code.
- Get rid of superflous interlocked commands when not needed.
- Improve detection of DPC vs non-DPC time.
- Respect and apply DPC queue/rate rules.
- Allow future use of non-fulltick time increments.

svn path=/trunk/; revision=23039
2006-07-13 06:23:34 +00:00
Alex Ionescu e037b1c36b - Add ASSERT_QUEUE macro.
- Cleanup queue.c
- Add some ASSERTs
- Properly check for SPecialApcDisable before aborting a wait.
- Fix a bug in KiWaitQueue which was causing us not to remove the queue from the thread's wait list.

svn path=/trunk/; revision=23038
2006-07-13 05:20:43 +00:00
Alex Ionescu 5ecb728b0e - Fix KiAcquireMutexContended, it was broken in contended cases.
- Inline Acquiring/Leaving guarded regions and the gmutex code, instead of going through 3-4 indirect calls.
- Add a mountain of ASSERTs to detect incorrect usage/state.
- Set ->SpecialApcDisable in the Guarded Mutex.
- Fix broken KTHREAD definition. SpecialApcDisable and KernelApcDisable were incorrectly marked as USHORT instead of SHORT, which could cause severe trouble under optimized builds (At least under MSVC, since MSVC wouldn't allow a negative number in an unsigned short).
- Use GM_LOCK_BIT_V.
- Fix broken KeTryToAcquireGuardedMutex prototype.
- Fix broken KGUARDED_MUTEX typedef and add bit values.
- Fix broken Interlocked* prototypes in regards to volatileness.

svn path=/trunk/; revision=23037
2006-07-13 04:20:18 +00:00
James Tabor b71f24ddc1 -User32: Consolidated InsertMenu and ModifyMenu A&W flags processing. Misc changes too, some based on wine.
svn path=/trunk/; revision=23036
2006-07-12 22:43:45 +00:00
Ged Murphy f13b4799a6 DIALOG -> DIALOGEX to correctly handle MS Shell Dlg
svn path=/trunk/; revision=23035
2006-07-12 21:52:08 +00:00
Magnus Olsen 7611f8028a patch from w3seek :Bug #: 1669 : Probing macros improvements and fixes
svn path=/trunk/; revision=23034
2006-07-12 21:42:08 +00:00
Magnus Olsen c80f9e7cea patch from w3seek : Bug#: 1671 : RTL: Fix checking the SACL data area in the Win64 version of RtlSelfRelativeToAbsoluteSD2
svn path=/trunk/; revision=23033
2006-07-12 21:36:05 +00:00
Aleksey Bragin 1d5bff3624 - Fix a mistake with outputting always non-initialized buffer in a DPRINT1
- Add a branch for stopping the screensaver
- Prettify the tracing debug message (it shows now if it's a start or a stop request)
- Add a success-check for RegOpenKeyExW too

svn path=/trunk/; revision=23032
2006-07-12 21:33:14 +00:00
Johannes Anderwald d94f7c6e2b conio.c:
* create a CSRSS_SCREEN_BUFFER object before TuiInit/GuiInit 
  -> required for variable screen buffer sizes
* improve error handling in CsrCreateScreenBuffer

guiconsole.c:
* directly store WindowSize in CSRSS_CONSOLE struct
* read ScreenBufferSize value from registry and store result in CSRSS_SCREEN_BUFFER 
* use default values for ScreenBufferSize / WindowSize

tuiconsole.c:
* set screenbuffer size to size of physical console size in init

svn path=/trunk/; revision=23031
2006-07-12 21:06:21 +00:00
Hervé Poussineau b06a110bee Symbolic link should start with \??\, to be able to open the object from kernel mode
svn path=/trunk/; revision=23030
2006-07-12 20:41:28 +00:00
Johannes Anderwald c19c207f4e * set FontName array to max of LF_FACESIZE
* read WindowSize from registry
* create GUI_CONSOLE_DATA directly in GuiInitConsole
* wait untill GuiWindow has been created (needed for synchronization with variable window sizes)

svn path=/trunk/; revision=23028
2006-07-12 16:48:58 +00:00
Hervé Poussineau b042f11818 Implement the 'You need to reboot' wizard page, and use it instead of the network message box.
Main advantage is that the message box doesn't appear anymore during second stage setup.

svn path=/trunk/; revision=23027
2006-07-12 15:30:09 +00:00