You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There's instances in the cromwell code base of cursor offsets that are not aligned on 4 byte boundaries.
The font render code does not check for this and results in incorrect bytes being set in the framebuffer. In some cases it could even result in writing to areas outside of the frame buffer.
As a minimum, this function should check VIDEO_CURSOR_POSX is divisible by 4 and fix before passing the framebuffer pointers.
There's instances in the cromwell code base of cursor offsets that are not aligned on 4 byte boundaries.
The font render code does not check for this and results in incorrect bytes being set in the framebuffer. In some cases it could even result in writing to areas outside of the frame buffer.
As a minimum, this function should check VIDEO_CURSOR_POSX is divisible by 4 and fix before passing the framebuffer pointers.
cromwell/drivers/video/BootVideoHelpers.c
Line 323 in 82ad76f
The most prominent issue of this is the below comparisons in the Text menu titles. The colour should be purple.
![cromwell_bad](https://user-images.githubusercontent.com/21236406/82389721-06dd2580-9a7c-11ea-8c3a-079a11a08d39.PNG)
Bad:
Cursor Positions Adjusted correctly:
![cromwell_good](https://user-images.githubusercontent.com/21236406/82389747-152b4180-9a7c-11ea-8778-8c31c5a6701c.PNG)
An example of bad cursor position is here. The above example was created by changing X cursor position to 72.
cromwell/menu/textmenu/TextMenu.c
Lines 38 to 39 in 82ad76f
The text was updated successfully, but these errors were encountered: