Commit graph

35947 commits

Author SHA1 Message Date
Timo Kreuzer a6e1bbc54d More dc cleanup: make DC_AllocDC return a pointer, not a handle, like done with the other objects, too.
Remove DC_GetnextDC and DC_SetNextDC, as they are trivial. Misc cleanup and improvements.

svn path=/trunk/; revision=40203
2009-03-24 04:10:49 +00:00
Timo Kreuzer 65ce2884da Fix formatting add a FIXME comment, no code change
svn path=/trunk/; revision=40202
2009-03-24 03:15:18 +00:00
Timo Kreuzer 0a1914e0b7 Remove DC_GET_VAL macro and friends. They were defining functions that we didn't use, except 4, but those were also quite useless, as the only returned a value from the dc structure that you pass in.
same for IntGetGraphicsMode. Also remove IntGetViewportExtEx and replace it with DC_vUpdateViewportExt

svn path=/trunk/; revision=40201
2009-03-24 02:58:14 +00:00
Cameron Gutman c5a8c1281c - Fix several cancellation and socket shutdown issues:
- Don't call DestroySocket if FCB->State == SOCKET_STATE_CLOSED because the FCB is already being destroyed (Irp->Cancel checks hid this bug)
 - Remove the Irp->Cancel checks (hacks)
 - Only return early if we can't cancel an IRP
 - Add an FCB->State check in StreamSocketConnectComplete
 - Store the failure status in the IRP

svn path=/trunk/; revision=40200
2009-03-24 02:01:46 +00:00
Timo Kreuzer 8c84226668 - Add a bunch of tests for NtGdiDeleteObjectApp
- Add Is handle valid function to check whether a handle is still valid.

svn path=/trunk/; revision=40199
2009-03-24 01:25:03 +00:00
Jeffrey Morlan 2895b48a31 Implement all remaining switches for the START command.
svn path=/trunk/; revision=40198
2009-03-23 23:52:50 +00:00
Jeffrey Morlan d17f538267 Fix a bug in wcstoul causing it to set *endptr improperly.
svn path=/trunk/; revision=40197
2009-03-23 23:51:59 +00:00
Timo Kreuzer c3927d7e15 - Don't delete an object that has a shared reference!
- Implement DC_vSelectSurface, that dereferences the old SURFACE and references the new. Use it instead of doing it manually.
- Select NULL surface when doing cleanup.
- Go back to ASSERT in GDIOBJ_ShareUnlockObjByPtr. Should (hopefully) not be hit anymore.
- Add additional functions for tracing shared locks in gdidbg.c.
- Add debugprints when leaking objects on process cleanup.


svn path=/trunk/; revision=40196
2009-03-23 23:49:00 +00:00
Sylvain Petreolle 4724aa9fb0 setupapi.CMP_RegisterNotification is not a stub anymore,
update cfgmgr32.spec accordingly.

svn path=/trunk/; revision=40192
2009-03-23 22:01:40 +00:00
Jeffrey Morlan 4d872d113e Implement %~$PATH:var variable substitution
svn path=/trunk/; revision=40191
2009-03-23 19:54:52 +00:00
Art Yerkes a822f03d45 Actually mark irp pending.
svn path=/trunk/; revision=40190
2009-03-23 19:45:21 +00:00
Timo Kreuzer 3b14a5465d GDIOBJ_ShareUnlockObjByPtr: Temporarily don't ASSERT, but print a backtrace when trying to unlock an object that wasn't locked.
svn path=/trunk/; revision=40189
2009-03-23 19:11:37 +00:00
Art Yerkes d34ef92b8b Formatting only, no change.
svn path=/trunk/; revision=40188
2009-03-23 18:13:17 +00:00
Timo Kreuzer acc3c725d7 [FORMATTING]
Apply indentation of 4 spaces. Misc formatting improvements. Add some FIXME comments, no code change

svn path=/trunk/; revision=40187
2009-03-23 17:47:58 +00:00
Jeffrey Morlan 52b04dfa2f - In cmd's PUSHD and POPD commands, change directory using _tchdir.
svn path=/trunk/; revision=40185
2009-03-23 14:48:04 +00:00
Jeffrey Morlan 73694e1e38 - Moved the code for updating the drive-specific current-directory environment variable out of RTL and into the CRT. Testing on Windows shows that neither RtlSetCurrentDirectory_U or SetCurrentDirectory update these variables, but _tchdir does.
svn path=/trunk/; revision=40184
2009-03-23 14:47:46 +00:00
Cameron Gutman d99f998d2d - This should fix a rare afd crash
- It was a race condition caused by another thread clearing our IRP while we were still using it

svn path=/trunk/; revision=40183
2009-03-23 05:05:57 +00:00
Timo Kreuzer d7ab2a464e In the beginning somebody created dc.c. And he saw that it was empty. So he quickly added some functions to it. And as there were so many nice dc functions, the dc.c quickly got populated with a lot of code. But dc.c must have still felt lonely,
so that people added more and more code, even completely unrelated code. Finally dc.c became a fat wastedump for all the code a developer didn't know where to put.

Clean up this mess by splitting the 3600 line monster file into 5 files and moving some stuff into other files.

svn path=/trunk/; revision=40182
2009-03-23 03:43:11 +00:00
Dmitry Gorbachev 8cb1d37567 Add "REACTOS Mm Hack of Doom" again (removed in r39723). Bug #4296.
svn path=/trunk/; revision=40181
2009-03-23 00:56:01 +00:00
Timo Kreuzer f20923b70c Initialize flattrs in EBRUSHOBJ_vInit
svn path=/trunk/; revision=40180
2009-03-23 00:51:22 +00:00
Timo Kreuzer e2a450fc3f Brush rewrite part 1/x
- Make the EBRUSHOBJ structure somewhat like XPs. 
- Make the eboXxx members of the DC real EBRUSHOBJs and initialize them on DC creation. Except for IntArc they are not yet used and there still with the old way of doing it.
- Implement DC_vUpdateXxxBrush functions that update the DCs EBRUSHOBJs after changes to the dcattr.
- Implement EBRUSHOBJ_bRealizeBrush that realizes the brush by either calling the DrvRealizeBrush or EngRealizeBrush, which is currently only stubbed and this functionality is not plugged in due to other broken features.
- EBRUSHOBJ_vInit: Store the RGB color and return it in BRUSHOBJ_ulGetBrushColor.
- Implement EBRUSHOBJ_vSetSolidBrushColor, EBRUSHOBJ_vUpdate and EBRUSHOBJ_vUnrealizeBrush
- Rename PENOBJ_bla to PEN_bla.
- Make GDIOBJ_ShareUnlockObjByPtr an inline function
- Implement GDIOBJ_IncrementShareCount as inline function.
- NtGdiSelectBitmap: keep a shared reference on the selected bitmap.
- EngAssociateSurface: don't ASSERT, but fail if locking the surface handle failed.
- EngModifySurface: use an exclusive lock and handle everything inside this function.

svn path=/trunk/; revision=40179
2009-03-23 00:38:59 +00:00
Cameron Gutman 7eafa4dee6 - Implement NdisFreeDmaChannel
svn path=/trunk/; revision=40178
2009-03-22 23:49:24 +00:00
Cameron Gutman 253abcd0db - Fix a memory leak
svn path=/trunk/; revision=40177
2009-03-22 23:39:57 +00:00
Colin Finck 8403d77a18 - If we determine that the keyboard buffer is full, only call INT 16h,0 once without checking again whether the buffer is free afterwards
Fixes bug #4264
- Get rid of another procedure for getting a character, can be replaced with two instructions in the only place where this procedure was called
See issue #4264 for more details.

svn path=/trunk/; revision=40176
2009-03-22 23:36:48 +00:00
Cameron Gutman bd33ba7e48 - Query MaxMulticastAddresses from the miniport
svn path=/trunk/; revision=40175
2009-03-22 23:28:06 +00:00
Dmitry Gorbachev 1c93767ee0 Update Japanese translation of Syssetup. Patch from Tomoya Kitagawa (jptomoya|AT|yahoo|DOT|co|DOT|jp), bug #4295.
svn path=/trunk/; revision=40174
2009-03-22 19:58:44 +00:00
Matthias Kupfer 0297ddda32 - Disable "Back" in last page of syssetup, because it doesn't make any sense.
svn path=/trunk/; revision=40173
2009-03-22 16:36:16 +00:00
Johannes Anderwald a773189e6f - Clean up my working copy
svn path=/trunk/; revision=40172
2009-03-22 14:28:50 +00:00
James Tabor aa35b26caf - Implement AddFontMemResourceEx and simplify RemoveFontMemResourceEx.
svn path=/trunk/; revision=40171
2009-03-22 05:20:55 +00:00
Cameron Gutman 6ece2fd104 - Fix release build
svn path=/trunk/; revision=40170
2009-03-22 02:02:22 +00:00
Jeffrey Morlan e518029091 Make START command able to open non-executable files/directories/URLs using ShellExecute. (Bug 4055)
svn path=/trunk/; revision=40169
2009-03-22 01:51:29 +00:00
Cameron Gutman c999c1eb6e - Don't forget to store the status in the IRP
- Fix some return statuses

svn path=/trunk/; revision=40168
2009-03-21 22:54:08 +00:00
Sylvain Petreolle f7374ea760 Fix file location in file properties dialog.
svn path=/trunk/; revision=40167
2009-03-21 22:19:27 +00:00
Gregor Schneider e01595c798 - GetBitmapBits: This function should return DDB size since it's for 16 bit win only. So calculate this size instead of supplying the DIB size
- BITMAP_GetObject: Don't always supply compression type BI_RGB, but distinguish compression from bitmap format. A problem with BI_BITFIELDS remains, since it can't be detected that way. Add a comment to GetDIBits too, same problem - this implicit BITFIELDS -> RGB issue could be the reason for some (delayed?) drawing problems
- GetDIBits: The palette information should be copied in both operation modes so move it to the beginning of the function
- Fixes ~10 gdi32 bitmap winetests (but depends on used bit depth)

svn path=/trunk/; revision=40166
2009-03-21 19:15:52 +00:00
Cameron Gutman f4aa76fc47 - Uncomment the NdisUnmapFile call in NdisCloseFile
- Found by Dmitry Chapyshev

svn path=/trunk/; revision=40161
2009-03-21 13:01:12 +00:00
Daniel Reimer 58949e1e63 Bug 4287: Lithuan Translaions by Vytis Girdžijauskas
Polish Translations by Maciej Bialas
Updated readme.wine. Some apps are autosynched by me and are mentioned as really old. Fixed this.

svn path=/trunk/; revision=40159
2009-03-21 12:38:32 +00:00
Colin Finck 0ba8c8e16a Enable the Crash Recovery feature when doing the RegTest.
Now the new sysreg2 just needs to be set up on the Buildslave and we might finally be able to remove all those "Skip Test xyz, because ROS sucks" hacks.

svn path=/trunk/; revision=40157
2009-03-21 12:21:12 +00:00
Aleksey Bragin d40a356433 - Allocate and initialize setup loader block.
- Add setup loader block pointer conversion to WinLdrInitializePhase1 (if it exists). 
- Temporary: provide empty boot options string.

svn path=/trunk/; revision=40156
2009-03-21 11:11:44 +00:00
Aleksey Bragin 8e3572a7e6 - Remove obsolete Doxyfile config files. Spotted by Alexey Komarov.
svn path=/trunk/; revision=40152
2009-03-21 10:34:24 +00:00
Dmitry Gorbachev 5306bb8631 Do not forward TraceMessage() to itself.
svn path=/trunk/; revision=40150
2009-03-21 07:11:56 +00:00
Jeffrey Morlan 9618066a26 - When running a non-executable file, if the program handling the file type is a console program (e.g. Perl/Python) it should run in the same console as cmd, and cmd should wait for it. Implement this by using ShellExecuteEx instead of plain ShellExecute, with the SEE_MASK_NOCLOSEPROCESS and SEE_MASK_NO_CONSOLE flags. (SEE_MASK_NO_CONSOLE does the opposite of its MSDN description)
- Use NULL as the lpVerb to get the default action ("open" is not necessarily the default)
- Allow passing parameters besides just the file name

svn path=/trunk/; revision=40148
2009-03-21 02:12:23 +00:00
Colin Finck 10f13abcb5 Big testing system commit
rosautotest
- Rewrite rosautotest in C++
  Should increase maintainability and expandability, since most of the functionality is encapsulated in classes and there exist some abstract classes for further enhancements (i.e. new test types).
  Furthermore, due to the usage of STL strings, we don't need x lines anymore just for building a string out of several small parts.
- The new codebase made it fairly easy to implement a Crash Recovery feature based on a journal.
  If you start rosautotest with the /r option under ReactOS, it will keep a journal about the tests to run and the tests already ran. In case of a crash, it can just continue with the next test in the list then.
- Add some reasonable timeouts to avoid certain hangs in case a test crashes

sysreg2
- Make the necessary changes to sysreg2 to restart the VM in case of such a crash in 3rd stage, but set a maximum number of allowed crashes as well.
  Christoph, please test and review that on the Buildslave :-)
- Prepend all sysreg messages with [SYSREG] through a new function SysregPrintf, so the BuildBot aggregator script of testman can distinguish between debug output and sysreg messages.
- Put all header includes into the central header file "sysreg.h"
- Remove unnecessary libs from the Makefile

testman
- Change the testman Web Interface to show such crashes as CRASH in the Compare and Detail views.

svn path=/trunk/; revision=40147
2009-03-21 01:39:04 +00:00
Timo Kreuzer d225ab948e Fix build.
svn path=/trunk/; revision=40146
2009-03-21 00:25:52 +00:00
Timo Kreuzer 946deefb20 Rename IntGdiInitBrushInstance to EBRUSHOBJ_vInit and move it to engbrush.c. Add 2 FIXME comments.
svn path=/trunk/; revision=40145
2009-03-20 23:40:59 +00:00
Jeffrey Morlan 38dec447a2 Replace hard-coded English string constants with translatable resource strings. (Bug 3718)
svn path=/trunk/; revision=40144
2009-03-20 23:16:12 +00:00
Timo Kreuzer 87e87cd3bf Start to cleanup the mess that claims to be our brush implementation: Rename GDIBRUSHOBJ to BRUSH and GDIBRUSHINST to EBRUSHOBJ. Because that's what it is and nothing else. Rename several BRUSHOBJ_xxx functions to BRUSH_xxx, as they deal with a BRUSH, not a BRUSHOBJ.
There is a strict difference between a BRUSH and an (E)BRUSHOBJ. Please don't mix this up by giving them all names like BrushObj. Please use (proper!) hungarian notation.

Now the willing reader might actually get a clue how this stuff is supposed to work and maybe also realize how broken it is.

svn path=/trunk/; revision=40143
2009-03-20 22:40:14 +00:00
Cameron Gutman d9e83ed22d - Reorganize NDIS code
svn path=/trunk/; revision=40142
2009-03-20 21:29:53 +00:00
Cameron Gutman d162807f59 - Implement NdisFreeSharedMemory
svn path=/trunk/; revision=40141
2009-03-20 20:51:05 +00:00
Cameron Gutman 2e3301d050 - Implement NdisAllocateSharedMemory
svn path=/trunk/; revision=40140
2009-03-20 20:45:27 +00:00
Cameron Gutman 1088b50413 - Implement NdisMCreateLog, NdisMCloseLog, and NdisMFlushLog
- Patch by Dmitry Chapyshev (with modifications by me)

svn path=/trunk/; revision=40139
2009-03-20 20:43:43 +00:00