Commit Graph

6874 Commits

Author SHA1 Message Date
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, ...
release-1.3.7
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
release-1.3.6
2021-05-15 12:22:19 +02:00
Albrecht Schlosser 696119b071 Finalize 1.3.6 release candidate 2 (1.3.6rc2)
Update CHANGES.
release-1.3.6rc2
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
Albrecht Schlosser 302b242150 Fix version number in doxygen docs
... when generated with configure/make.
2021-04-28 12:41:40 +02:00
Albrecht Schlosser 5f645dda79 Rename file 'VERSION' to 'fltk_version.dat' (#191)
The file VERSION could be included erroneously on case insensitive
platforms (notably Windows) if the user included the c++ standard
header <version> directly or indirectly.

Renaming the file fixes this.

Backported from 1.4 (master).
2021-04-27 22:08:05 +02:00
Albrecht Schlosser 46604ef40b Finalize release candidate 1.3.6rc1 release-1.3.6rc1 2021-04-26 21:14:15 +02:00
Albrecht Schlosser 97bdc2da65 CMake: Document FLTKConfig.cmake and set FLTK_INCLUDE_DIR
Some of the output variables had not been documented, and the "new"
variable for FLTK include directories is 'FLTK_INCLUDE_DIRS' (plural)
rather than 'FLTK_INCLUDE_DIR'.

FLTK_INCLUDE_DIR is now also set for compatibility with FindFLTK.cmake
supplied by CMake.
2021-04-26 15:01:05 +02:00
Albrecht Schlosser 65821103b3 Avoid "Bogus FL_MOVE/FL_DRAG events" (#76)
Fix sending bogus events if CONSOLIDATE_MOTION is on.

Backported from 1.4 (master):
  commit 7a7f3c3324.
2021-04-26 14:17:38 +02:00
ManoloFLTK d40093dd3b Fix crash when terminating any macOS app by cmd-Q 2021-04-12 09:05:40 +02:00
ManoloFLTK 784b8a5e67 Restore ./configure --enable-x11 on macOS 2021-04-12 08:50:59 +02:00
Albrecht Schlosser 997ffe5a22 Fix CMake install procedure (#212)
Only install header files to the FL/ include directory.
2021-04-11 21:58:09 +02:00
Albrecht Schlosser 359f8b5d4a Fix FLTK_VERSION_XXX strings in configure et al
Variables FL_XXX_VERSION (XXX = { MAJOR | MINOR | PATCH } ) have been
renamed to FLTK_VERSION_XXX for compatibility with CMake.

Note: FL_DSO_VERSION and FL_ABI_VERSION are not affected.
2021-04-09 14:08:03 +02:00
Albrecht Schlosser 1c587997c2 Fix fltk-config (OpenGL and macOS)
This file has been missed by the conversion process:

- rename GLLIB to GLLIBS
- do not "bundle" apps on macOS if built with X11
2021-04-09 13:17:32 +02:00
Albrecht Schlosser 7191bf3efa Fix CMake warning 2021-04-08 16:23:46 +02:00
Albrecht Schlosser 52a853c39c Backport CMake and related stuff from 1.4 (master)
- update formatting + documentation generation
- rename help-test.html to help_dialog.html
- update CMake files + Makefiles + related source files
- update fluid files + dependencies
2021-04-08 14:57:40 +02:00
ManoloFLTK e301cd2a10 Fix as found in pull request #200 "Fix stack corruption when loading GIF" 2021-03-18 07:06:40 +01:00
Albrecht Schlosser 7c96005a63 Upgrade bundled jpeg lib to current version
For details see README.bundled-libs.txt
2021-03-14 17:02:01 +01:00
ManoloFLTK 63709515ec Mention support of building for macOS/arm64 platform. 2021-03-14 16:14:08 +01:00
ManoloFLTK 7eab33ec99 Update bundled png to 1.6.37 and zlib to 1.2.11
Updating png is necessary to support the arm64 architecture on macOS platform.
2021-03-14 10:04:22 +01:00
ManoloFLTK 6dd63788ed Fix fl_endpoints() for macOS platform that was not effective. 2021-03-14 08:22:24 +01:00
ManoloFLTK eda03f0f88 Backport fix for issue #185 "Shared Image reload() loses initial dimensions" from branch 1.4 2021-02-17 09:30:26 +01:00
Albrecht Schlosser 02e4b8f980 Bump version numbers to 1.3.6 (prepare release part 1) 2021-02-04 14:58:30 +01:00
Albrecht Schlosser 7ce6d2cf5d Fix X11 copy-paste and drag-and-drop target selection (#182)
Select the "best" target rather than a random one out of a list of
suitable targets. The target selection algorithm would sometimes
select the wrong target and hence retrieve unexpected data.

This could happen in both copy-paste and drag-and-drop operations.
2021-02-01 02:13:47 +01:00
Albrecht Schlosser beb733e39e Fix potential fluid crashes (STR 3420) + memory leak
In total three issues backported from 1.4:

1 potential null pointer dereference (STR 3420)
1 potential null pointer ("&& child")
1 memory leak ("free(txt)")
2021-01-31 13:58:06 +01:00
erco77 f3bff256da Merge pull request #176 from ComputerNerd/errmsg-fix-13
[FLTK 1.3] Same errmsg fix as the FLTK 1.4 pull request.
2020-12-13 20:57:38 -08:00
ComputerNerd 724eddf208 FLTK 1.3 had the same exterr problem. 2020-12-13 21:54:24 -06:00
Albrecht Schlosser 0c70362e63 Fix offscreen drawing under X11 (STR 3384)
- fix undefined 'GC' if no window has been shown/drawn yet
- may still need to call fl_open_display() prior to offscreen-drawing
- improve documentation, add example code
2020-11-03 12:02:54 +01:00
Albrecht Schlosser 6b8a7b36b4 Fix doxygen warnings 2020-11-03 11:50:12 +01:00
ManoloFLTK 0d37604d8a Fix when building with SDK 10.15 and running with 11.0 Big Sur
When FLTK runs under macOS "Big Sur", the OS appears as 11.0
if FLTK was built with SDK 11.0 and as 10.16 it it was built with
SDK 10.15.
2020-09-21 15:10:34 +02:00