Bug 6116

Summary: ThinLinc uses old version of FLTK
Product: ThinLinc Reporter: Pierre Ossman <ossman>
Component: Build systemAssignee: Pierre Ossman <ossman>
Status: CLOSED FIXED    
Severity: Normal CC: astrand, hean01, samuel
Priority: P2 Keywords: prosaic, samuel_tester
Version: trunk   
Target Milestone: 4.10.0   
Hardware: PC   
OS: Unknown   
Acceptance Criteria:
* FLTK should by upgraded to the latest suitable 1.3.x version (1.3.4, or 1.3.5 development version if that seems better) * FLTK dependencies should be upgraded (e.g. fontconfig, libXrender)
Bug Depends on: 7158, 7245    
Bug Blocks: 1122    
Attachments: patch for initial size on macOS
Patch set for upgrading to 1.3.4

Description Pierre Ossman cendio 2016-12-27 18:16:42 CET
We're currently on 1.3.3, but 1.3.4 is out. We should be using the latest code given how much we rely on FLTK in TigerVNC. Debugging and developing new features against an old version can be a wasted effort.
Comment 1 Pierre Ossman cendio 2017-05-22 17:06:25 CEST
Created attachment 807 [details]
patch for initial size on macOS

Unfortunately 1.3.4 isn't without bugs. Discovered the first one now via TigerVNC. And upstream development of 1.3.x is over in favour of 1.4.x.

This is a partial revert of r10860, which breaks the situation where the macOS window manager gives us a different window size than requested.

Error reported to TigerVNC here:

https://groups.google.com/forum/#!topic/tigervnc-users/3Xg-F6triJA
Comment 2 Peter Åstrand cendio 2018-04-23 15:14:42 CEST
(In reply to comment #1)
> Created an attachment (id=807) [details]
> patch for initial size on macOS
> 
> Unfortunately 1.3.4 isn't without bugs. Discovered the first one now via
> TigerVNC. And upstream development of 1.3.x is over in favour of 1.4.x.
> 
> This is a partial revert of r10860, which breaks the situation where the macOS
> window manager gives us a different window size than requested.

Perhaps not required after this fix:

------------------------------------------------------------------------
r12326 | manolo | 2017-07-18 16:34:44 +0200 (tis, 18 jul 2017) | 1 line

Simplify handling of the windowDidMove notification since MacOS 10.10
------------------------------------------------------------------------
Comment 3 Peter Åstrand cendio 2018-04-25 10:18:23 CEST
Wrt versions, there are:

* 1.3.4. No longer available directly from http://www.fltk.org/software.php (but from http://fltk.org/pub/fltk/1.3.4/fltk-1.3.4-source.tar.gz etc)

* 1.3.4-1. The only change is:
         - Fix Windows IDE solutions VisualC2008 and VisualC2010 to
          build properly if the FLTK source directory is located
          in a path that contains spaces.

* 1.3.4-2. The only change is:
        - Add support for Mac OS 10.13 'High Sierra'

However, this change has not been recorded in "CHANGES" in SVN, and there's no SVN tag. Also note that both these two releases have a -1/-2 suffix, which might be problematic with RPM. 

* There's also the trunk code, which is work towards 1.3.5. This includes a lot more fixes for macOS 10.13; the preliminary changelog for 1.3.5 again says:

- Added support for MacOS 10.13 "High Sierra".

My conclusion is that the original 1.3.4 makes sense right now.
Comment 4 Peter Åstrand cendio 2018-04-25 11:25:28 CEST
Created attachment 856 [details]
Patch set for upgrading to 1.3.4

Client build succeeds on all platform. Only tested client on x86_64.
Comment 5 Henrik Andersson cendio 2018-08-29 10:52:53 CEST
Here follows a list of FLTK dependencies that might need upgraded:

 - zlib
 - libpng
 - libjpeg
 - libX11
 - libXext
 - libXft
 - libXfixes
 - libXcursor
 - libXinerama
Comment 6 Henrik Andersson cendio 2018-08-29 11:06:30 CEST
(In reply to comment #5)
> Here follows a list of FLTK dependencies that might need upgraded:
> 
>  - libpng

Current version 1.5.12 updated 2012 since then 6 Vulnerability warnings and fixes has been produced. Upstream stable release is 1.6.35 which we will update to.
Comment 10 Henrik Andersson cendio 2018-08-29 12:57:36 CEST
(In reply to comment #5)
>
>  - libjpeg

Current version in build environment is 1.5.1 and latest stable release is
1.5.3. There is also an 2.0 beta available but lets updated to 1.5.3 this
round.
Comment 12 Henrik Andersson cendio 2018-08-29 16:31:49 CEST
(In reply to comment #10)
> (In reply to comment #5)
> >
> >  - libjpeg
> 
> Current version in build environment is 1.5.1 and latest stable release is
> 1.5.3. There is also an 2.0 beta available but lets updated to 1.5.3 this
> round.

Updated in commit r33568.
Comment 17 Henrik Andersson cendio 2018-08-30 12:22:08 CEST
(In reply to comment #5)
> Here follows a list of FLTK dependencies that might need upgraded:
> 
>  - zlib
>  - libX11
>  - libXext
>  - libXfixes

Was upgrade in commit r33570
Comment 26 Henrik Andersson cendio 2018-09-07 12:51:07 CEST
I have tested a native client with updated fltk package on
mac os 10.13 / Windows 10 and linux and couldn't find any
usability issues.

 - UI components such as buttons, file dialog etc
 - Multi monitor
Comment 29 Henrik Andersson cendio 2018-09-11 13:24:12 CEST
Retested nightly builds on linux/win10 and macos

No problems found regarding fltk upgrade
Comment 30 Pierre Ossman cendio 2018-09-13 13:46:48 CEST
> * FLTK should by upgraded to the latest suitable 1.3.x version (1.3.4, or 1.3.5 development version if that seems better)

We are indeed using 1.3.4 in our builds now.

> * FLTK dependencies should be upgraded (e.g. fontconfig, libXrender)

All the direct dependencies are indeed updated. Some of the indirect dependencies got updated as part of other bugs, but not all. But it's probably good enough for this round.

Should be all done here.
Comment 33 Samuel Mannehed cendio 2019-03-05 09:51:36 CET
This bug should perhaps have been reopened since the imagemagick upgrade broke the macOS installer. The arrow that is supposed to explain that the ThinLinc Client should be manually dragged into the Applications folder was scaled up to almost 10 times the proper size.

It has however been fixed and I have verified that tlclient from 4.10.0beta1 works well on both OS X 10.6 and macOS 10.14.