Gambas Documentation
Application Repository
Code Snippets
Compilation & Installation from source code
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
Housekeeping, cleaning up
Image Management In Gambas
Including Help Comments in Source Code
Installation from binary packages
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.19.2
Gambas 3.19.3
Gambas 3.19.4
Gambas 3.19.5
Gambas 3.19.6
Gambas 3.20.0
Gambas 3.20.1
Gambas 3.20.2
Gambas 3.20.3
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
Wayland and gambas
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.20.3

What's new?

This release includes some bug fixes made since the 3.20.2 release.

Compilation and installation

Read the instructions there.

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

Enjoy it !

Changelog

DEVELOPMENT ENVIRONMENT

Search panel

  • Fix callers list refresh.

  • Always hide the panel when searching for callers.

  • The title of the callers list is now a button that moves back to the called function when clicked.

  • Fix search in current function when nothing is found.

Software Farm

  • Don't crash when uninstalling a project installed with the software farm from the welcome dialog or the project open dialog.

Welcome dialog

  • Draw a disable image for disabled buttons.

INTERPRETER

  • Rework breakpoint management so that breakpoints inside _init static initializer function work as expected.

INFORMER

  • Describe the -f option in the help and in the man page.

GB.DB2

Connection

  • The Subst(), Exec(), Find()... methods now substitute the same way as in gb.db.

Result

  • Field names are correctly quoted now when calling the Update() method.

  • Fix a spurious comma in Update() request.

Miscellaneous

  • A null value is always translated into a SQL NULL. It's never passed to the driver formatting routine.

GB.DB2.MYSQL

  • Don't prefix fields defined with AS with a dot in query results.

GB.DEBUG

  • Rework breakpoint management so that breakpoints inside _init static initializer function work as expected.

GB.FORM

ColorChooser

  • Do not raise the Activate event when picking a color on the desktop.

DirView

  • Keep the current item at the same position when the contents changes, to avoid problems during mouse events.

IconView

  • Keep the current item at the same position as much as possible when the contents changes, to avoid problems during mouse events.

MenuButton

  • Don't crash when restoring the focus if the previous focused control is now invalid.

GB.FORM.DIALOG

  • Better layout of ask password dialog.

GB.GTK

  • The MouseUp event that can be raised by Window.ShowModal() has valid mouse event data now.

  • Paint.Opacity is correctly saved by Paint.Save() and restored by Paint.Restore().

  • Fix a possible automatic increase of window size of 1 pixel horizontally and vertically.

  • Window.Opacity property fixes.

GB.GTK3

  • The MouseUp event that can be raised by Window.ShowModal() has valid mouse event data now.

  • Paint.Opacity is correctly saved by Paint.Save() and restored by Paint.Restore().

  • Fix the look of non-resizable windows on Gnome window-manager.

  • Fix a possible automatic increase of window size of 1 pixel horizontally and vertically.

  • Fix non-resizable windows whose minimum size was always forced to the size of all inner widgets.

  • Key[] now returns the expected values.

  • Containers are now correctly refreshed when setting their background.

  • Window.Opacity property fixes.

GB.GTK3.WEBVIEW

  • Always accept navigation requests on inner frames, without raising events.

GB.LOGGING

  • Logger.class: Stopped using autom.FileHandler when sOutput is empty.

  • FileHandler.class: Throw an error on non valid path.

  • Formatter.module: Added more non showable backtrace steps.

  • Formatter.module: Replaced CStr() by Str$() on date printing.

GB.NET.CURL

HttpClient

  • Don't crash if the sending callback is called whereas the client has been stopped.

GB.QT4

  • The MouseUp event that can be raised by Window.ShowModal() has valid mouse event data now.

  • Paint.DrawImage() takes Paint.Opacity into account correctly now.

  • Fix global mouse coordinates after a mouse grab.

  • Window.Opacity property fixes.

GB.QT5

  • The MouseUp event that can be raised by Window.ShowModal() has valid mouse event data now.

  • Paint.DrawImage() takes Paint.Opacity into account correctly now.

  • Fix global mouse coordinates after a mouse grab.

  • Workaround popup positioning bug of QT5. Not perfect.

  • Window.Opacity property fixes.

GB.QT5.WEBVIEW

  • Always accept navigation requests on inner frames, without raising events.

  • The Link property is now accurate for Start events (but not for NewView events).

  • Always raise the Finish event after the Error event.

GB.QT6

  • Workaround a QT6 bug that quits the application when a standard file dialog is closed.

  • The MouseUp event that can be raised by Window.ShowModal() has valid mouse event data now.

  • Paint.DrawImage() takes Paint.Opacity into account correctly now.

  • Calls the event loop just after setting Application.Font, so that the effect is immediate like with Qt5.

  • Fix global mouse coordinates after a mouse grab.

  • QT 6.9 does not have a global thread pool GUI-specific anymore.

  • Remove the wayland workaround in ScreenX and ScreenY properties, it seems not to be useful anymore.

  • Window.Opacity property fixes.

GB.QT6.EXT

  • Load the correct component interface and do not crash anymore.

### QT6.WEBVIEW ?

  • Workaround Qt6 bug so that the request can be cancelled by stopping the Start event.

  • The Link property is now accurate for Start and NewView events.

  • Always raise the Finish event after the Error event.