Gambas 3.16.1

What's new?

This release includes important bug fixes made since the 3.16.0 release.

Compilation and installation

Read the instructions there.

If everything was fine, type "gambas3" to run the development environment.

Enjoy it !

Changelog

CONFIGURATION

  • Fix deletion of empty directories for FreeBSD.

  • Update README.md file.

DEVELOPMENT ENVIRONMENT

Debugger

  • Use SIGUSR2 signal instead of SIGUSR1 to stop debugged processes, because SIGUSR1 makes WebKit crash.

Form editor

  • Do not crash if a user-defined control inheriting UserContainer requests a non-container in its DrawWith property. Use a Panel or TabPanel instead.

  • Add an help menu for controls in the toolbox.

  • Put the toolbox buttons in its bottom bar.

  • Do not crash if a control in _Similar does not exist.

  • Fix the coherency test on _DrawWith property.

Help browser

  • Handle the wiki:// links through the Error event.

Project open dialog

  • Change the layout of the buttons to fix behaviour with GTK+3.

Search dialog

  • Replace message boxes by a label.

  • The title now correctly follows the current tab title.

Test panel

  • The spinner now is correctly shown during the test.

  • Display a different message if the test is aborted.

Translation dialog

  • Do not use sorted ComboBoxes for choosing languages, as Qt and GTK+ do not sort the same way, and it breaks the behaviour of the dialog when using GTK+3.

  • The "copy all translations" menu works correctly now.

  • Use an explicit background for the untranslated string TextArea, because transparent background does not work with GTK+.

Welcome window

  • Fix the drawing of the close button of project boxes displayed in single column.

  • Project lists scroll to the top when the filter changes.

Miscellaneous

  • Update French translation.

  • Update Turkish translation.

  • webform project template now uses gb.web.gui instead of gb.web.form.

  • Fix "1" character in Gambas 16 pixel regular font.

INTERPRETER

  • Fix compilation on BSD systems.

  • Fix a string memory leak in error management.

  • Abort JIT compilation before executing the QUIT instruction.

  • WAIT with a positive value should not block anymore in some case.

SCRIPTER

  • Fix --convert-project single parameter version.

SELF-TESTER

  • Make the self-tester use the current Gambas version.

GB.DB.ODBC

  • Try to read date fields correctly in most ODBC drivers.

GB.DEBUG

  • Use SIGUSR2 signal instead of SIGUSR1 to stop debugged processes, because SIGUSR1 makes WebKit crash.

GB.FORM

  • FileView: Fix automatic extension behaviour.

  • MenuButton: Custom drawing of shortcut underlines for GTK+.

  • Search for icon themes in /usr/local for BSD systems.

  • SidePanel: Hidden side panels have now a one pixel size. Because GTK+ components cannot handle zero-size controls at the moment.

  • FileChooser: Fix file uncompress that was done twice.

  • DocumentView: Reintroduce the old properties renamed in 3.16.0 for backward-compatibility.

GB.FORM.DIALOG

  • Remove useless gb.gsl from project components.

GB.FORM.EDITOR

  • Sh editor mode: remove quotes from braces list.

  • TextEditor: Remove tabledragger.js test file because it is copyrighted.

GB.FORM.TERMINAL

  • TerminalView: Reset() method does not fail anymore if the currently running process is dead.

GB.GUI.BASE

  • SpinBox: Update the current value before returning it with the Value or the Text property.

  • SpinBox: Take into account that the internal mouse timer may be cleared during its event handler.

  • Frame: Make frame contents cover the entire control area when there is no arrangement, for backward-compatibility.

  • ListBox: Use a natural sort for sorting the ListBox contents.

GB.GTK

  • Display the warning about calling the event loop during a keyboard event once.

  • Clipboard: Always replace "text/plain" format by "text/plain;charset=utf-8" when pasting.

  • The workaround of Pango markup bug makes lines disappear with recent versions of Pango, so remove it.

  • Font.RichTextSize() now uses the same algorithm as Font.TextSize().

  • TextArea: Add a padding proportional to the font height.

  • Automatic container resize now takes the arrangement of the parent of the container into account.

  • Don't remove file descriptors watches in the quit hook to behave like Qt components.

  • Remove a forgotten debugging breakpoint that made reading Key properties crash when there is no keyboard event data.

  • Window: Reparenting a window now keeps the title and the enabled state correctly.

  • Some deferred arrangements were useless, don't do them.

  • Focus navigation works again.

GB.GTK3

  • Display the warning about calling the event loop during a keyboard event once.

  • Clipboard: Always replace "text/plain" format by "text/plain;charset=utf-8" when pasting.

  • The workaround of Pango markup bug makes lines disappear with recent versions of Pango, so remove it.

  • Font.RichTextSize() now uses the same algorithm as Font.TextSize().

  • TextArea: Take focus into account when drawing the border.

  • Workaround many drawing warnings in Slider, CheckBox and RadioButton.

  • TextArea: Add a padding proportional to the font height.

  • Automatic container resize now takes the arrangement of the parent of the container into account.

  • Don't remove file descriptors watches in the quit hook to behave like Qt components.

  • Remove a forgotten debugging breakpoint that made reading Key properties crash when there is no keyboard event data.

  • Window: Reparenting a window now keeps the title and the enabled state correctly.

  • Some deferred arrangements were useless, don't do them.

  • Fix deferred arrangement because of a weird GTK+3 behaviour.

  • Focus navigation works again.

GB.GTK3.WEBVIEW

  • WebView: Disable a setting flag deprecated in WebKitGTK >= 2.32.0.

  • WebView: Try to make Qt5 and GTK+3 webview raise their events the same way when loading pages.

GB.QT4

  • Display the warning about calling the event loop during a keyboard event once.

  • TextArea: Add a padding proportional to the font height.

  • Automatic container resize now takes the arrangement of the parent of the container into account.

GB.QT5

  • Display the warning about calling the event loop during a keyboard event once.

  • TextArea: Add a padding proportional to the font height.

  • Automatic container resize now takes the arrangement of the parent of the container into account.

GB.QT5.WEBVIEW

  • WebView: Clear the internal cancel flag if the Finish event is raised before the acceptationRequest method is called.

  • WebView: Try to make Qt5 and GTK+3 webview raise their events the same way when loading pages.

GB.TEST

  • New test suite Production that excludes tests which are not reliable in all circumstances.

  • gb.test didn't print a real error's text.

GB.WEB.GUI

  • Use SIGUSR1, now that SIGUSR2 is used by the Gambas debugger.