Bug 8502 - Upgrade FLTK
Summary: Upgrade FLTK
Status: CLOSED FIXED
Alias: None
Product: ThinLinc
Classification: Unclassified
Component: Build system (show other bugs)
Version: trunk
Hardware: PC Unknown
: P2 Normal
Target Milestone: 4.19.0
Assignee: Adam Halim
URL:
Keywords: aleze_tester, prosaic
Depends on:
Blocks: 5272 7818 8485 8503
  Show dependency treegraph
 
Reported: 2025-01-29 16:19 CET by Alexander Zeijlon
Modified: 2025-03-19 09:01 CET (History)
2 users (show)

See Also:
Acceptance Criteria:
MUST: * FLTK should be upgraded to the latest stable version SHOULD: * Packages that FLTK depend on should be upgraded to the latest stable version


Attachments

Description Alexander Zeijlon cendio 2025-01-29 16:19:32 CET
We want to upgrade FLTK and its dependencies in preparation for the upcoming sync with upstream TigerVNC.
Comment 2 Samuel Mannehed cendio 2025-01-30 16:35:47 CET
Note that the 1.4 version of FLTK doesn't work with TigerVNC. We should look at the latest release on the 1.3 branch.
Comment 6 Adam Halim cendio 2025-02-03 10:32:45 CET
Upgrading fltk to 1.3.10 breaks fullscreen on macOS. There are some fixes [1] that are supposed to come with 1.3.11 which should be released any time now. Let's try using branch-1.3 for now.

[1] https://github.com/fltk/fltk/issues/1192
Comment 7 Adam Halim cendio 2025-02-03 11:25:42 CET
(In reply to Adam Halim from comment #6)
> Upgrading fltk to 1.3.10 breaks fullscreen on macOS. There are some fixes
> [1] that are supposed to come with 1.3.11 which should be released any time
> now. Let's try using branch-1.3 for now.
Correction, the fixes coming with 1.3.11 are not relevant for us.

I tested upgrading to fltk 1.3.9 instead, and fullscreen works as expected there. The issue is somewhere between 1.3.9 and 1.3.10.
Comment 8 Adam Halim cendio 2025-02-03 16:56:46 CET
The seems to have been fixed upstream [1]. I could confirm by building TigerVNC and ThinLinc client using branch-1.3.


[1] https://github.com/fltk/fltk/commit/c970ab99d81786d19cce1715706f70c5f3d5c141
Comment 9 Adam Halim cendio 2025-02-04 11:15:27 CET
(In reply to Adam Halim from comment #8)
> The seems to have been fixed upstream [1]. I could confirm by building
> TigerVNC and ThinLinc client using branch-1.3.
Looks like full screen on macOS with ThinLinc client still isn't quite right.

When using full screen and "Send system keys" is unchecked, if you open up the settings (F8 -> Options) and close them again, or if you click somewhere on another screen, the system top bar & bottom launcher are visible and won't disappear.

This does not happen when building TigerVNC-master with the same FLTK version.
Comment 10 Adam Halim cendio 2025-02-04 12:37:38 CET
(In reply to Adam Halim from comment #9)
> This does not happen when building TigerVNC-master with the same FLTK
> version.
Correction, this does not happen when building TigerVNC-master using a *modern* macOS SDK. This issue persists in ThinLinc client when building through Cenbuild.
Comment 11 Adam Halim cendio 2025-02-06 16:53:04 CET
The macOS fullscreen issues have been fixed as of the 1.3.11 release.

I've tested building tlclient after the TigerVNC vendor drop using FLTK-1.3.11 on macOS, Windows 10/11 & Fedora 40/41.

━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━━━━━━
  Grab & Focus  │ Fedora  Windows Mac
────────────────┼────────────────────────
 Fullscreen all │ ✓         ✓      ✓
────────────────┼────────────────────────
 Fullscreen one │ ✓         ✓      ✓
────────────────┼────────────────────────
 Minimize       │ ✓         ✓      ✓
────────────────┼────────────────────────
 Click outside  │ ✓         ✓      ✗*
────────────────┼────────────────────────
 Disabled grab  │ ✓         ✓      ✓
━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━━━━━━

* Bug 7782 (Not a regression)

━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━━━━━
    Gestures    │ Fedora  Windows  Mac
────────────────┼───────────────────────
 Longpress      │    ✓      ✓       -
────────────────┼───────────────────────
 Two-finger tap │    ✓      ✓       -
────────────────┼───────────────────────
 Scroll         │    ✓      ✓       -
────────────────┼───────────────────────
 Zoom           │    ✓      ✓       -
────────────────┼───────────────────────
 Drag and drop  │    ✓      ✓       -
━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━━━━━

━━━━━━━━━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━━━━
      Other stuff       │ Fedora  Windows  Mac
────────────────────────┼──────────────────────
 Options window look OK │    ✓     ✓      ✓
────────────────────────┼──────────────────────
 Middle mouse emulation │    ✓     ✓      ✓
━━━━━━━━━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━━━━
Comment 13 Adam Halim cendio 2025-02-06 17:14:57 CET
(In reply to Adam Halim from comment #11)
> I've tested building tlclient after the TigerVNC vendor drop using
> FLTK-1.3.11 on macOS, Windows 10/11 & Fedora 40/41.
Tested GNOME with X11 and Wayland, as well as x86 and ARM macOS
Comment 14 Alexander Zeijlon cendio 2025-02-17 14:39:59 CET
I tested a few additional setups, running the client on different Linux dists, running the client from within a session on the dists below:

━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  Grab & Focus  │ RHEL9  SLES 15  Ubuntu 24.04
────────────────┼─────────────────────────────
 Fullscreen all │   ✓       ✓         ✓
────────────────┼─────────────────────────────
 Fullscreen one │   ✓       ✓         ✓
────────────────┼─────────────────────────────
 Minimize       │   ✓       ✓         ✓
────────────────┼─────────────────────────────
 Click outside  │   ✓       ✓         ✓
────────────────┼─────────────────────────────
 Disabled grab  │   ✓       ✓         ✓
━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

━━━━━━━━━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
      Other stuff       │ RHEL9  SLES 15  Ubuntu 24.04
────────────────────────┼─────────────────────────────
 Options window look OK │   ✓       ✓         ✓
────────────────────────┼─────────────────────────────
 Middle mouse emulation │   ✓       ✓         ✓
━━━━━━━━━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Comment 15 Alexander Zeijlon cendio 2025-02-17 15:43:56 CET
Maybe a bit unnecessary, but I re-verified that full screen works as before (i.e. without any regression) on macOS, since this is a central and very visible feature in our client, and it works as Adam says in comment 11.

Furthermore, I looked through the commits done for upgrading of libpng, libjpeg, ImageMagick and FLTK. There were also some clean-up done in the build scripts which will make future upgrades easier to do!

Closing.

Note You need to log in before you can comment on or make changes to this bug.