Commit graph

38316 commits

Author SHA1 Message Date
Stefan Ginsberg 7aa73a6110 - strmini.h: Include windef.h so CDECL gets defined for msvc version of DEFINE_GUIDEX in ks.h
- Fix misc msvc issues in paint, setup, mmsys and mmebuddy
- Simplify the way kernel32 is built, reverting the "test" from 14241

svn path=/trunk/; revision=42362
2009-08-03 13:46:37 +00:00
Cameron Gutman 5e1ea71af7 - Revert r42358 due to what seems to be issues handling cleanup IRPs
svn path=/trunk/; revision=42360
2009-08-03 07:07:21 +00:00
Cameron Gutman 268d0a868c - Fix a typo
svn path=/trunk/; revision=42359
2009-08-03 06:57:21 +00:00
Cameron Gutman aee54b26cf - Check if the handle is valid before closing it
- Remove (unused) TdiCloseDevice
 - Don't reference the Connection/Address File object twice (it is already referenced in TdiOpenDevice)

svn path=/trunk/; revision=42358
2009-08-03 03:41:34 +00:00
Timo Kreuzer 7d6218e65b More gdi xlate tests.
svn path=/trunk/; revision=42357
2009-08-03 02:27:08 +00:00
Cameron Gutman 3ced893fd0 - Keep waiting for a reply if we get one that is not ours or invalid
- Make sure the packet we got is from our target otherwise discard it

svn path=/trunk/; revision=42356
2009-08-03 02:15:17 +00:00
Cameron Gutman b85fb3bd9f - Don't hold the spin lock when calling the request completion handler
svn path=/trunk/; revision=42355
2009-08-03 00:23:55 +00:00
Cameron Gutman e975dfead9 - Copy the datagram data to all matching receive requests instead of just the first one we find
- Fix (completely broken) datagram truncation

svn path=/trunk/; revision=42354
2009-08-02 23:17:39 +00:00
Timo Kreuzer 341886a1c1 asm version of DIB_32BPP_ColorFill:
- Add frame pointer
- Get rid of algin_draw, 32bpp surfaces must be DWORD aligned
- Optimize the loop
- Add comments

svn path=/trunk/; revision=42353
2009-08-02 22:31:29 +00:00
Dmitry Gorbachev 8876d8092b Remove r42305 hack, preserve racial purity of KiSystemStartupReal.
svn path=/trunk/; revision=42352
2009-08-02 21:27:26 +00:00
Dmitry Gorbachev ba74c030d2 Add a new hack.
svn path=/trunk/; revision=42351
2009-08-02 21:27:01 +00:00
Dmitry Gorbachev 5da0923cf0 Love Nystrom (=lovenystrom=at=hotmail=dot=com=), bug #4727
- Change some 'suspiciously looking' code in bootvid.dll.
- BOOTCHAR_HEIGHT: a new macro to use instead of a plain integer.
- CHAR_GEN_UPSIDE_DOWN: define it for upside down font data.

svn path=/trunk/; revision=42350
2009-08-02 21:26:05 +00:00
Stefan Ginsberg f78dc5c1e5 - Wooops, fix dxg and dxapi build after 42346.
svn path=/trunk/; revision=42349
2009-08-02 21:04:13 +00:00
Stefan Ginsberg 5fcfaf2e11 - probe.h: "NTOSKRNL unfortunately doesn't export RtlRaiseStatus!" -- no, but it does export ExRaiseStatus, so use it instead from win32k instead of "W32kRaiseStatus". Also use ExRaiseAccessViolation instead of RtlRaiseStatus(STATUS_ACCESS_VIOLATION) to save some space.
- ddraw.h: Don't check if WINNT is defined, our winnt.h defines _WINNT_H. Also fix the way CO_E_NOTINITIALIZED is defined.
- Define NT_BUILD_ENVIRONMENT in win32k so the define in ddraw.h doesn't conflict with winerror.h. Not sure if this is correct, but our headers are a mess.
- Add a hack to disable C4276 (caused by napi.h) until a more proper fix is devised.
- Win32K now fully compiles in MSVC.

svn path=/trunk/; revision=42346
2009-08-02 20:35:19 +00:00
Jeffrey Morlan ee2e05e18d ReadFile: When reading from a console handle with processed input mode enabled, simulate EOF if the first character read is ^Z (Bug 4745)
svn path=/trunk/; revision=42345
2009-08-02 18:56:05 +00:00
Johannes Anderwald 2d8cd02bb5 [PORTCLS]
- Fix lots of COM object leaks
- IPortWaveCyclic & IPortTopology drivers now shutdown cleanly
- Implement freeing of all registered physical connections and release of the registered power management interface
[SYSAUDIO]
- Close handles to audio filters


svn path=/trunk/; revision=42344
2009-08-02 18:20:39 +00:00
Stefan Ginsberg 93109445ba - npapi.h: Correct definitions of function pointer prototypes.
- ntifs.h & cmdata.h : Don't use array size of 0. Fixes C4200.
- wdm.h: Correct definition of 64-bit SLIST_HEADER. Add explicit casts to avoid /W4 warnings in RtlEnlargedUnsignedDivide.
- winddk.h: Add MSVC intrinsic __readfsbyte for KeGetCurrentProcessorNumber. Misc fixes.
- Fix various msvc issues in cmd, setupapi, usetup, win32csr, winlogon, msafd, ws2_32 and ext2lib, most notably:
  - cmd & doskey: Don't use fishy gcc extension to allocate variable-sized arrays from the stack. Use the heap instead.
- Disable warning C4733 for mingw_main too (was only done for mingw_wmain previously).
- advapi32: Pass the correct handles to TRACE -- spotted by MSVC.
- Set the specified register in ecx in MSVC versions of Ke386Wrmsr and Ke386Rdmsr instead of reading from/writing to a random MSR. Yay /W4.

svn path=/trunk/; revision=42342
2009-08-02 17:38:27 +00:00
Gregor Schneider 3283ffdef8 Cleanup in win32k/dib:
- Replace old headers with new ones, programmers added according to svn blame info
- Apply consistent 2pt indentation because of the many indentation levels in this code; getting rid of a tab and 2/3/4pt mixture 
- Rename universal StretchBlt file to reflect content

svn path=/trunk/; revision=42339
2009-08-02 15:49:17 +00:00
Jeffrey Morlan 54817d5b14 Fix many incompatibilities in DIR switch parsing, including those noted in Bug 4744.
svn path=/trunk/; revision=42338
2009-08-02 15:16:03 +00:00
Johannes Anderwald 3871f9be2f - Implement KsStreamPointerDelete, KsStreamPointerScheduleTimeout, KsStreamPointerCancelTimeout, KsPinGetFirstCloneStreamPointer, KsStreamPointerGetNextClone
- Partly Implement IKsPin_DispatchDeviceIoControl, IKsPin_Close

svn path=/trunk/; revision=42337
2009-08-02 14:40:15 +00:00
Johannes Anderwald aae0987d13 [KS]
- Acquire Spinlock at dpc level
- Release cancel spinlock at correct level
[PORTCLS]
- Check if current partially processed irp has been cancelled and complete it in that case
- Silence debug flood

svn path=/trunk/; revision=42335
2009-08-02 12:38:08 +00:00
Johannes Anderwald 9061b8ee40 [KS]
- Implement KsQueryInformationFile
- Properly implement KsStreamIo
- Fix a desastreous bug in KsRemoveIrpFromCancelableQueue
- Implement KsMoveIrpsOnCancelableQueue
[PORTCLS]
- Switch portcls to use the provided ks irp queue function instead of the homegrown IRP_MAPPING routines. Irp queueing is now faster and consumes less memory
- Return an allocated silence buffer when there are no mappings available
- HACK-Remove: Don't pre-complete any audio buffers now anymore. If you experience audio stuttering, let me know
[SYSAUDIO, PORTCLS, KMIXER]
- FastRead / FastWrite routines must store their return values in the status block as KsStreamIo now checks these

svn path=/trunk/; revision=42334
2009-08-02 11:40:38 +00:00
Hervé Poussineau 47f744578f [rbuild] Copy files to livecd output directory only if they have changed
svn path=/trunk/; revision=42330
2009-08-02 08:06:17 +00:00
Hervé Poussineau 85161ab551 [rbuild] Fix wrapping of long lines in generated makefile
svn path=/trunk/; revision=42329
2009-08-02 08:06:04 +00:00
Timo Kreuzer b779385488 Add regtests/gdi
Tests for gdi, written in winetest style so it can be easily plugged into sysreg. Currently containing some xlate tests. More to come.

svn path=/trunk/; revision=42328
2009-08-02 00:26:51 +00:00
Stefan Ginsberg 478b2c3e4e - Properly define dummy unions/structs for MSVC too.
svn path=/trunk/; revision=42327
2009-08-01 19:10:16 +00:00
Gregor Schneider 1221835ea5 FloodFill:
- Remove unneeded casts when setting the initial flood start, add debug print for flood region location (silenced)
- Improve memory guards, free memory on error

svn path=/trunk/; revision=42324
2009-08-01 17:58:28 +00:00
Gregor Schneider c152d5480d FloodFill:
-Get rid of global variables for flood control
-Translate the provided color to the surface, not the other way around (improves speed)
-Rename the function to reflect the functionality
-Add comments on how to implement support for hatched brushes and non-standard surfaces
-Thanks to tkreuzer for feedback

svn path=/trunk/; revision=42323
2009-08-01 14:39:40 +00:00
Gregor Schneider f8ffccf7de GetWindowLongPtr returns a LONG_PTR, so be it
svn path=/trunk/; revision=42322
2009-08-01 11:32:48 +00:00
Gregor Schneider 7163d097d0 - Handle WM_SETREDRAW messages differently in the DefWndProc, ported from current Wine
- Fixes mIRC riched component regression, no more riched20 reverts for releases needed
See issue #4098 for more details.

svn path=/trunk/; revision=42321
2009-08-01 11:26:40 +00:00
Gregor Schneider 3002ba1042 Fix a typo in EngMovePointer
svn path=/trunk/; revision=42318
2009-07-31 19:55:16 +00:00
Stefan Ginsberg e28ef8646f - ...mised this one
svn path=/trunk/; revision=42317
2009-07-31 18:40:19 +00:00
Gregor Schneider 04ae85ed31 Remove leftover debug print
svn path=/trunk/; revision=42316
2009-07-31 18:32:33 +00:00
Stefan Ginsberg f037eef079 - Fix gdi32 build due to missing ";"
svn path=/trunk/; revision=42315
2009-07-31 18:30:37 +00:00
Stefan Ginsberg a8889958e3 - delayimp.h: Use FORCEINLINE instead of static __inline__
- winbase.h: Make winbase.h usable by MSVC
- winuser.h: Add missing const specifiers to GetTabbedTextExtentA/W, TabbedTextOutA/W, ToAscii/Ex and ToUnicode/Ex
- Make gdi32, user32, beepmidi and csrss drmk build in msvc
- Fix most msvc issues in win32k -- a few remain
- Make ntoskrnl compile with /W1 again

svn path=/trunk/; revision=42314
2009-07-31 18:21:24 +00:00
Gregor Schneider d5ec42ec61 - Use system wide caret width and height if one of those parameters is zero
- Ref: http://msdn.microsoft.com/en-us/library/ms648399(VS.85).aspx
- Allows to show the caret in riched20a components (Wordpad f.e.)
See issue #1559 for more details.

svn path=/trunk/; revision=42313
2009-07-31 17:11:21 +00:00
Dmitry Gorbachev a180d74579 Fix _M_X86 -> _M_IX86.
svn path=/trunk/; revision=42312
2009-07-31 16:32:22 +00:00
Gregor Schneider 3e5f2f10f3 - Implement Floodfill: iterative four neighbors version
- Details for this algorithm are described in the comments
- Nice with the paint clone since the bucket fill tool works now

svn path=/trunk/; revision=42311
2009-07-31 15:41:09 +00:00
Johannes Anderwald ace530421a - Partly Implement KsRegisterFilterWithNoKSPins
- Implement _KsEdit

svn path=/trunk/; revision=42310
2009-07-31 10:10:26 +00:00
Gregor Schneider 3f5c25c304 Don't try to delete non existing XLateObjects (NULL brushes return those for example)
svn path=/trunk/; revision=42309
2009-07-30 21:12:06 +00:00
Dmitry Gorbachev cdd031231c - Fix a bug in GPF handler, do not hang in it.
- Initialize Esp field in TSS.

svn path=/trunk/; revision=42306
2009-07-30 17:54:21 +00:00
Dmitry Gorbachev a640545b8b Add a hack in KiSystemStartupReal function until Better Times.
svn path=/trunk/; revision=42305
2009-07-30 17:54:01 +00:00
Johannes Anderwald cd03260db2 - Partly Implement KsCacheMedium
- Implement KsHandleSizedListQuery
- Remove KsGetChildCreateParameter, it is not exported in NT 5.1 KS

svn path=/trunk/; revision=42303
2009-07-30 16:51:03 +00:00
Johannes Anderwald 974e0eca7e - Implement KsAcquireResetValue, KsCompletePendingRequest, KsAllocateExtraData
svn path=/trunk/; revision=42302
2009-07-30 14:20:13 +00:00
Johannes Anderwald f8107d7dc9 - Implement KsFreeEventList, KsDisableEvent
svn path=/trunk/; revision=42298
2009-07-30 09:43:54 +00:00
Johannes Anderwald 9042c879ed - Implement KsAddEvent, KsDefaultAddEventHandler, KsPinAttachAndGate, KsPinAttachOrGate, KsPinGetAndGate
svn path=/trunk/; revision=42296
2009-07-30 07:31:41 +00:00
Johannes Anderwald 3aba36805e - Implement KsDeviceSetBusData, KsDeviceGetBusData, KsGetPinFromIrp
svn path=/trunk/; revision=42295
2009-07-30 06:29:24 +00:00
Johannes Anderwald 2b1eb860d8 - Add RtlConvertLongToLuid, RtlConvertUlongToLuid
svn path=/trunk/; revision=42294
2009-07-30 06:26:28 +00:00
James Tabor f4eed04d0a - Fix Class ids.
svn path=/trunk/; revision=42293
2009-07-30 01:37:02 +00:00
Gregor Schneider 2f0c6dbb98 user32:
- Restructure and simplify CreateCursorFromData
- Call CreateIconFromResourceEx properly allowing it to create colored icons (although it doesn't care about that yet)
- Fix some comment typos
win32k:
- Don't just copy the pointer to an XLATEOBJ, copy instead. The caller will free it, EngSetPointerShape will do so too (causing either double-frees or memory write errors)

svn path=/trunk/; revision=42291
2009-07-29 18:28:11 +00:00