Commit graph

44697 commits

Author SHA1 Message Date
Timo Kreuzer 6da719aa66 [NTOSKRNL]
Halfplement (win32 only) ProcessWow64Information case in NtQueryInformationProcess. Patch by Samuel Serapion.

See issue #5916 for more details.

svn path=/trunk/; revision=50831
2011-02-20 11:27:07 +00:00
Timo Kreuzer c5e43261f2 [CHARMAP]
Patch by Carlo Bramini (carlo bramix at libero dot it)
- Make the text copy field a richedit control.
- Use WM_CHAR to copy the characters
- Fix definition of MSFTEDIT_CLASS for the resource compiler

See issue #5275 for more details.

svn path=/trunk/; revision=50830
2011-02-20 10:55:48 +00:00
Eric Kohl f411e07b42 [SETUPAPI]
Implement CM_Get_Hardware_Profile_Info[_Ex]A/W.

svn path=/trunk/; revision=50829
2011-02-20 10:44:30 +00:00
Aleksey Bragin 37ab9f5320 [RTL/DPH]
- Fix a bug with node count in RtlpDphAddNewPool().
- Unprotect needed amount of memory in RtlpDphSetProtectionBeforeUse() instead of always assuming PAGE_SIZE.
- Fix an incorrect virtual block pointer calculation in RtlpPageHeapAllocate(). 
- Silence RtlpDphShouldAllocateInPageHeap() debug print.
- Add helpful debug prints (disabled by default).
- Some code cleanup for better readibility.
- Heap create, destroy and allocating a block from the heap work now.

svn path=/trunk/; revision=50828
2011-02-20 09:54:01 +00:00
Timo Kreuzer ebc9df1a25 [WIN32K]
NtGdiSelectBitmap. Don't exclusively lock the old bitmap. This could cause pool corruptions, when the share count reachted 0, the object was deleted and unlocked after that. Use InterlockedCompareExchange to check and exchange the new bitmaps dc. This is commented out, because it causes a lot of drawing problems. Do the referencing manually instead of calling DC_vSelectSurface. Use a shared reference instead of an exclusive lock for the new bitmap. add code for proper handling of DEFAULT_BITMAP, currently hacked due to restrictions in other parts of win32k. Fixes bug 5498 and probably a lot of other problems.

svn path=/trunk/; revision=50827
2011-02-19 23:44:36 +00:00
Timo Kreuzer 3e75942b10 [WIN32K]
NtGdiStretchDIBitsInternal: don't call NtGdiGetDCObject and NtGdiCreateCompatibleDC with a dc locked. These cases are not harmful, but generally Nt* and Gre* should never be called with an exclusive gdi lock held. Also don't return in failure case with the dc still locked.

svn path=/trunk/; revision=50826
2011-02-19 22:29:31 +00:00
Timo Kreuzer ebf22c9469 [WIN32K]
- add tracing of exclusive gdi locks
- add some asserts

svn path=/trunk/; revision=50825
2011-02-19 22:03:34 +00:00
Timo Kreuzer dc29559c25 [WIN32K]
- Add ros specific member cExclusiveLocks to THREADINFO to track number of acquired locks
- Add functions/macros to check lock count
- Move some definitions into gdidebug.h for global use
- Fix broken GdiDbgHTIntegrityCheck
- Add pre and post syscall hook functions (unused yet)

svn path=/trunk/; revision=50824
2011-02-19 21:56:43 +00:00
Timo Kreuzer ea5522e1d8 [NTOSKRNL]
Add support for debug pre/post syscall hooks, that can be registered from win32k. They only exist on DBG versions.

svn path=/trunk/; revision=50823
2011-02-19 21:50:11 +00:00
Amine Khaldi 7d2277a1ea [EVENTVWR]
- Fix handling of NULL lpComputerName.
- Handle lpData conversion to a wide string and make sure it's NULL terminated.
- Patch by Rafal Harabien, <rafalh1992 AT o2 DOT pl>
See issue #5926 for more details.

svn path=/trunk/; revision=50822
2011-02-19 21:24:47 +00:00
Sylvain Petreolle 3eb47ac17d [NTOSKRNL]
Fix typo.

svn path=/trunk/; revision=50821
2011-02-19 18:43:54 +00:00
Eric Kohl d0515abbea [SETUPAPI]
- Implement CM_Get_Device_Interface_AliasA, CM_Get_Device_Interface_AliasW and 
CM_Get_Device_Interface_Alias_ExW.
- Add a stub for CM_Get_Device_Interface_Alias_ExA.
- Implement the obsolete functions CM_Query_Remove_SubTree[_Ex] and CM_Remove_SubTree[_Ex].

svn path=/trunk/; revision=50820
2011-02-19 18:28:13 +00:00
Johannes Anderwald 634966f644 - Revert 49767 on Pierre's request, which reverted this:
- Added real implementation of SetLastError() (instead of forwarding to NTDLL)
- Implemented BaseSetLastNTError()
- Renamed Basep8BitStringToCachedUnicodeString() to Basep8BitStringToStaticUnicodeString() and sightly changed its implementation
- Fixed implementation of LoadLibraryExA() & DisableThreadLibraryCalls() using those changes
This is matching w2k3 implementation. This is of course a WIP.

svn path=/trunk/; revision=50819
2011-02-19 17:00:08 +00:00
Giannis Adamopoulos 4638bf943c [win32k]
- Fix combobox to show the drop down window correctly when the parent window is topmost
See issue #5705 for more details.

svn path=/trunk/; revision=50818
2011-02-19 16:09:59 +00:00
Pierre Schweitzer 2352ea6662 [NTOSKRNL]
- No need to use ULONG when dealing with strings, USHORT is enough. This makes MSVC warnings silent.
- Fix a really nasty bug in FsRtlIsHpfsDbcsLegal()

svn path=/trunk/; revision=50817
2011-02-19 13:58:55 +00:00
Giannis Adamopoulos 5d2a7901f7 [win32k]
- Revert r50121 and r50154

svn path=/trunk/; revision=50816
2011-02-19 12:22:52 +00:00
Amine Khaldi 6d4a648fe6 Fix a typo.
svn path=/trunk/; revision=50815
2011-02-19 10:20:27 +00:00
Giannis Adamopoulos dc663b0be2 - Remove a documented definition from undocuser.h
svn path=/trunk/; revision=50814
2011-02-18 20:26:19 +00:00
Giannis Adamopoulos c7b9d6f0df [user32/win32k]
- Implement MessageBeep and SetLogonNotifyWindow

[winlogon]
- Implement receiving notifications from win32k to play sounds of MessageBeep

svn path=/trunk/; revision=50813
2011-02-18 20:16:43 +00:00
Giannis Adamopoulos bc92849c38 [win32k]
- Fix a bug that caused problems when the user clicks in the caption of a window to activate it

svn path=/trunk/; revision=50807
2011-02-18 16:28:52 +00:00
Timo Kreuzer dda9fb952c [NTOSKRNL]
Alex messed up.
Fix by Patch by Rafal Harabien, <rafalh1992 AT o2 DOT pl>

svn path=/trunk/; revision=50806
2011-02-18 15:59:32 +00:00
Timo Kreuzer 5e45b1eb7a [WIN32K]
Fix a bug in GDIOBJ_LockObj, that would cause a deadlock, when an object was deleted while another thread was waiting to acquire the handle lock.

svn path=/trunk/; revision=50804
2011-02-18 15:08:50 +00:00
Timo Kreuzer 269bbf1328 [CSRSRV]
Dereference all threads, when a process is terminated. Fixes ghost processes in taskmgr! Patch by Rafal Harabien, <rafalh1992 AT o2 DOT pl>

See issue #1567 for more details.

svn path=/trunk/; revision=50803
2011-02-18 15:01:00 +00:00
Aleksey Bragin da4ba71aee [RTL/DPH]
- Zero-initialize VM allocation base.
- Don't reserve VM, just commit it right away. This was a premature optimisation. Instead, retry committing a smaller amount of memory if committing all memory fails.

svn path=/trunk/; revision=50800
2011-02-18 14:45:13 +00:00
Timo Kreuzer b58bdd0a99 [WIN32K]
compile gdidebug code as a seperate file and give it a seperate header

svn path=/trunk/; revision=50799
2011-02-18 14:35:44 +00:00
Giannis Adamopoulos a33a1f21db [explorer]
- Fix some visual problems in the toolbar

svn path=/trunk/; revision=50798
2011-02-18 14:28:58 +00:00
Giannis Adamopoulos 20ec135208 [win32k]
- Check if CombinedClip is NULL before accesing it

Should fix a crash with Download Master

svn path=/trunk/; revision=50797
2011-02-18 14:26:11 +00:00
Aleksey Bragin 6e305f0615 [RTL/AVL]
- Fix an inverted condition which resulted in incorrect assignment of NewElement var in RtlInsertElementGenericTableAvl().

svn path=/trunk/; revision=50784
2011-02-18 09:48:13 +00:00
Aleksey Bragin 708dbb878c [RTL/DPH]
- Various fixes: set NodeToAllocate member of the heap root so it could be used lated in AVL allocation routine, initialize the AvailableAllocation list.
- Comment out biased pointer checks for now, and fix biasing the AdjacencyEntry pointer (spotted by rafalh).

svn path=/trunk/; revision=50773
2011-02-17 22:29:49 +00:00
Aleksey Bragin 02ad384a40 [NTOS/MM]
- An accompanying change to r50768. Fixes boot.

svn path=/trunk/; revision=50770
2011-02-17 21:58:08 +00:00
Aleksey Bragin 85e4bbe4f5 [RTL/AVL]
- Remove unnecessary field from TABLE_ENTRY_HEADER. Spotted by (the only in ReactOS?) user of RTL AVL tables - page heap.

svn path=/trunk/; revision=50768
2011-02-17 16:52:06 +00:00
Aleksey Bragin f333f561b4 - Fix build.
svn path=/trunk/; revision=50767
2011-02-17 15:31:19 +00:00
Aleksey Bragin 9d4ba43f0b [RTL/DPH]
- Implement allocating from the page heap along with all necessary helper routines. Some minor things are left though, so it doesn't work yet.
- Change some defines names to more meaningful/readable.

svn path=/trunk/; revision=50766
2011-02-17 14:46:30 +00:00
Timo Kreuzer bc8d008551 [WIN32K]
In IntEngGradientFillRect, take the translate value into account, that we need when drawing happens on an intermediate surface. Patch by Thomas Faber (ThFabba at gmx dot de)

See issue #5805 for more details.

svn path=/trunk/; revision=50764
2011-02-16 23:29:50 +00:00
Aleksey Bragin 8e49b79826 [RTL/DPH]
- Connect debug page heap routines in the debug heap implementation, so they are going to be actually called now.
- Implement delayed free queue initialization and freeing.

svn path=/trunk/; revision=50734
2011-02-16 13:09:18 +00:00
Aleksey Bragin ef2d957db7 [RTL/DPH]
- Use better names for validation information flags based on application verifier messages.
- Implement a simple RtlpDphReportCorruptedBlock routine which just prints the problem description for now, without any additional info.

svn path=/trunk/; revision=50730
2011-02-16 11:49:51 +00:00
Aleksey Bragin d0e56f53d1 [RTL/DPH]
- Implement other support locking/unlocking, handle-related routines.
- Fix RtlpDphFreeVm definition.
- Node lists related improvements: Add a function for removing a node from a free list, implement coalescing free nodes into an available list.
- Implement a non-implemented case in RtlpDphAllocateNode when there is a need to allocate more virtual memory, and fix incorrect size calculation too.
- Implement a function for validating the page heap block.
- Implement RtlpPageHeapDestroy. Now we have two exported APIs ready: heap create and heap destroy.

svn path=/trunk/; revision=50721
2011-02-15 22:02:28 +00:00
Aleksey Bragin a92739091b [RTL/DPH]
- Implement more support functions: coalescing a node into the list of available nodes, finding a best fitting node for a given size, growing available virtual memory amount.

svn path=/trunk/; revision=50698
2011-02-15 11:53:16 +00:00
Timo Kreuzer 0be0719111 [WIN32K]
- Remove gexloTrivial, it was never used
- Remove EXLATEOBJ_vInitTrivial and move the code into EXLATEOBJ_vInitialize
- Properly set XO_TABLE
- Set ppalDstDc in EXLATEOBJ_vInitXlateFromDCs

svn path=/trunk/; revision=50695
2011-02-14 17:23:58 +00:00
Timo Kreuzer c1f1c6ee41 [WIN32K]
Fix initialization of XLATEOBJ, when source and dest format are equal. Patch by Thomas Faber (thfabba at gmx de)

See issue #5828 for more details.

svn path=/trunk/; revision=50694
2011-02-14 16:04:01 +00:00
Aleksey Bragin f571cf32bd [RTL/DPH]
- Implement list manipulation routines: pool list, virtual list, unused list.
- Implement node removal from an available list.

svn path=/trunk/; revision=50686
2011-02-13 21:39:26 +00:00
Pierre Schweitzer 2ac5519cc7 [NTOSKRNL]
Improved * WC handling for both FsRtlIsNameInExpression & FsRtlIsDbcsInExpression

This fixes all failing tests in kmtest

svn path=/trunk/; revision=50685
2011-02-13 20:23:03 +00:00
Aleksey Bragin b607fcee93 [RTL/DPH]
- Implement adding a new pool and allocating a new node.
- Add a bunch of stubs.

svn path=/trunk/; revision=50683
2011-02-13 16:03:58 +00:00
Eric Kohl bdb4931234 [CFGMGR32]
- Add missing functions.
- Add forwarders to functions that are exported by setupapi.dll.
- Mark deprecated functions.

svn path=/trunk/; revision=50682
2011-02-13 10:02:31 +00:00
Pierre Schweitzer 506c3a2989 [KMTEST]
Some more tests to FsRtlIsNameInExpression & FsRtlIsDbcsInExpression. Some are failing.

svn path=/trunk/; revision=50681
2011-02-13 09:43:01 +00:00
Pierre Schweitzer d4e44f51ea [NTOSKRNL]
For both FsRtlIsNameInExpression & FsRtlIsDbcsInExpression:
- Get back "useless checks" (tests show they weren't that useless)
- Prevent code redundancy

This fixes 4 failing kmtest tests added in r50679

svn path=/trunk/; revision=50680
2011-02-13 08:43:48 +00:00
Pierre Schweitzer 05ec891399 [KMTEST]
Some more tests to FsRtlIsNameInExpression & FsRtlIsDbcsInExpression. Some are failing.

svn path=/trunk/; revision=50679
2011-02-13 08:19:16 +00:00
Eric Kohl 856e0d9b91 [SETUPAPI]
Add resource descriptor function stubs.

svn path=/trunk/; revision=50678
2011-02-12 23:59:12 +00:00
Pierre Schweitzer 90ece09e2c Remove some artifact from ARM build.
Would it fix build?

svn path=/trunk/; revision=50677
2011-02-12 20:32:49 +00:00
Timo Kreuzer f1debffcda [WIN32K]
Handle BITMAPV4HEADER and BITMAPV5HEADER, when creating a DIB palette. Detect PAL_RGB like done with PAL_BGR in PALETTE_AllocPalette (optimization).
Fixes pink icons.

svn path=/trunk/; revision=50676
2011-02-12 20:30:09 +00:00