- Cosmetic fix: initialize pushlocks using a special macro, not by assigning 0 to its value.
See issue #3352 for more details.
svn path=/trunk/; revision=34000
- GDIOBJ_FreeObjByHandly: unlock handle table entry when object to delete was locked
- REGION_AllocRgnWithHandle: unlock region before trying to delete it on failure
Now gdi32_winetest clipping doesn't freeze ros anymore
svn path=/trunk/; revision=33995
- fix a test name
- comment out more tests for EngReleaseSemaphore, they cause heap corruption on ros
- convert more TEST -> RTEST
svn path=/trunk/; revision=33994
- Hackmove: Define NTDDI_VERSION in kernel32, otherwise it gets derived from WINVER version (and thus kernel32 becomes Vista). This allows to remove #undef NTDDI_VERSION from ndk/obtypes.h.
svn path=/trunk/; revision=33990
This patch has already been submitted to Wine, but as they don't care currently, I applied it manually here and updated "comctl32_ros.diff" accordingly.
Patch by Timo Kreuzer
svn path=/trunk/; revision=33985
This patch has already been submitted to Wine, but as they don't care currently, I applied it manually here and updated "wininet_ros.diff" accordingly.
svn path=/trunk/; revision=33984
- Make use of the SARCH rbuild parameter to define the target board (default to ARM VersatilePB for now)
- Make official ARM include directory (include/reactos/arm) and move the ARM DDK there
- Start creating header files for different target board components.
- Update halfuncs in NDK with one missing function, and temporarily, one ARM function.
svn path=/trunk/; revision=33979
- Implement KiInitMachineDependent -- this is only useful for x86 and has nothing relevant to ARM, so we just return.
- Implement HalAllProcessorsStarted (again, a no-op) and HalQueryRealTimeClock (uses the RTC on the board -- uboot must set it up first).
- Make sure we get the right Sp during a system call (this is still broken though).
- We need to fix our system call handler next.
svn path=/trunk/; revision=33977
- Don't implement BitBlt for now.
- Add the bootdata font file to the arm bootvid as well.
- Not sure how it's possible, but we are seeing text output on the console with this hacked-up code! The ReactOS version string appears...
- We are now getting much further in the boot cycle.
svn path=/trunk/; revision=33976
- Don't hang in the clock interrupt anymore, for now we'll just ignore it (but it works! :D)
- Make all unimplemented bootvid functions hang the system, so we can better stop at progress-points.
- Implement VidInitialize:
- We allocate a 640x480@16bpp framebuffer using contiguous physical memory (our MMU code survives!).
- We setup the LCD controller timings and framebuffer address.
- We enable the LCD
- For debugging, we're also drawing a nice little test pattern... and it works! We have GUI Code :)
svn path=/trunk/; revision=33974
- Stub out all the bootvid functions for ARM, and add an infinite loop so we stop there.
- Remove the infinite loop from the HAL -- Hal Initialization is complete.
- We must now implement the LCD graphics functions.
svn path=/trunk/; revision=33973
- Since we have two timers (ha x86!!!), set the second one as the stall timer. It's a one-shot periodic timer, set to the exact number of microseconds being waited on.
- To fully emulate stalling, we don't use a clock interrupt for it (it supports not sending one!) and just busy-loop until the value reaches 0.
- Tried it with a 10 second (10000000 us) wait and it worked -perfectly-.
- Re-implemented KeStallExecutionProcessor and got rid of the other code. Back in HalInitSystem(phase1) now...
- Also killed some DPRINT1s getting on my nerves.
svn path=/trunk/; revision=33971
- We are now back to HalInitSystem just like before the previous fixes.
- Now we'll implement stall calibration and switch to the clock interrupt.
svn path=/trunk/; revision=33970
- Also written KeStallExecution.
- Now, we are back to where we hang before Phase 1 (so Phase 1 doesn't occur anymore).
- This hang is because we used to do a DPC here, which isn't good, since IRQL is already at dispatch.
- Instead, the correct course of action is to enter the idle loop, which will schedule the phase 1 thread.
- But, we don't have an idle loop yet ;-)
svn path=/trunk/; revision=33969
- Get rid of KeSwapIrql -- both lower and higher IRQL handling was treated the same!
- We can now re-activate the assert in the IRQL code
- Disable interrupts before changing the interrupt mask!!!
- And re-enable them solely if they were enabled.
- Clear interrupts mask before setting a new one -- raising isn't always additive!
- Fix KiInterruptHandler to perform operations in the right order.
- Finish implementing interrupt exit code.
- Code KeArmStatusRegisterGet to read CPSR and interrupt status.
- Make debug prints a lot more readable and dont trying to acquire the stack during pool allocations.
- Setup the clock interval timer!!!
- This code regresses progress but makes stuf fwork right. We'll get better after implementing the stall interrupt.
svn path=/trunk/; revision=33967
This function is meant to be used for a single menu item info and just frees the memory allocated for dwTypeInfo.
Replaced this with a simple HeapFree call to free the memory for the whole array allocated in MenuGetAllRosMenuItemInfo.
Fixes a heap corruption discovered by encoded.
See issue #3349 for more details.
svn path=/trunk/; revision=33959
- First of all, MenuSetItemData is only called from InsertMenuA/W and ModifyMenuA/W.
Therefore the passed MENUITEMINFO structure will always be empty, so it makes no sense to check for flags in this structure.
This way, I could simplify the code block for MF_BITMAP.
- Also fType = MFT_BITMAP and fMask = MIIM_BITMAP at the same time passed to win32k don't work.
Changing this back to only set fMask fixes bitmap menus.
- Furthermore the data for MF_OWNERDRAW is really stored in dwItemData and not in dwTypeData.
The MSDN documentation for InsertMenu applies here, not the one for the MENUITEMINFO structure.
This fixes owner-drawn menus like the one in Abiword.
See issue #3272 for more details.
svn path=/trunk/; revision=33958