* Igor Paliychuk <mansonigor at gmail dot com>:
- Remove duplicate string and add some missing resources
- Increase buffer sizes in FolderOptionsFileTypesDlg
- Update RU and UA translations
* Myself: update German translation
svn path=/trunk/; revision=51596
- Update Dejavu fonts & documentation to version 2.33 (by Jon Voris, bug #6106)
- Update GNU FreeFonts & documentation to version 2010-09-19 (by Jon Voris, bug #6115)
- Update 3rdparty version info including recent Freetype sync
svn path=/trunk/; revision=51594
- Standardize keyboard flags for the input thread and send input. Next round will update the rest of user32 defwnd.c, combo.c and appswitch.c.
- Add the missing keyboard flags needed for menu operations for in-user applications.
- Setup a function to be used to get, set and clear queue flags of special use for User32 functions.
svn path=/trunk/; revision=51587
Folder options:
- Load text from language file.
- Fill in the extension and description.
Patch by Edijs Kolesnikovics <terminedijs at yahoo dot com>
- Fix an Italian string.
See issue #6208 for more details.
svn path=/trunk/; revision=51586
- Move hook call close to the keyboard message post. This allows the registering of Aly keys before the hook call. This fixes all but one GetKeyState Api Test.
- Fix GetAsync/KeyState error codes and the return for GetAsyncKeyState. See http://appdb.winehq.org/objectManager.php?sClass=version&iId=8516&iTestingId=13644
- Fix TranslateMessage, check for window and use the window pti for re-posting to message queue.
- Peeking hardware queue should be the same as other Peek queue.
svn path=/trunk/; revision=51583
- Update to version 2.7.8. Patch by Carlo Bramini.
- Installed and booted successfully to the desktop. Tested
abiword 2.6.4 and FF 2.0.0.20.
See issue #4988 for more details.
svn path=/trunk/; revision=51577
- Move up the chain to convert F10 to system key mode before going into the queue, so when in menu tracking, the message can be removed and processed, see bug 1009.
svn path=/trunk/; revision=51571
- Handle font height == 0 also in TextIntGetTextExtentPoint (bug 5305)
- Remove hardcoded font height (11) and replace it with
the default font height from the device context by Timo.
svn path=/trunk/; revision=51566
Fix a double off-by-one bug:
- The eventlog service was reporting one event more than was available (+1).
- The event viewer did not display the latest event from the eventlog service (-1).
See issue #6182 for more details.
svn path=/trunk/; revision=51558
* Fix ShowingCursor counter interpretation. Values >= 0 means cursor is shown, values <0 means cursor is hidden. Fixes few user32:cursoricon tests.
svn path=/trunk/; revision=51552
- Initialize ViewSize to 0 when mapping view of section. Fixes DLLs registration problems in 2nd stage (happening all the time with the ldr rewrite).
svn path=/trunk/; revision=51539
- Carlo Bramini: implement a skeleton for the charmap advanced view, Italian translation included
- German translation added by myself
See issue #6065 for more details.
svn path=/trunk/; revision=51537
* Fix a bug when after changing color scheme Apply and then OK is clicked. Background color was restored to the previous one in this case. Spotted by Gabriel Ilardi.
svn path=/trunk/; revision=51531
- Add event sources "EventLog" and "Service Control Manager" to the registry.
- Implement an internal event reporting function and report the successful start of the event logging service.
svn path=/trunk/; revision=51529
* Do not reference current thread before sending message to it. It was causing thread to be a ghost if ExitThread was called in WndProc.
* Hold only UserRefObjectCo reference on windows when sending messages to them.
svn path=/trunk/; revision=51527
- Do not try to initialize thread info in UserGetWindowObject. Do it in thread callout. Removing this hack is needed in order to use UserPostMessage in ProcessCallout when a process is terminating
- Notify winlogon that the shell is exiting in order to restart the shell
svn path=/trunk/; revision=51519
Implement an event source list and use it to find the event log file for a given event source when an event was reported.
svn path=/trunk/; revision=51513
Fix for the loading of the "KnownDlls" in SMSS. Patch by Hermès BÉLUSCA - MAÏTO.
The patch was applied without changes to comments, indentation and coding style.
See issue #6159 for more details.
svn path=/trunk/; revision=51511
- Clear and set send erase background bit when sending WM_ERASEBKGND and if return zero reset the bit. This prevents a message loop in riched20 when calling GetUpdateRect. Spotted by Michael Martin.
svn path=/trunk/; revision=51509
- Return 1 when explorer terminates. This value lets winlogon know that explorer terminated without errors and it doesn't need to restart
svn path=/trunk/; revision=51499
- When terminating an application use 1 as exit code. This is used by Task Manager in windows. It also prevents explorer from restarting in windows
- Disable redrawing the list of processes while the list is updated. Fixes flicker in windows
svn path=/trunk/; revision=51498
Patch by Edijs Kolesnikovics: Write default font, weight and point size when run for the first time. That's what ms notepad does too.
See issue #5305 for more details.
svn path=/trunk/; revision=51497
- UserSetProcessWindowStation: Use PsGetProcessWin32WindowStation and PsSetProcessWindowStation. Close the prevoious window station handle only when the window station was not set by UserSetProcessWindowStation (should be the case for console apps)
svn path=/trunk/; revision=51496
Jeisson Toscano: French update + some Spanish translation updates (with corrections from vicmarcal and me)
See issue #6012 for more details.
svn path=/trunk/; revision=51494
* Use current directory in GetDriveType if no path is given
* Check if path is properly ended
* Remove slash from end when calling NtCrateFile function
* Fixes few kernel32_apitest tests and floppy icon in My Computer if no floppy is inserted
See issue #6148 for more details.
svn path=/trunk/; revision=51485
- Don't use exclusive locks for pens
- Don't try to delete the window update region
- Don't ignore pid in GreIsHandleValid
- Check if handle is valid before deleting it in DC_Cleanup
- Silence a DPRINT
svn path=/trunk/; revision=51475
Rewrite of the GDI handle manager
- The old handle manager used a completely retarded spinlock in combination with KeDelayExecutionThread() for both exclusive
and shared locks. This is probably the most uneffective algorithm possible. It was also duplicating code everywhere and it was a overall mess It
is now replaced with a lock-free reference counter for shared locks and a pushlock for exclusive locks. -> Better performance and scalability.
- Allocate user mode object attributes from the new gdi pool. This way, we don't need any caching, since the pool serves as a cache. Its also
much faster and uses much less memory.
- Allow object allocations of different size, instead of fixed size from a table. This way a single allocation can take care of actual needs.
- Allow allcoating objects without a handle and insert them into the handle table later
- Properly synchronize the process GDIHandleCount. Now gdiview and taskmanager show the correct number of gdi handles.
- Implement a new event tracking system, that is capable of tracking all reverences and locks of objects and pool allocations to help track
possible leaks
- Make sure that all objects of a process are deleted in cleanup
- Make sure all usermode memory allocations are freed, when cleaning up the process pool.
- Make sure that each object type is using the correct type of lock (either shared or exclusive, not a mixture)
- Fix some object / reference leaks
- Lots of inferface improvements
- Use global variables for certain things instead of members in the mapped gdi handle table
- Make IntSysCreateRectpRgn create a region without a handle
- Fix detection od source and mask use in GreStretchBltMask
- Use GDIOBJ_bLockMultipleObjects in NtGdiCombineRegion to avoid possible deadlocks
- Fix NtGdiAbortPath to reset DCPATH_ACTIVE flag in the dc and only bail out on error, instead of always
- Replace DC_AllocateDcAttr and DC_AllocDcAttr with DC_bAllocDcAttr using the new user mode pool
- Remove DCU_SyncDcAttrtoUser and DCU_SynchDcAttrtoUser. Those functions were unused and didn't do anything useful anyway,
- Replace IntGdiSetDCOwnerEx and DC_SetOwnership with GreSetDCOwner, remove unused NoSetBrush parameter
- Replace GDIOBJ_bValidateHandle and IsObjectDead with GreIsHandleValid
- Chage GDIOBJ_bLockMultipleObjects: pass object type, return a BOOL, whether all objects could be locked, cleanup on failure
svn path=/trunk/; revision=51470
-Fix a case when a window is created and we don't have a monitor created yet. (This can happen when we may attempt to use gui on demand)
svn path=/trunk/; revision=51464
- Sync up menu without the Right to Left support. Still missing needed changes for adding it.
- Patches by Alexandre Julliard and Dmitry Timoshkov.
svn path=/trunk/; revision=51461
- Merge 50674 to trunk:
- Allocate memory for the logical pin array
- Use the correct counter variable for logical pin array
- Found by msvc
See issue #6143 for more details.
svn path=/trunk/; revision=51455
[NTOSKRNL.EXE]
- Complemented existing stub routines ObpDeleteSymbolicLinkName() and ObpCreateSymbolicLinkName(). Now when symbolic links are created, they are checked for dos drive mapping and ObSystemDeviceMap is updated accordingly.
- Updates to ObpDeviceMapLock are protected by a guarded mutex (changed from fast mutex by Aleksey Bragin).
- Aleksey Bragin: Fix concurrent access issues in ObDereferenceDeviceMap. The DeviceMap read/write operation must be atomic (within the ObpDeviceMapLock region).
[SUBST.EXE]
- Removed hard coded strings and moved it to resource file.
[WIN32CSR.DLL]
- Added a workaround, when target path end with a trailing '\', the substituted drive fails to parse to the target, this is a bug in the object manager, but working around it in CsrDefineDosDevice() by stripping trailing '\'.
See issue #993 for more details.
svn path=/trunk/; revision=51452
- Isolated Alt-Tab/Esc issues. Placed update_input_key_state when posting to a queue like wine. This fixed the shift key checks. The Alt-Space is handled after a Translate Message call (WM_SYSCHAR), developers need to check application code to help support it (ConCtrl32). Will move AltSwitch.c from win32csr and port patch from bug 5378 to User32. ReactOS registers the Switch Class in Win32k and it is not used.
- Implemented the rest of HotKey Support. ReactOS Explorer does not save hotkey actions.
- See related bugs 1091.
svn path=/trunk/; revision=51450
* Set IMAGE_SCN_MEM_NOT_PAGED flag for read-only data section (.rdata). Patch by Pavel Pisa.
See issue #5618 for more details.
svn path=/trunk/; revision=51447
- Correctly return whether there is a kernel APC pending in KiSwapContextExit. Fixes IRQL asserts seen in bugs 5955 and 5777. Michael Martin's help in finding and fixing this bug was invaluable. Also thanks to Art Yerkes and testing team for additional information.
See issue #5955 for more details.
svn path=/trunk/; revision=51445
- Swedish translation adjustments of calc and find
- Fix comments in magnify
Patch by Jan Blomqvist Kinander (JaixBly [at] spray [dot] se)
svn path=/trunk/; revision=51444
Prepare ReactOS for the change from the ancient 32 sectors / 64 tracks disk layout (used until Windows NT4) to the modern 63 sectors / 255 tracks disk layout (used since Windows 2000).
svn path=/trunk/; revision=51437
* Use EDITTEXT instead of LTEXT. Patch by Edijs Kolesnikovics <terminedijs at yahoo dot com>
See issue #6129 for more details.
svn path=/trunk/; revision=51428
* explorer-new: Fix some wrong UK and RU translations.
* shell32: Update UK and RU translations.
* Patch by Igor Paliychuk <mansonigor at gmail dot com>
svn path=/trunk/; revision=51426
* Move "Play" string from shell32. It will be used in audio files context menu in explorer
[SHIMGVW]
* Move "Preview" string from shell32. It will be used in image files context menu in explorer
* Add Polish translation
[SHELL32]
* Remove "Play" and "Preview" translations - they shouldn't be in shell32
* Add "explore" translation for folder context menu
svn path=/trunk/; revision=51423
* Properly check if buffer given to GetComputerName is too small. Fixes hostname.exe if computer name is MAX_COMPUTERNAME_LENGTH long (the default for bootcd since it's generated randomly in Setup).
* Simplify it a bit
svn path=/trunk/; revision=51412
Increase floppy drives count in global ConfigurationInformation. Fixes not working floppies in explorer.
See issue #4236 for more details.
svn path=/trunk/; revision=51409
[KERNEL32]
- DefineDosDeviceW() is implemented and calls into csrss.exe CsrDefineDosDevice().
- Fixed a minor bug in DefineDosDeviceA(), as calling RtlCreateUnicodeStringFromAsciiz() prevented NULL lpTargetPath to be passed down to DefineDosDeviceW().
- Fixed a minor bug in QueryDosDeviceW() that causes lpTargetPath buffer to be returned with NULL string terminator placed at the wrong point in the buffer.
[WIN32CSR.DLL]
- Implemented CsrDefineDosDevice() in win32csr.dll, the symbolic links are created in global name space currently.
[SUBST.EXE]
- Implemented a subst.exe clone.
See issue #993 for more details.
svn path=/trunk/; revision=51393
- Check for the correct, just created, registry key. Fix
a wrong comparison. Patch by Thomas Faber.
See issue #6123 for more details.
svn path=/trunk/; revision=51375
* Generate random computer name (REACTOS-xxxxxxx) in Setup. Patch by David Quintana <gigaherz at gmail dot com> modified by me
See issue #6099 for more details.
svn path=/trunk/; revision=51358
Implement gdi pool. An allocator for user mode gdi object attributes.
The old method allocated a 4k page for every object, wasting 4k physical memory and 64k address space (allcoation granularity)
The new allocator creates a per process pool for each object attribute type. Allocations are done from "sections" that start with 1 page and grow dynamically up to 64k, if neccessary a new section is allocated. This will use about 1/10 of memory for dc attributes and 1/512 for brush attributes. Also allocation is way faster. Caching object attributes is not neccessary anymore.
svn path=/trunk/; revision=51357
* Revert part of 37148. One FontGDI is used for fonts with different sizes. Do not cache font metrics then and instead calculate them every time when needed. It fixes spacing in menus if some application uses default GUI font with size other than 11.
See issue #4106 for more details.
svn path=/trunk/; revision=51356
* Computer name length is limited to 15 characters, not 63. Fixes possible buffer overflow
* Spotted by Victor Martinez
svn path=/trunk/; revision=51349
- Move dereferencing of the MessageQueue from co_UserDestroyWindow to co_UserFreeWindow.
A reference is added to the MessageQueue for all windows created.co_UserFreeWindow is called for all windows and needs to be where the dereferencing of MessageQueue occurs.
This fixes NonPagedPool memory leak. See bug 6112 for more info.
svn path=/trunk/; revision=51345
- KbdDispatch: Set Status vice IoStatus.Status for all branches of switch. Use break instead of goto intcontfailure.
The previous code would set Status to what ever was in the IoStatus.Status of the IRP and return that Status.
Some times this would be STATUS_PENDING, which IIRC is a no-no.
This caused the kbdclass to enter into a wait that would never be satisifed hence blocking the keyboard thread.
This should fix the failure of keyboard input bugs.
svn path=/trunk/; revision=51344