Commit graph

51043 commits

Author SHA1 Message Date
Amine Khaldi 8db03a796d [WIN32SS]
* Implement Ctrl+C support on MessageBox. Patch by Guido Pola (prodito {at} live [dot] com).
See issue #5281 for more details.

svn path=/trunk/; revision=56475
2012-05-02 11:03:51 +00:00
Timo Kreuzer 7be39c2aba [WIN32K]
Modify DIB_MapPaletteColors, first allocating a palette without initializing the colors, then setting up the colors. This wway we don't need to allocate an intermediate buffer.

svn path=/trunk/; revision=56474
2012-05-02 10:09:05 +00:00
Timo Kreuzer e90543ae55 [WIN32K]
- Implement GreCreatePaletteInternal and make NtGdiCreatePaletteInternal safe regarding user mode memory access.
- Allow allocating an indexed palette without initializing the colors
- Implement PALETTE_AllocPalWithHandle
- remove pointless Self member in PALETTE structure
- cleanup palette.h a bit

svn path=/trunk/; revision=56473
2012-05-02 09:46:07 +00:00
Timo Kreuzer b90f764c11 [CMD]
Fix a typo

svn path=/trunk/; revision=56472
2012-05-01 21:03:06 +00:00
Timo Kreuzer 9f40ffd806 [CMD]
- Add a newline to the output of the echo command
- Remove debug stuff

svn path=/trunk/; revision=56471
2012-05-01 21:00:16 +00:00
Thomas Faber 04406cf0e4 [WINE]
- Import isinf and isnan implementations from libwine_port and adjust port.h and config.h to support them
- Remove isinf/isnan hacks from jscript and wined3d build files
- Add missing port.h include to jscript/array.c (sent and applied upstream)
See issue #7027 for more details.

svn path=/trunk/; revision=56470
2012-05-01 17:20:47 +00:00
Thomas Faber 4c2fd89c46 [FBTUSB]
- Shut up warnings
- Fix whitespace issues

svn path=/trunk/; revision=56469
2012-05-01 16:53:02 +00:00
Thomas Faber ae1974497f [NTDLL_APITEST]
- Add initial tests for RtlDosSearchPath_U & RtlDosSearchPath_Ustr
- Work around Wine ok() silliness
- Fix 64 bit warnings

svn path=/trunk/; revision=56468
2012-05-01 16:19:17 +00:00
Thomas Faber 785d0653ee [CRT:INTRIN_X86]
- Use correct check for x64 architecture
- Fix Interlocked*64 return types
- Add _InterlockedXor64

svn path=/trunk/; revision=56467
2012-05-01 15:45:49 +00:00
Timo Kreuzer 05e66ae9a9 [WIN32K]
Fix a typo

svn path=/trunk/; revision=56466
2012-05-01 14:59:24 +00:00
Timo Kreuzer 725ac201be [WIN32K]
Try to fix RLE regression

svn path=/trunk/; revision=56465
2012-05-01 14:57:23 +00:00
Timo Kreuzer 1ba4501780 [WIN32K]
- Fix RLE hack (thanks to Mephisto)
- Remove obsolete flags

svn path=/trunk/; revision=56464
2012-05-01 13:57:18 +00:00
Timo Kreuzer cd86c8e1e2 [WIN32K]
Fix gcc uninitialized variable warning

svn path=/trunk/; revision=56463
2012-05-01 12:59:37 +00:00
Timo Kreuzer 9c5d9d1b46 [WIN32K]
Use user mode mem for bitmaps larger than 4K to save pool memory.

svn path=/trunk/; revision=56462
2012-05-01 12:47:21 +00:00
Timo Kreuzer aedd14f915 Fix a mistake
svn path=/trunk/; revision=56461
2012-05-01 12:15:15 +00:00
Timo Kreuzer 46c9a27251 [WIN32K]
Rewrite SURFACE_AllocSurface(), which now does the part of the former SURFACE_bSetBitmapBits() as well. This is to allocate the bits for a bitmap directly with the SURFACE object in one allocation. Also don't use kernel mode sections anymore by default, but paged pool memory.

svn path=/trunk/; revision=56460
2012-05-01 12:14:10 +00:00
Timo Kreuzer 2ba64e0951 [WIN32K]
Use GDIOBJ_vSetObjectOwner instead of GreSetObjectOwner on an exclusively locked object.

svn path=/trunk/; revision=56459
2012-05-01 10:33:36 +00:00
Timo Kreuzer c99f588f86 [WIN32K]
Don't calll GDIOBJ_vDereferenceObject from GDIOBJ_vUnlockObject, instead manually decrement the reference count. This allows us to ASSERT that the former function is never called with an exclusive lock held.

svn path=/trunk/; revision=56458
2012-05-01 09:29:41 +00:00
Timo Kreuzer bb3050e722 [WIN32K]
Improve formatting

svn path=/trunk/; revision=56457
2012-05-01 09:26:45 +00:00
Thomas Faber 2ab0757b32 [KMTESTS]
- Fix 64 bit warnings
- Do not force assembly syntax on GCC in ExInterlocked

svn path=/trunk/; revision=56456
2012-05-01 09:13:19 +00:00
Thomas Faber 67d9295a2d [RTL/NDK/DDK/XDK]
- RtlDosSearchPath_Ustr returns NTSTATUS, not ULONG
- Fix some ULONG vs SIZE_T issues
- RtlEqualMemory returns LOGICAL, not ULONG

svn path=/trunk/; revision=56455
2012-05-01 07:16:02 +00:00
Timo Kreuzer 0d6f712756 [OLDNAMES]
Fix compilation with amd64 MSVC

See issue #7030 for more details.

svn path=/trunk/; revision=56454
2012-04-30 20:26:46 +00:00
Sylvain Petreolle 4755834726 [FUSION]
Never ever trust the wine file layout.
wine can load a dll when there is no file using builtins, while normal windows dont.
This fixes fusion beeing installed in the wrong places.
Loading the 2nd and 3rd copy of fusion fails atm.

svn path=/trunk/; revision=56453
2012-04-30 19:14:43 +00:00
Eric Kohl a087b26b8c [LSASRV]
Implement LsarCreateAccount.

svn path=/trunk/; revision=56452
2012-04-29 22:09:35 +00:00
Eric Kohl a450c4e88d [ADVAPI32]
Formatting, no code changes.

svn path=/trunk/; revision=56451
2012-04-29 21:39:32 +00:00
Amine Khaldi 534c5372c2 [CMAKE]
* Remove the toolchain libs since they are no longer needed, now that we have the updated RosBE.

svn path=/trunk/; revision=56450
2012-04-29 20:22:26 +00:00
Amine Khaldi e6dccdd756 [CRT/OLDNAMES]
* Treat the oldnames lib as an import lib.

svn path=/trunk/; revision=56449
2012-04-29 20:04:52 +00:00
Timo Kreuzer 8b9f5c66ac [CMAKE]
Autogenerate oldnames for MSVC as well.
Currently on gcc builds we use a special def file syntax and use dlltool to create the lib, while on MSVC builds we use an asm file with aliases.

svn path=/trunk/; revision=56448
2012-04-29 19:38:50 +00:00
Timo Kreuzer 70a9c0e9c3 [CMAKE]
- seperate generation of importlibs from spec2def (generate_import_lib function)

svn path=/trunk/; revision=56447
2012-04-29 19:04:02 +00:00
Timo Kreuzer 00e4acd162 [LSASRV]
Fix another uninitialized variable bug.

svn path=/trunk/; revision=56446
2012-04-29 12:18:19 +00:00
Timo Kreuzer b2d10e8ee4 [LSASRV]
Fix return value of LsarQueryAccountDomain

svn path=/trunk/; revision=56445
2012-04-29 12:16:34 +00:00
Timo Kreuzer df4294e89c [LSASRV]
Initialize an uninitialized variable in AttributeSize. Fixes crashing advapi32_winetest lsa

svn path=/trunk/; revision=56443
2012-04-29 10:51:28 +00:00
Timo Kreuzer 7de47192fe [PSEH]
Fix a serious bug in PSEH that could lead to stack corruption and was causing CSRSS to crash, when large amounts of text were output on the console.
Background: PSEH used __builtin_alloca to allocate an SEH registration frame on the stack on demand, ie only for the first try level. But there are some nasty things with __builtin_alloca: First it DOES NOT - as one might think - free the allocated memory, once the allocation "goes out of scope", like with local variables, but only on function exit. Therefore it cannot normally be used inside a loop. The trick that PSEH used to "fix" this problem, was to save the stack pointer and reset it back at the end. This is quite problematic, since the rest of the code might assume that the stack pointer is still where it was left off after the allocation. The other thing is that __builtin_alloca() can allocate the memory whenever it likes to. It can allocate everything on function entry or not allocate anything at all, when other stack variables that went out of scope have left enough space to be reused. In csrss it now happened that the allocation was done before the stack pointer was saved, so the memory could not be freed by restoring the old stack pointer value. That lead to slowly eating up the stack since the code was inside a loop.
The allocation is now replaced with a variable sized array. The variable stays in scope until the _SEH2_END and will be automaticall cleaned up by the compiler. This also makes saving and restoring the stack pointer obsolete.
Reliability++

svn path=/trunk/; revision=56442
2012-04-28 20:00:09 +00:00
Art Yerkes b621664add [NTOSKRNL]
Remove PAGEOPs and use the argument to pass relevant information where needed,
including generally a section page table entry or a PFN_NUMBER.

In its place, the code looks for an MM_WAIT_ENTRY in the appropriate place and
waits, returning STATUS_MM_RESTART_OPERATION.  Rather than copying the pagein
and CoW operations in the PAGEOP contention case, we just punt back and restart
the operation, resulting in simpler code.

svn path=/trunk/; revision=56441
2012-04-28 02:56:31 +00:00
Timo Kreuzer 4d93b7e8d5 [WIN32K]
When a DC has the default palette selected, use the color value from PALETTERGB() directly instead of looking it up in the dc palette (just as the code was before). Fixes skipped bitmap winetests

svn path=/trunk/; revision=56440
2012-04-27 17:18:30 +00:00
Timo Kreuzer d926eda7ce [WIN32K]
- In NtGdiSetPixel, return the real RGB value, which is the target format color translated back to RGB, not the desired RGB value. Fixes a few bitmap winetest.
- Handle a too large index in PALETTE_ulGetRGBColorFromIndex

svn path=/trunk/; revision=56439
2012-04-27 16:46:12 +00:00
Thomas Faber e5491506f1 [RTL]
- Do not null terminate buffer before initializing its length in RtlDosSearchPath_Ustr. Use unicode string functions made for this purpose instead.
See issue #7010 for more details.

svn path=/trunk/; revision=56438
2012-04-27 11:04:09 +00:00
Timo Kreuzer dfa925989c [WIN32K]
In NtGdiGetPixel check if the requested pixel is inside the boundaries of the surface, and return CLR_INVALID if not.

svn path=/trunk/; revision=56437
2012-04-27 10:12:26 +00:00
Timo Kreuzer e33dcea4d4 [WIN32K]
Fix initialization of XLATEOBJ in NtGdiGetPixel. Fixes GetPixel regressions.

svn path=/trunk/; revision=56436
2012-04-27 09:31:24 +00:00
Thomas Faber ea9cf8c55d [KMTEST]
- Fix GCC build

svn path=/trunk/; revision=56435
2012-04-27 08:50:57 +00:00
Thomas Faber 0515cd1d2e [KMTESTS/RTL]
- Add a small RtlException test, mainly to check that a stack overflow really throws STATUS_STACK_OVERFLOW, not STATUS_ACCESS_VIOLATION.

svn path=/trunk/; revision=56434
2012-04-27 08:36:58 +00:00
Timo Kreuzer 348bef46b7 [WIN32K]
- add missing  DBG_DECREASE_LOCK_COUNT() when deleting an object that was exclusively locked. Fixes strange hang in comctl32_winetest.
The question is: why does changing a variable, which is never checked cause such trouble?
- Don't pass the DC's clip object to IntEngCopyBits, when querying a pixel
- make acExclusiveLockCount[] 0x20 bytes long, just to be really sure, that (x & 0x1F) does never overflow it.

svn path=/trunk/; revision=56433
2012-04-26 21:48:06 +00:00
Thomas Faber 46a246e79b [WINED3D]
- Do not rely on undefined behavior to get values easily accessible as constants.
- Quick build fix. Will be sent to Wine, possibly modified.

svn path=/trunk/; revision=56432
2012-04-26 17:20:53 +00:00
Thomas Faber 3c49ba735f [CMAKE]
- Enable MSVC build for Wine DirectX libraries, which mostly work just fine.

svn path=/trunk/; revision=56431
2012-04-26 16:51:27 +00:00
Timo Kreuzer 196349d550 [WIN32K]
Fix palette index wraparound when initializing a DIB palette with DIB_PAL_COLORS. Fixes gdi32_winetest::palette

svn path=/trunk/; revision=56430
2012-04-26 16:32:01 +00:00
Timo Kreuzer e43f7b0dfa [WIN32K]
- Implement TranslateCOLORREF, based on IntHandleSpecialColorType, but now returning both the translated color and the resulting RGB color, correctly handling DIBINDEX, which will use the given value without translation.
- Rewrite NtGdiSetPixel using IntPatBlt
- Rewrite NtGdiGetPixel  using IntEngCopyBits
- Fix EXLATEOBJ_iXlateTable to return 0, when the palette index is too big, instead of wrapping around
- Remove old debugcode

svn path=/trunk/; revision=56429
2012-04-26 16:19:22 +00:00
Timo Kreuzer eb00489bf8 [WIN32K]
Fix NtGdiPatBlt: ROPs with a source are not allowed, the background ROP is simply ignored.

svn path=/trunk/; revision=56428
2012-04-26 09:42:46 +00:00
Timo Kreuzer 416711ec61 [WIN32K]
Pass EBRUSHOBJ to IntPatBlt instead of the BRUSH. This way we can use the DC's eboFill, instead of initializing a new EBRUSHOBJ.

svn path=/trunk/; revision=56427
2012-04-26 09:30:15 +00:00
Thomas Faber 9a9ec7bb7c [RTL]
- Accept NULL Buffer/Size in RtlGetFullPathName_Ustr
- Fix NULL dereference in RtlGetFullPathName_UstrEx if no StaticString was given
- Various other corrections to path functions. 17 test failures fixed overall.

svn path=/trunk/; revision=56426
2012-04-25 22:21:00 +00:00
Timo Kreuzer c1dd858adc [WIN32K]
Make sure a bitmap is compatible with the dc before selecting it.

svn path=/trunk/; revision=56425
2012-04-25 19:25:48 +00:00