Timo Kreuzer [Wed, 9 Mar 2011 15:46:13 +0000 (15:46 +0000)]
[WIN32K]
- Fix calculation of dest rect in IntSetDIBits
- Rewrite NtGdiStretchDIBitsInternal. It now calls NtGdiSetDIBitsToDeviceInternal in case of SRCCOPY and no stretching and NtGdiCreateDIBitmapInternal + IntEngStretchBlt in the default case. This fixes RLE compressed dibs.
- The code isn't yet perfect, Windows behaviour is pretty complex, especially in regard to topdown/bottomup DIBs and the whole code needs to be rewritten. It will cause one more failed bitmap test, but another one that was formerly only passing with legacy 9x behaviour now behaves correctly.
See issue #5886 for more details.
svn path=/trunk/; revision=51005
Timo Kreuzer [Wed, 9 Mar 2011 15:31:25 +0000 (15:31 +0000)]
[win32csr]
Fix zero termination of harderror string parameters, when they are ansi.
See issue #5983 for more details.
svn path=/trunk/; revision=51004
Timo Kreuzer [Wed, 9 Mar 2011 15:29:13 +0000 (15:29 +0000)]
[CRT]
Patch by Thomas Faber: Fix nt version of mbstowcs.
See issue #5983 for more details.
svn path=/trunk/; revision=51003
Pierre Schweitzer [Wed, 9 Mar 2011 10:33:13 +0000 (10:33 +0000)]
[NTOSKRNL]
Implemented FstubFixupEfiPartition():
Purpose is to let ReactOS handle realistic partitions length in case of an EFI/GPT protective MBR.
Indeed, when formatting a disk to GPT, you add a protective MBR that contains a fake partition entry, with type 0xEE having the following property: its size is set to maximum allocatable size in MBR.
In that case, if disk is small, you may go beyond disk size.
This is why a fix to partition length may be needed when re-reading partition entry.
This is the way ReactOS creates protective MBR.
You may find some more information here: http://msdn.microsoft.com/en-us/windows/hardware/gg463525
Fixed xHalIoReadPartitionTable():
- Allocate a buffer that has the proper size (instead of allocating a buffer which is too big). Especially since this leads to partial init only some lines after.
- Remove redundant & useless affectation.
- Check/fix 0xEE partition length in case of an EFI/GPT protective MBR (see upper point).
svn path=/trunk/; revision=51002
Sylvain Petreolle [Tue, 8 Mar 2011 11:30:14 +0000 (11:30 +0000)]
[ROSTESTS]
Properly skip bitmap and outline tests in gdi32_winetest:font.
svn path=/trunk/; revision=51001
Timo Kreuzer [Mon, 7 Mar 2011 22:14:14 +0000 (22:14 +0000)]
[WIN32K]
Fix a warning about an uninitialized variable :D
svn path=/trunk/; revision=51000
Timo Kreuzer [Mon, 7 Mar 2011 22:06:23 +0000 (22:06 +0000)]
[WIN32K]
Fix IntCreateCompatibleBitmap, previously when the given DC was a memory DC with a dibsection selected, the function would only work if the dibsection was <= 8 bpp.
svn path=/trunk/; revision=50999
Timo Kreuzer [Mon, 7 Mar 2011 22:00:19 +0000 (22:00 +0000)]
[WIN32K]
clip the destination rect against the bounds of the destination and source surface. Fixes a crash of gdi32_winetest bitmap that occurs as soon as IntCreateCompatibleBitmap is fixed. Other Eng* code needs to be checked as well.
svn path=/trunk/; revision=50998
Timo Kreuzer [Mon, 7 Mar 2011 21:55:17 +0000 (21:55 +0000)]
[WIN32K]
Update all brushes in DC_vPrepareDCsForBlit. This allows us to simplify the code elsewhere.
svn path=/trunk/; revision=50997
Jérôme Gardou [Mon, 7 Mar 2011 20:39:33 +0000 (20:39 +0000)]
[NTOSKRNL]
- Beatify cpu supported features output once and for all
DPRINT1 is not printf...
svn path=/trunk/; revision=50996
Pierre Schweitzer [Mon, 7 Mar 2011 20:28:42 +0000 (20:28 +0000)]
[FASTFAT]
Do not set file attributes in case they are set to 0 or -1
svn path=/trunk/; revision=50995
Eric Kohl [Mon, 7 Mar 2011 20:25:28 +0000 (20:25 +0000)]
[SERVICES]
Leave the critical section when the allocation of the control packet fails.
Bug spotted by hzlilx.
svn path=/trunk/; revision=50994
Jérôme Gardou [Mon, 7 Mar 2011 18:45:11 +0000 (18:45 +0000)]
[NTOSKRNL]
- shrink cpu features output.
- Add reference for the detection of non SYSENTER aware but claiming so CPUs detection
svn path=/trunk/; revision=50993
Aleksey Bragin [Mon, 7 Mar 2011 13:51:46 +0000 (13:51 +0000)]
[NTOS/FSRTL]
- Remove unnecessary upcasing, thanks Pierre.
svn path=/trunk/; revision=50992
Jérôme Gardou [Mon, 7 Mar 2011 13:33:10 +0000 (13:33 +0000)]
[NTOSKRNL]
- Print supported CPU features.
- Simplify detection of non working but claimed SYSENTER support for intel processors
- Workaround a virtualbox "feature" : claim that SYSENTER isn't supported despite the fact that it is.
Fix hang on registration of mshtml.dll in 2nd stage when using Virtualbox.
svn path=/trunk/; revision=50991
Eric Kohl [Mon, 7 Mar 2011 12:01:17 +0000 (12:01 +0000)]
[SETUPAPI]
Implement CM_Query_Arbitrator_Free_Data[_Ex] and CM_Query_Arbitrator_Free_Size[_Ex].
svn path=/trunk/; revision=50990
Timo Kreuzer [Mon, 7 Mar 2011 10:00:27 +0000 (10:00 +0000)]
[WIN32K]
Use GreCreateBitmapEx instead of EngCreateBitmap in NtGdiSetDIBitsToDeviceInternal, so that the RLE hack works. Fix initialization of XLATEOBJ.
svn path=/trunk/; revision=50989
Timo Kreuzer [Mon, 7 Mar 2011 09:53:03 +0000 (09:53 +0000)]
[WIN32K]
Fix the RLE hack (partly)
svn path=/trunk/; revision=50988
James Tabor [Mon, 7 Mar 2011 07:24:43 +0000 (07:24 +0000)]
[GDI32]
- Remove the old SetDIBBits, it severed us well.... Hold on to the win32k call.
- Tested, Area.exe, wine gdi32 bitmaps test, AbiWord 2.8.6, OOo 2.4.3, SM 2.0.11 and ReactOS applications.
- Aimp 2.61.583 (FULL, pinted okay), CoolPlayer 219, winamp 0.98d and winamp 2.95 (not FUll). The rest have drawing issue with DIB. See bug 5886.
svn path=/trunk/; revision=50987
James Tabor [Mon, 7 Mar 2011 06:24:38 +0000 (06:24 +0000)]
[Win32k]
- Fix a crash in WidenPath, tested with Area.exe.
svn path=/trunk/; revision=50986
Aleksey Bragin [Sun, 6 Mar 2011 16:32:36 +0000 (16:32 +0000)]
[UNIATA]
- Rafal Harabien: Sync UniATA to 0.40a5. Changelog:
* Fixed bug with BSOD on newer SATA/AHCI Intel chips.
* Added support for different number of devices on different channls.
* Updated AHCI support code (not ready yet).
* All ReactOS specific changes have been left.
See issue #5976 for more details.
svn path=/trunk/; revision=50985
Eric Kohl [Sun, 6 Mar 2011 14:15:41 +0000 (14:15 +0000)]
Fix PNP_QueryArbitratorFreeData() and PNP_QueryArbitratorFreeSize() prototypes.
svn path=/trunk/; revision=50984
Pierre Schweitzer [Sun, 6 Mar 2011 13:28:11 +0000 (13:28 +0000)]
[KERNEL32]
Fixed implementation of both GetFileTime/SetFileTime
svn path=/trunk/; revision=50983
Aleksey Bragin [Sun, 6 Mar 2011 11:16:22 +0000 (11:16 +0000)]
- Fix a typo, thanks Herve!
svn path=/trunk/; revision=50982
Aleksey Bragin [Sun, 6 Mar 2011 11:00:17 +0000 (11:00 +0000)]
[NTOS/FSRTL]
- Implement parameters checking in FsRtlIsNameInExpressionPrivate.
- Add two shortcuts for common wildcard invocations to make the function faster.
- Second (main part of the function) is still under review.
svn path=/trunk/; revision=50981
Pierre Schweitzer [Sun, 6 Mar 2011 10:28:50 +0000 (10:28 +0000)]
[KERNEL32]
FlushFileBuffers:
- In spite of what MSDN pretends, it appears that FlushFileBuffers flushes console input buffer when it's called with a console handle. Then, do it here as well.
- Get rid of SetLastErrorByStatus here...
svn path=/trunk/; revision=50980
Pierre Schweitzer [Sun, 6 Mar 2011 10:20:32 +0000 (10:20 +0000)]
[KERNEL32]
Apply consistent formatting to FlushFileBuffers.
No code changes yet
svn path=/trunk/; revision=50979
Roel Messiant [Sun, 6 Mar 2011 00:37:10 +0000 (00:37 +0000)]
[HEAP]
- RtlpInsertUnCommittedPages: Don't rely on linked list data in an UCR Descriptor after destroying it.
No functionality change because the linked list data was still "as expected", but not something we want to rely on.
- RtlpCreateUnCommittedRange: Fix a typo that caused the head of UCR Segment list of the Heap to be treated as an UCR Segment header.
Side effects of the typo: When this list wasn't empty, the (fake) UCR Segment it described was grown to contain more UCR descriptors.
Due to the data involved, this always happened to be the initial Heap Segment, which contains the Heap Header.
Writing the new UCR descriptors caused the Heap Header and trailing Heap Entries to be partially corrupted.
svn path=/trunk/; revision=50978
Eric Kohl [Sat, 5 Mar 2011 18:37:39 +0000 (18:37 +0000)]
[SERVICES]
- Use one instead of two critical sections to synchronize service start and control actions.
- Fail, if an already running service is started again.
svn path=/trunk/; revision=50977
Dmitry Chapyshev [Sat, 5 Mar 2011 18:02:56 +0000 (18:02 +0000)]
- Update Ukraianian translation by Sakara Eugene
svn path=/trunk/; revision=50976
Eric Kohl [Sat, 5 Mar 2011 16:54:08 +0000 (16:54 +0000)]
[SETUPAPI]
Implement CM_Get_Device_Interface_List[_Ex]A/W and CM_Get_Device_Interface_List_Size[_Ex]A/W.
svn path=/trunk/; revision=50975
Jérôme Gardou [Sat, 5 Mar 2011 16:45:09 +0000 (16:45 +0000)]
[EXPLORER-NEW]
- Allow displaying seconds in tray upon registry setting
Patch by Edijs Kolesnikovics
svn path=/trunk/; revision=50974
Jérôme Gardou [Sat, 5 Mar 2011 16:23:30 +0000 (16:23 +0000)]
[OPENGL32]
- Naive try to fix bug 5057
svn path=/trunk/; revision=50973
Timo Kreuzer [Sat, 5 Mar 2011 12:18:28 +0000 (12:18 +0000)]
[WIN32K]
Unlock the font in PATH_ExtTextOut. Fixes a failed assertion, when running google earth.
svn path=/trunk/; revision=50972
Timo Kreuzer [Sat, 5 Mar 2011 12:17:23 +0000 (12:17 +0000)]
[WIN32K]
Silence a DPRINT
svn path=/trunk/; revision=50971
Timo Kreuzer [Sat, 5 Mar 2011 11:13:45 +0000 (11:13 +0000)]
[WIN32K]
add dumping of locked handles to missing places.
svn path=/trunk/; revision=50970
Timo Kreuzer [Sat, 5 Mar 2011 10:21:07 +0000 (10:21 +0000)]
[WIN32K]
Add A function to dump all locked handles and call it when an assertion about 0 locks fails.
svn path=/trunk/; revision=50969
Aleksey Bragin [Fri, 4 Mar 2011 18:18:05 +0000 (18:18 +0000)]
[USETUP]
- Fix a buffer overflow (overread) when adding a locale key to the registry. The history of this bug is funny:
1. Eric wrote the code, which sets a key of REG_SZ type, as 4 widechars plus terminating zero, but passes 8 as the bytesize of the buffer. It's not fully correct (a terminating zero is absent from the bytesize of the buffer, but MSDN doesn't specify if it should be added or not, and hardcoding "8" is not the best idea too) but not dramatic. That was revision 9596, 7 years ago.
2. Lentin notices something is not right in this code, and decides to "fix" it by multiplying that same hardcoded value by.... guess what? sizeof(PWCHAR)! That is, size of a pointer, which on an x86 would be 4 bytes. Massive out of bounds access obviously happens. That was revision 31642, 3 years ago.
3. Very soon Colin reshuffles and improves the code based on patch #2635, however the problem still goes unnoticed (r31655+).
See issue #5810 for more details.
svn path=/trunk/; revision=50968
Aleksey Bragin [Fri, 4 Mar 2011 16:57:56 +0000 (16:57 +0000)]
- Revert 47615. Please fix actual sysreg instead of adding inconsistency between 1st, 2nd and 3rd stages debugging connections. This should fix sysreg3's inability to do backtraces.
See issue #5811 for more details.
svn path=/trunk/; revision=50967
Jérôme Gardou [Fri, 4 Mar 2011 03:42:38 +0000 (03:42 +0000)]
[RTL]
- Fix compilation when NDEBUG is not defined
svn path=/trunk/; revision=50966
Timo Kreuzer [Thu, 3 Mar 2011 21:49:44 +0000 (21:49 +0000)]
[USER32_APITEST]
Add a cursor and an icon and use those instead of system cursor. Fixes tests on Windows.
svn path=/trunk/; revision=50965
Johannes Anderwald [Thu, 3 Mar 2011 21:22:47 +0000 (21:22 +0000)]
[SHELL32]
- Return the icon index, not the icon id
- Fixes bug 5742
svn path=/trunk/; revision=50964
Eric Kohl [Thu, 3 Mar 2011 19:53:26 +0000 (19:53 +0000)]
[SETUPAPI]
Implement CM_Register_Device_Interface[_Ex]A/W and CM_Unregister_Device_Interface[_Ex]A/W.
svn path=/trunk/; revision=50963
James Tabor [Thu, 3 Mar 2011 17:32:20 +0000 (17:32 +0000)]
[Win32k]
- Missed the clearing of the clip region for the window at the end of of its life. The mouse is looking for the window, doing so, scanning through all of them, even the ones that are at deaths door.
svn path=/trunk/; revision=50962
James Tabor [Thu, 3 Mar 2011 13:59:17 +0000 (13:59 +0000)]
[Win32k]
- Fix the select of the clip region for a window. Apologies to Rafal Harabien select works like select, also don't
assume the original author is always right.
svn path=/trunk/; revision=50961
Timo Kreuzer [Wed, 2 Mar 2011 23:02:12 +0000 (23:02 +0000)]
[WIN32K]
Acquire ownership of monitor region before deleting it.
svn path=/trunk/; revision=50960
Timo Kreuzer [Wed, 2 Mar 2011 22:33:14 +0000 (22:33 +0000)]
[WIN32K]
Revert part of r50941. First its architecturally unclean to lock a DC in a USER function, 2nd its a bug to keep the lock while sending a message.
svn path=/trunk/; revision=50959
Pierre Schweitzer [Wed, 2 Mar 2011 21:51:33 +0000 (21:51 +0000)]
[FASTFAT]
- Prevent code duplication by using vfatAttachFCBToFileObject() for volume opening, instead of rewritting the whole function.
- Properly check requested disposition when opening a volume.
This fixes bug #5839. Trying to exec \\.\C: in explorer run dialog now ends with an error, as it does on Windows.
svn path=/trunk/; revision=50958
Timo Kreuzer [Wed, 2 Mar 2011 13:33:19 +0000 (13:33 +0000)]
[SHELL32]
patch by Thomas Faber: fix a TRACE
svn path=/trunk/; revision=50957
Timo Kreuzer [Wed, 2 Mar 2011 13:23:13 +0000 (13:23 +0000)]
[USER32]
Patch by Thomas Faber:
When the Edit receives WM_KILLFOCUS, it will notify its parent (the ListView)
of losing focus, which in turn will send WM_CLOSE to destroy the edit control.
This will cause the edit to receive WM_DESTROY and free the EDITSTATE.
When control returns to the WM_KILLFOCUS handler, this would call
EDIT_UnlockBuffer on the now invalid EDITSTATE.
Fix this by checking the validity of the EDITSTATE before calling EDIT_UnlockBuffer.
Fixes explorer crash, when cancelling file renaming.
See issue #5895 for more details.
svn path=/trunk/; revision=50956
Timo Kreuzer [Wed, 2 Mar 2011 13:13:10 +0000 (13:13 +0000)]
[USER32]
Sync edit.c with wine head.
svn path=/trunk/; revision=50955
Aleksey Bragin [Wed, 2 Mar 2011 11:42:30 +0000 (11:42 +0000)]
[RTL/PATH]
- Update path.c code to Wine 1.3.14. Fixes a buffer overwrite happening in RtlDosSearchPath_U() when invoked by "shell32_winetest.exe shlexec".
- RtlDosPathNameToNtPathName_U remains unsynced.
- Author names added to the header of the file.
See issue #5964 for more details.
svn path=/trunk/; revision=50954
Timo Kreuzer [Wed, 2 Mar 2011 11:05:51 +0000 (11:05 +0000)]
[USER32]
Go back to use of SetWindowLongW instead of GetWindowLongPtrW for GWL_STYLE to reduce diff to wine code.
svn path=/trunk/; revision=50953
Timo Kreuzer [Wed, 2 Mar 2011 10:57:56 +0000 (10:57 +0000)]
[USER32]
Revert a previous change that shouldn't have been comitted yet.
svn path=/trunk/; revision=50952
Timo Kreuzer [Wed, 2 Mar 2011 10:55:07 +0000 (10:55 +0000)]
[FORMATTING]
user32/edit.c: Sync formatting changes from wine head, removes some unneccessary casts, no code actual change.
svn path=/trunk/; revision=50951
Jérôme Gardou [Wed, 2 Mar 2011 01:15:10 +0000 (01:15 +0000)]
[GDI32_APITESTS]
- Test behaviour of SetDIBits for 1bpp bitmaps.
- Add small test to GetPixel just to verify that SetDIBits doesn't say BS.
svn path=/trunk/; revision=50950
Jérôme Gardou [Wed, 2 Mar 2011 00:15:57 +0000 (00:15 +0000)]
[WIN32K]
- in 1bpp bitmaps, 0 means white. Take that into in SetDIBits
- fix a fixme in XLATEOBJ implementation
- remove useless field from ROS_DCINFO
Fixes fox audio player GUI :-) Enjoy!
svn path=/trunk/; revision=50949
Jérôme Gardou [Tue, 1 Mar 2011 21:45:45 +0000 (21:45 +0000)]
[WIN32K]
- only lock DC if asked to in NtGdiSetDIBits.
svn path=/trunk/; revision=50948
Jérôme Gardou [Tue, 1 Mar 2011 21:32:58 +0000 (21:32 +0000)]
[[GDI32_APITEST]
- actually make a test, with == instead of =, relevant bits sets, good test value, etc.
svn path=/trunk/; revision=50947
Jérôme Gardou [Tue, 1 Mar 2011 20:50:47 +0000 (20:50 +0000)]
[GDI32_APITEST]
- add a basic test for SetDIBits
svn path=/trunk/; revision=50946
Jérôme Gardou [Tue, 1 Mar 2011 14:44:53 +0000 (14:44 +0000)]
[WIN32K]
- Dismiss alpha channel when creating a solid brush.
Finally fixes VLC icons and numerous winetests.
svn path=/trunk/; revision=50945
Timo Kreuzer [Tue, 1 Mar 2011 13:27:19 +0000 (13:27 +0000)]
[WIN32K]
Silence some DPRINTS
svn path=/trunk/; revision=50944
Timo Kreuzer [Tue, 1 Mar 2011 12:05:39 +0000 (12:05 +0000)]
[USER32_APITEST]
Patch by Thomas Faber: some tests for GetMessage and PeekMessage
svn path=/trunk/; revision=50943
Timo Kreuzer [Tue, 1 Mar 2011 09:17:58 +0000 (09:17 +0000)]
[WIN32K]
Do raster operation on 4 bytes instead of only 3. Fixes ...
maybe noone has noticed yet ;-)
svn path=/trunk/; revision=50942
Jérôme Gardou [Tue, 1 Mar 2011 01:03:58 +0000 (01:03 +0000)]
[WIN32K]
- Raster operations in user mode are on higher bytes, whereas they are on lower bytes for drivers. Try to clarify this situation.
- Add sanity check about what was said previously.
- Implement masking in EngBitBlt
- Rewrite NtGdiMaskBlt accordingly
- Realize the palette when selecting it into a device DC.
- When applying raster operation, do so only on 24 bits, we don't support alpha channel in win32k
This fixes VLC pink icons, Timo's MaskBlt tests and probably a lot of other things.
[SHELL32]
- Use correct (?) raster operations for drawing sjortcuts.
Also note that now NtGdiMaskBlt locks the device contexts : this should avoid some race conditions, such as icons drawn on top of windows and the like.
Win32k sucks less.
So does reactos.
Dedicated to Timo. Sleep well, mate.
svn path=/trunk/; revision=50941
Jérôme Gardou [Mon, 28 Feb 2011 23:46:02 +0000 (23:46 +0000)]
[FORMATTING]
fix dibobj.c, to please pigglesworth
svn path=/trunk/; revision=50940
Jérôme Gardou [Mon, 28 Feb 2011 23:29:36 +0000 (23:29 +0000)]
[FORMATTING]
fix formatting. No code change
svn path=/trunk/; revision=50939
Timo Kreuzer [Mon, 28 Feb 2011 20:04:10 +0000 (20:04 +0000)]
[GDI32_APITEST]
Fix a bug
svn path=/trunk/; revision=50938
Timo Kreuzer [Mon, 28 Feb 2011 18:01:12 +0000 (18:01 +0000)]
[GDI32_APITEST]
More tests for MaskBlt
svn path=/trunk/; revision=50937
James Tabor [Mon, 28 Feb 2011 16:45:57 +0000 (16:45 +0000)]
[Win32k|User32]
- Use User32 GetWindowRgnBox, still passing both wine msg SetWindowRgn and win winregion tests, see bug 5959.
svn path=/trunk/; revision=50936
Kamil Hornicek [Mon, 28 Feb 2011 12:47:01 +0000 (12:47 +0000)]
[WIN32K]
Fix calculating of ScanLines and source point in NtGdiGetDIBitsInternal for top-down bitmaps to more closely mimic win xp behavior. (Timo - high five for your test app)
See issue #5524 for more details.
svn path=/trunk/; revision=50935
James Tabor [Mon, 28 Feb 2011 09:10:43 +0000 (09:10 +0000)]
[Win32k|User32]
- Use User32 GetWindowRgnBox, still passing both wine msg SetWindowRgn and win winregion tests, see bug 5959.
svn path=/trunk/; revision=50934
James Tabor [Mon, 28 Feb 2011 06:31:44 +0000 (06:31 +0000)]
[Win32k|User32]
- Clarify the meaning and the use of 0, 1 and 2 for user window regions, wine never did. Noticing patches not corresponding in correctness and understanding, leaving potential crashes in the DCE code, which depend on these types.
- Patch based on Rafal Harabien patch, fixes wine msg SetWindowRgn test, see also bug 5959.
svn path=/trunk/; revision=50933
Timo Kreuzer [Mon, 28 Feb 2011 00:48:19 +0000 (00:48 +0000)]
[WIN32K]
addendum to r50928: 24 and 32bpp BI_RGB bitmaps are BGR
svn path=/trunk/; revision=50932
Timo Kreuzer [Mon, 28 Feb 2011 00:19:32 +0000 (00:19 +0000)]
[GDI32]
Revert r50519 and r50519
svn path=/trunk/; revision=50931
Aleksey Bragin [Sun, 27 Feb 2011 23:07:04 +0000 (23:07 +0000)]
[SERVICES]
- Protect whole contents of ScmStartService() with a critical section instead of just a few parts of ScmStartUserModeService(). Seems to fix the comment #8 issue of bug #5924.
svn path=/trunk/; revision=50930
Timo Kreuzer [Sun, 27 Feb 2011 22:00:13 +0000 (22:00 +0000)]
[GDI32_APITEST]
More testcases for SelectObject and GetDIBits
svn path=/trunk/; revision=50929
Jérôme Gardou [Sun, 27 Feb 2011 21:45:43 +0000 (21:45 +0000)]
[WIN32K]
- remove duplicate prototype
- use RGB macro where possible
- we create BGR palette for RGB DIB sections, let's do the other way around
- simplify overcomplicated IntGetDIBColorTable
- Add a first implementation of IntRealizePalette
No, it's not the VLC icons bugfix
svn path=/trunk/; revision=50928
Aleksey Bragin [Sun, 27 Feb 2011 19:36:46 +0000 (19:36 +0000)]
[RTL/HEAP]
- A few comments, and a new structure definition (currently unused). Absolutely no changes to the actual code.
svn path=/trunk/; revision=50927
Eric Kohl [Sun, 27 Feb 2011 19:25:14 +0000 (19:25 +0000)]
[SERVICES]
Protect the service start and sending of control packages by critical sections. This way, services will be started one by one and control packages will also be sent one by one.
Please test if this fixes bug #5924.
svn path=/trunk/; revision=50926
Aleksey Bragin [Sun, 27 Feb 2011 19:09:45 +0000 (19:09 +0000)]
- Promote service start failures from TRACE to ERR.
See issue #5924 for more details.
svn path=/trunk/; revision=50925
Timo Kreuzer [Sun, 27 Feb 2011 19:03:12 +0000 (19:03 +0000)]
[NTOSKRNL]
Fix aborting of backtraces
svn path=/trunk/; revision=50924
Christoph von Wittich [Sun, 27 Feb 2011 18:49:27 +0000 (18:49 +0000)]
[imagehlp]
-partial winesync
svn path=/trunk/; revision=50923
Christoph von Wittich [Sun, 27 Feb 2011 18:30:50 +0000 (18:30 +0000)]
[imagehlp_winetest]
-add imagehlp_winetest
svn path=/trunk/; revision=50922
Timo Kreuzer [Sun, 27 Feb 2011 17:51:37 +0000 (17:51 +0000)]
[WIN32K]
- mark surface as not selected in DC_vSelectSurface when its released from a DC
NtGdiSelectBitmap:
- Don't allow selecting a bitmap into a dc that is already selected!
- Use DC_vSelectSurface instead of manually selecting
- set the DC size based on bitmap size
svn path=/trunk/; revision=50921
Timo Kreuzer [Sun, 27 Feb 2011 17:38:18 +0000 (17:38 +0000)]
[WIN32K]
- In NtGdiGetDIBitsInternal use a shared lock for the bitmaps and provide background colors when initializing the XLATEOBJ. This fixes mono bitmaps passed to GetDIBits. (no it does not fix pink icons in VLC)
- In BuildDIBPalette don't handle 15bpp, its not valid. and 16 bpp is 555, this is documented in MSDN.
svn path=/trunk/; revision=50920
Timo Kreuzer [Sun, 27 Feb 2011 17:31:54 +0000 (17:31 +0000)]
Fix build
svn path=/trunk/; revision=50919
Timo Kreuzer [Sun, 27 Feb 2011 17:20:02 +0000 (17:20 +0000)]
[GDI32]
In GetDIBits convert a BITMAPCOREHEADER to a BITMAPINFOHEADER before calling win32k, like done in other places. Convert it back after. This allows to simplify NtGdiGetDIBitsInternal (not done yet)
svn path=/trunk/; revision=50918
Timo Kreuzer [Sun, 27 Feb 2011 15:16:00 +0000 (15:16 +0000)]
[NTOSKRNL]
Fix a serious bug, where NtAllocateVirtualMemory could allocate memory user mode memory above MmHighestUserAddress up to MmSystemRangeStart - 1, which is a no-access area.
svn path=/trunk/; revision=50917
Eric Kohl [Sat, 26 Feb 2011 22:23:03 +0000 (22:23 +0000)]
[URLCACHE]
Do not initialize the URL-Cache for a system process.
Patch will be submitted to WINE.
See issue #5372 for more details.
svn path=/trunk/; revision=50916
Eric Kohl [Sat, 26 Feb 2011 21:40:17 +0000 (21:40 +0000)]
[SETUPAPI]
Rename functions according to the new naming scheme:
CaptureAndConvertAnsiArg --> pSetupCaptureAndConvertAnsiArg
CenterWindowRelativeToParent --> pSetupCenterWindowRelativeToParent
ConcatenatePaths --> pSetupConcatenatePaths
DuplicateString --> pSetupDuplicateString
EnablePrivilege --> pSetupEnablePrivilege
GetVersionInfoFromImage --> pSetupGetVersionInfoFromImage
IsUserAdmin --> pSetupIsUserAdmin
MultiByteToUnicode --> pSetupMultiByteToUnicode
MyGetFileTitle --> pSetupGetFileTitle
OpenAndMapForRead --> pSetupOpenAndMapForRead
RegistryDelnode --> pSetupRegistryDelnode
UnicodeToMultiByte --> pSetupUnicodeToMultiByte
UnmapAndCloseFile --> pSetupUnmapAndCloseFile
svn path=/trunk/; revision=50915
Hervé Poussineau [Sat, 26 Feb 2011 20:00:08 +0000 (20:00 +0000)]
[ntoskrnl] Fix compilation with _WINKD_=1
svn path=/trunk/; revision=50914
Pierre Schweitzer [Sat, 26 Feb 2011 17:18:21 +0000 (17:18 +0000)]
[KERNEL32]
Start unifying kernel32 Find* functions.
All calls end in same methods that are working only in unicode now.
Next step would be to unify stream & files using only one struct.
svn path=/trunk/; revision=50913
Aleksey Bragin [Sat, 26 Feb 2011 16:50:20 +0000 (16:50 +0000)]
[KERNEL32]
- Fix buffer overwrite in GetModuleFileName(). Spotted by DPH.
See issue #5964 for more details.
svn path=/trunk/; revision=50912
Amine Khaldi [Sat, 26 Feb 2011 14:27:09 +0000 (14:27 +0000)]
[ROSTESTS]
- Skip test_apm to prevent the oleaut_winetest:olepicture crash.
See issue #5000 for more details.
svn path=/trunk/; revision=50911
Aleksey Bragin [Sat, 26 Feb 2011 14:12:55 +0000 (14:12 +0000)]
[NTDLL/LDR]
- Don't try to free a pointer allocated on stack.
See issue #4751 for more details.
svn path=/trunk/; revision=50910
Pierre Schweitzer [Sat, 26 Feb 2011 13:49:00 +0000 (13:49 +0000)]
[USRMGR]
Fix build
Blame rbuild ~
svn path=/trunk/; revision=50909
Aleksey Bragin [Sat, 26 Feb 2011 13:31:58 +0000 (13:31 +0000)]
- Don't free an invalid handle. Suggested by Johannes. Test failure remains in the log, so it's easy to spot the function misbehaves.
- P.S. Not much of an issue if it's lost during the next tests sync, as it would be a clearly visible change.
See issue #5771 for more details.
svn path=/trunk/; revision=50908
Pierre Schweitzer [Sat, 26 Feb 2011 13:26:02 +0000 (13:26 +0000)]
[KERNEL32]
Remove unused .def file. We're using .pspec here
svn path=/trunk/; revision=50907
Pierre Schweitzer [Sat, 26 Feb 2011 13:12:36 +0000 (13:12 +0000)]
[USRMGR]
French translation by Jason Toscano <JasonGenie at gmail dot com>
Corrections/adjustements by me
See issue #5921 for more details.
svn path=/trunk/; revision=50906