Qt 4.6.2 for OS/2 is ready, in .wpi packages

Below are info from http://svn.netlabs.org/qt4

David Macias


Latest version

The latest version is 4.6.2 released on 14.05.2010. This is the latest release of Qt 4 from Nokia and it includes a bunch of new features and improvements, many of which appear in the OS/2 port as well. Besides that, the following key improvements specific to the OS/2 port are brought by this release:

- Complete printing support through CUPS (requires <http://svn.netlabs.org/ecups/wiki>eCUPS to be installed). - Painting in widgets using DIVE, which makes all graphical operations up to 4 times faster comparing to 4.5.1 GA (the actual numbers depend on the combination of the graphics hardware, video driver and the current screen mode). The non-DIVE painting mode is also optimized, with the performance boost varying from 30% to 200%. - webkit module (used in many complex web-based applications such as web browsers to implement the JavaScript? support).
- help module (used for context sensitive help in applications).
- Qt Assistant tool.



This document contains a brief list of the most important OS/2-specific changes
in the Qt library from release to release.


CHANGES


4.6.2 (14-05-2010)

 Improvements:

- general: Updated Qt codebase to version 4.6.2 (see the changes-4.6.2 file
   for details). Note that this version is binary incompatible with the
   previous version (see README.OS2 for more information).

- general: Implemented support for the OS/2 platform in the webkit module. The
   webkit module is used in many complex web-based applications such as web
browsers to implement the JavaScript support. Note that the script module uses the JavaScript implementation from the WebKit project too and it was also ported to OS/2. The webkit module is always present in the official Qt build but is disabled by defautl in the custom builds due to big compilation
   times.

- general: Use declspec(dllexport) on OS/2 to significantly reduce the number of exports in generated DLLs. This mode is on by default which reduces the number of exported symbols by 90-100% in Qt DLLs and makes it not necessary to split the QtGui DLL in 3 parts in debug mode. The old method which causes all public symbols to be exported is still available using the "export_all"
   CONFIG option (see README.OS2 for details).

 - general: Provide the "doc" WPI archive that contains the Qt reference
   documentation.

- corelib: Implemented native (XWP-based) file system watcher for OS/2 that does not eat CPU (which is best noticed in file dialogs showing directories
   containing hundreds of files. Requires XWorkplace to be installed.

 - corelib: Implemented deriving the defaut locale from the process country
   code if LANG is not set and integration with the system locale object
   (System Setup -> Country Palette). See the QT_PM_NO_SYSTEM_LOCALE
   description in README.OS2 for details.

- gui: Implemented printing support through CUPS. Refer to section "PRINTING
   SUPPORT" in README.OS2 for details.

 - gui: Implemented painting in widgets using DIVE (direct interface video
extensions). Using DIVE gives a significant graphical performance boost, up to 100% in BLIT mode and 130% in FBSWM mode, depending on the combination of
   the graphics hardware, video driver and the current screen mode. See the
   QT_PM_DIVE and QT_PM_NO_DIVE description in README.OS2 for more details.

- gui: Improved the painting speed when not using DIVE. The performance boost varies from 30% to 200% (e.g. 3 times faster), depending on the combination
   of the graphics hardware, video driver and the current screen mode.

 - gui: Enabled MMX/SSE support (on by default) to speed up graphical
   operations by a couple of percents.

- gui: Enabled accessibility support on OS/2. Note that in order to use the accessibility functions, a QAccessibleBridge plugin for the corresponding
   accessibility device is necessary but none of them exist at the present
   time.

 - gui: Use native file icons in standard Qt file dialogs.

- assistant: Enabled the help module and made the Qt Assistant tool build on
   OS/2. Also enabled help and assistant examples and demos.

 - demos: Enabled the browser demo application that makes use of the webkit
   module.

 - demos: Enabled the qtdemo example that demonstrates all Qt features and
   acts as a launcher for other example and demo applications.

- gnumake/os2-g++: Switch the compiler to using the i486 instruciton set for
   code generation. This gives around 3% of the performance boost when
painting. As a drawback, the code will no longer run on i386 PCs but it is
   assumed that it does not make sense to use Qt4 on these computers.

 Fixes:

- general: Fixed: Building Qt applications with the "dev" WPI archive would
   fail due to extra spaces in the output object file names.

- corelib: Fixed: Regular files were treated as sequential streams which made the seek functionality unavailable. This in particular affected Qt Designer that didn't expect sequential streams when reading .ui files and refused to
   load files bigger than 8192 bytes as a result.

 - corelib: Make sure the hardware error popup dialogs do not appear when
opening the standard Qt file dialog and selecting a removable drive with no
   media inserted even with AUTOFAIL=YES in CONFIG.SYS

- corelib: QProcess: Fixed: Data could not be successfully read or written to the standard streams of the started process in 'highmem' link mode (which is
   on by default since 4.5.1 GA), as well as in normal link mode in some
   situations.

- corelib: Fixed QProcess::startDetached() which would not work in 'highmem'
   mode.

 - corelib: QProcess: Fixed: Having stderr of a started child process
   redirected to a pipe (which is the default) would indirectly cause an
   impossibility to write anything to its stdin.

- corelib: QProcess: Get rid of the unexpected "DosQueryNPipeSemState returned
   87" warning.

- corelib: QFileSystemWatcher: In the fall-back polling watcher, increased the sleep time between checks of all watched files from 1 second to 3 seconds to decrease the CPU load on big sets of watched files. Also, replaced the sleep
   between checking individual items with the yield call as it doesn't give
significant improvement but just causes more CPU cycles to be spent between
   each check.

 - corelib: Always return true from QFileInfo::isRoot()/isDir() for paths
   referring to root directories of drives with no media and always return
false from QFileInfo::exists() for them. Also, don't lstat() on such paths
   since they are definitely not symlinks. This improves the file dialog
   appearance and behavior for removable drives.

- corelib: Protect against the frozen system when QSocketNotifier is given an unsupported socket (for example, an OS/2 file handle). There is still 100%
   CPU load in this case, but the application can be at least closed using
   normal means.

- corelib: Sockets: Fixed: "has data to read" socket notifications would be sometimes delivered with a delay depending on the frequency of timers which
   could significantly slow down network data transfer.

 - corelib: QTemporaryFile: Fixed: Files were opened in O_TEXT mode which
   caused unexpected LF <-> CRLF translation. In particular, this broke
   QNetworkDiskCache functionality (seen in e.g. demos/browser as missing
   images and CSS sheets when read from cache).

 - corelib: Fixed: Clear FPU CW in qdtoa() to avoid the floating point
   exception in various scenarios [patch by rudi].

 - gui: Fixed assertion in QVector::at() at startup.

 - gui: Fixed assertion at #1125 in qwidget.cpp (due to an attempt to
   re-instantiate QDesktopWidget during application termination).

- gui: Select the correct icon for the drive letter in standard file dialogs
   depending on the drive type (floppy, hard disk etc) [patch by rudi].

 - gui: Fixed crash in PMMERGE during resize & move of the top level window
   with the complex layout (caused by reading outside the bitmap data).

- gui: Fixed: Never add tooltip windows to the top-level window list and only
   do so for splash windows if they have the Qt::WindowTitleHint flag set.

- 3rdparty: Added OS/2 support to clucene used by the help module for fulltext
   search in help files [based on the patch by rudi].

 - configure.cmd: Fixed: QT_BUILD_KEY (and QLibraryInfo::buildKey()) would
always contain "release", even in debug builds, which caused debug builds to
   load the release plugins and refuse the debug ones.

 - qmake/os2-g++: Use -Wl, to pass the object list response file to the
   linker as is instead of the expanded list of objects (this overcomes the
   64KB limitation of the total process command line length in OS/2).



_______________________________________________
Harbour mailing list (attachment size limit: 40KB)
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to