Commit graph

44898 commits

Author SHA1 Message Date
Timo Kreuzer 4ed72ce5b7 [WIN32K]
Fix the RLE hack (partly)

svn path=/trunk/; revision=50988
2011-03-07 09:53:03 +00:00
James Tabor b84b85e485 [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
2011-03-07 07:24:43 +00:00
James Tabor d53444e50b [Win32k]
- Fix a crash in WidenPath, tested with Area.exe.

svn path=/trunk/; revision=50986
2011-03-07 06:24:38 +00:00
Aleksey Bragin a393a04761 [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
2011-03-06 16:32:36 +00:00
Eric Kohl f7af2d5aad Fix PNP_QueryArbitratorFreeData() and PNP_QueryArbitratorFreeSize() prototypes.
svn path=/trunk/; revision=50984
2011-03-06 14:15:41 +00:00
Pierre Schweitzer a815fa86d2 [KERNEL32]
Fixed implementation of both GetFileTime/SetFileTime

svn path=/trunk/; revision=50983
2011-03-06 13:28:11 +00:00
Aleksey Bragin fd989b27e9 - Fix a typo, thanks Herve!
svn path=/trunk/; revision=50982
2011-03-06 11:16:22 +00:00
Aleksey Bragin e996625659 [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
2011-03-06 11:00:17 +00:00
Pierre Schweitzer 91bdfab1bd [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
2011-03-06 10:28:50 +00:00
Pierre Schweitzer 5696898543 [KERNEL32]
Apply consistent formatting to FlushFileBuffers.
No code changes yet

svn path=/trunk/; revision=50979
2011-03-06 10:20:32 +00:00
Roel Messiant 6b1af86bde [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
2011-03-06 00:37:10 +00:00
Eric Kohl 7b3c204407 [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
2011-03-05 18:37:39 +00:00
Dmitry Chapyshev d529634650 - Update Ukraianian translation by Sakara Eugene
svn path=/trunk/; revision=50976
2011-03-05 18:02:56 +00:00
Eric Kohl 55f58f967c [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
2011-03-05 16:54:08 +00:00
Jérôme Gardou 545fca44dc [EXPLORER-NEW]
- Allow displaying seconds in tray upon registry setting
Patch by Edijs Kolesnikovics

svn path=/trunk/; revision=50974
2011-03-05 16:45:09 +00:00
Jérôme Gardou 43f10841e0 [OPENGL32]
- Naive try to fix bug 5057

svn path=/trunk/; revision=50973
2011-03-05 16:23:30 +00:00
Timo Kreuzer 31ebce8a90 [WIN32K]
Unlock the font in PATH_ExtTextOut. Fixes a failed assertion, when running google earth.

svn path=/trunk/; revision=50972
2011-03-05 12:18:28 +00:00
Timo Kreuzer a2d0ce8261 [WIN32K]
Silence a DPRINT

svn path=/trunk/; revision=50971
2011-03-05 12:17:23 +00:00
Timo Kreuzer 9aa651bf4e [WIN32K]
add dumping of locked handles to missing places.

svn path=/trunk/; revision=50970
2011-03-05 11:13:45 +00:00
Timo Kreuzer a528924f3b [WIN32K]
Add A function to dump all locked handles and call it when an assertion about 0 locks fails.

svn path=/trunk/; revision=50969
2011-03-05 10:21:07 +00:00
Aleksey Bragin 85f0fb63f3 [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
2011-03-04 18:18:05 +00:00
Aleksey Bragin 2bf17fadd1 - 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
2011-03-04 16:57:56 +00:00
Jérôme Gardou ab803f82ce [RTL]
- Fix compilation when NDEBUG is not defined

svn path=/trunk/; revision=50966
2011-03-04 03:42:38 +00:00
Timo Kreuzer 54010b7e9e [USER32_APITEST]
Add a cursor and an icon and use those instead of system cursor. Fixes tests on Windows.

svn path=/trunk/; revision=50965
2011-03-03 21:49:44 +00:00
Johannes Anderwald aa66728228 [SHELL32]
- Return the icon index, not the icon id
- Fixes bug 5742

svn path=/trunk/; revision=50964
2011-03-03 21:22:47 +00:00
Eric Kohl 303a449b35 [SETUPAPI]
Implement CM_Register_Device_Interface[_Ex]A/W and CM_Unregister_Device_Interface[_Ex]A/W.

svn path=/trunk/; revision=50963
2011-03-03 19:53:26 +00:00
James Tabor 3bec896bc6 [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
2011-03-03 17:32:20 +00:00
James Tabor 1fd7d93b5d [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
2011-03-03 13:59:17 +00:00
Timo Kreuzer dba4ecb162 [WIN32K]
Acquire ownership of monitor region before deleting it.

svn path=/trunk/; revision=50960
2011-03-02 23:02:12 +00:00
Timo Kreuzer 7110c88cc0 [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
2011-03-02 22:33:14 +00:00
Pierre Schweitzer 8de09facc2 [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
2011-03-02 21:51:33 +00:00
Timo Kreuzer 2edb1c468c [SHELL32]
patch by Thomas Faber: fix a TRACE

svn path=/trunk/; revision=50957
2011-03-02 13:33:19 +00:00
Timo Kreuzer 3d476667b6 [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
2011-03-02 13:23:13 +00:00
Timo Kreuzer e12dbcd77d [USER32]
Sync edit.c with wine head.

svn path=/trunk/; revision=50955
2011-03-02 13:13:10 +00:00
Aleksey Bragin 97d2212a19 [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
2011-03-02 11:42:30 +00:00
Timo Kreuzer 92654a7e4e [USER32]
Go back to use of SetWindowLongW instead of GetWindowLongPtrW for GWL_STYLE to reduce diff to wine code.

svn path=/trunk/; revision=50953
2011-03-02 11:05:51 +00:00
Timo Kreuzer 8b1f0d1966 [USER32]
Revert a previous change that shouldn't have been comitted yet.

svn path=/trunk/; revision=50952
2011-03-02 10:57:56 +00:00
Timo Kreuzer e5134f6b7b [FORMATTING]
user32/edit.c: Sync formatting changes from wine head, removes some unneccessary casts, no code actual change.

svn path=/trunk/; revision=50951
2011-03-02 10:55:07 +00:00
Jérôme Gardou 8be61c1a29 [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
2011-03-02 01:15:10 +00:00
Jérôme Gardou 5e5532d3ef [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
2011-03-02 00:15:57 +00:00
Jérôme Gardou c77754b87d [WIN32K]
- only lock DC if asked to in NtGdiSetDIBits.

svn path=/trunk/; revision=50948
2011-03-01 21:45:45 +00:00
Jérôme Gardou d5954abbf2 [[GDI32_APITEST]
- actually make a test, with == instead of =, relevant bits sets, good test value, etc.

svn path=/trunk/; revision=50947
2011-03-01 21:32:58 +00:00
Jérôme Gardou a5115608c9 [GDI32_APITEST]
- add a basic test for SetDIBits

svn path=/trunk/; revision=50946
2011-03-01 20:50:47 +00:00
Jérôme Gardou 1a7f618d3b [WIN32K]
- Dismiss alpha channel when creating a solid brush.
Finally fixes VLC icons and numerous winetests.

svn path=/trunk/; revision=50945
2011-03-01 14:44:53 +00:00
Timo Kreuzer 788c6760f7 [WIN32K]
Silence some DPRINTS

svn path=/trunk/; revision=50944
2011-03-01 13:27:19 +00:00
Timo Kreuzer a53926e3bf [USER32_APITEST]
Patch by Thomas Faber: some tests for GetMessage and PeekMessage

svn path=/trunk/; revision=50943
2011-03-01 12:05:39 +00:00
Timo Kreuzer dedaab13ab [WIN32K]
Do raster operation on 4 bytes instead of only 3. Fixes ...
maybe noone has noticed yet ;-)

svn path=/trunk/; revision=50942
2011-03-01 09:17:58 +00:00
Jérôme Gardou 1ea8829ec1 [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
2011-03-01 01:03:58 +00:00
Jérôme Gardou 56cfac043d [FORMATTING]
fix dibobj.c, to please pigglesworth

svn path=/trunk/; revision=50940
2011-02-28 23:46:02 +00:00
Jérôme Gardou 5896730829 [FORMATTING]
fix formatting. No code change

svn path=/trunk/; revision=50939
2011-02-28 23:29:36 +00:00