summaryrefslogtreecommitdiffstats
path: root/dist/changes-4.6.0
blob: 383c6b77fdbf9aa832dca2a38c45ee0508ff8826 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
Qt 4.6 introduces many new features and improvements as well as bugfixes
over the 4.5.x series. For more details, refer to the online documentation
included in this distribution. The documentation is also available online:

  http://doc.trolltech.com/4.6

The Qt version 4.6 series is binary compatible with the 4.5.x series.
Applications compiled for 4.5 will continue to run with 4.6.

Some of the changes listed in this file include issue tracking numbers
corresponding to tasks in the Task Tracker:

  http://www.qtsoftware.com/developer/task-tracker

Each of these identifiers can be entered in the task tracker to obtain more
information about a particular change.

****************************************************************************
*                           General                                        *
****************************************************************************



****************************************************************************
*                          Library                                         *
****************************************************************************

    * [245219] Added QXmlQuery::setFocus(const QString &focus);

****************************************************************************
*                      Platform Specific Changes                           *
****************************************************************************

 - Significant external contribution from Milan Burda for planned removal
   of (non-unicode) Windows 9x/ME support.


****************************************************************************
*                   Important Behavior Changes                             *
****************************************************************************

 - The experimental Direct3D paint engine has been removed. The reason for
   this is that Nokia focuses on OpenGL for desktop hardware accelerated
   rendering.

 - When mixing OpenGL and QPainter calls you need to first call syncState()
   on the paint engine, for example "painter->paintEngine()->syncState()".
   This is to ensure that the engine flushes any pending drawing and sets up
   the GL modelview/projection matrices properly.

 - Graphics View has undergone heavy optimization work, and as a result of
   this work, the following behavior changes were introduced.

   a) QStyleOptionGraphicsItem::exposedRect now contains the item's bounding
      rectangle, and QStyleOptionGraphicsItem::matrix is uninitialized by
      default. You can enable an exact exposed rectangle and a correct matrix
      by enabling the flag QGraphicsItem::ItemUsesExtendedStyleOptions.

   b) QStyleOptionGraphicsItem::levelOfDetails is obsoleted and its value is
      always initialized to 1. Instead you can call
      QStyleOptionGraphicsItem::levelOfDetailFromTransform(const QTransform &)
      to determine the level of detail.

   c) QGraphicsView no longer calls QGraphicsView::drawItems(), and in turn
      QGraphicsScene::drawItems(), by default. You can get the old behavior
      back by enabling QGraphicsView::IndirectPainting.

   d) QGraphicsItem no longer calls itemChange() for position and
      transformation changes. If you want to receive notifications for changes
      to the item's position and transformation, you can set the flag
      QGraphicsItem::ItemSendsGeometryChanges (which is enabled by default by
      QGraphicsWidget and QGraphicsProxyWidget).

- QDesktopWidget on X11 no longer emits the resized(int) signal when screens
  are added or removed. This was not done on other platforms. Use the
  screenCountChanged signal instead

- QUrl's parser is more strict when for hostnames in URLs. QUrl now
  enforces STD 3 rules:

   * each individual hostname section (between dots) must be at most
     63 ASCII characters in length;

   * only letters, digits, and the hyphen character are allowed in the
     ASCII range; letters outside the ASCII range follow the normal
     IDN rules

  That means QUrl no longer accepts some URLs that were invalid
  before, but weren't interpreted as such.

- The Unix configure-time check for STL is stricter now in Qt
  4.6.0. This means some legacy STL implementations may fail to pass
  the test and, therefore, Qt will automatically disable STL support.

  This is a binary-compatible change: existing code will continue to
  work without being recompiled. However, it affects the source code,
  since some STL-compatibility API will not be enabled.

  Platforms affected by this change:
    * solaris-cc-* with the default (Cstd) C++ STL library
      recommendation: use -library=stlport4
      See Sun Studio's documentation for the effects of this option