Commit graph

38291 commits

Author SHA1 Message Date
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
Johannes Anderwald 76ec995125 - Start Implementing IKsPin interface
- Increment PinInstanceCount when a pin has succcessfully been created
- Implement KsPinAcquireProcessingMutex, KsPinGetConnectedPinDeviceObject, KsPinGetConnectedFileObject, KsPinGetConnectedPinInterface, KsPinGetNextSiblingPin, KsPinGetParentFilter, KsPinRegisterFrameReturnCallback, KsPinRegisterHandshakeCallback, KsPinRegisterIrpCompletionCallback, KsPinRegisterPowerCallbacks, KsPinReleaseProcessingMutex
- Initialize pin dispatch table
- Add create items for allocator, clock, node create requests
- AVStream clients should now be able to instantiated pins, streaming not yet supported

svn path=/trunk/; revision=42283
2009-07-29 09:48:36 +00:00
Johannes Anderwald c0e19ca77b - Add KsGetNextSibling, KsFreeObjectBag
svn path=/trunk/; revision=42282
2009-07-29 09:33:40 +00:00
Stefan Ginsberg 43f03aef8a - Fix 41969 -- the wrong flag got set, creating a broken, unusable debug object. Please make sure you know basic C before trying some clever optimization. Debuggers should now work again...
svn path=/trunk/; revision=42280
2009-07-28 21:48:49 +00:00
Johannes Anderwald 3bf37964b7 - Implement KsAcquireControl, KsReleaseControl
- Add create item for creation of pins and topology nodes
- Implement pin creation handler

svn path=/trunk/; revision=42279
2009-07-28 19:32:22 +00:00
Johannes Anderwald 52e5cc0ba2 - Copy Filter descriptor for each instantiated filter
- Implement KsFilterAddTopologyConnections, KsFilterCreatePinFactory

svn path=/trunk/; revision=42278
2009-07-28 18:38:13 +00:00
Johannes Anderwald 5372462044 - Implement KsFilterAcquireProcessingMutex, KsFilterReleaseProcessingMutex, KsFilterGetChildPinCount, KsFilterRegisterPowerCallbacks, KsGetFilterFromIrp
svn path=/trunk/; revision=42277
2009-07-28 17:01:36 +00:00
Johannes Anderwald fc288c23fc - Add KsPinGetParentFilter prototype
svn path=/trunk/; revision=42276
2009-07-28 16:42:36 +00:00
Johannes Anderwald 64fa3b028f - Implement KsGetObjectFromFileObject, KsGetObjectFromFileObject, KsGetObjectTypeFromIrp, KsGetParent
- Create object bag for IKsFilter, IKsFilterFactory and IKsDevice

svn path=/trunk/; revision=42275
2009-07-28 16:18:05 +00:00
Johannes Anderwald ca60ae56c0 - Implement KsGetObjectFromFileObject, KsGetObjectFromFileObject, KsGetObjectTypeFromIrp, KsGetParent
svn path=/trunk/; revision=42268
2009-07-28 13:52:57 +00:00
Johannes Anderwald 5e12a7edb1 - Implement KoDriverInitialize, KoDeviceInitialize
- Fix storing of device descriptor in KsInitializeDriver, KsAddDevice

svn path=/trunk/; revision=42264
2009-07-28 10:22:02 +00:00
Aleksey Bragin 88c914b528 - Fix a regression introduced in 40710, which caused all machine-specific memory regions to be concatenated into one big LoaderSpecialMemory. Restore previous behaviour by properly matching Arc and bootloader memory types.
svn path=/trunk/; revision=42263
2009-07-28 10:00:58 +00:00
Ged Murphy 7de1640e35 winsock2.h should come before windows.h
svn path=/trunk/; revision=42257
2009-07-27 19:42:05 +00:00
Johannes Anderwald dd0ab576f9 - Implement KsReferenceBusObject, KsReferenceSoftwareBusObject, KsDereferenceSoftwareBusObject, KsDereferenceBusObject
svn path=/trunk/; revision=42256
2009-07-27 18:40:50 +00:00
Johannes Anderwald b3ea37e803 + portcls
+ ks
- ws2help_new

svn path=/trunk/; revision=42255
2009-07-27 18:18:20 +00:00
Johannes Anderwald aaf60514ff - Remove DriverEntry as ks is kernel mode dll
- Implement KsGetImageNameAndResourceId, KsMapModuleName

svn path=/trunk/; revision=42254
2009-07-27 16:17:24 +00:00
ReactOS Portable Systems Group 1cc5142060 - Remove dead (uncalled) function.
svn path=/trunk/; revision=42253
2009-07-27 02:23:25 +00:00
ReactOS Portable Systems Group 3e04cabe4e - Create a double-mapping PTE for the shared user data region and fault it in whenever a process touches that address.
- Remove the old hack which used the PCR's page frame number to create a fake PTE each time to reference it, basing on the fact that the shared user data region was on the same page as the PCR on certain architectures.

svn path=/trunk/; revision=42252
2009-07-27 02:13:19 +00:00
ReactOS Portable Systems Group 059da34e93 - Create \dev\physmem section during section initialization, not later.
- Setup SharedUserData settings during Phase 0, not Phase 1. Fixes an old bug where the Inbv driver assumed ReactOS was in "server mode" simply because the default SharedUserData->NtProductType was "0" (which is an invalid product type, but it's != NtProductTypeNt).
  - Also fixed it such that this reports NtProductServer, which is what ReactOS reports to be (Windows 2003 Server SP 1).
- Initialize the modified page writer and balancer thread in phase 1, not phase 2.
  - Phase 2 should make the executive pageable, but I don't think this is supported yet...


svn path=/trunk/; revision=42251
2009-07-27 00:52:44 +00:00
ReactOS Portable Systems Group e754e12bd3 - Fix a ridiculous copy-paste-error-while-writing-the-commit-log error. Sorry for breaking the build!
svn path=/trunk/; revision=42250
2009-07-27 00:17:38 +00:00
ReactOS Portable Systems Group 5899e14bd1 - Delete the blaoted, overweight and slow nonpaged pool implementation.
- Plug-in support to use the ARM nonpaged pool instead.
- This patch has been tested for over 2 months and all known regressions were fixed.
  - Thanks to Aleksey Bragin for providing a pool regression suite.
  - Thanks to Aleksey Bragin for providing initial implementation details and code from older attempts.
  - Thanks to http://uninformed.org/?v=4&a=2&t=txt and http://www.dfrws.org/2008/proceedings/p58-schuster_pres.pdf for allocation strategies.


svn path=/trunk/; revision=42249
2009-07-27 00:14:56 +00:00
ReactOS Portable Systems Group 1eba02fc2f - Do not print out ReactOS nonpaged pool VA address range anymore, since it will be deprecated.
svn path=/trunk/; revision=42248
2009-07-27 00:11:39 +00:00
ReactOS Portable Systems Group 360720bdb6 - The old nonpaged pool statistic functions (TAB+xxx) in KDBG are incompatible with newer nonpaged pool implementation -- remove them.
- The NtQuerySystemInformation API's pool information levels provide the same information, when implemented properly.


svn path=/trunk/; revision=42247
2009-07-27 00:10:37 +00:00
ReactOS Portable Systems Group 8257a252cb - DebugPool implementation is not compatible with newer nonpaged pool algorithms, so remove support for nonpaged pool debugging.
- Special pool implementation will restore this functionality.

svn path=/trunk/; revision=42246
2009-07-27 00:09:09 +00:00
ReactOS Portable Systems Group a6757c9637 - Implement the algorithms for pool allocation and de-allocation:
- Only tested/works with nonpaged pool for now.
  - No support for session pool or special pool.
  - No support for pool tagging.
  - No support for accounting (free/available pages, etc).
  - No optimizations other than your average combine-with-previous-free and combine-with-next-free mechanisms to avoid fragmentation.
  - No support for debugging.
  - No consistency/validation checks.
  - Heavily commented for the inquiring mind.
  - Thread/MP safe.
- Not used yet.


svn path=/trunk/; revision=42245
2009-07-27 00:05:45 +00:00
Timo Kreuzer 250d69afc8 Sync to trunk head (r42241)
svn path=/branches/ros-amd64-bringup/; revision=42244
2009-07-26 23:21:27 +00:00