Commit graph

55360 commits

Author SHA1 Message Date
Eric Kohl
e5769b0d38 [FORMATTING]
Fix indentation. No code changes!

svn path=/trunk/; revision=61084
2013-11-23 18:36:05 +00:00
Timo Kreuzer
41ccb2555a Revert a change from the previous version. MI_WRITE_VALID_PTE only works on invalid PTEs. Thanks to Thomas for noticing.
svn path=/trunk/; revision=61083
2013-11-23 01:42:33 +00:00
Timo Kreuzer
b59f1ee141 [NTOSKRNL]
- Add hacks to MmMapViewInSessionSpace and MmUnmapViewInSessionSpace to check for legacy (non ARM3) sections (image sections) and (un)map them in system space instead.
- Fix MmCommitSessionMappedView (it wasn't resetting the PointerPte to the start, when processing the PTE range a second time)
- Remove an ASSERT that didn't allow unmapping session space mappings, since that works (see CORE-6729)
- Change a write to a PTE to using MI_WRITE_VALID_PTE

svn path=/trunk/; revision=61081
2013-11-23 00:43:06 +00:00
Hermès Bélusca-Maïto
78d080bef8 [REGEDIT]
- Fix few French resources.
- Support F2 key for renaming keys/values.
Patch by Edijs Kolesnikovics
CORE-7615 #resolve #comment Committed in revision 61080. Thanks!

svn path=/trunk/; revision=61080
2013-11-22 22:59:19 +00:00
James Tabor
263bd12de4 - Move ATI from stub file. Applications like Magnifier uses it but it seems to return an error.
svn path=/trunk/; revision=61079
2013-11-22 18:45:58 +00:00
James Tabor
1984a7f218 - Fix condition when window is null while in event. See CORE-7635.
svn path=/trunk/; revision=61078
2013-11-22 17:07:02 +00:00
Timo Kreuzer
7f9dd54593 [NTOSKRNL]
Fix / improve NtQueryDefaultLocale, NtSetDefaultLocale, NtQueryDefaultUILanguage and NtSetDefaultUILanguage

svn path=/trunk/; revision=61077
2013-11-22 15:23:18 +00:00
Timo Kreuzer
746a4e93ea [NTOSKRNL]
Skip all images that were loaded using MmLoadSystemImage in MiFindInitializationCode. Drivers loaded by Mm are handled in MmFreeDriverInitialization (which we currently run for boot loaded images as well, so duplicated work...). But now at least session loaded images are NOT processed this way. Because even though they can have INIT sections, they don't neccessarily like it when stuff gets removed, especially win32k doesn't like it when it's .rsrc section is being discarded due to it's section flags!

svn path=/trunk/; revision=61076
2013-11-22 12:51:40 +00:00
Timo Kreuzer
cd2e06b94c [NTOSKRNL]
Check the PTE as well in MmArmAccessFault, when we are at high IRQL and fail if it's not valid. Otherwise we just end up in an endless loop.

svn path=/trunk/; revision=61075
2013-11-22 12:23:11 +00:00
Timo Kreuzer
d018fb6027 [NTOSKRNL]
Fix MmGetSessionLocaleId and implement MmSetSessionLocaleId

svn path=/trunk/; revision=61074
2013-11-22 12:14:47 +00:00
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