when the previous title differs from the current title
(X11) Have to roll back the previous title optimization/less calls to XChangeProperty,
because the title is lost upon toggling between fullscreen/windowed and is no longer
set
at regular intervals even when the title output for the window title had not
changed at all, now we compare it properly against the last set title, and
only if it has changed will we make the call to XChangeProperty. Also, do
away with strlen(title) calculation and use return value of
video_driver_get_window_title instead
Most DEs have the tendency to lose focus when monitor is getting swapped or the resolution changes.
That causes X11 exiting fullscreen and setting a lower resolution to fit desktop.
Pushing the window back to top, automatically fixes that and X11 enforces fullscreen again and new max resolution.
Additionally, XConfigure events are now checked and preferred over XGetWindowAttributes.
That saves several to hundreds μs per frame.
BFI support added for 180hz / 240hz / etc. Solves issue with image retention from voltage issues at 120hz BFI. Also disabled BFI while in menu, as if set to an incorrect value for the current refresh rate, could cause severe flickering and difficulty reverting to the correct value.
Fixes the following -Werror warnings with C89_BUILD=1 and clang.
gfx/common/x11_common.c:407:17: warning: ISO C90 forbids mixing declarations and code [-Wdeclaration-after-statement]
Status status = 0;
^
libretro-common/formats/libchdr/chd.c:639:12: warning: ISO C90 forbids mixing declarations and code [-Wdeclaration-after-statement]
uint8_t *sector = &dest[framenum * CD_FRAME_SIZE];
^
libretro-common/formats/libchdr/chd.c:723:12: warning: ISO C90 forbids mixing declarations and code [-Wdeclaration-after-statement]
uint8_t *sector = &dest[framenum * CD_FRAME_SIZE];
^