The freetype asm function FT_MulFix clobbers the edx register, but doesn't tell it to gcc explicitly, so when inlined versions were resulting in wrong results. Fix it by also marking edx as output register.
Also enable commented out code in win32k again that works correctly now.
By me:
I modified the patch to not alter any 3rd party code, but instead I copied the fuction to _ftmulfix_ros.c and also coplied the container file ftbase.c which now uses the fixed function from our private file.
This fixes a bunch of text output issues (underscore, text marking)
See issue #3346 for more details.
svn path=/trunk/; revision=33951
- Add bounds checking for GetSystemMetrics both in user32 and in kernel counterpart.
- Based on a patch from bug 3316.
See issue #3316 for more details.
svn path=/trunk/; revision=33947
- Minor patch to HEAP_GetPtr to include magic value in debug output.
- Fixing the parameters checking in HEAP_InitSubHeap (it is currently not used - put between #if 0 / #endif ).
- Correcting HEAP_FindFreeBlock which was logging error message as warning (while still returning NULL to caller) by changing severity of logged message.
- Implementing RtlEnumProcessHeaps (previously stubbed out).
- Fixing sanity checks in and implementation of RtlGetProcessHeaps (previously
the function was not checking for the counter value, and also was not assigning anything to the returned value; now this seems to be corrected.
- Fixing RtlValidateProcessHeaps implementation (the function was stubbed out because (most probably, I wasn't able to find a bug mentioning this) it was previously using a global lock for all heaps (which probably could cause some problems in the kernel), now it only locks heaps belonging to the given process - and this is the correct behaviour.
Aleksey Bragin <aleksey@reactos.org>
- Fix typo in ntuser.c, and low severity of debug message.
See issue #2964 for more details.
svn path=/trunk/; revision=33945
- This fixes an issue where code was using PCR->CurrentThread but x86/shared routines use PRCB->CurrentThread.
- Added a note to explain the difference, and we now set both.
- We currently stop at Phase 1 HAL Initialization.
svn path=/trunk/; revision=33940
- We completely ignore setting the thread to the right scheduler state, and don't do any APC delivery checking, or any other work.
- We now implement a basic KiThreadStartup, which behaves properly (we believe). Doesn't handle user-mode threads yet, though.
- This gets us through PspSystemThreadStartup, and..
- We now reach Phase1InitializationDiscard! A major step has been reached, now it's time to cleanup what has been done until now and verify it to be correct.
- Then we move on... the next two things will be 1) Hal Initialization (setting up the timer) and 2) Displaying the boot logo.
- Graphics will require using the PL-110 LCD Controller.
svn path=/trunk/; revision=33937
- The only things we do are swap the stack and then display the old/new thread/stack.
- More work to be done to actually save the non-volatiles, prepare the thread state, and restore the volatiles for the new thread.
- Then we will return to the saved return address, and we should be in Phase 1 with working thread switching/scheduling.
svn path=/trunk/; revision=33935
- _iob is already defined as a dll_import
- _rotl intrinsic is now implemented (should use rol instruction, but not sure on the syntax!)
- Add a stub psctx.h for ARM
- Added InterlockedEXchangePointers
- Fix uninitialized variable warning in ex/resource.c
- Start to implement interrupt handling:
- We now have a rudimentary interrupt handler that takes care of software interrupts
- We now have a rudimentary DPC handler which takes care of switching to the next thread, if any
- We now setup the HAL Interrupt Source -> IRQL Table (The IRQLMask Table).
- Implemented HalGetInterruptSource, which allows us to get the interrupt # that cause the IRQ.
Note: this wasn't needed on Alpha/PPC/MIPS NT ports, because that information is stored on the CPU,
and the kernel could read it -- we must abstract it through the HAL.
- Add the OldIrql to the TRAP_FRAME, we don't use it yet.
- We are now ready to context switch to the Phase 1 thread.
svn path=/trunk/; revision=33933
- In Kd and GDB exception handler wrappers, return FALSE if kdDoNotHandleException, and return TRUE otherwise (kdHandled / kdContinue). After my previous commit these functions were always returning FALSE / exception not handled.
svn path=/trunk/; revision=33929
- Leave and refactor existing underlying linux-code based sprintf implementation into lnx_ prefixed functions.
- Misc source code and headers cleanup.
- Fixes bugs 2910, 2803.
See issue #2803 for more details.
svn path=/trunk/; revision=33927
- Give the Run Dialog resources a default title (only done in German and English resources so far, others still need to be done)
- Add support for passing no title to RunFileDlg, so that it uses the default title
- Pass no hardcoded english title in Explorer and Task-Manager.
I slightly modified the patch to also remove the other hardcoded text passed in Explorer.
See issue #3340 for more details.
svn path=/trunk/; revision=33919
Fix a memory leak.
Enable the Apply button when the users full name or description is changed.
- Group properties:
The group description can be changed.
Update the group list when the group description changes.
svn path=/trunk/; revision=33901