antonioginer/switchres

Linux: Fix SDL bug that causes graphics corruption

Opened this issue · 1 comments

Fix SDL bug that causes graphics corruption when the new resolution is bigger than current desktop size. Probably linked to the initial size assigned at windows creation.

The issue is related to the size of the screen buffer being less than the new resolution. SDL2 does not modify the screen size when a new mode is set.
In SR with -modesetting, the screen is resized and it fixes the issue.

Linked to SDL2, the origin of the screen is not updated after SDL2 video init is performed. It can be patched to calculate origin when usable boundaries function is called. Nevertheless, it would be better if the X notify event is used to address any screen modification performed outside of SDL2 during execution.