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.