summaryrefslogtreecommitdiff
path: root/src/drivers
AgeCommit message (Collapse)Author
2025-04-18Remove unused code from Fl_Wayland_Window_Driver (#1248)Albrecht Schlosser
This commit removes the unused static method Fl_Wayland_Window_Driver::resize_after_screen_change(void *data) and related data as discussed in the context of PR #1248.
2025-04-18Fix "heap-use-after-free" in resize_after_screen_change() (#1248)Timothy Lee
When a native window is destroyed, make sure the callback to Fl_WinAPI_Window_Driver::resize_after_screen_change() is removed. Added by Albrecht-S: Thanks for the original fix to Timothy Lee (@timothytylee). src/drivers/X11/Fl_X11_Window_Driver.cxx: equivalent fix for X11 as discussed on GitHub PR #1248
2025-04-03Fix "Minor drawing artifact at scale 200% under X11 session" (#1243)ManoloFLTK
2025-03-25Fix: Windows: Clipboard gets stuck when text is copied while window is ↵ManoloFLTK
hidden (#1233)
2025-03-19Remove obsolete build option 'FLTK_OPTION_STD'Albrecht Schlosser
This option is no longer needed since FLTK 1.5 always requires C++11.
2025-03-19Fix "FLTK apps broken under LabWC compositor" (#1231)ManoloFLTK
2025-03-18Wayland: improve support of screen removal while FLTK runsManoloFLTK
2025-03-18Wayland: fix unsetting fullscreen state for window created fullscreenManoloFLTK
In some multi-screen settings, the un-fullscreened window would leave its screen but would not enter any screen.
2025-03-18Fix "Inconsistent FL_FULLSCREEN when creating full-screen window" (#1225)ManoloFLTK
The commit has all platforms send the FL_FULLSCREEN event when a window is created fullscreen.
2025-03-17Fix comparison that's always trueAlbrecht Schlosser
... because base_dir[0] and dest_dir[0] are *signed* chars.
2025-03-17Windows: fix "heap-use-after-free" in home_directory_name()Albrecht Schlosser
Calling getenv() twice with different output vars and accessing both later could cause "heap-use-after-free" error in some Windows versions. The result of home_directory_name() would be unpredictable. Found using Wine and/or MSYS2/clang/libc++ with Address Sanitizer.
2025-03-17Wayland: improve support of addition/removal of displays while FLTK runsManoloFLTK
2025-03-17Wayland: compute work area size under MUTTER or when single displayManoloFLTK
2025-03-16Fix font termination bug from 2e1730d2f0f1 (#1221)Albrecht Schlosser
See also #1223, and thanks to Gonzalo for finding it.
2025-03-15Fix potential buffer overflow on Windows when loading fonts (#1221)Albrecht Schlosser
This commit is bigger than necessary to fix the buffer allocation but it also prevents some unnecessary string copies: the font name is converted from UTF-16 to UTF-8 directly in the buffer used later. Code reformatted and clarified as well, some duplicated code was removed.
2025-03-14Wayland: simplify handling of tall menu windowsManoloFLTK
2025-03-13Improve support of screen addition/removal while FLTK runsManoloFLTK
2025-03-12Restore support of the sway compositor destroyed by 9b5d40aManoloFLTK
2025-03-12Under KDE V6 and Wayland, handling of taller-than-display menu windows fails ↵ManoloFLTK
(#1216)
2025-03-11Fix "Wayland: Huge menu hiding unexpectedly when moving a mouse (#1115)ManoloFLTK
This commit also computes work-area size for single-display settings.
2025-03-08Add Fl_Darwin_System_Driver::filename_relative()ManoloFLTK
This removes the last instance in FLTK of use of #if __APPLE__ instead of the driver mechanism.
2025-03-07Fixing error where std::string could be assigned NULL'Matthias Melcher
2025-03-07Fix "fltk autotools build does not link against libXft" (#1202)ManoloFLTK
libXft was erroneously present in the link command when using Pango and Cairo. This is fixed by disconnecting the GUI scaling code from use of Xft. This commit also makes sure that when Wayland is used, pkg-config is available on the build machine. This allows to remove from file CMake/options.cmake code that was labelled with "FIXME".
2025-03-07Removes the remaining references to Fl_String.Matthias Melcher
Still to do: rename fl_filename... to fl_filename..._str and introduce into core library.
2025-03-07Fixing a couple of warnings.Matthias Melcher
2025-03-07One more FL_String::apend fix,Matthias Melcher
2025-03-07Replce Fl_String in Fluid with std::string.Matthias Melcher
Also fix for Linux.
2025-03-04Fix "Windows: dotted lines may be drawn solid when GUI is rescaled" (#1214)ManoloFLTK
2025-02-24Remove deprecated, commented-out code.ManoloFLTK
This code was used in the past to support a deprecated way to obtain the initial value of the GUI scaling factor for the X11 platform.
2025-02-21Fix "Wayland: resizing window may crash the program" (#1210)ManoloFLTK
2025-02-08Make Fl_Cocoa_Gl_Window_Driver::capture_gl_rectangle() return a depth-4 imageManoloFLTK
This change allows to capture the rounded corners of a top-level GL window. Also, rename Fl_Cocoa_Window_Driver::capture_decorated_window_10_5() from capture_decorated_window_10_6() because this function uses CGWindowListCreateImageFromArray() available from macOS 10.5.
2025-02-06fix macOS Sonoma/Sequoia not capturing OpenGL text on macOS - cont'd (#1197ManoloFLTK
2025-02-06fix "macOS Sonoma/Sequoia not capturing OpenGL 1 text on macOS" (#1197)ManoloFLTK
2025-02-05Fix typos and trailing whitespaceAlbrecht Schlosser
Also replace 'MSWindows' with 'Windows' where appropriate, leaving only old documents like README files from 1.3 and older as-is.
2025-01-30macOS: Fix "Full screen broken on macOS in FLTK 1.3.10 (regression)" (#1192)ManoloFLTK
FLTK now supports 2 types of fullscreen modes under macOS: 1) normal macOS fullscreen mode where the menubar and titlebar appear when mouse is moved to top of screen and the window covers one screen only; 2) multiple-screen mode that requires calling Fl_Window::fullscreen_screens() before. This commit fixes all possible transitions between these fullscreen modes and normal window mode.
2025-01-24Same effect as a49b5ea with less lines of codeManoloFLTK
2025-01-24Fix "Wayland: redrawing of a surface may fail if a subsurface is being ↵ManoloFLTK
moved" (#1191) This commit adds support of scenarios where a child window is moved while its parent is simultaneously modified.
2025-01-22Windows: replace "Arial" by "Microsoft Sans Serif" for the FL_HELVETICA ↵ManoloFLTK
font family Users who need the old behavior for strict backwards compatibility under Windows can load the previous (Arial) font at program startup with only a few lines of code: #ifdef _WIN32 // reset Windows fonts to pre-1.4.2 state Fl::set_font(FL_HELVETICA, " Arial"); Fl::set_font(FL_HELVETICA + 1, "BArial"); Fl::set_font(FL_HELVETICA + 2, "IArial"); Fl::set_font(FL_HELVETICA + 3, "PArial"); #endif
2025-01-22Remove incorrect use of Fl_Window::current() in ↵ManoloFLTK
Fl_Quartz_Image_Surface_Driver c'tor Fl_Window::current() can refer to a deleted window is some scenarios
2025-01-20Attempt to improve member function ↵ManoloFLTK
Fl_Wayland_Screen_Driver::insertion_point_location() This makes the IM aware of the cursor movement to the right after having committed text.
2025-01-18Make Fl_SVG_Graphics_Driver use the C locale when writing float values - cont'dManoloFLTK
2025-01-11Repair incorrect path in #include directiveManoloFLTK
2025-01-11Make Fl_SVG_Graphics_Driver use the C locale when writing float valuesManoloFLTK
2025-01-10Wayland platform: fix handling of key repeatsManoloFLTK
2025-01-10Fix Fl_{Wayland|Xlib}_{Copy|Image}_Surface_Driver::set_current()ManoloFLTK
Member function Fl_Cairo_Graphics_Driver::set_cairo() needs be called only to initialize the driver. Doing it also later undoes the effect of Fl_Widget_Surface::translate() if used when Fl_Surface_Device::pop_current() calls the overridden Fl_Surface_Device::set_current().
2025-01-08Make draw to image and draw to clipboard behave equally in X11 and WaylandManoloFLTK
2024-12-26Wayland: fix a border case in member function Fl_Wayland_Window_Driver::resize()ManoloFLTK
2024-12-21FLUID: Improve path handling on Windows.MatthiasWM
2024-12-10Fix compiler warnings (VS 2019)Albrecht Schlosser
Found with warning level: /W3
2024-12-06Remove unnecessary friend declarationManoloFLTK