Commit graph

59371 commits

Author SHA1 Message Date
Jérôme Gardou 954bd930d0 [USER32]
- Use CreateDIBitmap with the CDM_CREATEDIB undocumented flag to create alpha bitmaps. This permits to create display compatible yet 32bpp DDBs.
CORE-8695 #comment PLease retest, should be OK now.

svn path=/trunk/; revision=64967
2014-10-24 17:31:50 +00:00
Jérôme Gardou a09a102a08 [WIN32K]
- First implementation of CreateDIBitmap with the undocumented CBM_CREATEDIB flag.
CORE-8695

svn path=/trunk/; revision=64966
2014-10-24 17:31:46 +00:00
Jérôme Gardou de410717f3 [WIN32K]
- Differenciate 16bpp 565 from 16bpp 555 in alphablending code.
 - Fix RGB vs BGR mismatch
CORE-8695

svn path=/trunk/; revision=64965
2014-10-24 17:31:37 +00:00
Thomas Faber 2c1be02837 [WIN32K]
- Move call to UserRegisterClass out of SEH. All parameters are kernel pointers, so exceptions here are critical kernel bugs that shouldn't be hidden.
CORE-8702 #resolve

svn path=/trunk/; revision=64964
2014-10-24 17:28:21 +00:00
Amine Khaldi f54eb842d6 [ADVAPI32]
* Reorder AllocateLocallyUniqueId() to reduce difference to Wine.
CORE-8540

svn path=/trunk/; revision=64963
2014-10-24 16:57:17 +00:00
Amine Khaldi 7ff75bbc92 [ADVAPI32]
* Move some functions from token.c to security.c.
CORE-8540

svn path=/trunk/; revision=64962
2014-10-24 16:52:57 +00:00
Amine Khaldi 598366a6cc [ADVAPI32]
* Move PrivilegeCheck() to security.c.
CORE-8540

svn path=/trunk/; revision=64959
2014-10-24 15:49:52 +00:00
Amine Khaldi 4423aa8bb2 [ADVAPI32]
* Reorder functions and definitions to reduce difference to the Wine source file.
CORE-8540

svn path=/trunk/; revision=64958
2014-10-24 15:40:29 +00:00
Amine Khaldi 51bb98a094 [ADVAPI32]
* Move sid.c to the wine folder as a starting point for security.c.
CORE-8540

svn path=/trunk/; revision=64957
2014-10-24 14:01:16 +00:00
Amine Khaldi 348778c75f [ADVAPI32]
* Move cred.c to the wine folder.
CORE-8540

svn path=/trunk/; revision=64956
2014-10-24 13:37:01 +00:00
Jérôme Gardou 6990f9e443 [WIN32K]
- Keep track of the PDEV which we create a compatible bitmap for.
 - Allow attaching a DDB to a DC if they are from the same PDEV
Fixes various problems after mode switching, including the infamous "Where is desk.cpl palette bitmap"

svn path=/trunk/; revision=64955
2014-10-24 11:35:07 +00:00
Jérôme Gardou 97fcf61354 [WIN32K]
- Do not dereference hook objects when it's not needed.
 - Avoid use after free.
CORE-8698 #resolve

svn path=/trunk/; revision=64954
2014-10-24 11:34:55 +00:00
Jérôme Gardou 7540c2ea36 [WIN32K]
- Add a proper Alpha blending implementation for 16bpp surfaces
CORE-8695

svn path=/trunk/; revision=64953
2014-10-24 11:34:45 +00:00
Thomas Faber 2b44442ffa [NTOS:IO]
- Serialize device enumeration requests
CORE-8697 #resolve

svn path=/trunk/; revision=64952
2014-10-24 10:03:42 +00:00
Thomas Faber fcae57435c [NTOS:IO]
- Introduce IopDriverLoadResource to protect against concurrent driver loading
CORE-8696 #resolve

svn path=/trunk/; revision=64951
2014-10-24 10:02:14 +00:00
Thomas Faber 2c91c440f1 [NTOS:IO]
- Don't delete the device node for root enumerated device objects on failure. It's pointless, since IopEnumerateDevice will just recreate it, and more importantly it causes a use-after-free because IopFreeDeviceNode does not unset the DeviceNode member of the device object extension, so IopEnumerateDevice will try to access the freed node
- Set the device object's DeviceNode pointer to NULL in IopFreeDeviceNode
- Use consistent pool tagging for device nodes
CORE-8671 #resolve

svn path=/trunk/; revision=64950
2014-10-24 09:39:15 +00:00
Thomas Faber 274363e9df [USER32]
- Zero-initialize result in SendMessageTimeout
CORE-8699 #resolve

svn path=/trunk/; revision=64949
2014-10-24 09:26:03 +00:00
Thomas Faber 487818ab87 [USER32_APITEST]
- Add a test for SendMessageTimeout failure case
- Remove a pointless (and broken) memset (Coverity)
CORE-8699

svn path=/trunk/; revision=64948
2014-10-24 09:16:04 +00:00
Timo Kreuzer 02995bf1a1 [NTOSKRNL]
Do not try to dereference Irp->UserIosb if it is NULL, to avoid unnecessary exceptions (inside SEH).

svn path=/trunk/; revision=64947
2014-10-24 07:16:44 +00:00
Thomas Faber 08701eea3f [NTOS:IO]
- Normalize, er.. simplify IopNormalizeImagePath a bit and use pool tagging

svn path=/trunk/; revision=64946
2014-10-23 22:05:56 +00:00
Timo Kreuzer 3b3996b399 [FREELDR]
Move the BIOS call buffer to physical address 0x4000, making another page available at the top, moving the margin down to 0x9E000. Should fix boot with machines that have a large EBDA.
CORE-8692 #comment please retest.

svn path=/trunk/; revision=64945
2014-10-23 21:52:39 +00:00
Jérôme Gardou 9bc147ffd5 [WIN32K]
- Fix hook leaks.
User object manager creates object with 2 (two, deux, zwei, dos) reference counts.

svn path=/trunk/; revision=64942
2014-10-23 20:08:03 +00:00
Jérôme Gardou 3ef4731492 [WIN32K]
- Properly free classes small icon handles
 - Do not use LR_SHARED when copying them from the large icon. There's no reason for them to outlive the class.
Should fix remaining failures in user32:class that I introduced.

svn path=/trunk/; revision=64939
2014-10-23 19:41:52 +00:00
Jérôme Gardou 25c228cd3f [WIN32K/USER32]
- Simplify an overcomplicated way to get buffer size from win32k
 - Do not spaghettize between string length and buffer size.
 - Properly use GetModuleFileName.

svn path=/trunk/; revision=64938
2014-10-23 19:41:42 +00:00
Amine Khaldi a8e3dcc9e1 [ADVAPI32]
* Introduce a wine folder to group the Wine synced source files.
* Use the crypt folder as a starting point. More will follow.
CORE-8540

svn path=/trunk/; revision=64937
2014-10-23 18:58:35 +00:00
Amine Khaldi 73e6ff1519 [PCIX]
* PciIdPrintfAppend is a vararg too.

svn path=/trunk/; revision=64936
2014-10-23 18:51:12 +00:00
Amine Khaldi a0a95141dd [PCIX]
* PciIdPrintf is a vararg.

svn path=/trunk/; revision=64935
2014-10-23 18:42:39 +00:00
Eric Kohl 903f5b3e03 [NET]
Implement the first part of the NET USER command.

svn path=/trunk/; revision=64934
2014-10-23 18:36:11 +00:00
Amine Khaldi 26272f6095 [COMPBATT]
* Arch, don't return NTSTATUS instead of PCOMPBATT_BATTERY_DATA!

svn path=/trunk/; revision=64933
2014-10-23 18:33:21 +00:00
Amine Khaldi 36609d44e0 [DSOUND]
* ProjectVector is used in commented out code.

svn path=/trunk/; revision=64932
2014-10-23 18:07:43 +00:00
Thomas Faber 863c3c8c19 [NTOS:FORMATTING]
- Try to fix indentation in iomgr/driver.c. Whitespace changes only

svn path=/trunk/; revision=64931
2014-10-23 17:59:16 +00:00
Amine Khaldi 5892b26e03 [WINSPOOL.DRV]
* We're not using any debugging routines here.

svn path=/trunk/; revision=64930
2014-10-23 17:55:42 +00:00
Jérôme Gardou 532e8139c5 [USER32]
- Fix wrong size check.
Spotted by Thomas

svn path=/trunk/; revision=64926
2014-10-23 15:40:13 +00:00
Thomas Faber d617e9abfc [NTOS:IO]
- Simplify how IopLoadUnloadDriver is called by making the function queue a work item instead of its caller

svn path=/trunk/; revision=64925
2014-10-23 14:37:51 +00:00
Amine Khaldi cfb9b0f028 [USER32]
* Merge r64866 from the shell branch which had:

* Fix wrong array length passed to GetClassNameW. CID 716222
* Replace other instances of explicit array length to GetWindowTextW with _countof(x).
Based on a patch by Christoph von Wittich.

svn path=/trunk/; revision=64924
2014-10-23 12:24:07 +00:00
Hermès Bélusca-Maïto 19b3162442 [NTVDM]: Addendum to revision 64917: remove unnecessary casts.
svn path=/trunk/; revision=64923
2014-10-23 12:21:46 +00:00
Jérôme Gardou 8cbba79468 [WIN32SS]
- In an incredibly daring move, enable the long awaited new cursors & icons implementation, featuring:
   - Alpha channeled cursors
   - Animated cursors (only the first frame is displayed now)
   - Less leaks (tm)
   - Tests that pass(tm)
   - Copying icons and cursors from DLL resources, for beautifuler ReactOS, your turn gigaherz ;-)
   - A lot of other things which I am very proud of.
CORE-7575 #resolve

svn path=/trunk/; revision=64921
2014-10-23 11:46:06 +00:00
Jérôme Gardou 946d03c45b [WIN32K]
- Use shared icon handles when copying the small class icon from the larger one.
CORE-7575

svn path=/trunk/; revision=64920
2014-10-23 11:46:01 +00:00
Jérôme Gardou f20e2e7a8f [USER32]
- Implement CopyImage(LR_SHARED) case.
CORE-7575

svn path=/trunk/; revision=64919
2014-10-23 11:45:55 +00:00
Jérôme Gardou 796aebbf35 [USER32]
- Cursoricon objects are allocated on the user heap, not the desktop heap.
CORE-7575

svn path=/trunk/; revision=64918
2014-10-23 11:45:50 +00:00
Aleksandar Andrejevic f991665f09 [FAST486][NTVDM]
Arch, I/O port numbers should always be stored in USHORT variables!


svn path=/trunk/; revision=64917
2014-10-23 11:44:07 +00:00
Jérôme Gardou 03b386d0e0 [USER32_APITEST]
- Add a test showing that CopyImage accepts LR_SHARED flag.
CORE-7575

svn path=/trunk/; revision=64916
2014-10-23 11:19:21 +00:00
Jérôme Gardou f0e276168d [WIN32K]
- Call IntDestroyCurIconObject instead of explicitly destroying the handle.
CORE-7575

svn path=/trunk/; revision=64915
2014-10-23 09:52:57 +00:00
Jérôme Gardou 6e51ca263b [WIN32K]
- Reference cursor and icon objects when copying a class from one heap to another.
CORE-7575

svn path=/trunk/; revision=64914
2014-10-23 09:32:46 +00:00
Jérôme Gardou 78c8971f65 [USER32]
- Return the right value in CopyImage when copying cursors/icons
CORE-7575

svn path=/trunk/; revision=64913
2014-10-23 09:32:43 +00:00
Jérôme Gardou 54592b1afb [WIN32K]
- Remove the cursor from the process cache when its handle is deleted, not after.
 - Do not return an invalid handle in NtUserSetCursor.
CORE-7575

svn path=/trunk/; revision=64912
2014-10-23 09:32:39 +00:00
Jérôme Gardou 797a6346f2 [USER32]
- Fix LookupIconIdFromDirectoryEx, returning 0 when no matching entry is found.
 - Fix error handling when opening a cursor file.
 - Various code beautification here and there
CORE-7575

svn path=/trunk/; revision=64911
2014-10-23 09:32:21 +00:00
Timo Kreuzer 8dc7d09ca1 [CRT/OLDNAMES]
Fix ARM build, patch by Yuntian Zhang with minor adjustment by me.
CORE-8666 #resolve #comment Committed in r64910, thanks!

svn path=/trunk/; revision=64910
2014-10-23 09:22:45 +00:00
Timo Kreuzer 70bd834afe [CRT]
Do not raise an exception in _invalid_parameter, which is only done in later MSVCRTs. Wine uses a symbolic constant (_MSVCR_VER) to handle this and other things and compiles their CRT code multiple times. As an alternative we could use a global version variable to avoid recompiling, once we implement other CRT dlls.
CORE-8670 #resolve

svn path=/trunk/; revision=64909
2014-10-23 09:05:32 +00:00
Kamil Hornicek 0f21d941ce [I8042PRT]
- check the right buffer's length
[WIN32K]
- simplify IntKeyboardUpdateLeds a bit and mind previous mode
- fixes keyboard indicators
CORE-8547

svn path=/trunk/; revision=64908
2014-10-22 20:05:32 +00:00