Commit graph

55150 commits

Author SHA1 Message Date
Timo Kreuzer 49642d5bb1 [NTOSKRNL]
Fix an off-by-one error in an ASSERT in MiDecrementReferenceCount (MmHighestPhysicalPage itself is still a valid PFN)

svn path=/trunk/; revision=61073
2013-11-22 12:10:20 +00:00
Timo Kreuzer dfc5f7e3fa [NTOSKRNL/WIN32K]
Always call the win32 process callout from PsConvertToGuiThread and handle the case where we alrady have an allocated win32 process there. (The original win32k sometimes allocates a win32 process, but doesn't initialize it, so it needs to be called again to do so)

svn path=/trunk/; revision=61072
2013-11-22 11:48:51 +00:00
Timo Kreuzer b5f60c3595 [VIDEOPRT]
Handle IOCTL_VIDEO_USE_DEVICE_IN_SESSION

svn path=/trunk/; revision=61071
2013-11-22 11:36:22 +00:00
Dmitry Gorbachev cc5033f674 [NTOSKRNL]
Trick GCC into not optimizing out RtlMoveMemory.

svn path=/trunk/; revision=61066
2013-11-21 20:44:49 +00:00
Giannis Adamopoulos 98b96500dd forgot to commit this
svn path=/trunk/; revision=61065
2013-11-21 11:34:56 +00:00
Giannis Adamopoulos 400a835c42 [explorer_new]
- call ShellDDEInit, FileIconInit and WinList_Init while initializing
- Calling ShellDDEInit fixes cases like pressing Explore in a folder context menu from a file open dialog (before this it just hanged)
- We also need to call FileIconInit in order to initialize the shell icons properly. Before this Shell_GetImageLists called FileIconInit in case it was not called
- Calling WinList_Init should make CLSID_ShellWindows work but it fails for now. CLSID_ShellWindows is needed in cases like opening a second time My computer from desktop should activates the existing My computer window and it is also needed for SHOpenFolderAndSelectItems in order to work

svn path=/trunk/; revision=61064
2013-11-21 11:28:53 +00:00
Timo Kreuzer fdd32e1c1b {NTOSKRNL]
Properly implement MmGetSessionById, MmAttachSession, MmDetachSession and MmQuitNextSession. Implement more session cleanup code and make sure a session is not killed while a process is attached to it. There used to be a bug, where removing a process from the session list caused pool corruption, which was because we called MiSessionRemoveProcess twice: once from PspExitThread, when the last thread exited and another time from PspDeleteProcess, when the reaper thread deleted the process object. This was, because the flag that said the process was in a session was not cleared properly. This is now fixed and inserting and removing processes into the session's list works fine. Also protect it properly with a spinlock.

svn path=/trunk/; revision=61061
2013-11-20 23:50:42 +00:00
Timo Kreuzer ba2be2d08e [I8042PRT]
Hackplement support for IOCTL_KEYBOARD_QUERY_ATTRIBUTES

svn path=/trunk/; revision=61060
2013-11-20 21:57:51 +00:00
Timo Kreuzer e273d09737 [NTOSKRNL]
Implement ObDeleteCapturedInsertInfo

svn path=/trunk/; revision=61059
2013-11-20 21:52:50 +00:00
Timo Kreuzer 5d0bf1b23f [DXG]
Fix DxDdSuspendDirectDraw prototype.

svn path=/trunk/; revision=61054
2013-11-19 23:36:57 +00:00
Timo Kreuzer db897ac621 [KEYBOARDLEYOUTS]
Keyboard layout files have special requirements to the section layout of the dell. That is because MS win32k devs didn't write proper code and that is why the original win32k first parses all sections, looks for the .data section, checks if everything is valid and then truncates a pointer in a table to 16 bit and uses this as an offset into the section. Of course that does ONLY work, if the section is the first section AND that pointer happens to be less than 64k off from the start of the section AND the image base is 64k aligned. To achieve this, add a new module type kbdlayout that does all the neccessary things. On MSVC we merge the sections with a linker command, on GCC we use a custom linker script.

svn path=/trunk/; revision=61053
2013-11-19 23:30:58 +00:00
Timo Kreuzer f200563361 [NTOSKRNK]
Implement ExpWin32SessionCallout, which attaches to the session that the object (desktop or window station) belongs to before invoking any callbacks. The session side of support for this is currently hardcoded to support only a single session. To make this properly work, all callbacks that go through this function have the same function pointer type now, fix this in win32k accordingly.

svn path=/trunk/; revision=61052
2013-11-19 23:09:13 +00:00
Hermès Bélusca-Maïto 69b8eb2c54 [REGEDIT]
Disable Delete/Rename menu options for root nodes ("My Computer" and HKEY_* keys).
Patch by Edijs Kolesnikovics.
CORE-7602 #resolve #comment Committed in revision 61051, thanks :)

svn path=/trunk/; revision=61051
2013-11-19 21:20:13 +00:00
Timo Kreuzer 2235da9807 [NTOSKRNL]
Move session routines into session.c. No code change.

svn path=/trunk/; revision=61050
2013-11-19 21:13:31 +00:00
Giannis Adamopoulos 315db4c011 [shell32]
- Implement cut and paste shortcut
- Patch by Huw Campbell 
- CORE-7548

svn path=/trunk/; revision=61049
2013-11-19 20:53:16 +00:00
Giannis Adamopoulos 5fd4d650b5 [shell32]
- Append class members with m_ in CDefView class

svn path=/trunk/; revision=61048
2013-11-19 19:05:17 +00:00
Thomas Faber a5c44c54db [NOTEPAD]
- Preserve modification flag when toggling the "Word Wrap" option. Patch by Edijs Kolesnikovičs.
CORE-7589 #resolve

svn path=/trunk/; revision=61047
2013-11-19 10:18:02 +00:00
Eric Kohl 1722e89f78 [EVENTLOG]
ElfrClearELFW: Fail, if the log file is a backup file.

svn path=/trunk/; revision=61046
2013-11-18 22:16:16 +00:00
Dmitry Gorbachev d0b3091bb4 [NTOSKRNL]
Do not call RtlCopyMemory (i.e. memcpy/memmove) with NULL pointer, which 
gives undefined behavior.

svn path=/trunk/; revision=61045
2013-11-18 22:00:12 +00:00
Thomas Faber 24536fac9a [RAPPS]
- Fix info display on selection change. Patch by Carlo Bramini.
CORE-6139 #resolve

svn path=/trunk/; revision=61043
2013-11-18 20:24:18 +00:00
Thomas Faber db3348fa71 [D3DCOMPILER_43]
- Fix MSVC warnings (yes I know these are generated files. It's a flex bug)

svn path=/trunk/; revision=61042
2013-11-18 19:02:56 +00:00
Timo Kreuzer c5b45ab5bc [NTOSKRNL]
Implement PoQueueShutdownWorkItem, PoRequestShutdownEvent, PoRequestShutdownWait, PopProcessShutDownLists. One step closer to ... proper shutdown.

svn path=/trunk/; revision=61041
2013-11-18 17:47:37 +00:00
Timo Kreuzer d9d963a62f [NTOSKRNK]
Implement KiCallbackReturnHandler

svn path=/trunk/; revision=61040
2013-11-18 17:23:04 +00:00
Timo Kreuzer 6f0131873e [NTOSKRNL]
Implement RtlpCloseHandleCallback, closing the handle table, and use it as callback for ExSweepHandleTable in RtlpDestroyAtomHandleTable. Without a callback ExSweepHandleTable simply crashes, so obviously we never clean up any atom tables, possibly because the window station is never closed.

svn path=/trunk/; revision=61039
2013-11-18 15:21:53 +00:00
Timo Kreuzer 954e21ccc0 [BOOTDATA]
Add registry key for winsrv configuration and a a few additional entrys for the VBE driver configuration.

svn path=/trunk/; revision=61038
2013-11-18 14:43:28 +00:00
Timo Kreuzer 91105c7915 [NTOSKRNL]
Implement ObSetHandleAttributes. Rename the ObIsKernelHandle macro to ObpIsKernelHandle to avoid ambiguities (ObIsKernelHandle is a public Vista+ API). Check for NtCurrentProcess and NtCurrentThread in ObpIsKernelHandle, since those are always non-kernel handles.

svn path=/trunk/; revision=61037
2013-11-18 14:27:01 +00:00
Thomas Faber 10ec38c1a9 [D3DX9_36]
- Add missing dependency on d3d_idl_headers
- Add missing port.h include (fix MSVC warnings). CORE-7538

svn path=/trunk/; revision=61035
2013-11-18 10:46:20 +00:00
Timo Kreuzer e926d6acb7 [GDI32]
Fix MSVC warnings

svn path=/trunk/; revision=61032
2013-11-18 00:35:32 +00:00
Thomas Faber e6343843d5 [WINE]
- We have <unistd.h> and <sys/time.h>, that doesn't depend on _MSC_VER.

svn path=/trunk/; revision=61031
2013-11-18 00:22:53 +00:00
Thomas Faber 03e9b128bc [CMAKE]
- Enable C4115 (struct defined in function parameter list) and fix its occurrences

svn path=/trunk/; revision=61030
2013-11-18 00:04:15 +00:00
Thomas Faber ec1b5455e9 [CMAKE]
- Make C4113 (function pointer parameter lists differ) an error. CORE-7538
- Properly ignore "export of deleting destructor" warning in msvcrt

svn path=/trunk/; revision=61029
2013-11-17 23:38:31 +00:00
Timo Kreuzer 11393e5451 [SPEC2DEF]
Remove a spurious %

svn path=/trunk/; revision=61028
2013-11-17 22:43:23 +00:00
Timo Kreuzer 0ab87a8b5e [SPEC2DEF]
Fix MSVC build as well

svn path=/trunk/; revision=61027
2013-11-17 22:31:15 +00:00
Eric Kohl 7a6fccdcf6 [EVENTLOG]
LogfInitializeExisting: Do not try to write to a file that has been opened as a backup file. It has been opened read-only.

svn path=/trunk/; revision=61026
2013-11-17 22:30:55 +00:00
Timo Kreuzer d8cadc59dc [CMAKE/SPEC2DEF]
Fix build.

svn path=/trunk/; revision=61025
2013-11-17 22:24:02 +00:00
Timo Kreuzer 6c26b58f06 [SPEC2DEF]
Rewrite the code for generating def files. Remove useless switches. Seperate code for GCC and MSVC for easier maintainability. Make use of the new dlltool feature implemented by Kai Tietz, that allows to specify the name of an import/export. It is now possible to both export stdcall and fastcall decorated symbols as well as import from them.

svn path=/trunk/; revision=61024
2013-11-17 22:11:04 +00:00
Thomas Faber 35897825f8 [USER32]
- Fix MSVC warnings

svn path=/trunk/; revision=61023
2013-11-17 22:10:42 +00:00
Thomas Faber c4046fb227 [NTOS:MM]
- Fix some MSVC warnings

svn path=/trunk/; revision=61022
2013-11-17 21:58:48 +00:00
Thomas Faber 09d35bf4fe [CMAKE]
- Make warning C4229 (modifiers on data are ignored) an error

svn path=/trunk/; revision=61020
2013-11-17 19:45:32 +00:00
Thomas Faber acca015b21 [BASESRV][SVCHOST]
- Fix callback calling conventions

svn path=/trunk/; revision=61019
2013-11-17 19:14:24 +00:00
Johannes Anderwald 59897ac0a4 [DEVMGR]
- Implement device resource page

svn path=/trunk/; revision=61018
2013-11-17 19:14:08 +00:00
Johannes Anderwald 420e01f92d - stop enumeration of mixer controls when there is more than one item
- fixes vmware audio driver hangs
- needs more work 
- patch by David Quintana
CORE-7488 #resolve #comment thanks for the patch

svn path=/trunk/; revision=61017
2013-11-17 14:51:06 +00:00
Sylvain Petreolle fe4b6f1d93 [OOPS]
Arch, when you fix a DPRINT, don't turn it into DPRINT1.

svn path=/trunk/; revision=61016
2013-11-17 14:21:08 +00:00
Sylvain Petreolle 3755f648f7 [RTL]
Fix crashing DPRINT into LdrFindResource_U.
Thanks to ThFabba for the tip.

svn path=/trunk/; revision=61015
2013-11-17 14:11:08 +00:00
Timo Kreuzer 6abf558a05 [VIDEOPRT/WINSERV] Move mapping the BIOS memory from winsrv to videoprt, where it belongs.
[VIDEOPRT] Implement some registry support routines to create new style (XP+) registry keys. Handle IOCTL_VIDEO_INIT_WIN32K_CALLBACKS in videoprt, reorganize the code to dispatch ioctls. Simplify failure path in IntVideoPortFindAdapter

svn path=/trunk/; revision=61013
2013-11-16 18:40:24 +00:00
Timo Kreuzer 21c33d59ee [DXG]
Add all function stubs. (win32k from windows 2k3 is nasty and indexes the function table directly instead of looking up the entries...)

svn path=/trunk/; revision=61012
2013-11-16 18:31:44 +00:00
Timo Kreuzer 544b85b8c0 [RTL]
Fix RtlWriteRegistryValue, it closed the handle passed to it instead of checking for RTL_REGISTRY_HANDLE flag.

[NTOSKRNL]
Fix PnpRootCreateDevice, which was relying on the broken RtlWriteRegistryValue by aborting, when it *succeeded* to create a registry key, instead of when it failed.
Also use kernel handles and ObCloseHandle.

svn path=/trunk/; revision=61011
2013-11-16 18:27:26 +00:00
Sylvain Petreolle 31652fc90f [NEWDEV]
tabs -> spaces

svn path=/trunk/; revision=61010
2013-11-16 17:19:18 +00:00
Timo Kreuzer 68c0b43c64 [NTOSKRNL]
Don't use KiTrapReturnNoSegmentsRet8, when single stepping is active. Fixes debugging with WinDbg

svn path=/trunk/; revision=61009
2013-11-16 15:25:44 +00:00
Thomas Faber 154b389724 [DDK][XDK]
- Do not evaluate the ASSERT macro's parameter before stringifying it
CORE-7588 #resolve

svn path=/trunk/; revision=61008
2013-11-16 15:00:11 +00:00