summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2023-01-13Fix set_fonts() in Xlib/xft and Cairo Graphics_DriverAlbrecht Schlosser
src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx: - fix font_name_process() out of bounds memory access - unify/align font_name_process() code (see also Xlib/xft) - fix font name string allocation src/drivers/Xlib/Fl_Xlib_Graphics_Driver_font_xft.cxx - unify/align font_name_process() code (see also Cairo_Graphics) - fix font name string allocation Todo: move common code to Fl_Graphics_Driver or another common file.
2023-01-13Fix for "Rename Fl_X* Fl_Window::i private class member" (#223)ManoloFLTK
2023-01-13Wayland menus: add missing use of scaling factorManoloFLTK
2023-01-13Fix "alloc-dealloc-mismatch" in Fl_Native_File_Chooser_KdialogAlbrecht Schlosser
Error was reported by Address Sanitizer (ASAN) when picking a file. Platform: Unix/Linux. ==1734703==ERROR: AddressSanitizer: alloc-dealloc-mismatch (malloc vs operator delete []) on 0x607000108420 #0 0x7f3357d846ef in operator delete[](void*) ../../../../src/libsanitizer/asan/asan_new_delete.cc:168 #1 0x4e195f in Fl_Native_File_Chooser_Driver::strfree(char*) ../../src/Fl_Native_File_Chooser.cxx:262 ... 0x607000108420 is located 0 bytes inside of 66-byte region [0x607000108420,0x607000108462) allocated by thread T0 here: #0 0x7f3357d0a3ed in __interceptor_strdup ../../../../src/libsanitizer/asan/asan_interceptors.cc:445 #1 0x57951a in Fl_Kdialog_Native_File_Chooser_Driver::filter(char const*) ../../src/Fl_Native_File_Chooser_Kdialog.cxx:245 #2 0x4e14a0 in Fl_Native_File_Chooser::filter(char const*) ../../src/Fl_Native_File_Chooser.cxx:176
2023-01-13Wayland: Fix "heap-buffer-overflow" errorAlbrecht Schlosser
- replace strchr() with memchr() because buffer is not nul-terminated - fix '*(p+1)' potentially accessing memory out of bounds This fix also prevents - multiple memmove() calls - multiple searches from the beginning of the string
2023-01-13Improve debug output of Fl_StringAlbrecht Schlosser
- add newline (\n) before string output - remove quotes (')
2023-01-13 Fix for "Screen resolution change (win32)" (#651)ManoloFLTK
2023-01-12Wayland Fix "Error "heap-use-after-free" when scaling twice" (#650)ManoloFLTK
2023-01-12Improve "Implementation note about menu windows under Wayland"ManoloFLTK
2023-01-12Add Fl_Scheme_Choice widget and use it in test programsAlbrecht Schlosser
This widget offers the selection of all known FLTK schemes as a simple widget based on Fl_Choice. Some test and demo programs use Fl_Scheme_Choice to enable the developer or user to switch schemes quickly for comparison. Todo: - add features to add new schemes during runtime (partially done) - update status when the scheme is changed by Fl::scheme("...")
2023-01-12Add the initial version of class Fl_SchemeAlbrecht Schlosser
This basic version of class Fl_Scheme contains only static methods that are needed for Fl_Scheme_Choice and further extensions.
2023-01-12New static member Fl_Window *Fl_Wayland_Window_Driver::previous_floatingtitleManoloFLTK
2023-01-12New static member bool Fl_Wayland_Window_Driver::tall_popupManoloFLTK
2023-01-12Remove repeated code in classes menuwindow and menutitleManoloFLTK
2023-01-12Remove useless #include directivesManoloFLTK
2023-01-12Simpler implementation of Fl_Window_Driver::scroll_to_selected_item()ManoloFLTK
2023-01-12Wayland menus: remove useless Fl_Window_Driver::extra_menutitle()ManoloFLTK
2023-01-12Fix buffer overflow in Fl_Tree_Item::show_self()Albrecht Schlosser
2023-01-11 Fix "Wayland: compilation warnings" (#649)ManoloFLTK
2023-01-11Fix "Long line crashes Fl_Hold_Browser" (#645)ManoloFLTK
This is in fact a regression introduced at commit be0f06e.
2023-01-11Wayland: Further improved implementation of menu windowsManoloFLTK
Tall menus now work also as single popup window and show the correct selected item. Groups of popups with a menutitle, an associated menuwindow, and possibly submenus are constructed around the menuwindow, the menutitle being a child popup of the menuwindow. This positions these popup groups better than before.
2023-01-11Fix ";" inadvertently written ","ManoloFLTK
2023-01-09Virtual member Fl_Window_Driver::makeWindow() now returns voidManoloFLTK
2023-01-09Wayland: Possibly better way to complete popup constructionManoloFLTK
2023-01-09 Doc only: fix for "Fl::awake() and Fl::add_timeout()" (#524)ManoloFLTK
2023-01-09Wayland: fix Fl::event_key(int)ManoloFLTK
2023-01-08FLUID: add drag'n'drop for images (#642)Matthias Melcher
FLUID dnd for desktop images into the design Documentation for fl_access
2023-01-08 Fix "Xrender blurs adjacent images with bilinear scaling" (#633)ManoloFLTK
Many thanks to @wcout for providing this fix. Xrender now draws images in the same way when tiling images or not when FL_RGB_SCALING_BILINEAR is on. This allows to remove static bool Fl_Tiled_Image::drawing_tiled_image() which becomes unused.
2023-01-08Wayland: Improved implementation of menu windowsManoloFLTK
2023-01-08Fix missing parameter documentationMatthias Melcher
2023-01-07Fix Fl_Spinner draw problem - closes #638Greg Ercolano
2023-01-07 Fix for "Shift-Ctrl-C shortcut in fluid not working on newer linux OS's" (#637)ManoloFLTK
2023-01-06X11: Optionally copy selection buffer to clipboard (STR 3229)Albrecht Schlosser
The new method Fl::selection_to_clipboard(int) enables copying selection data to the clipboard on X11 if it is set to 1. This feature was requested by STR 3229 and the implementation was inspired by an `xterm` feature named "Select to Clipboard" which can be enabled by 'ctrl + middle mouse button + "Select to Clipboard"' in an xterm window.
2023-01-05Add Fl_Tabs dragging in pulldown modeMatthias Melcher
2023-01-05Adding Fl::hide_all_windows()Matthias Melcher
2023-01-05Add close buttons for individual tabs in Fl_Tabs (#628)Matthias Melcher
Add close buttons for Fl_Tabs Introducing callback reasons FLUID shows all FL_WHEN_... options Adding Fl_Tabs overflow types Improved test/tabs to show new features
2023-01-05Refactor drawing small circles: add fl_draw_circle()Albrecht Schlosser
This method can be used to draw small circles as part of the GUI. It is independent of the current scheme. Very small circles are approximated by drawing several rectangles.
2023-01-04 Fix for "Fl_Native_File_Chooser_MAC.mm compilation warning" (#627)ManoloFLTK
2023-01-04Cairo/Pango: compute character widths fast and string widths accuratelyManoloFLTK
This commit has Fl_Cairo_Graphics_Driver compute string widths in 2 ways: 1) when the string contains several unicode characters, the width of the whole string is computed, accounting for kerning when it occurs; 2) when the string contains a single unicode character, its width is computed, memorised, and re-used next time it's necessary. The effect of this approach is - Fl_Text_Display is fast because it uses memorised single character widths repeatedly - Fl_Input is drawn accurately because the cursor position is determined by string widths, not by sums of character widths.
2023-01-03Clarify and improve Fl::scheme() related documentationAlbrecht Schlosser
2023-01-02Fix missing include file for Visual StudioAlbrecht Schlosser
... if GDIPLUS is disabled. Thanks to Winfried Szukalski for reporting this.
2023-01-02Modify 'oxy' scheme's "choice arrow" for consistencyAlbrecht Schlosser
The "choice arrow" used two "down-arrows" which was different than all the other schemes. Changed to up-arrow and down-arrow to make this more consistent. The exception is the default scheme (none or base) which uses only one down-arrow.
2023-01-02Fix box frame sizes of "round" boxes in scheme 'oxy'Albrecht Schlosser
2023-01-02Fix a doxygen warning and improve "file list" contentsAlbrecht Schlosser
FL/Fl_Group.H: add `\brief` keyword src/Fl_Group.cxx: fix warning: the '#' in '#include' must be escaped
2023-01-01FLUID refactor and macOS warnings removed (#623)Matthias Melcher
P renamed to g_project class Project renamed to class Fluid_Project fixes macOS type cast warnings
2023-01-01Add a missing FL_OVERRIDE flagAlbrecht Schlosser
2022-12-30Remove commented fl_beep calls (#620)Adam Chyła
2022-12-30Fixing false FL_OVERRIDEMatthias Melcher
2022-12-30Fix uninitialised struct in SVG readerMatthias Melcher
2022-12-30Use `FL_OVERRIDE` for all overridden virtual methods (#611)Matthias Melcher
FL_OVERRIDE is defined as `override` for C++11 and higher FL_OVERRIDE is defined as `override` for VisualC 2015 and newer Don't interfere with Fl_Widget::override()