12696 Commits
Author SHA1 Message Date
MatthiasWM c4a87f041e Fluid: fix for Windows
Build and Test / build-linux (push) Waiting to run
Build and Test / build-wayland (push) Waiting to run
Build and Test / build-wayland-arm64 (push) Waiting to run
Build and Test / build-macos (push) Waiting to run
Build and Test / build-windows (push) Waiting to run
Build and Test / build-windows-arm (push) Waiting to run
2026-08-16 23:06:34 +02:00
Matthias Melcher 4afc3f1104 Fluid: another fix on Linux - apologies! 2026-08-16 23:00:46 +02:00
Matthias Melcher 52e69029ba Fluid: missing include for Linux 2026-08-16 22:42:04 +02:00
Matthias Melcher 060c01d121 Fluid: improve user dialog for new widgets
* foundation only
* if a window can;t be created, give
  user a choice to fix the issue
  instead of just an error
2026-08-16 22:33:39 +02:00
ManoloFLTK c46c5d9051 Fix "underbars not drawing in fluid code editor (Ubuntu 24/Xwindows)" - cont'd (#1572).
Build and Test / build-linux (push) Waiting to run
Build and Test / build-wayland (push) Waiting to run
Build and Test / build-wayland-arm64 (push) Waiting to run
Build and Test / build-macos (push) Waiting to run
Build and Test / build-windows (push) Waiting to run
Build and Test / build-windows-arm (push) Waiting to run
The issue occurs when drawing text with cairo+pango at some sizes (11 is one of them).
It affects both FLTK text widgets, so it's not fluid-specific.
It affects both Wayland and X11 when using Cairo+Pango.
No issue with X11+Pango-Cairo.
No issue with X11+Xft.

Thanks to @wcout for suggesting this fix.
2026-08-16 16:10:33 +02:00
Greg Ercolano d15b9d34de Added missing fltk.css 2026-08-16 04:07:40 -07:00
Greg Ercolano fc0eb39fc7 Improve visibility of \p in doxygen html, solves #1580
Build and Test / build-linux (push) Waiting to run
Build and Test / build-wayland (push) Waiting to run
Build and Test / build-wayland-arm64 (push) Waiting to run
Build and Test / build-macos (push) Waiting to run
Build and Test / build-windows (push) Waiting to run
Build and Test / build-windows-arm (push) Waiting to run
Codex assisted.
2026-08-15 15:38:57 -07:00
Albrecht Schlosser 0bd11723ba Document removal of more deprecated methods and functions
add recently removed deprecated functions to the list
2026-08-15 14:05:52 +02:00
ManoloFLTK 31c72780de Fix "underbars not drawing in fluid code editor (Ubuntu 24/Xwindows)" (#1572)
The issue occurs when drawing text with pango at some sizes (11 is one of them).
It affects both FLTK text widgets, so it's not fluid-specific.
2026-08-15 11:54:54 +02:00
Matthias Melcher e013f00ede Fluid: deweaving 2026-08-14 21:15:10 +02:00
Gonzalo GarramuñoandGitHub efeb3e7e9b Wayland: new find_pen_below and better tooltip handling. (#1562) 2026-08-14 20:05:44 +02:00
Matthias Melcher 57f084fbcf Fluid: fix dirty mark for some WMs #1575
* some window managers unexpectedly reposition
  a project window, marking the project dirty
2026-08-14 14:16:47 +02:00
Matthias Melcher 9363d8b977 Wayland: fix crash when cursor not available (dnd) 2026-08-14 13:19:13 +02:00
Matthias Melcher 4e391b4745 Fluid: API cleanup toward C++11 2026-08-13 22:50:56 +02:00
Greg Ercolano fc078b1b4d Fl_Terminal: address docs related fixes (#1578)
Codex assisted code review limited to documentation related
issues with the Fl_Terminal widget.

Most fixes grammatical, typos, and and other common human error
stuff. A few code changes where the docs were correct but the
implementation was wrong.

Generally, I think these mods would be safe to backport to 1.4.x
(if that's within the scope of 1.4.x), as these aren't features
or behavioral changes, but outright misleading documentation,
or implementations incorrect wrt the docs.
2026-08-13 12:21:19 -07:00
Matthias Melcher 7e62b5ce97 Fluid: update expanding list to std::vector 2026-08-13 20:36:42 +02:00
Greg Ercolano f36f75787d Solve some mishandling of -1 from fl_utf8len() (#1576)
Codex assisted fixes, to ensure new improved invalidation checks
on utf-8 strings added recently to fl_utf8len() are handled well
by the FLTK code.
2026-08-13 11:32:22 -07:00
Matthias Melcher 4c8ac8a4a8 Fluid: update comments 2026-08-13 19:14:39 +02:00
Matthias Melcher 969bffc1bb Fluid: missing include 2026-08-13 18:19:56 +02:00
Matthias Melcher 786bdbfd54 Fluid: remove three global state variables
* improves handling of class in class
  (still not recommended)
2026-08-13 18:10:45 +02:00
ManoloFLTK 7f5dae5bd8 Make fl_utf8_next_composed_char() more resistant to erroneous UTF8 input - cont'd (#1576) 2026-08-13 14:36:45 +02:00
Matthias Melcher 4cf6dd285f Fix out of bounds read in fl_filename_absolute
Fix out of bounds font access in Fluid
2026-08-13 11:53:12 +02:00
ManoloFLTK 8e2638bfaa Make fl_utf8_next_composed_char() more resistant to erroneous UTF8 input.
This change was suggested by codex.
2026-08-13 09:34:53 +02:00
Greg Ercolano 3c3ff2747e Added unittests to exercise fl_utf8len()
Co-authored by Codex + erco: tests for invalid bytes.
2026-08-12 18:59:36 -07:00
Greg Ercolano 8168811997 Improve fl_utf8len() invalid UTF-8 checks (#1576)
Codex suggested replacement for old fl_utf8len() which includes
more strict RFC 3629 validation checks. This helps the test/terminal
program detect and show UTF-8 parsing errors.
2026-08-12 18:59:36 -07:00
Albrecht Schlosser f46d2ab028 Improve Fl_Cairo_Graphics_Driver::clean_utf8() (#1569)
Avoid re-encoding valid UTF-8 characters. Only *invalid* characters
need to be encoded, valid characters are moved.

Increase size of intermediate UTF-8 character buffer from 4 to 6 bytes
to prevent potential overflow.

Benign: make `use_priv_buffer` bool.

Some of these changes were suggested by AI.
2026-08-12 21:18:41 +02:00
Rodrigo Arias MalloandAlbrecht Schlosser 4b96101742 Fix UAF in Fl_Cairo_Graphics_Driver::clean_utf8()
The buffer returned by realloc can start at a different address, causing
all previous pointers to become stale. Instead of using the pointer q to
the current location in the reallocated buffer, use just an offset so we
always point to the correct place with utf8_buffer + q.

Similarly, we get rid of retval and keep track of the private buffer
usage and first call using the explicit flag use_priv_buffer.

We also avoid increasing the buffer by N + 1000 (doubling it each time)
and only do increments of 1000 bytes.
2026-08-12 21:08:23 +02:00
Greg Ercolano 47d0c95f8a Fl_Terminal better detecting of invalid ANSI/UTF-8 (#950)
Codex double-checked my work.

This improves ANSI/XTERM parsing error detection, and also handles
detecting bad UTF-8 sequences better by testing for negative returns
from fl_utf8len().

I'd lost track of these changes for several years due to a workstation
outage, delaying my solution for #950.
2026-08-12 10:03:56 -07:00
Matthias Melcher e11495ae85 add more error checks to Fl_Menu_Item::pulldown (#1335)
* attempt to fix all possible nullptr crashes in popup menus
2026-08-11 15:19:19 +02:00
Matthias Melcher d569470761 FLuid: typos, comments 2026-08-11 13:10:45 +02:00
Matthias Melcher dade713459 fixed minor inconveniences 2026-08-11 12:58:29 +02:00
Matthias Melcher dd43046a5e Fluid: revise command line help text 2026-08-11 12:58:29 +02:00
ManoloFLTK 795100cadd Remove code duplication present in Fl_Cairo_Graphics_Driver.cxx and Fl_PostScript.cxx 2026-08-10 17:27:49 +02:00
ManoloFLTK ef693c9e27 macOS: slightly simplify internal function NSImage* rgb_to_nsimage(const Fl_RGB_Image *). 2026-08-10 09:34:19 +02:00
Matthias Melcher c43638eb11 Fluid: add MErgeBack support for the command line 2026-08-10 00:44:19 +02:00
Albrecht Schlosser 4bc72f879f Remove redundant condition from src/xutf8/ucs2fontmap.c (#1549) 2026-08-09 23:14:58 +02:00
Matthias Melcher 5dea2e52b1 Show use of placeholder 2026-08-09 20:24:03 +02:00
Matthias Melcher e0d0152d6d Fluid: remove superfluous comments 2026-08-09 20:07:27 +02:00
Matthias Melcher 9de4a3d7c4 Fluid: new command line option -pr
...to genearte file relative to the project file instead of the
corrent working directory
* documentation updates
2026-08-09 20:06:12 +02:00
Matthias Melcher 16e43a52de Fluid: remove debug printf's 2026-08-09 18:35:38 +02:00
Matthias Melcher b0a985e761 Fluid: i18n strings filename now fully customizable 2026-08-09 18:30:18 +02:00
Matthias Melcher 5e4346a773 Add placeholder feature to Fl_Input_ based widgets 2026-08-09 18:30:18 +02:00
Albrecht Schlosser 7dc34fbfd7 Fix typo 2026-08-09 14:45:22 +02:00
ManoloFLTK 4ff54975a7 Simplify Fl_Cocoa_Window_Driver::set_cursor() for macOS version 10.6 or more - cont'd 2026-08-09 08:51:59 +02:00
Matthias Melcher 930709dcf6 Fluid: improve formatting and comments for class Node 2026-08-08 21:00:20 +02:00
ManoloFLTK 0a6ed571f9 Simplify Fl_Cocoa_Window_Driver::set_cursor() using macOS version 10.6 or more. 2026-08-08 18:03:29 +02:00
Albrecht Schlosser 406ce44b2f Silence two compilation warnings (unused variables)
[-Wunused-variable] and [-Wunused-but-set-variable]
2026-08-08 14:01:20 +02:00
Albrecht Schlosser 12875f2a13 Fix remaining toupper() and tolower() calls (#1276)
replace by fl_ascii_toupper() and fl_ascii_tolower(), resp.
2026-08-08 13:53:43 +02:00
Albrecht Schlosser c50d068841 Add FL/win32_target.h and fix pen support build on Windows
Part 1: the new file FL/win32_target.h simplifies setting minimal
  Windows version macros to support building with minimal Windows
  version symbols, such as for Windows 2000 or Windows 8, rather
  than hardcoding weird C/C++ macro code to define the symbols.

Part 2: apply this everywhere where WINVER and _WIN32_WINNT needed
  to be set manually.

Part 3: fix pen support builds on Windows by setting the correct
  minimal Windows version in the concerned source files.

Part 4: fix CMake compilation test for pen support: use a symbol
  that's really used in the sources.
2026-08-07 19:07:35 +02:00
Matthias Melcher bb7ec208f5 Fluid: simplify code writer, add documentation
* looks like a huge change, but most
changes are caused by the code writer
and should be harmless
* Doxygen for Widget_Node class
2026-08-07 03:17:49 +02:00