| Age | Commit message (Collapse) | Author |
|
|
|
Removing all globals in file writer (#653 )
Fix some static analyser complaints
Valgrind: handle width==0 in GfxDrivers on Wayland and X11
Don't use `Fl_Input_::static_value`, it accesses previous
buffer that may be deleted
Project file write encapsulated, removing globals
Encapsulating project file reader, removing states in glbals
Project i/o increased source code readability
|
|
|
|
|
|
|
|
The new name reflects better the role of this bool member variable.
Also, add explanatory comments about the use of this variable.
|
|
Helper function convert_crlf() from file fl_wayland_clipboard_dnd.cxx has been
repaired by commit a4b33f8 (13 jan 2023). But the same function was also in
file Fl_cocoa.mm. This commit moves the repaired code to class Fl_Screen_Driver
and has both fl_wayland_clipboard_dnd.cxx and Fl_cocoa.mm use it.
|
|
|
|
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.
|
|
|
|
|
|
- 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
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.
|
|
... if GDIPLUS is disabled.
Thanks to Winfried Szukalski for reporting this.
|
|
P renamed to g_project
class Project renamed to class Fluid_Project
fixes macOS type cast warnings
|
|
|
|
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()
|
|
|
|
|
|
The Page_Format and Page_Layout enums have been conceived for them to be combinable
into a single int value.
|
|
|
|
|
|
|
|
|
|
Menu windows containing sub-menus are now processed differently.
|
|
This commit uses Wayland popup positionning methods to handle common
menu windows and prevents them from expanding below display bottom or above top.
The previous algorithm remains in place for menu windows higher than
the display height. Further changes for these big menus may come later.
|
|
This commit should fix: once the mouse leaves the app window area and returns back to it
(app loses focus and gets it again) the crash happens.
|
|
The driver's clip_ member was not updated to the new Cairo clip state
which rendered function Fl_Cairo_Graphics_Driver::clip_box() inaccurate.
|
|
|
|
|
|
@wcout reports that we get better results if function pango_font_metrics_get_height()
is not used until version 1.50.6 and above of libpango. The difference is specially visible
with underscore characters in unscaled, standard DPI displays. This commit does that.
|
|
|
|
|
|
- call RevokeDragDrop() when the window is hidden
- do not delete the *static* FLDropTarget object
|
|
Also fixes gap()
|