Also update CHANGES file.
The compiler warnings were issued by MinGW with gcc 9.2.0.
Note: There are lots of compiler warnings left when building with
Visual Studio and/or NMake but these will not be fixed in 1.3.9.
All warnings have been fixed in 1.4.0 (current git 'master').
- update header comment and copyright year
- add casts to fix compiler warnings
- fix "use after free" warning
- remove dead code
- reformat another unrelated statement
Suppress warning [-Wdeprecated-declarations] regarding function
XKeycodeToKeysym()
Backported from master branch.
Update 'CHANGES' for a potential release 1.3.9
Reading large selections via X11 INCR protocol (data sent by other
processes) could cause invalid write access and eventually segfaults.
For more information see GitHub issue #451 and these commits in
FLTK 1.4 (master branch):
- c555629162
- ef72df0dc7
This commit fixes the main issues when reading large selections via
INCR protocol but does not add functionality to *write* large
selections via INCR protocol.
This new dialog enables the user program to distinguish whether the
user closed the window by hitting Escape, clicking the window's
close button, or using the "cancel" button with return value 0
as requested by GitHub Issue #282 "fl_choice() doesn't tell you
if the dialog was closed".
This undocumented macro is used on X11 and macOS platforms to
consolidate mouse move events, i.e. to collect some events and send
them later as one event. The old macro name CONSOLIDATE_MOTION has been
renamed to FLTK_CONSOLIDATE_MOTION since it is now a "global" symbol.
Users can define FLTK_CONSOLIDATE_MOTION in their build system, e.g.
on the compiler commandline, as 0 or 1 to disable or enable this
feature, respectively.
For historical reasons the default is 0 (OFF) on macOS and 1 (ON) on
X11 in FLTK 1.3. In FLTK 1.4 the default will always be 0 (OFF).
The old version would reschedule an existing timer if a matching timer
existed already which was unique to macOS.
The new behavior is consistent on all platforms and allows to create
multiple timer entries with the same callback and userdata.
Backported from 1.4: 135ba3a7e1
Calling Fl::repeat_timeout() instead of Fl::add_timeout() to create
a timer would crash on macOS but fall back to Fl::add_timeout() on
Windows and Unix/Linux. Although this is documented as "undefined
behavior" a crash should always be avoided and the fallback is now
consistent on all major platforms.
Backported from 1.4: 87475c20d6