Article #1494: FLTK 1.3.4 released on Nov 11, 2016

FLTK matrix user chat room
(using Element browser app)   FLTK gitter user chat room   GitHub FLTK Project   FLTK News RSS Feed  
  FLTK Apps      FLTK Library      Forums      Links     Login 
 Home  |  Articles & FAQs  |  Bugs & Features  |  Documentation  |  Download  |  Screenshots  ]

Return to Articles | Show Comments | Submit Comment ]

Article #1494: FLTK 1.3.4 released on Nov 11, 2016

Created at 08:48 Nov 11, 2016 by AlbrechtS

Last modified at 14:50 Nov 11, 2016

Even though FLTK 1.3.4 does not fix all STRs, we decided to release FLTK 1.3.4 as it contains many new features, bug fixes, and adaptations to new compiler releases.

The new release 1.3.4 (source and documentation) can be downloaded here:


RELEASED: Nov 11 2016

Bug fixes and other improvements

- Fix test/native-filechooser help display artifact (STR #3349).
- MacOS: fix a crash when closing a fullscreen window.
- Accept empty Fl_Pixmap in Fl_RGB_Image c'tor (STR #3348).
- MacOS: fix drawing error when a window containing a hidden subwindow
  is changed to fullscreen (error visible with the tabs test program).
- MacOS: fix possible crash when enabling fullscreen in test/scroll.
- Add a snapshot of known STR's and RFE's (KNOWN_BUGS.html).


RELEASED: Oct 31 2016

Bug fixes and other improvements

- Fix string truncation in fluid (STR #2722 continued).
- MacOS: fix a small problem where the Command-Quit menu hotkey
  may not work if Fl_Native_File_Chooser is used before any
  window is shown.


RELEASED: Oct 24 2016

Bug fixes and other improvements

- Make sure the "File Systems" menu item of Fl_File_Chooser
  lists "/" as the first mounted file system (Linux/Unix platform).
- Added line numbers to fluid Edit -> Show Source Code viewer.
- Improved fluid's template handling (STR #3335).


RELEASED: Oct 17 2016

New features and extensions

- Added support for Mac OS 10.11 "El Capitan" and 10.12 "Sierra".
- Added full support of true subwindows to the Mac OS X platform.
  Window nesting to any depth is possible. An Fl_Gl_Window window or
  subwindow can contain Fl_Window's as subwindows.
- Fluid now supports external editors (STR#3213)
  See: Edit -> GUI Settings -> Use external editor
- Added method Fl_Widget::is_label_copied().
- Added methods Fl_Copy_Surface::w(), Fl_Copy_Surface::h(),
  and Fl_Copy_Surface::draw_decorated_window().
- Added method Fl_Image_Surface::draw_decorated_window().
- Added method Fl_Shared_Image *Fl_Image_Surface::highres_image()
  to draw into a high-resolution bitmap image (Mac OS X only).
- Added support for OpenGL version 3 and later.
- Added method Fl_Mac_App_Menu::custom_application_menu_items()
  allowing customization of the application menu (Mac OS X only).
- Added 'fluid -u' command-line switch to upgrade fluid files in
  batch mode. This option opens a fluid ('.fl') file and saves it
  overwriting the old file with the current syntax and library version
  number. Use with care (input file is overwritten unconditionally).
- Added FL_ZOOM_GESTURE gesture for OS X (only). Needs implementation
  on other platforms.
- Added FL_ABI_VERSION, FL_API_VERSION, Fl::abi_version(), and
  Fl::api_version(). Constants can be used to determine the compiled
  FLTK version. Functions can be used to find the linked library version.
- Added Fl::abi_check() method to test if the runtime (linked)
  ABI version is correct.
- Added Fl_Image::fail() to test if an image was loaded successfully
  to allow for easier error detection when loading images (STR #2873).
- Added line numbers to fluid's source code viewer for New -> Code

New configuration options (ABI version)

- FLTK's ABI version can now be configured with 'configure', CMake, or
  by editing a supplied file when using the bundled IDE projects.
  See documentation in README.abi-version.txt.


- Added deactivated user icon to Fl_Tree.
- Added Fl_Shared_Image::scale(width, height) which gives a shared
  image its own drawing size, independently of the size of the
  underlying image. This improves image drawing on high resolution
  surfaces such as Laser printers, PDF files, and Apple retina displays.

Other improvements

- Configure now correctly sets HAVE_* variables only if both the
  library and the header files were found. The configuration process
  is aborted if Xft was requested explicitly with --enable-xft and
  Xft was not found. The configuration summary now shows _found_
  options as opposed to requested options.
- Improved drawing of rounded box (STR #2943).
- Full support of Apple 'retina' displays for which one drawing unit
  corresponds to two pixels.
- The Mac OS X platform no longer uses the deprecated AGL
  (Apple GL library) to draw OpenGL data. Instead, it uses standard
  Cocoa APIs. This allows FLTK to support drawing GL scenes at high
  resolution when an Fl_Gl_Window is mapped to a 'retina' display.
- Added Fl_Gl_Window::pixel_w(), Fl_Gl_Window::pixel_h(), and
  Fl_Gl_Window::pixels_per_unit() useful for high resolution OpenGL windows.
- fl_read_image() now captures all pixels within the rectangle
  described by its arguments, whether they belong to a GL scene
  or not (STR #3142). It also captures subwindows of GL windows.
- Fl::delete_widget() now hides the widget or window immediately
  (i.e. when called) - only destruction is delayed as before.
- FLTK header files don't expose X11 definitions in user code any more
  unless requested by including FL/x.H explicitly or implicitly.
- The PostScript code output when printing images under Linux/Unix
  is now much smaller by using lossless compression techniques.
- The Linux/Unix printer dialog now uses BSD-style printing commands
  (lpr/lpq) when SystemV-style commands (lp/lpstat) are not available.
- Drawing alpha-blended images under X11 is now accelerated with
- The font used for the FL_COURIER font family was changed on the Mac OS X
  platform from 'Courier New' to 'Courier' because it was too thin.
- Text drawing on the Mac platform supports Unicode 'variation selectors'
  in the range [0xFE00-0xFE0F].
- Added a Mac OS implementation of Fl_Window::wait_for_expose() that
  became necessary with Mac OS 10.10 "Yosemite".
- Added the libfltk target to the Xcode project producing a static
  version of the FLTK library (Mac OS X).
- Restored the possibility to call Fl::set_font() before main() starts.
- Allow using the --enable-x11 configure option on the Mac OS platform
  which produces an X11 version of the FLTK library (don't use unless
  you know what you're doing).
- FLTK code and fluid-generated code can be used in static initializers.
- Added light gray separator line to fluid's widget browser (STR #2997).
- Improved tooltip behavior for huge tooltips: remove flicker, support
  key/mouse dismiss (STR #2650).
- Modifier key names displayed in shortcut labels can now be localized.
  See documentation of fl_shortcut_label(). You can set modifier key
  names for Ctrl, Alt, Shift, and Meta by assigning global string
  pointers to your translated modifier key names.
- Many documentation improvements and fixes.
- Fixed many compiler warnings (STR #2988).
- Fluid now generates code with less compiler warnings (STR #2813).
- Many CMake improvements and fixes. Note: CMake is mostly operating
  now, but not yet recommended for production use. Please test and
  report issues.
- Updated bundled zlib from 1.2.5 to 1.2.8.
- Updated bundled libjpeg from jpeg-8c to jpeg-9a.

Bug fixes

- Fix potential crash when using keyboard navigation on Fl_Tabs
  widget without children (STR #3333).
- Fix potential crash if Fl_Window::icon(NULL) was called to clear
  (reset) a window icon. This is now legal and documented behavior.
  The same applies to Fl_Window::default_icon().
- Allow widget callback to be NULL, i.e. no callback (STR #2835).
- Fixed Fl_Help_View buffer overflow (STR #3275).
- Fl_Browser now correctly adjusts its scrollbars when the default
  text size is changed with textsize(int) (STR #3057).
- Fixed Fl_Text_Display/Fl_Text_Editor slow scrolling, line number
  display, wrap mode "hiding" text behind scrollbars, and more
  scrollbar handling (alignment) (STR #3272).
- Fixed valgrind warning (uninitialized variable) in Fl_Window.
  Visible only with FLTK_ABI_VERSION >= 10303, since FLTK 1.3.3.
- Fixed Windows drag'n'drop not showing insert position if the drop
  target is inside the same window or process (STR #3209).
- Fixed undefined reference building shared cairo library (STR #3276).
- Fixed Fl_Browser if text argument to some methods is NULL (STR #3269).
- Fixed missing image release in fluid (STR #2840).
- Fixed out-of-bounds memory access in fluid (STR #3263).
- Fixed trailing white space in fluid .fl files (STR #3239).
- Several box types were not drawn correctly when deactivated.
  The background color for deactivated widgets is now correct:
  fl_inactive(color()) (STR #2907).
- Fix inconsistent interpretation of ld() in image handling
  (STR #3308). This is a minor issue since ld() is usually 0 or
  w()*d(). Documentation has been fixed, and ld() handling is now
  consistent in Fl_(RGB_)Image and fl_draw_image() and friends. See
  documentation of Fl_Image and Fl_RGB_Image for more information.
- Fixed Fl_Pixmap (background) drawing to respect the clip region
  (STR #3206).
- Fixed reading .pbm image files: 1 is now interpreted as black,
  and images whose width are a multiple of 8 are correctly read.
  Note: if you relied on the faulty behavior you may need to fix
  your image files.
- Restored window background drawing, particularly the 'plastic'
  scheme's background (STR #3059). This was a regression since
  FLTK 1.3.0.
- Prevent sending (FL_SHORTCUT) events to inactive widgets (STR #3216).
- Fixed button label clipping (STR #3237).
- Fixed Fl_Menu_::item_pathname() handling of descending submenu
  pointers (STR #3177).
- Fl_Text_Display: style buffer colors are no longer manipulated by
  fl_contrast() for normal text drawing (fltk.coredev thread started
  04/08/15, Subject: "RFC: Fl_Text_Display style buffer color weirdness")
- Fl_Tree::deactivate() now affects draw color of items (must have
  ABI 1.3.3 or higher enabled). For icons to draw deactivated,
  enable ABI 1.3.4. (test/tree has a 'deactivate tree' button)
- Fl_Tree::find_item() did not find items if the pathname contained
  identical strings (STR #3234).
- Fixed possible bad border effect when a set of radio menu items
  is located first in its menu (STR #3176): Fl_Menu_Item::set_only()
  is deprecated and replaced by Fl_Menu_::set_only(Fl_Menu_item*).
- Restore the correct state of mouse buttons and keyboard modifier keys
  after closing a file or printer dialog (STR #3221).
- Fix for deactivate colors issue with Fl_Text_Display/Editor (STR #3219).
- Fixed issue with MSWindows platform where the program kept running
  after closing all its windows (STR #3165).
- Fix potential buffer overflow (MSWindows: BEX64 error) and problem with
  MSWindows environment variables "HOME"(MinGW) vs. "UserProfile"(DOS)
- Fix issue with MSWindows platform where a window would decrease
  in size after each close/open (STR #3167).
- Fix undefined reference XGetUtf8FontAndGlyph (STR #3191).
- Fix potential keyboard hangup (STR #3192).
- Fix for: .xbm images were not previewed (STR #3131).
- Fixed crash on Mac platform when resizing a not yet shown() Fl_Gl_Window.
- Fixed potential Windows GDI leak (STR #3254).
- Fixed Linux/Unix potential program hang when dialog pops up while
  a menu is open (STR #3179).
- Fixed a crash when a Unix/Linux program calls take_focus() before any
  window has been show()n.
- Fixed an error on the Mac platform when drawing to an Fl_Image_Surface
  object without using the Fl_Image_Surface::draw() method.
- Fixed STR #3268 where a fullscreen window could become relocated
  behind the menu bar and dock (Mac OS only).
- Fixed STR #3207: ^C not working when numlock or capslock is on.
- Fixed code editor in Fluid (STR #3184).
- Fixed a potential hangup of the Fl::awake() queue under Windows if
  a window is resized or moved while the Fl::awake() message is sent
  (STR #3143).
- Fixed a regression: restore the possibility to call
  fl_draw_image(buf,X,Y,W,H,D,L) with negative D and/or L arguments.
- Fixed overflow in Fl_Valuator::precision(int) to 0...9 (STR #3280).

Listing ]


Submit Comment ]

Comments are owned by the poster. All other content is copyright 1998-2022 by Bill Spitzak and others. This project is hosted by The FLTK Team. Please report site problems to ''.