Gambas Documentation
Application Repository
Code Snippets
Compilation & Installation
Components
Controls pictures
Deprecated components
Developer Documentation
Development Environment Documentation
Documents
About The Best Formula In The World
Architecture details
Benchmarks
Books
By Reference Argument Passing
Compatibility between versions
Creating And Using Libraries
Database Datatype Mapping
Database Request Quoting
Date & time management
Dates and calendars
DBus and Gambas
Differences Between Shell And Exec
Differences From Visual Basic
Distributions & Operating Systems
Drag & Drop
DrawingArea Internal Behaviour
External functions datatype mapping
Frequently Asked Questions
Gambas Farm Server Protocol
Gambas Mailing List Netiquette
Gambas Markdown Syntax
Gambas Naming Conventions
Gambas Object Model
Gambas Scripting
Gambas Server Pages
Gambas Unit Testing
Gambas Wiki Markup Syntax
Getting Started With Gambas
Hall Of Fame
Image Management In Gambas
Including Help Comments in Source Code
Interpreter limits
Introduction
Just In Time Compiler
Just In Time Compiler (old version)
License
Localisation and Internationalization
Mailing Lists & Forums
Naming Conventions
Network Programming
ODBC Component Documentation
PCRE Pattern Syntax
Porting from Gambas 2 to Gambas 3
Previous News
Project Directory Structure
Release Notes
Gambas 2.23.0
Gambas 2.23.1
Gambas 2.24.0
Gambas 3.0.0
Gambas 3.1.0
Gambas 3.1.1
Gambas 3.2.0
Gambas 3.2.1
Gambas 3.3.0
Gambas 3.3.1
Gambas 3.3.2
Gambas 3.3.3
Gambas 3.3.4
Gambas 3.4.0
Gambas 3.4.1
Gambas 3.4.2
Gambas 3.5.0
Gambas 3.5.1
Gambas 3.5.2
Gambas 3.5.3
Gambas 3.5.4
Gambas 3.6.0
Gambas 3.6.1
Gambas 3.6.2
Gambas 3.7.0
Gambas 3.7.1
Gambas 3.8.0
Gambas 3.8.1
Gambas 3.8.2
Gambas 3.8.3
Gambas 3.8.4
Gambas 3.9.0
Gambas 3.9.1
Gambas 3.9.2
Gambas 3.10.0
Gambas 3.11.0
Gambas 3.11.1
Gambas 3.11.2
Gambas 3.11.3
Gambas 3.11.4
Gambas 3.12.0
Gambas 3.12.1
Gambas 3.12.2
Gambas 3.13.0
Gambas 3.14.0
Gambas 3.14.1
Gambas 3.14.2
Gambas 3.14.3
Gambas 3.15.0
Gambas 3.15.1
Gambas 3.15.2
Gambas 3.16.0
Gambas 3.16.1
Gambas 3.16.2
Gambas 3.16.3
Gambas 3.17.0
Gambas 3.17.1
Gambas 3.17.2
Gambas 3.17.3
Gambas 3.18.0
Gambas 3.18.1
Gambas 3.18.2
Gambas 3.18.3
Gambas 3.18.4
Gambas 3.19.0
Gambas 3.19.1
Gambas 3 RC1
Gambas 3 RC2
Gambas 3 RC3
Gambas 3 RC4
Gambas 3 RC5
Gambas 3 RC6
Gambas 3 RC7
Reporting a problem, a bug or a crash
Rich Text Syntax
Screenshots
Text highlighting definition file syntax
The Program has stopped unexpectedly by raising signal #11
Variable Naming Convention
WebPage Syntax
Web site home page
What Is Gambas?
Window & Form Management
Window Activation & Deactivation
Window Life Cycle
XML APIs
Error Messages
Gambas Playground
How To's
Language Index
Language Overviews
Last Changes
Lexicon
README
Search the wiki
To Do
Topics
Tutorials
Wiki License
Wiki Manual

Gambas 3.16.2

What's new?

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

Compilation and installation

Read the instructions there.

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

Enjoy it !

Changelog

DEVELOPMENT ENVIRONMENT

  • Correctly handle compiler output now it compiles several files at the same time.

  • Fix external terminal support when debugging the project.

  • Don't crash if no terminal emulator is found. Display an error message instead.

  • Fix search inside form files whose text contents would be different if saved.

  • Update French translation.

  • Remove an unused variable.

EXAMPLES

  • SystemTray: Update example to follow the new behaviour of X11Systray class.

INTERPRETER

  • AND, OR and XOR operators now correctly raise an error if they deal with Single or Float values.

  • AND, OR and XOR operators should be a bit faster.

  • Call an optional fork helper in each loaded component libraries before starting a task.

  • Array.Read() and Array.Write() now check their stream argument instead of crashing if it is NULL.

  • Fix a memory leak in the return value of Eval().

  • Fix error management on disabled fast functions.

  • Class.Symbols and Class[] now correctly ignore symbol table entries overriden by inheritance.

  • Date formatting with escaped characters works correctly again.

  • Fix number formatting when the format include escaped characters.

  • When using SHELL, call setpgrp() after the possible setsid() call. Otherwise the shell i/o are not visible to the Gambas process.

GB.DB

  • Connection.Collations correctly returns the collation list now.

GB.DB.MYSQL

  • Unlimited string fields now use MEDIUMTEXT type instead of TEXT, so that their actual maximum size is now 16 Mb.

GB.EVAL

  • Fix highlighting and rewriting of lines having comments with more than one space before them.

GB.FORM

  • ButtonBox: Clamp the vertical padding so that the inner textbox works on GTK+ with small fonts.

  • ButtonBox: Fix border drawing according to the widget state (focus and hovering).

  • ButtonBox: Disabled background is now drawn correctly.

  • FileView: Selection property now does return file names without any rich text formatting.

  • FileChooser: Correctly restore the ShowDetailed property from settings.

  • FileChooser: Do not use a Watcher to initialize the popup menu.

  • ListEditor: Fix crash when checking for duplicates if the Unique property is TRUE.

  • MaskBox: Modifier keys do not hide selection anymore.

  • MaskBox: Fix behavior with copy & paste.

  • MaskBox: Allow default popup menu.

  • MaskBox: Text that do not have the same size as the mask are not valid anymore.

  • MaskBox: The Text property now must match the mask when set. If the set text is smaller than the mask, it is completed with the default characters.

  • MenuButton: Fix GTK+3 warnings on hidden shortcut buttons.

  • MenuButton: Remove workaround for the TAB key.

  • TableView: Fix editing control position and size.

GB.FORM.DIALOG

  • File dialog geometry is now correctly saved when Dialog.Key is not set.

GB.FORM.EDITOR

  • TextEditor: Highlighted text drawing routine should not enter an infinite loop anymore when the highlighted color information is incoherent.

GB.FORM.MEDIA

  • MediaView: Hide spacer panel when hiding controls.

GB.FORM.TERMINAL

  • TerminalView: Ignore errors if resizing the running process virtual terminal fails.

GB.GTK

  • Add Placeholder to the list of ComboBox control properties.

  • Fix focus management of windows.

  • Activate embedded windows on show.

  • Forgot to define the Key.AltGrKey symbol.

  • Style.BackgroundOf() method is now reliable.

  • Fix control restacking.

  • Fix keyboard events management.

  • Fix focus walk with the TAB key.

GB.GTK3

  • Add Placeholder to the list of ComboBox control properties.

  • Fix focus management of windows.

  • Activate embedded windows on show.

  • Popup menus should not sometimes close immediately anymore when the mouse button is released.

  • Forgot to define the Key.AltGrKey symbol.

  • Style.BackgroundOf() method is now reliable.

  • Fix control restacking.

  • Fix Menu.Popup() when popup global coordinates are specified.

  • Fix focus walk with the TAB key.

GB.GUI.BASE

  • SpinBox: Clamp the vertical padding so that the inner textbox works on GTK+ with small fonts.

  • GridView: Fix current cell cursor size and width.

GB.QT4

  • Add Placeholder to the list of ComboBox control properties.

  • Fix focus management so that the focus order is always the stacking order.

  • Style.BackgroundOf() method is now reliable.

GB.QT5

  • Add Placeholder to the list of ComboBox control properties.

  • Fix some Qt5 warnings.

  • Reset the internal Qt5 thread pool before forking.

  • Delete global QThreadPool object on fork only if QT version is at least 5.15.0.

  • Fix focus management so that the focus order is always the stacking order.

  • Style.BackgroundOf() method is now reliable.

GB.PDF

  • Make gb.pdf compile with poppler 21.06.0.

GB.WEB.GUI

  • Fix combo-box layout.

  • Do not allow window titlebar to be moved outside of the visible area.

  • WebComboBox: Use the input event instead of the change event to implement the Click Gambas event.

  • WebComboBox: Editable combo-box Click event should now trigger again for the first list element as expected.