- May 01, 2023
-
-
Deucе authored
-
- Apr 30, 2023
-
-
Rob Swindell authored
-
Rob Swindell authored
I don't think it would've even been possible to match these expressions without the tilde.
-
Rob Swindell authored
After a negative-match of a Guru expression, we were searching for the next '(' anywhere in the subsequent chars of the file rather than just the next line that started with an open-parenthesis character. This bug was the secondary cause of the buffer-overflow crash addresseed in commit 86150e0a which was triggered by my recent updates to the guru.dat.
-
Deucе authored
Create a proper aspect fix function Centre bitmap in window with correct aspect ratio Fix cursor at resize points Explicitly set high DPI awareness Don't snap window larger than allowed Since this is the newest/simplest display driver, I'm going to use this to decide how to do scaling in general so I can abstract that into shared code to ensure all drivers have the same scaling behaviour. I haven't tested mouse on windows with black bars yet though, so I assume that's broken...
-
Rob Swindell authored
The 'list' member was allocated by iniParseSections() but never freed. Caught be Nelgin's recent valgrind report, e.g.: ==2725235== 56 bytes in 1 blocks are indirectly lost in loss record 82 of 191 ==2725235== at 0x484DCD3: realloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so) ==2725235== by 0x4FA351C: strListAnnex (in /home/bbs/sbbs/repo/src/sbbs3/gcc.linux.x64.lib.release/libsbbs.so) ==2725235== by 0x4F9ADDE: iniParseSections (in /home/bbs/sbbs/repo/src/sbbs3/gcc.linux.x64.lib.release/libsbbs.so) ==2725235== by 0x49F1F0A: read_chat_cfg (in /home/bbs/sbbs/repo/src/sbbs3/gcc.linux.x64.lib.release/libsbbs.so) ==2725235== by 0x49E8BF1: load_cfg (in /home/bbs/sbbs/repo/src/sbbs3/gcc.linux.x64.lib.release/libsbbs.so) ==2725235== by 0x5C14C75: ftp_server (in /home/bbs/sbbs/repo/src/sbbs3/gcc.linux.x64.lib.release/libftpsrvr.so) ==2725235== by 0x5D5AB42: start_thread (pthread_create.c:442) ==2725235== by 0x5DEBBB3: clone (clone.S:100)
-
Deucе authored
Will be needed once scaling works properly.
-
Deucе authored
Load icon from resource file implement seticon() While the features are all there, some are buggy. Scaling is wrong for example, and keyboard input may do weird things if shift or control are held when you take focus away from the window, then release them when the focus is elsewhere, then re-focus the window. This should only impact extended keys (ie: ones that don't send a character to the remote).
-
Rob Swindell authored
-
Deucе authored
-
- Apr 29, 2023
-
-
Deucе authored
-
Deucе authored
-
Deucе authored
Instead, only delete it if the size has changed since the last frame. This should make things snappier.
-
Deucе authored
While we're here, eliminate some explicit int64_t usage. (not sure why uifc_winmode_t is signed since it's a bitfield, but that's above my pay grade).
-
Deucе authored
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!
-
Deucе authored
Add setwinsize and setwinpos Move blit from rect into gdi_thread Add beep support Add (non-functional) settitle support Support ciolib scaling in addition to GDI scaling Add window-size snapping Support -iG in SyncTERM GDI is still the second-least preferred mode, so auto mode will only use it if the windows console somehow fails. But at least people can play with it.
-
Rob Swindell authored
The trigger was this line in the recent change to guru.dat: Unrealized potential. :-( That open paren was parsed as the beginning of a new guru expression. A very long guru expression that overflowed the stack variable 'str' here.
-
Deucе authored
-
Deucе authored
Add setwinsize and setwinpos Move blit from rect into gdi_thread Add beep support Add (non-functional) settitle support
-
Deucе authored
When running Windows 11 in a VirtualBox VM, Sleep(1) appears to take much more than 1ms to return. This causes large delays drawing menus using WIN_DYN (as SyncTERM does). If WIN_DYN is set, just use kbhit() with no delay. Leave the delay there for !WIN_DYN though. This should generally speed up SyncTERM menu navigation as there was a 50ms delay for each menu on the screen.
-
Deucе authored
-
Deucе authored
-
Deucе authored
-
Deucе authored
-
- Apr 28, 2023
-
-
Rob Swindell authored
unresolved external symbol _try_gdi_init referenced in function initciolib Function is dependent on WITH_GDI, not _WIN32
-
Deucе authored
There was a lot of weird things going on to avoid locking vstatlock inside of screenlock. Simply this by copying needed vstat stuff while we hold the lock.
-
Deucе authored
Also, get SyncTERM to stop displaying (null) as the mode. Video is very slow in the menus, and the input appears to repeat forever when connected (but *not* in the menus), but it's something at least.
-
Rob Swindell authored
You can see some of these is in a msg_hdr.field_list, but these you won't: - SMB_GROUP (never added by anything) - RFC822MSGID (already represented by the id property) - RFC822REPLYID (already represented by the reply_id property)
-
Deucе authored
-
Deucе authored
This will allow a "true" Windows native version, and hopefully be at least as good as SDL mode so I can relegate that to a backup.
-
- Apr 27, 2023
-
-
Rob Swindell authored
DDMsgReader: In MsgHdrPropIsKludgeLine(), removed checks for X-FTN-* fields, since those shouldn't exist See merge request !289
-
Stephen Hurd authored
Some Linux systems ship with a reentrant ncurses library that does not have an ESCDELAY variable. For now, simply don't allow control over ESCDELAY on the systems since we also currently have a global, and so can't use set_escdelay() as intended. Also, in ripper, stub out all the stuff that's used when HAS_VSTAT is not defined. This makes most of the code not compiled when it's useless anyway.
-
- Apr 26, 2023
-
-
Deucе authored
This works around an issue on macOS and Linux where a select() or poll() in thread X won't return when close() is called on the same socket in thread Y. We also set the descriptor/handle/whatever to an invalid value while waiting for io threads to terminate so that a close() in one thread won't cause other threads to possibly interact with a new descriptor created after the close(). This isn't actually something that can happen in SyncTERM, but it's worth protecting against. Finally, don't call close() until after all io threads have terminated. This prevents the descriptor from becoming available to other syscalls while threads are closing, and prevents operations on an invalid descriptor. This is still not safe on platforms where a descriptor value write is not atomic, but I don't think I support any platform like that. Reported as #212 in github, and 75 on SourceForge.
-
Deucе authored
RIP initialization was trying to obtain a lock that only exists when using a bitmap console. Don't allow RIP to be enabled, and don't perform the operations that require the lock when the CONIO_OPT_SET_PIXEL ciolib option is not set.
-
Eric Oulashin authored
DDMsgReader: In MsgHdrPropIsKludgeLine(), removed checks for X-FTN-* fields, since those shouldn't exist
-
Rob Swindell authored
DDMsgReader: When viewing message headers, now shows all available message header values See merge request !288
-
-
Deucе authored
-
Deucе authored
-
Deucе authored
-