Commit Graph

6900 Commits

Author SHA1 Message Date
Albrecht Schlosser
cc91cfaac6 Update bundled image libraries and zlib to current versions
For details see README.bundled-libs.txt
2023-12-05 18:28:28 +01:00
Albrecht Schlosser
7c3489061e Fix several compiler warnings 2023-12-04 17:40:31 +01:00
Albrecht Schlosser
5a5baca1e2 Bump version numbers, prepare release 1.3.9
Still to do: update bundled libs, maybe more.
2023-12-02 22:36:53 +01:00
Albrecht Schlosser
fc6675aa87 Fix doxygen warnings 2023-12-02 21:38:15 +01:00
Albrecht Schlosser
84c9432d2a Fix "gtk+ rendering" (GitHub Issue #443)
This commit is a minimal fix for issue #443.

A more complete fix is in Git 'master', i.e. in FLTK 1.4.0.
2023-12-02 19:55:27 +01:00
ManoloFLTK
1b5db5519d Add support for macOS Sonoma 14 2023-10-25 11:29:07 +02:00
Albrecht Schlosser
7fb3ca2c3a Fix stack buffer overflow found by address sanitizer
This bug was only in some extra test code and only read access.
However, it should be fixed anyway.
2023-09-22 13:02:19 +02:00
Albrecht Schlosser
ea78943e86 Remove unused variable, fix "type issue" (#445, part 2)
This commit removes an unused variable as suggested in the discussion
of issue #445: "type issue in fluid/ExternalCodeEditor_WIN32.cxx"

Backported from 'master', b5b88d5f0d

Note: this "type issue" made the build fail on Windows with current
  MSYS2 (gcc 13.1.0).
2023-06-10 18:30:22 +02:00
Albrecht Schlosser
390f530abb Fix another compiler warning (#693)
Backported from 1.4.0.
2023-03-04 18:32:02 +01:00
Albrecht Schlosser
66b0935ed9 Fix compiler warning as pointed out in PR #693
This PR has been closed by its OP.
2023-03-04 18:27:03 +01:00
Albrecht Schlosser
53801fbf74 Backport warning fixes from 1.4.0 in src/fl_draw.cxx (#693)
- update header comment and copyright year
- add casts to fix compiler warnings
- fix "use after free" warning
- remove dead code
- reformat another unrelated statement
2023-03-04 18:18:49 +01:00
Albrecht Schlosser
2fddbaea0f Windows: #define WIN32 if not defined by user
FLTK 1.3.x code relies on WIN32 being defined (rather than _WIN32).

This commit defines WIN32 on Windows builds unless Cygwin (__CYGWIN__)
is used to avoid the common user error to "forget" to define WIN32 on
the commandline or in the build system (e.g. Visual Studio).
2023-02-28 10:17:07 +01:00
ManoloFLTK
4e9ed130df Fix "Focus is lost leaving full screen on macOS 13" (#608) 2022-12-30 18:24:11 +01:00
ManoloFLTK
82399fab9e Add support of macOS Ventura 13.0 2022-11-13 08:23:34 +01:00
Albrecht Schlosser
0695e62ce8 Fix compilation error with Visual Studio 2022
This old code (unchanged since 1998) wouldn't compile with the current
version of Visual Studio 2022.

Fix backported from 1.4.0 (c4bb4e192e).
Original commit by Matthias Melcher.
2022-11-11 00:49:21 +01:00
Albrecht Schlosser
40b82358ed Fix crash if a program exits before it opens a window (STR 3484).
This crash and the fix are Windows specific.

Backported from master (1.4.0), commit 339ba4c8b3 (Aug 6, 2018).
2022-08-22 15:37:32 +02:00
ManoloFLTK
df2b94bfa4 Issue #469: Fl_Sys_Menu_Bar menu item shortcuts using Escape or Tab do not work on Mac 2022-07-28 08:22:20 +02:00
Albrecht Schlosser
8ae8370dcf X11: Suppress compiler warnings when using gcc or clang
Suppress warning [-Wdeprecated-declarations] regarding function
  XKeycodeToKeysym()

Backported from master branch.

Update 'CHANGES' for a potential release 1.3.9
2022-07-22 18:03:23 +02:00
Albrecht Schlosser
8b5da69d53 Backport X11 INCR protocol fixes from 1.4.0 (issue #451)
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.
2022-07-22 17:47:08 +02:00
ManoloFLTK
d60d2ca26d Fix for issue #454 : crash in Fl::get_font_name(). 2022-06-27 13:23:33 +02:00
ManoloFLTK
27846381ae Fi xfor issue #452: Fl::get_font_name failure on OS-X. 2022-06-24 19:42:02 +02:00
ManoloFLTK
80e4dd20dc Fix for issue #373 apparent with macOS platform and SDK ≤ 10.13
Many thanks to @CendioOssman for finding the cure.
2022-02-08 07:09:40 +01:00
ManoloFLTK
bc2f1f6818 Fix fullscreen window level corner cases on macOS - cont'd
See long discussion in PR#277 at
https://github.com/fltk/fltk/pull/277
2021-12-29 17:07:53 +01:00
ManoloFLTK
9f2929ee45 macOS platform: fix for issue #325 Disabling IM disables Greek and Cyrillic layouts
Thanks to Pierre Ossman who gave the fix.
2021-12-25 10:06:42 +01:00
YX
1b6ce05903 Fix IME problem (issue #270) 2021-12-13 08:20:03 +01:00
Albrecht Schlosser
3600522ae7 Finish release 1.3.8 2021-11-20 19:10:34 +01:00
Albrecht Schlosser
92b6962495 Add new dialog fl_choice_n() with extended return values (#282)
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".
2021-11-20 14:42:56 +01:00
Albrecht Schlosser
6fb92e441e Bump version numbers, prepare release 1.3.8 2021-11-05 18:50:55 +01:00
Albrecht Schlosser
a394e7aff0 Fix compiler warnings (backported from 1.4) 2021-11-05 18:50:55 +01:00
ManoloFLTK
e02032bd05 Fix for issue #279. 2021-11-05 15:57:45 +01:00
ManoloFLTK
940edc222f Allow building with non-Apple compiler that may not support blocks. 2021-11-05 14:31:11 +01:00
Albrecht Schlosser
12db27551c Fix build with FLTK_CONSOLIDATE_MOTION turned off (X11)
Up to 1.3.7 this was obviously never turned off or nobody noticed
the compilation problems.
2021-11-05 13:44:54 +01:00
Albrecht Schlosser
636cca4a2b Make "FLTK_CONSOLIDATE_MOTION" user-definable (issue #76)
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).
2021-11-05 12:40:34 +01:00
ManoloFLTK
4cac99ed59 Fix issue#288.
Thanks @CendioOssman for pointing to it and its solution.
2021-11-04 16:09:59 +01:00
ManoloFLTK
e0626e025e Attempt to fix issue#287 about fullscreen mode.
The fix is to reproduce what is in main branch 1.4
2021-11-04 15:51:48 +01:00
ManoloFLTK
e73ee9b48b macOS: fix fullscreen window when other windows were created before.
Backported from branch 1.4
2021-10-29 10:14:53 +02:00
ManoloFLTK
4aebde8913 Account for deprecation of [NSBitmapImageRep initWithFocusedViewRect:] in macOS 10.14 2021-08-06 17:22:08 +02:00
Albrecht Schlosser
70ebfdb6a1 Finalize release 1.3.7
Update version numbers, announcement, docs, ...
2021-07-25 15:16:28 +02:00
Albrecht Schlosser
50e398a52c macOS: Fl::add_timeout() must always create a new timer (#248)
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
2021-07-25 14:54:45 +02:00
Albrecht Schlosser
f091b18adf macOS: Fix a timer inconsistency and prevent a crash
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
2021-07-25 14:53:28 +02:00
ManoloFLTK
371eb65654 macOS: Avoid premature FL_RELEASE event at start of drag-n-drop - cont'd 2021-05-27 08:36:41 +02:00
ManoloFLTK
40031b67f6 macOS: Avoid premature FL_RELEASE event at start of drag-n-drop operation.
This fixes this issue mentioned in fltk.general :
https://www.fltk.org/newsgroups.php?s40623+gfltk.general+v40638+T
2021-05-27 08:11:25 +02:00
Albrecht Schlosser
f9e5d29ae0 Release 1.3.6
Update CHANGES + ANNOUNCEMENT. No further changes since 1.3.6rc2
2021-05-15 12:22:19 +02:00
Albrecht Schlosser
696119b071 Finalize 1.3.6 release candidate 2 (1.3.6rc2)
Update CHANGES.
2021-05-04 19:36:17 +02:00
Albrecht Schlosser
693a420102 CMake/macOS: Fix and improve bundle generation
Update copyright, fix some bundle items, fix icon directory.
2021-05-04 19:22:18 +02:00
Albrecht Schlosser
8268972061 Fix compiler warning
Apple clang version 12.0.5 (clang-1205.0.22.9)
Target: arm64-apple-darwin20.4.0

Warning appeared after upgrade to Xcode 12.5 in several files,
example:

In file included from Fl_Scroll.cxx:19:
../FL/Fl_Scroll.H:102:17: warning: anonymous non-C-compatible type given name for linkage purposes by typedef declaration; add a tag name here [-Wnon-c-typedef-for-linkage]
  typedef struct {
                ^
                 ScrollInfo
../FL/Fl_Scroll.H:104:5: note: type is not C-compatible due to this member declaration
    typedef struct { int x,y,w,h; } Fl_Region_XYWH;
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../FL/Fl_Scroll.H:128:5: note: type is given name 'ScrollInfo' for linkage purposes by this typedef declaration
  } ScrollInfo;
    ^
2021-05-03 21:31:58 +02:00
Albrecht Schlosser
15aff3718e Refactor macOS bundle generation to avoid "quarantine"
macOS Big Sur 11.3 introduced a new "security feature" such that
app bundles created from existing bundle templates in downloaded
files (tar distibutions, expanded) could no longer be executed
without unsetting the "quarantine" attribute. This commit fixes
this by creating all bundles from scratch.

Known *workaround* for older tarballs and snapshots:

  $ xattr -d -r com.apple.quarantine xxx.app
2021-05-03 16:11:05 +02:00
Albrecht Schlosser
c4bc990c80 Enhance CMake build configuration summary 2021-04-30 20:15:05 +02:00
Albrecht Schlosser
d80a1cd653 CMake: fix old (pre 3.13) link_directories() usage 2021-04-30 19:57:27 +02:00
Albrecht Schlosser
b18c1d00ad Fix build with Cairo for CMake < 3.13
target_link_directories() was introduced in CMake 3.13
2021-04-30 13:28:14 +02:00