• src/conio/sdl_con.c

    From Deuc¿@VERT to Git commit to main/sbbs/master on Sunday, March 14, 2021 03:07:48
    https://gitlab.synchro.net/main/sbbs/-/commit/0634130f732643afcefe1b34
    Modified Files:
    src/conio/sdl_con.c
    Log Message:
    Fix SF #44 problem keypad non-numbers

    Make an exception for all keypad stuff.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Wednesday, March 17, 2021 13:38:49
    https://gitlab.synchro.net/main/sbbs/-/commit/248eb2b590cfc5dee387ad2c
    Modified Files:
    src/conio/sdl_con.c
    Log Message:
    Special-case TAB so "backtab" works properly.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Friday, March 19, 2021 11:05:12
    https://gitlab.synchro.net/main/sbbs/-/commit/1495774a066cb027a3d96cf7
    Modified Files:
    src/conio/sdl_con.c
    Log Message:
    Fix AltGr with SDL2

    This is pretty insane since SDL2 completely ignores the keysym value
    of the X11 keyboard event, so here's what we do...

    1) When there's a keypress that includes right-alt, store the sym/mod
    2) When we get text input, if it's the same as we would get if ALT
    wasn't pressed for the last keydown, parse through the mapping
    (ie: handle ALT keys)
    3) If it's different, use that (gets AltGr modified value)

    I get that AltGr is hard in a cross-platform way, but just pretending
    it doesn't exist at all for key input is a very weird choice.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Thursday, May 13, 2021 00:45:37
    https://gitlab.synchro.net/main/sbbs/-/commit/5f027c495b76aabf182c4905
    Modified Files:
    src/conio/sdl_con.c
    Log Message:
    Keep correct aspect ratio when resizing window.

    Also, the 8x16 font at 80x25 is *not* a square pixel aspect ratio.
    As a result, it now stays "proper", which is likely not what you
    want.

    This was discovered when I was trying to make DigitalMan happy
    because he wanted the apsect ratio retained on scaling.

    Sorry for the impending imminent scaling hassle DigitalMan!

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Thursday, May 13, 2021 01:32:47
    https://gitlab.synchro.net/main/sbbs/-/commit/26def07178f2affe11442bf5
    Modified Files:
    src/conio/sdl_con.c
    Log Message:
    More fallout from non-square pixels...

    This fixes all the window adjustment "stuff", but the new aspect
    ratio enforcement means that ALT-UP and ALT-DOWN are useless for
    resizing the window unless it's not already snapped... use ALT-LEFT
    and ALT-RIGHT to decrease/increase the window size.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Friday, May 14, 2021 16:13:00
    https://gitlab.synchro.net/main/sbbs/-/commit/9aca9bf4b603144ffb46a09f
    Modified Files:
    src/conio/sdl_con.c
    Log Message:
    sdl_con.c can have stdbool.h too.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Friday, May 14, 2021 17:01:09
    https://gitlab.synchro.net/main/sbbs/-/commit/49756aa756b0570337da16e7
    Modified Files:
    src/conio/sdl_con.c
    Log Message:
    Use lround(), not roundl().

    Also, include math.h

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Monday, May 17, 2021 09:39:10
    https://gitlab.synchro.net/main/sbbs/-/commit/e7100fcbd1aae6959c38ee40
    Modified Files:
    src/conio/sdl_con.c
    Log Message:
    Specify HighDPI mode when creating a window.

    This may solve issue where using Windows "DPI scaling" forces the
    window to be scaled.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Monday, May 17, 2021 10:01:07
    https://gitlab.synchro.net/main/sbbs/-/commit/fccd7c1dd05309a672690d0d
    Modified Files:
    src/conio/sdl_con.c
    Log Message:
    Use the API to insist SyncTERM is "High DPI aware"

    Microsoft wants us to use a manifest for this, but I really don't
    feel like digging into however one uses manifest files when not
    using the Microsoft build files.

    Details here: https://docs.microsoft.com/en-us/windows/win32/hidpi/setting-the-default-dpi-awareness-for-a-process

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Sunday, December 25, 2022 21:45:27
    https://gitlab.synchro.net/main/sbbs/-/commit/a194a15736de98517f48a9b3
    Modified Files:
    src/conio/sdl_con.c
    Log Message:
    Various SDL fixes:

    Pass window size in SDL_USEREVENT_SETVIDMODE
    - Fixes race condition where SDL_WINDOWEVENT_RESIZED or
    SDL_WINDOWEVENT_SIZE_CHANGED arraves while
    SDL_USEREVENT_SETVIDMODE is in the queue

    Set new scaling based on old scaling multiplier
    - Will resize window on mode changes, but tries to keep integer
    multiplier similar. May break fullscreen modes, dunno.

    Have aspect_fix() return higher rather than lower
    - This may make it the same as aspect_correct(), but I'm too lazy
    to figure that out.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Monday, December 26, 2022 00:38:10
    https://gitlab.synchro.net/main/sbbs/-/commit/2fa700696c34fb298fd24c7b
    Modified Files:
    src/conio/sdl_con.c
    Log Message:
    Now that SDL_USEREVENT_SETVIDMODE takes a size, we can clean up sdl_setwinsize() and eliminate another race.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Friday, February 10, 2023 19:12:31
    https://gitlab.synchro.net/main/sbbs/-/commit/f47c60792c13c8bd9c4e67c4
    Modified Files:
    src/conio/sdl_con.c
    Log Message:
    Fix a couple issues found by Coverity

    1) Unreachable return without a lock in sdl_useR_func_ret() (harmless)
    2) LOR in handling SDL_USEREVENT
    - vstatlock was obtained inside of win_mutex which should never
    be done... this could (and likely does) result in a deadlock
    when using SDL mode.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Thursday, April 20, 2023 15:12:48
    https://gitlab.synchro.net/main/sbbs/-/commit/6369925c868a8a9485e6627f
    Modified Files:
    src/conio/sdl_con.c
    Log Message:
    Use a local vstat copy instead of cvstat to avoid holding the lock
    for an extended time. Should fix SDL mode slowness.

    Only call RenderPresent() if we called RenderCopy(). Should fix
    SDL mode flickering.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Thursday, April 20, 2023 16:00:27
    https://gitlab.synchro.net/main/sbbs/-/commit/f06029a3889734491909ebe9
    Modified Files:
    src/conio/sdl_con.c
    Log Message:
    Add TODO comment for cvstat.

    When originally created, it was intended to be accessed only by a
    single thread, and therefore not need mutex protection, allowing
    less code to run with vstatlock held. Unfortunately, this is not
    how it turned out, so cvstat should either be removed, or it should
    actually be cleaned up to work as intended.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Friday, April 21, 2023 10:26:55
    https://gitlab.synchro.net/main/sbbs/-/commit/fdce00a456a33dc858067aef
    Modified Files:
    src/conio/sdl_con.c
    Log Message:
    Push cvstat into sdl_video_event_thread() stack

    This makes cvstat work as intended, so we no longer need to lock
    vstatlock when accessing it since it's only accessed from the
    video event thread.

    There's still an irritating dependency on vstat for ALT-Enter handling.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Friday, April 21, 2023 10:26:55
    https://gitlab.synchro.net/main/sbbs/-/commit/22c8b09f824496b7c68e599e
    Modified Files:
    src/conio/sdl_con.c
    Log Message:
    Get vstat out of sdl_add_key() path

    This should almost completely remove vstatlock contention in SyncTERM,
    which should bring SDL output performance close to X11 performance.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Tuesday, April 25, 2023 09:41:15
    https://gitlab.synchro.net/main/sbbs/-/commit/832871707fc3f2d37ff1891d
    Modified Files:
    src/conio/sdl_con.c
    Log Message:
    On a window resize event, only set the window size if it's different

    Fixes issue on Linux where the window size is constantly updated,
    and window rabidly steals focus.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Wednesday, April 26, 2023 10:39:20
    https://gitlab.synchro.net/main/sbbs/-/commit/defc638c9f1cc95ca234a780
    Modified Files:
    src/conio/sdl_con.c
    Log Message:
    Check SDL window size when checking if size changed.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Saturday, April 29, 2023 10:42:01
    https://gitlab.synchro.net/main/sbbs/-/commit/47977472de4bfce66f1bd4d1
    Modified Files:
    src/conio/sdl_con.c
    Log Message:
    Don't treat numpad /*-+ differently based on NumLock in SDL

    This caused double-keys on those when numlock was off. Only the
    number keys and period need special NumLock handling.

    Fixes bug 108 on SourceForge, thanks nelgin!

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Thursday, May 04, 2023 07:21:50
    https://gitlab.synchro.net/main/sbbs/-/commit/9137e82c9afa91f0c0647c70
    Modified Files:
    src/conio/sdl_con.c
    Log Message:
    Fix warnings reported by Digitalman

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Friday, May 05, 2023 21:29:01
    https://gitlab.synchro.net/main/sbbs/-/commit/875c77ea0bc774be2c2a4f67
    Modified Files:
    src/conio/sdl_con.c
    Log Message:
    Resolve GCC warnings: cast from pointer to integer of different size

    Pretty sure this is what intptr_t was created for.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Sunday, May 14, 2023 20:26:56
    https://gitlab.synchro.net/main/sbbs/-/commit/4af4effb3148c0c695e56ad1
    Modified Files:
    src/conio/sdl_con.c
    Log Message:
    Fix deadlock in SDL mode.

    sdl_getscaling() does not require vstatlock. Move it out.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Thursday, June 01, 2023 13:58:12
    https://gitlab.synchro.net/main/sbbs/-/commit/978d4d0b7b64a39a30092e57
    Modified Files:
    src/conio/sdl_con.c
    Log Message:
    Use cast instead of pointer math to fix Win32 build

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Saturday, June 03, 2023 18:14:04
    https://gitlab.synchro.net/main/sbbs/-/commit/268893cc9b77f7e96343bb11
    Modified Files:
    src/conio/sdl_con.c
    Log Message:
    When switching from fullscreen mode, recalculate win size.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Saturday, February 17, 2024 10:36:15
    https://gitlab.synchro.net/main/sbbs/-/commit/7c44187868e59355f598180a
    Modified Files:
    src/conio/sdl_con.c
    Log Message:
    For SDL mode, ensure rect matches vstat as well.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Sunday, March 17, 2024 12:29:59
    https://gitlab.synchro.net/main/sbbs/-/commit/960cee2703cd4650f2805d4f
    Modified Files:
    src/conio/sdl_con.c
    Log Message:
    Do not attempt to clean up SDL unless it was initialized.

    Should fix js test suite on darwin.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Sunday, March 17, 2024 14:30:07
    https://gitlab.synchro.net/main/sbbs/-/commit/d281862b290f8ee309892e63
    Modified Files:
    src/conio/sdl_con.c
    Log Message:
    Call exit() from exit_sdl_con if ciolib_reaper is enabled and SDL is not initialized.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Sunday, March 17, 2024 14:31:06
    https://gitlab.synchro.net/main/sbbs/-/commit/ea900928153cef278cf404bc
    Modified Files:
    src/conio/sdl_con.c
    Log Message:
    Revert last change reaper is explicitly disabled here.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net