| 1 | This document contains a brief list of the most important OS/2-specific changes
 | 
|---|
| 2 | in the Qt library from release to release.
 | 
|---|
| 3 | 
 | 
|---|
| 4 | 
 | 
|---|
| 5 | CHANGES
 | 
|---|
| 6 | 
 | 
|---|
| 7 | 
 | 
|---|
| 8 | 4.6.2 (14-05-2010)
 | 
|---|
| 9 | 
 | 
|---|
| 10 |   Improvements:
 | 
|---|
| 11 | 
 | 
|---|
| 12 |   - general: Updated Qt codebase to version 4.6.2 (see the changes-4.6.2 file
 | 
|---|
| 13 |     for details). Note that this version is binary incompatible with the
 | 
|---|
| 14 |     previous version (see README.OS2 for more information).
 | 
|---|
| 15 | 
 | 
|---|
| 16 |   - general: Implemented support for the OS/2 platform in the webkit module. The
 | 
|---|
| 17 |     webkit module is used in many complex web-based applications such as web
 | 
|---|
| 18 |     browsers to implement the JavaScript support. Note that the script module
 | 
|---|
| 19 |     uses the JavaScript implementation from the WebKit project too and it was
 | 
|---|
| 20 |     also ported to OS/2. The webkit module is always present in the official Qt
 | 
|---|
| 21 |     build but is disabled by defautl in the custom builds due to big compilation
 | 
|---|
| 22 |     times.
 | 
|---|
| 23 | 
 | 
|---|
| 24 |   - general: Use declspec(dllexport) on OS/2 to significantly reduce the number
 | 
|---|
| 25 |     of exports in generated DLLs. This mode is on by default which reduces the
 | 
|---|
| 26 |     number of exported symbols by 90-100% in Qt DLLs and makes it not necessary
 | 
|---|
| 27 |     to split the QtGui DLL in 3 parts in debug mode. The old method which causes
 | 
|---|
| 28 |     all public symbols to be exported is still available using the "export_all"
 | 
|---|
| 29 |     CONFIG option (see README.OS2 for details).
 | 
|---|
| 30 | 
 | 
|---|
| 31 |   - general: Provide the "doc" WPI archive that contains the Qt reference
 | 
|---|
| 32 |     documentation.
 | 
|---|
| 33 | 
 | 
|---|
| 34 |   - corelib: Implemented native (XWP-based) file system watcher for OS/2 that
 | 
|---|
| 35 |     does not eat CPU (which is best noticed in file dialogs showing directories
 | 
|---|
| 36 |     containing hundreds of files. Requires XWorkplace to be installed.
 | 
|---|
| 37 | 
 | 
|---|
| 38 |   - corelib: Implemented deriving the defaut locale from the process country
 | 
|---|
| 39 |     code if LANG is not set and integration with the system locale object
 | 
|---|
| 40 |     (System Setup -> Country Palette). See the QT_PM_NO_SYSTEM_LOCALE
 | 
|---|
| 41 |     description in README.OS2 for details.
 | 
|---|
| 42 | 
 | 
|---|
| 43 |   - gui: Implemented printing support through CUPS. Refer to section "PRINTING
 | 
|---|
| 44 |     SUPPORT" in README.OS2 for details.
 | 
|---|
| 45 | 
 | 
|---|
| 46 |   - gui: Implemented painting in widgets using DIVE (direct interface video
 | 
|---|
| 47 |     extensions). Using DIVE gives a significant graphical performance boost, up
 | 
|---|
| 48 |     to 100% in BLIT mode and 130% in FBSWM mode, depending on the combination of
 | 
|---|
| 49 |     the graphics hardware, video driver and the current screen mode. See the
 | 
|---|
| 50 |     QT_PM_DIVE and QT_PM_NO_DIVE description in README.OS2 for more details.
 | 
|---|
| 51 | 
 | 
|---|
| 52 |   - gui: Improved the painting speed when not using DIVE. The performance boost
 | 
|---|
| 53 |     varies from 30% to 200% (e.g. 3 times faster), depending on the combination
 | 
|---|
| 54 |     of the graphics hardware, video driver and the current screen mode.
 | 
|---|
| 55 | 
 | 
|---|
| 56 |   - gui: Enabled MMX/SSE support (on by default) to speed up graphical
 | 
|---|
| 57 |     operations by a couple of percents.
 | 
|---|
| 58 | 
 | 
|---|
| 59 |   - gui: Enabled accessibility support on OS/2. Note that in order to use the
 | 
|---|
| 60 |     accessibility functions, a QAccessibleBridge plugin for the corresponding
 | 
|---|
| 61 |     accessibility device is necessary but none of them exist at the present
 | 
|---|
| 62 |     time.
 | 
|---|
| 63 | 
 | 
|---|
| 64 |   - gui: Use native file icons in standard Qt file dialogs.
 | 
|---|
| 65 | 
 | 
|---|
| 66 |   - assistant: Enabled the help module and made the Qt Assistant tool build on
 | 
|---|
| 67 |     OS/2. Also enabled help and assistant examples and demos.
 | 
|---|
| 68 | 
 | 
|---|
| 69 |   - demos: Enabled the browser demo application that makes use of the webkit
 | 
|---|
| 70 |     module.
 | 
|---|
| 71 | 
 | 
|---|
| 72 |   - demos: Enabled the qtdemo example that demonstrates all Qt features and
 | 
|---|
| 73 |     acts as a launcher for other example and demo applications.
 | 
|---|
| 74 | 
 | 
|---|
| 75 |   - gnumake/os2-g++: Switch the compiler to using the i486 instruciton set for
 | 
|---|
| 76 |     code generation. This gives around 3% of the performance boost when
 | 
|---|
| 77 |     painting. As a drawback, the code will no longer run on i386 PCs but it is
 | 
|---|
| 78 |     assumed that it does not make sense to use Qt4 on these computers.
 | 
|---|
| 79 | 
 | 
|---|
| 80 |   Fixes:
 | 
|---|
| 81 | 
 | 
|---|
| 82 |   - general: Fixed: Building Qt applications with the "dev" WPI archive would
 | 
|---|
| 83 |     fail due to extra spaces in the output object file names.
 | 
|---|
| 84 | 
 | 
|---|
| 85 |   - corelib: Fixed: Regular files were treated as sequential streams which made
 | 
|---|
| 86 |     the seek functionality unavailable. This in particular affected Qt Designer
 | 
|---|
| 87 |     that didn't expect sequential streams when reading .ui files and refused to
 | 
|---|
| 88 |     load files bigger than 8192 bytes as a result.
 | 
|---|
| 89 | 
 | 
|---|
| 90 |   - corelib: Make sure the hardware error popup dialogs do not appear when
 | 
|---|
| 91 |     opening the standard Qt file dialog and selecting a removable drive with no
 | 
|---|
| 92 |     media inserted even with AUTOFAIL=YES in CONFIG.SYS
 | 
|---|
| 93 | 
 | 
|---|
| 94 |   - corelib: QProcess: Fixed: Data could not be successfully read or written to
 | 
|---|
| 95 |     the standard streams of the started process in 'highmem' link mode (which is
 | 
|---|
| 96 |     on by default since 4.5.1 GA), as well as in normal link mode in some
 | 
|---|
| 97 |     situations.
 | 
|---|
| 98 | 
 | 
|---|
| 99 |   - corelib: Fixed QProcess::startDetached() which would not work in 'highmem'
 | 
|---|
| 100 |     mode.
 | 
|---|
| 101 | 
 | 
|---|
| 102 |   - corelib: QProcess: Fixed: Having stderr of a started child process
 | 
|---|
| 103 |     redirected to a pipe (which is the default) would indirectly cause an
 | 
|---|
| 104 |     impossibility to write anything to its stdin.
 | 
|---|
| 105 | 
 | 
|---|
| 106 |   - corelib: QProcess: Get rid of the unexpected "DosQueryNPipeSemState returned
 | 
|---|
| 107 |     87" warning.
 | 
|---|
| 108 | 
 | 
|---|
| 109 |   - corelib: QFileSystemWatcher: In the fall-back polling watcher, increased the
 | 
|---|
| 110 |     sleep time between checks of all watched files from 1 second to 3 seconds to
 | 
|---|
| 111 |     decrease the CPU load on big sets of watched files. Also, replaced the sleep
 | 
|---|
| 112 |     between checking individual items with the yield call as it doesn't give
 | 
|---|
| 113 |     significant improvement but just causes more CPU cycles to be spent between
 | 
|---|
| 114 |     each check.
 | 
|---|
| 115 | 
 | 
|---|
| 116 |   - corelib: Always return true from QFileInfo::isRoot()/isDir() for paths
 | 
|---|
| 117 |     referring to root directories of drives with no media and always return
 | 
|---|
| 118 |     false from QFileInfo::exists() for them. Also, don't lstat() on such paths
 | 
|---|
| 119 |     since they are definitely not symlinks. This improves the file dialog
 | 
|---|
| 120 |     appearance and behavior for removable drives.
 | 
|---|
| 121 | 
 | 
|---|
| 122 |   - corelib: Protect against the frozen system when QSocketNotifier is given an
 | 
|---|
| 123 |     unsupported socket (for example, an OS/2 file handle). There is still 100%
 | 
|---|
| 124 |     CPU load in this case, but the application can be at least closed using
 | 
|---|
| 125 |     normal means.
 | 
|---|
| 126 | 
 | 
|---|
| 127 |   - corelib: Sockets: Fixed: "has data to read" socket notifications would be
 | 
|---|
| 128 |     sometimes delivered with a delay depending on the frequency of timers which
 | 
|---|
| 129 |     could significantly slow down network data transfer.
 | 
|---|
| 130 | 
 | 
|---|
| 131 |   - corelib: QTemporaryFile: Fixed: Files were opened in O_TEXT mode which
 | 
|---|
| 132 |     caused unexpected LF <-> CRLF translation. In particular, this broke
 | 
|---|
| 133 |     QNetworkDiskCache functionality (seen in e.g. demos/browser as missing
 | 
|---|
| 134 |     images and CSS sheets when read from cache).
 | 
|---|
| 135 | 
 | 
|---|
| 136 |   - corelib: Fixed: Clear FPU CW in qdtoa() to avoid the floating point
 | 
|---|
| 137 |     exception in various scenarios [patch by rudi].
 | 
|---|
| 138 | 
 | 
|---|
| 139 |   - gui: Fixed assertion in QVector::at() at startup.
 | 
|---|
| 140 | 
 | 
|---|
| 141 |   - gui: Fixed assertion at #1125 in qwidget.cpp (due to an attempt to
 | 
|---|
| 142 |     re-instantiate QDesktopWidget during application termination).
 | 
|---|
| 143 | 
 | 
|---|
| 144 |   - gui: Select the correct icon for the drive letter in standard file dialogs
 | 
|---|
| 145 |     depending on the drive type (floppy, hard disk etc) [patch by rudi].
 | 
|---|
| 146 | 
 | 
|---|
| 147 |   - gui: Fixed crash in PMMERGE during resize & move of the top level window
 | 
|---|
| 148 |     with the complex layout (caused by reading outside the bitmap data).
 | 
|---|
| 149 | 
 | 
|---|
| 150 |   - gui: Fixed: Never add tooltip windows to the top-level window list and only
 | 
|---|
| 151 |     do so for splash windows if they have the Qt::WindowTitleHint flag set.
 | 
|---|
| 152 | 
 | 
|---|
| 153 |   - 3rdparty: Added OS/2 support to clucene used by the help module for fulltext
 | 
|---|
| 154 |     search in help files [based on the patch by rudi].
 | 
|---|
| 155 | 
 | 
|---|
| 156 |   - configure.cmd: Fixed: QT_BUILD_KEY (and QLibraryInfo::buildKey()) would
 | 
|---|
| 157 |     always contain "release", even in debug builds, which caused debug builds to
 | 
|---|
| 158 |     load the release plugins and refuse the debug ones.
 | 
|---|
| 159 | 
 | 
|---|
| 160 |   - qmake/os2-g++: Use -Wl, to pass the object list response file to the
 | 
|---|
| 161 |     linker as is instead of the expanded list of objects (this overcomes the
 | 
|---|
| 162 |     64KB limitation of the total process command line length in OS/2).
 | 
|---|
| 163 | 
 | 
|---|
| 164 | 
 | 
|---|
| 165 | 4.5.1 GA (05-02-2010)
 | 
|---|
| 166 | 
 | 
|---|
| 167 |   Improvements:
 | 
|---|
| 168 | 
 | 
|---|
| 169 |   - general: Switched the compiler to the GCC 4.4.2 build provided by Paul
 | 
|---|
| 170 |     Smeldey. This gives better standard conformance, better code optimization
 | 
|---|
| 171 |     and provides more compact DLLs and EXEs whose size is greater than ~1M.
 | 
|---|
| 172 | 
 | 
|---|
| 173 |   - corelib: QSettings: Use IniFormat (plain INI files) when NativeFormat is
 | 
|---|
| 174 |     requested instead of the Open32 registry which is known to be unstable and
 | 
|---|
| 175 |     can be easily corrupted. The old behavior may be restored using the
 | 
|---|
| 176 |     QT_PM_REGISTRY environment variable.
 | 
|---|
| 177 | 
 | 
|---|
| 178 |   - corelib: Use UniStrcoll for QString::localeAwareCompare() for locale-aware
 | 
|---|
| 179 |     comparison of NLS strings.
 | 
|---|
| 180 | 
 | 
|---|
| 181 |   - gui: Implemented full Direct Manipulation (Drag And Drop) support. This
 | 
|---|
| 182 |     includes dragging text, URLs and files between PM and Qt applications,
 | 
|---|
| 183 |     dragging any MIME data across Qt applications, setting custom drag pointer
 | 
|---|
| 184 |     pixmaps, painting in widgets while dragging.
 | 
|---|
| 185 | 
 | 
|---|
| 186 |   - gui: Implemented session management with the QSessionManager class.
 | 
|---|
| 187 | 
 | 
|---|
| 188 |   - gui: Fully implemented the QDesktopServices class.
 | 
|---|
| 189 | 
 | 
|---|
| 190 |   - gui: Added support for numpad keys and for some common multimedia keys
 | 
|---|
| 191 |     recognized by eCS (volume, home, search, favorites).
 | 
|---|
| 192 | 
 | 
|---|
| 193 |   - gui: QCursor: Added missing cursor shapes and implemented support for custom
 | 
|---|
| 194 |     cursor shapes.
 | 
|---|
| 195 | 
 | 
|---|
| 196 |   - gui: Implemented QFontDatabase::addApplicationFont()/removeApplicationFont()
 | 
|---|
| 197 |     and friends.
 | 
|---|
| 198 | 
 | 
|---|
| 199 |   - gui: Implemented proper generation of possible key and modifier combinations
 | 
|---|
| 200 |     for a given key event. This in particular enables Ctrl+<letter> shortcuts
 | 
|---|
| 201 |     for non-Latin languages and also makes Ctrl+<letter>, Alt+<letter> and
 | 
|---|
| 202 |     similar shortcuts language-neutral.
 | 
|---|
| 203 | 
 | 
|---|
| 204 |   - gui: QWidget: When setting the parent, take the parent's resolve masks to
 | 
|---|
| 205 |     make sure attributes imposed by the user on the parent won't be overriden
 | 
|---|
| 206 |     byv the natural palette for this widget if it differs from
 | 
|---|
| 207 |     QApplication::palette() [vendor bug].
 | 
|---|
| 208 | 
 | 
|---|
| 209 |   - gui: Use a normal border for top-level Tool widgets since the thin one is
 | 
|---|
| 210 |     too thin and cannot be resized.
 | 
|---|
| 211 | 
 | 
|---|
| 212 |   - gui: Implemented delivering of QEvent::NonClientAreaMouse* events to
 | 
|---|
| 213 |     top-level widgets. This enables undocked dock widgets to be docked back by
 | 
|---|
| 214 |     a double click on the title bar and also by moving over the dock areas.
 | 
|---|
| 215 | 
 | 
|---|
| 216 |   - plugins: Enabled the sqlite3 plugin which makes the sql module (and
 | 
|---|
| 217 |     applications depending on it) actually usable.
 | 
|---|
| 218 | 
 | 
|---|
| 219 |   - tools: Enabled the Qt Designer application.
 | 
|---|
| 220 | 
 | 
|---|
| 221 |   - tools: Enabled the following toos: pixeltool, q3toq4, xmplatterns.
 | 
|---|
| 222 | 
 | 
|---|
| 223 |   - qmake/os2-g++: Recognize the "map" option in the CONFIG variable that allows
 | 
|---|
| 224 |     to turn the generation of .map files on and off. The option is set by
 | 
|---|
| 225 |     default.
 | 
|---|
| 226 | 
 | 
|---|
| 227 |   - qmake/os2-g++: Recognize the "highmem" option in the CONFIG variable that
 | 
|---|
| 228 |     allows to enabled memory support in LIBC for genereated DLLs and
 | 
|---|
| 229 |     executables. The option is set by default.
 | 
|---|
| 230 | 
 | 
|---|
| 231 |   Fixes:
 | 
|---|
| 232 | 
 | 
|---|
| 233 |   - corelib: Created wrappers for all Win* and Gpi* calls that restore the FPU
 | 
|---|
| 234 |     Control Word to what C/C++ programs expect. This fixes crashes in various
 | 
|---|
| 235 |     Qt applications (e.g. mp3diags) due to SIGFPE.
 | 
|---|
| 236 | 
 | 
|---|
| 237 |   - corelib: QLibraryInfo: Fixed: qt.conf would not have been loaded if a
 | 
|---|
| 238 |     component path was requested before QCoreApplication instance creation.
 | 
|---|
| 239 | 
 | 
|---|
| 240 |   - corelib: QLibraryInfo: Changed default "Settings" path to %ETC%/xdg.
 | 
|---|
| 241 |     Also use %ETC%/qtsys.conf as the system-wide qt.conf instead of
 | 
|---|
| 242 |     %ETC%/qt/qtsys.conf.
 | 
|---|
| 243 | 
 | 
|---|
| 244 |   - corelib: QFSFileEngine: Fixed: On OS/2, trailing spaces in file names are
 | 
|---|
| 245 |     ignored ("readme " = "readme") but kLIBC doesn't handle this well so strip
 | 
|---|
| 246 |     them before passing to LIBC APIs.
 | 
|---|
| 247 | 
 | 
|---|
| 248 |   - corelib: QFile::copy(): Use DosCopy() instead of read/write.
 | 
|---|
| 249 | 
 | 
|---|
| 250 |   - corelib: Fixed: QProcess::startDetached() would either crash or fail to
 | 
|---|
| 251 |     start a process.
 | 
|---|
| 252 | 
 | 
|---|
| 253 |   - corelib: Fixed: QFileInfo::isExecutable() would return true for all files on
 | 
|---|
| 254 |     local OS/2 file systems.
 | 
|---|
| 255 | 
 | 
|---|
| 256 |   - gui: Fixed: Popups shown when another application is active were not
 | 
|---|
| 257 |     controllable with keyboard and didn't close on an outside mouse click.
 | 
|---|
| 258 | 
 | 
|---|
| 259 |   - gui: Fixed: Visible title bar and frame of the top-level window after
 | 
|---|
| 260 |     switching to fullscreen.
 | 
|---|
| 261 | 
 | 
|---|
| 262 |   - gui: Fixed: Wrong widget-relative mouse position in mouse events. This fixes
 | 
|---|
| 263 |     problems with dragging widget splitters (separators) in applications using
 | 
|---|
| 264 |     dock widgets.
 | 
|---|
| 265 | 
 | 
|---|
| 266 |   - gui: Fixed: QEvent::Enter/Leave events were delivered incorrectly if the
 | 
|---|
| 267 |     alien child widget belonging to a native parent intersected with a native
 | 
|---|
| 268 |     child of this parent (this in particular caused extended tool bars to
 | 
|---|
| 269 |     immediately un-extend once the mouse moves over the extended part).
 | 
|---|
| 270 | 
 | 
|---|
| 271 |   - gui: Fixed: Mouse press events replayed after closing the popup by clicking
 | 
|---|
| 272 |     outside it had incorrect coordinates. This resulted into various kinds of
 | 
|---|
| 273 |     misbehavior including spatial text selection in QTextEdit widgets after
 | 
|---|
| 274 |     closing popups by clicking inside these widgets.
 | 
|---|
| 275 | 
 | 
|---|
| 276 |   - gui: Fixed: The default application icon embedded into the executable was
 | 
|---|
| 277 |     not actually used as the default window icon for top-level widgets.
 | 
|---|
| 278 | 
 | 
|---|
| 279 |   - qmake/os2-g++: Do not use EXEPACK tool on static libraries.
 | 
|---|
| 280 | 
 | 
|---|
| 281 |   - qmake: Several fixes to make install targets work correctly.
 | 
|---|
| 282 | 
 | 
|---|
| 283 | 
 | 
|---|
| 284 | Beta 5 (06-12-2009)
 | 
|---|
| 285 | 
 | 
|---|
| 286 |   Improvements:
 | 
|---|
| 287 | 
 | 
|---|
| 288 |   - gui: Added support for the system clipboard. Qt can now exchange plain text,
 | 
|---|
| 289 |     HTML (Mozilla application suite) and bitmaps with other PM applications, as
 | 
|---|
| 290 |     well as all supported MIME data types with other Qt-based applications.
 | 
|---|
| 291 | 
 | 
|---|
| 292 |   - corelib: Use system unicode conversion routines to convert from the system
 | 
|---|
| 293 |     code page to Unicode and back. This makes it unnecessary to specify the
 | 
|---|
| 294 |     system encoding in the LANG environment variable -- Qt will use the system
 | 
|---|
| 295 |     encoding of the current process.
 | 
|---|
| 296 | 
 | 
|---|
| 297 |   - gui: Implemented support for the IME input box (used on DBCS systems) in Qt
 | 
|---|
| 298 |     applications with a known limitation that the input box is always positioned
 | 
|---|
| 299 |     at the lower left corner of the top-level window.
 | 
|---|
| 300 | 
 | 
|---|
| 301 |   - gui: Improved font handling on DBCS systems (patch by komh):
 | 
|---|
| 302 |     * Read national face names from font files instead of always taking the
 | 
|---|
| 303 |       Latin name.
 | 
|---|
| 304 |     * Use the PM_AssociateFont registry key to select a fallback font for
 | 
|---|
| 305 |       missing characters.
 | 
|---|
| 306 | 
 | 
|---|
| 307 |   - gui: Implemented QPixmap::grabWindow() which takes a screenshot of a window.
 | 
|---|
| 308 | 
 | 
|---|
| 309 |   - gui: Steal the Alt key from the PM which prevents the PM system menu to be
 | 
|---|
| 310 |     shown when single Alt is pressed in a Qt application. The system menu may
 | 
|---|
| 311 |     still be called using Alt+Space. Note that this also disables all default
 | 
|---|
| 312 |     shortuts from the system menu (Alt+F7, Alt+F10 etc.) so that they available
 | 
|---|
| 313 |     to Qt applications now. Exceptions are Alt+F4, Ctrl+Esc, Alt+Esc which are
 | 
|---|
| 314 |     not passed to Qt and will function as in regular PM applciations.
 | 
|---|
| 315 | 
 | 
|---|
| 316 |   - general: Binary Qt library builds are made portable: they do not contain
 | 
|---|
| 317 |     hard-coded paths to various Qt components any more and use relative
 | 
|---|
| 318 |     locations whenever possible. See
 | 
|---|
| 319 |     http://svn.netlabs.org/qt4/browser/tags/4.5.1-os2-beta5/doc/src/qt-conf.qdoc
 | 
|---|
| 320 |     for more info.
 | 
|---|
| 321 | 
 | 
|---|
| 322 |   - corelib: Improved the polling QFileSystemWatcher implementation so that it
 | 
|---|
| 323 |     doesn't eat all CPU when there are more than 100 items to watch, like when
 | 
|---|
| 324 |     showing a file open dialog with many files in a directory.
 | 
|---|
| 325 | 
 | 
|---|
| 326 |   - qmake: Improved processing of the project library list (LIBS variable) to
 | 
|---|
| 327 |     avoid appearance of raw library names that require substitution (fixes the
 | 
|---|
| 328 |     debug build of linguist).
 | 
|---|
| 329 | 
 | 
|---|
| 330 |   - qmake: Added support for DEF_FILE_VERSION, DEF_FILE_DESCRIPTION and
 | 
|---|
| 331 |     DEF_FILE_VENDOR project variables that allow to embed the description
 | 
|---|
| 332 |     string into a generated DLL or executable. For compatibility with other
 | 
|---|
| 333 |     platforms, these variables by default are mapped to VERSION,
 | 
|---|
| 334 |     QMAKE_TARGET_PRODUCT + QMAKE_TARGET_DESCRIPTION + QMAKE_TARGET_COPYRIGHT and
 | 
|---|
| 335 |     QMAKE_TARGET_COMPANY, respectively.
 | 
|---|
| 336 | 
 | 
|---|
| 337 |   Fixes:
 | 
|---|
| 338 | 
 | 
|---|
| 339 |   - gui: Table views showed alternate rows in black color instead of light gray.
 | 
|---|
| 340 | 
 | 
|---|
| 341 |   - gui: If some font style (e.g. Bold) does not provide characters for some
 | 
|---|
| 342 |     script (e.g. Cyrillic) while the Normal style does, a different font will be
 | 
|---|
| 343 |     chosen for Bold Cyrillic instead of drawing empty boxes.
 | 
|---|
| 344 | 
 | 
|---|
| 345 |   - corelib: Fixed two issues related to loading text codec plugins from the
 | 
|---|
| 346 |     application's directory.
 | 
|---|
| 347 | 
 | 
|---|
| 348 |   - corelib: Fixed QDir::absoluteFilePath(), midir()/mkpath(), rmdir()/rmpath()
 | 
|---|
| 349 |     that didn't properly handle relative and UNC paths which could cause various
 | 
|---|
| 350 |     path-related failures.
 | 
|---|
| 351 | 
 | 
|---|
| 352 |   - corelib: Properly report root directories of drives to Qt. This makes
 | 
|---|
| 353 |     letters of removable drives always seen by Qt (for example, in the file open
 | 
|---|
| 354 |     dialog) even if the medium isn't currently inserted.
 | 
|---|
| 355 | 
 | 
|---|
| 356 |   - corelib: Fixed unnecessary access to removable drives and a long delay and
 | 
|---|
| 357 |     noice caused by it when showing a file open dialog in Qt applications.
 | 
|---|
| 358 | 
 | 
|---|
| 359 | 
 | 
|---|
| 360 | Beta 4 (11-11-2009)
 | 
|---|
| 361 | 
 | 
|---|
| 362 |   Improvements:
 | 
|---|
| 363 | 
 | 
|---|
| 364 |   - Added sound support (implemented QSound class).
 | 
|---|
| 365 | 
 | 
|---|
| 366 |   - Added system tray support (QSystemTrayIcon class). This support requires
 | 
|---|
| 367 |     the Extended system tray XCenter plugin to be installed. See the note above
 | 
|---|
| 368 |     on how to compile and install this plugin.
 | 
|---|
| 369 | 
 | 
|---|
| 370 |   - Enabled QPlugin support on OS/2. This in turn enables SVG support for
 | 
|---|
| 371 |     QIcon (which is built as a Qt plugin DLL by default).
 | 
|---|
| 372 | 
 | 
|---|
| 373 |   - Better widget modality support (widgets blocked by modality cannot be
 | 
|---|
| 374 |     activated and moved using the mouse and the title bar anymore).
 | 
|---|
| 375 | 
 | 
|---|
| 376 |   - Added support for 'console' and 'windows' CONFIG options in .pro files.
 | 
|---|
| 377 |     Now, if 'windows' is present, the target executable will have the WINDOWAPI
 | 
|---|
| 378 |     attribute set which effectively makes it a PM application. This, in
 | 
|---|
| 379 |     particular, disables standard input, output and error streams so that when
 | 
|---|
| 380 |     started, the application will not have a console window attached to it.
 | 
|---|
| 381 |     By default, 'console' mode is active unless you perform a release build and
 | 
|---|
| 382 |     the application is linked against the QtGui library ('QT = gui' in .pro),
 | 
|---|
| 383 |     in which case the default is 'windows'.
 | 
|---|
| 384 | 
 | 
|---|
| 385 |   - Improved paint speed in Qt windows which should increase overall graphical
 | 
|---|
| 386 |     UI performance by 10%-20% in Qt4 applications.
 | 
|---|
| 387 | 
 | 
|---|
| 388 |   - Implemented setting window icons for top-level windows (using
 | 
|---|
| 389 |     QWidget::setWindowIcon()).
 | 
|---|
| 390 | 
 | 
|---|
| 391 |   - Added LxLite support to provide compression for executables and DLLs. The
 | 
|---|
| 392 |     compression is controlled by the 'exepack' CONFIG option which is turned on
 | 
|---|
| 393 |     by default for release builds if the LxLite executable is present in PATH
 | 
|---|
| 394 |     during the configure.cmd invocation. The compression may be turned off on a
 | 
|---|
| 395 |     per-project basis by adding a 'CONFIG -= exepack' line to the .pro file.
 | 
|---|
| 396 | 
 | 
|---|
| 397 |   - Improved the section of this README.OS2 file that describes how to properly
 | 
|---|
| 398 |     set the LANG variable to have correct national characters in file names and
 | 
|---|
| 399 |     in window titles of Qt applications.
 | 
|---|
| 400 | 
 | 
|---|
| 401 |   Fixes:
 | 
|---|
| 402 | 
 | 
|---|
| 403 |   - QProcess: The executable's path was not always added to BEGINLIBPATH.
 | 
|---|
| 404 | 
 | 
|---|
| 405 |   - Fixed-size top-level widgets could not be moved.
 | 
|---|
| 406 | 
 | 
|---|
| 407 |   - Application crash after pressing a button in a dialog window that resizes
 | 
|---|
| 408 |     this dialog (for example, makes it bigger to show more information).
 | 
|---|
| 409 | 
 | 
|---|
| 410 |   - Resizing top level windows using the top border broke mouse coordinates so
 | 
|---|
| 411 |     that Qt tought you pressed the mouse button in a different place of the
 | 
|---|
| 412 |     window than where you actually did it.
 | 
|---|
| 413 | 
 | 
|---|
| 414 |   - Events posted with QCoreApplication::postEvent() were only processed upon
 | 
|---|
| 415 |     receiving a next message from the system. This caused funny delays such as
 | 
|---|
| 416 |     controls in a Qt window still indicating the input focus (the dotted
 | 
|---|
| 417 |     rectangle) after the window was deactivated and losing this indication only
 | 
|---|
| 418 |     when the mouse pointer was moved over the window.
 | 
|---|
| 419 | 
 | 
|---|
| 420 |   - Don't replay mouse button press on a push button that is showing a popup
 | 
|---|
| 421 |     menu but instead hide the popup menu and unpress the button to get more
 | 
|---|
| 422 |     native look and feel.
 | 
|---|
| 423 | 
 | 
|---|
| 424 |   - Deactivating the window with a push button showing a popup menu would hide
 | 
|---|
| 425 |     the popup but leave the button pressed.
 | 
|---|
| 426 | 
 | 
|---|
| 427 |   - Fixed incorrect Qt dirty widget region calculation when processing WM_PAINT
 | 
|---|
| 428 |     messages. This fixes a lot of redraw problems (menu items in the main menu
 | 
|---|
| 429 |     bar, text in combo-boxes, various redraw problems in smplayer when switching
 | 
|---|
| 430 |     interfaces and going to/from fullscreen, and similar).
 | 
|---|
| 431 | 
 | 
|---|
| 432 | 
 | 
|---|
| 433 | Beta 3 (17-10-2009)
 | 
|---|
| 434 | 
 | 
|---|
| 435 |   Improvements:
 | 
|---|
| 436 | 
 | 
|---|
| 437 |   - Added proper font support. All outline (scalable) fonts visible in the Font
 | 
|---|
| 438 |     Palette should be now recognized by Qt. The fonts are hinted and antialiased
 | 
|---|
| 439 |     using the Freetype2 library when drawing text.
 | 
|---|
| 440 | 
 | 
|---|
| 441 |   - System fonts and colors are now used by default for Qt widgets.
 | 
|---|
| 442 | 
 | 
|---|
| 443 |   - configure.cmd now generates the main Makefile to simplify building of Qt.
 | 
|---|
| 444 | 
 | 
|---|
| 445 |   - corelib: QProcess: Implemented child termination detection.
 | 
|---|
| 446 | 
 | 
|---|
| 447 |   - corelib: QProcess: Implemented redirection to another QProcess.
 | 
|---|
| 448 | 
 | 
|---|
| 449 |   - corelib: QProcess now uses native pipes for stream redirection. This fixes
 | 
|---|
| 450 |     various issues like 'Socket operation on non-socket' errors during
 | 
|---|
| 451 |     parent-child communication.
 | 
|---|
| 452 | 
 | 
|---|
| 453 |   - corelib: QProcess: Make sure that the directory containing the executable
 | 
|---|
| 454 |     file is always searched (first) for DLLs needed by this executable. This
 | 
|---|
| 455 |     makes it unnecessary to change the current directory to the executable's
 | 
|---|
| 456 |     directory or add it to LIBPATH before starting the Qt application.
 | 
|---|
| 457 | 
 | 
|---|
| 458 |   - corelib: QProcess can now start applications of different type (e.g. PM
 | 
|---|
| 459 |     applications from text-mode applications) directly.
 | 
|---|
| 460 |     QProcess::startDetached() also works.
 | 
|---|
| 461 | 
 | 
|---|
| 462 |   - qmake: In debug_and_release mode, 'release-(all|clean|distclean|install|
 | 
|---|
| 463 |     uninstall)' and 'debug-(all|clean|distclean|install|uninstall)' make
 | 
|---|
| 464 |     targets are now available.
 | 
|---|
| 465 | 
 | 
|---|
| 466 |   Fixes:
 | 
|---|
| 467 | 
 | 
|---|
| 468 |   - Doing 'make clean' could result into a hang due to CMD.EXE command line
 | 
|---|
| 469 |     length limitation.
 | 
|---|
| 470 | 
 | 
|---|
| 471 |   - corelib: Fixed: QProcess: Lost data during stream redirection.
 | 
|---|
| 472 | 
 | 
|---|
| 473 |   - corelib: QSettings could sometimes distort data when saving it to the
 | 
|---|
| 474 |     registry (by replacing some characters with codes 0x80 and above with '?').
 | 
|---|
| 475 | 
 | 
|---|
| 476 | 
 | 
|---|
| 477 | Beta 2 (17-09-2009)
 | 
|---|
| 478 | 
 | 
|---|
| 479 |   Improvements:
 | 
|---|
| 480 | 
 | 
|---|
| 481 |   - Ported the network module (QtNetwork4.dll) and added to the default build.
 | 
|---|
| 482 | 
 | 
|---|
| 483 |   - Added modules sql, svg, xmlpatterns, scripttools, plugins to the default
 | 
|---|
| 484 |     build.
 | 
|---|
| 485 | 
 | 
|---|
| 486 |   - gui: Added recognition of dead keys which makes it possible to type
 | 
|---|
| 487 |     umlauts and other accented characters that require composition.
 | 
|---|
| 488 | 
 | 
|---|
| 489 |   - gui: Implemented standard cursor shapes in Qt applications.
 | 
|---|
| 490 | 
 | 
|---|
| 491 |   Fixes:
 | 
|---|
| 492 | 
 | 
|---|
| 493 |   - qmake: Fixed the trailing slash problem which caused qmake to generate
 | 
|---|
| 494 |     incorrect makefiles and fail to build the Qt library on some platforms.
 | 
|---|
| 495 | 
 | 
|---|
| 496 |   - configure.cmd: Return to the root source tree directory after building
 | 
|---|
| 497 |     qmake.
 | 
|---|
| 498 | 
 | 
|---|
| 499 |   - qmake: Automatically use different link flags when linking qmake with WLINK.
 | 
|---|
| 500 | 
 | 
|---|
| 501 |   - qmake: Recognize TARGET_SHORT that allows to specify a short DLL name
 | 
|---|
| 502 |     (vital for OS/2 which reqires DLL names to be in 8x3 format).
 | 
|---|
| 503 | 
 | 
|---|
| 504 |   - build: Set short DLL names for Qt modules on OS/2 using TARGET_SHORT.
 | 
|---|
| 505 | 
 | 
|---|
| 506 |   - corelib: Various fixes to file system classes that deal with the file name
 | 
|---|
| 507 |     case (which should be ignored on OS/2) and forward and back slashes.
 | 
|---|
| 508 | 
 | 
|---|
| 509 |   - corelib: Fixed: QMutex could let more than one thread access the protected
 | 
|---|
| 510 |     resource.
 | 
|---|
| 511 | 
 | 
|---|
| 512 |   - corelib: Standard stream redirection in QProcess should now work for
 | 
|---|
| 513 |     kLIBC-based child processes. Redirection for all other applications
 | 
|---|
| 514 |     (such as CMD.EXE) will be added later (seems to be a kLIBC bug/feature).
 | 
|---|
| 515 | 
 | 
|---|
| 516 |   - gui: Fixed erroneous QFileDialog behavior (duplicate entires in the list,
 | 
|---|
| 517 |     incomplete contents of the root directory of the current drive).
 | 
|---|
| 518 | 
 | 
|---|
| 519 |   - gui: Fixed: Ctrl+A..Z should generate characters with codes 0x01-0x1F.
 | 
|---|
| 520 | 
 | 
|---|
| 521 |   - gui: Fixed: Close popups when resizing/moving the top level window.
 | 
|---|
| 522 | 
 | 
|---|
| 523 |   - gui: Enabled actual enforcing min/max Qt widget constraints for top-level windows.
 | 
|---|
| 524 | 
 | 
|---|
| 525 |   - gui: Fixed child widget duplication when resizing top level widgets after
 | 
|---|
| 526 |     showing a popup; moving native child widgets should now work correctly.
 | 
|---|
| 527 |     This also fixed a number of redraw problems (for example, drawing the main
 | 
|---|
| 528 |     menu and tool bars in smplayer, moving tool bars around in other
 | 
|---|
| 529 |     applications such as textedit from the demo folder).
 | 
|---|
| 530 | 
 | 
|---|
| 531 | 
 | 
|---|
| 532 | Beta 1 (29-08-2009)
 | 
|---|
| 533 | 
 | 
|---|
| 534 |   - First public release.
 | 
|---|