source: trunk/CHANGES.OS2@ 987

Last change on this file since 987 was 830, checked in by Dmitry A. Kuminov, 15 years ago

Updated README and CHANGES for 4.6.3.

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