Skip to content

CppDesk 3.7.0

Choose a tag to compare

@oocsng oocsng released this 07 Nov 14:16
· 52 commits to main since this release

Downloads

  • Windows (x64): Download CppDesk.exe (standalone portable executable, no installation required).

What's New in CppDesk 3.7.0

  • Native Linux X11 Host and Viewer: Added support for Linux under X11 environments. Features MIT-SHM shared memory capture with XGetImage fallback, Xrandr multi-output detection, XTest synthetic keyboard and mouse injection with full KeySym mapping and mutex synchronization, and a lightweight native X11 canvas window (src/ui/ui_window_linux.cpp) with aspect ratio letterbox bounds checking.
  • Decoder Stability and Crash Prevention: Added setjmp/longjmp custom error management to TileCodec::decodeJpeg and TileCodec::decodeJpegIntoCanvas, preventing process termination when decoding malformed or truncated network packets.
  • Memory Safety Hardening: Fixed pointer cleanup in X11 frame capture and window teardown, clearing buffer pointers prior to XDestroyImage to avoid double-free heap corruption.
  • POSIX Portability Across Core Modules: Replaced or guarded Win32-specific APIs across all core networking, updater, audio, and capture components with POSIX fallbacks, allowing clean compilation on Linux without Windows SDK dependencies.
  • Headless Server Daemon Flags: Added command-line flags (--daemon, --service-run, --host-only) enabling headless background host execution without a local graphical display.
  • Automated Verification: Expanded test suite to 52 test suites with 31,632 passing assertions covering Linux KeySym translation, clipboard operations, and cross-platform abstractions.