summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2021-09-27Fix and improve Fl_GIF_Image (issue #271, #274)Albrecht Schlosser
- add error and EOF checks - fix transparent pixel index outside ColorMap (#271) - fix Fl_GIF_Image decoder bug (#274) - add Fl_Image_Reader::skip(unsigned int) - use new skip() method in GIF reader
2021-09-25Clarify return values and fix a minor issue (#271)Albrecht Schlosser
Fix: Fl_Image_Reader::seek() would not clear the error flag when reading from memory.
2021-09-25Enable error and EOF check in class Fl_Image_Reader (#271)Albrecht Schlosser
This is part 1 and a prerequisite for the fix of issue #271. It enables the user of this internal class (Fl_{BMP|GIF}_Image) to test for read errors and EOF (end of file) while reading. The method used to read data from memory got an optional third argument 'const long datasize = -1)' to limit the size of the memory block of data provided to the image reader. Default is -1 which means "unlimited" (backwards compatibility). Using only two arguments (w/o size limit) is deprecated and should only be done if the data size is not available.
2021-09-24macOS platform: facilitate use when another toolkit handles the system menu.ManoloFLTK
2021-09-12Fix malloc/delete mismatch (X11 only)Albrecht Schlosser
2021-08-30Fix two compiler warnings [-Wunused-variable]Albrecht Schlosser
2021-08-30Fix compiler warnings (Windows only)Albrecht Schlosser
src/Fl_Native_File_Chooser_WIN32.cxx:331:12: warning: suggest parentheses around assignment used as truth value [-Wparentheses] 331 | while ( s=strchr(s,'\\') ) *s = '/'; | ~^~~~~~~~~~~~~~~ src/Fl_Native_File_Chooser_WIN32.cxx:336:12: warning: suggest parentheses around assignment used as truth value [-Wparentheses] 336 | while ( s=strchr(s,'/') ) *s = '\\'; | ~^~~~~~~~~~~~~~
2021-08-28add fl_filename_match comments as per STR3186Duncan Gibson
add Notes: section to fl_filename_match documentation explaining case-sensitivity [or not] and use of \x see also https://www.fltk.org/str.php?L3186
2021-08-27Fix "Tooltip causing Window to 'unfocus' on Windows" (#261)Albrecht Schlosser
This fixes a regression introduced in FLTK 1.4 in commit 3bc5be71a39bf2ed9d9937a4f60df61dd6d3a2b4 ("Rewrite Fl_Tooltip.cxx for the driver model").
2021-08-27Remove compiler warnings '-Wextra-semi' (see also PR #266)Albrecht Schlosser
I compiled with `-Wextra-semi -Werror=extra-semi` on Linux and Windows (cross-compiled on Linux) and removed all "extra semicolon" warnings I could find. I didn't check on macOS (yet). Note: Linux configured with and w/o Pango but not w/o Xft. Compilation with other options (e.g. Cairo) might still emit such warnings.
2021-08-06Fix problem in native file chooser with macOS 12 "Monterey" (beta).ManoloFLTK
2021-08-05Have Fl_Quartz_Copy_Surface_Driver account for current display scaling factor.ManoloFLTK
2021-08-04macOS: account for deprecation of [NSBitmapImageRep ↵ManoloFLTK
initWithFocusedViewRect:] in macOS 10.14
2021-08-03macOS: fix paste of image for macOS 11.xManoloFLTK
With macOS 11.x, the pasteboard image can be found with floating point pixel values. This changes makes FLTK process adequately such image data.
2021-07-24Fix © year.ManoloFLTK
2021-07-24Remove useless friend declaration.ManoloFLTK
2021-07-21Call pthread's recursive mutex on Linux (Issue #245)Albrecht Schlosser
Add CMake test for PTHREAD_MUTEX_RECURSIVE Add autoconf/configure compile test for PTHREAD_MUTEX_RECURSIVE Replace "#ifdef PTHREAD_MUTEX_RECURSIVE" with "#ifdef HAVE_PTHREAD_MUTEX_RECURSIVE" and define HAVE_PTHREAD_MUTEX_RECURSIVE in config.h
2021-07-12macOS: fix fltk_cairo shared library (issue #250)Albrecht Schlosser
- add missing dependencies to build the shared libfltk_cairo(.dylib) - remove incorrect dependency on cairo from libfltk - add cairo_test-shared demo (linked with shared libs)
2021-07-08Harmonize and document syntax of config.h source filesAlbrecht Schlosser
- configh.in: add and improve comments, reorder statements - configh.cmake.in: add comments, fix whitespace - src/drivers/GDI/Fl_GDI_Graphics_Driver_line_style.cxx: fix trailing whitespace
2021-07-08macOS: Fl::add_timeout() must always create a new timer (#248)Albrecht Schlosser
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.
2021-07-07macOS: Fix a timer inconsistency and prevent a crashAlbrecht Schlosser
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. In the future this may be documented as the standard behavior.
2021-07-04Remove duplicate BOM check (#247)Albrecht Schlosser
Sorry for the noise, this was a "merge error". Also, fix a typo.
2021-07-03Fix svg image check (#247)Albrecht Schlosser
Thanks to @wcout for pointing out that "<svg\t" is a valid notation. The overall length check (>= 5) is left in place intentionally.
2021-07-03Check for valid length and simplify BOM check (#247)Albrecht Schlosser
2021-07-03Fix for issue #247 : loading SVG image with BOM.ManoloFLTK
2021-07-01Fix FL_MOUSEWHEEL event coordinates in subwindow (#210)Albrecht Schlosser
Issue #210: "Fl::event_x() & event_y() doesn't take into account embedded window's coords with Mouse wheel events" In fact the calculation of Fl::event_x() and Fl::event_y() used the wrong window coordinates if the event was sent to a subwindow.
2021-06-27Fix use of variable out-of-scope (PR #242)fire-eggs
2021-06-26Fix a potential memory leak (PR #241)Albrecht Schlosser
This is a hypothetical fix, since the condition `count == 0` may not be true although `doit` has been allocated. In practice this should not be possible since the same loop is executed twice in lines 463++ and 471++. But anyway, here it is...
2021-06-26Fix potential memory leak (#241)fire-eggs
Signed-off-by: Albrecht Schlosser <albrechts.fltk@online.de>
2021-06-18Revert parts of and fix other 'constness' changes (#239, #181)Albrecht Schlosser
Some of the previous constness changes turned out to be incomplete, others had to be reverted because some other driver methods could not be made 'const' - particularly those calling open_display() to get the requested information.
2021-06-16Make non-const Fl_Screen_Driver methods const (#181)Albrecht Schlosser
As requested by issue #181: "Fl_Screen_Driver.H non-const functions should be const" Not all methods could be made 'const' because some screen related methods call init() internally.
2021-06-09Don't activate scaling shortcuts if platform doesn't support scaling.ManoloFLTK
2021-05-31Windows: Fix compiler warning, simplify codeAlbrecht Schlosser
src/Fl_Native_File_Chooser_WIN32.cxx:190:10: warning: ‘char* strncpy(char*, const char*, size_t)’ specified bound depends on the length of the source argument [-Wstringop-overflow=] 190 | strncpy(wp2, string, n); | ~~~~~~~^~~~~~~~~~~~~~~~ Although there was no real problem with the code (the allocated buffer was large enough), the code was questionable and there was redundant code that could be simplified.
2021-05-31Windows platform: use GDI+ to antialias oblique lines and curves.ManoloFLTK
2021-05-28New virtual member function Fl_Graphics_Driver::colored_rectf().ManoloFLTK
2021-05-27 macOS: Avoid premature FL_RELEASE event at start of drag-n-drop operation.ManoloFLTK
This fixes this issue mentioned in fltk.general : https://www.fltk.org/newsgroups.php?s40623+gfltk.general+v40638+T
2021-05-26Fix trailing whitespace and formattingAlbrecht Schlosser
2021-05-26Windows: fix fl_system() and fl_execvp() (STR 3438)Albrecht Schlosser
Use correct conversions to Windows "wide character" encoding and use the appropriate wide character functions.
2021-05-26X11: fix fl_clip_box() coordinates > 16-bit (STR 3134)Albrecht Schlosser
Pre-clip coordinates to 16-bit range before using X11 clipping functions because X11 supports only 16-bit int's.
2021-05-25Reimplement Fl_Group::delete_child(int) for Fl_ScrollAlbrecht Schlosser
2021-05-25Add virtual int Fl_Group::delete_child(int n) (STR 3218)Albrecht Schlosser
This is a convenience method that does range checking (index n), removes the child given by index n from the group and deletes it.
2021-05-07Suppress Visual Studio warnings in nanosvg codeAlbrecht Schlosser
- disable warning C4244 (conversion / data loss) - restore #pragma warning after nanosvg includes
2021-05-07Fix MSVC 2010 and older not finding round()Albrecht Schlosser
Actually we don't know about some newer MSVC versions, but current version MSVC 2019 works fine w/o defining round(). If other MSVC versions need this as well we can change the version test or add a compiler feature test to CMake (configure not required).
2021-05-06Fix Windows (Visual Studio) compiler warningsAlbrecht Schlosser
2021-05-03Fix compiler warning on macOSAlbrecht Schlosser
Compiling drivers/Posix/Fl_Posix_System_Driver.cxx... drivers/Posix/Fl_Posix_System_Driver.cxx:176:14: warning: unused function 'quadruple_dlopen' [-Wunused-function]
2021-04-29Cleaner access to Fl_Gl_Window_Driver objects.ManoloFLTK
2021-04-28Fix "Fl_Shared_Image: use of unitialized data" (#216)Albrecht Schlosser
- fix issue as proposed - fix more potential access to uninitialized data issues - document Fl_Shared_Image::add_handler() - document typedef Fl_Shared_Image::Fl_Shared_Handler()
2021-04-27Slightly simplify gl_texture_fifo::compute_texture()ManoloFLTK
The font size is set to the value necessary for the GL scene before computing the string width. Virtual Fl_Gl_Window_Driver::effective_size() becomes unnecessary.
2021-04-26Avoid "Bogus FL_MOVE/FL_DRAG events" (#76)Albrecht Schlosser
Fix sending bogus events if CONSOLIDATE_MOTION is on.
2021-04-16Fix potential buffer overrun (WIN32 only)Albrecht Schlosser