eComStation: go to the Homepage This website in english Versione Italiano Diese Webseiten auf Deutsch

Customer login


Register as a new customer

eCS Newscast
With this mailinglist, you will find out about eCS related news stories and rumors as they happen.

E-Mail Address:

© 2003-2007 Serenity Systems, Inc. 2003-2013 Mensys BV, 2014-2015 BV. All rights reserved.

This site is running on eComStation

eComStation News Email this page to a friend Email this page

Qt 4.5.1 GA Released

February 08, 2010 by

Silvan Scherrer and Dmitry A. Kuminov have released the GA of the port of the Qt 4 application framework to OS/2 and eComStation, i.e., version 4.5.1 GA. The new release comes with complete support for drag and drop support, session management, SQLite3, and includes Qt Designer application.

The GA includes the following changes in detail:


  • general: Switched the compiler to the GCC 4.4.2 build provided by Paul Smeldey. This gives better standard conformance, better code optimization and provides more compact DLLs and EXEs whose size is greater than ~1M.
  • corelib: QSettings: Use IniFormat (plain INI files) when NativeFormat is requested instead of the Open32 registry which is known to be unstable and can be easily corrupted. The old behavior may be restored using the QT_PM_REGISTRY environment variable.
  • corelib: Use UniStrcoll for QString::localeAwareCompare() for locale-aware comparison of NLS strings.
  • gui: Implemented full Direct Manipulation (Drag And Drop) support. This includes dragging text, URLs and files between PM and Qt applications, dragging any MIME data across Qt applications, setting custom drag pointer pixmaps, painting in widgets while dragging.
  • gui: Implemented session management with the QSessionManager class.
  • gui: Fully implemented the QDesktopServices class.
  • gui: Added support for numpad keys and for some common multimedia keys recognized by eCS (volume, home, search, favorites).
  • gui: QCursor: Added missing cursor shapes and implemented support for custom cursor shapes.
  • gui: Implemented QFontDatabase::addApplicationFont()/removeApplicationFont() and friends.
  • gui: Implemented proper generation of possible key and modifier combinations for a given key event. This in particular enables Ctrl+ shortcuts for non-Latin languages and also makes Ctrl+, Alt+ and similar shortcuts language-neutral.
  • gui: QWidget: When setting the parent, take the parent's resolve masks to make sure attributes imposed by the user on the parent won't be overriden by the natural palette for this widget if it differs from QApplication::palette() [vendor bug].
  • gui: Use a normal border for top-level Tool widgets since the thin one is too thin and cannot be resized.
  • gui: Implemented delivering of QEvent::NonClientAreaMouse* events to top-level widgets. This enables undocked dock widgets to be docked back by a double click on the title bar and also by moving over the dock areas.
  • plugins: Enabled the sqlite3 plugin which makes the sql module (and applications depending on it) actually usable.
  • tools: Enabled the Qt Designer application.
  • tools: Enabled the following toos: pixeltool, q3toq4, xmplatterns.
  • qmake/os2-g++: Recognize the "map" option in the CONFIG variable that allows to turn the generation of .map files on and off. The option is set by default.
  • qmake/os2-g++: Recognize the "highmem" option in the CONFIG variable that allows to enabled memory support in LIBC for genereated DLLs and executables. The option is set by default.


  • corelib: Created wrappers for all Win* and Gpi* calls that restore the FPU Control Word to what C/C++ programs expect. This fixes crashes in various Qt applications (e.g. mp3diags) due to SIGFPE.
  • corelib: QLibraryInfo: Fixed: qt.conf would not have been loaded if a component path was requested before QCoreApplication instance creation.
  • corelib: QLibraryInfo: Changed default "Settings" path to %ETC%/xdg. Also use %ETC%/qtsys.conf as the system-wide qt.conf instead of %ETC%/qt/qtsys.conf.
  • corelib: QFSFileEngine: Fixed: On OS/2, trailing spaces in file names are ignored ("readme " = "readme") but kLIBC doesn't handle this well so strip them before passing to LIBC APIs.
  • corelib: QFile::copy(): Use DosCopy() instead of read/write.
  • corelib: Fixed: QProcess::startDetached() would either crash or fail to start a process.
  • corelib: Fixed: QFileInfo::isExecutable() would return true for all files on local OS/2 file systems.
  • gui: Fixed: Popups shown when another application is active were not controllable with keyboard and didn't close on an outside mouse click.
  • gui: Fixed: Visible title bar and frame of the top-level window after switching to fullscreen.
  • gui: Fixed: Wrong widget-relative mouse position in mouse events. This fixes problems with dragging widget splitters (separators) in applications using dock widgets.
  • gui: Fixed: QEvent::Enter/Leave events were delivered incorrectly if the alien child widget belonging to a native parent intersected with a native child of this parent (this in particular caused extended tool bars to immediately un-extend once the mouse moves over the extended part).
  • gui: Fixed: Mouse press events replayed after closing the popup by clicking outside it had incorrect coordinates. This resulted into various kinds of misbehavior including spatial text selection in QTextEdit widgets after closing popups by clicking inside these widgets.
  • gui: Fixed: The default application icon embedded into the executable was not actually used as the default window icon for top-level widgets.
  • qmake/os2-g++: Do not use EXEPACK tool on static libraries.
  • qmake: Several fixes to make install targets work correctly.

The GA is available for download as several packages:

Qt runtime libraries and plug-ins:

Qt development libraries and tools:

Qt demo and example applications:

Full Qt source code:

Qt is a cross-platform application development framework, which is widely used as a widget toolkit for developing GUI programs. Availability for OS/2 and eComStation both means that developers can easily port existing Qt applications and create new ones more easily.

This already has been the case with Qt 3. Now that Qt 4 is widely used, the Qt 4 project aims to make the latest version available for OS/2 and eComStation. After 4.5.1 GA has been released, updating to 4.6.1 will be worked on if enough funds can be collected.

For more information, see:

Since the project relies on funds made by the OS/2 and eComStation community, please consider making a donation:

eComStation News  [ submit ]  [ search ]  Software News
OS2VOICE now also on twitter...
 (July 08, 2018) newsletter #325
 (July 02, 2018)

Announcing Warpstock Europe 2019!
 (June 27, 2018) newsletter #324
 (June 18, 2018) newsletter #323
 (June 04, 2018) newsletter #322
 (May 21, 2018)

Status of Warpstock Europe 2018 in Berlin next weekend 26 and 27 of May...
 (May 21, 2018) newsletter #321
 (May 07, 2018)

DFSee 15.1 released, full HFS+ support
 (June 08, 2018)

openssl 1.0.2o
 (May 30, 2018)

DFSee TESTERS needed; Please verify new ABOUT information
 (May 28, 2018)

Weasel 2.45 released
 (May 28, 2018)

 Driver Updates
[Arca Noae] ACPI Driver Package version 3.23.09 released
 (May 14, 2018)

[Arca Noae] New MultiMac NIC driver package (20180414) released
 (April 14, 2018)

[Arca Noae] ACPI Driver Package version 3.23.08 released
 (February 20, 2018)

Product Information Support Community Developers Downloads Where to buy About us Sitemap