Commit graph

33651 commits

Author SHA1 Message Date
Stefan Ginsberg edad66ead2 - Ksuser: Cleanup header usage a bit, and make sure NTSTATUS gets defined
- Kernel32: Undefine IOCTL_SERIAL_LSRMST_INSERT so we don't get a (bogus) incompatible redefinition warning

svn path=/trunk/; revision=37669
2008-11-26 19:04:55 +00:00
Aleksey Bragin 24da6d32fe - Fix some coverity errors.
- Use KeBugCheck(MEMORY_MANAGEMENT) instead of ASSERT(FALSE), so it dies on release builds too.
- Enable support for Hyper-V.
- Fix incorrect gate wait code -- fixes sporadic crashes in the network stack.
- Mark KeBugCheck*, ExRaise* and RtlRaiseStatus as declspec(noreturn), for better optimization of functions which call them, less potential warnings in the compiler, and, assuming coverity understands it, less false CIDs.
- Fix KiUpdateDr7, which resulted in broken support for hardware breakpoints.
- Fix failure cases in EnumerateRootDevices which might've freed non-allocated memory.
- Fix NtAddAtom/NtFindAtom logic when dealing with NULL or kernel Atom names.

Patch by Alex Ionescu.

svn path=/trunk/; revision=37668
2008-11-26 18:56:41 +00:00
Stefan Ginsberg 1afa5e29a0 - kmtest: Don't use user mode types
- memtest: uh, no. ZwQuerySystemInformation does not return NO_ERROR

svn path=/trunk/; revision=37667
2008-11-26 18:43:27 +00:00
James Tabor 7648ed6672 - Add ExtCreatePen note: This is an enhancement and prevents a call to kernel space.
svn path=/trunk/; revision=37666
2008-11-26 17:47:21 +00:00
James Tabor 62e6343ace - Update CL type.
svn path=/trunk/; revision=37665
2008-11-26 17:11:59 +00:00
KJK::Hyperion bd76ae91c0 modified lib/pseh/i386/framebased-gcchack.S
Typo

svn path=/trunk/; revision=37664
2008-11-26 16:15:29 +00:00
KJK::Hyperion 58c81ba194 modified include/reactos/libs/pseh/pseh2.h
If the compiler is not GCC, assume native SEH support

modified   lib/pseh/framebased-gcchack.c
modified   lib/pseh/i386/framebased-gcchack.S
   Allow pseh to be compiled with Visual C++ without warnings

svn path=/trunk/; revision=37663
2008-11-26 16:03:12 +00:00
Gregor Schneider cab11c6e20 - ExtCreatePen creates a PS_NULL style pen in the LOGPEN Format, use the NULL_PEN StockObject for that matter
- Fixes 24 gdi32 pen winetests

svn path=/trunk/; revision=37661
2008-11-26 15:12:38 +00:00
KJK::Hyperion d29825fe8f Merging fixes from Visual C++ branch
modified   include/psdk/rpcndr.h
   Mask argument before casting in NdrFcShort

modified   include/psdk/winternl.h
   Visual C++-compatible placement of function attribute

modified   include/reactos/wine/port.h
   Visual C++ has interlocked intrinsics, too

modified   lib/3rdparty/adns/adns_win32/adns_unix_calls.c
modified   lib/3rdparty/adns/src/setup.c
   alloca -> _alloca

modified   lib/3rdparty/libwine/debug.c
   Fix a benign range check warning

modified   lib/3rdparty/libwine/debug_ros.c
   Properly decorate malloc replacement

modified   lib/3rdparty/libwine/string.c
   The actual function is called _stricmp

modified   lib/3rdparty/mingw/wcrt1.c
   Visual C++ support

svn path=/trunk/; revision=37659
2008-11-26 14:28:19 +00:00
Michael Martin 9bd1f294f3 - Migrate advapi32 to PSEH 2.0.
svn path=/trunk/; revision=37656
2008-11-26 10:45:42 +00:00
Daniel Reimer 39aa71e8e2 Bug 3871: Polish translation update for netshell,usetup and reactos.exe by Maciej Bialas
svn path=/trunk/; revision=37649
2008-11-26 06:44:47 +00:00
KJK::Hyperion bfc0f05916 Add comments about workarounds for GCC bugs
svn path=/trunk/; revision=37645
2008-11-25 21:13:57 +00:00
Stefan Ginsberg 07621c2a9f - Remove blue's implicit dependency on windef.h
svn path=/trunk/; revision=37643
2008-11-25 17:11:42 +00:00
Stefan Ginsberg ecff3e72ed - FIX is declared in winddi.h, don't redeclare
svn path=/trunk/; revision=37642
2008-11-25 17:08:48 +00:00
Stefan Ginsberg ed46b7621c - Remove Freeldr's dependency on windef.h
- Explicitly include winerror.h

svn path=/trunk/; revision=37641
2008-11-25 16:55:43 +00:00
Gregor Schneider 4409645578 - Enhance test with icon drawing
- Tests some configurations of DrawIcon and DrawIconEx, highlighting another problem in 32bpp
- Reference TransparentBlt and AlphaBlend directly

svn path=/trunk/; revision=37640
2008-11-25 16:50:25 +00:00
Aleksey Bragin e9b31b7fdf - Fix weird code in RtlGetVersion (inspired by Coverity ID 1355 and Daniel's patch in bug 3906).
See issue #3906 for more details.

svn path=/trunk/; revision=37638
2008-11-25 16:31:07 +00:00
Aleksey Bragin af008eee80 Daniel Zimmerman
- First check for NULL before reference a member in it.
See issue #3907 for more details.

svn path=/trunk/; revision=37636
2008-11-25 15:57:03 +00:00
Aleksey Bragin 22cbf57aad Daniel Zimmerman
- Check pdev and purb for NULL before accessing them. Resolves CID 764 and 763.
See issue #3908 for more details.

svn path=/trunk/; revision=37634
2008-11-25 15:51:09 +00:00
Stefan Ginsberg 2cb63c5b32 - Change LPTSTR to LPWSTR for NtUserGetAltTabInfo, as this will always be a wide string
svn path=/trunk/; revision=37633
2008-11-25 14:50:53 +00:00
KJK::Hyperion e995c386a7 Supersedes r37631
Undoing fishy patch for warnings in Wine code (see r37629)

svn path=/trunk/; revision=37632
2008-11-25 14:17:27 +00:00
KJK::Hyperion 69f549f59c Undoing fishy patch for warnings in Wine code (see r37629)
svn path=/trunk/; revision=37631
2008-11-25 14:11:55 +00:00
Stefan Ginsberg 41bcb8cc77 - Correct some type casts
svn path=/trunk/; revision=37630
2008-11-25 13:57:26 +00:00
KJK::Hyperion ea60c32d4f Supersedes r37623 with fixes for cross compilation
modified   base/shell/explorer/explorer.rbuild
modified   dll/win32/glu32/glu32.rbuild
modified   dll/win32/kernel32/kernel32.rbuild
modified   drivers/wdm/audio/backpln/portcls/portcls.rbuild
modified   ReactOS-generic.rbuild
   Set -Wno-non-virtual-dtor globally because we have no use for this warning and it only messes with COM interface definitions
   This alone disables a ton of spurious warnings

modified   tools/rbuild/backend/mingw/mingw.cpp
modified   tools/rbuild/backend/mingw/modulehandler.cpp
modified   tools/rbuild/backend/mingw/modulehandler.h
   Project-global compiler flags now actually work as intended
   Removed some dead code

modified   dll/directx/dxdiagn/container.c
modified   dll/directx/wine/d3d8/device.c
modified   dll/directx/wine/d3d9/device.c
modified   dll/win32/comdlg32/printdlg.c
modified   dll/win32/crypt32/chain.c
modified   dll/win32/crypt32/main.c
modified   dll/win32/crypt32/oid.c
modified   dll/win32/crypt32/protectdata.c
modified   dll/win32/crypt32/rootstore.c
modified   dll/win32/dbghelp/pe_module.c
modified   dll/win32/fusion/assembly.c
modified   dll/win32/gdiplus/font.c
modified   dll/win32/gdiplus/image.c
modified   dll/win32/icmp/icmp_main.c
   Get rid of warnings.
   Patch by Robin Geuze <r.geuze@chello.nl>

svn path=/trunk/; revision=37629
2008-11-25 13:44:30 +00:00
Gregor Schneider 215fa4be9d - Check parameters before allocating memory
- Patch by Daniel Zimmermann, <netzimme AT aim DOT com>
- Fixes possible memory leaks pointed out by CID 605, bug #3910

svn path=/trunk/; revision=37628
2008-11-25 12:53:21 +00:00
KJK::Hyperion f7f455d197 Undo r37623 until cross compilation is fixed
svn path=/trunk/; revision=37626
2008-11-24 21:32:17 +00:00
Matthias Kupfer 71e3048893 - don't calc the same values multiple times
svn path=/trunk/; revision=37625
2008-11-24 21:28:42 +00:00
KJK::Hyperion 6b4a3178e3 modified base/shell/explorer/explorer.rbuild
modified   dll/win32/glu32/glu32.rbuild
modified   dll/win32/kernel32/kernel32.rbuild
modified   drivers/wdm/audio/backpln/portcls/portcls.rbuild
modified   ReactOS-generic.rbuild
   Set -Wno-non-virtual-dtor globally because we have no use for this warning and it only messes with COM interface definitions
   This alone disables a ton of spurious warnings

modified   tools/rbuild/backend/mingw/mingw.cpp
modified   tools/rbuild/backend/mingw/modulehandler.cpp
modified   tools/rbuild/backend/mingw/modulehandler.h
   Project-global compiler flags now actually work as intended
   Removed some dead code

modified   dll/directx/dxdiagn/container.c
modified   dll/directx/wine/d3d8/device.c
modified   dll/directx/wine/d3d9/device.c
modified   dll/win32/comdlg32/printdlg.c
modified   dll/win32/crypt32/chain.c
modified   dll/win32/crypt32/main.c
modified   dll/win32/crypt32/oid.c
modified   dll/win32/crypt32/protectdata.c
modified   dll/win32/crypt32/rootstore.c
modified   dll/win32/dbghelp/pe_module.c
modified   dll/win32/fusion/assembly.c
modified   dll/win32/gdiplus/font.c
modified   dll/win32/gdiplus/image.c
modified   dll/win32/icmp/icmp_main.c
   Get rid of warnings.
   Patch by Robin Geuze <r.geuze@chello.nl>

svn path=/trunk/; revision=37623
2008-11-24 19:29:13 +00:00
Gregor Schneider 5395fbc5ba - Add copyright information I forgot, update paths
svn path=/trunk/; revision=37622
2008-11-24 19:27:30 +00:00
Gregor Schneider 95b01d0342 - Move slightly changed PS_ALTERNATE and PS_INSIDEFRAME checks from win32k to gdi32
- Don't restrict the width of PS_SOLID pens
- Fixes 25 gdi32 pen winetests
- Pen types left tbd: PS_NULL (problems in GetObject and ExtCreatePen) and PS_ALTNATE (EngLineTo/StrokePath does not support bitmap pens)

svn path=/trunk/; revision=37620
2008-11-24 18:40:46 +00:00
Johannes Anderwald 21f2f21a4d - Fix heap corruption and memory leak
- patch by Daniel Zimmermann
- CID 707
- bug 3905

svn path=/trunk/; revision=37619
2008-11-24 18:05:51 +00:00
Johannes Anderwald d8a4dde485 - Store settings of SPI_SETMOUSEBUTTONSWAP in registry
- bug 2443

svn path=/trunk/; revision=37618
2008-11-24 17:57:17 +00:00
KJK::Hyperion b4d5ee6914 modified ntoskrnl/ex/sysinfo.c
MaxSystemInfoClass is now much larger than the size of the CallQS table: use the actual size of the table in range checks to prevent an overrun
   Fixes CID 527, CID 528

svn path=/trunk/; revision=37616
2008-11-24 13:47:44 +00:00
KJK::Hyperion c086cc2302 Everything
Migrate ntoskrnl to PSEH 2.0. The code should speak for itself

modified   ntoskrnl/ex/atom.c
   _SEH_LEAVE was used improperly in NtQueryInformationAtom. As a free bonus, the upgrade to PSEH 2.0 (and to _SEH2_LEAVE) fixes the potential bug

modified   ntoskrnl/fsrtl/fastio.c
   Corrected exception filter logic

modified   ntoskrnl/include/internal/ex.h
   Goodbye _SEH_ExSystemExceptionFilter, you won't be missed

modified   ntoskrnl/include/internal/ntoskrnl.h
   Don't FORCEINLINE functions that use SEH, it's bad form and the compiler doesn't like

modified   ntoskrnl/ke/i386/usercall.c
   Dispatch the correct EXCEPTION_RECORD in case of exception inside KiInitializeUserApc

modified   ntoskrnl/ke/powerpc/exp.c
   Removed bogus, unused SEH code

modified   ntoskrnl/ntoskrnl-generic.rbuild
   Sources using PSEH 2.0 must be compiled with -fno-unit-at-a-time due to a GCC bug. See also http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17982 and http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38054
   Apparently, -fno-unit-at-a-time makes GCC crash when using precompiled headers. Disable precompiled headers for ntoskrnl

svn path=/trunk/; revision=37615
2008-11-24 13:40:26 +00:00
KJK::Hyperion 0cc5134395 modified include/psdk/rpc.h
Implemented RPC exception handling macros with PSEH 2.0

modified   base/services/rpcss/rpcss.rbuild
modified   dll/win32/rpcrt4/rpcrt4.rbuild
   RPC proxy stubs now depend on pseh. We should really add pseh as a link dependency automatically in rbuild, but, eh

modified   tools/rbuild/backend/mingw/modulehandler.cpp
   Compile RPC proxy stubs with -fno-unit-at-a-time due to a GCC bug. See also http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17982 and http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38054

svn path=/trunk/; revision=37614
2008-11-24 13:05:40 +00:00
Aleksey Bragin 7da3ae674b - Fix most of the warnings in mkhive.
svn path=/trunk/; revision=37613
2008-11-24 13:01:56 +00:00
KJK::Hyperion cfeeca424d modified dll/directx/ddraw/rosdraw.h
modified   dll/win32/advapi32/advapi32.h
modified   dll/win32/gdi32/include/precomp.h
modified   dll/win32/setupapi/setupapi_private.h
   Explicitly include pseh/pseh.h, don't rely on <windows.h> including it through <rpc.h>

svn path=/trunk/; revision=37612
2008-11-24 13:00:20 +00:00
Stefan Ginsberg aca04a803e - Fix build
svn path=/trunk/; revision=37611
2008-11-24 12:30:53 +00:00
Aleksey Bragin fa2d77a3e8 - Get rid of warnings.
svn path=/trunk/; revision=37610
2008-11-24 12:22:09 +00:00
Aleksey Bragin 73ed86d2a8 - Get rid of warnings.
svn path=/trunk/; revision=37609
2008-11-24 12:14:48 +00:00
Aleksey Bragin 5f73c662a9 - Make atapi compile warnings-free.
svn path=/trunk/; revision=37608
2008-11-24 10:04:05 +00:00
KJK::Hyperion 4b013bbd25 Fixed _SEH2_EXCEPT
svn path=/trunk/; revision=37606
2008-11-24 03:00:50 +00:00
KJK::Hyperion 0022cb57c0 Missing from previous commit
svn path=/trunk/; revision=37604
2008-11-24 01:38:43 +00:00
KJK::Hyperion 0d89ee1b23 Allow pseh.h and pseh2.h to be included in the same compilation unit. Mixing PSEH and PSEH 2.0 macros in the same function isn't safe yet, though
svn path=/trunk/; revision=37601
2008-11-23 23:00:37 +00:00
KJK::Hyperion eba975aff9 GCC can't appreciate my genius. _SEH2_EXCEPT temporarily broken until I figure out a simpler way
svn path=/trunk/; revision=37600
2008-11-23 22:47:16 +00:00
Eric Kohl 991af663db - Start the RPC-Server from a separate thread so the initial call to the DLL doesn't get blocked.
- Ensure the server accepts more than a single call from clients.

svn path=/trunk/; revision=37599
2008-11-23 22:39:43 +00:00
Eric Kohl 4abc5d743f Fix formatting. No code changes!
svn path=/trunk/; revision=37598
2008-11-23 22:36:15 +00:00
Cameron Gutman a1afe48a57 - NDIS always calls NdisMIndicateStatusComplete immediately after calling NdisMIndicateStatus
svn path=/trunk/; revision=37593
2008-11-23 16:50:11 +00:00
Dmitry Chapyshev 9f055c6d88 - More correct fix
svn path=/trunk/; revision=37592
2008-11-23 15:10:09 +00:00
Dmitry Chapyshev cee7f49628 - Set flag unicode="yes"
- Use WCHARs instead of TCHAR

svn path=/trunk/; revision=37589
2008-11-23 14:16:46 +00:00