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

What's new?

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

Compilation and installation

Read the instructions there.

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

Enjoy it !

Changelog

CONFIGURATION

  • Backport translations from master.

  • Update e-mail address in version.m4.

DEVELOPMENT ENVIRONMENT

  • Automatic completion: Fix variable detection in PROPERTY...USE syntax.

  • Debugger: The titles of the variable tree now expand on click.

  • Debugger: Stopping the debugger now kills the debugged process in external debugging mode.

  • Debugger: Update the debugged process id in real time when debugging a project using the embedded HTTP server.

  • Debugger: Edited files will not remain locked anymore after the debugger stops.

  • Form editor: Do not apply properties defined in a class of the project.

  • Help browser: Fix the CSS of the <H1> titles of offline help.

  • Help browser: Some fixes for the offline help.

  • Help browser: Prevent flickering of GTK+3 web view.

  • Make executable dialog: Add an option to ignore the "Public" project directory.

  • Project browser: The "Open", "Open with", "Properties" and "Version control" popup menu actions now work as expected.

  • Project tree: The import file menu comes back.

  • System information dialog: Display the version of SDL2, not SDL.

  • Translation dialog: Fix translation loading that was failing in some cases.

  • Giving a source directory the same name as a form does not hide its contents anymore, when the "Display form class files" option is toggled.

  • Automatically enable the "Use HTTP server" debugging option when the gb.web.gui component is used.

  • Make the SwichButtons a bit smaller.

  • Display an error message when sending a project by mail fails, instead of crashing.

  • Update financial support.

INTERPRETER

  • Forked processes now use fast exit, to avoir a possible crash.

  • The support for external debugging now uses the project name stored in the .startup file, not the executable name, which may be different.

  • Add implicit conversion of Boolean, Byte and Short values into Pointer.

  • Fix a test that leads to a crash when gcc optimizations are enabled.

  • When using an intermediate temporary stream, copy the behaviour flags from the original stream.

  • When a signal handler is set, ensure that the signal is not blocked.

  • Fix common integer loop optimization.

COMPILER

  • Write the name of the project in the .startup file.

ARCHIVER

  • Add a -p option to ignore the .public directory.

  • Handle hidden files only in the project root directory.

GB.DEBUG

  • Make the debugger more robust when writing on a fifo fails. Reopen the fifo if needed.

  • Sending a void line to the debugger repeats the last command only if the debugger is run from the command line.

  • If the GB_DEBUG_DEBUG environment variable is 1, then a message is printed each time the debugger fifo fails and must be reopened.

GB.EVAL.HIGHLIGHT

  • TextHighlighter: ToHTML() method does not emit a void line at the beginning anymore.

GB.FORM

  • Desktop directory icons initialisation does not crash anymore if a specific desktop directory does not exist.

  • FileView: Do not disable the file watch when the control is hidden, but when the control is detached from its parent.

  • SwitchButton: Smaller button and better use of system colors.

GB.FORM.EDITOR

  • TextEditor: KeyPress events are not triggered twice anymore by always using Stop Event.

  • TextEditor: Enhance FindNextString() and FindPreviousString() so that now embedded search can search patterns on the same line.

GB.GTK

  • Container: Do not mix arrangement flags and user control flag in the Container implementation.

  • Menu: Setting the Radio or the Toggle property now correctly keep the Enabled state.

  • UserContainer: Handle the same special event handlers as UserControl.

  • UserControl: Special event handlers can be declared indepently. Declaring UserControl_Draw is not required anymore.

  • The Drop property of editing controls (TextBox, TextArea...) is now TRUE by default.

GB.GTK3

  • Container: Do not mix arrangement flags and user control flag in the Container implementation.

  • Menu: Setting the Radio or the Toggle property now correctly keep the Enabled state.

  • UserContainer: Handle the same special event handlers as UserControl.

  • UserControl: Special event handlers can be declared indepently. Declaring UserControl_Draw is not required anymore.

  • The Drop property of editing controls (TextBox, TextArea...) is now TRUE by default.

GB.GUI.BASE

  • ComboBox: The popup now uses the same font as the ComboBox.

  • GridView: Fix right-to-left layout management and drawing.

  • TreeView: Make the Item property always available during the Click event handler.

  • TreeView, ColumnView, ListView: Fix right-to-left language support.

  • ScrollArea: Implement the Border property with the new UserContainer_Draw special event handler, so that DnD is not broken anymore on GTK+2.

GB.IMAGE

  • Add an API that inverts an image for the gb.image.effect component.

GB.IMAGE.EFFECT

  • Make Image.Invert() compatible with the method with the same name in gb.image.

GB.MEDIA

  • Disable GLib warnings so that GValueArray properties are correctly handled again.

  • MediaControl: LinkLaterTo() method should now be reliable when called multiple times.

  • MediaPipeline: Fix how duration is retrieved. Now the duration is actually available when the Duration event is raised.

  • MediaMessage: Take void messages into account.

GB.MIME

  • MimeMessage: The Sender property does not crash anymore when the sender is void.

GB.QT4

  • Container: Do not mix arrangement flags and user control flag in the Container implementation.

  • Menu: Setting the Picture property of a top-level menu has no effect anymore.

  • UserContainer: Handle the same special event handlers as UserControl.

  • UserControl: Special event handlers can be declared indepently. Declaring UserControl_Draw is not required anymore.

  • UserControl: Check that we are a UserControl when calling its special event handlers, because the MyContainer class is also used by the Form container!

  • The Drop property of editing controls (TextBox, TextArea...) is now TRUE by default.

GB.QT5

  • Container: Do not mix arrangement flags and user control flag in the Container implementation.

  • Menu: Setting the Picture property of a top-level menu has no effect anymore.

  • UserContainer: Handle the same special event handlers as UserControl.

  • UserControl: Special event handlers can be declared indepently. Declaring UserControl_Draw is not required anymore.

  • UserControl: Check that we are a UserControl when calling its special event handlers, because the MyContainer class is also used by the Form container!

  • The Drop property of editing controls (TextBox, TextArea...) is now TRUE by default.

GB.WEB.GUI

  • WebControl: Control refresh done by javascript is now correctly cancelled when the Refresh() method is called.

  • WebControl: KeyPress event handler is now correctly activated client side when a form is refreshed or displayed the first time.

  • WebComboBox: In read-only mode, ensure that no item is selected if the Index property is negative.

  • WebTable: Fix a javascript error when using single mode and radio buttons.

  • WebTable: Use white text for the index column of selected rows.

  • WebTable: The background color of a selected row now overrides the background color of its cells.