https://gitlab.synchro.net/main/sbbs/-/commit/b4ce023c8bc4ea2d936bbd2a
Modified Files:
src/conio/x_cio.c x_cio.h x_events.c x_events.h
Log Message:
Overhaul of X support
Create initial window at final size to avoid extra resize at start
- Load vmode before initializing the window
Track scaling whenever the X window is adjusted
Replace x11_window_height/x11_window_width with vstat.winwidth/vstat.winheight Resize zim from init_mode_internal() to ensure it tracks current size on initial expose
Honour ciolib_initial_scaling
Check xim validity in local_draw_rect() in case of race
Add check to prevent divide-by-zero in handle_resize_event()
Use vstat for current on-screen info, and x_cvstat for desired info
- This allows using vstat.scaling in place of old_scaling
Have scaling set use a new mutex-protected variable
Fill in local_draw_rect() so we don't miss expose
Set max window size based on user area (or root window size if not available) The WM Cyan uses may hate this...
This absolutely *must* fix the issue in SF ticket 103.