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.17.3

What's new?

This release fixes may bugs detected since the 3.17.2 release.

Compilation and installation

Read the instructions there.

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

Enjoy it !

Changelog

CONFIGURATION

  • Fix detection of C++11 and C++17 compilation flags.

DEVELOPMENT ENVIRONMENT

  • Automatic completion: Take local variables declared inside loops into account.

  • Console output: Define the icon of the "raise to top" toolbar button.

  • Debugger: Workaround gnome-terminal that is not able to hold its child process.

  • Debugger: The console automatic show should work correctly when the console is undocked now.

  • Help browser: Correctly handle project help links in online mode.

  • Help browser: Fix tree refresh on project change and help on project classes.

  • Option dialog: Fix the list of different terminals.

  • Text editor: Fix the zoom buttons of the preview toolbar.

  • Welcome dialog: Stop the media player when the form is closed.

  • Welcome dialog: Don't crash when stopping the medial player.

  • Pretty printer: A line with PRINT ending with a comma does not indent the next line.

  • Project open dialog: Ignore .project files at the root of home folders.

  • Update support file.

INTERPRETER

  • Program exit now can be hold by the debugger to workaround a missing feature of the Gnome terminal.

  • QUIT now ends the process brutally. C++ static exit routines from unloaded shared libraries are not called anymore, avoiding the crash.

  • Always flush buffered streams at exit even if the exit is immediate.

  • GB.Every() API now creates a timer that is ignored by the event loop.

  • Add all comparison constants to gambas.h API header file.

  • Fix String[].FindSorted() and String[].ExistSorted() when using gb.Like or gb.Match comparison methods.

GB.DEBUG

  • Program exit now can be hold by the debugger to workaround a missing feature of the Gnome terminal.

GB.EVAL.HIGHLIGHT

  • TextHighlighter: Fix ToHTML(), ToRichText() and ToANSI() methods.

GB.FORM

  • TabPanel: Fix layout routine.

  • TabPanel: Make ShowTabPanel property visible in the IDE

  • Bookmarks: Changing the bookmarks automatically updates all DirChooser and FileChooser controls.

  • DirChooser & FileChooser: Showing the toolbar now automatically updates its contents according to the current view.

GB.FORM.EDITOR

  • TextEditor: The Remove() method now normalizes its arguments to avoid crashing if they are outside the document.

GB.FORM.HTMLVIEW

  • HtmlView: Fix a crash triggered by the Clear() method.

  • Fix use of C++11 compilation flags.

GB.GTK

  • The new proxy of a control is now correctly unlinked if it was already the proxy of another control.

  • TextArea: Modifying the contents by code now refreshes the control as expected.

  • TextArea: Fix drag and drop.

  • Reparenting a window correctly triggers automatic arrangement.

  • Closing the main window when it is persistent correctly quits the application.

  • The parent window of a modal window is now always the current active window.

  • Hide menu before destroying it, so that the top-level menu bar is correctly updated.

  • Container are now still arranged when they are hidden because of a null size.

  • Restarting a timer during its event handler should not lead to a possible crash anymore.

GB.GTK3

  • The new proxy of a control is now correctly unlinked if it was already the proxy of another control.

  • TextArea: Modifying the contents by code now refreshes the control as expected.

  • TextArea: Fix drag and drop.

  • Reparenting a window correctly triggers automatic arrangement.

  • Closing the main window when it is persistent correctly quits the application.

  • The parent window of a modal window is now always the current active window.

  • Implement Application.ShowTooltips property.

  • Hide menu before destroying it, so that the top-level menu bar is correctly updated.

  • Container are now still arranged when they are hidden because of a null size.

  • Restarting a timer during its event handler should not lead to a possible crash anymore.

  • The changes in main window stylesheet do not apply to the embedded title bar anymore.

GB.GTK3.WEBVIEW

  • Don't recreate the view when clearing it, it segfaults on Wayland. Just fill it with a void page.

GB.GUI.BASE

  • Picture: Refresh() does not try to refresh invalid windows anymore..

  • SpinBox: Buttons in wide mode correctly follow the enabled state now.

GB.MEDIA.FORM

  • MediaView: Ensure that the internal media player is deleted with the control.

GB.OPENSSL

  • Use the API instead of directly including interpreter header files. It breaks compilation on Ubuntu 22.10.1.

GB.PDF

  • Make gb.pdf compile with poppler 22.06, and disable it for higher versions.

GB.POPPLER

  • Add C++ 17 compilation flag to make gb.poppler compile everywhere.

GB.QT4

  • Ensure that the copy of a Font is internally completely detached from its source.

  • The new proxy of a control is now correctly unlinked if it was already the proxy of another control.

  • The parent window of a modal window is now always the current active window.

GB.QT5

  • Ensure that the copy of a Font is internally completely detached from its source.

  • The new proxy of a control is now correctly unlinked if it was already the proxy of another control.

  • The parent window of a modal window is now always the current active window.

GB.QT5.WAYLAND

  • Implement the SetTransientFor() API by using a Qt 5.13 non-documented public method.

  • Add a message to warn that Window.Stacking property does not work with Wayland and Qt5.

GB.SETTINGS

  • Store and restore the maximized state of windows.

GB.UTIL

  • CsvFile: Reading the Fields property now automatically reads the fields from the first line of the file if needed.

GB.WEB.GUI

  • Message: Remove the useless Message.Name property.

  • WebLabel: Fix center alignment.

  • WebTree: Fix selection management.

  • WebTree: Works correctly now if there is only one item.

  • New custom focus management.

  • Flush the standard output before quitting.

  • Keyboard events are now sent to the server only if needed (i.e. if a control or a form has a KeyPress event handler).

  • Default and cancel buttons work again.

  • Disable the web page until it is fully loaded.

  • Fix conversion of Gambas opacity to HTML transparency in colors.