From 86c3fed122b8a6e47904d958f8c50fa19e668434 Mon Sep 17 00:00:00 2001
From: David Boddie <dboddie@trolltech.com>
Date: Tue, 17 Aug 2010 15:31:48 +0200
Subject: Doc: Started work to tidy up existing QML docs.

Reviewed-by: Trust Me
---
 doc/src/declarative/qml-intro.qdoc                 | 38 +++++-----------
 .../snippets/declarative/qml-intro/anchors1.qml    | 14 ++++++
 .../snippets/declarative/qml-intro/anchors2.qml    | 16 +++++++
 .../snippets/declarative/qml-intro/anchors3.qml    | 25 +++++++++++
 .../declarative/qml-intro/basic-syntax.qml         |  8 ++++
 .../declarative/qml-intro/hello-world1.qml         | 11 +++++
 .../declarative/qml-intro/hello-world2.qml         | 16 +++++++
 .../declarative/qml-intro/hello-world3.qml         | 17 +++++++
 .../declarative/qml-intro/hello-world4.qml         | 21 +++++++++
 .../declarative/qml-intro/hello-world5.qml         | 23 ++++++++++
 .../declarative/qml-intro/number-animation1.qml    | 22 +++++++++
 .../declarative/qml-intro/number-animation2.qml    | 24 ++++++++++
 .../snippets/declarative/qml-intro/rectangle.qml   |  8 ++++
 .../qml-intro/sequential-animation1.qml            | 23 ++++++++++
 .../qml-intro/sequential-animation2.qml            | 33 ++++++++++++++
 .../qml-intro/sequential-animation3.qml            | 46 +++++++++++++++++++
 doc/src/snippets/declarative/qml-intro/states1.qml | 52 ++++++++++++++++++++++
 .../declarative/qml-intro/transformations1.qml     | 38 ++++++++++++++++
 18 files changed, 409 insertions(+), 26 deletions(-)
 create mode 100644 doc/src/snippets/declarative/qml-intro/anchors1.qml
 create mode 100644 doc/src/snippets/declarative/qml-intro/anchors2.qml
 create mode 100644 doc/src/snippets/declarative/qml-intro/anchors3.qml
 create mode 100644 doc/src/snippets/declarative/qml-intro/basic-syntax.qml
 create mode 100644 doc/src/snippets/declarative/qml-intro/hello-world1.qml
 create mode 100644 doc/src/snippets/declarative/qml-intro/hello-world2.qml
 create mode 100644 doc/src/snippets/declarative/qml-intro/hello-world3.qml
 create mode 100644 doc/src/snippets/declarative/qml-intro/hello-world4.qml
 create mode 100644 doc/src/snippets/declarative/qml-intro/hello-world5.qml
 create mode 100644 doc/src/snippets/declarative/qml-intro/number-animation1.qml
 create mode 100644 doc/src/snippets/declarative/qml-intro/number-animation2.qml
 create mode 100644 doc/src/snippets/declarative/qml-intro/rectangle.qml
 create mode 100644 doc/src/snippets/declarative/qml-intro/sequential-animation1.qml
 create mode 100644 doc/src/snippets/declarative/qml-intro/sequential-animation2.qml
 create mode 100644 doc/src/snippets/declarative/qml-intro/sequential-animation3.qml
 create mode 100644 doc/src/snippets/declarative/qml-intro/states1.qml
 create mode 100644 doc/src/snippets/declarative/qml-intro/transformations1.qml

diff --git a/doc/src/declarative/qml-intro.qdoc b/doc/src/declarative/qml-intro.qdoc
index 69dd500..13c8e4f 100644
--- a/doc/src/declarative/qml-intro.qdoc
+++ b/doc/src/declarative/qml-intro.qdoc
@@ -320,7 +320,7 @@ from \l Item. The rotation property is a real number that specifies the
 angle in a clockwise direction for the rotation of the object. Here is the
 code for our animated rotating image.
 
-\quotefile doc/src/snippets/declarative/number-animation1.qml
+\quotefile doc/src/snippets/declarative/qml-intro/number-animation1.qml
 
 The \c {transformOrigin: Item.Center} is redundant since this is the default
 axis of rotation anyway. But if you change \c Center to \c BottomRight you
@@ -333,7 +333,7 @@ combination. For example, if the task had been to animate the rotation
 about the y-axis passing through the center of the image then the following
 code would do it.
 
-\quotefile doc/src/snippets/declarative/number-animation2.qml
+\quotefile doc/src/snippets/declarative/qml-intro/number-animation2.qml
 
 Here there is a rectangle 600 by 400 pixels. Placed within that rectangle
 is an image 100 by 100 pixels. It is rotated about the center of the image
@@ -362,7 +362,7 @@ will be animating the position and the size of the image.
 
 First create two images
 
-\quotefile doc/src/snippets/declarative/sequential-animation1.qml
+\quotefile doc/src/snippets/declarative/qml-intro/sequential-animation1.qml
 
 We will add to 'image1' a SequentialAnimation from x = 20 to the target of
 x = 450. The 'from' values will be used because we will be repeating the
@@ -375,7 +375,7 @@ between the x values and over a given duration. After the NumberAnimation
 there will be a PauseAnimation that will pause the animation for 500
 milliseconds (half a second) simply for the visual effect.
 
-\snippet doc/src/snippets/declarative/sequential-animation2.qml adding a sequential animation
+\snippet doc/src/snippets/declarative/qml-intro/sequential-animation2.qml adding a sequential animation
 
 A similar block of code is written for the animation of the 'y' value of
 the position.
@@ -390,7 +390,7 @@ and image1 to 1 and image2 to 2 then image2 will be in the foreground and
 image1 in the background. When image1 passes image2 it will pass behind it.
 The completed code looks like
 
-\quotefile doc/src/snippets/declarative/sequential-animation3.qml
+\quotefile doc/src/snippets/declarative/qml-intro/sequential-animation3.qml
 
 The \c {easing.type} has many options, expressed as a string. It specifies the
 kind of equation that describes the acceleration of the property value, not
@@ -439,9 +439,6 @@ delivers some of the best examples that illustrate these new elements.
 \endtable
 
 
-
-
-
 \section1 Using States
 
 A state is a defined set of values in the configuration of an object and
@@ -471,7 +468,7 @@ will be the default state. We will just go to 'night' by clicking and
 holding the left mouse button down, releasing the mouse button will reverse
 the process
 
-\quotefile doc/src/snippets/declarative/states1.qml
+\quotefile doc/src/snippets/declarative/qml-intro/states1.qml
 
 Several new things appear in this sample. Firstly, we use a \l MouseArea
 element to detect mouse clicks in the \e mainRectangle. Secondly, we use
@@ -549,15 +546,15 @@ needle_shadow have the same default \e x and \e y values but the rotation origin
 for the needle is slightly different so that a shadow will be evident as the
 needle moves.
 
-\snippet ../../examples/declarative/ui-components/dialcontrol/content/Dial.qml  needle_shadow
+\snippet examples/declarative/ui-components/dialcontrol/content/Dial.qml  needle_shadow
 
 And the needle
 
-\snippet ../../examples/declarative/ui-components/dialcontrol/content/Dial.qml  needle
+\snippet examples/declarative/ui-components/dialcontrol/content/Dial.qml  needle
 
 The final image is the overlay which simply has a position defined.
 
-\snippet ../../examples/declarative/ui-components/dialcontrol/content/Dial.qml  overlay
+\snippet examples/declarative/ui-components/dialcontrol/content/Dial.qml  overlay
 
 \e {dialcontrol.qml} in the \e {examples/declarative/ui-components/dialcontrol} directory is the
 main file of the example. It defines the visual environment that the Dial
@@ -565,17 +562,14 @@ will fit into. Because the \e Dial component and the images live in the \e
 content sub-directory we will have to import this into \e dialcontrol.qml. So the
 start of the file looks like
 
-    \code
-    import Qt 4.7
-    import "content"
-    \endcode
+\snippet examples/declarative/ui-components/dialcontrol/dialcontrol.qml  imports
 
 The visual space is bound by a 300 by 300 pixel \l Rectangle which is given
 a gray color. Inside this rectangle is our component \e Dial and a \l Rectangle.
 Inside the rectangle called 'container' is another rectangle with the
 interesting name 'slider'.
 
-\snippet ../../examples/declarative/ui-components/dialcontrol/dialcontrol.qml  0
+\snippet examples/declarative/ui-components/dialcontrol/dialcontrol.qml  0
 
 The Dial component, named 'dial, is \e anchored to the center of the main
 rectangle. The \c value attribute of 'dial' is set to a value based on the
@@ -584,15 +578,7 @@ rectangle. The \c value attribute of 'dial' is set to a value based on the
 the rotation of the needle image. Notice this piece of code in Dial where
 the change in \c value modifies the position of the needle.
 
-    \code
-    angle: Math.min(Math.max(-130, root.value*2.6 - 130), 133)
-    Behavior on angle {
-        SpringAnimation {
-            spring: 1.4
-            damping: .15
-        }
-    }
-    \endcode
+\snippet examples/declarative/ui-components/dialcontrol/Dial.qml  needle angle
 
 This is part of the \c needleRotation that rotates the needle and causes the
 rotation of its shadow. \l SpringAnimation is an element that modifies the value
diff --git a/doc/src/snippets/declarative/qml-intro/anchors1.qml b/doc/src/snippets/declarative/qml-intro/anchors1.qml
new file mode 100644
index 0000000..320d0e7
--- /dev/null
+++ b/doc/src/snippets/declarative/qml-intro/anchors1.qml
@@ -0,0 +1,14 @@
+import Qt 4.7
+
+Rectangle {
+    id: myWin
+    width: 500
+    height: 400
+
+    Image {
+        id: image1
+        source: "images/qt-logo.png"
+        width: 150; height: 150
+        anchors.bottom: myWin.bottom
+    }
+}
diff --git a/doc/src/snippets/declarative/qml-intro/anchors2.qml b/doc/src/snippets/declarative/qml-intro/anchors2.qml
new file mode 100644
index 0000000..bb9ed75
--- /dev/null
+++ b/doc/src/snippets/declarative/qml-intro/anchors2.qml
@@ -0,0 +1,16 @@
+import Qt 4.7
+
+Rectangle {
+    id: myWin
+    width: 500
+    height: 400
+
+    Image {
+        id: image1
+        source: "images/qt-logo.png"
+        width: 150; height: 150
+        anchors.bottom: myWin.bottom
+        anchors.horizontalCenter: myWin.horizontalCenter
+        anchors.bottomMargin: 10
+    }
+}
diff --git a/doc/src/snippets/declarative/qml-intro/anchors3.qml b/doc/src/snippets/declarative/qml-intro/anchors3.qml
new file mode 100644
index 0000000..99d2ceb
--- /dev/null
+++ b/doc/src/snippets/declarative/qml-intro/anchors3.qml
@@ -0,0 +1,25 @@
+import Qt 4.7
+
+Rectangle {
+    id: myWin
+    width: 500
+    height: 400
+
+    Image {
+        id: image1
+        source: "images/qt-logo.png"
+        width: 150; height: 150
+        anchors.bottom: myWin.bottom
+        anchors.horizontalCenter: myWin.horizontalCenter
+        anchors.bottomMargin: 10
+    }
+
+//! [adding some text]
+    Text {
+        text: "<h2>The Qt Logo</h2>"
+        anchors.bottom: image1.top
+        anchors.horizontalCenter: myWin.horizontalCenter
+        anchors.bottomMargin: 15
+    }
+//! [adding some text]
+}
diff --git a/doc/src/snippets/declarative/qml-intro/basic-syntax.qml b/doc/src/snippets/declarative/qml-intro/basic-syntax.qml
new file mode 100644
index 0000000..b241500
--- /dev/null
+++ b/doc/src/snippets/declarative/qml-intro/basic-syntax.qml
@@ -0,0 +1,8 @@
+// Note: this file is not intended to be run.
+
+//! [basic syntax]
+SomeElement {
+    id: myObject
+    ... some other things here ...
+}
+//! [basic syntax]
diff --git a/doc/src/snippets/declarative/qml-intro/hello-world1.qml b/doc/src/snippets/declarative/qml-intro/hello-world1.qml
new file mode 100644
index 0000000..244175c
--- /dev/null
+++ b/doc/src/snippets/declarative/qml-intro/hello-world1.qml
@@ -0,0 +1,11 @@
+import Qt 4.7
+
+Rectangle {
+    id: myRectangle
+    width: 500
+    height: 400
+
+    Text { text: "Hello World!" }
+
+    color: "lightgray"
+}
diff --git a/doc/src/snippets/declarative/qml-intro/hello-world2.qml b/doc/src/snippets/declarative/qml-intro/hello-world2.qml
new file mode 100644
index 0000000..73b2f8c
--- /dev/null
+++ b/doc/src/snippets/declarative/qml-intro/hello-world2.qml
@@ -0,0 +1,16 @@
+import Qt 4.7
+
+Rectangle {
+    id: myRectangle
+    width: 500
+    height: 400
+
+//! [updated text]
+    Text {
+        text: "<h2>Hello World</h2>"; color: "darkgreen"
+        x: 100; y:100
+    }
+//! [updated text]
+
+    color: "lightgray"
+}
diff --git a/doc/src/snippets/declarative/qml-intro/hello-world3.qml b/doc/src/snippets/declarative/qml-intro/hello-world3.qml
new file mode 100644
index 0000000..112f775
--- /dev/null
+++ b/doc/src/snippets/declarative/qml-intro/hello-world3.qml
@@ -0,0 +1,17 @@
+import Qt 4.7
+
+Rectangle {
+    id: myRectangle
+    width: 500
+    height: 400
+
+//! [updated text]
+    Text {
+        text: "<h1>Hello world again</h1>"
+        color: "#002288"
+        x: 100; y: 100
+    }
+//! [updated text]
+
+    color: "lightgray"
+}
diff --git a/doc/src/snippets/declarative/qml-intro/hello-world4.qml b/doc/src/snippets/declarative/qml-intro/hello-world4.qml
new file mode 100644
index 0000000..c97334e
--- /dev/null
+++ b/doc/src/snippets/declarative/qml-intro/hello-world4.qml
@@ -0,0 +1,21 @@
+import Qt 4.7
+
+Rectangle {
+    id: myRectangle
+    width: 500
+    height: 400
+
+    Text {
+        text: "<h1>Hello world again</h1>"
+        color: "#002288"
+        x: 100; y: 100
+    }
+
+//! [added an image]
+    Image {
+        source: "images/qt-logo.png"
+    }
+//! [added an image]
+
+    color: "lightgray"
+}
diff --git a/doc/src/snippets/declarative/qml-intro/hello-world5.qml b/doc/src/snippets/declarative/qml-intro/hello-world5.qml
new file mode 100644
index 0000000..74a612a
--- /dev/null
+++ b/doc/src/snippets/declarative/qml-intro/hello-world5.qml
@@ -0,0 +1,23 @@
+import Qt 4.7
+
+Rectangle {
+    id: myRectangle
+    width: 500
+    height: 400
+
+    Text {
+        text: "<h1>Hello world again</h1>"
+        color: "#002288"
+        x: 100; y: 100
+    }
+
+//! [positioning the image]
+    Image {
+        source: "images/qt-logo.png"
+        x: 100; y: 150
+        width: 150; height: 150
+    }
+//! [positioning the image]
+
+    color: "lightgray"
+}
diff --git a/doc/src/snippets/declarative/qml-intro/number-animation1.qml b/doc/src/snippets/declarative/qml-intro/number-animation1.qml
new file mode 100644
index 0000000..d80a8dc
--- /dev/null
+++ b/doc/src/snippets/declarative/qml-intro/number-animation1.qml
@@ -0,0 +1,22 @@
+import Qt 4.7
+
+Rectangle {
+    id: mainRec
+    width:  600
+    height: 400
+
+    Image {
+        id: image1
+        source: "images/qt-logo.png"
+        x: 200; y: 100
+        width: 100; height: 100
+
+        // Animate a rotation
+        transformOrigin: Item.Center
+        NumberAnimation on rotation {
+            from: 0; to: 360
+            duration: 2000
+            loops: Animation.Infinite
+        }
+    }
+}
diff --git a/doc/src/snippets/declarative/qml-intro/number-animation2.qml b/doc/src/snippets/declarative/qml-intro/number-animation2.qml
new file mode 100644
index 0000000..beb3114
--- /dev/null
+++ b/doc/src/snippets/declarative/qml-intro/number-animation2.qml
@@ -0,0 +1,24 @@
+import Qt 4.7
+
+Rectangle {
+    id: mainRec
+    width:  600
+    height: 400
+
+    Image {
+        id: image1
+        source: "images/qt-logo.png"
+        x: 200; y: 100
+        width: 100; height: 100
+
+        // Animate a rotation
+        transform: Rotation {
+            origin.x: 50; origin.y: 50; axis {x:0; y:1; z:0} angle:0
+            NumberAnimation on angle  {
+                from: 0; to: 360;
+                duration: 3000;
+                loops: Animation.Infinite
+            }
+        }
+    }
+}
diff --git a/doc/src/snippets/declarative/qml-intro/rectangle.qml b/doc/src/snippets/declarative/qml-intro/rectangle.qml
new file mode 100644
index 0000000..7235e9b
--- /dev/null
+++ b/doc/src/snippets/declarative/qml-intro/rectangle.qml
@@ -0,0 +1,8 @@
+import Qt 4.7
+
+// This is a comment. And below myRectangle is defined.
+Rectangle {
+    id: myRectangle
+    width: 500
+    height: 400
+}
diff --git a/doc/src/snippets/declarative/qml-intro/sequential-animation1.qml b/doc/src/snippets/declarative/qml-intro/sequential-animation1.qml
new file mode 100644
index 0000000..125f99f
--- /dev/null
+++ b/doc/src/snippets/declarative/qml-intro/sequential-animation1.qml
@@ -0,0 +1,23 @@
+import Qt 4.7
+
+Rectangle {
+    id: mainRec
+    width:  600
+    height: 400
+    z: 0
+
+    Image {
+        id: image1
+        source: "images/qt-logo.png"
+        x: 20; y: 20 ; z: 1
+        width: 100; height: 100
+    }
+
+    Image {
+        id: image2
+        source: "images/qt-logo.png"
+        width: 100; height: 100
+        x: (mainRec.width - 100)/2; y: (mainRec.height - 100)/2
+        z: 2
+    }
+}
diff --git a/doc/src/snippets/declarative/qml-intro/sequential-animation2.qml b/doc/src/snippets/declarative/qml-intro/sequential-animation2.qml
new file mode 100644
index 0000000..08c598b
--- /dev/null
+++ b/doc/src/snippets/declarative/qml-intro/sequential-animation2.qml
@@ -0,0 +1,33 @@
+import Qt 4.7
+
+Rectangle {
+    id: mainRec
+    width:  600
+    height: 400
+    z: 0
+
+//! [adding a sequential animation]
+    Image {
+        id: image1
+        source: "images/qt-logo.png"
+        width: 100; height: 100
+
+        SequentialAnimation on x {
+            loops: Animation.Infinite
+            NumberAnimation {
+                from: 20; to: 450; easing.type: "InOutQuad";
+                duration: 2000
+            }
+            PauseAnimation { duration: 500 }
+        }
+    }
+//! [adding a sequential animation]
+
+    Image {
+        id: image2
+        source: "images/qt-logo.png"
+        width: 100; height: 100
+        x: (mainRec.width - 100)/2; y: (mainRec.height - 100)/2
+        z: 2
+    }
+}
diff --git a/doc/src/snippets/declarative/qml-intro/sequential-animation3.qml b/doc/src/snippets/declarative/qml-intro/sequential-animation3.qml
new file mode 100644
index 0000000..5e7b400
--- /dev/null
+++ b/doc/src/snippets/declarative/qml-intro/sequential-animation3.qml
@@ -0,0 +1,46 @@
+Rectangle {
+    id: mainRec
+    width:  600
+    height: 400
+    z: 0
+
+    Image {
+        id: image2
+        source: "images/qt-logo.png"
+        width: 100; height: 100
+        x: (mainRec.width - 100)/2; y: (mainRec.height - 100)/2
+        z: 2
+    }
+
+    Image {
+        id: image1
+        source: "images/qt-logo.png"
+        x: 20; y: 20 ; z: 1
+        width: 100; height: 100
+
+        SequentialAnimation on x {
+            loops: Animation.Infinite
+            NumberAnimation {
+                from: 20; to: 450
+                easing.type: "InOutQuad"; duration: 2000
+            }
+            PauseAnimation { duration: 500 }
+        }
+
+        SequentialAnimation on y {
+            loops: Animation.Infinite
+            NumberAnimation {
+                from: 20; to: 250
+                easing.type: "InOutQuad"; duration: 2000
+            }
+            PauseAnimation { duration: 500 }
+        }
+
+        SequentialAnimation on scale {
+            loops: Animation.Infinite
+            NumberAnimation { from: 1; to: 0.5; duration: 1000 }
+            NumberAnimation { from: 0.5; to: 1; duration: 1000 }
+            PauseAnimation { duration: 500 }
+        }
+    }
+}
diff --git a/doc/src/snippets/declarative/qml-intro/states1.qml b/doc/src/snippets/declarative/qml-intro/states1.qml
new file mode 100644
index 0000000..fcd3f53
--- /dev/null
+++ b/doc/src/snippets/declarative/qml-intro/states1.qml
@@ -0,0 +1,52 @@
+import Qt 4.7
+
+Rectangle {
+    id: mainRectangle
+    width:  600
+    height: 400
+    color: "black"
+
+    Rectangle {
+        id: sky
+        width: 600
+        height: 200
+        y: 0
+        color: "lightblue"
+    }
+
+    Rectangle {
+        id: ground
+        width: 600; height: 200
+        y: 200
+        color: "green"
+    }
+
+    MouseArea {
+        id: mousearea
+        anchors.fill: mainRectangle
+    }
+
+    states: [ State {
+            name: "night"
+            when: mousearea.pressed == true
+            PropertyChanges { target: sky; color: "darkblue" }
+            PropertyChanges { target: ground; color: "black" }
+        },
+        State {
+            name: "daylight"
+            when: mousearea.pressed == false
+            PropertyChanges { target: sky; color: "lightblue" }
+            PropertyChanges { target: ground; color: "green" }
+        }
+    ]
+
+    transitions: [ Transition {
+            from: "daylight"; to: "night"
+            ColorAnimation { duration: 1000 }
+        },
+        Transition {
+            from: "night"; to: "daylight"
+            ColorAnimation { duration: 500 }
+        }
+    ]
+}
diff --git a/doc/src/snippets/declarative/qml-intro/transformations1.qml b/doc/src/snippets/declarative/qml-intro/transformations1.qml
new file mode 100644
index 0000000..1504729
--- /dev/null
+++ b/doc/src/snippets/declarative/qml-intro/transformations1.qml
@@ -0,0 +1,38 @@
+import Qt 4.7
+
+Rectangle {
+    id: myWin
+    width: 500
+    height: 400
+
+    Image {
+        id: image1
+        source: "images/qt-logo.png"
+        width: 150; height: 150
+        anchors.bottom: myWin.bottom
+        anchors.horizontalCenter: myWin.horizontalCenter
+        anchors.bottomMargin: 10
+
+        transform: Rotation {
+            origin.x: 75; origin.y: 75
+            axis{ x: 0; y: 0; z:1 }  angle: -90
+        }
+
+    }
+
+    Text {
+        text: "<h2>The Qt Logo -- taking it easy</h2>"
+        anchors.bottom: image1.top
+        anchors.horizontalCenter: myWin.horizontalCenter
+        anchors.bottomMargin: 15
+
+        transform: [
+            Scale { xScale: 1.5; yScale: 1.2 } ,
+
+            Rotation {
+                origin.x: 75; origin.y: 75
+                axis{ x: 0; y: 0; z:1 }  angle: -45
+            }
+        ]
+    }
+}
-- 
cgit v0.12


From 1b802532809a430cb994e1c05bd5f62fdd2ab2b0 Mon Sep 17 00:00:00 2001
From: David Boddie <dboddie@trolltech.com>
Date: Mon, 23 Aug 2010 13:43:06 +0200
Subject: Doc: Made more improvements to the QML documentation.

---
 doc/src/images/qml-borderimage-normal-image.png    | Bin 0 -> 5282 bytes
 doc/src/images/qml-borderimage-scaled.png          | Bin 0 -> 5580 bytes
 doc/src/images/qml-borderimage-tiled.png           | Bin 0 -> 5889 bytes
 doc/src/snippets/declarative/animatedimage.qml     |  61 +++++++++++++++
 doc/src/snippets/declarative/borderimage.qml       |  69 -----------------
 .../declarative/borderimage/borderimage-scaled.qml |  81 ++++++++++++++++++++
 .../declarative/borderimage/borderimage-tiled.qml  |  81 ++++++++++++++++++++
 .../declarative/borderimage/normal-image.qml       |  77 +++++++++++++++++++
 .../declarative/borderimage/pics/borderframe.png   | Bin 0 -> 3411 bytes
 .../declarative/borderimage/pics/borderframe.svg   |  82 +++++++++++++++++++++
 doc/src/snippets/declarative/image.qml             |  45 +++++++++++
 doc/src/snippets/declarative/pics/qtlogo.png       | Bin 0 -> 2991 bytes
 .../declarative/qml-documents/inline-component.qml |  57 ++++++++++++++
 .../qml-documents/inline-text-component.qml        |  55 ++++++++++++++
 .../declarative/qml-documents/non-trivial.qml      |  62 ++++++++++++++++
 .../declarative/qml-documents/qmldocuments.qml     |  66 +++++++++++++++++
 doc/src/snippets/declarative/qmldocuments.qml      |  66 -----------------
 17 files changed, 667 insertions(+), 135 deletions(-)
 create mode 100644 doc/src/images/qml-borderimage-normal-image.png
 create mode 100644 doc/src/images/qml-borderimage-scaled.png
 create mode 100644 doc/src/images/qml-borderimage-tiled.png
 create mode 100644 doc/src/snippets/declarative/animatedimage.qml
 delete mode 100644 doc/src/snippets/declarative/borderimage.qml
 create mode 100644 doc/src/snippets/declarative/borderimage/borderimage-scaled.qml
 create mode 100644 doc/src/snippets/declarative/borderimage/borderimage-tiled.qml
 create mode 100644 doc/src/snippets/declarative/borderimage/normal-image.qml
 create mode 100644 doc/src/snippets/declarative/borderimage/pics/borderframe.png
 create mode 100644 doc/src/snippets/declarative/borderimage/pics/borderframe.svg
 create mode 100644 doc/src/snippets/declarative/image.qml
 create mode 100644 doc/src/snippets/declarative/pics/qtlogo.png
 create mode 100644 doc/src/snippets/declarative/qml-documents/inline-component.qml
 create mode 100644 doc/src/snippets/declarative/qml-documents/inline-text-component.qml
 create mode 100644 doc/src/snippets/declarative/qml-documents/non-trivial.qml
 create mode 100644 doc/src/snippets/declarative/qml-documents/qmldocuments.qml
 delete mode 100644 doc/src/snippets/declarative/qmldocuments.qml

diff --git a/doc/src/images/qml-borderimage-normal-image.png b/doc/src/images/qml-borderimage-normal-image.png
new file mode 100644
index 0000000..ae7460a
Binary files /dev/null and b/doc/src/images/qml-borderimage-normal-image.png differ
diff --git a/doc/src/images/qml-borderimage-scaled.png b/doc/src/images/qml-borderimage-scaled.png
new file mode 100644
index 0000000..8035c79
Binary files /dev/null and b/doc/src/images/qml-borderimage-scaled.png differ
diff --git a/doc/src/images/qml-borderimage-tiled.png b/doc/src/images/qml-borderimage-tiled.png
new file mode 100644
index 0000000..14883d0
Binary files /dev/null and b/doc/src/images/qml-borderimage-tiled.png differ
diff --git a/doc/src/snippets/declarative/animatedimage.qml b/doc/src/snippets/declarative/animatedimage.qml
new file mode 100644
index 0000000..bf5d611
--- /dev/null
+++ b/doc/src/snippets/declarative/animatedimage.qml
@@ -0,0 +1,61 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+// This snippet should be turned into an example and put in
+// examples/declarative/imageelements/animatedimage
+
+//! [document]
+import Qt 4.7
+
+Rectangle {
+    width: animation.width; height: animation.height + 8
+
+    AnimatedImage { id: animation; source: "animation.gif" }
+
+    Rectangle { 
+        property int frames: animation.frameCount
+
+        width: 4; height: 8
+        x: (animation.width - width) * animation.currentFrame / frames
+        y: animation.height
+        color: "red"
+    }
+}
+//! [document]
diff --git a/doc/src/snippets/declarative/borderimage.qml b/doc/src/snippets/declarative/borderimage.qml
deleted file mode 100644
index 447ad92..0000000
--- a/doc/src/snippets/declarative/borderimage.qml
+++ /dev/null
@@ -1,69 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-**   * Redistributions of source code must retain the above copyright
-**     notice, this list of conditions and the following disclaimer.
-**   * Redistributions in binary form must reproduce the above copyright
-**     notice, this list of conditions and the following disclaimer in
-**     the documentation and/or other materials provided with the
-**     distribution.
-**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-**     the names of its contributors may be used to endorse or promote
-**     products derived from this software without specific prior written
-**     permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import Qt 4.7
-
-Rectangle {
-    id: page
-    color: "white"
-    width: 520; height: 280
-
-    Row {
-        anchors.centerIn: parent
-        spacing: 50
-//! [0]
-BorderImage {
-    width: 180; height: 180
-    border { left: 30; top: 30; right: 30; bottom: 30 }
-    horizontalTileMode: BorderImage.Stretch
-    verticalTileMode: BorderImage.Stretch
-    source: "content/colors.png"
-}
-
-BorderImage {
-    width: 180; height: 180
-    border { left: 30; top: 30; right: 30; bottom: 30 }
-    horizontalTileMode: BorderImage.Round
-    verticalTileMode: BorderImage.Round
-    source: "content/colors.png"
-}
-//! [0]
-    }
-}
diff --git a/doc/src/snippets/declarative/borderimage/borderimage-scaled.qml b/doc/src/snippets/declarative/borderimage/borderimage-scaled.qml
new file mode 100644
index 0000000..cc3ae2f
--- /dev/null
+++ b/doc/src/snippets/declarative/borderimage/borderimage-scaled.qml
@@ -0,0 +1,81 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Rectangle {
+    id: page
+    color: "white"
+    width: 180; height: 180
+
+//! [scaled border image]
+BorderImage {
+    width: 180; height: 180
+    border { left: 30; top: 30; right: 30; bottom: 30 }
+    horizontalTileMode: BorderImage.Stretch
+    verticalTileMode: BorderImage.Stretch
+    source: "pics/borderframe.png"
+}
+//! [scaled border image]
+
+    Rectangle {
+        x: 30; y: 0
+        width: 1; height: 180
+        color: "gray"
+    }
+
+    Rectangle {
+        x: 150; y: 0
+        width: 1; height: 180
+        color: "gray"
+    }
+
+    Rectangle {
+        x: 0; y: 30
+        width: 180; height: 1
+        color: "gray"
+    }
+
+    Rectangle {
+        x: 0; y: 150
+        width: 180; height: 1
+        color: "gray"
+    }
+}
diff --git a/doc/src/snippets/declarative/borderimage/borderimage-tiled.qml b/doc/src/snippets/declarative/borderimage/borderimage-tiled.qml
new file mode 100644
index 0000000..575e9fd
--- /dev/null
+++ b/doc/src/snippets/declarative/borderimage/borderimage-tiled.qml
@@ -0,0 +1,81 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Rectangle {
+    id: page
+    color: "white"
+    width: 180; height: 180
+
+//! [scaled border image]
+BorderImage {
+    width: 180; height: 180
+    border { left: 30; top: 30; right: 30; bottom: 30 }
+    horizontalTileMode: BorderImage.Round
+    verticalTileMode: BorderImage.Round
+    source: "pics/borderframe.png"
+}
+//! [scaled border image]
+
+    Rectangle {
+        x: 30; y: 0
+        width: 1; height: 180
+        color: "gray"
+    }
+
+    Rectangle {
+        x: 150; y: 0
+        width: 1; height: 180
+        color: "gray"
+    }
+
+    Rectangle {
+        x: 0; y: 30
+        width: 180; height: 1
+        color: "gray"
+    }
+
+    Rectangle {
+        x: 0; y: 150
+        width: 180; height: 1
+        color: "gray"
+    }
+}
diff --git a/doc/src/snippets/declarative/borderimage/normal-image.qml b/doc/src/snippets/declarative/borderimage/normal-image.qml
new file mode 100644
index 0000000..adac4f3
--- /dev/null
+++ b/doc/src/snippets/declarative/borderimage/normal-image.qml
@@ -0,0 +1,77 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Rectangle {
+    id: page
+    color: "white"
+    width: 120; height: 120
+
+//! [scaled border image]
+Image {
+    source: "pics/borderframe.png"
+}
+//! [scaled border image]
+
+    Rectangle {
+        x: 30; y: 0
+        width: 1; height: 120
+        color: "gray"
+    }
+
+    Rectangle {
+        x: 90; y: 0
+        width: 1; height: 120
+        color: "gray"
+    }
+
+    Rectangle {
+        x: 0; y: 30
+        width: 200; height: 1
+        color: "gray"
+    }
+
+    Rectangle {
+        x: 0; y: 90
+        width: 200; height: 1
+        color: "gray"
+    }
+}
diff --git a/doc/src/snippets/declarative/borderimage/pics/borderframe.png b/doc/src/snippets/declarative/borderimage/pics/borderframe.png
new file mode 100644
index 0000000..97a9452
Binary files /dev/null and b/doc/src/snippets/declarative/borderimage/pics/borderframe.png differ
diff --git a/doc/src/snippets/declarative/borderimage/pics/borderframe.svg b/doc/src/snippets/declarative/borderimage/pics/borderframe.svg
new file mode 100644
index 0000000..9286c82
--- /dev/null
+++ b/doc/src/snippets/declarative/borderimage/pics/borderframe.svg
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="744.09448819"
+   height="1052.3622047"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="borderframe.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs4">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective10" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     gridtolerance="10000"
+     guidetolerance="10"
+     objecttolerance="10"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="1.4"
+     inkscape:cx="219.40254"
+     inkscape:cy="802.84271"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:window-width="1226"
+     inkscape:window-height="668"
+     inkscape:window-x="220"
+     inkscape:window-y="284">
+    <inkscape:grid
+       type="xygrid"
+       id="grid2383"
+       visible="true"
+       enabled="true"
+       spacingx="1px"
+       spacingy="1px" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1">
+    <path
+       style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;stroke-dasharray:none"
+       d="M 120,102.36218 C 120,77.362186 145,77.362186 145,102.36218 L 195,102.36218 L 220,77.362186 L 245,102.36218 L 295,102.36218 C 295,77.362186 320,77.362186 320,102.36218 C 345,102.36218 345,127.36218 320,127.36218 L 320,177.36218 L 345,202.36218 L 320,227.36218 L 320,277.36218 C 345,277.36218 345,302.36218 320,302.36218 C 320,327.36218 295,327.36218 295,302.36218 L 245,302.36218 L 220,327.36218 L 195,302.36218 L 145,302.36218 C 145,327.36218 120,327.36218 120,302.36218 C 95,302.36218 95,277.36218 120,277.36218 L 120,227.36218 L 95,202.36218 L 120,177.36218 L 120,127.36218 C 95,127.36218 95,102.36218 120,102.36218 z"
+       id="rect2387"
+       sodipodi:nodetypes="ccccccccccccccccccccccccc" />
+    <path
+       sodipodi:nodetypes="ccccccccccccccccccccccccc"
+       id="path3160"
+       d="M 130,112.3622 C 130,89.862207 130,92.362183 140,112.36218 L 197.5,112.3622 L 220,89.862207 L 242.5,112.3622 L 300,112.36218 C 310,92.362183 310,89.862207 310,112.3622 C 332.5,112.3622 330,112.36218 310,122.36218 L 310,179.8622 L 332.5,202.3622 L 310,224.8622 L 310,282.36218 C 330,292.36218 332.5,292.3622 310,292.3622 C 310,314.8622 310,312.36218 300,292.36218 L 242.5,292.3622 L 220,314.8622 L 197.5,292.3622 L 140,292.36218 C 130,312.36218 130,314.8622 130,292.3622 C 107.5,292.3622 110,292.36218 130,282.36218 L 130,224.8622 L 107.5,202.3622 L 130,179.8622 L 130,122.36218 C 110,112.36218 107.5,112.3622 130,112.3622 z"
+       style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;stroke-dasharray:none" />
+  </g>
+</svg>
diff --git a/doc/src/snippets/declarative/image.qml b/doc/src/snippets/declarative/image.qml
new file mode 100644
index 0000000..b84cbcb
--- /dev/null
+++ b/doc/src/snippets/declarative/image.qml
@@ -0,0 +1,45 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Image {
+    source: "qtlogo.png"
+}
diff --git a/doc/src/snippets/declarative/pics/qtlogo.png b/doc/src/snippets/declarative/pics/qtlogo.png
new file mode 100644
index 0000000..4f68e16
Binary files /dev/null and b/doc/src/snippets/declarative/pics/qtlogo.png differ
diff --git a/doc/src/snippets/declarative/qml-documents/inline-component.qml b/doc/src/snippets/declarative/qml-documents/inline-component.qml
new file mode 100644
index 0000000..9233bbf
--- /dev/null
+++ b/doc/src/snippets/declarative/qml-documents/inline-component.qml
@@ -0,0 +1,57 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [document]
+import Qt 4.7
+
+Rectangle {
+    width: 240; height: 320; 
+
+    ListView {
+        anchors.fill: parent
+        model: contactModel
+        delegate: Component {
+            Text {
+                text: modelData.firstName + " " + modelData.lastName
+            }
+        }
+    } 
+}
+//! [document]
diff --git a/doc/src/snippets/declarative/qml-documents/inline-text-component.qml b/doc/src/snippets/declarative/qml-documents/inline-text-component.qml
new file mode 100644
index 0000000..83ba213
--- /dev/null
+++ b/doc/src/snippets/declarative/qml-documents/inline-text-component.qml
@@ -0,0 +1,55 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [document]
+import Qt 4.7
+
+Rectangle {
+    width: 240; height: 320; 
+
+    ListView {
+        anchors.fill: parent
+        model: contactModel
+        delegate: Text {
+            text: modelData.firstName + " " + modelData.lastName
+        }
+    } 
+}
+//! [document]
diff --git a/doc/src/snippets/declarative/qml-documents/non-trivial.qml b/doc/src/snippets/declarative/qml-documents/non-trivial.qml
new file mode 100644
index 0000000..eb2364b
--- /dev/null
+++ b/doc/src/snippets/declarative/qml-documents/non-trivial.qml
@@ -0,0 +1,62 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [document]
+import Qt 4.7
+
+Rectangle {
+    width: 240; height: 320; 
+
+    resources: [
+        Component {
+            id: contactDelegate
+            Text {
+                text: modelData.firstName + " " + modelData.lastName
+            }
+        }
+    ]
+
+    ListView {
+        anchors.fill: parent
+        model: contactModel
+        delegate: contactDelegate
+    } 
+}
+//! [document]
diff --git a/doc/src/snippets/declarative/qml-documents/qmldocuments.qml b/doc/src/snippets/declarative/qml-documents/qmldocuments.qml
new file mode 100644
index 0000000..cd0a1f7
--- /dev/null
+++ b/doc/src/snippets/declarative/qml-documents/qmldocuments.qml
@@ -0,0 +1,66 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [document]
+import Qt 4.7
+
+Rectangle {
+    property alias text: textItem.text
+
+    width: 100; height: 30
+    border.width: 1 
+    radius: 5
+    smooth: true
+
+    gradient: Gradient {
+        GradientStop { position: 0.0; color: "darkGray" }
+        GradientStop { position: 0.5; color: "black" }
+        GradientStop { position: 1.0; color: "darkGray" }
+    }
+
+    Text {
+        id: textItem
+        anchors.centerIn: parent
+        font.pointSize: 20
+        color: "white"
+    }
+
+}
+//! [document]
diff --git a/doc/src/snippets/declarative/qmldocuments.qml b/doc/src/snippets/declarative/qmldocuments.qml
deleted file mode 100644
index c19a658..0000000
--- a/doc/src/snippets/declarative/qmldocuments.qml
+++ /dev/null
@@ -1,66 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights.  These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-//![0]
-import Qt 4.7
-
-Rectangle {
-    property alias text: textItem.text
-
-    width: 100; height: 30
-    border.width: 1 
-    radius: 5
-    smooth: true
-
-    gradient: Gradient {
-        GradientStop { position: 0.0; color: "darkGray" }
-        GradientStop { position: 0.5; color: "black" }
-        GradientStop { position: 1.0; color: "darkGray" }
-    }
-
-    Text {
-        id: textItem
-        anchors.centerIn: parent
-        font.pointSize: 20
-        color: "white"
-    }
-
-}
-//![0]
-- 
cgit v0.12


From bdabeaf6e35d6b7602e944ee78e59c57313b80cd Mon Sep 17 00:00:00 2001
From: David Boddie <dboddie@trolltech.com>
Date: Mon, 23 Aug 2010 13:45:43 +0200
Subject: Doc: Updated licenses to the three clause BSD license.

---
 doc/src/snippets/declarative/anchorchanges.qml     | 53 ++++++++++----------
 doc/src/snippets/declarative/behavior.qml          | 57 +++++++++++-----------
 doc/src/snippets/declarative/coloranimation.qml    | 57 +++++++++++-----------
 doc/src/snippets/declarative/component.qml         | 57 +++++++++++-----------
 doc/src/snippets/declarative/listmodel-modify.qml  | 53 ++++++++++----------
 doc/src/snippets/declarative/listmodel-nested.qml  | 53 ++++++++++----------
 doc/src/snippets/declarative/listmodel-simple.qml  | 53 ++++++++++----------
 doc/src/snippets/declarative/numberanimation.qml   | 57 +++++++++++-----------
 doc/src/snippets/declarative/parallelanimation.qml | 57 +++++++++++-----------
 doc/src/snippets/declarative/parentanimation.qml   | 53 ++++++++++----------
 doc/src/snippets/declarative/parentchange.qml      | 53 ++++++++++----------
 doc/src/snippets/declarative/propertyaction.qml    | 53 ++++++++++----------
 doc/src/snippets/declarative/propertyanimation.qml | 53 ++++++++++----------
 doc/src/snippets/declarative/propertychanges.qml   | 53 ++++++++++----------
 doc/src/snippets/declarative/qtobject.qml          | 57 +++++++++++-----------
 doc/src/snippets/declarative/rotationanimation.qml | 53 ++++++++++----------
 .../snippets/declarative/sequentialanimation.qml   | 57 +++++++++++-----------
 doc/src/snippets/declarative/state-when.qml        | 57 +++++++++++-----------
 doc/src/snippets/declarative/state.qml             | 57 +++++++++++-----------
 doc/src/snippets/declarative/states.qml            | 57 +++++++++++-----------
 doc/src/snippets/declarative/systempalette.qml     | 57 +++++++++++-----------
 .../snippets/declarative/transition-from-to.qml    | 57 +++++++++++-----------
 .../snippets/declarative/transition-reversible.qml | 53 ++++++++++----------
 doc/src/snippets/declarative/transition.qml        | 57 +++++++++++-----------
 doc/src/snippets/declarative/visualdatamodel.qml   | 53 ++++++++++----------
 .../declarative/visualdatamodel_rootindex/main.cpp | 57 +++++++++++-----------
 26 files changed, 704 insertions(+), 730 deletions(-)

diff --git a/doc/src/snippets/declarative/anchorchanges.qml b/doc/src/snippets/declarative/anchorchanges.qml
index 993618b..3f11421 100644
--- a/doc/src/snippets/declarative/anchorchanges.qml
+++ b/doc/src/snippets/declarative/anchorchanges.qml
@@ -6,35 +6,34 @@
 **
 ** This file is part of the QtDeclarative module of the Qt Toolkit.
 **
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights.  These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
 **
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
 **
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
 ** $QT_END_LICENSE$
 **
 ****************************************************************************/
diff --git a/doc/src/snippets/declarative/behavior.qml b/doc/src/snippets/declarative/behavior.qml
index 420dfc4..4260e38 100644
--- a/doc/src/snippets/declarative/behavior.qml
+++ b/doc/src/snippets/declarative/behavior.qml
@@ -6,35 +6,34 @@
 **
 ** This file is part of the QtDeclarative module of the Qt Toolkit.
 **
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights.  These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
 ** $QT_END_LICENSE$
 **
 ****************************************************************************/
diff --git a/doc/src/snippets/declarative/coloranimation.qml b/doc/src/snippets/declarative/coloranimation.qml
index 4e35f22..7e8e9fe 100644
--- a/doc/src/snippets/declarative/coloranimation.qml
+++ b/doc/src/snippets/declarative/coloranimation.qml
@@ -6,35 +6,34 @@
 **
 ** This file is part of the QtDeclarative module of the Qt Toolkit.
 **
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights.  These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
 ** $QT_END_LICENSE$
 **
 ****************************************************************************/
diff --git a/doc/src/snippets/declarative/component.qml b/doc/src/snippets/declarative/component.qml
index 09c4aa2..a0ab28c 100644
--- a/doc/src/snippets/declarative/component.qml
+++ b/doc/src/snippets/declarative/component.qml
@@ -6,35 +6,34 @@
 **
 ** This file is part of the QtDeclarative module of the Qt Toolkit.
 **
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights.  These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
 ** $QT_END_LICENSE$
 **
 ****************************************************************************/
diff --git a/doc/src/snippets/declarative/listmodel-modify.qml b/doc/src/snippets/declarative/listmodel-modify.qml
index 03fb314..8f381f7 100644
--- a/doc/src/snippets/declarative/listmodel-modify.qml
+++ b/doc/src/snippets/declarative/listmodel-modify.qml
@@ -6,35 +6,34 @@
 **
 ** This file is part of the QtDeclarative module of the Qt Toolkit.
 **
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights.  These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
 **
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
 **
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
 ** $QT_END_LICENSE$
 **
 ****************************************************************************/
diff --git a/doc/src/snippets/declarative/listmodel-nested.qml b/doc/src/snippets/declarative/listmodel-nested.qml
index 4ae43ff..3d876a3 100644
--- a/doc/src/snippets/declarative/listmodel-nested.qml
+++ b/doc/src/snippets/declarative/listmodel-nested.qml
@@ -6,35 +6,34 @@
 **
 ** This file is part of the QtDeclarative module of the Qt Toolkit.
 **
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights.  These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
 **
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
 **
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
 ** $QT_END_LICENSE$
 **
 ****************************************************************************/
diff --git a/doc/src/snippets/declarative/listmodel-simple.qml b/doc/src/snippets/declarative/listmodel-simple.qml
index 00b8cb0..382fd13 100644
--- a/doc/src/snippets/declarative/listmodel-simple.qml
+++ b/doc/src/snippets/declarative/listmodel-simple.qml
@@ -6,35 +6,34 @@
 **
 ** This file is part of the QtDeclarative module of the Qt Toolkit.
 **
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights.  These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
 **
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
 **
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
 ** $QT_END_LICENSE$
 **
 ****************************************************************************/
diff --git a/doc/src/snippets/declarative/numberanimation.qml b/doc/src/snippets/declarative/numberanimation.qml
index 57d23b1..0a1d5a4 100644
--- a/doc/src/snippets/declarative/numberanimation.qml
+++ b/doc/src/snippets/declarative/numberanimation.qml
@@ -6,35 +6,34 @@
 **
 ** This file is part of the QtDeclarative module of the Qt Toolkit.
 **
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights.  These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
 ** $QT_END_LICENSE$
 **
 ****************************************************************************/
diff --git a/doc/src/snippets/declarative/parallelanimation.qml b/doc/src/snippets/declarative/parallelanimation.qml
index d823b4f..a8e80cd 100644
--- a/doc/src/snippets/declarative/parallelanimation.qml
+++ b/doc/src/snippets/declarative/parallelanimation.qml
@@ -6,35 +6,34 @@
 **
 ** This file is part of the QtDeclarative module of the Qt Toolkit.
 **
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights.  These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
 ** $QT_END_LICENSE$
 **
 ****************************************************************************/
diff --git a/doc/src/snippets/declarative/parentanimation.qml b/doc/src/snippets/declarative/parentanimation.qml
index 7f11a43..506eff4 100644
--- a/doc/src/snippets/declarative/parentanimation.qml
+++ b/doc/src/snippets/declarative/parentanimation.qml
@@ -6,35 +6,34 @@
 **
 ** This file is part of the QtDeclarative module of the Qt Toolkit.
 **
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights.  These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
 **
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
 **
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
 ** $QT_END_LICENSE$
 **
 ****************************************************************************/
diff --git a/doc/src/snippets/declarative/parentchange.qml b/doc/src/snippets/declarative/parentchange.qml
index ea50832..c704f12 100644
--- a/doc/src/snippets/declarative/parentchange.qml
+++ b/doc/src/snippets/declarative/parentchange.qml
@@ -6,35 +6,34 @@
 **
 ** This file is part of the QtDeclarative module of the Qt Toolkit.
 **
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights.  These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
 **
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
 **
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
 ** $QT_END_LICENSE$
 **
 ****************************************************************************/
diff --git a/doc/src/snippets/declarative/propertyaction.qml b/doc/src/snippets/declarative/propertyaction.qml
index 1a15469..ff299f1 100644
--- a/doc/src/snippets/declarative/propertyaction.qml
+++ b/doc/src/snippets/declarative/propertyaction.qml
@@ -6,35 +6,34 @@
 **
 ** This file is part of the QtDeclarative module of the Qt Toolkit.
 **
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights.  These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
 **
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
 **
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
 ** $QT_END_LICENSE$
 **
 ****************************************************************************/
diff --git a/doc/src/snippets/declarative/propertyanimation.qml b/doc/src/snippets/declarative/propertyanimation.qml
index 059cde5..55ea9f6 100644
--- a/doc/src/snippets/declarative/propertyanimation.qml
+++ b/doc/src/snippets/declarative/propertyanimation.qml
@@ -6,35 +6,34 @@
 **
 ** This file is part of the QtDeclarative module of the Qt Toolkit.
 **
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights.  These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
 **
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
 **
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
 ** $QT_END_LICENSE$
 **
 ****************************************************************************/
diff --git a/doc/src/snippets/declarative/propertychanges.qml b/doc/src/snippets/declarative/propertychanges.qml
index 9f119bf..5959e54 100644
--- a/doc/src/snippets/declarative/propertychanges.qml
+++ b/doc/src/snippets/declarative/propertychanges.qml
@@ -6,35 +6,34 @@
 **
 ** This file is part of the QtDeclarative module of the Qt Toolkit.
 **
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights.  These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
 **
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
 **
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
 ** $QT_END_LICENSE$
 **
 ****************************************************************************/
diff --git a/doc/src/snippets/declarative/qtobject.qml b/doc/src/snippets/declarative/qtobject.qml
index 970fa16..bd48390 100644
--- a/doc/src/snippets/declarative/qtobject.qml
+++ b/doc/src/snippets/declarative/qtobject.qml
@@ -6,35 +6,34 @@
 **
 ** This file is part of the QtDeclarative module of the Qt Toolkit.
 **
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights.  These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
 ** $QT_END_LICENSE$
 **
 ****************************************************************************/
diff --git a/doc/src/snippets/declarative/rotationanimation.qml b/doc/src/snippets/declarative/rotationanimation.qml
index b56cb3f..a0f6354 100644
--- a/doc/src/snippets/declarative/rotationanimation.qml
+++ b/doc/src/snippets/declarative/rotationanimation.qml
@@ -6,35 +6,34 @@
 **
 ** This file is part of the QtDeclarative module of the Qt Toolkit.
 **
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights.  These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
 **
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
 **
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
 ** $QT_END_LICENSE$
 **
 ****************************************************************************/
diff --git a/doc/src/snippets/declarative/sequentialanimation.qml b/doc/src/snippets/declarative/sequentialanimation.qml
index a15f7f3..bf73be5 100644
--- a/doc/src/snippets/declarative/sequentialanimation.qml
+++ b/doc/src/snippets/declarative/sequentialanimation.qml
@@ -6,35 +6,34 @@
 **
 ** This file is part of the QtDeclarative module of the Qt Toolkit.
 **
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights.  These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
 ** $QT_END_LICENSE$
 **
 ****************************************************************************/
diff --git a/doc/src/snippets/declarative/state-when.qml b/doc/src/snippets/declarative/state-when.qml
index 6d3bb75..8e38f82 100644
--- a/doc/src/snippets/declarative/state-when.qml
+++ b/doc/src/snippets/declarative/state-when.qml
@@ -6,35 +6,34 @@
 **
 ** This file is part of the QtDeclarative module of the Qt Toolkit.
 **
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights.  These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
 ** $QT_END_LICENSE$
 **
 ****************************************************************************/
diff --git a/doc/src/snippets/declarative/state.qml b/doc/src/snippets/declarative/state.qml
index ce2653b..5f43947 100644
--- a/doc/src/snippets/declarative/state.qml
+++ b/doc/src/snippets/declarative/state.qml
@@ -6,35 +6,34 @@
 **
 ** This file is part of the QtDeclarative module of the Qt Toolkit.
 **
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights.  These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
 ** $QT_END_LICENSE$
 **
 ****************************************************************************/
diff --git a/doc/src/snippets/declarative/states.qml b/doc/src/snippets/declarative/states.qml
index 127e3a7..1f9dc2c 100644
--- a/doc/src/snippets/declarative/states.qml
+++ b/doc/src/snippets/declarative/states.qml
@@ -6,35 +6,34 @@
 **
 ** This file is part of the QtDeclarative module of the Qt Toolkit.
 **
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights.  These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
 ** $QT_END_LICENSE$
 **
 ****************************************************************************/
diff --git a/doc/src/snippets/declarative/systempalette.qml b/doc/src/snippets/declarative/systempalette.qml
index 98b333e..cf5c902 100644
--- a/doc/src/snippets/declarative/systempalette.qml
+++ b/doc/src/snippets/declarative/systempalette.qml
@@ -6,35 +6,34 @@
 **
 ** This file is part of the QtDeclarative module of the Qt Toolkit.
 **
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights.  These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
 ** $QT_END_LICENSE$
 **
 ****************************************************************************/
diff --git a/doc/src/snippets/declarative/transition-from-to.qml b/doc/src/snippets/declarative/transition-from-to.qml
index 615de17..09949fc 100644
--- a/doc/src/snippets/declarative/transition-from-to.qml
+++ b/doc/src/snippets/declarative/transition-from-to.qml
@@ -6,35 +6,34 @@
 **
 ** This file is part of the QtDeclarative module of the Qt Toolkit.
 **
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights.  These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
 ** $QT_END_LICENSE$
 **
 ****************************************************************************/
diff --git a/doc/src/snippets/declarative/transition-reversible.qml b/doc/src/snippets/declarative/transition-reversible.qml
index 8a7b69a..367ad49 100644
--- a/doc/src/snippets/declarative/transition-reversible.qml
+++ b/doc/src/snippets/declarative/transition-reversible.qml
@@ -6,35 +6,34 @@
 **
 ** This file is part of the QtDeclarative module of the Qt Toolkit.
 **
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights.  These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
 **
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
 **
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
 ** $QT_END_LICENSE$
 **
 ****************************************************************************/
diff --git a/doc/src/snippets/declarative/transition.qml b/doc/src/snippets/declarative/transition.qml
index 098d509..a79e483 100644
--- a/doc/src/snippets/declarative/transition.qml
+++ b/doc/src/snippets/declarative/transition.qml
@@ -6,35 +6,34 @@
 **
 ** This file is part of the QtDeclarative module of the Qt Toolkit.
 **
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights.  These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
 ** $QT_END_LICENSE$
 **
 ****************************************************************************/
diff --git a/doc/src/snippets/declarative/visualdatamodel.qml b/doc/src/snippets/declarative/visualdatamodel.qml
index cdde513..231e4dd 100644
--- a/doc/src/snippets/declarative/visualdatamodel.qml
+++ b/doc/src/snippets/declarative/visualdatamodel.qml
@@ -6,35 +6,34 @@
 **
 ** This file is part of the QtDeclarative module of the Qt Toolkit.
 **
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights.  These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
 **
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
 **
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
 ** $QT_END_LICENSE$
 **
 ****************************************************************************/
diff --git a/doc/src/snippets/declarative/visualdatamodel_rootindex/main.cpp b/doc/src/snippets/declarative/visualdatamodel_rootindex/main.cpp
index 174adee..8d8004d 100644
--- a/doc/src/snippets/declarative/visualdatamodel_rootindex/main.cpp
+++ b/doc/src/snippets/declarative/visualdatamodel_rootindex/main.cpp
@@ -6,35 +6,34 @@
 **
 ** This file is part of the QtDeclarative module of the Qt Toolkit.
 **
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights.  These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
 ** $QT_END_LICENSE$
 **
 ****************************************************************************/
-- 
cgit v0.12


From 6c9e0053d86311741d3e737882cdb6ff882d89ef Mon Sep 17 00:00:00 2001
From: David Boddie <dboddie@trolltech.com>
Date: Mon, 23 Aug 2010 14:59:25 +0200
Subject: Doc: Updated QML snippets.

---
 doc/src/snippets/declarative/borderimage/borderimage-tiled.qml | 8 ++++----
 doc/src/snippets/declarative/image.qml                         | 2 +-
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/doc/src/snippets/declarative/borderimage/borderimage-tiled.qml b/doc/src/snippets/declarative/borderimage/borderimage-tiled.qml
index 575e9fd..e792814 100644
--- a/doc/src/snippets/declarative/borderimage/borderimage-tiled.qml
+++ b/doc/src/snippets/declarative/borderimage/borderimage-tiled.qml
@@ -45,15 +45,15 @@ Rectangle {
     color: "white"
     width: 180; height: 180
 
-//! [scaled border image]
+//! [tiled border image]
 BorderImage {
     width: 180; height: 180
     border { left: 30; top: 30; right: 30; bottom: 30 }
-    horizontalTileMode: BorderImage.Round
-    verticalTileMode: BorderImage.Round
+    horizontalTileMode: BorderImage.Repeat
+    verticalTileMode: BorderImage.Repeat
     source: "pics/borderframe.png"
 }
-//! [scaled border image]
+//! [tiled border image]
 
     Rectangle {
         x: 30; y: 0
diff --git a/doc/src/snippets/declarative/image.qml b/doc/src/snippets/declarative/image.qml
index b84cbcb..b0ae032 100644
--- a/doc/src/snippets/declarative/image.qml
+++ b/doc/src/snippets/declarative/image.qml
@@ -41,5 +41,5 @@
 import Qt 4.7
 
 Image {
-    source: "qtlogo.png"
+    source: "pics/qtlogo.png"
 }
-- 
cgit v0.12


From 338c408970212211228882e0adc305add694a2d6 Mon Sep 17 00:00:00 2001
From: David Boddie <dboddie@trolltech.com>
Date: Mon, 23 Aug 2010 15:00:09 +0200
Subject: Doc: Used snippets for the Beginning QML document. License update.

---
 doc/src/declarative/qml-intro.qdoc                 | 26 +++++++-------
 .../snippets/declarative/qml-intro/anchors1.qml    | 42 ++++++++++++++++++++++
 .../snippets/declarative/qml-intro/anchors2.qml    | 42 ++++++++++++++++++++++
 .../snippets/declarative/qml-intro/anchors3.qml    | 40 +++++++++++++++++++++
 .../declarative/qml-intro/basic-syntax.qml         | 40 +++++++++++++++++++++
 .../declarative/qml-intro/hello-world1.qml         | 42 ++++++++++++++++++++++
 .../declarative/qml-intro/hello-world2.qml         | 40 +++++++++++++++++++++
 .../declarative/qml-intro/hello-world3.qml         | 40 +++++++++++++++++++++
 .../declarative/qml-intro/hello-world4.qml         | 40 +++++++++++++++++++++
 .../declarative/qml-intro/hello-world5.qml         | 42 ++++++++++++++++++++++
 .../declarative/qml-intro/number-animation1.qml    | 42 ++++++++++++++++++++++
 .../declarative/qml-intro/number-animation2.qml    | 42 ++++++++++++++++++++++
 .../snippets/declarative/qml-intro/rectangle.qml   | 42 ++++++++++++++++++++++
 .../qml-intro/sequential-animation1.qml            | 42 ++++++++++++++++++++++
 .../qml-intro/sequential-animation2.qml            | 40 +++++++++++++++++++++
 .../qml-intro/sequential-animation3.qml            | 42 ++++++++++++++++++++++
 doc/src/snippets/declarative/qml-intro/states1.qml | 42 ++++++++++++++++++++++
 .../declarative/qml-intro/transformations1.qml     | 42 ++++++++++++++++++++++
 18 files changed, 715 insertions(+), 13 deletions(-)

diff --git a/doc/src/declarative/qml-intro.qdoc b/doc/src/declarative/qml-intro.qdoc
index 13c8e4f..63d6825 100644
--- a/doc/src/declarative/qml-intro.qdoc
+++ b/doc/src/declarative/qml-intro.qdoc
@@ -47,7 +47,7 @@ Javascript is easier to learn than C++ and can be embedded into the QML
 files or imported from a separate file.
 
 \bold{In QML the types of various 'objects' are referred to as \l {QML
-Elements}{ elements}}.
+Elements}{elements}}.
 
 An element usually has various \e properties that help define the element. For
 example, if we created an element called Circle then the radius of the circle
@@ -56,7 +56,7 @@ would be a property.
 
 \section1 A First Look
 
-The basic syntax of an \l {QML Elements}{element} is
+The basic syntax of an \l{QML Elements}{element} is
 
 \snippet doc/src/snippets/declarative/qml-intro/basic-syntax.qml basic syntax
 
@@ -82,7 +82,7 @@ want a rectangle that is 500 pixels by 400 pixels in the x and y directions
 
 We can implement this \l Rectangle with these properties this way
 
-\quotefile doc/src/snippets/declarative/qml-intro/rectangle.qml
+\snippet doc/src/snippets/declarative/qml-intro/rectangle.qml document
 
 This is a valid QML script. To run it, copy it and save it to a file, say
 myexample.qml, and on the command line run the following command:
@@ -113,7 +113,7 @@ Text is handled by a different element called \l Text. We need to create a
 property to "Hello World!". So to set the text to "Hello world" and the
 background colour to light gray,
 
-\quotefile doc/src/snippets/declarative/qml-intro/hello-world1.qml
+\snippet doc/src/snippets/declarative/qml-intro/hello-world1.qml document
 
 
 \section1 Hello World Again
@@ -172,7 +172,7 @@ text, also make it 150 by 150 pixels in size,
 Adding the Hello World example, with the text and the image example we can
 write a simple piece of QML that starts to look a bit better.
 
-\quotefile doc/src/snippets/declarative/qml-intro/hello-world5.qml
+\snippet doc/src/snippets/declarative/qml-intro/hello-world5.qml document
 
 The result is still quite simple
 
@@ -203,7 +203,7 @@ If we want to position an image at the bottom of the rectangle it is
 inside. I have to specify that the bottom of the image is also at the
 bottom of the rectangle
 
-\quotefile doc/src/snippets/declarative/qml-intro/anchors1.qml
+\snippet doc/src/snippets/declarative/qml-intro/anchors1.qml document
 
 This places the logo at the bottom left of the window.
 
@@ -222,7 +222,7 @@ the bottomMargin property is used. So the new actions for the script are
 
 Encoded into QML the script becomes
 
-\quotefile doc/src/snippets/declarative/qml-intro/anchors2.qml
+\snippet doc/src/snippets/declarative/qml-intro/anchors2.qml document
 
 Run this and resize the window. You will see that now the position of the
 image adjusts during the resize.
@@ -282,7 +282,7 @@ vertically by a factor of 1.5 and by 1.2 horizontally.
 
 Using the example above as the basis for this we have,
 
-\quotefile doc/src/snippets/declarative/qml-intro/transformations1.qml
+\snippet doc/src/snippets/declarative/qml-intro/transformations1.qml document
 
 The code block in \c image1 starting with \c transform specifies that the
 \l {Item::transform}{transform} property will be a Rotation through -90
@@ -320,7 +320,7 @@ from \l Item. The rotation property is a real number that specifies the
 angle in a clockwise direction for the rotation of the object. Here is the
 code for our animated rotating image.
 
-\quotefile doc/src/snippets/declarative/qml-intro/number-animation1.qml
+\snippet doc/src/snippets/declarative/qml-intro/number-animation1.qml document
 
 The \c {transformOrigin: Item.Center} is redundant since this is the default
 axis of rotation anyway. But if you change \c Center to \c BottomRight you
@@ -333,7 +333,7 @@ combination. For example, if the task had been to animate the rotation
 about the y-axis passing through the center of the image then the following
 code would do it.
 
-\quotefile doc/src/snippets/declarative/qml-intro/number-animation2.qml
+\snippet doc/src/snippets/declarative/qml-intro/number-animation2.qml document
 
 Here there is a rectangle 600 by 400 pixels. Placed within that rectangle
 is an image 100 by 100 pixels. It is rotated about the center of the image
@@ -362,7 +362,7 @@ will be animating the position and the size of the image.
 
 First create two images
 
-\quotefile doc/src/snippets/declarative/qml-intro/sequential-animation1.qml
+\snippet doc/src/snippets/declarative/qml-intro/sequential-animation1.qml document
 
 We will add to 'image1' a SequentialAnimation from x = 20 to the target of
 x = 450. The 'from' values will be used because we will be repeating the
@@ -390,7 +390,7 @@ and image1 to 1 and image2 to 2 then image2 will be in the foreground and
 image1 in the background. When image1 passes image2 it will pass behind it.
 The completed code looks like
 
-\quotefile doc/src/snippets/declarative/qml-intro/sequential-animation3.qml
+\snippet doc/src/snippets/declarative/qml-intro/sequential-animation3.qml document
 
 The \c {easing.type} has many options, expressed as a string. It specifies the
 kind of equation that describes the acceleration of the property value, not
@@ -468,7 +468,7 @@ will be the default state. We will just go to 'night' by clicking and
 holding the left mouse button down, releasing the mouse button will reverse
 the process
 
-\quotefile doc/src/snippets/declarative/qml-intro/states1.qml
+\snippet doc/src/snippets/declarative/qml-intro/states1.qml document
 
 Several new things appear in this sample. Firstly, we use a \l MouseArea
 element to detect mouse clicks in the \e mainRectangle. Secondly, we use
diff --git a/doc/src/snippets/declarative/qml-intro/anchors1.qml b/doc/src/snippets/declarative/qml-intro/anchors1.qml
index 320d0e7..09ef3b2 100644
--- a/doc/src/snippets/declarative/qml-intro/anchors1.qml
+++ b/doc/src/snippets/declarative/qml-intro/anchors1.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [document]
 import Qt 4.7
 
 Rectangle {
@@ -12,3 +53,4 @@ Rectangle {
         anchors.bottom: myWin.bottom
     }
 }
+//! [document]
diff --git a/doc/src/snippets/declarative/qml-intro/anchors2.qml b/doc/src/snippets/declarative/qml-intro/anchors2.qml
index bb9ed75..ef0ec1f 100644
--- a/doc/src/snippets/declarative/qml-intro/anchors2.qml
+++ b/doc/src/snippets/declarative/qml-intro/anchors2.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [document]
 import Qt 4.7
 
 Rectangle {
@@ -14,3 +55,4 @@ Rectangle {
         anchors.bottomMargin: 10
     }
 }
+//! [document]
diff --git a/doc/src/snippets/declarative/qml-intro/anchors3.qml b/doc/src/snippets/declarative/qml-intro/anchors3.qml
index 99d2ceb..008ad1a 100644
--- a/doc/src/snippets/declarative/qml-intro/anchors3.qml
+++ b/doc/src/snippets/declarative/qml-intro/anchors3.qml
@@ -1,3 +1,43 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
 import Qt 4.7
 
 Rectangle {
diff --git a/doc/src/snippets/declarative/qml-intro/basic-syntax.qml b/doc/src/snippets/declarative/qml-intro/basic-syntax.qml
index b241500..686a927 100644
--- a/doc/src/snippets/declarative/qml-intro/basic-syntax.qml
+++ b/doc/src/snippets/declarative/qml-intro/basic-syntax.qml
@@ -1,3 +1,43 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
 // Note: this file is not intended to be run.
 
 //! [basic syntax]
diff --git a/doc/src/snippets/declarative/qml-intro/hello-world1.qml b/doc/src/snippets/declarative/qml-intro/hello-world1.qml
index 244175c..9b91049 100644
--- a/doc/src/snippets/declarative/qml-intro/hello-world1.qml
+++ b/doc/src/snippets/declarative/qml-intro/hello-world1.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [document]
 import Qt 4.7
 
 Rectangle {
@@ -9,3 +50,4 @@ Rectangle {
 
     color: "lightgray"
 }
+//! [document]
diff --git a/doc/src/snippets/declarative/qml-intro/hello-world2.qml b/doc/src/snippets/declarative/qml-intro/hello-world2.qml
index 73b2f8c..ddc1017 100644
--- a/doc/src/snippets/declarative/qml-intro/hello-world2.qml
+++ b/doc/src/snippets/declarative/qml-intro/hello-world2.qml
@@ -1,3 +1,43 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
 import Qt 4.7
 
 Rectangle {
diff --git a/doc/src/snippets/declarative/qml-intro/hello-world3.qml b/doc/src/snippets/declarative/qml-intro/hello-world3.qml
index 112f775..f1102c2 100644
--- a/doc/src/snippets/declarative/qml-intro/hello-world3.qml
+++ b/doc/src/snippets/declarative/qml-intro/hello-world3.qml
@@ -1,3 +1,43 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
 import Qt 4.7
 
 Rectangle {
diff --git a/doc/src/snippets/declarative/qml-intro/hello-world4.qml b/doc/src/snippets/declarative/qml-intro/hello-world4.qml
index c97334e..c18fe15 100644
--- a/doc/src/snippets/declarative/qml-intro/hello-world4.qml
+++ b/doc/src/snippets/declarative/qml-intro/hello-world4.qml
@@ -1,3 +1,43 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
 import Qt 4.7
 
 Rectangle {
diff --git a/doc/src/snippets/declarative/qml-intro/hello-world5.qml b/doc/src/snippets/declarative/qml-intro/hello-world5.qml
index 74a612a..bde8dc3 100644
--- a/doc/src/snippets/declarative/qml-intro/hello-world5.qml
+++ b/doc/src/snippets/declarative/qml-intro/hello-world5.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [document]
 import Qt 4.7
 
 Rectangle {
@@ -21,3 +62,4 @@ Rectangle {
 
     color: "lightgray"
 }
+//! [document]
diff --git a/doc/src/snippets/declarative/qml-intro/number-animation1.qml b/doc/src/snippets/declarative/qml-intro/number-animation1.qml
index d80a8dc..8d8d747 100644
--- a/doc/src/snippets/declarative/qml-intro/number-animation1.qml
+++ b/doc/src/snippets/declarative/qml-intro/number-animation1.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [document]
 import Qt 4.7
 
 Rectangle {
@@ -20,3 +61,4 @@ Rectangle {
         }
     }
 }
+//! [document]
diff --git a/doc/src/snippets/declarative/qml-intro/number-animation2.qml b/doc/src/snippets/declarative/qml-intro/number-animation2.qml
index beb3114..d556c21 100644
--- a/doc/src/snippets/declarative/qml-intro/number-animation2.qml
+++ b/doc/src/snippets/declarative/qml-intro/number-animation2.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [document]
 import Qt 4.7
 
 Rectangle {
@@ -22,3 +63,4 @@ Rectangle {
         }
     }
 }
+//! [document]
diff --git a/doc/src/snippets/declarative/qml-intro/rectangle.qml b/doc/src/snippets/declarative/qml-intro/rectangle.qml
index 7235e9b..0078813 100644
--- a/doc/src/snippets/declarative/qml-intro/rectangle.qml
+++ b/doc/src/snippets/declarative/qml-intro/rectangle.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [document]
 import Qt 4.7
 
 // This is a comment. And below myRectangle is defined.
@@ -6,3 +47,4 @@ Rectangle {
     width: 500
     height: 400
 }
+//! [document]
diff --git a/doc/src/snippets/declarative/qml-intro/sequential-animation1.qml b/doc/src/snippets/declarative/qml-intro/sequential-animation1.qml
index 125f99f..e68de20 100644
--- a/doc/src/snippets/declarative/qml-intro/sequential-animation1.qml
+++ b/doc/src/snippets/declarative/qml-intro/sequential-animation1.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [document]
 import Qt 4.7
 
 Rectangle {
@@ -21,3 +62,4 @@ Rectangle {
         z: 2
     }
 }
+//! [document]
diff --git a/doc/src/snippets/declarative/qml-intro/sequential-animation2.qml b/doc/src/snippets/declarative/qml-intro/sequential-animation2.qml
index 08c598b..31835a1 100644
--- a/doc/src/snippets/declarative/qml-intro/sequential-animation2.qml
+++ b/doc/src/snippets/declarative/qml-intro/sequential-animation2.qml
@@ -1,3 +1,43 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
 import Qt 4.7
 
 Rectangle {
diff --git a/doc/src/snippets/declarative/qml-intro/sequential-animation3.qml b/doc/src/snippets/declarative/qml-intro/sequential-animation3.qml
index 5e7b400..f83a966 100644
--- a/doc/src/snippets/declarative/qml-intro/sequential-animation3.qml
+++ b/doc/src/snippets/declarative/qml-intro/sequential-animation3.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [document]
 Rectangle {
     id: mainRec
     width:  600
@@ -44,3 +85,4 @@ Rectangle {
         }
     }
 }
+//! [document]
diff --git a/doc/src/snippets/declarative/qml-intro/states1.qml b/doc/src/snippets/declarative/qml-intro/states1.qml
index fcd3f53..9619eb7 100644
--- a/doc/src/snippets/declarative/qml-intro/states1.qml
+++ b/doc/src/snippets/declarative/qml-intro/states1.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [document]
 import Qt 4.7
 
 Rectangle {
@@ -50,3 +91,4 @@ Rectangle {
         }
     ]
 }
+//! [document]
diff --git a/doc/src/snippets/declarative/qml-intro/transformations1.qml b/doc/src/snippets/declarative/qml-intro/transformations1.qml
index 1504729..af39e69 100644
--- a/doc/src/snippets/declarative/qml-intro/transformations1.qml
+++ b/doc/src/snippets/declarative/qml-intro/transformations1.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [document]
 import Qt 4.7
 
 Rectangle {
@@ -36,3 +77,4 @@ Rectangle {
         ]
     }
 }
+//! [document]
-- 
cgit v0.12


From ee7e17bb48c7f6ca0c74f1df3e146e99f56f2060 Mon Sep 17 00:00:00 2001
From: David Boddie <dboddie@trolltech.com>
Date: Mon, 23 Aug 2010 15:01:38 +0200
Subject: Doc: Started to reorganize the QML documentation structure.

---
 doc/src/declarative/declarativeui.qdoc | 97 +++++++++++++++++++++++-----------
 1 file changed, 67 insertions(+), 30 deletions(-)

diff --git a/doc/src/declarative/declarativeui.qdoc b/doc/src/declarative/declarativeui.qdoc
index ed8b734..506d774 100644
--- a/doc/src/declarative/declarativeui.qdoc
+++ b/doc/src/declarative/declarativeui.qdoc
@@ -32,28 +32,36 @@
 \brief Qt Quick provides a declarative framework for building highly
 dynamic, custom user interfaces.
 
-Qt Quick provides a declarative framework for building highly dynamic,
-custom user interfaces from a rich set of \l{QML Elements}{QML elements}.
-Qt Quick helps programmers and designers collaborate to
-build the fluid user interfaces that are becoming common in portable
-consumer devices, such as mobile phones, media players, set-top boxes
-and netbooks. Qt Quick consists of the QtDeclarative C++ module, QML, and
-the integration of both of these into the Qt Creator IDE. Using the QtDeclarative
-C++ module, you can load and interact with QML files from your Qt application.
-
-QML is an extension to \l{About JavaScript}{JavaScript}, that provides
-a mechanism to declaratively build an object tree of
-\l{QML Elements}{QML elements}.  QML improves the integration between
-JavaScript and Qt's existing QObject-based type system, adds support for
-automatic \l{Property Binding}{property bindings} and provides
+\section1 Introduction
+
+Qt Quick is a collection of technologies that are designed to help
+developers create the kind of intuitive, modern-looking, fluid user
+interfaces that are increasingly used on mobile phones, media players,
+set-top boxes and other portable devices.
+
+Qt Quick consists of a rich set of user interface elements, a declarative
+language for describing user interfaces and a language runtime. A collection
+of C++ APIs is used to integrate these high level features with classic
+Qt applications.
+
+\section2 QML, Elements and the QtDeclarative Module
+
+User interfaces and their behavior are described using QML, an extension to
+\l{About JavaScript}{JavaScript} that lets developers and designers
+use a declarative syntax to specify each user interface in terms of
+\l{QML Elements}{QML elements}. These elements are a sophisticated set of
+graphical and behavioral building blocks that can be combined together in
+\l{QML Documents}{QML documents} to build components ranging in complexity
+from simple buttons and sliders, to complete Internet-enabled applications.
+
+QML improves the integration between JavaScript and Qt's existing
+QObject-based type system, adds support for automatic
+\l{Property Binding}{property bindings} and provides
 \l{Network Transparency}{network transparency} at the language level.
 
-The \l{QML Elements}{QML elements} are a sophisticated set of
-graphical and behavioral building blocks.  These different elements
-are combined together in \l{QML Documents}{QML documents} to build
-components ranging in complexity from simple buttons and sliders, to
-complete Internet-enabled applications like a photo browser for the
-popular \l{http://www.flickr.com}{Flickr} photo-sharing site.
+The QtDeclarative module implements the interface between the QML language
+and the elements available to it. It also provides a C++ API that can be
+used to load and interact with QML files from within Qt applications.
 
 Qt Quick builds on \l{QML for Qt programmers}{Qt's existing strengths}.
 QML can be be used to incrementally extend an existing application or
@@ -65,33 +73,53 @@ Module.
 
 \list
 \o \l{Introduction to the QML language}
-\o \l{QML Tutorial}{Tutorial: 'Hello World'}
-\o \l{QML Advanced Tutorial}{Tutorial: 'Same Game'}
-\o \l{QML Examples and Demos}
 \o \l{QML for Qt Programmers}
 \o \l{Getting Started Programming with QML}
 \o \l{Beginning Qt Quick}
 \endlist
 
-\section1 Core QML Features
+\list
+\o \l{QML Tutorial}{Tutorial: "Hello World"}
+\o \l{QML Advanced Tutorial}{Tutorial: "Same Game"}
+\o \l{QML Examples and Demos}
+\endlist
+
+\section1 QML Concepts
+
 \list
 \o \l{QML Documents}
 \o \l{Property Binding}
-\o \l{Network Transparency}
 \o \l{QML Scope}
-\o \l{Integrating JavaScript}
-\o \l{Data Models}
+\o \l{QML Modules}
 \o \l{Anchor-based Layout in QML}
+\endlist
+
+\section1 User Interaction
+
+\list
+\o \l{Keyboard Focus in QML}
 \o \l{QML States}
 \o \l{QML Animation}
-\o \l{Keyboard Focus in QML}
-\o \l{QML Modules}
+\endlist
+
+\section1 Handling Data
+
+\list
+\o \l{Data Models}
+\o \l{Network Transparency}
+\endlist
+
+\section1 Architecture
+
+\list
+\o \l{Qt Declarative UI Runtime}
+\o \l{Integrating JavaScript}
 \o \l{Extending types from QML}
 \o \l{Dynamic Object Management in QML}
-\o \l{Qt Declarative UI Runtime}
 \endlist
 
 \section1 Using QML with C++
+
 \list
 \o \l{Using QML in C++ Applications}
 \o \l{Integrating QML with existing Qt UI code}
@@ -100,6 +128,7 @@ Module.
 \endlist
 
 \section1 Reference
+
 \list
 \o \l{QML Elements}
 \o \l{QML Global Object}
@@ -111,4 +140,12 @@ Module.
 \o \l{QML Performance}
 \o \l{QML Coding Conventions}
 \endlist
+
+\section1 Online Examples
+
+\list
+\o Forum Nokia:
+\l{http://wiki.forum.nokia.com/index.php/Qt_Quick_examples_for_porting}{Qt Quick
+examples for porting}
+\endlist
 */
-- 
cgit v0.12


From 74833a2377a7570a910d970c272b846043ae3206 Mon Sep 17 00:00:00 2001
From: David Boddie <dboddie@trolltech.com>
Date: Mon, 23 Aug 2010 15:03:31 +0200
Subject: Doc: Moved the inline code into snippet files.

---
 doc/src/declarative/qdeclarativedocument.qdoc | 67 ++++-----------------------
 1 file changed, 10 insertions(+), 57 deletions(-)

diff --git a/doc/src/declarative/qdeclarativedocument.qdoc b/doc/src/declarative/qdeclarativedocument.qdoc
index 068297a..4aed63f 100644
--- a/doc/src/declarative/qdeclarativedocument.qdoc
+++ b/doc/src/declarative/qdeclarativedocument.qdoc
@@ -28,34 +28,17 @@
 /*!
 \page qdeclarativedocuments.html
 \title QML Documents
+\brief A description of QML documents and the kind of content they contain.
 
-A QML document is a block of QML source code.  QML documents generally correspond to files 
-stored on a disk or network resource, but can also be constructed directly from text data.
+\section1 Introduction
 
-Here is a simple QML document:
+A QML document is a block of QML source code.  QML documents generally correspond to files
+stored on a disk or at a location on a network, but they can also be constructed directly
+from text data.
 
-\code
-import Qt 4.7
+Here is a simple QML document:
 
-Rectangle {
-    width: 240; height: 320; 
-
-    resources: [
-        Component {
-            id: contactDelegate
-            Text {
-                text: modelData.firstName + " " + modelData.lastName
-            }
-        }
-    ]
-
-    ListView {
-        anchors.fill: parent
-        model: contactModel
-        delegate: contactDelegate
-    } 
-}
-\endcode
+\snippet doc/src/snippets/declarative/qml-documents/non-trivial.qml document
 
 QML documents are always encoded in UTF-8 format.
 
@@ -96,7 +79,7 @@ Each instance is created with a different value for its \c text property:
 \o application.qml
 
 \row
-\o \snippet doc/src/snippets/declarative/qmldocuments.qml 0
+\o \snippet doc/src/snippets/declarative/qmldocuments.qml document
 \o 
 \qml
 import Qt 4.7
@@ -153,39 +136,9 @@ These final two examples are behaviorally identical to the original document.
 \table
 \row
 \o
-\code
-import Qt 4.7
-
-Rectangle {
-    width: 240; height: 320; 
-
-    ListView {
-        anchors.fill: parent
-        model: contactModel
-        delegate: Component {
-            Text {
-                text: modelData.firstName + " " + modelData.lastName
-            }
-        }
-    } 
-}
-\endcode
+\snippet doc/src/snippets/declarative/qml-documents/inline-component.qml document
 \o
-\code
-import Qt 4.7
-
-Rectangle {
-    width: 240; height: 320; 
-
-    ListView {
-        anchors.fill: parent
-        model: contactModel
-        delegate: Text {
-            text: modelData.firstName + " " + modelData.lastName
-        }
-    } 
-}
-\endcode
+\snippet doc/src/snippets/declarative/qml-documents/inline-text-component.qml document
 \endtable
 
 \sa QDeclarativeComponent
-- 
cgit v0.12


From 23737d8df57ee77127c4b891e25339a3f73d0fca Mon Sep 17 00:00:00 2001
From: David Boddie <dboddie@trolltech.com>
Date: Mon, 23 Aug 2010 15:05:48 +0200
Subject: Doc: Started to improve QML reference documentation.

---
 .../declarative/borderimage/normal-image.qml       |   4 +-
 .../graphicsitems/qdeclarativeanimatedimage.cpp    |  57 +++++------
 .../graphicsitems/qdeclarativeborderimage.cpp      | 108 ++++++++++++++++++---
 .../graphicsitems/qdeclarativeimage.cpp            |  46 +++++----
 4 files changed, 152 insertions(+), 63 deletions(-)

diff --git a/doc/src/snippets/declarative/borderimage/normal-image.qml b/doc/src/snippets/declarative/borderimage/normal-image.qml
index adac4f3..76ec6e2 100644
--- a/doc/src/snippets/declarative/borderimage/normal-image.qml
+++ b/doc/src/snippets/declarative/borderimage/normal-image.qml
@@ -45,11 +45,11 @@ Rectangle {
     color: "white"
     width: 120; height: 120
 
-//! [scaled border image]
+//! [normal image]
 Image {
     source: "pics/borderframe.png"
 }
-//! [scaled border image]
+//! [normal image]
 
     Rectangle {
         x: 30; y: 0
diff --git a/src/declarative/graphicsitems/qdeclarativeanimatedimage.cpp b/src/declarative/graphicsitems/qdeclarativeanimatedimage.cpp
index e0a2149..16d1777 100644
--- a/src/declarative/graphicsitems/qdeclarativeanimatedimage.cpp
+++ b/src/declarative/graphicsitems/qdeclarativeanimatedimage.cpp
@@ -63,35 +63,32 @@ QT_BEGIN_NAMESPACE
     \inherits Image
     \since 4.7
     \ingroup basic-visual-elements
-    
-    The AnimatedImage element provides for playing animations stored as images containing a series of frames,
-    such as GIF files. 
-    
+
+    The AnimatedImage element extends the features of the \l Image element, providing
+    a way to play animations stored as images containing a series of frames,
+    such as those stored in GIF files.
+
+    Information about the current frame and totla length of the animation can be
+    obtained using the \l currentFrame and \l frameCount properties. You can
+    start, pause and stop the animation by changing the values of the \l playing
+    and \l paused properties.
+
     The full list of supported formats can be determined with QMovie::supportedFormats().
 
-    \table
-    \row
-    \o \image animatedimageitem.gif
-    \o
-    \qml
-    import Qt 4.7
+    \section1 Example Usage
 
-    Rectangle {
-        width: animation.width; height: animation.height + 8
+    \beginfloatleft
+    \image animatedimageitem.gif
+    \endfloat
 
-        AnimatedImage { id: animation; source: "animation.gif" }
+    The following QML shows how to display an animated image and obtain information
+    about its state, such as the current frame and total number of frames.
+    The result is an animated image with a simple progress indicator underneath it.
 
-        Rectangle { 
-            property int frames: animation.frameCount
+    \clearfloat
+    \snippet doc/src/snippets/declarative/animatedimage.qml document
 
-            width: 4; height: 8
-            x: (animation.width - width) * animation.currentFrame / frames
-            y: animation.height
-            color: "red"
-        }
-    }
-    \endqml
-    \endtable
+    \sa BorderImage, Image
 */
 
 QDeclarativeAnimatedImage::QDeclarativeAnimatedImage(QDeclarativeItem *parent)
@@ -109,7 +106,8 @@ QDeclarativeAnimatedImage::~QDeclarativeAnimatedImage()
   \qmlproperty bool AnimatedImage::paused
   This property holds whether the animated image is paused.
 
-  Defaults to false, and can be set to true when you want to pause.
+  By default, this property is false. Set it to true when you want to pause
+  the animation.
 */
 bool QDeclarativeAnimatedImage::isPaused() const
 {
@@ -133,7 +131,8 @@ void QDeclarativeAnimatedImage::setPaused(bool pause)
   \qmlproperty bool AnimatedImage::playing
   This property holds whether the animated image is playing.
 
-  Defaults to true, so as to start playing immediately.
+  By defaults, this property is true, meaning that the animation
+  will start playing immediately.
 */
 bool QDeclarativeAnimatedImage::isPlaying() const
 {
@@ -161,9 +160,11 @@ void QDeclarativeAnimatedImage::setPlaying(bool play)
   \qmlproperty int AnimatedImage::currentFrame
   \qmlproperty int AnimatedImage::frameCount
 
-  currentFrame is the frame that is currently visible. Watching when this changes can
-  allow other things to animate at the same time as the image. frameCount is the number
-  of frames in the animation. For some animation formats, frameCount is unknown and set to zero.
+  currentFrame is the frame that is currently visible. By monitoring this property
+  for changes, you can animate other items at the same time as the image.
+
+  frameCount is the number of frames in the animation. For some animation formats,
+  frameCount is unknown and has a value of zero.
 */
 int QDeclarativeAnimatedImage::currentFrame() const
 {
diff --git a/src/declarative/graphicsitems/qdeclarativeborderimage.cpp b/src/declarative/graphicsitems/qdeclarativeborderimage.cpp
index e0c7fc2..5a9a18d 100644
--- a/src/declarative/graphicsitems/qdeclarativeborderimage.cpp
+++ b/src/declarative/graphicsitems/qdeclarativeborderimage.cpp
@@ -56,27 +56,97 @@ QT_BEGIN_NAMESPACE
     \brief The BorderImage element provides an image that can be used as a border.
     \inherits Item
     \since 4.7
-    \ingroup qm-basic-visual-elements
+    \ingroup qml-basic-visual-elements
 
-    A BorderImage breaks an image into 9 sections, as shown below:
+    The BorderImage element is used to create borders out of images by scaling or tiling
+    parts of each image.
+
+    A BorderImage element breaks a source image, specified using the \l url property,
+    into 9 regions, as shown below:
 
     \image declarative-scalegrid.png
 
-    When the image is scaled:
+    When the image is scaled, regions of the source image are scaled or tiled to
+    create the displayed border image in the following way:
+
     \list
-    \i the corners (sections 1, 3, 7, and 9) are not scaled at all
-    \i sections 2 and 8 are scaled according to \l{BorderImage::horizontalTileMode}{horizontalTileMode}
-    \i sections 4 and 6 are scaled according to \l{BorderImage::verticalTileMode}{verticalTileMode}
-    \i the middle (section 5) is scaled according to both \l{BorderImage::horizontalTileMode}{horizontalTileMode} and \l{BorderImage::verticalTileMode}{verticalTileMode}
+    \i The corners (regions 1, 3, 7, and 9) are not scaled at all.
+    \i Regions 2 and 8 are scaled according to
+       \l{BorderImage::horizontalTileMode}{horizontalTileMode}.
+    \i Regions 4 and 6 are scaled according to
+       \l{BorderImage::verticalTileMode}{verticalTileMode}.
+    \i The middle (region 5) is scaled according to both
+       \l{BorderImage::horizontalTileMode}{horizontalTileMode} and
+       \l{BorderImage::verticalTileMode}{verticalTileMode}.
     \endlist
 
-    Examples:
-    \snippet snippets/declarative/borderimage.qml 0
+    The regions of the image are defined using the \l border property group, which
+    describes the distance from each edge of the source image to use as a border.
+
+    \section1 Example Usage
+
+    The following examples show the effects of the different modes on an image.
+    Guide lines are overlaid onto the image to show the different regions of the
+    image as described above.
+
+    \beginfloatleft
+    \image qml-borderimage-normal-image.png
+    \endfloat
+
+    An unscaled image is displayed using an Image element. The \l border property is
+    used to determine the parts of the image that will lie inside the unscaled corner
+    areas and the parts that will be stretched horizontally and vertically.
+
+    \snippet doc/src/snippets/declarative/borderimage/normal-image.qml normal image
+
+    \clearfloat
+    \beginfloatleft
+    \image qml-borderimage-scaled.png
+    \endfloat
+
+    A BorderImage element is used to display the image, and it is given a size that is
+    larger than the original image. Since the \l horizontalTileMode property is set to
+    \l{BorderImage::horizontalTileMode}{BorderImage.Stretch}, the parts of image in
+    regions 2 and 8 are stretched horizontally. Since the \l verticalTileMode property
+    is set to \l{BorderImage::verticalTileMode}{BorderImage.Stretch}, the parts of image
+    in regions 4 and 6 are stretched vertically.
+
+    \snippet doc/src/snippets/declarative/borderimage/borderimage-scaled.qml scaled border image
 
-    \image BorderImage.png
+    \clearfloat
+    \beginfloatleft
+    \image qml-borderimage-tiled.png
+    \endfloat
 
-    The \l{declarative/imageelements/borderimage}{BorderImage example} shows how a BorderImage can be used to simulate a shadow effect on a
-    rectangular item.
+    Again, a large BorderImage element is used to display the image. With the
+    \l horizontalTileMode property set to \l{BorderImage::horizontalTileMode}{BorderImage.Repeat},
+    the parts of image in regions 2 and 8 are tiled so that they fill the space at the
+    top and bottom of the element. Similarly, the \l verticalTileMode property is set to
+    \l{BorderImage::verticalTileMode}{BorderImage.Repeat}, the parts of image in regions
+    4 and 6 are tiled so that they fill the space at the left and right of the element.
+
+    \snippet doc/src/snippets/declarative/borderimage/borderimage-tiled.qml tiled border image
+
+    \clearfloat
+    In some situations, the width of regions 2 and 8 may not be an exact multiple of the width
+    of the corresponding regions in the source image. Similarly, the height of regions 4 and 6
+    may not be an exact multiple of the height of the corresponding regions. It can be useful
+    to use \l{BorderImage::horizontalTileMode}{BorderImage.Round} instead of
+    \l{BorderImage::horizontalTileMode}{BorderImage.Repeat} in cases like these.
+
+    The \l{declarative/imageelements/borderimage}{BorderImage example} shows how a BorderImage
+    can be used to simulate a shadow effect on a rectangular item.
+
+    \section1 Quality and Performance
+
+    By default, any scaled regions of the image are rendered without smoothing to improve
+    rendering speed. Setting the \l smooth property improves rendering quality of scaled
+    regions, but may slow down rendering.
+
+    The source image may not be loaded instantaneously, depending on its original location.
+    Loading progress can be monitored with the \l progress property.
+
+    \sa Image, AnimatedImage
  */
 
 /*!
@@ -127,6 +197,8 @@ QDeclarativeBorderImage::~QDeclarativeBorderImage()
     the image is displayed at its natural size, this property has no visual or
     performance effect.
 
+    By default, this property is set to false.
+
     \note Generally scaling artifacts are only visible if the image is stationary on
     the screen.  A common pattern when animating an image is to disable smooth
     filtering at the beginning of the animation and reenable it at the conclusion.
@@ -251,17 +323,21 @@ void QDeclarativeBorderImage::load()
     \qmlproperty int BorderImage::border.top
     \qmlproperty int BorderImage::border.bottom
 
-    The 4 border lines (2 horizontal and 2 vertical) break the image into 9 sections, as shown below:
+    The 4 border lines (2 horizontal and 2 vertical) break the image into 9 sections,
+    as shown below:
 
     \image declarative-scalegrid.png
 
-    Each border line (left, right, top, and bottom) specifies an offset in pixels from the respective side.
+    Each border line (left, right, top, and bottom) specifies an offset in pixels
+    from the respective edge of the source image. By default, each border line has
+    a value of 0.
+
+    For example, the following definition sets the bottom line 10 pixels up from
+    the bottom of the image:
 
-    For example:
     \qml
     border.bottom: 10
     \endqml
-    sets the bottom line 10 pixels up from the bottom of the image.
 
     The border lines can also be specified using a
     \l {BorderImage::source}{.sci file}.
diff --git a/src/declarative/graphicsitems/qdeclarativeimage.cpp b/src/declarative/graphicsitems/qdeclarativeimage.cpp
index 47a410c..eb8b00e 100644
--- a/src/declarative/graphicsitems/qdeclarativeimage.cpp
+++ b/src/declarative/graphicsitems/qdeclarativeimage.cpp
@@ -51,34 +51,46 @@ QT_BEGIN_NAMESPACE
 /*!
     \qmlclass Image QDeclarativeImage
     \since 4.7
-    \ingroup qml-vasic-visual-elements
-
-    \brief The Image element allows you to add bitmaps to a scene.
+    \ingroup qml-basic-visual-elements
+    \brief The Image element displays an image in a declarative user interface
     \inherits Item
 
-    An Image element displays a specified \l source image:
+    The Image element is used to display images in a declarative user interface.
 
-    \table
-    \row
-    \o \image declarative-qtlogo.png
-    \o \qml
-        import Qt 4.7
+    The source of the image is specified as a URL using the \l source property.
+    Images can be supplied in any of the standard image formats supported by Qt,
+    including bitmap formats such as PNG and JPEG, and vector graphics formats
+    such as SVG. If you need to display animated images, use the \l AnimatedImage
+    element.
 
-        Image { source: "qtlogo.png" }
-    \endqml
-    \endtable
+    If the \l{Item::width}{width} and \l{Item::height}{height} properties are not
+    specified, the Image element automatically uses the size of the loaded image.
+    By default, specifying the width and height of the element causes the image
+    to be scaled to that size. This behavior can be changed by setting the
+    \l fillMode property, allowing the image to be stretched and tiled instead.
+
+    \section1 Example Usage
+
+    The following example shows the simplest usage of the Image element.
+
+    \snippet doc/src/snippets/declarative/image.qml
+
+    \beginfloatleft
+    \image declarative-qtlogo.png
+    \endfloat
+
+    \clearfloat
 
-    If the \l {Item::width}{width} and \l{Item::height}{height} properties are not specified,
-    the Image element is automatically sized to the loaded image. Image elements can be 
-    stretched and tiled using the \l fillMode property.
+    \section1 Performance
 
     By default, locally available images are loaded immediately, and the user interface
     is blocked until loading is complete. If a large image is to be loaded, it may be
     preferable to load the image in a low priority thread, by enabling the \l asynchronous
     property.
 
-    If the image is from a network rather than a local resource, it is automatically loaded
-    asynchronously, and the \l progress and \l status properties are updated as appropriate.  
+    If the image is obtained from a network rather than a local resource, it is
+    automatically loaded asynchronously, and the \l progress and \l status properties
+    are updated as appropriate.
 
     Images are cached and shared internally, so if several Image elements have the same \l source,
     only one copy of the image will be loaded.
-- 
cgit v0.12


From 8785254d4e2b245106ef169fa0bc3d793f1d6507 Mon Sep 17 00:00:00 2001
From: David Boddie <dboddie@trolltech.com>
Date: Mon, 23 Aug 2010 15:06:51 +0200
Subject: Doc: Fixed incorrect use of commands to mark documentation.

---
 src/declarative/graphicsitems/qdeclarativetext.cpp     | 1 -
 src/declarative/graphicsitems/qdeclarativetextedit.cpp | 1 -
 src/declarative/util/qdeclarativelistmodel.cpp         | 2 +-
 3 files changed, 1 insertion(+), 3 deletions(-)

diff --git a/src/declarative/graphicsitems/qdeclarativetext.cpp b/src/declarative/graphicsitems/qdeclarativetext.cpp
index fcd112e..51d6e8f 100644
--- a/src/declarative/graphicsitems/qdeclarativetext.cpp
+++ b/src/declarative/graphicsitems/qdeclarativetext.cpp
@@ -194,7 +194,6 @@ QSet<QUrl> QTextDocumentWithImageResources::errors;
 /*!
     \internal
     \class QDeclarativeText
-    \qmlclass Text
 
     \brief The QDeclarativeText class provides a formatted text item that you can add to a QDeclarativeView.
 
diff --git a/src/declarative/graphicsitems/qdeclarativetextedit.cpp b/src/declarative/graphicsitems/qdeclarativetextedit.cpp
index b8e8726..acc8589 100644
--- a/src/declarative/graphicsitems/qdeclarativetextedit.cpp
+++ b/src/declarative/graphicsitems/qdeclarativetextedit.cpp
@@ -106,7 +106,6 @@ TextEdit {
 /*!
     \internal
     \class QDeclarativeTextEdit
-    \qmlclass TextEdit
 
     \brief The QDeclarativeTextEdit class provides an editable formatted text item that you can add to a QDeclarativeView.
 
diff --git a/src/declarative/util/qdeclarativelistmodel.cpp b/src/declarative/util/qdeclarativelistmodel.cpp
index 1f66f0f..8f9b725 100644
--- a/src/declarative/util/qdeclarativelistmodel.cpp
+++ b/src/declarative/util/qdeclarativelistmodel.cpp
@@ -769,7 +769,7 @@ bool QDeclarativeListModelParser::definesEmptyList(const QString &s)
 }
 
 /*!
-    \qmlclass ListElement
+    \qmlclass ListElement QDeclarativeListElement
     \ingroup qml-working-with-data
     \since 4.7
     \brief The ListElement element defines a data item in a ListModel.
-- 
cgit v0.12


From ef9cc109f1a6fe84ca27a6c8a53f1783b8bdf14d Mon Sep 17 00:00:00 2001
From: David Boddie <dboddie@trolltech.com>
Date: Tue, 24 Aug 2010 14:11:06 +0200
Subject: Doc: Minor improvements and fixes.

---
 doc/src/declarative/elements.qdoc           | 9 +++++----
 doc/src/declarative/extending-tutorial.qdoc | 1 -
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/doc/src/declarative/elements.qdoc b/doc/src/declarative/elements.qdoc
index 94abe10..252b964 100644
--- a/doc/src/declarative/elements.qdoc
+++ b/doc/src/declarative/elements.qdoc
@@ -29,12 +29,13 @@
   \page qdeclarativeelements.html
   \target elements
   \title QML Elements
+  \brief A dictionary of standard QML elements.
 
-  This is a dictionary of all the QML elements available in the \l
-  {QtDeclarative} {Qt Declarative} module. 
+  This is a dictionary of all standard QML elements made available
+  in the QtDeclarative module.
 
-  To see the QML elements listed by
-  functional area, \l{Groups Of Related QML Elements} {look here}.
+  To see the QML elements listed by functional area, see the
+  \l{Groups Of Related QML Elements} page.
 
   \generatelist qmlclasses
 
diff --git a/doc/src/declarative/extending-tutorial.qdoc b/doc/src/declarative/extending-tutorial.qdoc
index d128d0f..349ac30 100644
--- a/doc/src/declarative/extending-tutorial.qdoc
+++ b/doc/src/declarative/extending-tutorial.qdoc
@@ -26,7 +26,6 @@
 ****************************************************************************/
 
 /*!
-
 \page qml-extending-tutorial-index.html
 \title Tutorial: Writing QML extensions with C++
 
-- 
cgit v0.12


From 1744a94ce6a75ead5bb92546f1e0b28dd8a8a05c Mon Sep 17 00:00:00 2001
From: Rhys Weatherley <rhys.weatherley@nokia.com>
Date: Fri, 27 Aug 2010 15:48:36 +1000
Subject: Recognize GL_ARB_shader_objects as indicating shaders

Fixes a regression introduced by bf5c25c4.  Some OpenGL
implementations don't have the GL_ARB_fragment_shader extension
listed even though they do support shaders.

Task-number: QTBUG-13179
Reviewed-by: Sarah Smith
---
 src/opengl/qgl.cpp | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/opengl/qgl.cpp b/src/opengl/qgl.cpp
index 81e55b3..f3d0d81 100644
--- a/src/opengl/qgl.cpp
+++ b/src/opengl/qgl.cpp
@@ -4931,6 +4931,8 @@ QGLExtensions::Extensions QGLExtensions::currentContextExtensions()
         glExtensions |= FragmentProgram;
     if (extensions.match("GL_ARB_fragment_shader"))
         glExtensions |= FragmentShader;
+    if (extensions.match("GL_ARB_shader_objects"))
+        glExtensions |= FragmentShader;
     if (extensions.match("GL_ARB_ES2_compatibility"))
         glExtensions |= ES2Compatibility;
     if (extensions.match("GL_ARB_texture_mirrored_repeat"))
-- 
cgit v0.12


From 1a75b369797c41d37f92950f7527c1eb989f1215 Mon Sep 17 00:00:00 2001
From: David Boddie <dboddie@trolltech.com>
Date: Fri, 27 Aug 2010 18:23:37 +0200
Subject: Doc: More work on the QML documentation.

---
 doc/src/declarative/anchor-layout.qdoc             |   2 +-
 doc/src/declarative/codingconventions.qdoc         |   2 +-
 doc/src/declarative/declarativeui.qdoc             |   3 +-
 doc/src/declarative/pics/spacing_a.png             | Bin 547 -> 0 bytes
 doc/src/declarative/pics/spacing_b.png             | Bin 560 -> 0 bytes
 doc/src/declarative/qdeclarativemodels.qdoc        |   2 +-
 doc/src/examples/qml-examples.qdoc                 |   2 +-
 doc/src/images/qml-flow-snippet.png                | Bin 0 -> 10385 bytes
 doc/src/images/qml-grid-no-spacing.png             | Bin 0 -> 416 bytes
 doc/src/images/qml-grid-spacing.png                | Bin 0 -> 421 bytes
 doc/src/images/qml-repeater-grid-index.png         | Bin 0 -> 17964 bytes
 doc/src/images/qml-row.png                         | Bin 0 -> 3090 bytes
 doc/src/snippets/declarative/anchoranimation.qml   |   1 +
 doc/src/snippets/declarative/column/column.qml     |  67 ++++
 .../column/vertical-positioner-transition.qml      |  61 +++
 .../declarative/column/vertical-positioner.qml     |  50 +++
 doc/src/snippets/declarative/flow.qml              |  62 +++
 doc/src/snippets/declarative/grid/grid-items.qml   |  58 +++
 .../snippets/declarative/grid/grid-no-spacing.qml  |  57 +++
 doc/src/snippets/declarative/grid/grid-spacing.qml |  58 +++
 doc/src/snippets/declarative/grid/grid.qml         |  53 +++
 doc/src/snippets/declarative/repeater.qml          |  89 -----
 .../declarative/repeaters/repeater-grid-index.qml  |  61 +++
 .../snippets/declarative/repeaters/repeater.qml    |  89 +++++
 doc/src/snippets/declarative/row.qml               |  62 +++
 doc/src/snippets/declarative/row/row.qml           |  50 +++
 doc/src/snippets/declarative/~image-fillmode.qml   |  46 +++
 .../graphicsitems/qdeclarativeborderimage.cpp      |  21 +-
 .../graphicsitems/qdeclarativepositioners.cpp      | 436 ++++++++++++---------
 .../graphicsitems/qdeclarativerepeater.cpp         |  10 +-
 30 files changed, 1044 insertions(+), 298 deletions(-)
 delete mode 100644 doc/src/declarative/pics/spacing_a.png
 delete mode 100644 doc/src/declarative/pics/spacing_b.png
 create mode 100644 doc/src/images/qml-flow-snippet.png
 create mode 100644 doc/src/images/qml-grid-no-spacing.png
 create mode 100644 doc/src/images/qml-grid-spacing.png
 create mode 100644 doc/src/images/qml-repeater-grid-index.png
 create mode 100644 doc/src/images/qml-row.png
 create mode 100644 doc/src/snippets/declarative/column/column.qml
 create mode 100644 doc/src/snippets/declarative/column/vertical-positioner-transition.qml
 create mode 100644 doc/src/snippets/declarative/column/vertical-positioner.qml
 create mode 100644 doc/src/snippets/declarative/flow.qml
 create mode 100644 doc/src/snippets/declarative/grid/grid-items.qml
 create mode 100644 doc/src/snippets/declarative/grid/grid-no-spacing.qml
 create mode 100644 doc/src/snippets/declarative/grid/grid-spacing.qml
 create mode 100644 doc/src/snippets/declarative/grid/grid.qml
 delete mode 100644 doc/src/snippets/declarative/repeater.qml
 create mode 100644 doc/src/snippets/declarative/repeaters/repeater-grid-index.qml
 create mode 100644 doc/src/snippets/declarative/repeaters/repeater.qml
 create mode 100644 doc/src/snippets/declarative/row.qml
 create mode 100644 doc/src/snippets/declarative/row/row.qml
 create mode 100644 doc/src/snippets/declarative/~image-fillmode.qml

diff --git a/doc/src/declarative/anchor-layout.qdoc b/doc/src/declarative/anchor-layout.qdoc
index 5c025e5..99f7777 100644
--- a/doc/src/declarative/anchor-layout.qdoc
+++ b/doc/src/declarative/anchor-layout.qdoc
@@ -26,7 +26,7 @@
 ****************************************************************************/
 
 /*!
-\page anchor-layout.html
+\page qml-anchor-layout.html
 \target anchor-layout
 \title Anchor-based Layout in QML
 
diff --git a/doc/src/declarative/codingconventions.qdoc b/doc/src/declarative/codingconventions.qdoc
index 9403920..aa4feef 100644
--- a/doc/src/declarative/codingconventions.qdoc
+++ b/doc/src/declarative/codingconventions.qdoc
@@ -26,7 +26,7 @@
 ****************************************************************************/
 
 /*!
-\page codingconventions.html
+\page qml-coding-conventions.html
 \title QML Coding Conventions
 
 This document contains the QML coding conventions that we follow in our documentation and examples and recommend that others follow.
diff --git a/doc/src/declarative/declarativeui.qdoc b/doc/src/declarative/declarativeui.qdoc
index 9609954..ae64e2a 100644
--- a/doc/src/declarative/declarativeui.qdoc
+++ b/doc/src/declarative/declarativeui.qdoc
@@ -107,7 +107,8 @@ Module.
 \section1 Handling Data
 
 \list
-\o \l{Data Models}
+\o \l{Using QML Positioner and Repeater Items}
+\o \l{QML Data Models}
 \o \l{Network Transparency}
 \endlist
 
diff --git a/doc/src/declarative/pics/spacing_a.png b/doc/src/declarative/pics/spacing_a.png
deleted file mode 100644
index c0fe895..0000000
Binary files a/doc/src/declarative/pics/spacing_a.png and /dev/null differ
diff --git a/doc/src/declarative/pics/spacing_b.png b/doc/src/declarative/pics/spacing_b.png
deleted file mode 100644
index 24cf640..0000000
Binary files a/doc/src/declarative/pics/spacing_b.png and /dev/null differ
diff --git a/doc/src/declarative/qdeclarativemodels.qdoc b/doc/src/declarative/qdeclarativemodels.qdoc
index 173002a..ace0465 100644
--- a/doc/src/declarative/qdeclarativemodels.qdoc
+++ b/doc/src/declarative/qdeclarativemodels.qdoc
@@ -28,7 +28,7 @@
 /*!
 \page qdeclarativemodels.html
 \target qmlmodels
-\title Data Models
+\title QML Data Models
 
 QML items such as ListView, GridView and \l Repeater require Data Models 
 that provide the data to be displayed.
diff --git a/doc/src/examples/qml-examples.qdoc b/doc/src/examples/qml-examples.qdoc
index 0d191c9..03bf7bb 100644
--- a/doc/src/examples/qml-examples.qdoc
+++ b/doc/src/examples/qml-examples.qdoc
@@ -229,7 +229,7 @@
 */
 
 /*!
-    \title Internationlization Example
+    \title Internationalization Example
     \example declarative/i18n
 
     This example shows how to enable text translation in QML.
diff --git a/doc/src/images/qml-flow-snippet.png b/doc/src/images/qml-flow-snippet.png
new file mode 100644
index 0000000..1a2af4b
Binary files /dev/null and b/doc/src/images/qml-flow-snippet.png differ
diff --git a/doc/src/images/qml-grid-no-spacing.png b/doc/src/images/qml-grid-no-spacing.png
new file mode 100644
index 0000000..c2092e0
Binary files /dev/null and b/doc/src/images/qml-grid-no-spacing.png differ
diff --git a/doc/src/images/qml-grid-spacing.png b/doc/src/images/qml-grid-spacing.png
new file mode 100644
index 0000000..1083bee
Binary files /dev/null and b/doc/src/images/qml-grid-spacing.png differ
diff --git a/doc/src/images/qml-repeater-grid-index.png b/doc/src/images/qml-repeater-grid-index.png
new file mode 100644
index 0000000..44aed24
Binary files /dev/null and b/doc/src/images/qml-repeater-grid-index.png differ
diff --git a/doc/src/images/qml-row.png b/doc/src/images/qml-row.png
new file mode 100644
index 0000000..30d9caa
Binary files /dev/null and b/doc/src/images/qml-row.png differ
diff --git a/doc/src/snippets/declarative/anchoranimation.qml b/doc/src/snippets/declarative/anchoranimation.qml
index 6c7aaf6..9a7b8ff 100644
--- a/doc/src/snippets/declarative/anchoranimation.qml
+++ b/doc/src/snippets/declarative/anchoranimation.qml
@@ -37,6 +37,7 @@
 ** $QT_END_LICENSE$
 **
 ****************************************************************************/
+
 //![0]
 import Qt 4.7
 
diff --git a/doc/src/snippets/declarative/column/column.qml b/doc/src/snippets/declarative/column/column.qml
new file mode 100644
index 0000000..e372cfd
--- /dev/null
+++ b/doc/src/snippets/declarative/column/column.qml
@@ -0,0 +1,67 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [document]
+import Qt 4.7
+
+Item {
+    width: 310; height: 170
+
+    Column {
+        anchors.horizontalCenter: parent.horizontalCenter
+        anchors.verticalCenter: parent.verticalCenter
+        
+        spacing: 5
+
+        Rectangle { color: "lightblue"; radius: 10.0
+                    width: 300; height: 50
+                    Text { anchors.fill: parent
+                           font.pointSize: 32; text: "Books" } }
+        Rectangle { color: "gold"; radius: 10.0
+                    width: 300; height: 50
+                    Text { anchors.fill: parent
+                           font.pointSize: 32; text: "Music" } }
+        Rectangle { color: "lightgreen"; radius: 10.0
+                    width: 300; height: 50
+                    Text { anchors.fill: parent
+                           font.pointSize: 32; text: "Movies" } }
+    }
+}
+//! [document]
diff --git a/doc/src/snippets/declarative/column/vertical-positioner-transition.qml b/doc/src/snippets/declarative/column/vertical-positioner-transition.qml
new file mode 100644
index 0000000..7785776
--- /dev/null
+++ b/doc/src/snippets/declarative/column/vertical-positioner-transition.qml
@@ -0,0 +1,61 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+//! [document]
+Column {
+    spacing: 2
+    Rectangle { color: "red"; width: 50; height: 50 }
+    Rectangle { id: rect1; color: "green"; width: 20; height: 50 }
+    Rectangle { color: "blue"; width: 50; height: 20 }
+
+    //![transitions]
+    add: Transition {
+        NumberAnimation { properties: "opacity"; duration: 1000 }
+        }
+    //![transitions]
+
+    MouseArea {
+        anchors.fill: parent
+        onClicked: rect1.opacity = 0
+    }
+}
+//! [document]
diff --git a/doc/src/snippets/declarative/column/vertical-positioner.qml b/doc/src/snippets/declarative/column/vertical-positioner.qml
new file mode 100644
index 0000000..27b09c1
--- /dev/null
+++ b/doc/src/snippets/declarative/column/vertical-positioner.qml
@@ -0,0 +1,50 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+//! [document]
+Column {
+    spacing: 2
+    Rectangle { color: "red"; width: 50; height: 50 }
+    Rectangle { color: "green"; width: 20; height: 50 }
+    Rectangle { color: "blue"; width: 50; height: 20 }
+}
+//! [document]
diff --git a/doc/src/snippets/declarative/flow.qml b/doc/src/snippets/declarative/flow.qml
new file mode 100644
index 0000000..c5fbc90
--- /dev/null
+++ b/doc/src/snippets/declarative/flow.qml
@@ -0,0 +1,62 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Rectangle {
+    color: "lightblue"
+    width: 300; height: 200
+
+//! [flow item]
+    Flow {
+        anchors.fill: parent
+        anchors.margins: 4
+        spacing: 10
+
+        Text { text: "Text"; font.pixelSize: 40 }
+        Text { text: "items"; font.pixelSize: 40 }
+        Text { text: "flowing"; font.pixelSize: 40 }
+        Text { text: "in"; font.pixelSize: 40 }
+        Text { text: "a"; font.pixelSize: 40 }
+        Text { text: "Flow"; font.pixelSize: 40 }
+        Text { text: "item"; font.pixelSize: 40 }
+    }
+//! [flow item]
+}
diff --git a/doc/src/snippets/declarative/grid/grid-items.qml b/doc/src/snippets/declarative/grid/grid-items.qml
new file mode 100644
index 0000000..5099758
--- /dev/null
+++ b/doc/src/snippets/declarative/grid/grid-items.qml
@@ -0,0 +1,58 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Rectangle {
+    width: 112; height: 112
+    color: "#303030"
+
+    Grid {
+        anchors.horizontalCenter: parent.horizontalCenter
+        anchors.verticalCenter: parent.verticalCenter
+        columns: 2
+        spacing: 6
+
+        Rectangle { color: "#aa6666"; width: 50; height: 50 }
+        Rectangle { color: "#aaaa66"; width: 50; height: 50 }
+        Rectangle { color: "#9999aa"; width: 50; height: 50 }
+        Rectangle { color: "#6666aa"; width: 50; height: 50 }
+    }
+}
diff --git a/doc/src/snippets/declarative/grid/grid-no-spacing.qml b/doc/src/snippets/declarative/grid/grid-no-spacing.qml
new file mode 100644
index 0000000..f04c242
--- /dev/null
+++ b/doc/src/snippets/declarative/grid/grid-no-spacing.qml
@@ -0,0 +1,57 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Rectangle {
+    width: 112; height: 112
+    color: "#303030"
+
+    Grid {
+        anchors.horizontalCenter: parent.horizontalCenter
+        anchors.verticalCenter: parent.verticalCenter
+        columns: 2
+
+        Rectangle { color: "#aa6666"; width: 50; height: 50 }
+        Rectangle { color: "#aaaa66"; width: 50; height: 50 }
+        Rectangle { color: "#9999aa"; width: 50; height: 50 }
+        Rectangle { color: "#6666aa"; width: 50; height: 50 }
+    }
+}
diff --git a/doc/src/snippets/declarative/grid/grid-spacing.qml b/doc/src/snippets/declarative/grid/grid-spacing.qml
new file mode 100644
index 0000000..5099758
--- /dev/null
+++ b/doc/src/snippets/declarative/grid/grid-spacing.qml
@@ -0,0 +1,58 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Rectangle {
+    width: 112; height: 112
+    color: "#303030"
+
+    Grid {
+        anchors.horizontalCenter: parent.horizontalCenter
+        anchors.verticalCenter: parent.verticalCenter
+        columns: 2
+        spacing: 6
+
+        Rectangle { color: "#aa6666"; width: 50; height: 50 }
+        Rectangle { color: "#aaaa66"; width: 50; height: 50 }
+        Rectangle { color: "#9999aa"; width: 50; height: 50 }
+        Rectangle { color: "#6666aa"; width: 50; height: 50 }
+    }
+}
diff --git a/doc/src/snippets/declarative/grid/grid.qml b/doc/src/snippets/declarative/grid/grid.qml
new file mode 100644
index 0000000..d57b4b2
--- /dev/null
+++ b/doc/src/snippets/declarative/grid/grid.qml
@@ -0,0 +1,53 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [document]
+import Qt 4.7
+
+Grid {
+    columns: 3
+    spacing: 2
+    Rectangle { color: "red"; width: 50; height: 50 }
+    Rectangle { color: "green"; width: 20; height: 50 }
+    Rectangle { color: "blue"; width: 50; height: 20 }
+    Rectangle { color: "cyan"; width: 50; height: 50 }
+    Rectangle { color: "magenta"; width: 10; height: 10 }
+}
+//! [document]
diff --git a/doc/src/snippets/declarative/repeater.qml b/doc/src/snippets/declarative/repeater.qml
deleted file mode 100644
index d71fd29..0000000
--- a/doc/src/snippets/declarative/repeater.qml
+++ /dev/null
@@ -1,89 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-**   * Redistributions of source code must retain the above copyright
-**     notice, this list of conditions and the following disclaimer.
-**   * Redistributions in binary form must reproduce the above copyright
-**     notice, this list of conditions and the following disclaimer in
-**     the documentation and/or other materials provided with the
-**     distribution.
-**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-**     the names of its contributors may be used to endorse or promote
-**     products derived from this software without specific prior written
-**     permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [import]
-import Qt 4.7
-//! [import]
-
-Row {
-
-//! [simple]
-Row {
-    Repeater {
-        model: 3
-        Rectangle { 
-            width: 100; height: 40
-            border.width: 1
-            color: "yellow"
-        }
-    }
-}
-//! [simple]
-
-//! [index]
-Column {
-    Repeater {
-        model: 10 
-        Text { text: "I'm item " + index }
-    }
-}
-//! [index]
-
-//! [modeldata]
-Column {
-    Repeater {
-        model: ["apples", "oranges", "pears"]
-        Text { text: "Data: " + modelData }
-    }
-}
-//! [modeldata]
-
-//! [layout]
-Row {
-    Rectangle { width: 10; height: 20; color: "red" }
-    Repeater {
-        model: 10 
-        Rectangle { width: 20; height: 20; radius: 10; color: "green" }
-    }
-    Rectangle { width: 10; height: 20; color: "blue" }
-}
-//! [layout]
-
-}
diff --git a/doc/src/snippets/declarative/repeaters/repeater-grid-index.qml b/doc/src/snippets/declarative/repeaters/repeater-grid-index.qml
new file mode 100644
index 0000000..106550e
--- /dev/null
+++ b/doc/src/snippets/declarative/repeaters/repeater-grid-index.qml
@@ -0,0 +1,61 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [document]
+import Qt 4.7
+
+Rectangle {
+    width: 400; height: 400; color: "black"
+
+    Grid {
+        x: 5; y: 5
+        rows: 5; columns: 5; spacing: 10
+
+        Repeater { model: 24
+                   Rectangle { width: 70; height: 70
+                               color: "lightgreen"
+
+                               Text { text: index
+                                      font.pointSize: 30
+                                      anchors.centerIn: parent } }
+        }
+    }
+}
+//! [document]
diff --git a/doc/src/snippets/declarative/repeaters/repeater.qml b/doc/src/snippets/declarative/repeaters/repeater.qml
new file mode 100644
index 0000000..d71fd29
--- /dev/null
+++ b/doc/src/snippets/declarative/repeaters/repeater.qml
@@ -0,0 +1,89 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [import]
+import Qt 4.7
+//! [import]
+
+Row {
+
+//! [simple]
+Row {
+    Repeater {
+        model: 3
+        Rectangle { 
+            width: 100; height: 40
+            border.width: 1
+            color: "yellow"
+        }
+    }
+}
+//! [simple]
+
+//! [index]
+Column {
+    Repeater {
+        model: 10 
+        Text { text: "I'm item " + index }
+    }
+}
+//! [index]
+
+//! [modeldata]
+Column {
+    Repeater {
+        model: ["apples", "oranges", "pears"]
+        Text { text: "Data: " + modelData }
+    }
+}
+//! [modeldata]
+
+//! [layout]
+Row {
+    Rectangle { width: 10; height: 20; color: "red" }
+    Repeater {
+        model: 10 
+        Rectangle { width: 20; height: 20; radius: 10; color: "green" }
+    }
+    Rectangle { width: 10; height: 20; color: "blue" }
+}
+//! [layout]
+
+}
diff --git a/doc/src/snippets/declarative/row.qml b/doc/src/snippets/declarative/row.qml
new file mode 100644
index 0000000..bd2db16
--- /dev/null
+++ b/doc/src/snippets/declarative/row.qml
@@ -0,0 +1,62 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [document]
+import Qt 4.7
+
+Rectangle {
+    width: 320; height: 110
+    color: "#c0c0c0"
+
+    Row {
+        anchors.horizontalCenter: parent.horizontalCenter
+        anchors.verticalCenter: parent.verticalCenter
+        
+        spacing: 5
+
+        Rectangle { width: 100; height: 100; radius: 20.0
+                    color: "#024c1c" }
+        Rectangle { width: 100; height: 100; radius: 20.0
+                    color: "#42a51c" }
+        Rectangle { width: 100; height: 100; radius: 20.0
+                    color: "white" }
+    }
+}
+//! [document]
diff --git a/doc/src/snippets/declarative/row/row.qml b/doc/src/snippets/declarative/row/row.qml
new file mode 100644
index 0000000..c863243
--- /dev/null
+++ b/doc/src/snippets/declarative/row/row.qml
@@ -0,0 +1,50 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [document]
+import Qt 4.7
+
+Row {
+    spacing: 2
+    Rectangle { color: "red"; width: 50; height: 50 }
+    Rectangle { color: "green"; width: 20; height: 50 }
+    Rectangle { color: "blue"; width: 50; height: 20 }
+}
+//! [document]
diff --git a/doc/src/snippets/declarative/~image-fillmode.qml b/doc/src/snippets/declarative/~image-fillmode.qml
new file mode 100644
index 0000000..cee26c4
--- /dev/null
+++ b/doc/src/snippets/declarative/~image-fillmode.qml
@@ -0,0 +1,46 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Image {
+    source: "pics/qtlogo.png"
+    width: 20; height: 20
+}
diff --git a/src/declarative/graphicsitems/qdeclarativeborderimage.cpp b/src/declarative/graphicsitems/qdeclarativeborderimage.cpp
index 5a9a18d..832e1cd 100644
--- a/src/declarative/graphicsitems/qdeclarativeborderimage.cpp
+++ b/src/declarative/graphicsitems/qdeclarativeborderimage.cpp
@@ -169,7 +169,8 @@ QDeclarativeBorderImage::~QDeclarativeBorderImage()
 /*!
     \qmlproperty enumeration BorderImage::status
 
-    This property holds the status of image loading.  It can be one of:
+    This property describes the status of image loading.  It can be one of:
+
     \list
     \o BorderImage.Null - no image has been set
     \o BorderImage.Ready - the image has been loaded
@@ -201,18 +202,24 @@ QDeclarativeBorderImage::~QDeclarativeBorderImage()
 
     \note Generally scaling artifacts are only visible if the image is stationary on
     the screen.  A common pattern when animating an image is to disable smooth
-    filtering at the beginning of the animation and reenable it at the conclusion.
+    filtering at the beginning of the animation and enable it at the conclusion.
 */
 
 /*!
     \qmlproperty url BorderImage::source
 
-    BorderImage can handle any image format supported by Qt, loaded from any URL scheme supported by Qt.
+    This property holds the URL that refers to the source image.
+
+    BorderImage can handle any image format supported by Qt, loaded from any
+    URL scheme supported by Qt.
+
+    It can also handle .sci files, which are a QML-specific format. A .sci
+    file uses a simple text-based format that specifies the borders, the
+    image file and the tile rules.
 
-    It can also handle .sci files, which are a QML-specific format. A .sci file uses a simple text-based format that specifies
-    the borders, the image file and the tile rules.
+    The following .sci file sets the borders to 10 on each side for the
+    image \c picture.png:
 
-    The following .sci file sets the borders to 10 on each side for the image \c picture.png:
     \qml
     border.left: 10
     border.top: 10
@@ -356,7 +363,7 @@ QDeclarativeScaleGrid *QDeclarativeBorderImage::border()
     This property describes how to repeat or stretch the middle parts of the border image.
 
     \list
-    \o BorderImage.Stretch - Scale the image to fit to the available area.
+    \o BorderImage.Stretch - Scales the image to fit to the available area.
     \o BorderImage.Repeat - Tile the image until there is no more space. May crop the last image.
     \o BorderImage.Round - Like Repeat, but scales the images down to ensure that the last image is not cropped.
     \endlist
diff --git a/src/declarative/graphicsitems/qdeclarativepositioners.cpp b/src/declarative/graphicsitems/qdeclarativepositioners.cpp
index 4ceb5d9..b653282 100644
--- a/src/declarative/graphicsitems/qdeclarativepositioners.cpp
+++ b/src/declarative/graphicsitems/qdeclarativepositioners.cpp
@@ -330,58 +330,65 @@ static inline bool isInvisible(QGraphicsObject *child)
 
 /*!
   \qmlclass Column QDeclarativeColumn
-    \ingroup qml-positioning-elements
-    \since 4.7
+  \ingroup qml-positioning-elements
+  \since 4.7
   \brief The Column item arranges its children vertically.
   \inherits Item
 
   The Column item positions its child items so that they are vertically
-    aligned and not overlapping. Spacing between items can be added.
+  aligned and not overlapping.
 
-  The below example positions differently shaped rectangles using a Column.
-  \table
-  \row
-  \o \image verticalpositioner_example.png
-  \o
-  \qml
-Column {
-    spacing: 2
-    Rectangle { color: "red"; width: 50; height: 50 }
-    Rectangle { color: "green"; width: 20; height: 50 }
-    Rectangle { color: "blue"; width: 50; height: 20 }
-}
-  \endqml
-  \endtable
+  Spacing between items can be added using the \l spacing property.
+  Transitions can be used for cases where items managed by a Column are
+  added or moved. These are stored in the \l add and \l move properties
+  respectively.
+
+  See \l{Using QML Positioner and Repeater Items} for more details about this item and other
+  related items.
+
+  \section1 Example Usage
+
+  The following example positions differently shaped rectangles using a Column
+  item.
+
+  \image verticalpositioner_example.png
+
+  \snippet doc/src/snippets/declarative/column/vertical-positioner.qml document
+
+  \section1 Using Transitions
+
+  Transitions can be used to animate items that are added to, moved within,
+  or removed from a Column item. The \l add and \l move properties can be set to
+  the transitions that will be applied when items are added to, removed from,
+  or re-positioned within a Column item.
+
+  The use of transitions with positioners is described in more detail in the
+  \l{Using QML Positioner and Repeater Items#Using Transitions}{Using QML
+  Positioner and Repeater Items} document.
 
-  Column also provides for transitions to be set when items are added, moved,
-  or removed in the positioner. Adding and removing apply both to items which are deleted
-  or have their position in the document changed so as to no longer be children of the positioner,
-  as well as to items which have their opacity set to or from zero so as to appear or disappear.
+  \image verticalpositioner_transition.gif
 
-  \table
-  \row
-  \o \image verticalpositioner_transition.gif
-  \o
   \qml
-Column {
-    spacing: 2
-    add: ...
-    move: ...
-    ...
-}
+  Column {
+      spacing: 2
+      add: ...
+      move: ...
+      ...
+  }
   \endqml
-  \endtable
+
+  \section1 Limitations
 
   Note that the positioner assumes that the x and y positions of its children
   will not change. If you manually change the x or y properties in script, bind
   the x or y properties, use anchors on a child of a positioner, or have the
   height of a child depend on the position of a child, then the
-  positioner may exhibit strange behaviour. If you need to perform any of these
+  positioner may exhibit strange behavior. If you need to perform any of these
   actions, consider positioning the items without the use of a Column.
 
   Items with a width or height of 0 will not be positioned.
 
-  \sa Row, {declarative/positioners}{Positioners example}
+  \sa Row, Grid, Flow, {declarative/positioners}{Positioners example}
 */
 /*!
     \qmlproperty Transition Column::add
@@ -389,55 +396,47 @@ Column {
     This property holds the transition to be applied when adding an
     item to the positioner. The transition will only be applied to the
     added item(s).  Positioner transitions will only affect the
-    position (x,y) of items.
-
-    Added can mean that either the object has been created or
-    reparented, and thus is now a child or the positioner, or that the
-    object has had its opacity increased from zero, and thus is now
-    visible.
+    position (x, y) of items.
 
+    For a positioner, adding an item can mean that either the object
+    has been created or reparented, and thus is now a child or the
+    positioner, or that the object has had its opacity increased from
+    zero, and thus is now visible.
 
+    \sa move
 */
 /*!
     \qmlproperty Transition Column::move
 
     This property holds the transition to apply when moving an item
     within the positioner.  Positioner transitions will only affect
-    the position (x,y) of items.
+    the position (x, y) of items.
+
+    This transition can be performed when other items are added or removed
+    from the positioner, or when items resize themselves.
 
-    This can happen when other items are added or removed from the
-    positioner, or when items resize themselves.
+    \image positioner-move.gif
 
-    \table
-    \row
-    \o \image positioner-move.gif
-    \o
     \qml
-Column {
-    move: Transition {
-        NumberAnimation {
-            properties: "y"
-            easing.type: Easing.OutBounce
+    Column {
+        move: Transition {
+            NumberAnimation {
+                properties: "y"
+                easing.type: Easing.OutBounce
+            }
         }
     }
-}
     \endqml
-    \endtable
+
+    \sa add, {declarative/positioners}{Positioners example}
 */
 /*!
   \qmlproperty int Column::spacing
 
-  spacing is the amount in pixels left empty between each adjacent
-  item, and defaults to 0.
-
-  The below example places a \l Grid containing a red, a blue and a
-  green rectangle on a gray background. The area the grid positioner
-  occupies is colored white. The top positioner has the default of no spacing,
-  and the bottom positioner has its spacing set to 2.
-
-  \image spacing_a.png
-  \image spacing_b.png
+  The spacing is the amount in pixels left empty between adjacent
+  items. The default spacing is 0.
 
+  \sa Grid::spacing
 */
 /*!
     \internal
@@ -496,29 +495,38 @@ void QDeclarativeColumn::reportConflictingAnchors()
 
 /*!
   \qmlclass Row QDeclarativeRow
-    \ingroup qml-positioning-elements
+  \ingroup qml-positioning-elements
   \since 4.7
   \brief The Row item arranges its children horizontally.
   \inherits Item
 
-  The Row item positions its child items so that they are
-  horizontally aligned and not overlapping. 
+  The Row item positions its child items so that they are horizontally
+  aligned and not overlapping. 
 
   Use \l spacing to set the spacing between items in a Row, and use the
   \l add and \l move properties to set the transitions that should be applied
   when items are added to, removed from, or re-positioned within the Row.
 
-  The below example lays out differently shaped rectangles using a Row.
-  \qml
-Row {
-    spacing: 2
-    Rectangle { color: "red"; width: 50; height: 50 }
-    Rectangle { color: "green"; width: 20; height: 50 }
-    Rectangle { color: "blue"; width: 50; height: 20 }
-}
-  \endqml
+  See \l{Using QML Positioner and Repeater Items} for more details about this item and other
+  related items.
+
+  \section1 Example Usage
+
+  The following example lays out differently shaped rectangles using a Row.
+
   \image horizontalpositioner_example.png
 
+  \snippet doc/src/snippets/declarative/row/row.qml document
+
+  \section1 Using Transitions
+
+  Transitions can be used to animate items that are added to, moved within,
+  or removed from a Grid item. The \l add and \l move properties can be set to
+  the transitions that will be applied when items are added to, removed from,
+  or re-positioned within a Row item.
+
+  \section1 Limitations
+
   Note that the positioner assumes that the x and y positions of its children
   will not change. If you manually change the x or y properties in script, bind
   the x or y properties, use anchors on a child of a positioner, or have the
@@ -528,56 +536,54 @@ Row {
 
   Items with a width or height of 0 will not be positioned.
 
-  \sa Column, {declarative/positioners}{Positioners example}
+  \sa Column, Grid, Flow, {declarative/positioners}{Positioners example}
 */
 /*!
     \qmlproperty Transition Row::add
-    This property holds the transition to apply when adding an item to the positioner.
-    The transition will only be applied to the added item(s).
-    Positioner transitions will only affect the position (x,y) of items.
-
-    An object is considered to be added to the positioner if it has been
-    created or reparented and thus is now a child or the positioner, or if the
-    object has had its opacity increased from zero, and thus is now
-    visible.
+
+    This property holds the transition to be applied when adding an
+    item to the positioner. The transition will only be applied to the
+    added item(s).  Positioner transitions will only affect the
+    position (x, y) of items.
+
+    For a positioner, adding an item can mean that either the object
+    has been created or reparented, and thus is now a child or the
+    positioner, or that the object has had its opacity increased from
+    zero, and thus is now visible.
+
+    \sa move
 */
 /*!
     \qmlproperty Transition Row::move
 
-    This property holds the transition to apply when moving an item
-    within the positioner.  Positioner transitions will only affect
-    the position (x,y) of items.
+    This property holds the transition to be applied when moving an
+    item within the positioner. Positioner transitions will only affect
+    the position (x, y) of items.
 
-    This can happen when other items are added or removed from the
-    positioner, or when items resize themselves.
+    This transition can be performed when other items are added or removed
+    from the positioner, or when items resize themselves.
 
     \qml
-Row {
-    id: positioner
-    move: Transition {
-        NumberAnimation {
-            properties: "x"
-            ease: "easeOutBounce"
+    Row {
+        id: positioner
+        move: Transition {
+            NumberAnimation {
+                properties: "x"
+                ease: "easeOutBounce"
+            }
         }
     }
-}
     \endqml
 
+    \sa add, {declarative/positioners}{Positioners example}
 */
 /*!
   \qmlproperty int Row::spacing
 
-  spacing is the amount in pixels left empty between each adjacent
-  item, and defaults to 0.
-
-  The below example places a \l Grid containing a red, a blue and a
-  green rectangle on a gray background. The area the grid positioner
-  occupies is colored white. The top positioner has the default of no spacing,
-  and the bottom positioner has its spacing set to 2.
-
-  \image spacing_a.png
-  \image spacing_b.png
+  The spacing is the amount in pixels left empty between adjacent
+  items. The default spacing is 0.
 
+  \sa Grid::spacing
 */
 /*!
     \internal
@@ -635,47 +641,45 @@ void QDeclarativeRow::reportConflictingAnchors()
 
 /*!
   \qmlclass Grid QDeclarativeGrid
-    \ingroup qml-positioning-elements
+  \ingroup qml-positioning-elements
   \since 4.7
   \brief The Grid item positions its children in a grid.
   \inherits Item
 
   The Grid item positions its child items so that they are
   aligned in a grid and are not overlapping. 
-  
-  Spacing can be added
-  between child items. It also provides for transitions to be set when items are
-  added, moved, or removed in the positioner. Adding and removing apply
-  both to items which are deleted or have their position in the
-  document changed so as to no longer be children of the positioner, as
-  well as to items which have their opacity set to or from zero so
-  as to appear or disappear.
-
-  A Grid defaults to four columns, and as many rows as
-  are necessary to fit all child items. The number of rows
-  and/or the number of columns can be constrained by setting the \l rows
-  or \l columns properties. The grid positioner calculates a grid with
-  rectangular cells of sufficient size to hold all items, and then
-  places the items in the cells, going across then down, and
-  positioning each item at the (0,0) corner of the cell. The below
-  example demonstrates this.
-
-  \table
-  \row
-  \o \image gridLayout_example.png
-  \o
-  \qml
-Grid {
-    columns: 3
-    spacing: 2
-    Rectangle { color: "red"; width: 50; height: 50 }
-    Rectangle { color: "green"; width: 20; height: 50 }
-    Rectangle { color: "blue"; width: 50; height: 20 }
-    Rectangle { color: "cyan"; width: 50; height: 50 }
-    Rectangle { color: "magenta"; width: 10; height: 10 }
-}
-  \endqml
-  \endtable
+
+  A Grid defaults to four columns, and as many rows as are necessary to
+  fit all child items. The number of rows and columns can be constrained
+  by setting the \l rows and \l columns properties. The grid positioner
+  calculates a grid of rectangular cells of sufficient size to hold all
+  items, placing the items in the cells, from left to right and top to
+  bottom. Each item is positioned in the top-left corner of its cell
+  with position (0, 0).
+
+  Spacing can be added between child items by setting the \l spacing
+  property. The amount of spacing applied will be the same in the
+  horizontal and vertical directions.
+
+  See \l{Using QML Positioner and Repeater Items} for more details about this item and other
+  related items.
+
+  \section1 Example Usage
+
+  The following example demonstrates this.
+
+  \image gridLayout_example.png
+
+  \snippet doc/src/snippets/declarative/grid/grid.qml document
+
+  \section1 Using Transitions
+
+  Transitions can be used to animate items that are added to, moved within,
+  or removed from a Grid item. The \l add and \l move properties can be set to
+  the transitions that will be applied when items are added to, removed from,
+  or re-positioned within a Grid item.
+
+  \section1 Limitations
 
   Note that the positioner assumes that the x and y positions of its children
   will not change. If you manually change the x or y properties in script, bind
@@ -686,55 +690,62 @@ Grid {
 
   Items with a width or height of 0 will not be positioned.
 
-  \sa Flow, {declarative/positioners}{Positioners example}
+  \sa Flow, Row, Column, {declarative/positioners}{Positioners example}
 */
 /*!
     \qmlproperty Transition Grid::add
-    This property holds the transition to apply when adding an item to the positioner.
-    The transition is only applied to the added item(s).
-    Positioner transitions will only affect the position (x,y) of items,
-    as that is all the positioners affect. To animate other property change
-    you will have to do so based on how you have changed those properties.
-
-    An object is considered to be added to the positioner if it has been
-    created or reparented and thus is now a child or the positioner, or if the
-    object has had its opacity increased from zero, and thus is now
-    visible.
+
+    This property holds the transition to be applied when adding an
+    item to the positioner. The transition will only be applied to the
+    added item(s).  Positioner transitions will only affect the
+    position (x, y) of items.
+
+    For a positioner, adding an item can mean that either the object
+    has been created or reparented, and thus is now a child or the
+    positioner, or that the object has had its opacity increased from
+    zero, and thus is now visible.
+
+    \sa move
 */
 /*!
     \qmlproperty Transition Grid::move
-    This property holds the transition to apply when moving an item within the positioner.
-    Positioner transitions will only affect the position (x,y) of items.
 
-    This can happen when other items are added or removed from the positioner, or
-    when items resize themselves.
+    This property holds the transition to be applied when moving an
+    item within the positioner. Positioner transitions will only affect
+    the position (x, y) of items.
+
+    This transition can be performed when other items are added or removed
+    from the positioner, or when items resize themselves.
 
     \qml
-Grid {
-    move: Transition {
-        NumberAnimation {
-            properties: "x,y"
-            ease: "easeOutBounce"
+    Grid {
+        move: Transition {
+            NumberAnimation {
+                properties: "x,y"
+                ease: "easeOutBounce"
+            }
         }
     }
-}
     \endqml
 
+    \sa add, {declarative/positioners}{Positioners example}
 */
 /*!
   \qmlproperty int Grid::spacing
 
-  spacing is the amount in pixels left empty between each adjacent
-  item, and defaults to 0.
+  The spacing is the amount in pixels left empty between adjacent
+  items. The default spacing is 0.
 
   The below example places a Grid containing a red, a blue and a
   green rectangle on a gray background. The area the grid positioner
-  occupies is colored white. The top positioner has the default of no spacing,
-  and the bottom positioner has its spacing set to 2.
+  occupies is colored white. The positioner on the left has the
+  no spacing (the default), and the positioner on the right has
+  a spacing of 6.
 
-  \image spacing_a.png
-  \image spacing_b.png
+  \inlineimage qml-grid-no-spacing.png
+  \inlineimage qml-grid-spacing.png
 
+  \sa rows, columns
 */
 /*!
     \internal
@@ -748,7 +759,9 @@ QDeclarativeGrid::QDeclarativeGrid(QDeclarativeItem *parent) :
 
 /*!
     \qmlproperty int Grid::columns
-    This property holds the number of columns in the grid.
+
+    This property holds the number of columns in the grid. The default
+    number of columns is 4.
 
     If the grid does not have enough items to fill the specified
     number of columns, some columns will be of zero width.
@@ -930,13 +943,43 @@ void QDeclarativeGrid::reportConflictingAnchors()
 
 /*!
   \qmlclass Flow QDeclarativeFlow
-    \ingroup qml-positioning-elements
+  \ingroup qml-positioning-elements
   \since 4.7
   \brief The Flow item arranges its children side by side, wrapping as necessary.
   \inherits Item
 
-  The Flow item positions its child items so that they are side by side and are
-  not overlapping.
+  The Flow item positions its child items like words on a page, wrapping them
+  to create rows or columns of items that do not overlap.
+
+  Spacing between items can be added using the \l spacing property.
+  Transitions can be used for cases where items managed by a Column are
+  added or moved. These are stored in the \l add and \l move properties
+  respectively.
+
+  See \l{Using QML Positioner and Repeater Items} for more details about this item and other
+  related items.
+
+  \section1 Example Usage
+
+  The following example positions \l Text items within a parent item using
+  a Flow item.
+
+  \image qml-flow-snippet.png
+
+  \snippet doc/src/snippets/declarative/flow.qml flow item
+
+  \section1 Using Transitions
+
+  Transitions can be used to animate items that are added to, moved within,
+  or removed from a Flow item. The \l add and \l move properties can be set to
+  the transitions that will be applied when items are added to, removed from,
+  or re-positioned within a Flow item.
+
+  The use of transitions with positioners is described in more detail in the
+  \l{Using QML Positioner and Repeater Items#Using Transitions}{Using QML
+  Positioner and Repeater Items} document.
+
+  \section1 Limitations
 
   Note that the positioner assumes that the x and y positions of its children
   will not change. If you manually change the x or y properties in script, bind
@@ -947,38 +990,46 @@ void QDeclarativeGrid::reportConflictingAnchors()
 
   Items with a width or height of 0 will not be positioned.
 
-    \sa Grid, {declarative/positioners}{Positioners example}
+  \sa Column, Row, Grid, {declarative/positioners}{Positioners example}
 */
 /*!
     \qmlproperty Transition Flow::add
-    This property holds the transition to apply when adding an item to the positioner.
-    The transition will only be applied to the added item(s).
-    Positioner transitions will only affect the position (x,y) of items.
-
-    An object is considered to be added to the positioner if it has been
-    created or reparented and thus is now a child or the positioner, or if the
-    object has had its opacity increased from zero, and thus is now
-    visible.
+
+    This property holds the transition to be applied when adding an
+    item to the positioner. The transition will only be applied to the
+    added item(s).  Positioner transitions will only affect the
+    position (x, y) of items.
+
+    For a positioner, adding an item can mean that either the object
+    has been created or reparented, and thus is now a child or the
+    positioner, or that the object has had its opacity increased from
+    zero, and thus is now visible.
+
+    \sa move
 */
 /*!
     \qmlproperty Transition Flow::move
-    This property holds the transition to apply when moving an item within the positioner.
-    Positioner transitions will only affect the position (x,y) of items.
 
-    This can happen when other items are added or removed from the positioner, or when items resize themselves.
+    This property holds the transition to be applied when moving an
+    item within the positioner. Positioner transitions will only affect
+    the position (x, y) of items.
+
+    This transition can be performed when other items are added or removed
+    from the positioner, or when items resize themselves.
 
     \qml
-Flow {
-    id: positioner
-    move: Transition {
-        NumberAnimation {
-            properties: "x,y"
-            ease: "easeOutBounce"
+    Flow {
+        id: positioner
+        move: Transition {
+            NumberAnimation {
+                properties: "x,y"
+                ease: "easeOutBounce"
+            }
         }
     }
-}
     \endqml
 
+    \sa add, {declarative/positioners}{Positioners example}
 */
 /*!
   \qmlproperty int Flow::spacing
@@ -986,6 +1037,7 @@ Flow {
   spacing is the amount in pixels left empty between each adjacent
   item, and defaults to 0.
 
+  \sa Grid::spacing
 */
 
 class QDeclarativeFlowPrivate : public QDeclarativeBasePositionerPrivate
diff --git a/src/declarative/graphicsitems/qdeclarativerepeater.cpp b/src/declarative/graphicsitems/qdeclarativerepeater.cpp
index 4a951a2..c4052bb 100644
--- a/src/declarative/graphicsitems/qdeclarativerepeater.cpp
+++ b/src/declarative/graphicsitems/qdeclarativerepeater.cpp
@@ -78,9 +78,9 @@ QDeclarativeRepeaterPrivate::~QDeclarativeRepeaterPrivate()
     The following Repeater creates three instances of a \l Rectangle item within
     a \l Row:
 
-    \snippet doc/src/snippets/declarative/repeater.qml import
+    \snippet doc/src/snippets/declarative/repeaters/repeater.qml import
     \codeline
-    \snippet doc/src/snippets/declarative/repeater.qml simple
+    \snippet doc/src/snippets/declarative/repeaters/repeater.qml simple
 
     \image repeater-simple.png
 
@@ -92,7 +92,7 @@ QDeclarativeRepeaterPrivate::~QDeclarativeRepeaterPrivate()
     a Repeater to be used inside a layout. For example, the following Repeater's
     items are stacked between a red rectangle and a blue rectangle:
    
-    \snippet doc/src/snippets/declarative/repeater.qml layout
+    \snippet doc/src/snippets/declarative/repeaters/repeater.qml layout
 
     \image repeater.png
 
@@ -106,7 +106,7 @@ QDeclarativeRepeaterPrivate::~QDeclarativeRepeaterPrivate()
 
     \table
     \row
-    \o \snippet doc/src/snippets/declarative/repeater.qml index
+    \o \snippet doc/src/snippets/declarative/repeaters/repeater.qml index
     \o \image repeater-index.png
     \endtable
 
@@ -115,7 +115,7 @@ QDeclarativeRepeaterPrivate::~QDeclarativeRepeaterPrivate()
 
     \table
     \row
-    \o \snippet doc/src/snippets/declarative/repeater.qml modeldata
+    \o \snippet doc/src/snippets/declarative/repeaters/repeater.qml modeldata
     \o \image repeater-modeldata.png
     \endtable
 
-- 
cgit v0.12


From 2cac8ca88c9b5b2f9d3040b1543d88ecee52da99 Mon Sep 17 00:00:00 2001
From: David Boddie <dboddie@trolltech.com>
Date: Fri, 27 Aug 2010 18:27:50 +0200
Subject: Doc: Fixed links and markup.

---
 doc/src/getting-started/gettingstartedqml.qdoc | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/doc/src/getting-started/gettingstartedqml.qdoc b/doc/src/getting-started/gettingstartedqml.qdoc
index a19d281..771f92e 100644
--- a/doc/src/getting-started/gettingstartedqml.qdoc
+++ b/doc/src/getting-started/gettingstartedqml.qdoc
@@ -820,11 +820,11 @@
 
     The \c files list property is a list of all the filtered files in a directory.
     The \c Directory class is implemented to filter out invalid text files; only
-    files with a \c .txt extension are valid. Further, \l {QLists}{QLists} can be
-    used in QML files by declaring them as a \c QDeclarativeListProperty in C++.
-    The templated object needs to inherit from a \l {QObject}{QObject}, therefore,
-    the \c File class must also inherit from \c QObject. In the \c Directory class,
-    the list of \c File objects is stored in a \c QList called \c m_fileList.
+    files with a \c .txt extension are valid. Further, \l{QList}s can be
+    used in QML files by declaring them as a QDeclarativeListProperty in C++.
+    The templated object needs to inherit from a QObject, therefore,
+    the \c File class must also inherit from QObject. In the \c Directory class,
+    the list of \c File objects is stored in a QList called \c m_fileList.
 
     \code
         class File : public QObject{
-- 
cgit v0.12


From eb1015c7bbf135af3656110a4d112377c1209db8 Mon Sep 17 00:00:00 2001
From: "Bradley T. Hughes" <bradley.hughes@nokia.com>
Date: Mon, 30 Aug 2010 14:57:06 +0200
Subject: Fix Qt applications freezing until mouse/keyboard events occur.

While the qt_GetMessageHook() is executing, GetQueueStatus() reports
that there are timer messages in the queue, but these are never actually
seen by the hook. Calling PeekMessage() will never return these messages
(which is what we really want to know), so don't use GetQueueStatus()
with QS_TIMER.

Task-number: QTBUG-12721
Reviewed-by: denis
Reviewed-by: joao
---
 src/corelib/kernel/qeventdispatcher_win.cpp | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/src/corelib/kernel/qeventdispatcher_win.cpp b/src/corelib/kernel/qeventdispatcher_win.cpp
index 8010a76..f63fa1d 100644
--- a/src/corelib/kernel/qeventdispatcher_win.cpp
+++ b/src/corelib/kernel/qeventdispatcher_win.cpp
@@ -65,7 +65,11 @@ extern uint qGlobalPostedEventsCount();
 #endif
 
 #ifndef QS_RAWINPUT
+# ifdef Q_OS_WINCE
+#  define QS_RAWINPUT 0x0000
+# else
 #  define QS_RAWINPUT 0x0400
+# endif
 #endif
 
 #ifndef WM_TOUCH
@@ -78,8 +82,7 @@ extern uint qGlobalPostedEventsCount();
 
 enum {
     WM_QT_SOCKETNOTIFIER = WM_USER,
-    WM_QT_SENDPOSTEDEVENTS = WM_USER + 1,
-    SendPostedEventsTimerId = ~1u
+    WM_QT_SENDPOSTEDEVENTS = WM_USER + 1
 };
 
 #if defined(Q_OS_WINCE)
@@ -503,7 +506,9 @@ LRESULT CALLBACK qt_GetMessageHook(int code, WPARAM wp, LPARAM lp)
         if (q) {
             QEventDispatcherWin32Private *d = q->d_func();
             int localSerialNumber = d->serialNumber;
-            if (HIWORD(GetQueueStatus(QS_INPUT | QS_RAWINPUT | QS_TIMER)) == 0) {
+            MSG unused;
+            if ((HIWORD(GetQueueStatus(QS_INPUT | QS_RAWINPUT)) == 0
+                 && PeekMessage(&unused, 0, WM_TIMER, WM_TIMER, PM_NOREMOVE) == 0)) {
                 // no more input or timer events in the message queue, we can allow posted events to be
                 // sent now
                 (void) d->wakeUps.fetchAndStoreRelease(0);
@@ -799,7 +804,7 @@ bool QEventDispatcherWin32::processEvents(QEventLoop::ProcessEventsFlags flags)
                 pHandles[i] = d->winEventNotifierList.at(i)->handle();
 
             emit aboutToBlock();
-            waitRet = MsgWaitForMultipleObjectsEx(nCount, pHandles, INFINITE, QS_ALLINPUT, MWMO_ALERTABLE);
+            waitRet = MsgWaitForMultipleObjectsEx(nCount, pHandles, INFINITE, QS_ALLINPUT, MWMO_ALERTABLE | MWMO_INPUTAVAILABLE);
             emit awake();
             if (waitRet >= WAIT_OBJECT_0 && waitRet < WAIT_OBJECT_0 + nCount) {
                 d->activateEventNotifier(d->winEventNotifierList.at(waitRet - WAIT_OBJECT_0));
-- 
cgit v0.12


From ae574f7341f4f76a1f7de570cc3d56f77781e625 Mon Sep 17 00:00:00 2001
From: Kent Hansen <kent.hansen@nokia.com>
Date: Tue, 31 Aug 2010 11:15:30 +0200
Subject: Fix QtScript Date <--> QDateTime (local time) conversion

This has already been fixed in 4.7 (QTBUG-9770), but the change is
too big to backport.
The general idea is the same: Only operate on UTC dates internally
(since that's how JS dates are stored), and let QDateTime take care
of converting from/to local dates as necessary.

The fix itself shouldn't be merged to 4.7, but the autotests should.

Task-number: QTBUG-9770
Reviewed-by: Jedrzej Nowacki
---
 src/script/utils/qscriptdate.cpp               | 11 ++---
 tests/auto/qscriptengine/tst_qscriptengine.cpp | 66 ++++++++++++++++++++++++++
 2 files changed, 70 insertions(+), 7 deletions(-)

diff --git a/src/script/utils/qscriptdate.cpp b/src/script/utils/qscriptdate.cpp
index 5980256..3985adb 100644
--- a/src/script/utils/qscriptdate.cpp
+++ b/src/script/utils/qscriptdate.cpp
@@ -320,8 +320,9 @@ qsreal FromDateTime(const QDateTime &dt)
         return qSNaN();
     if (!LocalTZA) // ### move
         LocalTZA = getLocalTZA();
-    QDate date = dt.date();
-    QTime taim = dt.time();
+    QDateTime utc = dt.toUTC();
+    QDate date = utc.date();
+    QTime taim = utc.time();
     int year = date.year();
     int month = date.month() - 1;
     int day = date.day();
@@ -331,8 +332,6 @@ qsreal FromDateTime(const QDateTime &dt)
     int ms = taim.msec();
     double t = MakeDate(MakeDay(year, month, day),
                         MakeTime(hours, mins, secs, ms));
-    if (dt.timeSpec() == Qt::LocalTime)
-        t = UTC(t);
     return TimeClip(t);
 }
 
@@ -348,8 +347,6 @@ QDateTime ToDateTime(qsreal t, Qt::TimeSpec spec)
         return QDateTime();
     if (!LocalTZA) // ### move
         LocalTZA = getLocalTZA();
-    if (spec == Qt::LocalTime)
-        t = LocalTime(t);
     int year = int(YearFromTime(t));
     int month = int(MonthFromTime(t) + 1);
     int day = int(DateFromTime(t));
@@ -357,7 +354,7 @@ QDateTime ToDateTime(qsreal t, Qt::TimeSpec spec)
     int mins = MinFromTime(t);
     int secs = SecFromTime(t);
     int ms = msFromTime(t);
-    return QDateTime(QDate(year, month, day), QTime(hours, mins, secs, ms), spec);
+    return QDateTime(QDate(year, month, day), QTime(hours, mins, secs, ms), Qt::UTC).toTimeSpec(spec);
 }
 
 } // namespace QScript
diff --git a/tests/auto/qscriptengine/tst_qscriptengine.cpp b/tests/auto/qscriptengine/tst_qscriptengine.cpp
index bb01a42..3bb9d17 100644
--- a/tests/auto/qscriptengine/tst_qscriptengine.cpp
+++ b/tests/auto/qscriptengine/tst_qscriptengine.cpp
@@ -166,6 +166,10 @@ private slots:
 
     void qRegExpInport_data();
     void qRegExpInport();
+    void dateRoundtripJSQtJS();
+    void dateRoundtripQtJSQt();
+    void dateConversionJSQt();
+    void dateConversionQtJS();
 };
 
 tst_QScriptEngine::tst_QScriptEngine()
@@ -4895,5 +4899,67 @@ void tst_QScriptEngine::qRegExpInport()
     }
 }
 
+// QScriptValue::toDateTime() returns a local time, whereas JS dates
+// are always stored as UTC. QtScript must respect the current time
+// zone, and correctly adjust for daylight saving time that may be in
+// effect at a given date (QTBUG-9770).
+void tst_QScriptEngine::dateRoundtripJSQtJS()
+{
+    uint secs = QDateTime(QDate(2009, 1, 1)).toUTC().toTime_t();
+    QScriptEngine eng;
+    for (int i = 0; i < 8000; ++i) {
+        QScriptValue jsDate = eng.evaluate(QString::fromLatin1("new Date(%0)").arg(secs * 1000.0));
+        QDateTime qtDate = jsDate.toDateTime();
+        QScriptValue jsDate2 = eng.newDate(qtDate);
+        if (jsDate2.toNumber() != jsDate.toNumber())
+            QFAIL(qPrintable(jsDate.toString()));
+        secs += 2*60*60;
+    }
+}
+
+void tst_QScriptEngine::dateRoundtripQtJSQt()
+{
+    QDateTime qtDate = QDateTime(QDate(2009, 1, 1));
+    QScriptEngine eng;
+    for (int i = 0; i < 8000; ++i) {
+        QScriptValue jsDate = eng.newDate(qtDate);
+        QDateTime qtDate2 = jsDate.toDateTime();
+        if (qtDate2 != qtDate)
+            QFAIL(qPrintable(qtDate.toString()));
+        qtDate = qtDate.addSecs(2*60*60);
+    }
+}
+
+void tst_QScriptEngine::dateConversionJSQt()
+{
+    uint secs = QDateTime(QDate(2009, 1, 1)).toUTC().toTime_t();
+    QScriptEngine eng;
+    for (int i = 0; i < 8000; ++i) {
+        QScriptValue jsDate = eng.evaluate(QString::fromLatin1("new Date(%0)").arg(secs * 1000.0));
+        QDateTime qtDate = jsDate.toDateTime();
+        QString qtUTCDateStr = qtDate.toUTC().toString(Qt::ISODate);
+        QString jsUTCDateStr = jsDate.property("toISOString").call(jsDate).toString();
+        jsUTCDateStr.chop(5); // get rid of milliseconds (".000Z")
+        if (qtUTCDateStr != jsUTCDateStr)
+            QFAIL(qPrintable(jsDate.toString()));
+        secs += 2*60*60;
+    }
+}
+
+void tst_QScriptEngine::dateConversionQtJS()
+{
+    QDateTime qtDate = QDateTime(QDate(2009, 1, 1));
+    QScriptEngine eng;
+    for (int i = 0; i < 8000; ++i) {
+        QScriptValue jsDate = eng.newDate(qtDate);
+        QString jsUTCDateStr = jsDate.property("toISOString").call(jsDate).toString();
+        jsUTCDateStr.chop(5); // get rid of milliseconds (".000Z")
+        QString qtUTCDateStr = qtDate.toUTC().toString(Qt::ISODate);
+        if (jsUTCDateStr != qtUTCDateStr)
+            QFAIL(qPrintable(qtDate.toString()));
+        qtDate = qtDate.addSecs(2*60*60);
+    }
+}
+
 QTEST_MAIN(tst_QScriptEngine)
 #include "tst_qscriptengine.moc"
-- 
cgit v0.12


From 19198b08a1d5b6f4e6875d93e2647b38e8f11184 Mon Sep 17 00:00:00 2001
From: Pierre Rossi <pierre.rossi@nokia.com>
Date: Fri, 20 Aug 2010 17:52:36 +0200
Subject: Some small Solaris fixes.

Sets the arch properly for solaris-cc-64-stlport on x86_64.
This patch also removes three redundant lines in configure and disables
qtconcurrent examples when it's not available.

Reviewed-by: Thiago
---
 configure             | 5 +----
 examples/examples.pro | 2 +-
 2 files changed, 2 insertions(+), 5 deletions(-)

diff --git a/configure b/configure
index eaae2d1..f3420c8 100755
--- a/configure
+++ b/configure
@@ -1388,9 +1388,6 @@ while [ "$#" -gt 0 ]; do
         solaris-64)
             PLATFORM=solaris-cc-64
             ;;
-        solaris-64)
-            PLATFORM=solaris-cc-64
-            ;;
         openunix-cc)
             PLATFORM=unixware-cc
             ;;
@@ -2687,7 +2684,7 @@ if [ -z "${CFG_HOST_ARCH}" ]; then
             ;;
         i86pc)
 	    case "$PLATFORM" in
-	    *-64)
+	    *-64*)
                 if [ "$OPT_VERBOSE" = "yes" ]; then
 	            echo "    64-bit AMD 80x86 (x86_64)"
                 fi
diff --git a/examples/examples.pro b/examples/examples.pro
index 7d9aa05..4408a8b 100644
--- a/examples/examples.pro
+++ b/examples/examples.pro
@@ -13,7 +13,6 @@ SUBDIRS       = \
                 mainwindows \
                 network \
                 painting \
-                qtconcurrent \
                 richtext \
                 sql \
                 statemachine \
@@ -61,6 +60,7 @@ contains(QT_CONFIG, dbus): SUBDIRS += dbus
 win32: SUBDIRS += activeqt
 contains(QT_CONFIG, xmlpatterns): SUBDIRS += xmlpatterns
 contains(DEFINES, QT_NO_CURSOR): SUBDIRS -= mainwindows
+contains(QT_CONFIG, concurrent): SUBDIRS += qtconcurrent
 
 # install
 sources.files = README *.pro
-- 
cgit v0.12


From 4c8ea0c920d99dcf0d0decc04597da7b521f2e9c Mon Sep 17 00:00:00 2001
From: John Brooks <special@dereferenced.net>
Date: Tue, 31 Aug 2010 20:42:14 -0600
Subject: Correct QNetworkReply::downloadProgress and uploadProgress docs

The signal provides qint64, which cannot be connected to
QProgressBar::setValue(int).
---
 src/network/access/qnetworkreply.cpp | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/src/network/access/qnetworkreply.cpp b/src/network/access/qnetworkreply.cpp
index c8b8c1f..261ed20 100644
--- a/src/network/access/qnetworkreply.cpp
+++ b/src/network/access/qnetworkreply.cpp
@@ -283,9 +283,6 @@ QNetworkReplyPrivate::QNetworkReplyPrivate()
     The upload is finished when \a bytesSent is equal to \a
     bytesTotal. At that time, \a bytesTotal will not be -1.
 
-    This signal is suitable to connecting to QProgressBar::setValue()
-    to update the QProgressBar that provides user feedback.
-
     \sa downloadProgress()
 */
 
@@ -306,9 +303,6 @@ QNetworkReplyPrivate::QNetworkReplyPrivate()
     The download is finished when \a bytesReceived is equal to \a
     bytesTotal. At that time, \a bytesTotal will not be -1.
 
-    This signal is suitable to connecting to QProgressBar::setValue()
-    to update the QProgressBar that provides user feedback.
-
     Note that the values of both \a bytesReceived and \a bytesTotal
     may be different from size(), the total number of bytes
     obtained through read() or readAll(), or the value of the
-- 
cgit v0.12


From 2e8419e43ce4d5be64bddf1b5b5f5ea9e28c55de Mon Sep 17 00:00:00 2001
From: David Boddie <dboddie@trolltech.com>
Date: Wed, 1 Sep 2010 12:32:07 +0200
Subject: Doc: More work on QML documentation and snippets.

---
 doc/src/images/qml-flow-snippet.png                | Bin 10385 -> 11465 bytes
 doc/src/images/qml-flow-text1.png                  | Bin 0 -> 9647 bytes
 doc/src/images/qml-flow-text2.png                  | Bin 0 -> 10870 bytes
 doc/src/snippets/declarative/flow-diagram.qml      |  75 +++++++++++++++++++++
 doc/src/snippets/declarative/flow.qml              |   4 +-
 doc/src/snippets/declarative/grid/grid-spacing.qml |   2 +
 .../graphicsitems/qdeclarativepositioners.cpp      |  11 +--
 7 files changed, 86 insertions(+), 6 deletions(-)
 create mode 100644 doc/src/images/qml-flow-text1.png
 create mode 100644 doc/src/images/qml-flow-text2.png
 create mode 100644 doc/src/snippets/declarative/flow-diagram.qml

diff --git a/doc/src/images/qml-flow-snippet.png b/doc/src/images/qml-flow-snippet.png
index 1a2af4b..af873d1 100644
Binary files a/doc/src/images/qml-flow-snippet.png and b/doc/src/images/qml-flow-snippet.png differ
diff --git a/doc/src/images/qml-flow-text1.png b/doc/src/images/qml-flow-text1.png
new file mode 100644
index 0000000..99ce752
Binary files /dev/null and b/doc/src/images/qml-flow-text1.png differ
diff --git a/doc/src/images/qml-flow-text2.png b/doc/src/images/qml-flow-text2.png
new file mode 100644
index 0000000..844e0de
Binary files /dev/null and b/doc/src/images/qml-flow-text2.png differ
diff --git a/doc/src/snippets/declarative/flow-diagram.qml b/doc/src/snippets/declarative/flow-diagram.qml
new file mode 100644
index 0000000..80506b9
--- /dev/null
+++ b/doc/src/snippets/declarative/flow-diagram.qml
@@ -0,0 +1,75 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Rectangle {
+    color: "lightblue"
+    width: 300; height: 200
+
+//! [flow item]
+    Flow {
+        anchors.fill: parent
+        anchors.margins: 4
+        spacing: 10
+
+        Repeater {
+            id: repeater
+            model: {
+                var strings = ["Text", "items", "flowing", "inside", "a",
+                               "Flow", "item"];
+                strings;
+            }
+
+            Rectangle {
+                color: "white"
+                width: textItem.width + 4
+                height: textItem.height + 4
+                Text {
+                    id: textItem
+                    anchors.horizontalCenter: parent.horizontalCenter
+                    text: repeater.model[index]
+                    font.pixelSize: 40
+                }
+            }
+        }
+    }
+//! [flow item]
+}
diff --git a/doc/src/snippets/declarative/flow.qml b/doc/src/snippets/declarative/flow.qml
index c5fbc90..77db683 100644
--- a/doc/src/snippets/declarative/flow.qml
+++ b/doc/src/snippets/declarative/flow.qml
@@ -38,6 +38,7 @@
 **
 ****************************************************************************/
 
+//! [document]
 import Qt 4.7
 
 Rectangle {
@@ -53,10 +54,11 @@ Rectangle {
         Text { text: "Text"; font.pixelSize: 40 }
         Text { text: "items"; font.pixelSize: 40 }
         Text { text: "flowing"; font.pixelSize: 40 }
-        Text { text: "in"; font.pixelSize: 40 }
+        Text { text: "inside"; font.pixelSize: 40 }
         Text { text: "a"; font.pixelSize: 40 }
         Text { text: "Flow"; font.pixelSize: 40 }
         Text { text: "item"; font.pixelSize: 40 }
     }
 //! [flow item]
 }
+//! [document]
diff --git a/doc/src/snippets/declarative/grid/grid-spacing.qml b/doc/src/snippets/declarative/grid/grid-spacing.qml
index 5099758..8715977 100644
--- a/doc/src/snippets/declarative/grid/grid-spacing.qml
+++ b/doc/src/snippets/declarative/grid/grid-spacing.qml
@@ -38,6 +38,7 @@
 **
 ****************************************************************************/
 
+//! [document]
 import Qt 4.7
 
 Rectangle {
@@ -56,3 +57,4 @@ Rectangle {
         Rectangle { color: "#6666aa"; width: 50; height: 50 }
     }
 }
+//! [document]
diff --git a/src/declarative/graphicsitems/qdeclarativepositioners.cpp b/src/declarative/graphicsitems/qdeclarativepositioners.cpp
index b653282..149e822 100644
--- a/src/declarative/graphicsitems/qdeclarativepositioners.cpp
+++ b/src/declarative/graphicsitems/qdeclarativepositioners.cpp
@@ -649,13 +649,14 @@ void QDeclarativeRow::reportConflictingAnchors()
   The Grid item positions its child items so that they are
   aligned in a grid and are not overlapping. 
 
+  The grid positioner calculates a grid of rectangular cells of sufficient
+  size to hold all items, placing the items in the cells, from left to right
+  and top to bottom. Each item is positioned in the top-left corner of its
+  cell with position (0, 0).
+
   A Grid defaults to four columns, and as many rows as are necessary to
   fit all child items. The number of rows and columns can be constrained
-  by setting the \l rows and \l columns properties. The grid positioner
-  calculates a grid of rectangular cells of sufficient size to hold all
-  items, placing the items in the cells, from left to right and top to
-  bottom. Each item is positioned in the top-left corner of its cell
-  with position (0, 0).
+  by setting the \l rows and \l columns properties.
 
   Spacing can be added between child items by setting the \l spacing
   property. The amount of spacing applied will be the same in the
-- 
cgit v0.12


From 431cde6aa40a017abc1bfd52b2340e5b1d62d36c Mon Sep 17 00:00:00 2001
From: David Boddie <dboddie@trolltech.com>
Date: Wed, 1 Sep 2010 18:39:29 +0200
Subject: Doc: Fixed autotest breakage caused by snippets.

---
 .../snippets/declarative/qml-intro/anchors1.qml    |   2 +-
 .../snippets/declarative/qml-intro/anchors2.qml    |   2 +-
 .../snippets/declarative/qml-intro/anchors3.qml    |   2 +-
 .../declarative/qml-intro/basic-syntax.qml         |   6 +-
 .../declarative/qml-intro/hello-world4.qml         |   2 +-
 .../declarative/qml-intro/hello-world5.qml         |   2 +-
 .../declarative/qml-intro/images/qt-logo.svg       | 104 +++++++++++++++++++++
 .../declarative/qml-intro/number-animation1.qml    |   2 +-
 .../declarative/qml-intro/number-animation2.qml    |   2 +-
 .../qml-intro/sequential-animation1.qml            |   4 +-
 .../qml-intro/sequential-animation2.qml            |   4 +-
 .../qml-intro/sequential-animation3.qml            |   6 +-
 .../declarative/qml-intro/transformations1.qml     |   2 +-
 13 files changed, 124 insertions(+), 16 deletions(-)
 create mode 100644 doc/src/snippets/declarative/qml-intro/images/qt-logo.svg

diff --git a/doc/src/snippets/declarative/qml-intro/anchors1.qml b/doc/src/snippets/declarative/qml-intro/anchors1.qml
index 09ef3b2..c1158b8 100644
--- a/doc/src/snippets/declarative/qml-intro/anchors1.qml
+++ b/doc/src/snippets/declarative/qml-intro/anchors1.qml
@@ -48,7 +48,7 @@ Rectangle {
 
     Image {
         id: image1
-        source: "images/qt-logo.png"
+        source: "images/qt-logo.svg"
         width: 150; height: 150
         anchors.bottom: myWin.bottom
     }
diff --git a/doc/src/snippets/declarative/qml-intro/anchors2.qml b/doc/src/snippets/declarative/qml-intro/anchors2.qml
index ef0ec1f..a7d4922 100644
--- a/doc/src/snippets/declarative/qml-intro/anchors2.qml
+++ b/doc/src/snippets/declarative/qml-intro/anchors2.qml
@@ -48,7 +48,7 @@ Rectangle {
 
     Image {
         id: image1
-        source: "images/qt-logo.png"
+        source: "images/qt-logo.svg"
         width: 150; height: 150
         anchors.bottom: myWin.bottom
         anchors.horizontalCenter: myWin.horizontalCenter
diff --git a/doc/src/snippets/declarative/qml-intro/anchors3.qml b/doc/src/snippets/declarative/qml-intro/anchors3.qml
index 008ad1a..a2e0f03 100644
--- a/doc/src/snippets/declarative/qml-intro/anchors3.qml
+++ b/doc/src/snippets/declarative/qml-intro/anchors3.qml
@@ -47,7 +47,7 @@ Rectangle {
 
     Image {
         id: image1
-        source: "images/qt-logo.png"
+        source: "images/qt-logo.svg"
         width: 150; height: 150
         anchors.bottom: myWin.bottom
         anchors.horizontalCenter: myWin.horizontalCenter
diff --git a/doc/src/snippets/declarative/qml-intro/basic-syntax.qml b/doc/src/snippets/declarative/qml-intro/basic-syntax.qml
index 686a927..0a7d5f8 100644
--- a/doc/src/snippets/declarative/qml-intro/basic-syntax.qml
+++ b/doc/src/snippets/declarative/qml-intro/basic-syntax.qml
@@ -40,9 +40,11 @@
 
 // Note: this file is not intended to be run.
 
+import Qt 4.7
+
 //! [basic syntax]
-SomeElement {
+Item {
     id: myObject
-    ... some other things here ...
+    // ... some other things here ...
 }
 //! [basic syntax]
diff --git a/doc/src/snippets/declarative/qml-intro/hello-world4.qml b/doc/src/snippets/declarative/qml-intro/hello-world4.qml
index c18fe15..9656ff8 100644
--- a/doc/src/snippets/declarative/qml-intro/hello-world4.qml
+++ b/doc/src/snippets/declarative/qml-intro/hello-world4.qml
@@ -53,7 +53,7 @@ Rectangle {
 
 //! [added an image]
     Image {
-        source: "images/qt-logo.png"
+        source: "images/qt-logo.svg"
     }
 //! [added an image]
 
diff --git a/doc/src/snippets/declarative/qml-intro/hello-world5.qml b/doc/src/snippets/declarative/qml-intro/hello-world5.qml
index bde8dc3..b816e09 100644
--- a/doc/src/snippets/declarative/qml-intro/hello-world5.qml
+++ b/doc/src/snippets/declarative/qml-intro/hello-world5.qml
@@ -54,7 +54,7 @@ Rectangle {
 
 //! [positioning the image]
     Image {
-        source: "images/qt-logo.png"
+        source: "images/qt-logo.svg"
         x: 100; y: 150
         width: 150; height: 150
     }
diff --git a/doc/src/snippets/declarative/qml-intro/images/qt-logo.svg b/doc/src/snippets/declarative/qml-intro/images/qt-logo.svg
new file mode 100644
index 0000000..8c018be
--- /dev/null
+++ b/doc/src/snippets/declarative/qml-intro/images/qt-logo.svg
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   clip-rule="evenodd"
+   stroke-miterlimit="10"
+   viewBox="0 0 174.35 209.78"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   width="744.09186"
+   height="895.29858"
+   sodipodi:docname="qt-logo.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   version="1.0"
+   style="stroke-miterlimit:10">
+  <metadata
+     id="metadata29">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     inkscape:window-height="668"
+     inkscape:window-width="722"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     showgrid="false"
+     inkscape:zoom="0.12195802"
+     inkscape:cx="525.6108"
+     inkscape:cy="-287.87189"
+     inkscape:window-x="476"
+     inkscape:window-y="228"
+     inkscape:current-layer="svg2" />
+  <desc
+     id="desc4">SVG generated by Lineform</desc>
+  <defs
+     id="defs6">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective31" />
+  </defs>
+  <g
+     id="g8"
+     transform="translate(-1.5304326e-4,-3.775985e-4)">
+    <path
+       d="M 43.08,0.36 C 40.94,0 38.84,-0.08 36.81,0.08 L 36.8,0.08 C 36.8,0.08 22.92,1.02 22.29,1.07 C 9.62,2.08 0,12.5 0,26.89 L 0,196.55 L 14.19,209.78 L 156.79,185.81 C 166.6,184.11 174.35,172.54 174.35,160.04 L 174.35,21.88 L 43.08,0.36"
+       id="path10"
+       style="fill:#0c481e" />
+    <path
+       d="M 174.35,160.04 C 174.35,172.54 166.6,184.11 156.79,185.82 L 14.19,209.78 L 14.19,25.99 C 14.19,9.27 27.53,-2.21 43.08,0.36 L 174.35,21.88 L 174.35,160.04"
+       id="path12"
+       style="fill:#66b036" />
+    <path
+       d="M 130.42,45.91 L 141.94,47.15 L 141.94,67.36 L 154.9,68.28 L 154.9,80.96 L 141.94,80.36 L 141.94,126.69 C 141.94,130.72 142.38,133.31 143.28,134.48 C 144.08,135.55 145.32,136.07 146.99,136.07 C 147.15,136.07 147.32,136.07 147.48,136.06 C 150.03,135.91 152.81,135.13 155.83,133.75 L 155.83,145.4 C 150.69,147.65 145.65,149 140.7,149.42 C 139.99,149.47 139.29,149.5 138.62,149.5 C 134.14,149.5 130.72,148.2 128.38,145.57 C 125.65,142.52 124.29,137.62 124.29,130.9 L 124.29,79.54 L 118.06,79.26 L 118.06,65.67 L 125.65,66.22 L 130.42,45.91"
+       id="path14"
+       style="fill:#ffffff" />
+    <path
+       d="M 154.9,80.96 L 141.94,80.36 L 141.94,80.64 L 148.88,80.96 L 154.9,80.96"
+       id="path16"
+       style="fill:#0c481e" />
+    <path
+       d="M 144.64,135.6 C 145.3,135.92 146.07,136.07 146.99,136.07 C 147.15,136.07 147.32,136.07 147.48,136.06 C 150.03,135.91 152.81,135.13 155.83,133.75 L 149.81,133.75 C 147.99,134.58 146.28,135.21 144.64,135.6"
+       id="path18"
+       style="fill:#0c481e" />
+    <path
+       d="M 128.38,145.57 C 125.65,142.52 124.29,137.62 124.29,130.9 L 124.29,79.54 L 118.06,79.26 L 118.06,65.67 L 112.05,65.67 L 112.05,68.71 C 112.92,71.98 113.6,75.53 114.11,79.35 L 118.28,79.54 L 118.28,130.9 C 118.28,137.62 119.64,142.52 122.37,145.57 C 124.71,148.2 128.13,149.5 132.61,149.5 L 138.62,149.5 C 134.14,149.5 130.72,148.2 128.38,145.57 z M 130.42,45.91 L 124.41,45.91 L 119.74,65.79 L 125.65,66.22 L 130.42,45.91"
+       id="path20"
+       style="fill:#0c481e" />
+    <path
+       d="M 91.15,132.4 C 93.5,126.36 94.66,114.49 94.66,96.79 C 94.66,80.9 93.51,69.97 91.18,63.98 C 88.84,57.95 85.35,54.69 80.66,54.28 C 80.3,54.25 79.95,54.23 79.6,54.23 C 75.26,54.23 71.92,56.77 69.59,61.86 C 67.07,67.4 65.8,78.9 65.8,96.3 C 65.8,113.11 67.04,125.05 69.54,132.05 C 71.89,138.72 75.41,142.03 80.04,142.03 C 80.25,142.03 80.45,142.02 80.66,142.01 C 85.29,141.71 88.78,138.51 91.15,132.4 M 109.13,136.15 C 105.01,145.86 98.73,152.21 90.14,155.15 C 91.01,159.6 92.32,162.6 94.06,164.17 C 95.41,165.39 97.49,165.99 100.28,165.99 C 101.09,165.99 101.96,165.94 102.87,165.84 L 102.87,178.96 L 96.91,179.75 C 95.16,179.97 93.49,180.09 91.91,180.09 C 86.69,180.09 82.47,178.82 79.29,176.26 C 75.08,172.89 71.98,166.37 69.99,156.73 C 60.86,154.78 53.73,148.97 48.8,139.23 C 43.8,129.32 41.25,114.83 41.25,95.89 C 41.25,75.46 44.74,60.38 51.6,50.81 C 57.38,42.75 65.46,38.78 75.62,38.78 C 77.24,38.78 78.93,38.88 80.66,39.08 C 92.61,40.46 101.28,46.1 106.92,55.87 C 112.46,65.43 115.17,79.14 115.17,97.13 C 115.17,113.62 113.17,126.58 109.13,136.15"
+       id="path22"
+       style="fill:#ffffff" />
+    <path
+       d="M 100.28,165.99 C 101.09,165.99 101.95,165.94 102.87,165.84 L 98.04,165.84 C 98.71,165.94 99.49,165.99 100.28,165.99"
+       id="path24"
+       style="fill:#0c481e" />
+    <path
+       d="M 84.85,63.98 C 87.19,69.97 88.34,80.9 88.34,96.79 C 88.34,114.49 87.18,126.36 84.82,132.4 C 82.93,137.28 80.3,140.31 76.96,141.48 C 77.93,141.84 78.96,142.03 80.04,142.03 C 80.25,142.03 80.45,142.02 80.66,142.01 C 85.29,141.71 88.78,138.51 91.15,132.4 C 93.5,126.36 94.66,114.49 94.66,96.79 C 94.66,80.9 93.51,69.97 91.18,63.98 C 88.84,57.95 85.35,54.69 80.66,54.28 C 80.3,54.25 79.95,54.23 79.6,54.23 C 78.51,54.23 77.48,54.39 76.52,54.72 L 76.52,54.72 C 80.12,55.83 82.89,58.93 84.85,63.98 z M 82.51,178.25 C 82.4,178.2 82.28,178.15 82.17,178.09 C 82.16,178.09 82.15,178.08 82.14,178.08 C 82.03,178.03 81.93,177.97 81.83,177.92 C 81.81,177.91 81.79,177.9 81.77,177.89 C 81.68,177.84 81.59,177.79 81.49,177.74 C 81.46,177.72 81.44,177.71 81.41,177.69 C 81.33,177.65 81.24,177.6 81.16,177.55 C 81.12,177.53 81.09,177.51 81.05,177.48 C 80.98,177.44 80.91,177.4 80.84,177.36 C 80.79,177.33 80.74,177.3 80.7,177.27 C 80.64,177.23 80.58,177.19 80.52,177.15 C 80.46,177.12 80.41,177.08 80.35,177.04 C 80.3,177.01 80.25,176.98 80.2,176.94 C 80.14,176.9 80.07,176.85 80.01,176.81 C 79.97,176.78 79.93,176.75 79.89,176.72 C 79.82,176.67 79.74,176.61 79.67,176.55 C 79.64,176.54 79.61,176.52 79.59,176.5 C 79.49,176.42 79.39,176.34 79.29,176.26 C 75.08,172.89 71.98,166.37 69.99,156.73 C 60.86,154.78 53.73,148.97 48.8,139.23 C 43.8,129.32 41.25,114.83 41.25,95.89 C 41.25,75.46 44.74,60.38 51.6,50.81 C 57.38,42.75 65.46,38.78 75.62,38.78 C 75.65,38.78 69.27,38.77 69.27,38.77 L 69.27,38.78 C 59.12,38.78 51.05,42.75 45.27,50.81 C 38.41,60.38 34.92,75.46 34.92,95.89 C 34.92,114.83 37.47,129.32 42.47,139.23 C 47.41,148.97 54.53,154.78 63.67,156.73 C 65.65,166.37 68.76,172.89 72.96,176.26 C 76.14,178.82 80.36,180.09 85.58,180.09 C 85.68,180.09 85.78,180.09 85.88,180.09 L 91.42,180.09 C 88.01,180.03 85.04,179.43 82.52,178.26 C 82.51,178.26 82.51,178.26 82.51,178.25"
+       id="path26"
+       style="fill:#0c481e" />
+  </g>
+</svg>
diff --git a/doc/src/snippets/declarative/qml-intro/number-animation1.qml b/doc/src/snippets/declarative/qml-intro/number-animation1.qml
index 8d8d747..7b405e4 100644
--- a/doc/src/snippets/declarative/qml-intro/number-animation1.qml
+++ b/doc/src/snippets/declarative/qml-intro/number-animation1.qml
@@ -48,7 +48,7 @@ Rectangle {
 
     Image {
         id: image1
-        source: "images/qt-logo.png"
+        source: "images/qt-logo.svg"
         x: 200; y: 100
         width: 100; height: 100
 
diff --git a/doc/src/snippets/declarative/qml-intro/number-animation2.qml b/doc/src/snippets/declarative/qml-intro/number-animation2.qml
index d556c21..f109f76 100644
--- a/doc/src/snippets/declarative/qml-intro/number-animation2.qml
+++ b/doc/src/snippets/declarative/qml-intro/number-animation2.qml
@@ -48,7 +48,7 @@ Rectangle {
 
     Image {
         id: image1
-        source: "images/qt-logo.png"
+        source: "images/qt-logo.svg"
         x: 200; y: 100
         width: 100; height: 100
 
diff --git a/doc/src/snippets/declarative/qml-intro/sequential-animation1.qml b/doc/src/snippets/declarative/qml-intro/sequential-animation1.qml
index e68de20..7ae2fde 100644
--- a/doc/src/snippets/declarative/qml-intro/sequential-animation1.qml
+++ b/doc/src/snippets/declarative/qml-intro/sequential-animation1.qml
@@ -49,14 +49,14 @@ Rectangle {
 
     Image {
         id: image1
-        source: "images/qt-logo.png"
+        source: "images/qt-logo.svg"
         x: 20; y: 20 ; z: 1
         width: 100; height: 100
     }
 
     Image {
         id: image2
-        source: "images/qt-logo.png"
+        source: "images/qt-logo.svg"
         width: 100; height: 100
         x: (mainRec.width - 100)/2; y: (mainRec.height - 100)/2
         z: 2
diff --git a/doc/src/snippets/declarative/qml-intro/sequential-animation2.qml b/doc/src/snippets/declarative/qml-intro/sequential-animation2.qml
index 31835a1..ac0f3f5 100644
--- a/doc/src/snippets/declarative/qml-intro/sequential-animation2.qml
+++ b/doc/src/snippets/declarative/qml-intro/sequential-animation2.qml
@@ -49,7 +49,7 @@ Rectangle {
 //! [adding a sequential animation]
     Image {
         id: image1
-        source: "images/qt-logo.png"
+        source: "images/qt-logo.svg"
         width: 100; height: 100
 
         SequentialAnimation on x {
@@ -65,7 +65,7 @@ Rectangle {
 
     Image {
         id: image2
-        source: "images/qt-logo.png"
+        source: "images/qt-logo.svg"
         width: 100; height: 100
         x: (mainRec.width - 100)/2; y: (mainRec.height - 100)/2
         z: 2
diff --git a/doc/src/snippets/declarative/qml-intro/sequential-animation3.qml b/doc/src/snippets/declarative/qml-intro/sequential-animation3.qml
index f83a966..1037b79 100644
--- a/doc/src/snippets/declarative/qml-intro/sequential-animation3.qml
+++ b/doc/src/snippets/declarative/qml-intro/sequential-animation3.qml
@@ -38,6 +38,8 @@
 **
 ****************************************************************************/
 
+import Qt 4.7
+
 //! [document]
 Rectangle {
     id: mainRec
@@ -47,7 +49,7 @@ Rectangle {
 
     Image {
         id: image2
-        source: "images/qt-logo.png"
+        source: "images/qt-logo.svg"
         width: 100; height: 100
         x: (mainRec.width - 100)/2; y: (mainRec.height - 100)/2
         z: 2
@@ -55,7 +57,7 @@ Rectangle {
 
     Image {
         id: image1
-        source: "images/qt-logo.png"
+        source: "images/qt-logo.svg"
         x: 20; y: 20 ; z: 1
         width: 100; height: 100
 
diff --git a/doc/src/snippets/declarative/qml-intro/transformations1.qml b/doc/src/snippets/declarative/qml-intro/transformations1.qml
index af39e69..b4a1692 100644
--- a/doc/src/snippets/declarative/qml-intro/transformations1.qml
+++ b/doc/src/snippets/declarative/qml-intro/transformations1.qml
@@ -48,7 +48,7 @@ Rectangle {
 
     Image {
         id: image1
-        source: "images/qt-logo.png"
+        source: "images/qt-logo.svg"
         width: 150; height: 150
         anchors.bottom: myWin.bottom
         anchors.horizontalCenter: myWin.horizontalCenter
-- 
cgit v0.12


From b38fa28a246bd039593bff732ea7c195dc7e5af9 Mon Sep 17 00:00:00 2001
From: David Boddie <dboddie@trolltech.com>
Date: Wed, 1 Sep 2010 19:00:45 +0200
Subject: Doc: Added types to method and signal documentation; other fixes.

---
 src/declarative/graphicsitems/qdeclarativeitem.cpp | 74 +++++++++++-----------
 .../graphicsitems/qdeclarativemousearea.cpp        | 10 +--
 src/declarative/graphicsitems/qdeclarativetext.cpp |  2 +-
 .../graphicsitems/qdeclarativetextedit.cpp         |  4 +-
 src/declarative/qml/qdeclarativecomponent.cpp      |  2 +-
 src/declarative/qml/qdeclarativeengine.cpp         |  4 +-
 src/declarative/qml/qdeclarativeinclude.cpp        |  2 +-
 src/declarative/qml/qdeclarativetypeloader.cpp     |  9 +++
 8 files changed, 58 insertions(+), 49 deletions(-)

diff --git a/src/declarative/graphicsitems/qdeclarativeitem.cpp b/src/declarative/graphicsitems/qdeclarativeitem.cpp
index aca2bb7..11f9179 100644
--- a/src/declarative/graphicsitems/qdeclarativeitem.cpp
+++ b/src/declarative/graphicsitems/qdeclarativeitem.cpp
@@ -830,259 +830,259 @@ void QDeclarativeKeyNavigationAttached::keyReleased(QKeyEvent *event, bool post)
 */
 
 /*!
-    \qmlsignal Keys::onPressed(event)
+    \qmlsignal Keys::onPressed(KeyEvent event)
 
     This handler is called when a key has been pressed. The \a event
     parameter provides information about the event.
 */
 
 /*!
-    \qmlsignal Keys::onReleased(event)
+    \qmlsignal Keys::onReleased(KeyEvent event)
 
     This handler is called when a key has been released. The \a event
     parameter provides information about the event.
 */
 
 /*!
-    \qmlsignal Keys::onDigit0Pressed(event)
+    \qmlsignal Keys::onDigit0Pressed(KeyEvent event)
 
     This handler is called when the digit '0' has been pressed. The \a event
     parameter provides information about the event.
 */
 
 /*!
-    \qmlsignal Keys::onDigit1Pressed(event)
+    \qmlsignal Keys::onDigit1Pressed(KeyEvent event)
 
     This handler is called when the digit '1' has been pressed. The \a event
     parameter provides information about the event.
 */
 
 /*!
-    \qmlsignal Keys::onDigit2Pressed(event)
+    \qmlsignal Keys::onDigit2Pressed(KeyEvent event)
 
     This handler is called when the digit '2' has been pressed. The \a event
     parameter provides information about the event.
 */
 
 /*!
-    \qmlsignal Keys::onDigit3Pressed(event)
+    \qmlsignal Keys::onDigit3Pressed(KeyEvent event)
 
     This handler is called when the digit '3' has been pressed. The \a event
     parameter provides information about the event.
 */
 
 /*!
-    \qmlsignal Keys::onDigit4Pressed(event)
+    \qmlsignal Keys::onDigit4Pressed(KeyEvent event)
 
     This handler is called when the digit '4' has been pressed. The \a event
     parameter provides information about the event.
 */
 
 /*!
-    \qmlsignal Keys::onDigit5Pressed(event)
+    \qmlsignal Keys::onDigit5Pressed(KeyEvent event)
 
     This handler is called when the digit '5' has been pressed. The \a event
     parameter provides information about the event.
 */
 
 /*!
-    \qmlsignal Keys::onDigit6Pressed(event)
+    \qmlsignal Keys::onDigit6Pressed(KeyEvent event)
 
     This handler is called when the digit '6' has been pressed. The \a event
     parameter provides information about the event.
 */
 
 /*!
-    \qmlsignal Keys::onDigit7Pressed(event)
+    \qmlsignal Keys::onDigit7Pressed(KeyEvent event)
 
     This handler is called when the digit '7' has been pressed. The \a event
     parameter provides information about the event.
 */
 
 /*!
-    \qmlsignal Keys::onDigit8Pressed(event)
+    \qmlsignal Keys::onDigit8Pressed(KeyEvent event)
 
     This handler is called when the digit '8' has been pressed. The \a event
     parameter provides information about the event.
 */
 
 /*!
-    \qmlsignal Keys::onDigit9Pressed(event)
+    \qmlsignal Keys::onDigit9Pressed(KeyEvent event)
 
     This handler is called when the digit '9' has been pressed. The \a event
     parameter provides information about the event.
 */
 
 /*!
-    \qmlsignal Keys::onLeftPressed(event)
+    \qmlsignal Keys::onLeftPressed(KeyEvent event)
 
     This handler is called when the Left arrow has been pressed. The \a event
     parameter provides information about the event.
 */
 
 /*!
-    \qmlsignal Keys::onRightPressed(event)
+    \qmlsignal Keys::onRightPressed(KeyEvent event)
 
     This handler is called when the Right arrow has been pressed. The \a event
     parameter provides information about the event.
 */
 
 /*!
-    \qmlsignal Keys::onUpPressed(event)
+    \qmlsignal Keys::onUpPressed(KeyEvent event)
 
     This handler is called when the Up arrow has been pressed. The \a event
     parameter provides information about the event.
 */
 
 /*!
-    \qmlsignal Keys::onDownPressed(event)
+    \qmlsignal Keys::onDownPressed(KeyEvent event)
 
     This handler is called when the Down arrow has been pressed. The \a event
     parameter provides information about the event.
 */
 
 /*!
-    \qmlsignal Keys::onAsteriskPressed(event)
+    \qmlsignal Keys::onAsteriskPressed(KeyEvent event)
 
     This handler is called when the Asterisk '*' has been pressed. The \a event
     parameter provides information about the event.
 */
 
 /*!
-    \qmlsignal Keys::onEscapePressed(event)
+    \qmlsignal Keys::onEscapePressed(KeyEvent event)
 
     This handler is called when the Escape key has been pressed. The \a event
     parameter provides information about the event.
 */
 
 /*!
-    \qmlsignal Keys::onReturnPressed(event)
+    \qmlsignal Keys::onReturnPressed(KeyEvent event)
 
     This handler is called when the Return key has been pressed. The \a event
     parameter provides information about the event.
 */
 
 /*!
-    \qmlsignal Keys::onEnterPressed(event)
+    \qmlsignal Keys::onEnterPressed(KeyEvent event)
 
     This handler is called when the Enter key has been pressed. The \a event
     parameter provides information about the event.
 */
 
 /*!
-    \qmlsignal Keys::onDeletePressed(event)
+    \qmlsignal Keys::onDeletePressed(KeyEvent event)
 
     This handler is called when the Delete key has been pressed. The \a event
     parameter provides information about the event.
 */
 
 /*!
-    \qmlsignal Keys::onSpacePressed(event)
+    \qmlsignal Keys::onSpacePressed(KeyEvent event)
 
     This handler is called when the Space key has been pressed. The \a event
     parameter provides information about the event.
 */
 
 /*!
-    \qmlsignal Keys::onBackPressed(event)
+    \qmlsignal Keys::onBackPressed(KeyEvent event)
 
     This handler is called when the Back key has been pressed. The \a event
     parameter provides information about the event.
 */
 
 /*!
-    \qmlsignal Keys::onCancelPressed(event)
+    \qmlsignal Keys::onCancelPressed(KeyEvent event)
 
     This handler is called when the Cancel key has been pressed. The \a event
     parameter provides information about the event.
 */
 
 /*!
-    \qmlsignal Keys::onSelectPressed(event)
+    \qmlsignal Keys::onSelectPressed(KeyEvent event)
 
     This handler is called when the Select key has been pressed. The \a event
     parameter provides information about the event.
 */
 
 /*!
-    \qmlsignal Keys::onYesPressed(event)
+    \qmlsignal Keys::onYesPressed(KeyEvent event)
 
     This handler is called when the Yes key has been pressed. The \a event
     parameter provides information about the event.
 */
 
 /*!
-    \qmlsignal Keys::onNoPressed(event)
+    \qmlsignal Keys::onNoPressed(KeyEvent event)
 
     This handler is called when the No key has been pressed. The \a event
     parameter provides information about the event.
 */
 
 /*!
-    \qmlsignal Keys::onContext1Pressed(event)
+    \qmlsignal Keys::onContext1Pressed(KeyEvent event)
 
     This handler is called when the Context1 key has been pressed. The \a event
     parameter provides information about the event.
 */
 
 /*!
-    \qmlsignal Keys::onContext2Pressed(event)
+    \qmlsignal Keys::onContext2Pressed(KeyEvent event)
 
     This handler is called when the Context2 key has been pressed. The \a event
     parameter provides information about the event.
 */
 
 /*!
-    \qmlsignal Keys::onContext3Pressed(event)
+    \qmlsignal Keys::onContext3Pressed(KeyEvent event)
 
     This handler is called when the Context3 key has been pressed. The \a event
     parameter provides information about the event.
 */
 
 /*!
-    \qmlsignal Keys::onContext4Pressed(event)
+    \qmlsignal Keys::onContext4Pressed(KeyEvent event)
 
     This handler is called when the Context4 key has been pressed. The \a event
     parameter provides information about the event.
 */
 
 /*!
-    \qmlsignal Keys::onCallPressed(event)
+    \qmlsignal Keys::onCallPressed(KeyEvent event)
 
     This handler is called when the Call key has been pressed. The \a event
     parameter provides information about the event.
 */
 
 /*!
-    \qmlsignal Keys::onHangupPressed(event)
+    \qmlsignal Keys::onHangupPressed(KeyEvent event)
 
     This handler is called when the Hangup key has been pressed. The \a event
     parameter provides information about the event.
 */
 
 /*!
-    \qmlsignal Keys::onFlipPressed(event)
+    \qmlsignal Keys::onFlipPressed(KeyEvent event)
 
     This handler is called when the Flip key has been pressed. The \a event
     parameter provides information about the event.
 */
 
 /*!
-    \qmlsignal Keys::onMenuPressed(event)
+    \qmlsignal Keys::onMenuPressed(KeyEvent event)
 
     This handler is called when the Menu key has been pressed. The \a event
     parameter provides information about the event.
 */
 
 /*!
-    \qmlsignal Keys::onVolumeUpPressed(event)
+    \qmlsignal Keys::onVolumeUpPressed(KeyEvent event)
 
     This handler is called when the VolumeUp key has been pressed. The \a event
     parameter provides information about the event.
 */
 
 /*!
-    \qmlsignal Keys::onVolumeDownPressed(event)
+    \qmlsignal Keys::onVolumeDownPressed(KeyEvent event)
 
     This handler is called when the VolumeDown key has been pressed. The \a event
     parameter provides information about the event.
diff --git a/src/declarative/graphicsitems/qdeclarativemousearea.cpp b/src/declarative/graphicsitems/qdeclarativemousearea.cpp
index ec01549..5516611 100644
--- a/src/declarative/graphicsitems/qdeclarativemousearea.cpp
+++ b/src/declarative/graphicsitems/qdeclarativemousearea.cpp
@@ -250,7 +250,7 @@ QDeclarativeMouseAreaPrivate::~QDeclarativeMouseAreaPrivate()
 */
 
 /*!
-    \qmlsignal MouseArea::onClicked(mouse)
+    \qmlsignal MouseArea::onClicked(MouseEvent mouse)
 
     This handler is called when there is a click. A click is defined as a press followed by a release,
     both inside the MouseArea (pressing, moving outside the MouseArea, and then moving back inside and
@@ -263,7 +263,7 @@ QDeclarativeMouseAreaPrivate::~QDeclarativeMouseAreaPrivate()
 */
 
 /*!
-    \qmlsignal MouseArea::onPressed(mouse)
+    \qmlsignal MouseArea::onPressed(MouseEvent mouse)
 
     This handler is called when there is a press.
     The \l {MouseEvent}{mouse} parameter provides information about the press, including the x and y
@@ -277,7 +277,7 @@ QDeclarativeMouseAreaPrivate::~QDeclarativeMouseAreaPrivate()
 */
 
 /*!
-    \qmlsignal MouseArea::onReleased(mouse)
+    \qmlsignal MouseArea::onReleased(MouseEvent mouse)
 
     This handler is called when there is a release.
     The \l {MouseEvent}{mouse} parameter provides information about the click, including the x and y
@@ -287,7 +287,7 @@ QDeclarativeMouseAreaPrivate::~QDeclarativeMouseAreaPrivate()
 */
 
 /*!
-    \qmlsignal MouseArea::onPressAndHold(mouse)
+    \qmlsignal MouseArea::onPressAndHold(MouseEvent mouse)
 
     This handler is called when there is a long press (currently 800ms).
     The \l {MouseEvent}{mouse} parameter provides information about the press, including the x and y
@@ -297,7 +297,7 @@ QDeclarativeMouseAreaPrivate::~QDeclarativeMouseAreaPrivate()
 */
 
 /*!
-    \qmlsignal MouseArea::onDoubleClicked(mouse)
+    \qmlsignal MouseArea::onDoubleClicked(MouseEvent mouse)
 
     This handler is called when there is a double-click (a press followed by a release followed by a press).
     The \l {MouseEvent}{mouse} parameter provides information about the click, including the x and y
diff --git a/src/declarative/graphicsitems/qdeclarativetext.cpp b/src/declarative/graphicsitems/qdeclarativetext.cpp
index f16af88..fd3a1f7 100644
--- a/src/declarative/graphicsitems/qdeclarativetext.cpp
+++ b/src/declarative/graphicsitems/qdeclarativetext.cpp
@@ -1205,7 +1205,7 @@ void QDeclarativeText::mousePressEvent(QGraphicsSceneMouseEvent *event)
 }
 
 /*!
-    \qmlsignal Text::onLinkActivated(link)
+    \qmlsignal Text::onLinkActivated(string link)
 
     This handler is called when the user clicks on a link embedded in the text.
 */
diff --git a/src/declarative/graphicsitems/qdeclarativetextedit.cpp b/src/declarative/graphicsitems/qdeclarativetextedit.cpp
index b1c0fcd..3ac095c 100644
--- a/src/declarative/graphicsitems/qdeclarativetextedit.cpp
+++ b/src/declarative/graphicsitems/qdeclarativetextedit.cpp
@@ -555,7 +555,7 @@ QRectF QDeclarativeTextEdit::positionToRectangle(int pos) const
 }
 
 /*!
-    \qmlmethod int TextEdit::positionAt(x,y)
+    \qmlmethod int TextEdit::positionAt(int x, int y)
 
     Returns the text position closest to pixel position (\a x, \a y).
 
@@ -1018,7 +1018,7 @@ void QDeclarativeTextEdit::selectWord()
 }
 
 /*!
-    \qmlmethod void TextEdit::select(start,end)
+    \qmlmethod void TextEdit::select(int start, int end)
 
     Causes the text from \a start to \a end to be selected.
 
diff --git a/src/declarative/qml/qdeclarativecomponent.cpp b/src/declarative/qml/qdeclarativecomponent.cpp
index 75bb5db..73d4d2e 100644
--- a/src/declarative/qml/qdeclarativecomponent.cpp
+++ b/src/declarative/qml/qdeclarativecomponent.cpp
@@ -573,7 +573,7 @@ QDeclarativeComponent::QDeclarativeComponent(QDeclarativeComponentPrivate &dd, Q
 }
 
 /*!
-    \qmlmethod object Component::createObject(parent)
+    \qmlmethod object Component::createObject(Item parent)
 
     Creates and returns an object instance of this component that will have the given 
     \a parent. Returns null if object creation fails.
diff --git a/src/declarative/qml/qdeclarativeengine.cpp b/src/declarative/qml/qdeclarativeengine.cpp
index 8461368..82188df 100644
--- a/src/declarative/qml/qdeclarativeengine.cpp
+++ b/src/declarative/qml/qdeclarativeengine.cpp
@@ -272,8 +272,8 @@ QDeclarativeEnginePrivate::QDeclarativeEnginePrivate(QDeclarativeEngine *e)
 }
 
 /*!
-  \qmlmethod url Qt::resolvedUrl(url)
-  Returns \c url resolved relative to the URL of the caller.
+  \qmlmethod url Qt::resolvedUrl(url url)
+  Returns \a url resolved relative to the URL of the caller.
 */
 QUrl QDeclarativeScriptEngine::resolvedUrl(QScriptContext *context, const QUrl& url)
 {
diff --git a/src/declarative/qml/qdeclarativeinclude.cpp b/src/declarative/qml/qdeclarativeinclude.cpp
index f26b54f..1e240d7 100644
--- a/src/declarative/qml/qdeclarativeinclude.cpp
+++ b/src/declarative/qml/qdeclarativeinclude.cpp
@@ -173,7 +173,7 @@ void QDeclarativeInclude::callback(QScriptEngine *engine, QScriptValue &callback
 }
 
 /*!
-\qmlmethod object Qt::include(url, callback)
+\qmlmethod object Qt::include(string url, jsobject callback)
 
 Include another JavaScript file.  This method can only be used from within JavaScript files, 
 and not regular QML files.
diff --git a/src/declarative/qml/qdeclarativetypeloader.cpp b/src/declarative/qml/qdeclarativetypeloader.cpp
index 8c291f2..ed41314 100644
--- a/src/declarative/qml/qdeclarativetypeloader.cpp
+++ b/src/declarative/qml/qdeclarativetypeloader.cpp
@@ -65,6 +65,9 @@ The QDeclarativeDataLoader invokes callbacks on the QDeclarativeDataBlob as data
 /*!
 \enum QDeclarativeDataBlob::Status
 
+This enum describes the status of the data blob.
+
+\list
 \o Null The blob has not yet been loaded by a QDeclarativeDataLoader
 \o Loading The blob is loading network data.  The QDeclarativeDataBlob::setData() callback has not yet been
 invoked or has not yet returned.
@@ -73,13 +76,19 @@ only occurs after the QDeclarativeDataBlob::setData() callback has been made, an
 dependencies.
 \o Complete The blob's data has been loaded and all dependencies are done.
 \o Error An error has been set on this blob.
+\endlist
 */
 
 /*!
 \enum QDeclarativeDataBlob::Type
+
+This enum describes the type of the data blob.
+
+\list
 \o QmlFile This is a QDeclarativeTypeData
 \o JavaScriptFile This is a QDeclarativeScriptData
 \o QmldirFile This is a QDeclarativeQmldirData
+\endlist
 */
 
 /*!
-- 
cgit v0.12


From aacf7c5a8b98f0dd4039d7f7a9d0471c32034a3b Mon Sep 17 00:00:00 2001
From: David Boddie <david.boddie@nokia.com>
Date: Thu, 2 Sep 2010 19:12:27 +0200
Subject: Doc: qdoc fixes.

---
 doc/src/getting-started/gettingstartedqml.qdoc                    | 4 ++--
 src/3rdparty/webkit/WebKit/qt/declarative/qdeclarativewebview.cpp | 8 ++++----
 src/declarative/graphicsitems/qdeclarativelistview.cpp            | 2 +-
 3 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/doc/src/getting-started/gettingstartedqml.qdoc b/doc/src/getting-started/gettingstartedqml.qdoc
index 771f92e..9e6471e 100644
--- a/doc/src/getting-started/gettingstartedqml.qdoc
+++ b/doc/src/getting-started/gettingstartedqml.qdoc
@@ -296,8 +296,8 @@
 
     \section2  Using Data Models and Views
 
-    QML has different \l {Data Models}{data views} that display
-    \l {Data Models}{data models}. Our menu bar will display the menus in a list,
+    QML has different \l{QML Data Models}{data views} that display
+    \l{QML Data Models}{data models}. Our menu bar will display the menus in a list,
     with a header that displays a row of menu names. The list of menus are declared
     inside a \c VisualItemModel. The \l{VisualItemModel}{\c VisualItemModel}
     element contains items that already have views such as \c Rectangle elements
diff --git a/src/3rdparty/webkit/WebKit/qt/declarative/qdeclarativewebview.cpp b/src/3rdparty/webkit/WebKit/qt/declarative/qdeclarativewebview.cpp
index c1ca23d..1538133 100644
--- a/src/3rdparty/webkit/WebKit/qt/declarative/qdeclarativewebview.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/declarative/qdeclarativewebview.cpp
@@ -389,7 +389,7 @@ void QDeclarativeWebView::setPreferredHeight(int height)
 }
 
 /*!
-    \qmlmethod bool WebView::evaluateJavaScript(string)
+    \qmlmethod bool WebView::evaluateJavaScript(string scriptSource)
 
     Evaluates the \a scriptSource JavaScript inside the context of the
     main web frame, and returns the result of the last executed statement.
@@ -513,14 +513,14 @@ void QDeclarativeWebView::setRenderingEnabled(bool enabled)
 }
 
 /*!
-    \qmlsignal WebView::onDoubleClick(clickx, clicky)
+    \qmlsignal WebView::onDoubleClick(int clickx, int clicky)
 
     The WebView does not pass double-click events to the web engine, but rather
     emits this signals.
 */
 
 /*!
-    \qmlmethod bool WebView::heuristicZoom(clickX,clickY,maxzoom)
+    \qmlmethod bool WebView::heuristicZoom(int clickX, int clickY, real maxzoom)
 
     Finds a zoom that:
     \list
@@ -976,7 +976,7 @@ QString QDeclarativeWebPage::chooseFile(QWebFrame* originatingFrame, const QStri
 }
 
 /*!
-    \qmlsignal WebView::onAlert(message)
+    \qmlsignal WebView::onAlert(string message)
 
     The handler is called when the web engine sends a JavaScript alert. The \a message is the text
     to be displayed in the alert to the user.
diff --git a/src/declarative/graphicsitems/qdeclarativelistview.cpp b/src/declarative/graphicsitems/qdeclarativelistview.cpp
index ef28ab2..412a5f7 100644
--- a/src/declarative/graphicsitems/qdeclarativelistview.cpp
+++ b/src/declarative/graphicsitems/qdeclarativelistview.cpp
@@ -1405,7 +1405,7 @@ void QDeclarativeListViewPrivate::flick(AxisData &data, qreal minExtent, qreal m
     to set \e {clip: true} in order to have the out of view items clipped
     nicely.
 
-    \sa {Data Models}, GridView, {declarative/modelviews/listview}{ListView examples}
+    \sa {QML Data Models}, GridView, {declarative/modelviews/listview}{ListView examples}
 */
 
 QDeclarativeListView::QDeclarativeListView(QDeclarativeItem *parent)
-- 
cgit v0.12


From 5738dcd705e7edde816940f9c0ab2c364c81ad20 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan-Arve=20S=C3=A6ther?= <jan-arve.saether@nokia.com>
Date: Tue, 31 Aug 2010 10:23:30 +0200
Subject: Ensure that we load system libraries from the correct location.

This was a security hole that has been there for a while, but the
public awareness have recently rised so the threat is more imminent
now.

The solution is to fix all places where we dynamically load system
libraries. More specifically, we now load all system libraries with
an absolute path that points to a library in the system directory
(usually c:\windows\system32).

We therefore introduce a small class named QSystemLibrary that only loads
libraries located in the system path. This shares some of the API with
QLibrary (in order to make the patch as small as possible).

We don't fix QLibrary due to risk of regressions. In
addition, applications can fix the code that calls QLibrary themselves.

The problem does not apply to Windows CE, since the search order is
documented as not searching in the current directory.

However, it touches some CE-specific code - therefore QSystemLibrary
is sometimes used on WinCE (however, it will just do a normal
LoadLibrary() since its safe anyway).

This change does not affect the testability plugin (it is not clearly
documented where that plugin is located, and the plugin should never
be used in production code anyway)

Loading OpenSSL libraries
The ssl libraries are handled specially, and searched in this order
(we cannot expect them to always be in the system folder):
1. Application path
2. System libraries path
3. Trying all paths inside the PATH environment variable

Task-number: QT-3825
Reviewed-by: Thiago Macieira
Reviewed-by: Peter Hartmann
---
 qmake/Makefile.win32                           |  5 ++
 qmake/qmake.pri                                |  3 +-
 src/activeqt/shared/qaxtypes.cpp               |  4 +-
 src/corelib/io/qfsfileengine_win.cpp           |  7 +-
 src/corelib/io/qsettings.cpp                   |  6 +-
 src/corelib/kernel/qeventdispatcher_win.cpp    | 10 +--
 src/corelib/plugin/plugin.pri                  |  7 +-
 src/corelib/plugin/qsystemlibrary.cpp          | 90 ++++++++++++++++++++++++++
 src/corelib/plugin/qsystemlibrary_p.h          | 61 +++++++++++++++++
 src/gui/accessible/qaccessible_win.cpp         |  4 +-
 src/gui/dialogs/qfiledialog_win.cpp            | 12 ++--
 src/gui/dialogs/qwizard_win.cpp                |  6 +-
 src/gui/kernel/qapplication_win.cpp            | 38 ++++++-----
 src/gui/kernel/qdesktopwidget_win.cpp          |  6 +-
 src/gui/kernel/qwidget_win.cpp                 |  6 +-
 src/gui/styles/qwindowsstyle.cpp               |  8 +--
 src/gui/styles/qwindowsvistastyle.cpp          |  3 +-
 src/gui/styles/qwindowsxpstyle.cpp             |  4 +-
 src/gui/text/qfontdatabase_win.cpp             | 10 +--
 src/gui/text/qfontengine_win.cpp               |  4 +-
 src/gui/util/qdesktopservices_win.cpp          |  6 +-
 src/gui/util/qsystemtrayicon_win.cpp           |  8 +--
 src/network/kernel/qhostinfo_win.cpp           | 14 ++--
 src/network/kernel/qnetworkinterface_win.cpp   |  3 +-
 src/network/kernel/qnetworkproxy_win.cpp       | 15 +++--
 src/network/ssl/qsslsocket_openssl_symbols.cpp | 36 ++++++++---
 src/qt3support/network/q3dns.cpp               |  3 +-
 src/tools/bootstrap/bootstrap.pro              |  3 +-
 28 files changed, 282 insertions(+), 100 deletions(-)
 create mode 100644 src/corelib/plugin/qsystemlibrary.cpp
 create mode 100644 src/corelib/plugin/qsystemlibrary_p.h

diff --git a/qmake/Makefile.win32 b/qmake/Makefile.win32
index 48d84b7..c452c5a 100644
--- a/qmake/Makefile.win32
+++ b/qmake/Makefile.win32
@@ -102,6 +102,7 @@ QTOBJS= \
 	qtemporaryfile.obj \
 	qabstractfileengine.obj \
 	qfsfileengine_win.obj \
+	qsystemlibrary.obj \
 	qfsfileengine_iterator_win.obj \
 	qfileinfo.obj \
 	qglobal.obj \
@@ -155,6 +156,7 @@ clean::
 	-del qtemporaryfile.obj
 	-del qabstractfileengine.obj
 	-del qfsfileengine_win.obj
+	-del qsystemlibrary.obj
 	-del qfsfileengine_iterator_win.obj
 	-del qfileinfo.obj
 	-del qglobal.obj
@@ -313,6 +315,9 @@ qtemporaryfile.obj: $(SOURCE_PATH)\src\corelib\io\qtemporaryfile.cpp
 qfsfileengine_win.obj: $(SOURCE_PATH)\src\corelib\io\qfsfileengine_win.cpp
 	$(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\corelib\io\qfsfileengine_win.cpp
 
+qsystemlibrary.obj: $(SOURCE_PATH)\src\corelib\plugin\qsystemlibrary.cpp
+	$(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\corelib\plugin\qsystemlibrary.cpp
+
 qfsfileengine_iterator_win.obj: $(SOURCE_PATH)\src\corelib\io\qfsfileengine_iterator_win.cpp
 	$(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\corelib\io\qfsfileengine_iterator_win.cpp
 
diff --git a/qmake/qmake.pri b/qmake/qmake.pri
index b82ab4d..8d3a559 100644
--- a/qmake/qmake.pri
+++ b/qmake/qmake.pri
@@ -128,7 +128,8 @@ bootstrap { #Qt code
           LIBS += -framework ApplicationServices
         }
     } else:win32 {
-	SOURCES += qfsfileengine_win.cpp qfsfileengine_iterator_win.cpp qsettings_win.cpp
+	SOURCES += qfsfileengine_win.cpp qfsfileengine_iterator_win.cpp qsettings_win.cpp \
+            qsystemlibrary.cpp
         win32-msvc*:LIBS += ole32.lib advapi32.lib
         win32-g++:LIBS += -lole32 -luuid
     }
diff --git a/src/activeqt/shared/qaxtypes.cpp b/src/activeqt/shared/qaxtypes.cpp
index 0cfc7eb..957733e 100644
--- a/src/activeqt/shared/qaxtypes.cpp
+++ b/src/activeqt/shared/qaxtypes.cpp
@@ -52,7 +52,7 @@
 #include <qobject.h>
 #ifdef QAX_SERVER
 #   include <qaxfactory.h>
-#   include <qlibrary.h>
+#   include <private/qsystemlibrary_p.h>
 #else
 #   include <quuid.h>
 #   include <qaxobject.h>
@@ -666,7 +666,7 @@ bool QVariantToVARIANT(const QVariant &var, VARIANT &arg, const QByteArray &type
             static bool resolved = false;
             if (!resolved) {
                 resolved = true;
-                pGetRecordInfoFromTypeInfo = (PGetRecordInfoFromTypeInfo)QLibrary::resolve(QLatin1String("oleaut32"),
+                pGetRecordInfoFromTypeInfo = (PGetRecordInfoFromTypeInfo)QSystemLibrary::resolve(QLatin1String("oleaut32"),
                                               "GetRecordInfoFromTypeInfo");
             }
             if (!pGetRecordInfoFromTypeInfo)
diff --git a/src/corelib/io/qfsfileengine_win.cpp b/src/corelib/io/qfsfileengine_win.cpp
index 139075f..44db59b 100644
--- a/src/corelib/io/qfsfileengine_win.cpp
+++ b/src/corelib/io/qfsfileengine_win.cpp
@@ -43,6 +43,7 @@
 #include "qplatformdefs.h"
 #include "qabstractfileengine.h"
 #include "private/qfsfileengine_p.h"
+#include <private/qsystemlibrary_p.h>
 #include <qdebug.h>
 
 #include "qfile.h"
@@ -181,7 +182,7 @@ void QFSFileEnginePrivate::resolveLibs()
 
         triedResolve = true;
 #if !defined(Q_OS_WINCE)
-        HINSTANCE advapiHnd = LoadLibraryW(L"advapi32");
+        HINSTANCE advapiHnd = QSystemLibrary::load(L"advapi32");
         if (advapiHnd) {
             ptrGetNamedSecurityInfoW = (PtrGetNamedSecurityInfoW)GetProcAddress(advapiHnd, "GetNamedSecurityInfoW");
             ptrLookupAccountSidW = (PtrLookupAccountSidW)GetProcAddress(advapiHnd, "LookupAccountSidW");
@@ -213,7 +214,7 @@ void QFSFileEnginePrivate::resolveLibs()
                 ptrFreeSid(pWorld);
             }
         }
-        HINSTANCE userenvHnd = LoadLibraryW(L"userenv");
+        HINSTANCE userenvHnd = QSystemLibrary::load(L"userenv");
         if (userenvHnd)
             ptrGetUserProfileDirectoryW = (PtrGetUserProfileDirectoryW)GetProcAddress(userenvHnd, "GetUserProfileDirectoryW");
 #endif
@@ -245,7 +246,7 @@ bool QFSFileEnginePrivate::resolveUNCLibs()
 #endif
         triedResolve = true;
 #if !defined(Q_OS_WINCE)
-        HINSTANCE hLib = LoadLibraryW(L"Netapi32");
+        HINSTANCE hLib = QSystemLibrary::load(L"Netapi32");
         if (hLib) {
             ptrNetShareEnum = (PtrNetShareEnum)GetProcAddress(hLib, "NetShareEnum");
             if (ptrNetShareEnum)
diff --git a/src/corelib/io/qsettings.cpp b/src/corelib/io/qsettings.cpp
index 64015ce..c3dece9 100644
--- a/src/corelib/io/qsettings.cpp
+++ b/src/corelib/io/qsettings.cpp
@@ -69,7 +69,7 @@
 
 #ifdef Q_OS_WIN // for homedirpath reading from registry
 #include "qt_windows.h"
-#include "qlibrary.h"
+#include <private/qsystemlibrary_p.h>
 
 #endif // Q_OS_WIN
 #endif // QT_NO_QOBJECT
@@ -1046,9 +1046,9 @@ static QString windowsConfigPath(int type)
     // We can't use QLibrary if there is QT_NO_QOBJECT is defined
     // This only happens when bootstrapping qmake.
 #ifndef Q_OS_WINCE
-    QLibrary library(QLatin1String("shell32"));
+    QSystemLibrary library(QLatin1String("shell32"));
 #else
-    QLibrary library(QLatin1String("coredll"));
+    QSystemLibrary library(QLatin1String("coredll"));
 #endif // Q_OS_WINCE
     typedef BOOL (WINAPI*GetSpecialFolderPath)(HWND, LPWSTR, int, BOOL);
     GetSpecialFolderPath SHGetSpecialFolderPath = (GetSpecialFolderPath)library.resolve("SHGetSpecialFolderPathW");
diff --git a/src/corelib/kernel/qeventdispatcher_win.cpp b/src/corelib/kernel/qeventdispatcher_win.cpp
index f63fa1d..2da02f9 100644
--- a/src/corelib/kernel/qeventdispatcher_win.cpp
+++ b/src/corelib/kernel/qeventdispatcher_win.cpp
@@ -43,7 +43,7 @@
 
 #include "qcoreapplication.h"
 #include "qhash.h"
-#include "qlibrary.h"
+#include <private/qsystemlibrary_p.h>
 #include "qpair.h"
 #include "qset.h"
 #include "qsocketnotifier.h"
@@ -324,11 +324,11 @@ static void resolveTimerAPI()
 #endif
         triedResolve = true;
 #if !defined(Q_OS_WINCE)
-        qtimeSetEvent = (ptimeSetEvent)QLibrary::resolve(QLatin1String("winmm"), "timeSetEvent");
-        qtimeKillEvent = (ptimeKillEvent)QLibrary::resolve(QLatin1String("winmm"), "timeKillEvent");
+        qtimeSetEvent = (ptimeSetEvent)QSystemLibrary::resolve(QLatin1String("winmm"), "timeSetEvent");
+        qtimeKillEvent = (ptimeKillEvent)QSystemLibrary::resolve(QLatin1String("winmm"), "timeKillEvent");
 #else
-        qtimeSetEvent = (ptimeSetEvent)QLibrary::resolve(QLatin1String("Mmtimer"), "timeSetEvent");
-        qtimeKillEvent = (ptimeKillEvent)QLibrary::resolve(QLatin1String("Mmtimer"), "timeKillEvent");
+        qtimeSetEvent = (ptimeSetEvent)QSystemLibrary::resolve(QLatin1String("Mmtimer"), "timeSetEvent");
+        qtimeKillEvent = (ptimeKillEvent)QSystemLibrary::resolve(QLatin1String("Mmtimer"), "timeKillEvent");
 #endif
     }
 }
diff --git a/src/corelib/plugin/plugin.pri b/src/corelib/plugin/plugin.pri
index c05ff48..ba86353 100644
--- a/src/corelib/plugin/plugin.pri
+++ b/src/corelib/plugin/plugin.pri
@@ -7,7 +7,8 @@ HEADERS += \
 	plugin/qlibrary_p.h \
 	plugin/qplugin.h \
 	plugin/quuid.h \
-	plugin/qfactoryloader_p.h 
+	plugin/qfactoryloader_p.h \
+	plugin/qsystemlibrary_p.h
 
 SOURCES += \
 	plugin/qpluginloader.cpp \
@@ -16,7 +17,9 @@ SOURCES += \
 	plugin/qlibrary.cpp
 
 win32 {
-	SOURCES += plugin/qlibrary_win.cpp
+	SOURCES += \
+		plugin/qlibrary_win.cpp \
+		plugin/qsystemlibrary.cpp
 }
 
 unix {
diff --git a/src/corelib/plugin/qsystemlibrary.cpp b/src/corelib/plugin/qsystemlibrary.cpp
new file mode 100644
index 0000000..7e9fdde
--- /dev/null
+++ b/src/corelib/plugin/qsystemlibrary.cpp
@@ -0,0 +1,90 @@
+#include "qsystemlibrary_p.h"
+#include <QtCore/qvarlengtharray.h>
+#include <QtCore/qstringlist.h>
+#include <QtCore/qfileinfo.h>
+
+/*!
+
+    \internal
+    \class QSystemLibrary
+
+    The purpose of this class is to load only libraries that are located in
+    well-known and trusted locations on the filesystem. It does not suffer from
+    the security problem that QLibrary has, therefore it will never search in
+    the current directory.
+
+    The search order is the same as the order in DLL Safe search mode Windows,
+    except that we don't search:
+    * The current directory
+    * The 16-bit system directory. (normally c:\windows\system)
+    * The Windows directory.  (normally c:\windows)
+
+    This means that the effective search order is:
+    1. Application path.
+    2. System libraries path.
+    3. Trying all paths inside the PATH environment variable.
+
+    Note, when onlySystemDirectory is true it will skip 1) and 3).
+
+    DLL Safe search mode is documented in the "Dynamic-Link Library Search
+    Order" document on MSDN.
+
+    Since library loading code is sometimes shared between Windows and WinCE,
+    this class can also be used on WinCE. However, its implementation just
+    calls the LoadLibrary() function. This is ok since it is documented as not
+    loading from the current directory on WinCE. This behaviour is documented
+    in the documentation for LoadLibrary for Windows CE at MSDN.
+    (http://msdn.microsoft.com/en-us/library/ms886736.aspx)
+*/
+#if !defined(QT_BOOTSTRAPPED)
+extern QString qAppFileName();
+#endif
+
+static QString qSystemDirectory()
+{
+    QVarLengthArray<wchar_t, MAX_PATH> fullPath;
+
+    UINT retLen = ::GetSystemDirectory(fullPath.data(), MAX_PATH);
+    if (retLen > MAX_PATH) {
+        fullPath.resize(retLen);
+        retLen = ::GetSystemDirectory(fullPath.data(), retLen);
+    }
+    // in some rare cases retLen might be 0
+    return QString::fromWCharArray(fullPath.constData(), int(retLen));
+}
+
+HINSTANCE QSystemLibrary::load(const wchar_t *libraryName, bool onlySystemDirectory/*= true*/)
+{
+#if defined(Q_OS_WINCE)
+    return ::LoadLibrary(lpFileName);
+#else
+    QStringList searchOrder;
+
+#if !defined(QT_BOOTSTRAPPED)
+    if (!onlySystemDirectory)
+        searchOrder << QFileInfo(qAppFileName()).path();
+#endif
+    searchOrder << qSystemDirectory();
+
+    if (!onlySystemDirectory) {
+        const QString PATH(QLatin1String(qgetenv("PATH").constData()));
+        searchOrder << PATH.split(QLatin1Char(';'), QString::SkipEmptyParts);
+    }
+    QString fileName = QString::fromWCharArray(libraryName);
+    fileName.append(QLatin1String(".dll"));
+
+    // Start looking in the order specified
+    for (int i = 0; i < searchOrder.count(); ++i) {
+        QString fullPathAttempt = searchOrder.at(i);
+        if (!fullPathAttempt.endsWith(QLatin1Char('\\'))) {
+            fullPathAttempt.append(QLatin1Char('\\'));
+        }
+        fullPathAttempt.append(fileName);
+        HINSTANCE inst = ::LoadLibrary((const wchar_t *)fullPathAttempt.utf16());
+        if (inst != 0)
+            return inst;
+    }
+    return 0;
+#endif
+}
+
diff --git a/src/corelib/plugin/qsystemlibrary_p.h b/src/corelib/plugin/qsystemlibrary_p.h
new file mode 100644
index 0000000..60c59e2
--- /dev/null
+++ b/src/corelib/plugin/qsystemlibrary_p.h
@@ -0,0 +1,61 @@
+#ifndef QSYSTEMLIBRARY_P_H
+#define QSYSTEMLIBRARY_P_H
+
+#include <QtCore/qglobal.h>
+#ifdef Q_OS_WIN
+#include <qt_windows.h>
+#include <QtCore/qstring.h>
+
+class QSystemLibrary
+{
+public:
+    explicit QSystemLibrary(const QString &libraryName)
+    {
+        m_libraryName = libraryName;
+        m_handle = 0;
+        m_didLoad = false;
+    }
+
+    explicit QSystemLibrary(const wchar_t *libraryName)
+    {
+        m_libraryName = QString::fromWCharArray(libraryName);
+        m_handle = 0;
+        m_didLoad = false;
+    }
+
+    bool load(bool onlySystemDirectory = true)
+    {
+        m_handle = load((const wchar_t *)m_libraryName.utf16(), onlySystemDirectory);
+        m_didLoad = true;
+        return (m_handle != 0);
+    }
+
+    bool isLoaded()
+    {
+        return (m_handle != 0);
+    }
+
+    void *resolve(const char *symbol)
+    {
+        if (!m_didLoad)
+            load();
+        if (!m_handle)
+            return 0;
+        return (void*)GetProcAddress(m_handle, symbol);
+    }
+
+    static void *resolve(const QString &libraryName, const char *symbol)
+    {
+        return QSystemLibrary(libraryName).resolve(symbol);
+    }
+
+    static Q_CORE_EXPORT HINSTANCE load(const wchar_t *lpFileName, bool onlySystemDirectory = true);
+private:
+    HINSTANCE m_handle;
+    QString m_libraryName;
+    bool m_didLoad;
+};
+
+#endif  //Q_OS_WIN
+
+#endif  //QSYSTEMLIBRARY_P_H
diff --git a/src/gui/accessible/qaccessible_win.cpp b/src/gui/accessible/qaccessible_win.cpp
index fc8575f..132d01f 100644
--- a/src/gui/accessible/qaccessible_win.cpp
+++ b/src/gui/accessible/qaccessible_win.cpp
@@ -42,7 +42,7 @@
 #ifndef QT_NO_ACCESSIBILITY
 
 #include "qapplication.h"
-#include "qlibrary.h"
+#include <private/qsystemlibrary_p.h>
 #include "qmessagebox.h" // ### dependency
 #include "qt_windows.h"
 #include "qwidget.h"
@@ -243,7 +243,7 @@ void QAccessible::updateAccessibility(QObject *o, int who, Event reason)
     static bool resolvedNWE = false;
     if (!resolvedNWE) {
         resolvedNWE = true;
-        ptrNotifyWinEvent = (PtrNotifyWinEvent)QLibrary::resolve(QLatin1String("user32"), "NotifyWinEvent");
+        ptrNotifyWinEvent = (PtrNotifyWinEvent)QSystemLibrary::resolve(QLatin1String("user32"), "NotifyWinEvent");
     }
     if (!ptrNotifyWinEvent)
         return;
diff --git a/src/gui/dialogs/qfiledialog_win.cpp b/src/gui/dialogs/qfiledialog_win.cpp
index 5a7ace9..bd97527 100644
--- a/src/gui/dialogs/qfiledialog_win.cpp
+++ b/src/gui/dialogs/qfiledialog_win.cpp
@@ -52,7 +52,7 @@
 #include <qbuffer.h>
 #include <qdir.h>
 #include <qstringlist.h>
-#include <qlibrary.h>
+#include <private/qsystemlibrary_p.h>
 
 #ifndef QT_NO_THREAD
 #  include <private/qmutexpool_p.h>
@@ -126,10 +126,10 @@ static void qt_win_resolve_libs()
 
         triedResolve = true;
 #if !defined(Q_WS_WINCE)
-        QLibrary lib(QLatin1String("shell32"));
-        ptrSHBrowseForFolder = (PtrSHBrowseForFolder) lib.resolve("SHBrowseForFolderW");
-        ptrSHGetPathFromIDList = (PtrSHGetPathFromIDList) lib.resolve("SHGetPathFromIDListW");
-        ptrSHGetMalloc = (PtrSHGetMalloc) lib.resolve("SHGetMalloc");
+        QSystemLibrary lib(L"shell32");
+        ptrSHBrowseForFolder = (PtrSHBrowseForFolder)lib.resolve("SHBrowseForFolderW");
+        ptrSHGetPathFromIDList = (PtrSHGetPathFromIDList)lib.resolve("SHGetPathFromIDListW");
+        ptrSHGetMalloc = (PtrSHGetMalloc)lib.resolve("SHGetMalloc");
 #else
         // CE stores them in a different lib and does not use unicode version
         HINSTANCE handle = LoadLibraryW(L"Ceshell");
@@ -436,7 +436,7 @@ static bool qt_win_set_IFileDialogOptions(IFileDialog *pfd,
 {
     if (!pSHCreateItemFromParsingName) {
         // This function is available only in Vista & above.
-        QLibrary shellLib(QLatin1String("Shell32"));
+        QSystemLibrary shellLib(QLatin1String("Shell32"));
         pSHCreateItemFromParsingName = (PtrSHCreateItemFromParsingName)
             shellLib.resolve("SHCreateItemFromParsingName");
         if (!pSHCreateItemFromParsingName)
diff --git a/src/gui/dialogs/qwizard_win.cpp b/src/gui/dialogs/qwizard_win.cpp
index 1390b21..449ad62 100644
--- a/src/gui/dialogs/qwizard_win.cpp
+++ b/src/gui/dialogs/qwizard_win.cpp
@@ -43,7 +43,7 @@
 #ifndef QT_NO_STYLE_WINDOWSVISTA
 
 #include "qwizard_win_p.h"
-#include "qlibrary.h"
+#include <private/qsystemlibrary_p.h>
 #include "qwizard.h"
 #include "qpaintengine.h"
 #include "qapplication.h"
@@ -691,7 +691,7 @@ bool QVistaHelper::resolveSymbols()
     static bool tried = false;
     if (!tried) {
         tried = true;
-        QLibrary dwmLib(QString::fromAscii("dwmapi"));
+        QSystemLibrary dwmLib(L"dwmapi");
         pDwmIsCompositionEnabled =
             (PtrDwmIsCompositionEnabled)dwmLib.resolve("DwmIsCompositionEnabled");
         if (pDwmIsCompositionEnabled) {
@@ -699,7 +699,7 @@ bool QVistaHelper::resolveSymbols()
             pDwmExtendFrameIntoClientArea =
                 (PtrDwmExtendFrameIntoClientArea)dwmLib.resolve("DwmExtendFrameIntoClientArea");
         }
-        QLibrary themeLib(QString::fromAscii("uxtheme"));
+        QSystemLibrary themeLib(L"uxtheme");
         pIsAppThemed = (PtrIsAppThemed)themeLib.resolve("IsAppThemed");
         if (pIsAppThemed) {
             pDrawThemeBackground = (PtrDrawThemeBackground)themeLib.resolve("DrawThemeBackground");
diff --git a/src/gui/kernel/qapplication_win.cpp b/src/gui/kernel/qapplication_win.cpp
index d6896c0..b6b49cc 100644
--- a/src/gui/kernel/qapplication_win.cpp
+++ b/src/gui/kernel/qapplication_win.cpp
@@ -66,7 +66,6 @@ extern void qt_wince_hide_taskbar(HWND hwnd); //defined in qguifunctions_wince.c
 #include "qdatetime.h"
 #include "qpointer.h"
 #include "qhash.h"
-#include "qlibrary.h"
 #include "qmetaobject.h"
 #include "qmime.h"
 #include "qpainter.h"
@@ -91,6 +90,7 @@ extern void qt_wince_hide_taskbar(HWND hwnd); //defined in qguifunctions_wince.c
 #include "qdebug.h"
 #include <private/qkeymapper_p.h>
 #include <private/qlocale_p.h>
+#include <private/qsystemlibrary_p.h>
 #include "qevent_p.h"
 
 //#define ALIEN_DEBUG
@@ -204,7 +204,7 @@ static void resolveAygLibs()
 {
     if (!aygResolved) {
         aygResolved = true;
-        QLibrary ayglib(QLatin1String("aygshell"));
+        QSystemLibrary ayglib(QLatin1String("aygshell"));
         if (!ayglib.load())
             return;
         ptrRecognizeGesture = (AygRecognizeGesture) ayglib.resolve("SHRecognizeGesture");
@@ -811,10 +811,10 @@ void qt_init(QApplicationPrivate *priv, int)
 
 #ifndef Q_OS_WINCE
     ptrUpdateLayeredWindowIndirect =
-        (PtrUpdateLayeredWindowIndirect) QLibrary::resolve(QLatin1String("user32"),
+        (PtrUpdateLayeredWindowIndirect) QSystemLibrary::resolve(QLatin1String("user32"),
                                                            "UpdateLayeredWindowIndirect");
     ptrUpdateLayeredWindow =
-        (PtrUpdateLayeredWindow) QLibrary::resolve(QLatin1String("user32"),
+        (PtrUpdateLayeredWindow) QSystemLibrary::resolve(QLatin1String("user32"),
                                                    "UpdateLayeredWindow");
 
     if (ptrUpdateLayeredWindow && !ptrUpdateLayeredWindowIndirect)
@@ -822,7 +822,7 @@ void qt_init(QApplicationPrivate *priv, int)
 
     // Notify Vista and Windows 7 that we support highter DPI settings
     ptrSetProcessDPIAware = (PtrSetProcessDPIAware)
-        QLibrary::resolve(QLatin1String("user32"), "SetProcessDPIAware");
+        QSystemLibrary::resolve(QLatin1String("user32"), "SetProcessDPIAware");
     if (ptrSetProcessDPIAware)
         ptrSetProcessDPIAware();
 #endif
@@ -842,30 +842,28 @@ void qt_init(QApplicationPrivate *priv, int)
 #elif !defined(Q_WS_WINCE)
   #if !defined(QT_NO_NATIVE_GESTURES)
     priv->GetGestureInfo =
-            (PtrGetGestureInfo)QLibrary::resolve(QLatin1String("user32"),
+            (PtrGetGestureInfo)QSystemLibrary::resolve(QLatin1String("user32"),
                                                  "GetGestureInfo");
     priv->GetGestureExtraArgs =
-            (PtrGetGestureExtraArgs)QLibrary::resolve(QLatin1String("user32"),
+            (PtrGetGestureExtraArgs)QSystemLibrary::resolve(QLatin1String("user32"),
                                                       "GetGestureExtraArgs");
     priv->CloseGestureInfoHandle =
-            (PtrCloseGestureInfoHandle)QLibrary::resolve(QLatin1String("user32"),
+            (PtrCloseGestureInfoHandle)QSystemLibrary::resolve(QLatin1String("user32"),
                                                          "CloseGestureInfoHandle");
     priv->SetGestureConfig =
-            (PtrSetGestureConfig)QLibrary::resolve(QLatin1String("user32"),
+            (PtrSetGestureConfig)QSystemLibrary::resolve(QLatin1String("user32"),
                                                    "SetGestureConfig");
     priv->GetGestureConfig =
-            (PtrGetGestureConfig)QLibrary::resolve(QLatin1String("user32"),
+            (PtrGetGestureConfig)QSystemLibrary::resolve(QLatin1String("user32"),
                                                    "GetGestureConfig");
   #endif // QT_NO_NATIVE_GESTURES
+    QSystemLibrary libTheme(QLatin1String("uxtheme"));
     priv->BeginPanningFeedback =
-            (PtrBeginPanningFeedback)QLibrary::resolve(QLatin1String("uxtheme"),
-                                                       "BeginPanningFeedback");
+            (PtrBeginPanningFeedback)libTheme.resolve("BeginPanningFeedback");
     priv->UpdatePanningFeedback =
-            (PtrUpdatePanningFeedback)QLibrary::resolve(QLatin1String("uxtheme"),
-                                                        "UpdatePanningFeedback");
+            (PtrUpdatePanningFeedback)libTheme.resolve("UpdatePanningFeedback");
     priv->EndPanningFeedback =
-        (PtrEndPanningFeedback)QLibrary::resolve(QLatin1String("uxtheme"),
-                                                   "EndPanningFeedback");
+        (PtrEndPanningFeedback)libTheme.resolve("EndPanningFeedback");
 #endif
 }
 
@@ -2294,7 +2292,7 @@ LRESULT CALLBACK QtWndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam
                 if (!oleaccChecked) {
                     oleaccChecked = true;
 #if !defined(Q_OS_WINCE)
-                    ptrLresultFromObject = (PtrLresultFromObject)QLibrary::resolve(QLatin1String("oleacc.dll"), "LresultFromObject");
+                    ptrLresultFromObject = (PtrLresultFromObject)QSystemLibrary::resolve(QLatin1String("oleacc"), "LresultFromObject");
 #endif
                 }
                 if (ptrLresultFromObject) {
@@ -3080,7 +3078,7 @@ bool QETWidget::translateMouseEvent(const MSG &msg)
                 static PtrTrackMouseEvent ptrTrackMouseEvent = 0;
                 if (!trackMouseEventLookup) {
                     trackMouseEventLookup = true;
-                    ptrTrackMouseEvent = (PtrTrackMouseEvent)QLibrary::resolve(QLatin1String("comctl32"), "_TrackMouseEvent");
+                    ptrTrackMouseEvent = (PtrTrackMouseEvent)QSystemLibrary::resolve(QLatin1String("comctl32"), "_TrackMouseEvent");
                 }
                 if (ptrTrackMouseEvent && !qApp->d_func()->inPopupMode()) {
                     // We always have to set the tracking, since
@@ -3600,7 +3598,7 @@ static void initWinTabFunctions()
     if (!qt_is_gui_used)
         return;
 
-    QLibrary library(QLatin1String("wintab32"));
+    QSystemLibrary library(QLatin1String("wintab32"));
     if (library.load()) {
         ptrWTInfo = (PtrWTInfo)library.resolve("WTInfoW");
         ptrWTGet = (PtrWTGet)library.resolve("WTGetW");
@@ -4044,7 +4042,7 @@ void QApplicationPrivate::initializeMultitouch_sys()
         iInkTablets->Release();
     }
 
-    QLibrary library(QLatin1String("user32"));
+    QSystemLibrary library(QLatin1String("user32"));
     // MinGW (g++ 3.4.5) accepts only C casts.
     RegisterTouchWindow = (PtrRegisterTouchWindow)(library.resolve("RegisterTouchWindow"));
     GetTouchInputInfo = (PtrGetTouchInputInfo)(library.resolve("GetTouchInputInfo"));
diff --git a/src/gui/kernel/qdesktopwidget_win.cpp b/src/gui/kernel/qdesktopwidget_win.cpp
index 1fea8d6..7d7caac 100644
--- a/src/gui/kernel/qdesktopwidget_win.cpp
+++ b/src/gui/kernel/qdesktopwidget_win.cpp
@@ -42,7 +42,7 @@
 #include "qdesktopwidget.h"
 #include "qt_windows.h"
 #include "qapplication_p.h"
-#include "qlibrary.h"
+#include <private/qsystemlibrary_p.h>
 #include <qvector.h>
 #include <limits.h>
 #ifdef Q_WS_WINCE
@@ -155,7 +155,7 @@ void QDesktopWidgetPrivate::init(QDesktopWidget *that)
     screenCount = 0;
 
 #ifndef Q_OS_WINCE
-    QLibrary user32Lib(QLatin1String("user32"));
+    QSystemLibrary user32Lib(QLatin1String("user32"));
     if (user32Lib.load()) {
         enumDisplayMonitors = (EnumFunc)user32Lib.resolve("EnumDisplayMonitors");
         getMonitorInfo = (InfoFunc)user32Lib.resolve("GetMonitorInfoW");
@@ -173,7 +173,7 @@ void QDesktopWidgetPrivate::init(QDesktopWidget *that)
     enumDisplayMonitors = 0;
     getMonitorInfo = 0;
 #else
-    QLibrary coreLib(QLatin1String("coredll"));
+    QSystemLibrary coreLib(QLatin1String("coredll"));
     if (coreLib.load()) {
         // CE >= 4.0 case
         enumDisplayMonitors = (EnumFunc)coreLib.resolve("EnumDisplayMonitors");
diff --git a/src/gui/kernel/qwidget_win.cpp b/src/gui/kernel/qwidget_win.cpp
index 9acfb70..10d6345 100644
--- a/src/gui/kernel/qwidget_win.cpp
+++ b/src/gui/kernel/qwidget_win.cpp
@@ -47,7 +47,6 @@
 #include "qevent.h"
 #include "qimage.h"
 #include "qlayout.h"
-#include "qlibrary.h"
 #include "qpainter.h"
 #include "qstack.h"
 #include "qt_windows.h"
@@ -65,6 +64,7 @@
 #include <private/qapplication_p.h>
 #include <private/qwininputcontext_p.h>
 #include <private/qpaintengine_raster_p.h>
+#include <private/qsystemlibrary_p.h>
 
 #if defined(Q_WS_WINCE)
 #include "qguifunctions_wince.h"
@@ -143,7 +143,7 @@ static void init_wintab_functions()
 #else
     if (!qt_is_gui_used)
         return;
-    QLibrary library(QLatin1String("wintab32"));
+    QSystemLibrary library(QLatin1String("wintab32"));
     ptrWTOpen = (PtrWTOpen)library.resolve("WTOpenW");
     ptrWTInfo = (PtrWTInfo)library.resolve("WTInfoW");
     ptrWTClose = (PtrWTClose)library.resolve("WTClose");
@@ -1860,7 +1860,7 @@ void QWidgetPrivate::setWindowOpacity_sys(qreal level)
     static bool function_resolved = false;
     if (!function_resolved) {
         ptrSetLayeredWindowAttributes =
-            (PtrSetLayeredWindowAttributes) QLibrary::resolve(QLatin1String("user32"),
+            (PtrSetLayeredWindowAttributes) QSystemLibrary::resolve(QLatin1String("user32"),
                                                               "SetLayeredWindowAttributes");
         function_resolved = true;
     }
diff --git a/src/gui/styles/qwindowsstyle.cpp b/src/gui/styles/qwindowsstyle.cpp
index 6c48590..53d32da 100644
--- a/src/gui/styles/qwindowsstyle.cpp
+++ b/src/gui/styles/qwindowsstyle.cpp
@@ -45,7 +45,7 @@
 
 #if !defined(QT_NO_STYLE_WINDOWS) || defined(QT_PLUGIN)
 
-#include "qlibrary.h"
+#include <private/qsystemlibrary_p.h>
 #include "qapplication.h"
 #include "qbitmap.h"
 #include "qdrawutil.h" // for now
@@ -126,7 +126,7 @@ QWindowsStylePrivate::QWindowsStylePrivate()
 #if defined(Q_WS_WIN) && !defined(Q_OS_WINCE)
     if ((QSysInfo::WindowsVersion >= QSysInfo::WV_VISTA
         && QSysInfo::WindowsVersion < QSysInfo::WV_NT_based)) {
-        QLibrary shellLib(QLatin1String("shell32"));
+        QSystemLibrary shellLib(QLatin1String("shell32"));
         pSHGetStockIconInfo = (PtrSHGetStockIconInfo)shellLib.resolve("SHGetStockIconInfo");
     }
 #endif
@@ -921,9 +921,9 @@ static const char *const question_xpm[] = {
 static QPixmap loadIconFromShell32( int resourceId, int size )
 {
 #ifdef Q_OS_WINCE
-    HMODULE hmod = LoadLibrary(L"ceshell.dll");
+    HMODULE hmod = LoadLibrary(L"ceshell");
 #else
-    HMODULE hmod = LoadLibrary(L"shell32.dll");
+    HMODULE hmod = QSystemLibrary::load(L"shell32");
 #endif
     if( hmod ) {
         HICON iconHandle = (HICON)LoadImage(hmod, MAKEINTRESOURCE(resourceId), IMAGE_ICON, size, size, 0);
diff --git a/src/gui/styles/qwindowsvistastyle.cpp b/src/gui/styles/qwindowsvistastyle.cpp
index 67a7b85..92688c0 100644
--- a/src/gui/styles/qwindowsvistastyle.cpp
+++ b/src/gui/styles/qwindowsvistastyle.cpp
@@ -42,6 +42,7 @@
 #include "qwindowsvistastyle.h"
 #include "qwindowsvistastyle_p.h"
 #include <private/qstylehelper_p.h>
+#include <private/qsystemlibrary_p.h>
 
 #if !defined(QT_NO_STYLE_WINDOWSVISTA) || defined(QT_PLUGIN)
 
@@ -2597,7 +2598,7 @@ bool QWindowsVistaStylePrivate::resolveSymbols()
     static bool tried = false;
     if (!tried) {
         tried = true;
-        QLibrary themeLib(QLatin1String("uxtheme"));
+        QSystemLibrary themeLib(QLatin1String("uxtheme"));
         pSetWindowTheme         = (PtrSetWindowTheme        )themeLib.resolve("SetWindowTheme");
         pIsThemePartDefined     = (PtrIsThemePartDefined    )themeLib.resolve("IsThemePartDefined");
         pGetThemePartSize       = (PtrGetThemePartSize      )themeLib.resolve("GetThemePartSize");
diff --git a/src/gui/styles/qwindowsxpstyle.cpp b/src/gui/styles/qwindowsxpstyle.cpp
index efb1224..a2538fe 100644
--- a/src/gui/styles/qwindowsxpstyle.cpp
+++ b/src/gui/styles/qwindowsxpstyle.cpp
@@ -48,7 +48,7 @@
 #include <private/qapplication_p.h>
 #include <private/qstylehelper_p.h>
 #include <private/qwidget_p.h>
-#include <qlibrary.h>
+#include <private/qsystemlibrary_p.h>
 #include <qpainter.h>
 #include <qpaintengine.h>
 #include <qwidget.h>
@@ -344,7 +344,7 @@ bool QWindowsXPStylePrivate::resolveSymbols()
     static bool tried = false;
     if (!tried) {
         tried = true;
-        QLibrary themeLib(QLatin1String("uxtheme"));
+        QSystemLibrary themeLib(QLatin1String("uxtheme"));
         pIsAppThemed = (PtrIsAppThemed)themeLib.resolve("IsAppThemed");
         if (pIsAppThemed) {
             pIsThemeActive          = (PtrIsThemeActive         )themeLib.resolve("IsThemeActive");
diff --git a/src/gui/text/qfontdatabase_win.cpp b/src/gui/text/qfontdatabase_win.cpp
index a6ceee1..160b139 100644
--- a/src/gui/text/qfontdatabase_win.cpp
+++ b/src/gui/text/qfontdatabase_win.cpp
@@ -45,7 +45,7 @@
 #include "qfont_p.h"
 #include "qfontengine_p.h"
 #include "qpaintdevice.h"
-#include "qlibrary.h"
+#include <private/qsystemlibrary_p.h>
 #include "qabstractfileengine.h"
 #include "qendian.h"
 
@@ -1049,7 +1049,7 @@ static void registerFont(QFontDatabasePrivate::ApplicationFont *fnt)
 {
     if(!fnt->data.isEmpty()) {
 #ifndef Q_OS_WINCE
-        PtrAddFontMemResourceEx ptrAddFontMemResourceEx = (PtrAddFontMemResourceEx)QLibrary::resolve(QLatin1String("gdi32"),
+        PtrAddFontMemResourceEx ptrAddFontMemResourceEx = (PtrAddFontMemResourceEx)QSystemLibrary::resolve(QLatin1String("gdi32"),
                                                                                                      "AddFontMemResourceEx");
         if (!ptrAddFontMemResourceEx)
             return;
@@ -1112,7 +1112,7 @@ static void registerFont(QFontDatabasePrivate::ApplicationFont *fnt)
             return;
 #else
         // supported from 2000 on, so no need to deal with the *A variant
-        PtrAddFontResourceExW ptrAddFontResourceExW = (PtrAddFontResourceExW)QLibrary::resolve(QLatin1String("gdi32"),
+        PtrAddFontResourceExW ptrAddFontResourceExW = (PtrAddFontResourceExW)QSystemLibrary::resolve(QLatin1String("gdi32"),
                                                                                                "AddFontResourceExW");
         if (!ptrAddFontResourceExW
             || ptrAddFontResourceExW((wchar_t*)fnt->fileName.utf16(), FR_PRIVATE, 0) == 0)
@@ -1141,7 +1141,7 @@ bool QFontDatabase::removeApplicationFont(int handle)
         if (!removeSucceeded)
             return false;
 #else
-        PtrRemoveFontMemResourceEx ptrRemoveFontMemResourceEx = (PtrRemoveFontMemResourceEx)QLibrary::resolve(QLatin1String("gdi32"),
+        PtrRemoveFontMemResourceEx ptrRemoveFontMemResourceEx = (PtrRemoveFontMemResourceEx)QSystemLibrary::resolve(QLatin1String("gdi32"),
                                                                                                               "RemoveFontMemResourceEx");
         if (!ptrRemoveFontMemResourceEx
             || !ptrRemoveFontMemResourceEx(font.handle))
@@ -1152,7 +1152,7 @@ bool QFontDatabase::removeApplicationFont(int handle)
         if (!RemoveFontResource((LPCWSTR)font.fileName.utf16()))
             return false;
 #else
-        PtrRemoveFontResourceExW ptrRemoveFontResourceExW = (PtrRemoveFontResourceExW)QLibrary::resolve(QLatin1String("gdi32"),
+        PtrRemoveFontResourceExW ptrRemoveFontResourceExW = (PtrRemoveFontResourceExW)QSystemLibrary::resolve(QLatin1String("gdi32"),
                                                                                                         "RemoveFontResourceExW");
         if (!ptrRemoveFontResourceExW
             || !ptrRemoveFontResourceExW((LPCWSTR)font.fileName.utf16(), FR_PRIVATE, 0))
diff --git a/src/gui/text/qfontengine_win.cpp b/src/gui/text/qfontengine_win.cpp
index eea196e..be90f1c 100644
--- a/src/gui/text/qfontengine_win.cpp
+++ b/src/gui/text/qfontengine_win.cpp
@@ -50,7 +50,7 @@
 #include "qt_windows.h"
 #include <private/qapplication_p.h>
 
-#include <qlibrary.h>
+#include <private/qsystemlibrary_p.h>
 #include <qpaintdevice.h>
 #include <qpainter.h>
 #include <limits.h>
@@ -140,7 +140,7 @@ static void resolveGetCharWidthI()
     if (resolvedGetCharWidthI)
         return;
     resolvedGetCharWidthI = true;
-    ptrGetCharWidthI = (PtrGetCharWidthI)QLibrary::resolve(QLatin1String("gdi32"), "GetCharWidthI");
+    ptrGetCharWidthI = (PtrGetCharWidthI)QSystemLibrary::resolve(QLatin1String("gdi32"), "GetCharWidthI");
 }
 #endif // !defined(Q_WS_WINCE)
 
diff --git a/src/gui/util/qdesktopservices_win.cpp b/src/gui/util/qdesktopservices_win.cpp
index 9f3b6e1..359710f 100644
--- a/src/gui/util/qdesktopservices_win.cpp
+++ b/src/gui/util/qdesktopservices_win.cpp
@@ -41,7 +41,7 @@
 
 #include <qsettings.h>
 #include <qdir.h>
-#include <qlibrary.h>
+#include <private/qsystemlibrary_p.h>
 #include <qurl.h>
 #include <qstringlist.h>
 #include <qprocess.h>
@@ -177,9 +177,9 @@ QString QDesktopServices::storageLocation(StandardLocation type)
     QString result;
 
 #ifndef Q_OS_WINCE
-        QLibrary library(QLatin1String("shell32"));
+        QSystemLibrary library(QLatin1String("shell32"));
 #else
-        QLibrary library(QLatin1String("coredll"));
+        QSystemLibrary library(QLatin1String("coredll"));
 #endif // Q_OS_WINCE
     typedef BOOL (WINAPI*GetSpecialFolderPath)(HWND, LPWSTR, int, BOOL);
     static GetSpecialFolderPath SHGetSpecialFolderPath =
diff --git a/src/gui/util/qsystemtrayicon_win.cpp b/src/gui/util/qsystemtrayicon_win.cpp
index 1571b94..6e78dfd 100644
--- a/src/gui/util/qsystemtrayicon_win.cpp
+++ b/src/gui/util/qsystemtrayicon_win.cpp
@@ -55,7 +55,7 @@
 #include <commctrl.h>
 #include <shlwapi.h>
 #include <QBitmap>
-#include <QLibrary>
+#include <private/qsystemlibrary_p.h>
 #include <QApplication>
 #include <QToolTip>
 #include <QDesktopWidget>
@@ -134,14 +134,14 @@ QSystemTrayIconSys::QSystemTrayIconSys(QSystemTrayIcon *object)
 
     // Allow the WM_TASKBARCREATED message through the UIPI filter on Windows Vista and higher
     static PtrChangeWindowMessageFilterEx pChangeWindowMessageFilterEx =
-        (PtrChangeWindowMessageFilterEx)QLibrary::resolve(QLatin1String("user32"), "ChangeWindowMessageFilterEx");
+        (PtrChangeWindowMessageFilterEx)QSystemLibrary::resolve(QLatin1String("user32"), "ChangeWindowMessageFilterEx");
 
     if (pChangeWindowMessageFilterEx) {
         // Call the safer ChangeWindowMessageFilterEx API if available
         pChangeWindowMessageFilterEx(winId(), MYWM_TASKBARCREATED, Q_MSGFLT_ALLOW, 0);
     } else {
         static PtrChangeWindowMessageFilter pChangeWindowMessageFilter =
-            (PtrChangeWindowMessageFilter)QLibrary::resolve(QLatin1String("user32"), "ChangeWindowMessageFilter");
+            (PtrChangeWindowMessageFilter)QSystemLibrary::resolve(QLatin1String("user32"), "ChangeWindowMessageFilter");
 
         if (pChangeWindowMessageFilter) {
             // Call the deprecated ChangeWindowMessageFilter API otherwise
@@ -352,7 +352,7 @@ void QSystemTrayIconPrivate::install_sys()
 QRect QSystemTrayIconSys::findIconGeometry(const int iconId)
 {
     static PtrShell_NotifyIconGetRect Shell_NotifyIconGetRect =
-        (PtrShell_NotifyIconGetRect)QLibrary::resolve(QLatin1String("shell32"), "Shell_NotifyIconGetRect");
+        (PtrShell_NotifyIconGetRect)QSystemLibrary::resolve(QLatin1String("shell32"), "Shell_NotifyIconGetRect");
 
     if (Shell_NotifyIconGetRect) {
         Q_NOTIFYICONIDENTIFIER nid;
diff --git a/src/network/kernel/qhostinfo_win.cpp b/src/network/kernel/qhostinfo_win.cpp
index b30204b..8241c84 100644
--- a/src/network/kernel/qhostinfo_win.cpp
+++ b/src/network/kernel/qhostinfo_win.cpp
@@ -49,7 +49,7 @@
 #include "qhostinfo_p.h"
 #include "private/qnativesocketengine_p.h"
 #include <ws2tcpip.h>
-#include <qlibrary.h>
+#include <private/qsystemlibrary_p.h>
 #include <qmutex.h>
 #include <qurl.h>
 #include <private/qmutexpool_p.h>
@@ -90,13 +90,13 @@ static void resolveLibrary()
     // Attempt to resolve getaddrinfo(); without it we'll have to fall
     // back to gethostbyname(), which has no IPv6 support.
 #if !defined(Q_OS_WINCE)
-    local_getaddrinfo = (getaddrinfoProto) QLibrary::resolve(QLatin1String("ws2_32.dll"), "getaddrinfo");
-    local_freeaddrinfo = (freeaddrinfoProto) QLibrary::resolve(QLatin1String("ws2_32.dll"), "freeaddrinfo");
-    local_getnameinfo = (getnameinfoProto) QLibrary::resolve(QLatin1String("ws2_32.dll"), "getnameinfo");
+    local_getaddrinfo = (getaddrinfoProto) QSystemLibrary::resolve(QLatin1String("ws2_32"), "getaddrinfo");
+    local_freeaddrinfo = (freeaddrinfoProto) QSystemLibrary::resolve(QLatin1String("ws2_32"), "freeaddrinfo");
+    local_getnameinfo = (getnameinfoProto) QSystemLibrary::resolve(QLatin1String("ws2_32"), "getnameinfo");
 #else
-    local_getaddrinfo = (getaddrinfoProto) QLibrary::resolve(QLatin1String("ws2.dll"), "getaddrinfo");
-    local_freeaddrinfo = (freeaddrinfoProto) QLibrary::resolve(QLatin1String("ws2.dll"), "freeaddrinfo");
-    local_getnameinfo = (getnameinfoProto) QLibrary::resolve(QLatin1String("ws2.dll"), "getnameinfo");
+    local_getaddrinfo = (getaddrinfoProto) QSystemLibrary::resolve(QLatin1String("ws2"), "getaddrinfo");
+    local_freeaddrinfo = (freeaddrinfoProto) QSystemLibrary::resolve(QLatin1String("ws2"), "freeaddrinfo");
+    local_getnameinfo = (getnameinfoProto) QSystemLibrary::resolve(QLatin1String("ws2"), "getnameinfo");
 #endif
 }
 
diff --git a/src/network/kernel/qnetworkinterface_win.cpp b/src/network/kernel/qnetworkinterface_win.cpp
index 056650d..a1d1df6 100644
--- a/src/network/kernel/qnetworkinterface_win.cpp
+++ b/src/network/kernel/qnetworkinterface_win.cpp
@@ -48,6 +48,7 @@
 #include <qhostinfo.h>
 #include <qhash.h>
 #include <qurl.h>
+#include <private/qsystemlibrary_p.h>
 
 QT_BEGIN_NAMESPACE
 
@@ -66,7 +67,7 @@ static void resolveLibs()
     if (!done) {
         done = true;
 
-        HINSTANCE iphlpapiHnd = LoadLibrary(L"iphlpapi");
+        HINSTANCE iphlpapiHnd = QSystemLibrary::load(L"iphlpapi");
         if (iphlpapiHnd == NULL)
             return;
 
diff --git a/src/network/kernel/qnetworkproxy_win.cpp b/src/network/kernel/qnetworkproxy_win.cpp
index e801738..de7c245 100644
--- a/src/network/kernel/qnetworkproxy_win.cpp
+++ b/src/network/kernel/qnetworkproxy_win.cpp
@@ -51,6 +51,7 @@
 #include <string.h>
 #include <qt_windows.h>
 #include <wininet.h>
+#include <private/qsystemlibrary_p.h>
 
 /*
  * Information on the WinHTTP DLL:
@@ -273,15 +274,15 @@ void QWindowsSystemProxy::init()
     return;
 #else
     // load the winhttp.dll library
-    HINSTANCE winhttpHnd = LoadLibrary(L"winhttp");
-    if (!winhttpHnd)
+    QSystemLibrary lib(L"winhttp");
+    if (!lib.load())
         return;                 // failed to load
 
-    ptrWinHttpOpen = (PtrWinHttpOpen)GetProcAddress(winhttpHnd, "WinHttpOpen");
-    ptrWinHttpCloseHandle = (PtrWinHttpCloseHandle)GetProcAddress(winhttpHnd, "WinHttpCloseHandle");
-    ptrWinHttpGetProxyForUrl = (PtrWinHttpGetProxyForUrl)GetProcAddress(winhttpHnd, "WinHttpGetProxyForUrl");
-    ptrWinHttpGetDefaultProxyConfiguration = (PtrWinHttpGetDefaultProxyConfiguration)GetProcAddress(winhttpHnd, "WinHttpGetDefaultProxyConfiguration");
-    ptrWinHttpGetIEProxyConfigForCurrentUser = (PtrWinHttpGetIEProxyConfigForCurrentUser)GetProcAddress(winhttpHnd, "WinHttpGetIEProxyConfigForCurrentUser");
+    ptrWinHttpOpen = (PtrWinHttpOpen)lib.resolve("WinHttpOpen");
+    ptrWinHttpCloseHandle = (PtrWinHttpCloseHandle)lib.resolve("WinHttpCloseHandle");
+    ptrWinHttpGetProxyForUrl = (PtrWinHttpGetProxyForUrl)lib.resolve("WinHttpGetProxyForUrl");
+    ptrWinHttpGetDefaultProxyConfiguration = (PtrWinHttpGetDefaultProxyConfiguration)lib.resolve("WinHttpGetDefaultProxyConfiguration");
+    ptrWinHttpGetIEProxyConfigForCurrentUser = (PtrWinHttpGetIEProxyConfigForCurrentUser)lib.resolve("WinHttpGetIEProxyConfigForCurrentUser");
 
     // Try to obtain the Internet Explorer configuration.
     WINHTTP_CURRENT_USER_IE_PROXY_CONFIG ieProxyConfig;
diff --git a/src/network/ssl/qsslsocket_openssl_symbols.cpp b/src/network/ssl/qsslsocket_openssl_symbols.cpp
index 8620e00..9e550ae 100644
--- a/src/network/ssl/qsslsocket_openssl_symbols.cpp
+++ b/src/network/ssl/qsslsocket_openssl_symbols.cpp
@@ -42,7 +42,11 @@
 
 #include "qsslsocket_openssl_symbols_p.h"
 
-#include <QtCore/qlibrary.h>
+#ifdef Q_OS_WIN
+# include <private/qsystemlibrary_p.h>
+#else
+# include <QtCore/qlibrary.h>
+#endif
 #include <QtCore/qmutex.h>
 #include <private/qmutexpool_p.h>
 #include <QtCore/qdatetime.h>
@@ -343,22 +347,22 @@ static QStringList findAllLibSsl()
 }
 # endif
 
-static QPair<QLibrary*, QLibrary*> loadOpenSsl()
+#ifdef Q_OS_WIN
+static QPair<QSystemLibrary*, QSystemLibrary*> loadOpenSslWin32()
 {
-    QPair<QLibrary*,QLibrary*> pair;
+    QPair<QSystemLibrary*,QSystemLibrary*> pair;
     pair.first = 0;
     pair.second = 0;
 
-# ifdef Q_OS_WIN
-    QLibrary *ssleay32 = new QLibrary(QLatin1String("ssleay32"));
-    if (!ssleay32->load()) {
+    QSystemLibrary *ssleay32 = new QSystemLibrary(QLatin1String("ssleay32"));
+    if (!ssleay32->load(false)) {
         // Cannot find ssleay32.dll
         delete ssleay32;
         return pair;
     }
 
-    QLibrary *libeay32 = new QLibrary(QLatin1String("libeay32"));
-    if (!libeay32->load()) {
+    QSystemLibrary *libeay32 = new QSystemLibrary(QLatin1String("libeay32"));
+    if (!libeay32->load(false)) {
         delete ssleay32;
         delete libeay32;
         return pair;
@@ -367,7 +371,16 @@ static QPair<QLibrary*, QLibrary*> loadOpenSsl()
     pair.first = ssleay32;
     pair.second = libeay32;
     return pair;
-# elif defined(Q_OS_SYMBIAN)
+}
+#else
+
+static QPair<QLibrary*, QLibrary*> loadOpenSsl()
+{
+    QPair<QLibrary*,QLibrary*> pair;
+    pair.first = 0;
+    pair.second = 0;
+
+# if defined(Q_OS_SYMBIAN)
      QLibrary *libssl = new QLibrary(QLatin1String("libssl"));
     if (!libssl->load()) {
         // Cannot find ssleay32.dll
@@ -467,6 +480,7 @@ static QPair<QLibrary*, QLibrary*> loadOpenSsl()
     return pair;
 # endif
 }
+#endif
 
 bool q_resolveOpenSslSymbols()
 {
@@ -481,7 +495,11 @@ bool q_resolveOpenSslSymbols()
         return false;
     triedToResolveSymbols = true;
 
+#ifdef Q_OS_WIN
+    QPair<QSystemLibrary *, QSystemLibrary *> libs = loadOpenSslWin32();
+#else
     QPair<QLibrary *, QLibrary *> libs = loadOpenSsl();
+#endif
     if (!libs.first || !libs.second)
         // failed to load them
         return false;
diff --git a/src/qt3support/network/q3dns.cpp b/src/qt3support/network/q3dns.cpp
index ab042c4..e0e9909 100644
--- a/src/qt3support/network/q3dns.cpp
+++ b/src/qt3support/network/q3dns.cpp
@@ -41,6 +41,7 @@
 
 #include "qplatformdefs.h"
 #include "qbytearray.h"
+#include <private/qsystemlibrary_p.h>
 #if defined(Q_OS_WIN32) || defined(Q_OS_WINCE) || defined(Q_OS_CYGWIN)
 # include "qt_windows.h"
 #else
@@ -2299,7 +2300,7 @@ void Q3Dns::doResInit()
     bool gotNetworkParams = false;
     // try the API call GetNetworkParams() first and use registry lookup only
     // as a fallback
-    HINSTANCE hinstLib = LoadLibrary( L"iphlpapi" );
+    HINSTANCE hinstLib = QSystemLibrary::load( L"iphlpapi" );
     if ( hinstLib != 0 ) {
 #ifdef Q_OS_WINCE
 	GNP getNetworkParams = (GNP) GetProcAddress( hinstLib, L"GetNetworkParams" );
diff --git a/src/tools/bootstrap/bootstrap.pro b/src/tools/bootstrap/bootstrap.pro
index 0dbb90f..21fd412 100644
--- a/src/tools/bootstrap/bootstrap.pro
+++ b/src/tools/bootstrap/bootstrap.pro
@@ -87,7 +87,8 @@ unix:SOURCES += ../../corelib/io/qfsfileengine_unix.cpp \
                 ../../corelib/io/qfsfileengine_iterator_unix.cpp
 
 win32:SOURCES += ../../corelib/io/qfsfileengine_win.cpp \
-                 ../../corelib/io/qfsfileengine_iterator_win.cpp
+                 ../../corelib/io/qfsfileengine_iterator_win.cpp \
+                 ../../corelib/plugin/qsystemlibrary.cpp \
 
 macx: {
    QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.4 #enables weak linking for 10.4 (exported)
-- 
cgit v0.12


From d869e2da86d46cff772252e053098555c3151eac Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan-Arve=20S=C3=A6ther?= <jan-arve.saether@nokia.com>
Date: Fri, 3 Sep 2010 14:26:41 +0200
Subject: Compile fix WinCE

Task-number: QT-3825
---
 src/corelib/plugin/qsystemlibrary.cpp | 13 +++++++++----
 src/corelib/plugin/qsystemlibrary_p.h |  6 +++++-
 2 files changed, 14 insertions(+), 5 deletions(-)

diff --git a/src/corelib/plugin/qsystemlibrary.cpp b/src/corelib/plugin/qsystemlibrary.cpp
index 7e9fdde..f781770 100644
--- a/src/corelib/plugin/qsystemlibrary.cpp
+++ b/src/corelib/plugin/qsystemlibrary.cpp
@@ -36,6 +36,13 @@
     in the documentation for LoadLibrary for Windows CE at MSDN.
     (http://msdn.microsoft.com/en-us/library/ms886736.aspx)
 */
+#if defined(Q_OS_WINCE)
+HINSTANCE QSystemLibrary::load(const wchar_t *libraryName, bool onlySystemDirectory/*= true*/)
+{
+    return ::LoadLibrary(libraryName);
+}
+#else
+
 #if !defined(QT_BOOTSTRAPPED)
 extern QString qAppFileName();
 #endif
@@ -55,9 +62,6 @@ static QString qSystemDirectory()
 
 HINSTANCE QSystemLibrary::load(const wchar_t *libraryName, bool onlySystemDirectory/*= true*/)
 {
-#if defined(Q_OS_WINCE)
-    return ::LoadLibrary(lpFileName);
-#else
     QStringList searchOrder;
 
 #if !defined(QT_BOOTSTRAPPED)
@@ -85,6 +89,7 @@ HINSTANCE QSystemLibrary::load(const wchar_t *libraryName, bool onlySystemDirect
             return inst;
     }
     return 0;
-#endif
+
 }
 
+#endif  //Q_OS_WINCE
diff --git a/src/corelib/plugin/qsystemlibrary_p.h b/src/corelib/plugin/qsystemlibrary_p.h
index 60c59e2..5d925ca 100644
--- a/src/corelib/plugin/qsystemlibrary_p.h
+++ b/src/corelib/plugin/qsystemlibrary_p.h
@@ -41,7 +41,11 @@ public:
             load();
         if (!m_handle)
             return 0;
-        return (void*)GetProcAddress(m_handle, symbol);
+#ifdef Q_OS_WINCE
+    return (void*)GetProcAddress(m_handle, (const wchar_t*)QString::fromLatin1(symbol).utf16());
+#else
+    return (void*)GetProcAddress(m_handle, symbol);
+#endif
     }
 
     static void *resolve(const QString &libraryName, const char *symbol)
-- 
cgit v0.12


From a465b9e92bea7669052882dc6dd59a8b6f447bf4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan-Arve=20S=C3=A6ther?= <jan-arve.saether@nokia.com>
Date: Mon, 6 Sep 2010 08:23:42 +0200
Subject: Compile fix MinGW, 5738dcd705e7edde816940f9c0ab2c364c81ad20 broke it.

Task-number: QT-3825
---
 qmake/Makefile.win32-g++    | 4 ++++
 qmake/Makefile.win32-g++-sh | 4 ++++
 2 files changed, 8 insertions(+)

diff --git a/qmake/Makefile.win32-g++ b/qmake/Makefile.win32-g++
index 169de3c..5b59154 100644
--- a/qmake/Makefile.win32-g++
+++ b/qmake/Makefile.win32-g++
@@ -81,6 +81,7 @@ QTOBJS= \
 	qutfcodec.o \
 	qstring.o \
 	qstringlist.o \
+	qsystemlibrary.o \
 	qtextstream.o \
 	quuid.o \
 	qvector.o \
@@ -236,6 +237,9 @@ qdatetime.o: $(SOURCE_PATH)/src/corelib/tools/qdatetime.cpp
 qstringlist.o: $(SOURCE_PATH)/src/corelib/tools/qstringlist.cpp
 	$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/tools/qstringlist.cpp
 
+qsystemlibrary.o: $(SOURCE_PATH)/src/corelib/plugin/qsystemlibrary.cpp
+	$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/plugin/qsystemlibrary.cpp
+
 qmap.o: $(SOURCE_PATH)/src/corelib/tools/qmap.cpp
 	$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/tools/qmap.cpp
 
diff --git a/qmake/Makefile.win32-g++-sh b/qmake/Makefile.win32-g++-sh
index 98237e7..5295ddb 100644
--- a/qmake/Makefile.win32-g++-sh
+++ b/qmake/Makefile.win32-g++-sh
@@ -81,6 +81,7 @@ QTOBJS= \
 	qutfcodec.o \
 	qstring.o \
 	qstringlist.o \
+	qsystemlibrary.o \
 	qtextstream.o \
 	quuid.o \
 	qvector.o \
@@ -235,6 +236,9 @@ qdatetime.o: $(SOURCE_PATH)/src/corelib/tools/qdatetime.cpp
 qstringlist.o: $(SOURCE_PATH)/src/corelib/tools/qstringlist.cpp
 	$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/tools/qstringlist.cpp
 
+qsystemlibrary.o: $(SOURCE_PATH)/src/corelib/plugin/qsystemlibrary.cpp
+	$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/plugin/qsystemlibrary.cpp
+
 qmap.o: $(SOURCE_PATH)/src/corelib/tools/qmap.cpp
 	$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/tools/qmap.cpp
 
-- 
cgit v0.12


From 5eba3f8f449256ace5aa70ab004a63f3e5d79d7a Mon Sep 17 00:00:00 2001
From: axis <qt-info@nokia.com>
Date: Fri, 27 Aug 2010 10:31:39 +0200
Subject: Revert "Long-press shortcuts for symbols on QWERTY keyboard don't
 work"

This reverts commit 05eacd9ad40f8adb5aaa12a8b90113a73b43f642.

Conflicts:

	src/gui/inputmethod/qcoefepinputcontext_p.h
	src/gui/inputmethod/qcoefepinputcontext_s60.cpp
(cherry picked from commit c5901037f0d3ccd45b0c79b38ef5b04552dad0aa)
---
 src/gui/inputmethod/qcoefepinputcontext_p.h     |  1 -
 src/gui/inputmethod/qcoefepinputcontext_s60.cpp | 15 +--------------
 src/gui/widgets/qlinecontrol.cpp                |  2 +-
 3 files changed, 2 insertions(+), 16 deletions(-)

diff --git a/src/gui/inputmethod/qcoefepinputcontext_p.h b/src/gui/inputmethod/qcoefepinputcontext_p.h
index d5243c3..cc14e89 100644
--- a/src/gui/inputmethod/qcoefepinputcontext_p.h
+++ b/src/gui/inputmethod/qcoefepinputcontext_p.h
@@ -151,7 +151,6 @@ private:
     int m_inlinePosition;
     MFepInlineTextFormatRetriever *m_formatRetriever;
     MFepPointerEventHandlerDuringInlineEdit *m_pointerHandler;
-    int m_cursorPos;
     QBasicTimer m_tempPreeditStringTimeout;
     bool m_hasTempPreeditString;
 };
diff --git a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp
index 44fe7da..eddb7cc 100644
--- a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp
+++ b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp
@@ -76,7 +76,6 @@ QCoeFepInputContext::QCoeFepInputContext(QObject *parent)
       m_inlinePosition(0),
       m_formatRetriever(0),
       m_pointerHandler(0),
-      m_cursorPos(0),
       m_hasTempPreeditString(false)
 {
     m_fepState->SetObjectProvider(this);
@@ -571,8 +570,6 @@ void QCoeFepInputContext::StartFepInlineEditL(const TDesC& aInitialInlineText,
 
     commitTemporaryPreeditString();
 
-    m_cursorPos = w->inputMethodQuery(Qt::ImCursorPosition).toInt();
-    
     QList<QInputMethodEvent::Attribute> attributes;
 
     m_cursorVisibility = aCursorVisibility ? 1 : 0;
@@ -795,23 +792,13 @@ void QCoeFepInputContext::commitCurrentString(bool cancelFepTransaction)
 {
     int longPress = 0;
 
-    if (m_preeditString.size() == 0) {
-        QWidget *w = focusWidget();
-        if (!cancelFepTransaction && w) {
-            // We must replace the last character only if the input box has already accepted one 
-            if (w->inputMethodQuery(Qt::ImCursorPosition).toInt() != m_cursorPos)
-                longPress = 1;
-        }
-    }
-
     QList<QInputMethodEvent::Attribute> attributes;
     QInputMethodEvent event(QLatin1String(""), attributes);
-    event.setCommitString(m_preeditString, 0-longPress, longPress);
+    event.setCommitString(m_preeditString, 0, 0);
     m_preeditString.clear();
     sendEvent(event);
 
     m_hasTempPreeditString = false;
-    longPress = 0;
 
     if (cancelFepTransaction) {
         CCoeFep* fep = CCoeEnv::Static()->Fep();
diff --git a/src/gui/widgets/qlinecontrol.cpp b/src/gui/widgets/qlinecontrol.cpp
index 9ec0feb..ef2bfe2 100644
--- a/src/gui/widgets/qlinecontrol.cpp
+++ b/src/gui/widgets/qlinecontrol.cpp
@@ -419,7 +419,7 @@ void QLineControl::processInputMethodEvent(QInputMethodEvent *event)
 
 
     int c = m_cursor; // cursor position after insertion of commit string
-    if (event->replacementStart() == 0)
+    if (event->replacementStart() <= 0)
         c += event->commitString().length() + qMin(-event->replacementStart(), event->replacementLength());
 
     m_cursor += event->replacementStart();
-- 
cgit v0.12


From a2e2d2207d3b7f164ba9c9c7fa776e10bb7bc168 Mon Sep 17 00:00:00 2001
From: axis <qt-info@nokia.com>
Date: Tue, 31 Aug 2010 13:15:28 +0200
Subject: Cleaned up position tracking in the Symbian input methods.

This fixed a case where using password mode would lead to Qt
believing that the cursor was one step to the left of where it really
was. This would have the effect of replacing the last character
instead of appending to it, and even crashing if the cursor was all
the way to the left.

The code is also much cleaner this way, but it meant that QTBUG-9867
had to be solved differently this time. We do this by assuming that
and empty FEP update means "erase last character", which seems to
work well in practice.

Also added a long overdue autotest for the FEP input methods. Most
tests pass, but some don't, which I will try to fix later.

Task:     QTBUG-9867
Task:     QTBUG-12949
RevBy:    Miikka Heikkinen
AutoTest: Included
(cherry picked from commit 52cf47565e402dc682038ccaf8d725401802b603)
---
 src/gui/inputmethod/qcoefepinputcontext_p.h     |  10 +-
 src/gui/inputmethod/qcoefepinputcontext_s60.cpp |  19 +-
 src/gui/kernel/qt_s60_p.h                       |   4 +-
 tests/auto/qinputcontext/qinputcontext.pro      |   4 +
 tests/auto/qinputcontext/tst_qinputcontext.cpp  | 659 +++++++++++++++++++++++-
 5 files changed, 679 insertions(+), 17 deletions(-)

diff --git a/src/gui/inputmethod/qcoefepinputcontext_p.h b/src/gui/inputmethod/qcoefepinputcontext_p.h
index cc14e89..2fd6d16 100644
--- a/src/gui/inputmethod/qcoefepinputcontext_p.h
+++ b/src/gui/inputmethod/qcoefepinputcontext_p.h
@@ -66,10 +66,10 @@
 
 QT_BEGIN_NAMESPACE
 
-class QCoeFepInputContext : public QInputContext,
-                            public MCoeFepAwareTextEditor,
-                            public MCoeFepAwareTextEditor_Extension1,
-                            public MObjectProvider
+class Q_AUTOTEST_EXPORT QCoeFepInputContext : public QInputContext,
+                                              public MCoeFepAwareTextEditor,
+                                              public MCoeFepAwareTextEditor_Extension1,
+                                              public MObjectProvider
 {
     Q_OBJECT
 
@@ -153,6 +153,8 @@ private:
     MFepPointerEventHandlerDuringInlineEdit *m_pointerHandler;
     QBasicTimer m_tempPreeditStringTimeout;
     bool m_hasTempPreeditString;
+
+    friend class tst_QInputContext;
 };
 
 QT_END_NAMESPACE
diff --git a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp
index eddb7cc..278f6d4 100644
--- a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp
+++ b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp
@@ -237,7 +237,6 @@ bool QCoeFepInputContext::filterEvent(const QEvent *event)
             && focusWidget()->inputMethodHints() & Qt::ImhHiddenText
             && !keyEvent->text().isEmpty()) {
             // Send some temporary preedit text in order to make text visible for a moment.
-            m_cursorPos = focusWidget()->inputMethodQuery(Qt::ImCursorPosition).toInt();
             m_preeditString = keyEvent->text();
             QList<QInputMethodEvent::Attribute> attributes;
             QInputMethodEvent imEvent(m_preeditString, attributes);
@@ -293,10 +292,6 @@ void QCoeFepInputContext::commitTemporaryPreeditString()
         return;
 
     commitCurrentString(false);
-
-    //update cursor position, now this pre-edit text has been committed.
-    //this prevents next keypress overwriting it (QTBUG-11673)
-    m_cursorPos = focusWidget()->inputMethodQuery(Qt::ImCursorPosition).toInt();
 }
 
 void QCoeFepInputContext::mouseHandler( int x, QMouseEvent *event)
@@ -584,9 +579,10 @@ void QCoeFepInputContext::StartFepInlineEditL(const TDesC& aInitialInlineText,
     // Let's remove the selected text if aInitialInlineText is empty and there is selected text
     if (m_preeditString.isEmpty()) {
         int anchor = w->inputMethodQuery(Qt::ImAnchorPosition).toInt();
-        int replacementLength = qAbs(m_cursorPos-anchor);
+        int cursorPos = w->inputMethodQuery(Qt::ImCursorPosition).toInt();
+        int replacementLength = qAbs(cursorPos-anchor);
         if (replacementLength > 0) {
-            int replacementStart = m_cursorPos < anchor ? 0 : -replacementLength;
+            int replacementStart = cursorPos < anchor ? 0 : -replacementLength;
             QList<QInputMethodEvent::Attribute> clearSelectionAttributes;
             QInputMethodEvent clearSelectionEvent(QLatin1String(""), clearSelectionAttributes);
             clearSelectionEvent.setCommitString(QLatin1String(""), replacementStart, replacementLength);
@@ -619,8 +615,13 @@ void QCoeFepInputContext::UpdateFepInlineTextL(const TDesC& aNewInlineText,
                                                    m_inlinePosition,
                                                    m_cursorVisibility,
                                                    QVariant()));
-    m_preeditString = qt_TDesC2QString(aNewInlineText);
-    QInputMethodEvent event(m_preeditString, attributes);
+    QString newPreeditString = qt_TDesC2QString(aNewInlineText);
+    QInputMethodEvent event(newPreeditString, attributes);
+    if (newPreeditString.isEmpty() && m_preeditString.isEmpty()) {
+        // In Symbian world this means "erase last character".
+        event.setCommitString("", -1, 1);
+    }
+    m_preeditString = newPreeditString;
     sendEvent(event);
 }
 
diff --git a/src/gui/kernel/qt_s60_p.h b/src/gui/kernel/qt_s60_p.h
index bf71062..929043c 100644
--- a/src/gui/kernel/qt_s60_p.h
+++ b/src/gui/kernel/qt_s60_p.h
@@ -86,7 +86,7 @@ const TInt KInternalStatusPaneChange = 0x50000000;
 //this macro exists because EColor16MAP enum value doesn't exist in Symbian OS 9.2
 #define Q_SYMBIAN_ECOLOR16MAP TDisplayMode(13)
 
-class QS60ThreadLocalData
+class Q_AUTOTEST_EXPORT QS60ThreadLocalData
 {
 public:
     QS60ThreadLocalData();
@@ -154,7 +154,7 @@ public:
 #endif
 };
 
-QS60Data* qGlobalS60Data();
+Q_AUTOTEST_EXPORT QS60Data* qGlobalS60Data();
 #define S60 qGlobalS60Data()
 
 class QAbstractLongTapObserver
diff --git a/tests/auto/qinputcontext/qinputcontext.pro b/tests/auto/qinputcontext/qinputcontext.pro
index b3ea8c2..ec6831e 100644
--- a/tests/auto/qinputcontext/qinputcontext.pro
+++ b/tests/auto/qinputcontext/qinputcontext.pro
@@ -1,2 +1,6 @@
 load(qttest_p4)
 SOURCES  += tst_qinputcontext.cpp
+
+symbian {
+    LIBS += -lws32 -lcone
+}
diff --git a/tests/auto/qinputcontext/tst_qinputcontext.cpp b/tests/auto/qinputcontext/tst_qinputcontext.cpp
index 644b463..23cfd9e 100644
--- a/tests/auto/qinputcontext/tst_qinputcontext.cpp
+++ b/tests/auto/qinputcontext/tst_qinputcontext.cpp
@@ -48,17 +48,26 @@
 #include <qlayout.h>
 #include <qradiobutton.h>
 #include <qwindowsstyle.h>
+#include <qdesktopwidget.h>
+
+#ifdef Q_OS_SYMBIAN
+#include <private/qt_s60_p.h>
+#include <private/qcoefepinputcontext_p.h>
+
+#include <w32std.h>
+#include <coecntrl.h>
+#endif
 
 class tst_QInputContext : public QObject
 {
 Q_OBJECT
 
 public:
-    tst_QInputContext() {}
+    tst_QInputContext() : m_phoneIsQwerty(false) {}
     virtual ~tst_QInputContext() {}
 
 public slots:
-    void initTestCase() {}
+    void initTestCase();
     void cleanupTestCase() {}
     void init() {}
     void cleanup() {}
@@ -69,8 +78,176 @@ private slots:
     void closeSoftwareInputPanel();
     void selections();
     void focusProxy();
+    void symbianTestCoeFepInputContext_data();
+    void symbianTestCoeFepInputContext();
+
+private:
+    bool m_phoneIsQwerty;
 };
 
+#ifdef Q_OS_SYMBIAN
+class KeyEvent : public TWsEvent
+{
+public:
+    KeyEvent(QWidget *w, TInt type, TInt scanCode, TUint code, TUint modifiers, TInt repeats) {
+        iHandle = w->effectiveWinId()->DrawableWindow()->WindowGroupId();
+        iType = type;
+        SetTimeNow();
+        TKeyEvent *keyEvent = reinterpret_cast<TKeyEvent *>(iEventData);
+        keyEvent->iScanCode = scanCode;
+        keyEvent->iCode = code;
+        keyEvent->iModifiers = modifiers;
+        keyEvent->iRepeats = repeats;
+    }
+};
+
+class FepReplayEvent
+{
+public:
+    enum Type {
+        Pause,
+        Key,
+        CompleteKey
+    };
+
+    FepReplayEvent(int msecsToPause)
+        : m_type(Pause)
+        , m_msecsToPause(msecsToPause)
+    {
+    }
+
+    FepReplayEvent(TInt keyType, TInt scanCode, TUint code, TUint modifiers, TInt repeats)
+        : m_type(Key)
+        , m_keyType(keyType)
+        , m_scanCode(scanCode)
+        , m_code(code)
+        , m_modifiers(modifiers)
+        , m_repeats(repeats)
+    {
+    }
+
+    FepReplayEvent(TInt scanCode, TUint code, TUint modifiers, TInt repeats)
+        : m_type(CompleteKey)
+        , m_scanCode(scanCode)
+        , m_code(code)
+        , m_modifiers(modifiers)
+        , m_repeats(repeats)
+    {
+    }
+
+    void sendEvent(QWidget *w, TInt type, TInt scanCode, TUint code, TUint modifiers, TInt repeats)
+    {
+        KeyEvent event(w, type, scanCode, code, modifiers, repeats);
+        S60->wsSession().SendEventToWindowGroup(w->effectiveWinId()->DrawableWindow()->WindowGroupId(), event);
+    }
+
+    void pause(int msecs)
+    {
+        // Don't use qWait here. The polling nature of that function screws up the test.
+        QTimer timer;
+        QEventLoop loop;
+        QObject::connect(&timer, SIGNAL(timeout()), &loop, SLOT(quit()));
+        timer.setSingleShot(true);
+        timer.start(msecs);
+        loop.exec();
+    }
+
+    // For some reason, the test fails if using processEvents instead of an event loop
+    // with a zero timer to quit it, so use the timer.
+#define KEY_WAIT 0
+
+    void replay(QWidget *w)
+    {
+        if (m_type == Pause) {
+            pause(m_msecsToPause);
+        } else if (m_type == Key) {
+            sendEvent(w, m_keyType, m_scanCode, m_code, m_modifiers, m_repeats);
+            if (m_keyType != EEventKeyDown)
+                // EEventKeyDown events should have no pause before the EEventKey event.
+                pause(KEY_WAIT);
+        } else if (m_type == CompleteKey) {
+            sendEvent(w, EEventKeyDown, m_scanCode, 0, m_modifiers, m_repeats);
+            // EEventKeyDown events should have no pause before the EEventKey event.
+            sendEvent(w, EEventKey, m_scanCode, m_code, m_modifiers, m_repeats);
+            pause(KEY_WAIT);
+            sendEvent(w, EEventKeyUp, m_scanCode, 0, m_modifiers, m_repeats);
+            pause(KEY_WAIT);
+        }
+    }
+
+private:
+    Type m_type;
+    int m_msecsToPause;
+    TInt m_keyType;
+    TInt m_scanCode;
+    TUint m_code;
+    TUint m_modifiers;
+    TInt m_repeats;
+};
+
+Q_DECLARE_METATYPE(QList<FepReplayEvent>)
+Q_DECLARE_METATYPE(Qt::InputMethodHints)
+Q_DECLARE_METATYPE(QLineEdit::EchoMode);
+
+#endif // Q_OS_SYMBIAN
+
+void tst_QInputContext::initTestCase()
+{
+#ifdef Q_OS_SYMBIAN
+    // Sanity test. Checks FEP for:
+    // - T9 mode is default (it will attempt to fix this)
+    // - Language is English (it cannot fix this; bail out if not correct)
+    QWidget w;
+    QLayout *layout = new QVBoxLayout;
+    w.setLayout(layout);
+    QLineEdit *lineedit = new QLineEdit;
+    layout->addWidget(lineedit);
+    lineedit->setFocus();
+#ifdef QT_KEYPAD_NAVIGATION
+    lineedit->setEditFocus(true);
+#endif
+    w.show();
+
+    QDesktopWidget desktop;
+    QRect screenSize = desktop.screenGeometry(&w);
+    if (screenSize.width() > screenSize.height()) {
+        // Crude way of finding out we are running on a qwerty phone.
+        m_phoneIsQwerty = true;
+        return;
+    }
+
+    for (int iterations = 0; iterations < 16; iterations++) {
+        QTest::qWait(500);
+
+        QList<FepReplayEvent> keyEvents;
+
+        keyEvents << FepReplayEvent('9', '9', 0, 0);
+        keyEvents << FepReplayEvent('6', '6', 0, 0);
+        keyEvents << FepReplayEvent('8', '8', 0, 0);
+        keyEvents << FepReplayEvent(EStdKeyRightArrow, EKeyRightArrow, 0, 0);
+
+        foreach(FepReplayEvent event, keyEvents) {
+            event.replay(lineedit);
+        }
+
+        QApplication::processEvents();
+
+        if (lineedit->text().endsWith("you", Qt::CaseInsensitive)) {
+            // Success!
+            return;
+        }
+
+        // Try changing modes.
+        // After 8 iterations, try to press the mode switch twice before typing.
+        for (int c = 0; c <= iterations / 8; c++) {
+            FepReplayEvent(EStdKeyHash, '#', 0, 0).replay(lineedit);
+        }
+    }
+
+    QFAIL("FEP sanity test failed. Either the phone is not set to English, or the test was unable to enable T9");
+#endif
+}
+
 void tst_QInputContext::maximumTextLength()
 {
     QLineEdit le;
@@ -285,5 +462,483 @@ void tst_QInputContext::focusProxy()
     QCOMPARE(gic->focusWidget(), &proxy);
 }
 
+void tst_QInputContext::symbianTestCoeFepInputContext_data()
+{
+#ifdef Q_OS_SYMBIAN
+    QTest::addColumn<bool>                   ("inputMethodEnabled");
+    QTest::addColumn<Qt::InputMethodHints>   ("inputMethodHints");
+    QTest::addColumn<int>                    ("maxLength"); // Zero for no limit
+    QTest::addColumn<QLineEdit::EchoMode>    ("echoMode");
+    QTest::addColumn<QList<FepReplayEvent> > ("keyEvents");
+    QTest::addColumn<QString>                ("finalString");
+    QTest::addColumn<QString>                ("preeditString");
+    QList<FepReplayEvent> events;
+
+    events << FepReplayEvent(EStdKeyBackspace, EKeyBackspace, 0, 0);
+    events << FepReplayEvent(EStdKeyBackspace, EKeyBackspace, 0, 0);
+    events << FepReplayEvent('5', '5', 0, 0);
+    events << FepReplayEvent('4', '4', 0, 0);
+    events << FepReplayEvent('6', '6', 0, 0);
+    events << FepReplayEvent(EStdKeyBackspace, EKeyBackspace, 0, 0);
+    events << FepReplayEvent(EStdKeyBackspace, EKeyBackspace, 0, 0);
+    events << FepReplayEvent('1', '1', 0, 0);
+    events << FepReplayEvent(EStdKeyBackspace, EKeyBackspace, 0, 0);
+    events << FepReplayEvent('2', '2', 0, 0);
+    events << FepReplayEvent('1', '1', 0, 0);
+    QTest::newRow("Numbers (no FEP)")
+            << false
+            << Qt::InputMethodHints(Qt::ImhNone)
+            << 0
+            << QLineEdit::Normal
+            << events
+            << QString("521")
+            << QString("");
+    QTest::newRow("Numbers and password mode (no FEP)")
+            << false
+            << Qt::InputMethodHints(Qt::ImhNone)
+            << 0
+            << QLineEdit::Password
+            << events
+            << QString("521")
+            << QString("");
+    QTest::newRow("Numbers")
+            << true
+            << Qt::InputMethodHints(Qt::ImhDigitsOnly)
+            << 0
+            << QLineEdit::Normal
+            << events
+            << QString("521")
+            << QString("");
+    QTest::newRow("Numbers max length (no FEP)")
+            << false
+            << Qt::InputMethodHints(Qt::ImhNone)
+            << 2
+            << QLineEdit::Normal
+            << events
+            << QString("21")
+            << QString("");
+    QTest::newRow("Numbers max length")
+            << true
+            << Qt::InputMethodHints(Qt::ImhDigitsOnly)
+            << 2
+            << QLineEdit::Normal
+            << events
+            << QString("21")
+            << QString("");
+    events.clear();
+
+    events << FepReplayEvent(EEventKeyDown, '5', 0, 0, 0);
+    events << FepReplayEvent(EEventKey, '5', '5', 0, 0);
+    events << FepReplayEvent(EEventKey, '5', '5', 0, 1);
+    events << FepReplayEvent(EEventKey, '5', '5', 0, 1);
+    events << FepReplayEvent(EEventKeyUp, '5', 0, 0, 0);
+    QTest::newRow("Numbers and autorepeat (no FEP)")
+            << false
+            << Qt::InputMethodHints(Qt::ImhNone)
+            << 0
+            << QLineEdit::Normal
+            << events
+            << QString("555")
+            << QString("");
+    events.clear();
+
+    events << FepReplayEvent(EStdKeyBackspace, EKeyBackspace, 0, 0);
+    events << FepReplayEvent('2', '2', 0, 0);
+    events << FepReplayEvent('3', '3', 0, 0);
+    events << FepReplayEvent('4', '4', 0, 0);
+    events << FepReplayEvent('4', '4', 0, 0);
+    events << FepReplayEvent('5', '5', 0, 0);
+    events << FepReplayEvent('5', '5', 0, 0);
+    events << FepReplayEvent(EStdKeyBackspace, EKeyBackspace, 0, 0);
+    QTest::newRow("Multitap")
+            << true
+            << Qt::InputMethodHints(Qt::ImhNoPredictiveText)
+            << 0
+            << QLineEdit::Normal
+            << events
+            << QString("Adh")
+            << QString("");
+    QTest::newRow("Multitap with no auto uppercase")
+            << true
+            << Qt::InputMethodHints(Qt::ImhNoPredictiveText | Qt::ImhNoAutoUppercase)
+            << 0
+            << QLineEdit::Normal
+            << events
+            << QString("adh")
+            << QString("");
+    QTest::newRow("Multitap with uppercase")
+            << true
+            << Qt::InputMethodHints(Qt::ImhNoPredictiveText | Qt::ImhPreferUppercase)
+            << 0
+            << QLineEdit::Normal
+            << events
+            << QString("ADH")
+            << QString("");
+    QTest::newRow("Multitap with lowercase")
+            << true
+            << Qt::InputMethodHints(Qt::ImhNoPredictiveText | Qt::ImhPreferLowercase)
+            << 0
+            << QLineEdit::Normal
+            << events
+            << QString("adh")
+            << QString("");
+    QTest::newRow("Multitap with forced uppercase")
+            << true
+            << Qt::InputMethodHints(Qt::ImhNoPredictiveText | Qt::ImhUppercaseOnly)
+            << 0
+            << QLineEdit::Normal
+            << events
+            << QString("ADH")
+            << QString("");
+    QTest::newRow("Multitap with forced lowercase")
+            << true
+            << Qt::InputMethodHints(Qt::ImhNoPredictiveText | Qt::ImhLowercaseOnly)
+            << 0
+            << QLineEdit::Normal
+            << events
+            << QString("adh")
+            << QString("");
+    events.clear();
+
+    events << FepReplayEvent(EStdKeyHash, '#', 0, 0);
+    events << FepReplayEvent('2', '2', 0, 0);
+    events << FepReplayEvent('2', '2', 0, 0);
+    events << FepReplayEvent('3', '3', 0, 0);
+    events << FepReplayEvent('4', '4', 0, 0);
+    events << FepReplayEvent('4', '4', 0, 0);
+    events << FepReplayEvent('5', '5', 0, 0);
+    events << FepReplayEvent('5', '5', 0, 0);
+    events << FepReplayEvent(EStdKeyBackspace, EKeyBackspace, 0, 0);
+    QTest::newRow("Multitap with mode switch")
+            << true
+            << Qt::InputMethodHints(Qt::ImhNoPredictiveText)
+            << 0
+            << QLineEdit::Normal
+            << events
+            << QString("bdh")
+            << QString("");
+    events.clear();
+
+    events << FepReplayEvent('7', '7', 0, 0);
+    events << FepReplayEvent('7', '7', 0, 0);
+    events << FepReplayEvent('8', '8', 0, 0);
+    events << FepReplayEvent('9', '9', 0, 0);
+    events << FepReplayEvent('9', '9', 0, 0);
+    QTest::newRow("Multitap with unfinished text")
+            << true
+            << Qt::InputMethodHints(Qt::ImhNoPredictiveText)
+            << 0
+            << QLineEdit::Normal
+            << events
+            << QString("Qt")
+            << QString("x");
+    events << FepReplayEvent(2000);
+    QTest::newRow("Multitap with committed text")
+            << true
+            << Qt::InputMethodHints(Qt::ImhNoPredictiveText)
+            << 0
+            << QLineEdit::Normal
+            << events
+            << QString("Qtx")
+            << QString("");
+    events.clear();
+
+    events << FepReplayEvent('4', '4', 0, 0);
+    events << FepReplayEvent('4', '4', 0, 0);
+    // Simulate holding down hash key.
+    events << FepReplayEvent(EEventKeyDown, EStdKeyHash, 0, 0, 0);
+    events << FepReplayEvent(EEventKey, EStdKeyHash, '#', 0, 0);
+    events << FepReplayEvent(500);
+    events << FepReplayEvent(EEventKey, EStdKeyHash, '#', 0, 1);
+    events << FepReplayEvent(EEventKey, EStdKeyHash, '#', 0, 1);
+    events << FepReplayEvent(EEventKey, EStdKeyHash, '#', 0, 1);
+    events << FepReplayEvent(EEventKeyUp, EStdKeyHash, 0, 0, 0);
+    events << FepReplayEvent('7', '7', 0, 0);
+    events << FepReplayEvent('7', '7', 0, 0);
+    events << FepReplayEvent('8', '8', 0, 0);
+    // QTBUG-9867: Switch back as well to make sure we don't get extra symbols
+    events << FepReplayEvent(EEventKeyDown, EStdKeyHash, 0, 0, 0);
+    events << FepReplayEvent(EEventKey, EStdKeyHash, '#', 0, 0);
+    events << FepReplayEvent(500);
+    events << FepReplayEvent(EEventKey, EStdKeyHash, '#', 0, 1);
+    events << FepReplayEvent(EEventKey, EStdKeyHash, '#', 0, 1);
+    events << FepReplayEvent(EEventKey, EStdKeyHash, '#', 0, 1);
+    events << FepReplayEvent(EEventKeyUp, EStdKeyHash, 0, 0, 0);
+    events << FepReplayEvent('9', '9', 0, 0);
+    events << FepReplayEvent('6', '6', 0, 0);
+    events << FepReplayEvent('8', '8', 0, 0);
+    events << FepReplayEvent(2000);
+    events << FepReplayEvent(EStdKeyDevice3, EKeyDevice3, 0, 0); // Select key
+    QTest::newRow("Multitap and numbers")
+            << true
+            << Qt::InputMethodHints(Qt::ImhNoPredictiveText)
+            << 0
+            << QLineEdit::Normal
+            << events
+            << QString("H778wmt")
+            << QString("");
+    QTest::newRow("T9 and numbers")
+            << true
+            << Qt::InputMethodHints(Qt::ImhPreferLowercase)
+            << 0
+            << QLineEdit::Normal
+            << events
+            << QString("hi778you")
+            << QString("");
+    events.clear();
+
+    events << FepReplayEvent('4', '4', 0, 0);
+    events << FepReplayEvent('4', '4', 0, 0);
+    events << FepReplayEvent(EStdKeyDevice3, EKeyDevice3, 0, 0); // Select key
+    QTest::newRow("T9")
+            << true
+            << Qt::InputMethodHints(Qt::ImhPreferLowercase)
+            << 0
+            << QLineEdit::Normal
+            << events
+            << QString("hi")
+            << QString("");
+    QTest::newRow("T9 with uppercase")
+            << true
+            << Qt::InputMethodHints(Qt::ImhPreferUppercase)
+            << 0
+            << QLineEdit::Normal
+            << events
+            << QString("HI")
+            << QString("");
+    QTest::newRow("T9 with forced lowercase")
+            << true
+            << Qt::InputMethodHints(Qt::ImhLowercaseOnly)
+            << 0
+            << QLineEdit::Normal
+            << events
+            << QString("hi")
+            << QString("");
+    QTest::newRow("T9 with forced uppercase")
+            << true
+            << Qt::InputMethodHints(Qt::ImhUppercaseOnly)
+            << 0
+            << QLineEdit::Normal
+            << events
+            << QString("HI")
+            << QString("");
+    QTest::newRow("T9 with maxlength")
+            << true
+            << Qt::InputMethodHints(Qt::ImhLowercaseOnly)
+            << 1
+            << QLineEdit::Normal
+            << events
+            << QString("i")
+            << QString("");
+    events.clear();
+
+    events << FepReplayEvent('4', '4', 0, 0);
+    events << FepReplayEvent('4', '4', 0, 0);
+    events << FepReplayEvent(EStdKeyLeftArrow, EKeyLeftArrow, 0, 0);
+    events << FepReplayEvent(EStdKeyLeftArrow, EKeyLeftArrow, 0, 0);
+    events << FepReplayEvent('9', '9', 0, 0);
+    events << FepReplayEvent('6', '6', 0, 0);
+    events << FepReplayEvent('8', '8', 0, 0);
+    events << FepReplayEvent('0', '0', 0, 0);
+    events << FepReplayEvent(EStdKeyRightArrow, EKeyRightArrow, 0, 0);
+    events << FepReplayEvent(EStdKeyRightArrow, EKeyRightArrow, 0, 0);
+    events << FepReplayEvent('8', '8', 0, 0);
+    events << FepReplayEvent('8', '8', 0, 0);
+    QTest::newRow("T9 with movement and unfinished text")
+            << true
+            << Qt::InputMethodHints(Qt::ImhPreferLowercase)
+            << 0
+            << QLineEdit::Normal
+            << events
+            << QString("you hi")
+            << QString("tv");
+    QTest::newRow("T9 with movement, password and unfinished text")
+            << true
+            << Qt::InputMethodHints(Qt::ImhPreferLowercase)
+            << 0
+            << QLineEdit::Password
+            << events
+            << QString("wmt h")
+            << QString("u");
+    QTest::newRow("T9 with movement, maxlength, password and unfinished text")
+            << true
+            << Qt::InputMethodHints(Qt::ImhPreferLowercase)
+            << 2
+            << QLineEdit::Password
+            << events
+            << QString("wh")
+            << QString("");
+    QTest::newRow("T9 with movement, maxlength and unfinished text")
+            << true
+            << Qt::InputMethodHints(Qt::ImhPreferLowercase)
+            << 2
+            << QLineEdit::Normal
+            << events
+            << QString("hi")
+            << QString("");
+    QTest::newRow("Multitap with movement and unfinished text")
+            << true
+            << Qt::InputMethodHints(Qt::ImhNoPredictiveText | Qt::ImhPreferLowercase)
+            << 0
+            << QLineEdit::Normal
+            << events
+            << QString("wmt h")
+            << QString("u");
+    QTest::newRow("Multitap with movement, maxlength and unfinished text")
+            << true
+            << Qt::InputMethodHints(Qt::ImhNoPredictiveText | Qt::ImhPreferLowercase)
+            << 2
+            << QLineEdit::Normal
+            << events
+            << QString("wh")
+            << QString("");
+    QTest::newRow("Numbers with movement")
+            << true
+            << Qt::InputMethodHints(Qt::ImhDigitsOnly)
+            << 0
+            << QLineEdit::Normal
+            << events
+            << QString("96804488")
+            << QString("");
+    QTest::newRow("Numbers with movement and maxlength")
+            << true
+            << Qt::InputMethodHints(Qt::ImhDigitsOnly)
+            << 2
+            << QLineEdit::Normal
+            << events
+            << QString("44")
+            << QString("");
+    QTest::newRow("Numbers with movement, password and unfinished text")
+            << true
+            << Qt::InputMethodHints(Qt::ImhDigitsOnly)
+            << 0
+            << QLineEdit::Password
+            << events
+            << QString("9680448")
+            << QString("8");
+    QTest::newRow("Numbers with movement, maxlength, password and unfinished text")
+            << true
+            << Qt::InputMethodHints(Qt::ImhDigitsOnly)
+            << 2
+            << QLineEdit::Password
+            << events
+            << QString("44")
+            << QString("");
+    events << FepReplayEvent(EStdKeyRightArrow, EKeyRightArrow, 0, 0);
+    QTest::newRow("T9 with movement")
+            << true
+            << Qt::InputMethodHints(Qt::ImhPreferLowercase)
+            << 0
+            << QLineEdit::Normal
+            << events
+            << QString("you htvi")
+            << QString("");
+    QTest::newRow("T9 with movement and password")
+            << true
+            << Qt::InputMethodHints(Qt::ImhPreferLowercase)
+            << 0
+            << QLineEdit::Password
+            << events
+            << QString("wmt hu")
+            << QString("");
+    QTest::newRow("T9 with movement, maxlength and password")
+            << true
+            << Qt::InputMethodHints(Qt::ImhPreferLowercase)
+            << 2
+            << QLineEdit::Password
+            << events
+            << QString("wh")
+            << QString("");
+    QTest::newRow("Multitap with movement")
+            << true
+            << Qt::InputMethodHints(Qt::ImhNoPredictiveText | Qt::ImhPreferLowercase)
+            << 0
+            << QLineEdit::Normal
+            << events
+            << QString("wmt hu")
+            << QString("");
+    QTest::newRow("Multitap with movement and maxlength")
+            << true
+            << Qt::InputMethodHints(Qt::ImhNoPredictiveText | Qt::ImhPreferLowercase)
+            << 2
+            << QLineEdit::Normal
+            << events
+            << QString("wh")
+            << QString("");
+    QTest::newRow("Numbers with movement and password")
+            << true
+            << Qt::InputMethodHints(Qt::ImhDigitsOnly)
+            << 0
+            << QLineEdit::Password
+            << events
+            << QString("96804488")
+            << QString("");
+    QTest::newRow("Numbers with movement, maxlength and password")
+            << true
+            << Qt::InputMethodHints(Qt::ImhDigitsOnly)
+            << 2
+            << QLineEdit::Password
+            << events
+            << QString("44")
+            << QString("");
+    events.clear();
+#endif
+}
+
+void tst_QInputContext::symbianTestCoeFepInputContext()
+{
+#ifndef Q_OS_SYMBIAN
+    QSKIP("This is a Symbian-only test", SkipAll);
+#else
+    QCoeFepInputContext *ic = qobject_cast<QCoeFepInputContext *>(qApp->inputContext());
+    if (!ic) {
+        QSKIP("coefep is not the active input context; skipping test", SkipAll);
+    }
+
+    QFETCH(bool,                  inputMethodEnabled);
+    QFETCH(Qt::InputMethodHints,  inputMethodHints);
+    QFETCH(int,                   maxLength);
+    QFETCH(QLineEdit::EchoMode,   echoMode);
+    QFETCH(QList<FepReplayEvent>, keyEvents);
+    QFETCH(QString,               finalString);
+    QFETCH(QString,               preeditString);
+
+    if (inputMethodEnabled && m_phoneIsQwerty) {
+        QSKIP("Skipping advanced input method tests on QWERTY phones", SkipSingle);
+    }
+
+    QWidget w;
+    QLayout *layout = new QVBoxLayout;
+    w.setLayout(layout);
+    QLineEdit *lineedit = new QLineEdit;
+    layout->addWidget(lineedit);
+    lineedit->setFocus();
+#ifdef QT_KEYPAD_NAVIGATION
+    lineedit->setEditFocus(true);
+#endif
+    w.show();
+
+    lineedit->setAttribute(Qt::WA_InputMethodEnabled, inputMethodEnabled);
+    lineedit->setInputMethodHints(inputMethodHints);
+    if (maxLength > 0)
+        lineedit->setMaxLength(maxLength);
+    lineedit->setEchoMode(echoMode);
+
+    QTest::qWait(200);
+
+    foreach(FepReplayEvent event, keyEvents) {
+        event.replay(lineedit);
+    }
+
+    QApplication::processEvents();
+
+    QCOMPARE(lineedit->text(), finalString);
+    QEXPECT_FAIL("Numbers with movement, maxlength, password and unfinished text"
+            , "Fails due to QTBUG-12949"
+            , Continue);
+    QCOMPARE(ic->m_preeditString, preeditString);
+#endif
+}
+
 QTEST_MAIN(tst_QInputContext)
 #include "tst_qinputcontext.moc"
-- 
cgit v0.12


From b754ce6cef8931806175e9e7725087b46c04758f Mon Sep 17 00:00:00 2001
From: axis <qt-info@nokia.com>
Date: Wed, 1 Sep 2010 13:53:32 +0200
Subject: Fixed input context trying to squeeze content into a full widget.

Problem was reproduced on N97. If the FEP detects that the widget is
full while still editing text, it will try to send those events as
key events instead. Since this screws up the content in the widget,
we stop those events from reaching the widget in the input context.

AutoTest: Passed
Task:     QTBUG-12949
RevBy:    Miikka Heikkinen
(cherry picked from commit 5ca6264933af60b3cd376b7f08bea008fa69b515)
---
 src/gui/inputmethod/qcoefepinputcontext_s60.cpp | 7 +++++++
 tests/auto/qinputcontext/tst_qinputcontext.cpp  | 3 ---
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp
index 278f6d4..ce0c9ff 100644
--- a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp
+++ b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp
@@ -233,6 +233,13 @@ bool QCoeFepInputContext::filterEvent(const QEvent *event)
             break;
         }
 
+        QString widgetText = focusWidget()->inputMethodQuery(Qt::ImSurroundingText).toString();
+        int maxLength = focusWidget()->inputMethodQuery(Qt::ImMaximumTextLength).toInt();
+        if (!keyEvent->text().isEmpty() && widgetText.size() + m_preeditString.size() >= maxLength) {
+            // Don't send key events with string content if the widget is "full".
+            return true;
+        }
+
         if (keyEvent->type() == QEvent::KeyPress
             && focusWidget()->inputMethodHints() & Qt::ImhHiddenText
             && !keyEvent->text().isEmpty()) {
diff --git a/tests/auto/qinputcontext/tst_qinputcontext.cpp b/tests/auto/qinputcontext/tst_qinputcontext.cpp
index 23cfd9e..8eef2cc 100644
--- a/tests/auto/qinputcontext/tst_qinputcontext.cpp
+++ b/tests/auto/qinputcontext/tst_qinputcontext.cpp
@@ -933,9 +933,6 @@ void tst_QInputContext::symbianTestCoeFepInputContext()
     QApplication::processEvents();
 
     QCOMPARE(lineedit->text(), finalString);
-    QEXPECT_FAIL("Numbers with movement, maxlength, password and unfinished text"
-            , "Fails due to QTBUG-12949"
-            , Continue);
     QCOMPARE(ic->m_preeditString, preeditString);
 #endif
 }
-- 
cgit v0.12


From 688deeee6c8c2892becb4207f8c40dddba0e3769 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan-Arve=20S=C3=A6ther?= <jan-arve.saether@nokia.com>
Date: Mon, 6 Sep 2010 12:36:36 +0200
Subject: Add missing license header

Task-number: QT-3825
---
 src/corelib/plugin/qsystemlibrary.cpp | 41 +++++++++++++++++++++++++++++++++++
 src/corelib/plugin/qsystemlibrary_p.h | 41 +++++++++++++++++++++++++++++++++++
 2 files changed, 82 insertions(+)

diff --git a/src/corelib/plugin/qsystemlibrary.cpp b/src/corelib/plugin/qsystemlibrary.cpp
index f781770..a11ed50 100644
--- a/src/corelib/plugin/qsystemlibrary.cpp
+++ b/src/corelib/plugin/qsystemlibrary.cpp
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtCore module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights.  These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
 #include "qsystemlibrary_p.h"
 #include <QtCore/qvarlengtharray.h>
 #include <QtCore/qstringlist.h>
diff --git a/src/corelib/plugin/qsystemlibrary_p.h b/src/corelib/plugin/qsystemlibrary_p.h
index 5d925ca..3251a3c 100644
--- a/src/corelib/plugin/qsystemlibrary_p.h
+++ b/src/corelib/plugin/qsystemlibrary_p.h
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtCore module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights.  These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
 #ifndef QSYSTEMLIBRARY_P_H
 #define QSYSTEMLIBRARY_P_H
 
-- 
cgit v0.12


From 5cfc65d04858563e53987b224f36ee71356aa73c Mon Sep 17 00:00:00 2001
From: David Boddie <david.boddie@nokia.com>
Date: Mon, 6 Sep 2010 13:22:39 +0200
Subject: Doc: Worked on two more elements, replacing an image.

---
 doc/src/declarative/pics/flipable.gif              | Bin 80659 -> 131710 bytes
 doc/src/declarative/qml-intro.qdoc                 |   4 +-
 doc/src/snippets/declarative/flipable.qml          |  77 -----------------
 doc/src/snippets/declarative/flipable/flipable.qml |  77 +++++++++++++++++
 .../graphicsitems/qdeclarativeflipable.cpp         |  29 ++++---
 .../qdeclarativefolderlistmodel.cpp                |  96 +++++++++++++++------
 6 files changed, 170 insertions(+), 113 deletions(-)
 delete mode 100644 doc/src/snippets/declarative/flipable.qml
 create mode 100644 doc/src/snippets/declarative/flipable/flipable.qml

diff --git a/doc/src/declarative/pics/flipable.gif b/doc/src/declarative/pics/flipable.gif
index 6386f06..da37b2b 100644
Binary files a/doc/src/declarative/pics/flipable.gif and b/doc/src/declarative/pics/flipable.gif differ
diff --git a/doc/src/declarative/qml-intro.qdoc b/doc/src/declarative/qml-intro.qdoc
index 9130be0..d735042 100644
--- a/doc/src/declarative/qml-intro.qdoc
+++ b/doc/src/declarative/qml-intro.qdoc
@@ -58,12 +58,12 @@ would be a property.
 
 The basic syntax of an \l{QML Elements}{element} is
 
-\code
+\qml
 SomeElement {
     id: myObject
     ... some other things here ...
 }
-\endcode
+\endqml
 
 Here we are defining a new object. We specify its 'type' first as SomeElement.
 Then within matching braces { ... } we specify the various parts of our 
diff --git a/doc/src/snippets/declarative/flipable.qml b/doc/src/snippets/declarative/flipable.qml
deleted file mode 100644
index c2ecbbe..0000000
--- a/doc/src/snippets/declarative/flipable.qml
+++ /dev/null
@@ -1,77 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-**   * Redistributions of source code must retain the above copyright
-**     notice, this list of conditions and the following disclaimer.
-**   * Redistributions in binary form must reproduce the above copyright
-**     notice, this list of conditions and the following disclaimer in
-**     the documentation and/or other materials provided with the
-**     distribution.
-**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-**     the names of its contributors may be used to endorse or promote
-**     products derived from this software without specific prior written
-**     permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-import Qt 4.7
-
-Flipable {
-    id: flipable
-    width: 240
-    height: 240
-
-    property int angle: 0
-    property bool flipped: false
-
-    front: Image { source: "front.png" }
-    back: Image { source: "back.png" }
-
-    transform: Rotation {
-        origin.x: flipable.width/2; origin.y: flipable.height/2
-        axis.x: 0; axis.y: 1; axis.z: 0     // rotate around y-axis
-        angle: flipable.angle
-    }
-
-    states: State {
-        name: "back"
-        PropertyChanges { target: flipable; angle: 180 }
-        when: flipable.flipped
-    }
-
-    transitions: Transition {
-        NumberAnimation { properties: "angle"; duration: 1000 }
-    }
-
-    MouseArea {
-        anchors.fill: parent
-        onClicked: flipable.flipped = !flipable.flipped
-    }
-}
-//! [0]
-
diff --git a/doc/src/snippets/declarative/flipable/flipable.qml b/doc/src/snippets/declarative/flipable/flipable.qml
new file mode 100644
index 0000000..c2ecbbe
--- /dev/null
+++ b/doc/src/snippets/declarative/flipable/flipable.qml
@@ -0,0 +1,77 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [0]
+import Qt 4.7
+
+Flipable {
+    id: flipable
+    width: 240
+    height: 240
+
+    property int angle: 0
+    property bool flipped: false
+
+    front: Image { source: "front.png" }
+    back: Image { source: "back.png" }
+
+    transform: Rotation {
+        origin.x: flipable.width/2; origin.y: flipable.height/2
+        axis.x: 0; axis.y: 1; axis.z: 0     // rotate around y-axis
+        angle: flipable.angle
+    }
+
+    states: State {
+        name: "back"
+        PropertyChanges { target: flipable; angle: 180 }
+        when: flipable.flipped
+    }
+
+    transitions: Transition {
+        NumberAnimation { properties: "angle"; duration: 1000 }
+    }
+
+    MouseArea {
+        anchors.fill: parent
+        onClicked: flipable.flipped = !flipable.flipped
+    }
+}
+//! [0]
+
diff --git a/src/declarative/graphicsitems/qdeclarativeflipable.cpp b/src/declarative/graphicsitems/qdeclarativeflipable.cpp
index 69dd66a..4ecf87b 100644
--- a/src/declarative/graphicsitems/qdeclarativeflipable.cpp
+++ b/src/declarative/graphicsitems/qdeclarativeflipable.cpp
@@ -71,31 +71,40 @@ public:
     \qmlclass Flipable QDeclarativeFlipable
     \since 4.7
     \ingroup qml-basic-interaction-elements
-
     \brief The Flipable item provides a surface that can be flipped.
     \inherits Item
 
     Flipable is an item that can be visibly "flipped" between its front and
-    back sides. It is used together with \l Rotation and \l {State}/\l {Transition} to
-    produce a flipping effect.
+    back sides, like a card. It is used together with \l Rotation, \l State
+    and \l Transition elements to produce a flipping effect.
+
+    The \l front and \l back properties are used to hold the items that are
+    shown respectively on the front and back sides of the flipable item.
 
-    Here is a Flipable that flips whenever it is clicked:
+    \section1 Example Usage
 
-    \snippet doc/src/snippets/declarative/flipable.qml 0
+    \beginfloatright
+    \inlineimage flipable.gif
+    \endfloat
 
-    \image flipable.gif
+    The following example shows a Flipable item that flips whenever it is
+    clicked, rotating about the y-axis.
 
     The \l Rotation element is used to specify the angle and axis of the flip.
-    When \c flipped is \c true, the item changes to the "back" state, where
+    When \c flipped is true, the item changes to the "back" state, where
     the angle is changed to 180 degrees to produce the flipping effect. 
-    Finally, the \l Transition creates the animation that changes the
-    angle over one second: when the item changes between its "back" and 
+
+    \clearfloat
+    \snippet doc/src/snippets/declarative/flipable/flipable-snippet.qml 0
+
+    The \l Transition creates the animation that changes the angle over the
+    duration of one second. When the item changes between its "back" and
     default states, the NumberAnimation animates the angle between
     its old and new values.
 
     See the \l {QML States} and \l {QML Animation} documentation for more
     details on state changes and how animations work within transitions.
-    
+
     \sa {declarative/ui-components/flipable}{Flipable example}
 */
 
diff --git a/src/imports/folderlistmodel/qdeclarativefolderlistmodel.cpp b/src/imports/folderlistmodel/qdeclarativefolderlistmodel.cpp
index 6c38911..4983840 100644
--- a/src/imports/folderlistmodel/qdeclarativefolderlistmodel.cpp
+++ b/src/imports/folderlistmodel/qdeclarativefolderlistmodel.cpp
@@ -95,30 +95,61 @@ public:
 /*!
     \qmlclass FolderListModel QDeclarativeFolderListModel
     \ingroup qml-working-with-data
-    \brief The FolderListModel provides a model of the contents of a folder in a filesystem.
+    \brief The FolderListModel provides a model of the contents of a file system folder.
 
-    FolderListModel provides access to the local filesystem.  The \e folder property
-    specifies the folder to list.
+    FolderListModel provides access to information about the contents of a folder
+    in the local file system, exposing a list of files to views and other data components.
 
-    Qt uses "/" as a universal directory separator in the same way that "/" is
-    used as a path separator in URLs. If you always use "/" as a directory
-    separator, Qt will translate your paths to conform to the underlying
-    operating system.
-
-    This type is made available by importing the \c Qt.labs.folderlistmodel module.
-    \e {Elements in the Qt.labs module are not guaranteed to remain compatible
+    \note This type is made available by importing the \c Qt.labs.folderlistmodel module.
+    \e{Elements in the Qt.labs module are not guaranteed to remain compatible
     in future versions.}
 
     \bold{import Qt.labs.folderlistmodel 1.0}
 
-    The roles available are:
+    The \l folder property specifies the folder to access. Information about the
+    files and directories in the folder is supplied via the model's interface.
+    Components access names and paths via the following roles:
+
     \list
     \o fileName
     \o filePath
     \endlist
 
-    Additionally a file entry can be differentiated from a folder entry
-    via the \l isFolder() method.
+    Additionally a file entry can be differentiated from a folder entry via the
+    isFolder() method.
+
+    \section1 Filtering
+
+    Various properties can be set to filter the number of files and directories
+    exposed by the model.
+
+    The \l nameFilters property can be set to contain a list of wildcard filters
+    that are applied to names of files and directories, causing only those that
+    match the filters to be exposed.
+
+    Directories can be included or excluded using the \l showDirs property, and
+    navigation directories can also be excluded by setting the \l showDotAndDotDot
+    property to false.
+
+    It is sometimes useful to limit the files and directories exposed to those
+    that the user can access. The \l showOnlyReadable property can be set to
+    enable this feature.
+
+    \section1 Example Usage
+
+    The following example shows a FolderListModel being used to provide a list
+    of QML files in a \l ListView:
+
+    \snippet doc/src/snippets/declarative/folderlistmodel.qml 0
+
+    \section1 Path Separators
+
+    Qt uses "/" as a universal directory separator in the same way that "/" is
+    used as a path separator in URLs. If you always use "/" as a directory
+    separator, Qt will translate your paths to conform to the underlying
+    operating system.
+
+    \sa {QML Data Models}
 */
 
 QDeclarativeFolderListModel::QDeclarativeFolderListModel(QObject *parent)
@@ -168,9 +199,13 @@ int QDeclarativeFolderListModel::rowCount(const QModelIndex &parent) const
 /*!
     \qmlproperty string FolderListModel::folder
 
-    The \a folder property holds the folder the model is currently providing.
+    The \a folder property holds a URL for the folder that the model is
+    currently providing.
 
-    It is a URL, but must be a file: or qrc: URL (or relative to such a URL).
+    The value is a URL expressed as a string, and must be a \c file: or \c qrc:
+    URL, or a relative URL.
+
+    By default, the value is an invalid URL.
 */
 QUrl QDeclarativeFolderListModel::folder() const
 {
@@ -214,16 +249,18 @@ QUrl QDeclarativeFolderListModel::parentFolder() const
 /*!
     \qmlproperty list<string> FolderListModel::nameFilters
 
-    The \a nameFilters property contains a list of filename filters.
+    The \a nameFilters property contains a list of file name filters.
     The filters may include the ? and * wildcards.
 
     The example below filters on PNG and JPEG files:
 
-    \code
+    \qml
     FolderListModel {
         nameFilters: [ "*.png", "*.jpg" ]
     }
-    \endcode
+    \endqml
+
+    \note Directories are not excluded by filters.
 */
 QStringList QDeclarativeFolderListModel::nameFilters() const
 {
@@ -335,9 +372,14 @@ void QDeclarativeFolderListModel::dataChanged(const QModelIndex &start, const QM
 /*!
     \qmlproperty bool FolderListModel::showDirs
 
-    If true (the default), directories are included in the model.
+    If true, directories are included in the model; otherwise only files
+    are included.
+
+    By default, this property is true.
 
-    Note that the nameFilters are ignored for directories.
+    Note that the nameFilters are not applied to directories.
+
+    \sa showDotAndDotDot
 */
 bool QDeclarativeFolderListModel::showDirs() const
 {
@@ -357,9 +399,12 @@ void  QDeclarativeFolderListModel::setShowDirs(bool on)
 /*!
     \qmlproperty bool FolderListModel::showDotAndDotDot
 
-    If true, the "." and ".." directories are included in the model.
+    If true, the "." and ".." directories are included in the model; otherwise
+    they are excluded.
+
+    By default, this property is false.
 
-    The default is false.
+    \sa showDirs
 */
 bool QDeclarativeFolderListModel::showDotAndDotDot() const
 {
@@ -379,9 +424,12 @@ void  QDeclarativeFolderListModel::setShowDotAndDotDot(bool on)
 /*!
     \qmlproperty bool FolderListModel::showOnlyReadable
 
-    If true, only readable files and directories are shown.
+    If true, only readable files and directories are shown; otherwise all files
+    and directories are shown.
+
+    By default, this property is false.
 
-    The default is false.
+    \sa showDirs
 */
 bool QDeclarativeFolderListModel::showOnlyReadable() const
 {
-- 
cgit v0.12


From 3c18c2a43260a271f8a13e89053eede15d399005 Mon Sep 17 00:00:00 2001
From: David Boddie <david.boddie@nokia.com>
Date: Tue, 7 Sep 2010 18:34:09 +0200
Subject: Doc: More work on the QML documentation.

---
 doc/src/declarative/declarativeui.qdoc             |   1 +
 doc/src/declarative/qdeclarativedocument.qdoc      |   2 +-
 doc/src/declarative/qdeclarativemodels.qdoc        | 153 ++++++++++++---------
 doc/src/declarative/qml-intro.qdoc                 |   2 +-
 doc/src/examples/qml-examples.qdoc                 |   2 +-
 doc/src/images/qml-listview-snippet.png            | Bin 0 -> 2048 bytes
 doc/src/snippets/declarative/flickable.qml         |  50 +++++++
 doc/src/snippets/declarative/image.qml             |   2 +
 .../declarative/listview/listview-snippet.qml      |  52 +++++++
 .../qml-data-models/dynamic-listmodel.qml          |  67 +++++++++
 .../declarative/qml-data-models/listelements.qml   |  77 +++++++++++
 .../qml-data-models/listmodel-listview.qml         |  64 +++++++++
 .../WebKit/qt/declarative/qdeclarativewebview.cpp  |  86 ++++++++----
 .../graphicsitems/qdeclarativeflickable.cpp        |  56 +++++---
 .../graphicsitems/qdeclarativeimage.cpp            |   2 +-
 src/declarative/qml/qdeclarativetypeloader.cpp     |   2 +-
 16 files changed, 502 insertions(+), 116 deletions(-)
 create mode 100644 doc/src/images/qml-listview-snippet.png
 create mode 100644 doc/src/snippets/declarative/flickable.qml
 create mode 100644 doc/src/snippets/declarative/listview/listview-snippet.qml
 create mode 100644 doc/src/snippets/declarative/qml-data-models/dynamic-listmodel.qml
 create mode 100644 doc/src/snippets/declarative/qml-data-models/listelements.qml
 create mode 100644 doc/src/snippets/declarative/qml-data-models/listmodel-listview.qml

diff --git a/doc/src/declarative/declarativeui.qdoc b/doc/src/declarative/declarativeui.qdoc
index ae64e2a..2f43682 100644
--- a/doc/src/declarative/declarativeui.qdoc
+++ b/doc/src/declarative/declarativeui.qdoc
@@ -109,6 +109,7 @@ Module.
 \list
 \o \l{Using QML Positioner and Repeater Items}
 \o \l{QML Data Models}
+\o \l{Presenting Data with QML}
 \o \l{Network Transparency}
 \endlist
 
diff --git a/doc/src/declarative/qdeclarativedocument.qdoc b/doc/src/declarative/qdeclarativedocument.qdoc
index 4aed63f..8ca6c11 100644
--- a/doc/src/declarative/qdeclarativedocument.qdoc
+++ b/doc/src/declarative/qdeclarativedocument.qdoc
@@ -79,7 +79,7 @@ Each instance is created with a different value for its \c text property:
 \o application.qml
 
 \row
-\o \snippet doc/src/snippets/declarative/qmldocuments.qml document
+\o \snippet doc/src/snippets/declarative/qml-documents/qmldocuments.qml document
 \o 
 \qml
 import Qt 4.7
diff --git a/doc/src/declarative/qdeclarativemodels.qdoc b/doc/src/declarative/qdeclarativemodels.qdoc
index ace0465..7548c96 100644
--- a/doc/src/declarative/qdeclarativemodels.qdoc
+++ b/doc/src/declarative/qdeclarativemodels.qdoc
@@ -41,30 +41,7 @@ delegate may bind to. Here is a ListModel with two roles, \e type and \e age,
 and a ListView with a delegate that binds to these roles to display their 
 values:
 
-\qml
-import Qt 4.7
-
-Item {
-    width: 200; height: 250
-
-    ListModel {
-        id: myModel
-        ListElement { type: "Dog"; age: 8 }
-        ListElement { type: "Cat"; age: 5 }
-    }
-
-    Component {
-        id: myDelegate
-        Text { text: type + ", " + age }
-    }
-
-    ListView {
-        anchors.fill: parent
-        model: myModel
-        delegate: myDelegate
-    }
-}
-\endqml
+\snippet doc/src/snippets/declarative/qml-data-models/listmodel-listview.qml document
 
 If there is a naming clash between the model's properties and the delegate's
 properties, the roles can be accessed with the qualified \e model name instead.
@@ -91,6 +68,10 @@ QML provides several types of data models among the built-in set of
 QML elements. In addition, models can be created with C++ and then
 made available to QML components.
 
+The views used to access data models are described in \l{Presenting Data with QML}.
+The use of positioner items to arrange items from a model is covered in
+\l{Using QML Positioner and Repeater Items}.
+
 
 \section1 QML Data Models
 
@@ -99,38 +80,12 @@ made available to QML components.
 ListModel is a simple hierarchy of elements specified in QML.  The
 available roles are specified by the \l ListElement properties.
 
-\code
-ListModel {
-    id: fruitModel
-
-    ListElement {
-        name: "Apple"
-        cost: 2.45
-    }
-    ListElement {
-        name: "Orange"
-        cost: 3.25
-    }
-    ListElement {
-        name: "Banana"
-        cost: 1.95
-    }
-}
-\endcode
+\snippet doc/src/snippets/declarative/qml-data-models/listelements.qml model
 
 The above model has two roles, \e name and \e cost.  These can be bound
 to by a ListView delegate, for example:
 
-\code
-ListView {
-    width: 200; height: 250
-    model: fruitModel
-    delegate: Row {
-        Text { text: "Fruit: " + name }
-        Text { text: "Cost: $" + cost }
-    }
-}
-\endcode
+\snippet doc/src/snippets/declarative/qml-data-models/listelements.qml view
 
 ListModel provides methods to manipulate the ListModel directly via JavaScript.
 In this case, the first item inserted determines the roles available
@@ -138,16 +93,9 @@ to any views that are using the model. For example, if an empty ListModel is
 created and populated via JavaScript, the roles provided by the first
 insertion are the only roles that will be shown in the view:
 
-\code
-Item {
-    ListModel { id: fruitModel }
-
-    MouseArea {
-        anchors.fill: parent
-        onClicked: fruitModel.append({"cost": 5.95, "name":"Pizza"})
-    }
-}
-\endcode
+\snippet doc/src/snippets/declarative/qml-data-models/dynamic-listmodel.qml model
+\dots
+\snippet doc/src/snippets/declarative/qml-data-models/dynamic-listmodel.qml mouse area
 
 When the MouseArea is clicked, \c fruitModel will have two roles, \e cost and \e name.
 Even if subsequent roles are added, only the first two will be handled by views
@@ -515,3 +463,84 @@ a function in the model, e.g.:
 updated, and that \e{value} holds the new value.
 
 */
+
+/*!
+\page qml-presenting-data.html
+\title Presenting Data with QML
+
+\section1 Introduction
+
+Qt Quick contains a set of standard items that can be used to present data in a
+number of different ways. For simple user interfaces,
+\l{Using QML Positioner and Repeater Items#Repeaters}{Repeaters} can be used
+in combination with
+\l{Using QML Positioner and Repeater Items#Positioners}{Positioners}
+to obtain pieces of data and arrange them in a user interface. However, when
+large quantities of data are involved, it is often better to use models with
+the standard views since these contain many built-in display and navigation
+features.
+
+\section1 Views
+
+Views are scrolling containers for collections of items. They are feature-rich,
+supporting many of the use cases found in typical applications, and can be
+customized to meet requirements on style and behavior.
+
+A set of standard views are provided in the basic set of Qt Quick
+graphical elements:
+
+\list
+\o \l{#ListView}{ListView} arranges items in a horizontal or vertical list
+\o \l{#GridView}{GridView} arranges items in a grid within the available space
+\o \l{#PathView}{PathView} arranges items on a path
+\endlist
+
+Unlike these items, \l WebView is not a fully-featured view item, and needs
+to be combined with a \l Flickable item to create a view that performs like
+a Web browser.
+
+\section2 ListView
+
+\l ListView shows a classic list of items with horizontal or vertical placing
+of items.
+
+\beginfloatright
+\inlineimage qml-listview-snippet.png
+\endfloat
+
+The following example shows a minimal ListView displaying a sequence of
+numbers (using an \l{QML Data Models#An Integer}{integer as a model}).
+A simple delegate is used to define an items for each piece of data in the
+model.
+
+\clearfloat
+\snippet doc/src/snippets/declarative/listview/listview-snippet.qml document
+
+
+
+\section2 GridView
+
+\l GridView displays items in a grid like an file manager's icon view.
+
+\section2 PathView
+
+\l PathView displays items on a path, where the selection remains in
+the same place and the items move around it.
+
+\section1 Decorating Views
+
+\section2 Headers and Footers
+
+\section2 Sections
+
+\section2 Navigation
+
+In traditional user interfaces, views can be scrolled using standard
+controls, such as scroll bars and arrow buttons. In some situations, it
+is also possible to drag the view directly by pressing and holding a
+mouse button while moving the cursor. In touch-based user interfaces,
+this dragging action is often complemented with a flicking action, where
+scrolling continues after the user has stopped touching the view.
+
+\section1 Further Reading
+*/
diff --git a/doc/src/declarative/qml-intro.qdoc b/doc/src/declarative/qml-intro.qdoc
index d735042..b77611c 100644
--- a/doc/src/declarative/qml-intro.qdoc
+++ b/doc/src/declarative/qml-intro.qdoc
@@ -583,7 +583,7 @@ rectangle. The \c value attribute of 'dial' is set to a value based on the
 the rotation of the needle image. Notice this piece of code in Dial where
 the change in \c value modifies the position of the needle.
 
-\snippet examples/declarative/ui-components/dialcontrol/Dial.qml  needle angle
+\snippet examples/declarative/ui-components/dialcontrol/content/Dial.qml  needle angle
 
 This is part of the \c needleRotation that rotates the needle and causes the
 rotation of its shadow. \l SpringAnimation is an element that modifies the value
diff --git a/doc/src/examples/qml-examples.qdoc b/doc/src/examples/qml-examples.qdoc
index 8752d14..745baa3 100644
--- a/doc/src/examples/qml-examples.qdoc
+++ b/doc/src/examples/qml-examples.qdoc
@@ -375,7 +375,7 @@
     \title Models and Views: WebView Example
     \example declarative/modelviews/webview
 
-    These examples shows how to use the WebView element.
+    These examples show how to use the WebView element.
 
     \table
     \row
diff --git a/doc/src/images/qml-listview-snippet.png b/doc/src/images/qml-listview-snippet.png
new file mode 100644
index 0000000..0ee0ffc
Binary files /dev/null and b/doc/src/images/qml-listview-snippet.png differ
diff --git a/doc/src/snippets/declarative/flickable.qml b/doc/src/snippets/declarative/flickable.qml
new file mode 100644
index 0000000..d7a163b
--- /dev/null
+++ b/doc/src/snippets/declarative/flickable.qml
@@ -0,0 +1,50 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [document]
+import Qt 4.7
+
+Flickable {
+    width: 200; height: 200
+    contentWidth: image.width; contentHeight: image.height
+
+    Image { id: image; source: "bigImage.png" }
+}
+//! [document]
diff --git a/doc/src/snippets/declarative/image.qml b/doc/src/snippets/declarative/image.qml
index b0ae032..42efb8f 100644
--- a/doc/src/snippets/declarative/image.qml
+++ b/doc/src/snippets/declarative/image.qml
@@ -38,8 +38,10 @@
 **
 ****************************************************************************/
 
+//! [document]
 import Qt 4.7
 
 Image {
     source: "pics/qtlogo.png"
 }
+//! [document]
diff --git a/doc/src/snippets/declarative/listview/listview-snippet.qml b/doc/src/snippets/declarative/listview/listview-snippet.qml
new file mode 100644
index 0000000..c510472
--- /dev/null
+++ b/doc/src/snippets/declarative/listview/listview-snippet.qml
@@ -0,0 +1,52 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [document]
+import Qt 4.7
+
+ListView {
+    width: 50; height: 200
+    model: 4
+    delegate: Text {
+        text: index;
+        font.pixelSize: 40
+    }
+}
+//! [document]
diff --git a/doc/src/snippets/declarative/qml-data-models/dynamic-listmodel.qml b/doc/src/snippets/declarative/qml-data-models/dynamic-listmodel.qml
new file mode 100644
index 0000000..72e27f3
--- /dev/null
+++ b/doc/src/snippets/declarative/qml-data-models/dynamic-listmodel.qml
@@ -0,0 +1,67 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Item {
+    width: 200; height: 250
+
+    //! [model]
+    ListModel { id: fruitModel }
+    //! [model]
+
+    //! [view]
+    ListView {
+        anchors.fill: parent
+        model: fruitModel
+        delegate: Row {
+            Text { text: "Fruit: " + name }
+            Text { text: "Cost: $" + cost }
+        }
+    }
+    //! [view]
+
+    //! [mouse area]
+    MouseArea {
+        anchors.fill: parent
+        onClicked: fruitModel.append({"cost": 5.95, "name":"Pizza"})
+    }
+    //! [mouse area]
+}
diff --git a/doc/src/snippets/declarative/qml-data-models/listelements.qml b/doc/src/snippets/declarative/qml-data-models/listelements.qml
new file mode 100644
index 0000000..d9cea81
--- /dev/null
+++ b/doc/src/snippets/declarative/qml-data-models/listelements.qml
@@ -0,0 +1,77 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [document]
+import Qt 4.7
+
+Item {
+    width: 200; height: 250
+
+    //! [model]
+    ListModel {
+        id: fruitModel
+
+        ListElement {
+            name: "Apple"
+            cost: 2.45
+        }
+        ListElement {
+            name: "Orange"
+            cost: 3.25
+        }
+        ListElement {
+            name: "Banana"
+            cost: 1.95
+        }
+    }
+    //! [model]
+
+    //! [view]
+    ListView {
+        anchors.fill: parent
+        model: fruitModel
+        delegate: Row {
+            Text { text: "Fruit: " + name }
+            Text { text: "Cost: $" + cost }
+        }
+    }
+    //! [view]
+}
+//! [document]
diff --git a/doc/src/snippets/declarative/qml-data-models/listmodel-listview.qml b/doc/src/snippets/declarative/qml-data-models/listmodel-listview.qml
new file mode 100644
index 0000000..92107f1
--- /dev/null
+++ b/doc/src/snippets/declarative/qml-data-models/listmodel-listview.qml
@@ -0,0 +1,64 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [document]
+import Qt 4.7
+
+Item {
+    width: 200; height: 250
+
+    ListModel {
+        id: myModel
+        ListElement { type: "Dog"; age: 8 }
+        ListElement { type: "Cat"; age: 5 }
+    }
+
+    Component {
+        id: myDelegate
+        Text { text: type + ", " + age }
+    }
+
+    ListView {
+        anchors.fill: parent
+        model: myModel
+        delegate: myDelegate
+    }
+}
+//! [document]
diff --git a/src/3rdparty/webkit/WebKit/qt/declarative/qdeclarativewebview.cpp b/src/3rdparty/webkit/WebKit/qt/declarative/qdeclarativewebview.cpp
index 1538133..67ce708 100644
--- a/src/3rdparty/webkit/WebKit/qt/declarative/qdeclarativewebview.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/declarative/qdeclarativewebview.cpp
@@ -141,46 +141,76 @@ void GraphicsWebView::mouseMoveEvent(QGraphicsSceneMouseEvent* event)
     \qmlclass WebView QDeclarativeWebView
     \ingroup qml-view-elements
     \since 4.7
-    \brief The WebView item allows you to add web content to a canvas.
+    \brief The WebView item allows you to add Web content to a canvas.
     \inherits Item
 
-    A WebView renders web content based on a URL.
+    A WebView renders Web content based on a URL.
 
     This type is made available by importing the \c QtWebKit module:
 
     \bold{import QtWebKit 1.0}
 
-    If the width and height of the item is not set, they will
-    dynamically adjust to a size appropriate for the content.
-    This width may be large for typical online web pages.
+    The WebView item includes no scrolling, scaling, toolbars, or other common browser
+    components. These must be implemented around WebView. See the \l{QML Web Browser}
+    example for a demonstration of this.
 
-    If the width or height is explictly set, the rendered website
-    will be clipped, not scaled, to fit into the set dimensions.
+    The page to be displayed by the item is specified using the \l url property,
+    and this can be changed to fetch and display a new page. While the page loads,
+    the \l progress property is updated to indicate how much of the page has been
+    loaded.
 
-    If the preferredWidth is set, the width will be this amount or larger,
-    usually laying out the web content to fit the preferredWidth.
+    \section1 Appearance
 
-    \qml
-    import QtWebKit 1.0
+    If the width and height of the item is not set, they will dynamically adjust
+    to a size appropriate for the content. This width may be large for typical
+    online web pages, typically greater than 800 by 600 pixels.
 
-    WebView {
-        url: "http://www.nokia.com"
-        preferredWidth: 490
-        preferredHeight: 400
-        scale: 0.5
-        smooth: false
-        smoothCache: true
-    }
-    \endqml
+    If the \l{Item::}{width} or \l{Item::}{height} is explictly set, the rendered Web site will be
+    clipped, not scaled, to fit into the set dimensions.
 
-    \image webview.png
+    If the preferredWidth property is set, the width will be this amount or larger,
+    usually laying out the Web content to fit the preferredWidth.
 
-    The item includes no scrolling, scaling,
-    toolbars, etc., those must be implemented around WebView. See the WebBrowser example
-    for a demonstration of this.
+    The appearance of the content can be controlled to a certain extent by changing
+    the settings.standardFontFamily property and other settings related to fonts.
+
+    The page can be zoomed by calling the heuristicZoom() method, which performs a
+    series of tests to determine whether zoomed content will be displayed in an
+    appropriate way in the space allocated to the item.
+
+    \section1 User Interaction and Navigation
+
+    By default, certain mouse and touch events are delivered to other items in
+    preference to the Web content. For example, when a scrolling view is created
+    by placing a WebView in a Flickable, move events are delivered to the Flickable
+    so that the user can scroll the page. This prevents the user from accidentally
+    selecting text in a Web page instead of scrolling.
+
+    The pressGrabTime property defines the time the user must touch or press a
+    mouse button over the WebView before the Web content will receive the move
+    events it needs to select text and images.
+
+    When this item has keyboard focus, all keyboard input will be sent directly to
+    the Web page within.
+
+    When the navigates by clicking on links, the item records the pages visited
+    in its internal history
+
+    Because this item is designed to be used as a component in a browser, it
+    exposes \l{Action}{actions} for \l back, \l forward, \l reload and \l stop.
+    These can be triggered to change the current page displayed by the item.
+
+    \section1 Example Usage
+
+    \beginfloatright
+    \inlineimage webview.png
+    \endfloat
+
+    The following example displays a scaled down Web page at a fixed size.
+
+    \snippet doc/src/snippets/declarative/webview/webview.qml document
 
-    When this item has keyboard focus, all keyboard input will be sent directly to the
-    web page within.
+    \clearfloat
 
     \sa {declarative/modelviews/webview}{WebView example}, {demos/declarative/webbrowser}{Web Browser demo}
 */
@@ -555,11 +585,11 @@ bool QDeclarativeWebView::heuristicZoom(int clickX, int clickY, qreal maxZoom)
     \qmlproperty int WebView::pressGrabTime
 
     The number of milliseconds the user must press before the WebView
-    starts passing move events through to the web engine (rather than
+    starts passing move events through to the Web engine (rather than
     letting other QML elements such as a Flickable take them).
 
     Defaults to 400ms. Set to 0 to always grab and pass move events to
-    the web engine.
+    the Web engine.
 */
 int QDeclarativeWebView::pressGrabTime() const
 {
diff --git a/src/declarative/graphicsitems/qdeclarativeflickable.cpp b/src/declarative/graphicsitems/qdeclarativeflickable.cpp
index b302393..062bbfb 100644
--- a/src/declarative/graphicsitems/qdeclarativeflickable.cpp
+++ b/src/declarative/graphicsitems/qdeclarativeflickable.cpp
@@ -350,24 +350,34 @@ void QDeclarativeFlickablePrivate::updateBeginningEnd()
     \brief The Flickable item provides a surface that can be "flicked".
     \inherits Item
 
-    Flickable places its children on a surface that can be dragged and flicked.
+    The Flickable item places its children on a surface that can be dragged
+    and flicked, causing the view onto the child items to scroll. This
+    behavior forms the basis of Items that are designed to show large numbers
+    of child items, such as \l ListView and \l GridView.
 
-    \code
-    import Qt 4.7
+    In traditional user interfaces, views can be scrolled using standard
+    controls, such as scroll bars and arrow buttons. In some situations, it
+    is also possible to drag the view directly by pressing and holding a
+    mouse button while moving the cursor. In touch-based user interfaces,
+    this dragging action is often complemented with a flicking action, where
+    scrolling continues after the user has stopped touching the view.
 
-    Flickable {
-        width: 200; height: 200
-        contentWidth: image.width; contentHeight: image.height
+    Flickable does not automatically clip its contents. If it is not used as
+    a full-screen item, you should consider setting the \l{Item::}{clip} property
+    to true.
 
-        Image { id: image; source: "bigImage.png" }
-    }
-    \endcode
+    \section1 Example Usage
+
+    \beginfloatright
+    \inlineimage flickable.gif
+    \endfloat
 
-    \image flickable.gif
+    The following example shows a large 
 
-    Flickable does not automatically clip its contents. If
-    it is not full-screen it is likely that \l {Item::clip}{clip} should be set
-    to \c true.
+    \clearfloat
+    \snippet doc/src/snippets/declarative/flickable.qml document
+
+    \section1 Limitations
 
     \note Due to an implementation detail, items placed inside a Flickable cannot anchor to it by
     \c id. Use \c parent instead.
@@ -491,12 +501,15 @@ void QDeclarativeFlickable::setContentY(qreal pos)
 /*!
     \qmlproperty bool Flickable::interactive
 
-    This property holds whether the user can interact with the Flickable. A user
-    cannot drag or flick a Flickable that is not interactive.
+    This property describes whether the user can interact with the Flickable.
+    A user cannot drag or flick a Flickable that is not interactive.
+
+    By default, this property is true.
 
     This property is useful for temporarily disabling flicking. This allows
-    special interaction with Flickable's children: for example, you might want to
-    freeze a flickable map while scrolling through a pop-up dialog that is a child of the Flickable.
+    special interaction with Flickable's children; for example, you might want
+    to freeze a flickable map while scrolling through a pop-up dialog that
+    is a child of the Flickable.
 */
 bool QDeclarativeFlickable::isInteractive() const
 {
@@ -1333,8 +1346,8 @@ bool QDeclarativeFlickable::isFlicking() const
     \qmlproperty bool Flickable::flickingHorizontally
     \qmlproperty bool Flickable::flickingVertically
 
-    These properties hold whether the view is currently moving horizontally
-    or vertically due to the user flicking the view.
+    These properties describe whether the view is currently moving horizontally,
+    vertically or in either direction, due to the user flicking the view.
 */
 bool QDeclarativeFlickable::isFlickingHorizontally() const
 {
@@ -1386,8 +1399,9 @@ bool QDeclarativeFlickable::isMoving() const
     \qmlproperty bool Flickable::movingHorizontally
     \qmlproperty bool Flickable::movingVertically
 
-    These properties hold whether the view is currently moving horizontally
-    or vertically due to the user either dragging or flicking the view.
+    These properties describe whether the view is currently moving horizontally,
+    vertically or in either direction, due to the user either dragging or
+    flicking the view.
 */
 bool QDeclarativeFlickable::isMovingHorizontally() const
 {
diff --git a/src/declarative/graphicsitems/qdeclarativeimage.cpp b/src/declarative/graphicsitems/qdeclarativeimage.cpp
index 2fab373..9cd9ad6 100644
--- a/src/declarative/graphicsitems/qdeclarativeimage.cpp
+++ b/src/declarative/graphicsitems/qdeclarativeimage.cpp
@@ -73,7 +73,7 @@ QT_BEGIN_NAMESPACE
 
     The following example shows the simplest usage of the Image element.
 
-    \snippet doc/src/snippets/declarative/image.qml
+    \snippet doc/src/snippets/declarative/image.qml document
 
     \beginfloatleft
     \image declarative-qtlogo.png
diff --git a/src/declarative/qml/qdeclarativetypeloader.cpp b/src/declarative/qml/qdeclarativetypeloader.cpp
index ed41314..9b42065 100644
--- a/src/declarative/qml/qdeclarativetypeloader.cpp
+++ b/src/declarative/qml/qdeclarativetypeloader.cpp
@@ -224,7 +224,7 @@ void QDeclarativeDataBlob::setError(const QDeclarativeError &errors)
 }
 
 /*!
-\override
+\overload
 */
 void QDeclarativeDataBlob::setError(const QList<QDeclarativeError> &errors)
 {
-- 
cgit v0.12


From c997a4ff5d83c8f41f5ed7d8c44dfbe61c67b486 Mon Sep 17 00:00:00 2001
From: Alessandro Portale <alessandro.portale@nokia.com>
Date: Tue, 7 Sep 2010 20:43:00 +0200
Subject: Fix text size issues for high ppi displays

Many layout sizes in flickr are specified by the artwork sizes.
The heights and widths are defined in static pixel sizes.
Therefore the text has to obey the size restrictions, and should
not overlap.

This patch sets the font sizes in pixels. Otherwise the default
font sizes in points may be too big on high ppi displays.
(XM5800 has ~230 ppi)
---
 demos/declarative/flickr/common/Progress.qml     | 2 +-
 demos/declarative/flickr/mobile/Button.qml       | 2 +-
 demos/declarative/flickr/mobile/ImageDetails.qml | 2 +-
 demos/declarative/flickr/mobile/ListDelegate.qml | 6 +++---
 demos/declarative/flickr/mobile/TitleBar.qml     | 2 +-
 5 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/demos/declarative/flickr/common/Progress.qml b/demos/declarative/flickr/common/Progress.qml
index 99e1a7b..23bffb9 100644
--- a/demos/declarative/flickr/common/Progress.qml
+++ b/demos/declarative/flickr/common/Progress.qml
@@ -68,6 +68,6 @@ Item {
         text: Math.round(progress * 100) + "%"
         anchors.horizontalCenter: parent.horizontalCenter
         anchors.verticalCenter: parent.verticalCenter
-        color: "white"; font.bold: true
+        color: "white"; font.bold: true; font.pixelSize: 15
     }
 }
diff --git a/demos/declarative/flickr/mobile/Button.qml b/demos/declarative/flickr/mobile/Button.qml
index 93a6661..6228606 100644
--- a/demos/declarative/flickr/mobile/Button.qml
+++ b/demos/declarative/flickr/mobile/Button.qml
@@ -66,7 +66,7 @@ Item {
     }
     Text {
         color: "white"
-        anchors.centerIn: buttonImage; font.bold: true
+        anchors.centerIn: buttonImage; font.bold: true; font.pixelSize: 15
         text: container.text; style: Text.Raised; styleColor: "black"
     }
     states: [
diff --git a/demos/declarative/flickr/mobile/ImageDetails.qml b/demos/declarative/flickr/mobile/ImageDetails.qml
index 7441ecc..6408fc6 100644
--- a/demos/declarative/flickr/mobile/ImageDetails.qml
+++ b/demos/declarative/flickr/mobile/ImageDetails.qml
@@ -96,7 +96,7 @@ Flipable {
         Rectangle { anchors.fill: parent; color: "black"; opacity: 0.4 }
 
         Common.Progress {
-            anchors.centerIn: parent; width: 200; height: 18
+            anchors.centerIn: parent; width: 200; height: 22
             progress: bigImage.progress; visible: bigImage.status != Image.Ready
         }
 
diff --git a/demos/declarative/flickr/mobile/ListDelegate.qml b/demos/declarative/flickr/mobile/ListDelegate.qml
index 3dd2868..9ec02e1 100644
--- a/demos/declarative/flickr/mobile/ListDelegate.qml
+++ b/demos/declarative/flickr/mobile/ListDelegate.qml
@@ -55,9 +55,9 @@ Component {
             }
             Column {
                 x: 92; width: wrapper.ListView.view.width - 95; y: 15; spacing: 2
-                Text { text: title; color: "white"; width: parent.width; font.bold: true; elide: Text.ElideRight; style: Text.Raised; styleColor: "black" }
-                Text { text: photoAuthor; width: parent.width; elide: Text.ElideLeft; color: "#cccccc"; style: Text.Raised; styleColor: "black" }
-                Text { text: photoDate; width: parent.width; elide: Text.ElideRight; color: "#cccccc"; style: Text.Raised; styleColor: "black" }
+                Text { text: title; color: "white"; width: parent.width; font.pixelSize: 14; font.bold: true; elide: Text.ElideRight; style: Text.Raised; styleColor: "black" }
+                Text { text: photoAuthor; width: parent.width; font.pixelSize: 14; elide: Text.ElideLeft; color: "#cccccc"; style: Text.Raised; styleColor: "black" }
+                Text { text: photoDate; width: parent.width; font.pixelSize: 14; elide: Text.ElideRight; color: "#cccccc"; style: Text.Raised; styleColor: "black" }
             }
         }
     }
diff --git a/demos/declarative/flickr/mobile/TitleBar.qml b/demos/declarative/flickr/mobile/TitleBar.qml
index 335c315..60ca4dc 100644
--- a/demos/declarative/flickr/mobile/TitleBar.qml
+++ b/demos/declarative/flickr/mobile/TitleBar.qml
@@ -78,7 +78,7 @@ Item {
             }
             elide: Text.ElideLeft
             text: (rssModel.tags=="" ? untaggedString : taggedString + rssModel.tags)
-            font.bold: true; color: "White"; style: Text.Raised; styleColor: "Black"
+            font.bold: true; font.pixelSize: 15; color: "White"; style: Text.Raised; styleColor: "Black"
         }
 
         Button {
-- 
cgit v0.12


From 12d8ce6f03db8a577271ac042cd310a25dde0c21 Mon Sep 17 00:00:00 2001
From: Jani Hautakangas <ext-jani.hautakangas@nokia.com>
Date: Tue, 7 Sep 2010 22:37:59 +0300
Subject: Remove unnecessary function declarations from qpixmap_s60_p.h

Reviewed-by: TRUSTME
---
 src/gui/image/qpixmap_s60_p.h | 5 -----
 1 file changed, 5 deletions(-)

diff --git a/src/gui/image/qpixmap_s60_p.h b/src/gui/image/qpixmap_s60_p.h
index 12885ec..42cc830 100644
--- a/src/gui/image/qpixmap_s60_p.h
+++ b/src/gui/image/qpixmap_s60_p.h
@@ -63,11 +63,6 @@ class CFbsBitGc;
 
 class QSymbianBitmapDataAccess;
 
-class QS60PixmapData;
-void qt_symbian_register_pixmap(QS60PixmapData *pd);
-void qt_symbian_unregister_pixmap(QS60PixmapData *pd);
-void qt_symbian_release_pixmaps();
-
 class QSymbianFbsHeapLock
 {
 public:
-- 
cgit v0.12


From 2ac7d2691e6c69eedb3b4ae62a47ec2af85612d5 Mon Sep 17 00:00:00 2001
From: Bea Lam <bea.lam@nokia.com>
Date: Mon, 30 Aug 2010 13:54:29 +1000
Subject: Fix Worker ListModel to emit the right signal when items change

---
 src/declarative/util/qdeclarativelistmodelworkeragent.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/declarative/util/qdeclarativelistmodelworkeragent.cpp b/src/declarative/util/qdeclarativelistmodelworkeragent.cpp
index 498de6d..d9df169 100644
--- a/src/declarative/util/qdeclarativelistmodelworkeragent.cpp
+++ b/src/declarative/util/qdeclarativelistmodelworkeragent.cpp
@@ -232,7 +232,7 @@ bool QDeclarativeListModelWorkerAgent::event(QEvent *e)
                     emit m_orig->itemsMoved(change.index, change.to, change.count);
                     break;
                 case Change::Changed:
-                    emit m_orig->itemsMoved(change.index, change.to, change.count);
+                    emit m_orig->itemsChanged(change.index, change.to, orig->m_roles.keys());
                     break;
                 }
             }
-- 
cgit v0.12


From ef7ab65e1dd371d62fb8c93c78ac518e11e2810b Mon Sep 17 00:00:00 2001
From: Bea Lam <bea.lam@nokia.com>
Date: Tue, 31 Aug 2010 10:38:35 +1000
Subject: Remove unused object

---
 src/declarative/util/qdeclarativelistmodel.cpp | 1 -
 1 file changed, 1 deletion(-)

diff --git a/src/declarative/util/qdeclarativelistmodel.cpp b/src/declarative/util/qdeclarativelistmodel.cpp
index 60d8aa9..f290ab2 100644
--- a/src/declarative/util/qdeclarativelistmodel.cpp
+++ b/src/declarative/util/qdeclarativelistmodel.cpp
@@ -1247,7 +1247,6 @@ void ModelNode::setObjectValue(const QScriptValue& valuemap) {
 }
 
 void ModelNode::setListValue(const QScriptValue& valuelist) {
-    QScriptValueIterator it(valuelist);
     values.clear();
     int size = valuelist.property(QLatin1String("length")).toInt32();
     for (int i=0; i<size; i++) {
-- 
cgit v0.12


From bf8753a822ab610165849b265b5d13685f9ec942 Mon Sep 17 00:00:00 2001
From: Bea Lam <bea.lam@nokia.com>
Date: Wed, 1 Sep 2010 15:42:14 +1000
Subject: Document difference between property binding and assignment

Task-number: QTBUG-12629
---
 doc/src/declarative/javascriptblocks.qdoc | 34 +++++++++++++++++++++++++++++++
 doc/src/declarative/propertybinding.qdoc  | 33 +++++++++++++++++++++++++-----
 2 files changed, 62 insertions(+), 5 deletions(-)

diff --git a/doc/src/declarative/javascriptblocks.qdoc b/doc/src/declarative/javascriptblocks.qdoc
index 18da3d2..d290690 100644
--- a/doc/src/declarative/javascriptblocks.qdoc
+++ b/doc/src/declarative/javascriptblocks.qdoc
@@ -173,6 +173,40 @@ handler to execute at startup, they are run sequentially in an undefined order.
 Likewise, the \l {Component::onDestruction} attached property is triggered on
 component destruction.
 
+
+\section1 Property Assignment vs Property Binding
+
+When working with both QML and JavaScript, it is important to differentiate between
+QML \l {Property Binding} and JavaScript value assignment. In QML, a property 
+binding is created using the \e {property: value} syntax:
+
+\code
+Rectangle {
+    width: otherItem.width
+}
+\endcode
+
+The \c width of the above \l Rectangle is updated whenever \c otherItem.width changes. On the other
+hand, take the following JavaScript code snippet, that runs when the \l Rectangle is created:
+
+\code
+Rectangle {
+
+    Component.onCompleted: {
+        width = otherItem.width;
+    }
+}
+\endcode
+
+The \c width of this \l Rectangle is \e assigned the value of \c otherItem.width using the
+\e {property = value} syntax in JavaScript. Unlike the QML \e {property: value} syntax, this
+does not invoke QML property binding; the \c rectangle.width property is set to the value
+of \c otherItem.width at the time of the assignment and will not be updated if that value
+changes.
+
+See \l {Property Binding} for more information.
+
+
 \section1 QML JavaScript Restrictions
 
 QML executes standard JavaScript code, with the following restrictions:
diff --git a/doc/src/declarative/propertybinding.qdoc b/doc/src/declarative/propertybinding.qdoc
index 552b9e4..314bf67 100644
--- a/doc/src/declarative/propertybinding.qdoc
+++ b/doc/src/declarative/propertybinding.qdoc
@@ -94,10 +94,29 @@ Rectangle {
 }
 \endcode
 
-Imperatively assigning a value directly to a property will also implicitly remove a binding
-on a property.  A property can only have one value at a time, and if code explicitly sets
-this value the binding must be removed.  The \l Rectangle in the example below will have
-a width of 13, regardless of the otherItem's width.
+
+\section1 Effects of Property Assignment in JavaScript
+
+Assigning a property value from JavaScript does \e not create a property binding.
+For example:
+
+\code
+Rectangle {
+
+    Component.onCompleted: {
+        width = otherItem.width;
+    }
+}
+\endcode
+
+Instead of creating a property binding, this simply sets the \c width of the \l Rectangle
+to the value of \c other.width at the time the JavaScript code is invoked.  See 
+\l {Property Assignment vs Property Binding} for more details.
+
+Also note that assigning a value to a property that is currently bound will remove the binding.
+A property can only have one value at a time, and if any code explicitly sets
+this value, the binding is removed.  The \l Rectangle in the example below will have
+a width of 13, regardless of the \c otherItem's width.
 
 \code
 Rectangle {
@@ -109,7 +128,9 @@ Rectangle {
 }
 \endcode
 
-There is no way to create a property binding directly from imperative JavaScript code.
+There is no way to create a property binding directly from imperative JavaScript code,
+although it is possible to set up a \l Binding object (shown below).
+
 
 \section1 Binding Element
 
@@ -126,5 +147,7 @@ Binding {
     value: slider.value
 }
 \endqml
+
+
 */
 
-- 
cgit v0.12


From fb4eb36e78a9d9337fd3decf70a6c13774ba551a Mon Sep 17 00:00:00 2001
From: Martin Jones <martin.jones@nokia.com>
Date: Wed, 8 Sep 2010 14:16:04 +1000
Subject: SpringAnimation velocity animation stop logic was fragile. Rather
 than stopping the animation when the target was reached, calculate the
 duration it will take.  This eliminates the possibility of rounding errors
 causing the animation to stop at the wrong time.

Task-number: QTBUG-13044
Reviewed-by: Aaron Kennedy
---
 .../util/qdeclarativespringanimation.cpp           | 37 +++++++++++++++-------
 1 file changed, 26 insertions(+), 11 deletions(-)

diff --git a/src/declarative/util/qdeclarativespringanimation.cpp b/src/declarative/util/qdeclarativespringanimation.cpp
index fce4097..e0fc45d 100644
--- a/src/declarative/util/qdeclarativespringanimation.cpp
+++ b/src/declarative/util/qdeclarativespringanimation.cpp
@@ -62,10 +62,12 @@ public:
 
     struct SpringAnimation {
         SpringAnimation()
-            : currentValue(0), to(0), velocity(0){}
+            : currentValue(0), to(0), velocity(0), start(0), duration(0) {}
         qreal currentValue;
         qreal to;
         qreal velocity;
+        int start;
+        int duration;
     };
     QHash<QDeclarativeProperty, SpringAnimation> activeAnimations;
 
@@ -135,7 +137,6 @@ void QDeclarativeSpringAnimationPrivate::tick(int time)
 
 bool QDeclarativeSpringAnimationPrivate::animate(const QDeclarativeProperty &property, SpringAnimation &animation, int elapsed)
 {
-
     qreal srcVal = animation.to;
 
     bool stop = false;
@@ -192,18 +193,14 @@ bool QDeclarativeSpringAnimationPrivate::animate(const QDeclarativeProperty &pro
             animation.currentValue += moveBy;
             if (haveModulus)
                 animation.currentValue = fmod(animation.currentValue, modulus);
-            if (animation.currentValue > animation.to) {
-                animation.currentValue = animation.to;
-                stop = true;
-            }
         } else {
             animation.currentValue -= moveBy;
             if (haveModulus && animation.currentValue < 0.0)
                 animation.currentValue = fmod(animation.currentValue, modulus) + modulus;
-            if (animation.currentValue < animation.to) {
-                animation.currentValue = animation.to;
-                stop = true;
-            }
+        }
+        if (lastTime - animation.start >= animation.duration) {
+            animation.currentValue = animation.to;
+            stop = true;
         }
     }
 
@@ -222,8 +219,18 @@ void QDeclarativeSpringAnimationPrivate::updateMode()
         mode = Track;
     else if (spring > 0.)
         mode = Spring;
-    else
+    else {
         mode = Velocity;
+        QHash<QDeclarativeProperty, SpringAnimation>::iterator it;
+        for (it = activeAnimations.begin(); it != activeAnimations.end(); ++it) {
+            SpringAnimation &animation = *it;
+            animation.start = lastTime;
+            qreal dist = qAbs(animation.currentValue - animation.to);
+            if (haveModulus && dist > modulus / 2)
+                dist = modulus - fmod(dist, modulus);
+            animation.duration = dist / velocityms;
+        }
+    }
 }
 
 /*!
@@ -378,6 +385,7 @@ void QDeclarativeSpringAnimation::setModulus(qreal modulus)
     if (d->modulus != modulus) {
         d->haveModulus = modulus != 0.0;
         d->modulus = modulus;
+        d->updateMode();
         emit modulusChanged();
     }
 }
@@ -429,10 +437,17 @@ void QDeclarativeSpringAnimation::transition(QDeclarativeStateActions &actions,
             QDeclarativeSpringAnimationPrivate::SpringAnimation &animation
                     = d->activeAnimations[property];
             animation.to = d->actions->at(i).toValue.toReal();
+            animation.start = d->lastTime;
             if (d->fromIsDefined)
                 animation.currentValue = d->actions->at(i).fromValue.toReal();
             else
                 animation.currentValue = property.read().toReal();
+            if (d->mode == QDeclarativeSpringAnimationPrivate::Velocity) {
+                qreal dist = qAbs(animation.currentValue - animation.to);
+                if (d->haveModulus && dist > d->modulus / 2)
+                    dist = d->modulus - fmod(dist, d->modulus);
+                animation.duration = dist / d->velocityms;
+            }
         }
     }
 }
-- 
cgit v0.12


From aafc407fc3efaf6a7ee8f96623fc59857c7bc2a8 Mon Sep 17 00:00:00 2001
From: Martin Jones <martin.jones@nokia.com>
Date: Wed, 8 Sep 2010 15:27:08 +1000
Subject: Don't cause repaints during painting in Text element Calling
 prepareGeometryChange in a paint event is a bad idea and was causing jerky
 scrolling.  There is no longer any need for the removed code since we don't
 use imgCache.size() to determine boundingRect() anymore.

Task-number: QTBUG-13453
Reviewed-by: Joona Petrell
---
 src/declarative/graphicsitems/qdeclarativetext.cpp       | 16 +++++++---------
 .../qdeclarativetext/tst_qdeclarativetext.cpp            | 11 +++++++++++
 2 files changed, 18 insertions(+), 9 deletions(-)

diff --git a/src/declarative/graphicsitems/qdeclarativetext.cpp b/src/declarative/graphicsitems/qdeclarativetext.cpp
index fd3a1f7..14194a0 100644
--- a/src/declarative/graphicsitems/qdeclarativetext.cpp
+++ b/src/declarative/graphicsitems/qdeclarativetext.cpp
@@ -429,6 +429,9 @@ void QDeclarativeText::setStyle(QDeclarativeText::TextStyle style)
     if (d->style == style)
         return;
 
+    // changing to/from Normal requires the boundingRect() to change
+    if (isComponentComplete() && (d->style == Normal || style == Normal))
+        prepareGeometryChange();
     d->style = style;
     d->markImgDirty();
     emit styleChanged(d->style);
@@ -494,8 +497,9 @@ void QDeclarativeText::setHAlign(HAlignment align)
     if (d->hAlign == align)
         return;
 
+    if (isComponentComplete())
+        prepareGeometryChange();
     d->hAlign = align;
-    update();
     emit horizontalAlignmentChanged(align);
 }
 
@@ -511,8 +515,9 @@ void QDeclarativeText::setVAlign(VAlignment align)
     if (d->vAlign == align)
         return;
 
+    if (isComponentComplete())
+        prepareGeometryChange();
     d->vAlign = align;
-    update();
     emit verticalAlignmentChanged(align);
 }
 
@@ -805,7 +810,6 @@ void QDeclarativeTextPrivate::updateSize()
             else
                 doc->setTextWidth(doc->idealWidth()); // ### Text does not align if width is not set (QTextDoc bug)
             dy -= (int)doc->size().height();
-                q->prepareGeometryChange();
             QSize dsize = doc->size().toSize();
             if (dsize != cachedLayoutSize) {
                 q->prepareGeometryChange();
@@ -882,8 +886,6 @@ void QDeclarativeTextPrivate::drawOutline()
     ppm.drawPixmap(pos, imgCache);
     ppm.end();
 
-    if (imgCache.size() != img.size())
-        q_func()->prepareGeometryChange();
     imgCache = img;
 }
 
@@ -902,8 +904,6 @@ void QDeclarativeTextPrivate::drawOutline(int yOffset)
     ppm.drawPixmap(pos, imgCache);
     ppm.end();
 
-    if (imgCache.size() != img.size())
-        q_func()->prepareGeometryChange();
     imgCache = img;
 }
 
@@ -1054,8 +1054,6 @@ void QDeclarativeTextPrivate::checkImgCache()
         if (style != QDeclarativeText::Normal)
             imgStyleCache = wrappedTextImage(true); //### should use styleColor
     }
-    if (imgCache.size() != newImgCache.size())
-        q_func()->prepareGeometryChange();
     imgCache = newImgCache;
     if (!empty)
         switch (style) {
diff --git a/tests/auto/declarative/qdeclarativetext/tst_qdeclarativetext.cpp b/tests/auto/declarative/qdeclarativetext/tst_qdeclarativetext.cpp
index 658f381..f683d98 100644
--- a/tests/auto/declarative/qdeclarativetext/tst_qdeclarativetext.cpp
+++ b/tests/auto/declarative/qdeclarativetext/tst_qdeclarativetext.cpp
@@ -608,6 +608,17 @@ void tst_qdeclarativetext::style()
         QCOMPARE((int)textObject->style(), (int)styles.at(i));
         QCOMPARE(textObject->styleColor(), QColor("white"));
     }
+    QString componentStr = "import Qt 4.7\nText { text: \"Hello World\" }";
+    QDeclarativeComponent textComponent(&engine);
+    textComponent.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+    QDeclarativeText *textObject = qobject_cast<QDeclarativeText*>(textComponent.create());
+
+    QRectF brPre = textObject->boundingRect();
+    textObject->setStyle(QDeclarativeText::Outline);
+    QRectF brPost = textObject->boundingRect();
+
+    QVERIFY(brPre.width() < brPost.width());
+    QVERIFY(brPre.height() < brPost.height());
 }
 
 void tst_qdeclarativetext::color()
-- 
cgit v0.12


From f0a7646e0233b5b430b590ed45aeb839746f9998 Mon Sep 17 00:00:00 2001
From: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Date: Wed, 8 Sep 2010 08:24:24 +0200
Subject: uic: Fix compile breakage in case QT_NO_QT3_SUPPORT.

---
 src/tools/uic/cpp/cppwriteincludes.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/tools/uic/cpp/cppwriteincludes.cpp b/src/tools/uic/cpp/cppwriteincludes.cpp
index 2dded84..7b9d03a 100644
--- a/src/tools/uic/cpp/cppwriteincludes.cpp
+++ b/src/tools/uic/cpp/cppwriteincludes.cpp
@@ -128,7 +128,7 @@ void WriteIncludes::acceptUI(DomUI *node)
 #ifdef QT_NO_QT3_SUPPORT
         qWarning("%s: Warning: The form file has external pixmaps or qPixmapFromMimeSource() set as a pixmap function. "
                  "This requires Qt 3 support, which is disabled. The resulting code will not compile.",
-                 qPrintable(m_uic->option().warningsPrefix()));
+                 qPrintable(m_uic->option().messagePrefix()));
 #endif
         add(QLatin1String("Q3MimeSourceFactory"));
     }
-- 
cgit v0.12


From 22714feea0c0be10fc42ca44b2d539636dbb6f50 Mon Sep 17 00:00:00 2001
From: Miikka Heikkinen <miikka.heikkinen@digia.com>
Date: Wed, 8 Sep 2010 10:21:24 +0300
Subject: Ignore MAKEFILE variable for Symbian abld and sbsv2 builds.

Renaming makefile makes little sense for Symbian toolchains, when
we generate so many other files filenames derived from other sources.

Task-number: QTBUG-13336
Reviewed-by: Janne Anttila
---
 doc/src/development/qmake-manual.qdoc | 2 ++
 qmake/generators/symbian/symmake.cpp  | 3 ++-
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/doc/src/development/qmake-manual.qdoc b/doc/src/development/qmake-manual.qdoc
index 44658bc..f4becf8 100644
--- a/doc/src/development/qmake-manual.qdoc
+++ b/doc/src/development/qmake-manual.qdoc
@@ -1693,6 +1693,8 @@
     for building a project.  The value of this variable is typically
     handled by \c qmake or \l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
 
+    \bold{Note:} On the Symbian platform, this variable is ignored.
+
     \target MAKEFILE_GENERATOR
     \section1 MAKEFILE_GENERATOR
 
diff --git a/qmake/generators/symbian/symmake.cpp b/qmake/generators/symbian/symmake.cpp
index cf6bd13..0b0033a 100644
--- a/qmake/generators/symbian/symmake.cpp
+++ b/qmake/generators/symbian/symmake.cpp
@@ -272,7 +272,8 @@ void SymbianMakefileGenerator::init()
     project->values("QMAKE_LIBS") += escapeFilePaths(project->values("LIBS"));
     project->values("QMAKE_LIBS_PRIVATE") += escapeFilePaths(project->values("LIBS_PRIVATE"));
 
-    // bld.inf
+    // Disallow renaming of bld.inf.
+    project->values("MAKEFILE").clear();
     project->values("MAKEFILE") += BLD_INF_FILENAME;
 
     // .mmp
-- 
cgit v0.12


From b080eccb98ab861d6625b1980b323a62bed3d50a Mon Sep 17 00:00:00 2001
From: Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
Date: Tue, 7 Sep 2010 17:05:46 +0200
Subject: QtWebKit: Downstream patch 1 fixing a crash on MSVC 64bit.

http://bugreports.qt.nokia.com/browse/QTBUG-13279

Sha1 on qtwebkit.git:
8c902b12f771829cecd22edb7742636c8de816c2

Reviewed-by: Simon Hausmann
---
 src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.cpp | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.cpp b/src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.cpp
index 73efc0d..9e2e788 100644
--- a/src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.cpp
@@ -3465,16 +3465,16 @@ skip_id_custom_self:
                 goto vm_throw;
             }
             ASSERT(!callFrame->callee()->isHostFunction());
-            uint32_t expectedParams = callFrame->callee()->jsExecutable()->parameterCount();
-            uint32_t inplaceArgs = min(argCount, expectedParams);
-            uint32_t i = 0;
+            int32_t expectedParams = callFrame->callee()->jsExecutable()->parameterCount();
+            int32_t inplaceArgs = min(static_cast<int32_t>(argCount), expectedParams);
+            int32_t i = 0;
             Register* argStore = callFrame->registers() + argsOffset;
 
             // First step is to copy the "expected" parameters from their normal location relative to the callframe
             for (; i < inplaceArgs; i++)
                 argStore[i] = callFrame->registers()[i - RegisterFile::CallFrameHeaderSize - expectedParams];
             // Then we copy any additional arguments that may be further up the stack ('-1' to account for 'this')
-            for (; i < argCount; i++)
+            for (; i < static_cast<int32_t>(argCount); i++)
                 argStore[i] = callFrame->registers()[i - RegisterFile::CallFrameHeaderSize - expectedParams - argCount - 1];
         } else if (!arguments.isUndefinedOrNull()) {
             if (!arguments.isObject()) {
-- 
cgit v0.12


From d027395181d3e0c5796340ff87f2cddb41b93d29 Mon Sep 17 00:00:00 2001
From: Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
Date: Tue, 7 Sep 2010 17:07:38 +0200
Subject: QtWebKit: Downstream patch 2 fixing a crash on MSVC 64bit.

http://bugreports.qt.nokia.com/browse/QTBUG-13279

Sha1 on qtwebkit.git:
460b651cbe4f6994b492ff08614e57b0e31a24c8

Reviewed-by: Simon Hausmann
---
 src/3rdparty/webkit/JavaScriptCore/ChangeLog                 | 12 ++++++++++++
 .../webkit/JavaScriptCore/interpreter/Interpreter.cpp        |  2 +-
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/src/3rdparty/webkit/JavaScriptCore/ChangeLog b/src/3rdparty/webkit/JavaScriptCore/ChangeLog
index c09ad79..2be6f5a 100644
--- a/src/3rdparty/webkit/JavaScriptCore/ChangeLog
+++ b/src/3rdparty/webkit/JavaScriptCore/ChangeLog
@@ -1,3 +1,15 @@
+2010-07-08  Andreas Kling  <andreas.kling@nokia.com>
+
+        Reviewed by Oliver Hunt.
+
+        Interpreter: Crash in op_load_varargs on 64-bit
+        https://bugs.webkit.org/show_bug.cgi?id=41795
+
+        Added missing cast of argCount to int32_t in op_load_varargs.
+
+        * interpreter/Interpreter.cpp:
+        (JSC::Interpreter::privateExecute):
+
 2010-07-02  Peter Varga  <pvarga@inf.u-szeged.hu>
 
         Reviewed by Oliver Hunt.
diff --git a/src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.cpp b/src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.cpp
index 9e2e788..a56040c 100644
--- a/src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.cpp
@@ -3475,7 +3475,7 @@ skip_id_custom_self:
                 argStore[i] = callFrame->registers()[i - RegisterFile::CallFrameHeaderSize - expectedParams];
             // Then we copy any additional arguments that may be further up the stack ('-1' to account for 'this')
             for (; i < static_cast<int32_t>(argCount); i++)
-                argStore[i] = callFrame->registers()[i - RegisterFile::CallFrameHeaderSize - expectedParams - argCount - 1];
+                argStore[i] = callFrame->registers()[i - RegisterFile::CallFrameHeaderSize - expectedParams - static_cast<int32_t>(argCount) - 1];
         } else if (!arguments.isUndefinedOrNull()) {
             if (!arguments.isObject()) {
                 exceptionValue = createInvalidParamError(callFrame, "Function.prototype.apply", arguments, vPC - callFrame->codeBlock()->instructions().begin(), callFrame->codeBlock());
-- 
cgit v0.12


From cb23007c0e04e8d23b426ca1a3672f70282012c7 Mon Sep 17 00:00:00 2001
From: Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
Date: Tue, 7 Sep 2010 17:09:26 +0200
Subject: QtWebKit: Update tag files to match the same content on qtwebkit.git

NOTE: Some patches have been made in the 4.7.0 branch for
src/3rdparty/webkit that are not available upstream.

This shouldn't have happened, however these patches mostly
address issues regarding builds of QtWebKit inside the Qt
source tree so it doesn't matter so much regarding source packages.

Reviewed-by: Simon Hausmann
---
 src/3rdparty/webkit/.tag    | 2 +-
 src/3rdparty/webkit/VERSION | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/3rdparty/webkit/.tag b/src/3rdparty/webkit/.tag
index d31a2b4..1148320 100644
--- a/src/3rdparty/webkit/.tag
+++ b/src/3rdparty/webkit/.tag
@@ -1 +1 @@
-72b1c38579ca1fdb3f242e29cd16e5bfb4925813
+460b651cbe4f6994b492ff08614e57b0e31a24c8
diff --git a/src/3rdparty/webkit/VERSION b/src/3rdparty/webkit/VERSION
index 62aa8ce..aff3f2a 100644
--- a/src/3rdparty/webkit/VERSION
+++ b/src/3rdparty/webkit/VERSION
@@ -4,4 +4,4 @@ This is a snapshot of the Qt port of WebKit from
 
 and has the sha1 checksum
 
-        72b1c38579ca1fdb3f242e29cd16e5bfb4925813
+        460b651cbe4f6994b492ff08614e57b0e31a24c8
-- 
cgit v0.12


From eb07b8c1a9dc18e0d280604e9095be07b93538bf Mon Sep 17 00:00:00 2001
From: Robin Burchell <robin.burchell@collabora.co.uk>
Date: Wed, 8 Sep 2010 12:22:32 +1000
Subject: Changes (and minor corrections) to QByteArray documentation.

- Note in operator+= and append() that QByteArray preallocates, meaning that
  appending data in typical cases does not suffer from allocation overhead.

- Note that in the best case, appending or prepending can be O(1) thanks to
  copy-on-write semantics.

  Also make it clear that if the shared data is later changed, a full data copy
  is performed. This was only previously noted in the constructor.

- Note that in the worst case, the data copy requires linear time.

- Also a slight readability change: 'and that takes' vs 'taking'.
---
 src/corelib/tools/qbytearray.cpp | 41 ++++++++++++++++++++++++++++------------
 1 file changed, 29 insertions(+), 12 deletions(-)

diff --git a/src/corelib/tools/qbytearray.cpp b/src/corelib/tools/qbytearray.cpp
index a5cb16a..41ca942 100644
--- a/src/corelib/tools/qbytearray.cpp
+++ b/src/corelib/tools/qbytearray.cpp
@@ -850,7 +850,7 @@ QByteArray::Data QByteArray::shared_empty = { Q_BASIC_ATOMIC_INITIALIZER(1),
     This operation takes \l{constant time}, because QByteArray is
     \l{implicitly shared}. This makes returning a QByteArray from a
     function very fast. If a shared instance is modified, it will be
-    copied (copy-on-write), and that takes \l{linear time}.
+    copied (copy-on-write), taking \l{linear time}.
 
     \sa operator=()
 */
@@ -1186,10 +1186,18 @@ void QByteArray::chop(int n)
     Example:
     \snippet doc/src/snippets/code/src_corelib_tools_qbytearray.cpp 12
 
-    This operation is typically very fast (\l{constant time}),
-    because QByteArray preallocates extra space at the end of the
-    character data so it can grow without reallocating the entire
-    data each time.
+    Note: QByteArray is an \l{implicitly shared} class. Consequently,
+    if \e this is an empty QByteArray, then \e this will just share
+    the data held in \a ba. In this case, no copying of data is done,
+    taking \l{constant time}. If a shared instance is modified, it will
+    be copied (copy-on-write), taking \l{linear time}.
+
+    If \e this is not an empty QByteArray, a deep copy of the data is
+    performed, taking \l{linear time}.
+
+    This operation typically does not suffer from allocation overhead,
+    because QByteArray preallocates extra space at the end of the data
+    so that it may grow without reallocating for each append operation.
 
     \sa append(), prepend()
 */
@@ -1474,7 +1482,12 @@ QByteArray QByteArray::nulTerminated() const
 
     Note: QByteArray is an \l{implicitly shared} class. Consequently,
     if \e this is an empty QByteArray, then \e this will just share
-    the data held in \a ba. In this case, no copying of data is done.
+    the data held in \a ba. In this case, no copying of data is done,
+    taking \l{constant time}. If a shared instance is modified, it will
+    be copied (copy-on-write), taking \l{linear time}.
+
+    If \e this is not an empty QByteArray, a deep copy of the data is
+    performed, taking \l{linear time}.
 
     \sa append(), insert()
 */
@@ -1547,14 +1560,18 @@ QByteArray &QByteArray::prepend(char ch)
 
     This is the same as insert(size(), \a ba).
 
-    This operation is typically very fast (\l{constant time}),
-    because QByteArray preallocates extra space at the end of the
-    character data so it can grow without reallocating the entire
-    data each time.
-
     Note: QByteArray is an \l{implicitly shared} class. Consequently,
     if \e this is an empty QByteArray, then \e this will just share
-    the data held in \a ba. In this case, no copying of data is done.
+    the data held in \a ba. In this case, no copying of data is done,
+    taking \l{constant time}. If a shared instance is modified, it will
+    be copied (copy-on-write), taking \l{linear time}.
+
+    If \e this is not an empty QByteArray, a deep copy of the data is
+    performed, taking \l{linear time}.
+
+    This operation typically does not suffer from allocation overhead,
+    because QByteArray preallocates extra space at the end of the data
+    so that it may grow without reallocating for each append operation.
 
     \sa operator+=(), prepend(), insert()
 */
-- 
cgit v0.12


From 87c1a9b5a2d9ba03bcc2ae9a74a9c3a7ff8fe09a Mon Sep 17 00:00:00 2001
From: Frederik Gladhorn <frederik.gladhorn@nokia.com>
Date: Wed, 8 Sep 2010 11:09:52 +0200
Subject: QEasingCurve::operator== returning wrong value

Comparisons between just constructed QEasingCurve and ones
that had a value (eg amplitude) set, would always return true.

At the same time we still need to make operator== work without
creating the private config object (QEasingCurveFunction).

In order to make comparisons work in all cases, remove all explicit
float constants (3.0f) and instead use qreal(0.3).

Task-number: QTBUG-12274
Reviewed-by: Thierry
---
 src/corelib/tools/qeasingcurve.cpp           | 40 +++++++++++++++++-----------
 tests/auto/qeasingcurve/tst_qeasingcurve.cpp | 21 ++++++++++-----
 2 files changed, 39 insertions(+), 22 deletions(-)

diff --git a/src/corelib/tools/qeasingcurve.cpp b/src/corelib/tools/qeasingcurve.cpp
index ee791e0..7fe9170 100644
--- a/src/corelib/tools/qeasingcurve.cpp
+++ b/src/corelib/tools/qeasingcurve.cpp
@@ -332,7 +332,7 @@ public:
     enum Type { In, Out, InOut, OutIn };
 
     QEasingCurveFunction(QEasingCurveFunction::Type type = In, qreal period = 0.3, qreal amplitude = 1.0,
-        qreal overshoot = 1.70158f)
+        qreal overshoot = 1.70158)
         : _t(type), _p(period), _a(amplitude), _o(overshoot)
     { }
     virtual ~QEasingCurveFunction() {}
@@ -359,9 +359,9 @@ QEasingCurveFunction *QEasingCurveFunction::copy() const
 bool QEasingCurveFunction::operator==(const QEasingCurveFunction& other)
 {
     return _t == other._t &&
-           _p == other._p &&
-           _a == other._a &&
-           _o == other._o;
+           qFuzzyCompare(_p, other._p) &&
+           qFuzzyCompare(_a, other._a) &&
+           qFuzzyCompare(_o, other._o);
 }
 
 QT_BEGIN_INCLUDE_NAMESPACE
@@ -400,8 +400,8 @@ struct ElasticEase : public QEasingCurveFunction
 
     qreal value(qreal t)
     {
-        qreal p = (_p < 0) ? 0.3f : _p;
-        qreal a = (_a < 0) ? 1.0f : _a;
+        qreal p = (_p < 0) ? qreal(0.3) : _p;
+        qreal a = (_a < 0) ? qreal(1.0) : _a;
         switch(_t) {
         case In:
             return easeInElastic(t, a, p);
@@ -420,7 +420,7 @@ struct ElasticEase : public QEasingCurveFunction
 struct BounceEase : public QEasingCurveFunction
 {
     BounceEase(Type type)
-        : QEasingCurveFunction(type, 0.3f, 1.0f)
+        : QEasingCurveFunction(type, qreal(0.3), qreal(1.0))
     { }
 
     QEasingCurveFunction *copy() const
@@ -432,7 +432,7 @@ struct BounceEase : public QEasingCurveFunction
 
     qreal value(qreal t)
     {
-        qreal a = (_a < 0) ? 1.0f : _a;
+        qreal a = (_a < 0) ? qreal(1.0) : _a;
         switch(_t) {
         case In:
             return easeInBounce(t, a);
@@ -451,7 +451,7 @@ struct BounceEase : public QEasingCurveFunction
 struct BackEase : public QEasingCurveFunction
 {
     BackEase(Type type)
-        : QEasingCurveFunction(type, 0.3f, 1.0f, 1.70158f)
+        : QEasingCurveFunction(type, qreal(0.3), qreal(1.0), qreal(1.70158))
     { }
 
     QEasingCurveFunction *copy() const
@@ -463,7 +463,7 @@ struct BackEase : public QEasingCurveFunction
 
     qreal value(qreal t)
     {
-        qreal o = (_o < 0) ? 1.70158f : _o;
+        qreal o = (_o < 0) ? qreal(1.70158) : _o;
         switch(_t) {
         case In:
             return easeInBack(t, o);
@@ -595,7 +595,7 @@ static QEasingCurveFunction *curveToFunctionObject(QEasingCurve::Type type)
         curveFunc = new BackEase(BackEase::OutIn);
         break;
     default:
-        curveFunc = new QEasingCurveFunction(QEasingCurveFunction::In, 0.3f, 1.0f, 1.70158f);     // ###
+        curveFunc = new QEasingCurveFunction(QEasingCurveFunction::In, qreal(0.3), qreal(1.0), qreal(1.70158));
     }
 
     return curveFunc;
@@ -657,9 +657,17 @@ bool QEasingCurve::operator==(const QEasingCurve &other) const
 {
     bool res = d_ptr->func == other.d_ptr->func
             && d_ptr->type == other.d_ptr->type;
-    if (res && d_ptr->config && other.d_ptr->config) {
+    if (res) {
+        if (d_ptr->config && other.d_ptr->config) {
         // catch the config content
-        res = d_ptr->config->operator==(*(other.d_ptr->config));
+            res = d_ptr->config->operator==(*(other.d_ptr->config));
+
+        } else if (d_ptr->config || other.d_ptr->config) {
+        // one one has a config object, which could contain default values
+            res = qFuzzyCompare(amplitude(), other.amplitude()) &&
+                  qFuzzyCompare(period(), other.period()) &&
+                  qFuzzyCompare(overshoot(), other.overshoot());
+        }
     }
     return res;
 }
@@ -681,7 +689,7 @@ bool QEasingCurve::operator==(const QEasingCurve &other) const
  */
 qreal QEasingCurve::amplitude() const
 {
-    return d_ptr->config ? d_ptr->config->_a : 1.0;
+    return d_ptr->config ? d_ptr->config->_a : qreal(1.0);
 }
 
 /*!
@@ -705,7 +713,7 @@ void QEasingCurve::setAmplitude(qreal amplitude)
  */
 qreal QEasingCurve::period() const
 {
-    return d_ptr->config ? d_ptr->config->_p : 0.3;
+    return d_ptr->config ? d_ptr->config->_p : qreal(0.3);
 }
 
 /*!
@@ -729,7 +737,7 @@ void QEasingCurve::setPeriod(qreal period)
  */
 qreal QEasingCurve::overshoot() const
 {
-    return d_ptr->config ? d_ptr->config->_o : 1.70158f;
+    return d_ptr->config ? d_ptr->config->_o : qreal(1.70158) ;
 }
 
 /*!
diff --git a/tests/auto/qeasingcurve/tst_qeasingcurve.cpp b/tests/auto/qeasingcurve/tst_qeasingcurve.cpp
index 124f900..2411ab6 100644
--- a/tests/auto/qeasingcurve/tst_qeasingcurve.cpp
+++ b/tests/auto/qeasingcurve/tst_qeasingcurve.cpp
@@ -153,19 +153,19 @@ void tst_QEasingCurve::propertyDefaults()
     QEasingCurve curve(QEasingCurve::InElastic);
     QCOMPARE(curve.period(), 0.3);
     QCOMPARE(curve.amplitude(), 1.0);
-    QCOMPARE(curve.overshoot(), qreal(1.70158f));
+    QCOMPARE(curve.overshoot(), qreal(1.70158));
     curve.setType(QEasingCurve::InBounce);
     QCOMPARE(curve.period(), 0.3);
     QCOMPARE(curve.amplitude(), 1.0);
-    QCOMPARE(curve.overshoot(), qreal(1.70158f));
+    QCOMPARE(curve.overshoot(), qreal(1.70158));
     curve.setType(QEasingCurve::Linear);
     QCOMPARE(curve.period(), 0.3);
     QCOMPARE(curve.amplitude(), 1.0);
-    QCOMPARE(curve.overshoot(), qreal(1.70158f));
+    QCOMPARE(curve.overshoot(), qreal(1.70158));
     curve.setType(QEasingCurve::InElastic);
     QCOMPARE(curve.period(), 0.3);
     QCOMPARE(curve.amplitude(), 1.0);
-    QCOMPARE(curve.overshoot(), qreal(1.70158f));
+    QCOMPARE(curve.overshoot(), qreal(1.70158));
     curve.setPeriod(0.4);
     curve.setAmplitude(0.6);
     curve.setOvershoot(1.0);
@@ -490,7 +490,7 @@ void tst_QEasingCurve::operators()
     // operator==
     curve.setType(QEasingCurve::InBack);
     curve2 = curve;
-    curve2.setOvershoot(qreal(1.70158f));
+    curve2.setOvershoot(qreal(1.70158));
     QCOMPARE(curve.overshoot(), curve2.overshoot());
     QVERIFY(curve2 == curve);
 
@@ -505,6 +505,15 @@ void tst_QEasingCurve::operators()
     curve2.setType(QEasingCurve::InBack);
     QCOMPARE(curve.overshoot(), curve2.overshoot());
     QVERIFY(curve2 == curve);
+
+    QEasingCurve curve3;
+    QEasingCurve curve4;
+    curve4.setAmplitude(curve4.amplitude());
+    QEasingCurve curve5;
+    curve5.setAmplitude(0.12345);
+    QVERIFY(curve3 == curve4); // default value and not assigned
+    QVERIFY(curve3 != curve5); // unassinged and other value
+    QVERIFY(curve4 != curve5);
 }
 
 class tst_QEasingProperties : public QObject
@@ -527,7 +536,7 @@ void tst_QEasingCurve::properties()
     tst_QEasingProperties obj;
 
     QEasingCurve inOutBack(QEasingCurve::InOutBack);
-    qreal overshoot = 1.5f;
+    qreal overshoot = 1.5;
     inOutBack.setOvershoot(overshoot);
     qreal amplitude = inOutBack.amplitude();
     qreal period = inOutBack.period();
-- 
cgit v0.12


From 0937787432958defd6b9c664323ed6ea1a91083d Mon Sep 17 00:00:00 2001
From: Miikka Heikkinen <miikka.heikkinen@digia.com>
Date: Wed, 8 Sep 2010 13:04:14 +0300
Subject: Remove some .pro statements left behind after IAP usage cleanup

Flightinfo and Weatherinfo embedded demos still had few lines in
.pro files that were no longer needed since sym_iap_util.h has been
removed.

Task-number: QTBUG-13461
Reviewed-by: Janne Koskinen
---
 demos/embedded/flightinfo/flightinfo.pro   | 2 --
 demos/embedded/weatherinfo/weatherinfo.pro | 2 --
 2 files changed, 4 deletions(-)

diff --git a/demos/embedded/flightinfo/flightinfo.pro b/demos/embedded/flightinfo/flightinfo.pro
index 985cc42..bd21e97 100644
--- a/demos/embedded/flightinfo/flightinfo.pro
+++ b/demos/embedded/flightinfo/flightinfo.pro
@@ -8,8 +8,6 @@ QT += network
 symbian {
     TARGET.UID3 = 0xA000CF74
     include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri)
-    INCLUDEPATH += $$QT_SOURCE_TREE/examples/network/qftp/
-    LIBS += -lesock -lcommdb -linsock # For IAP selection
     TARGET.CAPABILITY = NetworkServices
 }
 
diff --git a/demos/embedded/weatherinfo/weatherinfo.pro b/demos/embedded/weatherinfo/weatherinfo.pro
index 9addbbb..bc9b966 100644
--- a/demos/embedded/weatherinfo/weatherinfo.pro
+++ b/demos/embedded/weatherinfo/weatherinfo.pro
@@ -7,8 +7,6 @@ QT += network svg
 symbian {
     TARGET.UID3 = 0xA000CF77
     include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri)
-    INCLUDEPATH += $$QT_SOURCE_TREE/examples/network/qftp/
-    LIBS += -lesock -lcommdb -linsock # For IAP selection
     TARGET.CAPABILITY = NetworkServices
 }
 
-- 
cgit v0.12


From 1af67c36b6064dfb4ec51217993c6a99ead493c9 Mon Sep 17 00:00:00 2001
From: "Bradley T. Hughes" <bradley.hughes@nokia.com>
Date: Wed, 8 Sep 2010 12:57:25 +0200
Subject: Fix compilation on Windows CE

Manual conflict resolution accidentally turned an #ifndef Q_OS_WINCE into
an #ifdef Q_OS_WINCE, causing a build failure.

Reviewed-by: TrustMe
---
 src/corelib/kernel/qeventdispatcher_win.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/corelib/kernel/qeventdispatcher_win.cpp b/src/corelib/kernel/qeventdispatcher_win.cpp
index 0a1d464..153ccdf 100644
--- a/src/corelib/kernel/qeventdispatcher_win.cpp
+++ b/src/corelib/kernel/qeventdispatcher_win.cpp
@@ -522,7 +522,7 @@ LRESULT QT_WIN_CALLBACK qt_GetMessageHook(int code, WPARAM wp, LPARAM lp)
             MSG unused;
             if ((HIWORD(GetQueueStatus(QS_INPUT | QS_RAWINPUT)) == 0
                  && PeekMessage(&unused, 0, WM_TIMER, WM_TIMER, PM_NOREMOVE) == 0)
-#ifdef Q_OS_WINCE
+#ifndef Q_OS_WINCE
                 || GetMessageTime() - d->lastMessageTime >= 10
 #endif
                 ) {
-- 
cgit v0.12


From a91a9d014adaeaa58640641579e30b5ff2383e99 Mon Sep 17 00:00:00 2001
From: Thiago Macieira <thiago.macieira@nokia.com>
Date: Tue, 7 Sep 2010 17:52:44 +0200
Subject: Fix handling of braces/no-braces in QUrl::host / setHost.

The hostname is supposed to be stored in canonical form, with the
braces. However, if you call url.setHost("::1"), then a non-canonical
hostname is stored. So make the canonicalisation function correct this.

Task-number: QTBUG-13464
Reviewed-by: Markus Goetz
---
 src/corelib/io/qurl.cpp      | 4 ++++
 tests/auto/qurl/tst_qurl.cpp | 6 +++++-
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/src/corelib/io/qurl.cpp b/src/corelib/io/qurl.cpp
index 56a03c9..74c24b5 100644
--- a/src/corelib/io/qurl.cpp
+++ b/src/corelib/io/qurl.cpp
@@ -3399,16 +3399,20 @@ QString QUrlPrivate::canonicalHost() const
     if (host.contains(QLatin1Char(':'))) {
         // This is an IP Literal, use _IPLiteral to validate
         QByteArray ba = host.toLatin1();
+        bool needsBraces = false;
         if (!ba.startsWith('[')) {
             // surround the IP Literal with [ ] if it's not already done so
             ba.reserve(ba.length() + 2);
             ba.prepend('[');
             ba.append(']');
+            needsBraces = true;
         }
 
         const char *ptr = ba.constData();
         if (!_IPLiteral(&ptr))
             that->host.clear();
+        else if (needsBraces)
+            that->host = QString::fromLatin1(ba.toLower());
         else
             that->host = host.toLower();
     } else {
diff --git a/tests/auto/qurl/tst_qurl.cpp b/tests/auto/qurl/tst_qurl.cpp
index 370bd13..b5236e5 100644
--- a/tests/auto/qurl/tst_qurl.cpp
+++ b/tests/auto/qurl/tst_qurl.cpp
@@ -2266,7 +2266,9 @@ void tst_QUrl::ipv6()
 
     QCOMPARE(url.isValid(), isValid);
     if (url.isValid()) {
-	QCOMPARE(url.toString(), ipv6Auth);
+        QCOMPARE(url.toString(), ipv6Auth);
+        url.setHost(url.host());
+        QCOMPARE(url.toString(), ipv6Auth);
     }
 };
 
@@ -2290,6 +2292,8 @@ void tst_QUrl::ipv6_2()
 
     QUrl url(input);
     QCOMPARE(url.toString(), output);
+    url.setHost(url.host());
+    QCOMPARE(url.toString(), output);
 }
 
 void tst_QUrl::moreIpv6()
-- 
cgit v0.12


From 0be5e5e86522616543975331c1f979147d4c8cdb Mon Sep 17 00:00:00 2001
From: Olivier Goffart <olivier.goffart@nokia.com>
Date: Fri, 3 Sep 2010 17:10:07 +0200
Subject: qdrawhelper: small optimisations in fetchTransformBilinear

Another way to compute the interpolation that does less multiplications.

Small inpact on benchmark

Made-with: Samuel
---
 src/gui/painting/qdrawhelper.cpp | 31 +++++++++++++++----------------
 1 file changed, 15 insertions(+), 16 deletions(-)

diff --git a/src/gui/painting/qdrawhelper.cpp b/src/gui/painting/qdrawhelper.cpp
index 03ed597..6d921da 100644
--- a/src/gui/painting/qdrawhelper.cpp
+++ b/src/gui/painting/qdrawhelper.cpp
@@ -659,16 +659,19 @@ const uint * QT_FASTCALL fetchTransformed(uint *buffer, const Operator *, const
   interpolate 4 argb pixels with the distx and disty factor.
   distx and disty bust be between 0 and 16
  */
-static inline uint interpolate_4_pixels_16(uint tl, uint tr, uint bl, uint br, int distx, int disty, int idistx, int idisty)
-{
-    uint tlrb = ((tl & 0x00ff00ff) * idistx * idisty);
-    uint tlag = (((tl & 0xff00ff00) >> 8) * idistx * idisty);
-    uint trrb = ((tr & 0x00ff00ff) * distx * idisty);
-    uint trag = (((tr & 0xff00ff00) >> 8) * distx * idisty);
-    uint blrb = ((bl & 0x00ff00ff) * idistx * disty);
-    uint blag = (((bl & 0xff00ff00) >> 8) * idistx * disty);
-    uint brrb = ((br & 0x00ff00ff) * distx * disty);
-    uint brag = (((br & 0xff00ff00) >> 8) * distx * disty);
+static inline uint interpolate_4_pixels_16(uint tl, uint tr, uint bl, uint br, int distx, int disty)
+{
+    uint distxy = distx * disty;
+    //idistx * disty = (16-distx) * disty = 16*disty - distxy
+    //idistx * idisty = (16-distx) * (16-disty) = 16*16 - 16*distx -16*dity + distxy
+    uint tlrb = (tl & 0x00ff00ff)         * (16*16 - 16*distx - 16*disty + distxy);
+    uint tlag = ((tl & 0xff00ff00) >> 8)  * (16*16 - 16*distx - 16*disty + distxy);
+    uint trrb = ((tr & 0x00ff00ff)        * (distx*16 - distxy));
+    uint trag = (((tr & 0xff00ff00) >> 8) * (distx*16 - distxy));
+    uint blrb = ((bl & 0x00ff00ff)        * (disty*16 - distxy));
+    uint blag = (((bl & 0xff00ff00) >> 8) * (disty*16 - distxy));
+    uint brrb = ((br & 0x00ff00ff)        * (distxy));
+    uint brag = (((br & 0xff00ff00) >> 8) * (distxy));
     return (((tlrb + trrb + blrb + brrb) >> 8) & 0x00ff00ff) | ((tlag + trag + blag + brag) & 0xff00ff00);
 }
 
@@ -879,7 +882,6 @@ const uint * QT_FASTCALL fetchTransformedBilinear(uint *buffer, const Operator *
                 const uchar *s1 = data->texture.scanLine(y1);
                 const uchar *s2 = data->texture.scanLine(y2);
                 int disty = (fy & 0x0000ffff) >> 12;
-                int idisty = 16 - disty;
                 while (b < end) {
                     int x1 = (fx >> 16);
                     int x2;
@@ -889,8 +891,7 @@ const uint * QT_FASTCALL fetchTransformedBilinear(uint *buffer, const Operator *
                     uint bl = fetch(s2, x1, data->texture.colorTable);
                     uint br = fetch(s2, x2, data->texture.colorTable);
                     int distx = (fx & 0x0000ffff) >> 12;
-                    int idistx = 16 - distx;
-                    *b = interpolate_4_pixels_16(tl, tr, bl, br, distx, disty, idistx, idisty);
+                    *b = interpolate_4_pixels_16(tl, tr, bl, br, distx, disty);
                     fx += fdx;
                     ++b;
                 }
@@ -949,10 +950,8 @@ const uint * QT_FASTCALL fetchTransformedBilinear(uint *buffer, const Operator *
 
                     int distx = (fx & 0x0000ffff) >> 12;
                     int disty = (fy & 0x0000ffff) >> 12;
-                    int idistx = 16 - distx;
-                    int idisty = 16 - disty;
 
-                    *b = interpolate_4_pixels_16(tl, tr, bl, br, distx, disty, idistx, idisty);
+                    *b = interpolate_4_pixels_16(tl, tr, bl, br, distx, disty);
 
                     fx += fdx;
                     fy += fdy;
-- 
cgit v0.12


From 320ab7a9cfc484025f703dfdd39349a5f94fbe69 Mon Sep 17 00:00:00 2001
From: Olivier Goffart <olivier.goffart@nokia.com>
Date: Fri, 3 Sep 2010 17:13:15 +0200
Subject: qdrawhelper: use SSE2 for interpolation in fetchTransformedBilinear

when scale down, with no rotations

Process the pixel 4 by 4 and do the interpolation using SSE2

Reviewed-by: Samuel
---
 src/gui/painting/qdrawhelper.cpp | 77 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 77 insertions(+)

diff --git a/src/gui/painting/qdrawhelper.cpp b/src/gui/painting/qdrawhelper.cpp
index 6d921da..a302a83 100644
--- a/src/gui/painting/qdrawhelper.cpp
+++ b/src/gui/painting/qdrawhelper.cpp
@@ -675,6 +675,43 @@ static inline uint interpolate_4_pixels_16(uint tl, uint tr, uint bl, uint br, i
     return (((tlrb + trrb + blrb + brrb) >> 8) & 0x00ff00ff) | ((tlag + trag + blag + brag) & 0xff00ff00);
 }
 
+#if defined(QT_ALWAYS_HAVE_SSE2)
+#define interpolate_4_pixels_16_sse2(tl, tr, bl, br, distx, disty, colorMask, v_256, b)  \
+{ \
+    const __m128i dxdy = _mm_mullo_epi16 (distx, disty); \
+    const __m128i distx_ = _mm_slli_epi16(distx, 4); \
+    const __m128i disty_ = _mm_slli_epi16(disty, 4); \
+    const __m128i idxidy =  _mm_add_epi16(dxdy, _mm_sub_epi16(v_256, _mm_add_epi16(distx_, disty_))); \
+    const __m128i dxidy =  _mm_sub_epi16(distx_, dxdy); \
+    const __m128i idxdy =  _mm_sub_epi16(disty_, dxdy); \
+ \
+    __m128i tlAG = _mm_srli_epi16(tl, 8); \
+    __m128i tlRB = _mm_and_si128(tl, colorMask); \
+    __m128i trAG = _mm_srli_epi16(tr, 8); \
+    __m128i trRB = _mm_and_si128(tr, colorMask); \
+    __m128i blAG = _mm_srli_epi16(bl, 8); \
+    __m128i blRB = _mm_and_si128(bl, colorMask); \
+    __m128i brAG = _mm_srli_epi16(br, 8); \
+    __m128i brRB = _mm_and_si128(br, colorMask); \
+ \
+    tlAG = _mm_mullo_epi16(tlAG, idxidy); \
+    tlRB = _mm_mullo_epi16(tlRB, idxidy); \
+    trAG = _mm_mullo_epi16(trAG, dxidy); \
+    trRB = _mm_mullo_epi16(trRB, dxidy); \
+    blAG = _mm_mullo_epi16(blAG, idxdy); \
+    blRB = _mm_mullo_epi16(blRB, idxdy); \
+    brAG = _mm_mullo_epi16(brAG, dxdy); \
+    brRB = _mm_mullo_epi16(brRB, dxdy); \
+ \
+    /* Add the values, and shift to only keep 8 significant bits per colors */ \
+    __m128i rAG =_mm_add_epi16(_mm_add_epi16(tlAG, trAG), _mm_add_epi16(blAG, brAG)); \
+    __m128i rRB =_mm_add_epi16(_mm_add_epi16(tlRB, trRB), _mm_add_epi16(blRB, brRB)); \
+    rAG = _mm_andnot_si128(colorMask, rAG); \
+    rRB = _mm_srli_epi16(rRB, 8); \
+    _mm_storeu_si128((__m128i*)(b), _mm_or_si128(rAG, rRB)); \
+}
+#endif
+
 
 template<TextureBlendType blendType>
 Q_STATIC_TEMPLATE_FUNCTION inline void fetchTransformedBilinear_pixelBounds(int max, int l1, int l2, int &v1, int &v2)
@@ -882,6 +919,46 @@ const uint * QT_FASTCALL fetchTransformedBilinear(uint *buffer, const Operator *
                 const uchar *s1 = data->texture.scanLine(y1);
                 const uchar *s2 = data->texture.scanLine(y2);
                 int disty = (fy & 0x0000ffff) >> 12;
+
+#if defined(QT_ALWAYS_HAVE_SSE2)
+                const __m128i colorMask = _mm_set1_epi32(0x00ff00ff);
+                //const __m128i distShuffleMask = _mm_set_epi8(13, 12, 13, 12, 9, 8, 9, 8, 5, 4, 5, 4, 1, 0, 1, 0);
+                const __m128i v_256 = _mm_set1_epi16(256);
+                const __m128i v_disty = _mm_set1_epi16(disty);
+                __m128i v_fdx = _mm_set1_epi32(fdx*4);
+
+                union Vect_buffer { __m128i vect; quint32 i[4]; };
+                Vect_buffer v_fx;
+
+                for (int i = 0; i < 4; i++) {
+                    v_fx.i[i] = fx;
+                    fx += fdx;
+                }
+
+                while (b < end-3) {
+
+                    Vect_buffer tl, tr, bl, br;
+
+                    for (int i = 0; i < 4; i++) {
+                        int x1 = v_fx.i[i] >> 16;
+                        int x2;
+                        fetchTransformedBilinear_pixelBounds<blendType>(image_width, image_x1, image_x2, x1, x2);
+                        tl.i[i] = fetch(s1, x1, data->texture.colorTable);
+                        tr.i[i] = fetch(s1, x2, data->texture.colorTable);
+                        bl.i[i] = fetch(s2, x1, data->texture.colorTable);
+                        br.i[i] = fetch(s2, x2, data->texture.colorTable);
+                    }
+                    __m128i v_distx = _mm_srli_epi16(v_fx.vect, 12);      //distx = (fx & 0x0000ffff) >> 12;
+                    //v_distx = _mm_shuffle_epi8(v_disty, distShuffleMask); //distx |= distx << 16;
+                    v_distx = _mm_shufflehi_epi16(v_distx, _MM_SHUFFLE(2,2,0,0));
+                    v_distx = _mm_shufflelo_epi16(v_distx, _MM_SHUFFLE(2,2,0,0));
+
+                    interpolate_4_pixels_16_sse2(tl.vect, tr.vect, bl.vect, br.vect, v_distx, v_disty, colorMask, v_256, b);
+                    b+=4;
+                    v_fx.vect = _mm_add_epi32(v_fx.vect, v_fdx);
+                }
+                fx = v_fx.i[0];
+#endif
                 while (b < end) {
                     int x1 = (fx >> 16);
                     int x2;
-- 
cgit v0.12


From e6cdf5833655f6bf4fae3166b2c1955e56cfc9a1 Mon Sep 17 00:00:00 2001
From: Janne Anttila <janne.anttila@digia.com>
Date: Wed, 8 Sep 2010 15:26:23 +0300
Subject: Let's not duplicate Symbian softkey menu top-level actions in
 submenu.

The old code incorrectly added the toplevel menu to menubar, where as
submenu should have been added. This change only has impact to case
where menu is being manually constructed by creating softkey action
with menu and by adding actions to that menu. Normal "Options" menus
are already working correctly.

Task-number: QTBUG-12189
Reviewed-by: Miikka Heikkinen
---
 src/gui/kernel/qsoftkeymanager_s60.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/gui/kernel/qsoftkeymanager_s60.cpp b/src/gui/kernel/qsoftkeymanager_s60.cpp
index 6325d95..fee1580 100644
--- a/src/gui/kernel/qsoftkeymanager_s60.cpp
+++ b/src/gui/kernel/qsoftkeymanager_s60.cpp
@@ -401,7 +401,7 @@ bool QSoftKeyManagerPrivateS60::handleCommand(int command)
                 foreach(QAction *menuAction, action->menu()->actions()) {
                     QMenu *menu = menuAction->menu();
                     if(menu)
-                        menuBar->addMenu(action->menu());
+                        menuBar->addMenu(menu);
                     else
                         menuBar->addAction(menuAction);
                 }
-- 
cgit v0.12


From 46cb697b5e2eadfdad37aa6fcbdb58abf305de45 Mon Sep 17 00:00:00 2001
From: Olivier Goffart <olivier.goffart@nokia.com>
Date: Wed, 8 Sep 2010 11:26:31 +0200
Subject: qdrawhelper: Optimisations in fetchTransformedBilinear

Scaling down, no rotation, with SSE2.
Specialize for ARGB32 not tiled, so the pixelbound can be simplified

Reviewed-by: Samuel
---
 src/gui/painting/qdrawhelper.cpp | 89 ++++++++++++++++++++++++++--------------
 1 file changed, 59 insertions(+), 30 deletions(-)

diff --git a/src/gui/painting/qdrawhelper.cpp b/src/gui/painting/qdrawhelper.cpp
index a302a83..bd5b0bd 100644
--- a/src/gui/painting/qdrawhelper.cpp
+++ b/src/gui/painting/qdrawhelper.cpp
@@ -761,7 +761,7 @@ const uint * QT_FASTCALL fetchTransformedBilinear(uint *buffer, const Operator *
     const qreal cx = x + 0.5;
     const qreal cy = y + 0.5;
 
-    const uint *end = buffer + length;
+    uint *end = buffer + length;
     uint *b = buffer;
     if (data->fast_matrix) {
         // The increment pr x in the scanline
@@ -921,43 +921,72 @@ const uint * QT_FASTCALL fetchTransformedBilinear(uint *buffer, const Operator *
                 int disty = (fy & 0x0000ffff) >> 12;
 
 #if defined(QT_ALWAYS_HAVE_SSE2)
-                const __m128i colorMask = _mm_set1_epi32(0x00ff00ff);
-                //const __m128i distShuffleMask = _mm_set_epi8(13, 12, 13, 12, 9, 8, 9, 8, 5, 4, 5, 4, 1, 0, 1, 0);
-                const __m128i v_256 = _mm_set1_epi16(256);
-                const __m128i v_disty = _mm_set1_epi16(disty);
-                __m128i v_fdx = _mm_set1_epi32(fdx*4);
+                if (blendType != BlendTransformedBilinearTiled &&
+                    (format == QImage::Format_ARGB32_Premultiplied || format == QImage::Format_RGB32)) {
 
-                union Vect_buffer { __m128i vect; quint32 i[4]; };
-                Vect_buffer v_fx;
+                    //prolog to get into the bounds
+                    while (b < end) {
+                        int x1 = (fx >> 16);
+                        int x2;
+                        fetchTransformedBilinear_pixelBounds<blendType>(image_width, image_x1, image_x2, x1, x2);
+                        if (x1 != x2) //break if we are insided the bounds.
+                            break;
+                        uint tl = fetch(s1, x1, data->texture.colorTable);
+                        uint tr = fetch(s1, x2, data->texture.colorTable);
+                        uint bl = fetch(s2, x1, data->texture.colorTable);
+                        uint br = fetch(s2, x2, data->texture.colorTable);
+                        int distx = (fx & 0x0000ffff) >> 12;
+                        *b = interpolate_4_pixels_16(tl, tr, bl, br, distx, disty);
+                        fx += fdx;
+                        ++b;
+                    }
+                    uint *boundedEnd;
+                    if (fdx > 0)
+                        boundedEnd = qMin(end, buffer + uint((image_x2 - (fx >> 16)) / data->m11));
+                    else
+                        boundedEnd = qMin(end, buffer + uint((image_x1 - (fx >> 16)) / data->m11));
+                    boundedEnd -= 3;
 
-                for (int i = 0; i < 4; i++) {
-                    v_fx.i[i] = fx;
-                    fx += fdx;
-                }
+                    const __m128i colorMask = _mm_set1_epi32(0x00ff00ff);
+                    //const __m128i distShuffleMask = _mm_set_epi8(13, 12, 13, 12, 9, 8, 9, 8, 5, 4, 5, 4, 1, 0, 1, 0);
+                    const __m128i v_256 = _mm_set1_epi16(256);
+                    const __m128i v_disty = _mm_set1_epi16(disty);
+                    __m128i v_fdx = _mm_set1_epi32(fdx*4);
 
-                while (b < end-3) {
+                    ptrdiff_t secondLine = reinterpret_cast<const uint *>(s2) - reinterpret_cast<const uint *>(s1);
 
-                    Vect_buffer tl, tr, bl, br;
+                    union Vect_buffer { __m128i vect; quint32 i[4]; };
+                    Vect_buffer v_fx;
 
                     for (int i = 0; i < 4; i++) {
-                        int x1 = v_fx.i[i] >> 16;
-                        int x2;
-                        fetchTransformedBilinear_pixelBounds<blendType>(image_width, image_x1, image_x2, x1, x2);
-                        tl.i[i] = fetch(s1, x1, data->texture.colorTable);
-                        tr.i[i] = fetch(s1, x2, data->texture.colorTable);
-                        bl.i[i] = fetch(s2, x1, data->texture.colorTable);
-                        br.i[i] = fetch(s2, x2, data->texture.colorTable);
+                        v_fx.i[i] = fx;
+                        fx += fdx;
+                    }
+
+                    while (b < boundedEnd) {
+
+                        Vect_buffer tl, tr, bl, br;
+
+                        for (int i = 0; i < 4; i++) {
+                            int x1 = v_fx.i[i] >> 16;
+                            const uint *addr_tl = reinterpret_cast<const uint *>(s1) + x1;
+                            const uint *addr_tr = addr_tl + 1;
+                            tl.i[i] = *addr_tl;
+                            tr.i[i] = *addr_tr;
+                            bl.i[i] = *(addr_tl+secondLine);
+                            br.i[i] = *(addr_tr+secondLine);
+                        }
+                        __m128i v_distx = _mm_srli_epi16(v_fx.vect, 12);      //distx = (fx & 0x0000ffff) >> 12;
+                        //v_distx = _mm_shuffle_epi8(v_disty, distShuffleMask); //distx |= distx << 16;
+                        v_distx = _mm_shufflehi_epi16(v_distx, _MM_SHUFFLE(2,2,0,0));
+                        v_distx = _mm_shufflelo_epi16(v_distx, _MM_SHUFFLE(2,2,0,0));
+
+                        interpolate_4_pixels_16_sse2(tl.vect, tr.vect, bl.vect, br.vect, v_distx, v_disty, colorMask, v_256, b);
+                        b+=4;
+                        v_fx.vect = _mm_add_epi32(v_fx.vect, v_fdx);
                     }
-                    __m128i v_distx = _mm_srli_epi16(v_fx.vect, 12);      //distx = (fx & 0x0000ffff) >> 12;
-                    //v_distx = _mm_shuffle_epi8(v_disty, distShuffleMask); //distx |= distx << 16;
-                    v_distx = _mm_shufflehi_epi16(v_distx, _MM_SHUFFLE(2,2,0,0));
-                    v_distx = _mm_shufflelo_epi16(v_distx, _MM_SHUFFLE(2,2,0,0));
-
-                    interpolate_4_pixels_16_sse2(tl.vect, tr.vect, bl.vect, br.vect, v_distx, v_disty, colorMask, v_256, b);
-                    b+=4;
-                    v_fx.vect = _mm_add_epi32(v_fx.vect, v_fdx);
+                    fx = v_fx.i[0];
                 }
-                fx = v_fx.i[0];
 #endif
                 while (b < end) {
                     int x1 = (fx >> 16);
-- 
cgit v0.12


From f05b4bf65c86bc9ba22f6504f4109d2b49dfd627 Mon Sep 17 00:00:00 2001
From: Olivier Goffart <olivier.goffart@nokia.com>
Date: Wed, 8 Sep 2010 15:31:58 +0200
Subject: Fix tst_qimage with QT_NO_EXCEPTIONS

---
 tests/auto/qimage/tst_qimage.cpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tests/auto/qimage/tst_qimage.cpp b/tests/auto/qimage/tst_qimage.cpp
index ec0ecec..b446941 100644
--- a/tests/auto/qimage/tst_qimage.cpp
+++ b/tests/auto/qimage/tst_qimage.cpp
@@ -156,14 +156,14 @@ void tst_QImage::create()
 {
     bool cr = true;
 #if !defined(Q_WS_QWS) && !defined(Q_OS_WINCE)
-    try {
+    QT_TRY {
 #endif
 	//QImage image(7000000, 7000000, 8, 256, QImage::IgnoreEndian);
     QImage image(7000000, 7000000, QImage::Format_Indexed8);
     image.setColorCount(256);
         cr = !image.isNull();
 #if !defined(Q_WS_QWS) && !defined(Q_OS_WINCE)
-    } catch (...) {
+    } QT_CATCH (...) {
     }
 #endif
     QVERIFY( !cr );
-- 
cgit v0.12


From 4c0e59e6ad6b697a28f7c57540fb2eb0042d04d0 Mon Sep 17 00:00:00 2001
From: Thiago Macieira <thiago.macieira@nokia.com>
Date: Wed, 8 Sep 2010 13:20:47 +0200
Subject: Work around a compiler bug on 64-bit.

Some GCC versions seem to think that the EBX register is the PIC
register even on 64-bit. So instead of telling GCC that we clobbered
it, save it instead on a temporary register.

Reviewed-by: Trust Me
---
 src/corelib/tools/qsimd.cpp | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/corelib/tools/qsimd.cpp b/src/corelib/tools/qsimd.cpp
index a9c33f1..7babf3a 100644
--- a/src/corelib/tools/qsimd.cpp
+++ b/src/corelib/tools/qsimd.cpp
@@ -286,10 +286,13 @@ static inline uint detectProcessorFeatures()
     uint feature_result = 0;
 
 #if defined(Q_CC_GNU)
-    asm ("cpuid"
-        : "=c" (feature_result)
+    long tmp;
+    asm ("xchg %%rbx, %1\n"
+         "cpuid\n"
+         "xchg %%rbx, %1\n"
+        : "=c" (feature_result), "=&r" (tmp)
         : "a" (1)
-        : "%ebx", "%edx"
+        : "%edx"
         );
 #elif defined (Q_OS_WIN64)
     {
-- 
cgit v0.12


From 0c49838016ab77d596f53774d8432f9f4d6b1188 Mon Sep 17 00:00:00 2001
From: Alessandro Portale <alessandro.portale@nokia.com>
Date: Wed, 8 Sep 2010 21:01:21 +0200
Subject: Pulled some code from One long function into a short one

Preparations for Application font support on Symbian

Task-Number: QTBUG-6611
---
 src/gui/text/qfontdatabase_s60.cpp | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

diff --git a/src/gui/text/qfontdatabase_s60.cpp b/src/gui/text/qfontdatabase_s60.cpp
index 0b38aab..f9d8d31 100644
--- a/src/gui/text/qfontdatabase_s60.cpp
+++ b/src/gui/text/qfontdatabase_s60.cpp
@@ -99,6 +99,7 @@ public:
     ~QSymbianFontDatabaseExtrasImplementation();
 
     const QSymbianTypeFaceExtras *extras(const QString &typeface, bool bold, bool italic) const;
+    void addFontFileToFontStore(const QFileInfo &fontFileInfo);
 
 #ifndef Q_SYMBIAN_HAS_FONTTABLE_API
     struct CFontFromFontStoreReleaser {
@@ -150,11 +151,8 @@ QSymbianFontDatabaseExtrasImplementation::QSymbianFontDatabaseExtrasImplementati
         m_store->InstallRasterizerL(m_rasterizer);
         CleanupStack::Pop(m_rasterizer););
 
-    foreach (const QFileInfo &fontFileInfo, fontFiles) {
-        const QString fontFile = QDir::toNativeSeparators(fontFileInfo.absoluteFilePath());
-        TPtrC fontFilePtr(qt_QString2TPtrC(fontFile));
-        QT_TRAP_THROWING(m_store->AddFileL(fontFilePtr));
-    }
+    foreach (const QFileInfo &fontFileInfo, fontFiles)
+        addFontFileToFontStore(fontFileInfo);
 #endif // !Q_SYMBIAN_HAS_FONTTABLE_API
 }
 
@@ -250,6 +248,14 @@ const QSymbianTypeFaceExtras *QSymbianFontDatabaseExtrasImplementation::extras(c
     }
     return m_extrasHash.value(searchKey);
 }
+
+void QSymbianFontDatabaseExtrasImplementation::addFontFileToFontStore(const QFileInfo &fontFileInfo)
+{
+    const QString fontFile = QDir::toNativeSeparators(fontFileInfo.absoluteFilePath());
+    TPtrC fontFilePtr(qt_QString2TPtrC(fontFile));
+    QT_TRAP_THROWING(m_store->AddFileL(fontFilePtr));
+}
+
 #else // QT_NO_FREETYPE
 class QFontEngineFTS60 : public QFontEngineFT
 {
-- 
cgit v0.12


From c207a85d9d8e541a30f7dd7f0721f204757650e1 Mon Sep 17 00:00:00 2001
From: Alessandro Portale <alessandro.portale@nokia.com>
Date: Wed, 8 Sep 2010 21:03:05 +0200
Subject: Moved font list getter to qfontdatabase_s60.cpp. Reusable.

Preparations for Application font support on Symbian

Task-Number: QTBUG-6611
---
 src/gui/text/qfont_s60.cpp         | 13 ++++---------
 src/gui/text/qfontdatabase_s60.cpp | 15 +++++++++++++++
 2 files changed, 19 insertions(+), 9 deletions(-)

diff --git a/src/gui/text/qfont_s60.cpp b/src/gui/text/qfont_s60.cpp
index 2d547a9..d39f30a 100644
--- a/src/gui/text/qfont_s60.cpp
+++ b/src/gui/text/qfont_s60.cpp
@@ -49,16 +49,11 @@ QT_BEGIN_NAMESPACE
 
 #ifdef QT_NO_FREETYPE
 Q_GLOBAL_STATIC(QMutex, lastResortFamilyMutex);
+extern QStringList qt_symbian_fontFamiliesOnFontServer(); // qfontdatabase_s60.cpp
 Q_GLOBAL_STATIC_WITH_INITIALIZER(QStringList, fontFamiliesOnFontServer, {
-    QSymbianFbsHeapLock lock(QSymbianFbsHeapLock::Unlock);
-    const int numTypeFaces = S60->screenDevice()->NumTypefaces();
-    for (int i = 0; i < numTypeFaces; i++) {
-        TTypefaceSupport typefaceSupport;
-        S60->screenDevice()->TypefaceSupport(typefaceSupport, i);
-        const QString familyName((const QChar *)typefaceSupport.iTypeface.iName.Ptr(), typefaceSupport.iTypeface.iName.Length());
-        x->append(familyName);
-    }
-    lock.relock();
+    // We are only interested in the initial font families. No Application fonts.
+    // Therefore, we are allowed to cache the list.
+    x->append(qt_symbian_fontFamiliesOnFontServer());
 });
 #endif // QT_NO_FREETYPE
 
diff --git a/src/gui/text/qfontdatabase_s60.cpp b/src/gui/text/qfontdatabase_s60.cpp
index f9d8d31..b73555f 100644
--- a/src/gui/text/qfontdatabase_s60.cpp
+++ b/src/gui/text/qfontdatabase_s60.cpp
@@ -58,6 +58,21 @@
 
 QT_BEGIN_NAMESPACE
 
+QStringList qt_symbian_fontFamiliesOnFontServer() // Also used in qfont_s60.cpp
+{
+    QStringList result;
+    QSymbianFbsHeapLock lock(QSymbianFbsHeapLock::Unlock);
+    const int numTypeFaces = S60->screenDevice()->NumTypefaces();
+    for (int i = 0; i < numTypeFaces; i++) {
+        TTypefaceSupport typefaceSupport;
+        S60->screenDevice()->TypefaceSupport(typefaceSupport, i);
+        const QString familyName((const QChar *)typefaceSupport.iTypeface.iName.Ptr(), typefaceSupport.iTypeface.iName.Length());
+        result.append(familyName);
+    }
+    lock.relock();
+    return result;
+}
+
 QFileInfoList alternativeFilePaths(const QString &path, const QStringList &nameFilters,
     QDir::Filters filters = QDir::NoFilter, QDir::SortFlags sort = QDir::NoSort,
     bool uniqueFileNames = true)
-- 
cgit v0.12


From 3c42576f2ef0cd9a2b55f33991f1fa8b168e5c03 Mon Sep 17 00:00:00 2001
From: Alessandro Portale <alessandro.portale@nokia.com>
Date: Wed, 8 Sep 2010 21:05:41 +0200
Subject: Pulled code form initializeDb() out into addFontToScreenDevice()

Preparations for Application font support on Symbian

Task-Number: QTBUG-6611
---
 src/gui/text/qfontdatabase_s60.cpp | 105 +++++++++++++++++++------------------
 1 file changed, 53 insertions(+), 52 deletions(-)

diff --git a/src/gui/text/qfontdatabase_s60.cpp b/src/gui/text/qfontdatabase_s60.cpp
index b73555f..ec252cd 100644
--- a/src/gui/text/qfontdatabase_s60.cpp
+++ b/src/gui/text/qfontdatabase_s60.cpp
@@ -331,6 +331,57 @@ void QFontEngineMultiS60::loadEngine(int at)
     Q_ASSERT(engines[at]);
 }
 
+static bool addFontToScreenDevice(int screenDeviceFontIndex,
+                                  const QSymbianFontDatabaseExtrasImplementation *dbExtras)
+{    
+    TTypefaceSupport typefaceSupport;
+        S60->screenDevice()->TypefaceSupport(typefaceSupport, screenDeviceFontIndex);
+    CFont *font; // We have to get a font instance in order to know all the details
+    TFontSpec fontSpec(typefaceSupport.iTypeface.iName, 11);
+    if (S60->screenDevice()->GetNearestFontInPixels(font, fontSpec) != KErrNone)
+        return false;
+    QScopedPointer<CFont, QSymbianFontDatabaseExtrasImplementation::CFontFromScreenDeviceReleaser> sFont(font);
+    if (font->TypeUid() != KCFbsFontUid)
+        return false;
+    TOpenFontFaceAttrib faceAttrib;
+    const CFbsFont *cfbsFont = static_cast<const CFbsFont *>(font);
+    cfbsFont->GetFaceAttrib(faceAttrib);
+
+    QtFontStyle::Key styleKey;
+    styleKey.style = faceAttrib.IsItalic()?QFont::StyleItalic:QFont::StyleNormal;
+    styleKey.weight = faceAttrib.IsBold()?QFont::Bold:QFont::Normal;
+
+    QString familyName((const QChar *)typefaceSupport.iTypeface.iName.Ptr(), typefaceSupport.iTypeface.iName.Length());
+    QtFontFamily *family = privateDb()->family(familyName, true);
+    family->fixedPitch = faceAttrib.IsMonoWidth();
+    QtFontFoundry *foundry = family->foundry(QString(), true);
+    QtFontStyle *style = foundry->style(styleKey, true);
+    style->smoothScalable = typefaceSupport.iIsScalable;
+    style->pixelSize(0, true);
+
+    const QSymbianTypeFaceExtras *typeFaceExtras =
+            dbExtras->extras(familyName, faceAttrib.IsBold(), faceAttrib.IsItalic());
+    const QByteArray os2Table = typeFaceExtras->getSfntTable(MAKE_TAG('O', 'S', '/', '2'));
+    const unsigned char* data = reinterpret_cast<const unsigned char*>(os2Table.constData());
+    const unsigned char* ulUnicodeRange = data + 42;
+    quint32 unicodeRange[4] = {
+        qFromBigEndian<quint32>(ulUnicodeRange),
+        qFromBigEndian<quint32>(ulUnicodeRange + 4),
+        qFromBigEndian<quint32>(ulUnicodeRange + 8),
+        qFromBigEndian<quint32>(ulUnicodeRange + 12)
+    };
+    const unsigned char* ulCodePageRange = data + 78;
+    quint32 codePageRange[2] = {
+        qFromBigEndian<quint32>(ulCodePageRange),
+        qFromBigEndian<quint32>(ulCodePageRange + 4)
+    };
+    const QList<QFontDatabase::WritingSystem> writingSystems =
+        determineWritingSystemsFromTrueTypeBits(unicodeRange, codePageRange);
+    foreach (const QFontDatabase::WritingSystem system, writingSystems)
+        family->writingSystems[system] = QtFontFamily::Supported;
+    return true;
+}
+
 static void initializeDb()
 {
     QFontDatabasePrivate *db = privateDb();
@@ -346,59 +397,9 @@ static void initializeDb()
     const int numTypeFaces = S60->screenDevice()->NumTypefaces();
     const QSymbianFontDatabaseExtrasImplementation *dbExtras =
             static_cast<const QSymbianFontDatabaseExtrasImplementation*>(db->symbianExtras);
-    bool fontAdded = false;
-    for (int i = 0; i < numTypeFaces; i++) {
-        TTypefaceSupport typefaceSupport;
-        S60->screenDevice()->TypefaceSupport(typefaceSupport, i);
-        CFont *font; // We have to get a font instance in order to know all the details
-        TFontSpec fontSpec(typefaceSupport.iTypeface.iName, 11);
-        if (S60->screenDevice()->GetNearestFontInPixels(font, fontSpec) != KErrNone)
-            continue;
-        QScopedPointer<CFont, QSymbianFontDatabaseExtrasImplementation::CFontFromScreenDeviceReleaser> sFont(font);
-        if (font->TypeUid() == KCFbsFontUid) {
-            TOpenFontFaceAttrib faceAttrib;
-            const CFbsFont *cfbsFont = static_cast<const CFbsFont *>(font);
-            cfbsFont->GetFaceAttrib(faceAttrib);
-
-            QtFontStyle::Key styleKey;
-            styleKey.style = faceAttrib.IsItalic()?QFont::StyleItalic:QFont::StyleNormal;
-            styleKey.weight = faceAttrib.IsBold()?QFont::Bold:QFont::Normal;
-
-            QString familyName((const QChar *)typefaceSupport.iTypeface.iName.Ptr(), typefaceSupport.iTypeface.iName.Length());
-            QtFontFamily *family = db->family(familyName, true);
-            family->fixedPitch = faceAttrib.IsMonoWidth();
-            QtFontFoundry *foundry = family->foundry(QString(), true);
-            QtFontStyle *style = foundry->style(styleKey, true);
-            style->smoothScalable = typefaceSupport.iIsScalable;
-            style->pixelSize(0, true);
-
-            const QSymbianTypeFaceExtras *typeFaceExtras =
-                    dbExtras->extras(familyName, faceAttrib.IsBold(), faceAttrib.IsItalic());
-            const QByteArray os2Table = typeFaceExtras->getSfntTable(MAKE_TAG('O', 'S', '/', '2'));
-            const unsigned char* data = reinterpret_cast<const unsigned char*>(os2Table.constData());
-            const unsigned char* ulUnicodeRange = data + 42;
-            quint32 unicodeRange[4] = {
-                qFromBigEndian<quint32>(ulUnicodeRange),
-                qFromBigEndian<quint32>(ulUnicodeRange + 4),
-                qFromBigEndian<quint32>(ulUnicodeRange + 8),
-                qFromBigEndian<quint32>(ulUnicodeRange + 12)
-            };
-            const unsigned char* ulCodePageRange = data + 78;
-            quint32 codePageRange[2] = {
-                qFromBigEndian<quint32>(ulCodePageRange),
-                qFromBigEndian<quint32>(ulCodePageRange + 4)
-            };
-            const QList<QFontDatabase::WritingSystem> writingSystems =
-                determineWritingSystemsFromTrueTypeBits(unicodeRange, codePageRange);
-            foreach (const QFontDatabase::WritingSystem system, writingSystems)
-                family->writingSystems[system] = QtFontFamily::Supported;
-
-            fontAdded = true;
-        }
-    }
+    for (int i = 0; i < numTypeFaces; i++)
+        addFontToScreenDevice(i, dbExtras);
 
-    Q_ASSERT(fontAdded);
-    
     lock.relock();
 
 #else // QT_NO_FREETYPE
-- 
cgit v0.12


From 969c3c13217bc5eb98c77f1674269bed1cc102e2 Mon Sep 17 00:00:00 2001
From: Joona Petrell <joona.t.petrell@nokia.com>
Date: Wed, 8 Sep 2010 17:32:12 +1000
Subject: Recreate Qt 4.7.0 def files over Qt 4.6.3

Task-number:
Reviewed-by: Martin Jones
---
 src/s60installs/bwins/QtDeclarativeu.def | 3038 +++++++++++++++---------------
 src/s60installs/bwins/QtGuiu.def         |  557 +++---
 src/s60installs/bwins/QtMultimediau.def  |   12 +-
 src/s60installs/bwins/QtNetworku.def     |  232 +--
 src/s60installs/bwins/QtOpenVGu.def      |    4 +
 src/s60installs/bwins/QtScriptu.def      |   64 +-
 src/s60installs/bwins/QtTestu.def        |    4 +-
 src/s60installs/bwins/phononu.def        |  106 +-
 src/s60installs/eabi/QtCoreu.def         |   88 +-
 src/s60installs/eabi/QtDeclarativeu.def  | 2642 +++++++++++++-------------
 src/s60installs/eabi/QtGuiu.def          |  543 +++---
 src/s60installs/eabi/QtNetworku.def      |  319 ++--
 src/s60installs/eabi/QtOpenVGu.def       |    4 +
 src/s60installs/eabi/QtScriptu.def       |   88 +-
 14 files changed, 3810 insertions(+), 3891 deletions(-)

diff --git a/src/s60installs/bwins/QtDeclarativeu.def b/src/s60installs/bwins/QtDeclarativeu.def
index bc6d0aa..50c948a 100644
--- a/src/s60installs/bwins/QtDeclarativeu.def
+++ b/src/s60installs/bwins/QtDeclarativeu.def
@@ -10,248 +10,248 @@ EXPORTS
 	??6QDeclarativeInfo@@QAEAAV0@_J@Z @ 9 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(long long)
 	?propertyOffset@QDeclarativeOpenMetaObjectType@@QBEHXZ @ 10 NONAME ; int QDeclarativeOpenMetaObjectType::propertyOffset(void) const
 	??0QDeclarativeText@@QAE@PAVQDeclarativeItem@@@Z @ 11 NONAME ; QDeclarativeText::QDeclarativeText(class QDeclarativeItem *)
-	?trUtf8@QDeclarativePixmapReply@@SA?AVQString@@PBD0H@Z @ 12 NONAME ABSENT ; class QString QDeclarativePixmapReply::trUtf8(char const *, char const *, int)
-	?propertyTypeName@QDeclarativeProperty@@QBEPBDXZ @ 13 NONAME ; char const * QDeclarativeProperty::propertyTypeName(void) const
-	?wantsFocusChanged@QDeclarativeItem@@IAEX_N@Z @ 14 NONAME ABSENT ; void QDeclarativeItem::wantsFocusChanged(bool)
-	?getStaticMetaObject@QDeclarativeDebugService@@SAABUQMetaObject@@XZ @ 15 NONAME ; struct QMetaObject const & QDeclarativeDebugService::getStaticMetaObject(void)
-	?setLeft@QDeclarativeAnchors@@QAEXABVQDeclarativeAnchorLine@@@Z @ 16 NONAME ; void QDeclarativeAnchors::setLeft(class QDeclarativeAnchorLine const &)
-	?qt_metacall@QDeclarativeExpression@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 17 NONAME ; int QDeclarativeExpression::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?staticMetaObject@QDeclarativePen@@2UQMetaObject@@B @ 18 NONAME ; struct QMetaObject const QDeclarativePen::staticMetaObject
-	?transformOriginChanged@QDeclarativeItem@@IAEXW4TransformOrigin@1@@Z @ 19 NONAME ; void QDeclarativeItem::transformOriginChanged(enum QDeclarativeItem::TransformOrigin)
-	?isStored@QMetaPropertyBuilder@@QBE_NXZ @ 20 NONAME ; bool QMetaPropertyBuilder::isStored(void) const
-	?elapsed@QDeclarativeItemPrivate@@SA_JAAVQElapsedTimer@@@Z @ 21 NONAME ; long long QDeclarativeItemPrivate::elapsed(class QElapsedTimer &)
-	?clearComponentCache@QDeclarativeEngine@@QAEXXZ @ 22 NONAME ; void QDeclarativeEngine::clearComponentCache(void)
-	?tr@QDeclarativeDebugObjectExpressionWatch@@SA?AVQString@@PBD0H@Z @ 23 NONAME ; class QString QDeclarativeDebugObjectExpressionWatch::tr(char const *, char const *, int)
-	??_EQDeclarativePixmapReply@@UAE@I@Z @ 24 NONAME ABSENT ; QDeclarativePixmapReply::~QDeclarativePixmapReply(unsigned int)
-	??1QDeclarativeParserStatus@@UAE@XZ @ 25 NONAME ; QDeclarativeParserStatus::~QDeclarativeParserStatus(void)
-	?gradient@QDeclarativeRectangle@@QBEPAVQDeclarativeGradient@@XZ @ 26 NONAME ; class QDeclarativeGradient * QDeclarativeRectangle::gradient(void) const
-	?setReadable@QMetaPropertyBuilder@@QAEX_N@Z @ 27 NONAME ; void QMetaPropertyBuilder::setReadable(bool)
-	?d_func@QDeclarativeExpression@@AAEPAVQDeclarativeExpressionPrivate@@XZ @ 28 NONAME ; class QDeclarativeExpressionPrivate * QDeclarativeExpression::d_func(void)
-	??1QDeclarativeDomValueValueSource@@QAE@XZ @ 29 NONAME ; QDeclarativeDomValueValueSource::~QDeclarativeDomValueValueSource(void)
-	??_EQDeclarativeStateGroup@@UAE@I@Z @ 30 NONAME ; QDeclarativeStateGroup::~QDeclarativeStateGroup(unsigned int)
-	?property@QDeclarativeDomObject@@QBE?AVQDeclarativeDomProperty@@ABVQByteArray@@@Z @ 31 NONAME ; class QDeclarativeDomProperty QDeclarativeDomObject::property(class QByteArray const &) const
-	?tr@QDeclarativeAnchors@@SA?AVQString@@PBD0H@Z @ 32 NONAME ; class QString QDeclarativeAnchors::tr(char const *, char const *, int)
-	?location@QDeclarativeCustomParserNode@@QBE?AULocation@QDeclarativeParser@@XZ @ 33 NONAME ; struct QDeclarativeParser::Location QDeclarativeCustomParserNode::location(void) const
-	??0QDeclarativeComponent@@QAE@PAVQDeclarativeEngine@@ABVQString@@PAVQObject@@@Z @ 34 NONAME ; QDeclarativeComponent::QDeclarativeComponent(class QDeclarativeEngine *, class QString const &, class QObject *)
-	?d_func@QDeclarativeContext@@AAEPAVQDeclarativeContextPrivate@@XZ @ 35 NONAME ; class QDeclarativeContextPrivate * QDeclarativeContext::d_func(void)
-	?resetLeft@QDeclarativeAnchors@@QAEXXZ @ 36 NONAME ; void QDeclarativeAnchors::resetLeft(void)
-	?staticMetaObject@QDeclarativePixmapReply@@2UQMetaObject@@B @ 37 NONAME ABSENT ; struct QMetaObject const QDeclarativePixmapReply::staticMetaObject
-	?setOfflineStoragePath@QDeclarativeEngine@@QAEXABVQString@@@Z @ 38 NONAME ; void QDeclarativeEngine::setOfflineStoragePath(class QString const &)
-	?getStaticMetaObject@QListModelInterface@@SAABUQMetaObject@@XZ @ 39 NONAME ; struct QMetaObject const & QListModelInterface::getStaticMetaObject(void)
-	?tr@QDeclarativeEngine@@SA?AVQString@@PBD0H@Z @ 40 NONAME ; class QString QDeclarativeEngine::tr(char const *, char const *, int)
-	??0QDeclarativeEngine@@QAE@PAVQObject@@@Z @ 41 NONAME ; QDeclarativeEngine::QDeclarativeEngine(class QObject *)
-	??0QDeclarativeDebugObjectReference@@QAE@ABV0@@Z @ 42 NONAME ; QDeclarativeDebugObjectReference::QDeclarativeDebugObjectReference(class QDeclarativeDebugObjectReference const &)
-	?set@QDeclarativeListModel@@QAEXHABVQScriptValue@@@Z @ 43 NONAME ; void QDeclarativeListModel::set(int, class QScriptValue const &)
-	?tr@QDeclarativeState@@SA?AVQString@@PBD0H@Z @ 44 NONAME ; class QString QDeclarativeState::tr(char const *, char const *, int)
-	?metaObject@QDeclarativeBinding@@UBEPBUQMetaObject@@XZ @ 45 NONAME ; struct QMetaObject const * QDeclarativeBinding::metaObject(void) const
-	?setUser@QMetaPropertyBuilder@@QAEX_N@Z @ 46 NONAME ; void QMetaPropertyBuilder::setUser(bool)
-	?tr@QDeclarativeDebugRootContextQuery@@SA?AVQString@@PBD0@Z @ 47 NONAME ; class QString QDeclarativeDebugRootContextQuery::tr(char const *, char const *)
-	?setHorizontalCenterOffset@QDeclarativeAnchors@@QAEXM@Z @ 48 NONAME ; void QDeclarativeAnchors::setHorizontalCenterOffset(float)
-	??0QDeclarativeProperty@@QAE@XZ @ 49 NONAME ; QDeclarativeProperty::QDeclarativeProperty(void)
-	?valueType@QDeclarativeValueTypeFactory@@SAPAVQDeclarativeValueType@@H@Z @ 50 NONAME ; class QDeclarativeValueType * QDeclarativeValueTypeFactory::valueType(int)
-	??1QDeclarativeText@@UAE@XZ @ 51 NONAME ; QDeclarativeText::~QDeclarativeText(void)
-	?getStaticMetaObject@QDeclarativeText@@SAABUQMetaObject@@XZ @ 52 NONAME ; struct QMetaObject const & QDeclarativeText::getStaticMetaObject(void)
-	?isDesignable@QMetaPropertyBuilder@@QBE_NXZ @ 53 NONAME ; bool QMetaPropertyBuilder::isDesignable(void) const
-	?tr@QDeclarativeStateGroup@@SA?AVQString@@PBD0H@Z @ 54 NONAME ; class QString QDeclarativeStateGroup::tr(char const *, char const *, int)
-	?errors@QDeclarativeView@@QBE?AV?$QList@VQDeclarativeError@@@@XZ @ 55 NONAME ; class QList<class QDeclarativeError> QDeclarativeView::errors(void) const
-	??0QPacket@@QAE@ABV0@@Z @ 56 NONAME ; QPacket::QPacket(class QPacket const &)
-	??1QDeclarativeDebugObjectExpressionWatch@@UAE@XZ @ 57 NONAME ; QDeclarativeDebugObjectExpressionWatch::~QDeclarativeDebugObjectExpressionWatch(void)
-	?bottom@QDeclarativeAnchors@@QBE?AVQDeclarativeAnchorLine@@XZ @ 58 NONAME ; class QDeclarativeAnchorLine QDeclarativeAnchors::bottom(void) const
-	??_EQDeclarativeDebugObjectQuery@@UAE@I@Z @ 59 NONAME ; QDeclarativeDebugObjectQuery::~QDeclarativeDebugObjectQuery(unsigned int)
-	??0QDeclarativeDomObject@@QAE@XZ @ 60 NONAME ; QDeclarativeDomObject::QDeclarativeDomObject(void)
-	?errors@QDeclarativeDomDocument@@QBE?AV?$QList@VQDeclarativeError@@@@XZ @ 61 NONAME ; class QList<class QDeclarativeError> QDeclarativeDomDocument::errors(void) const
-	?toChanged@QDeclarativeTransition@@IAEXXZ @ 62 NONAME ; void QDeclarativeTransition::toChanged(void)
-	?registerAutoParentFunction@QDeclarativePrivate@@YAHP6A?AW4AutoParentResult@1@PAVQObject@@0@Z@Z @ 63 NONAME ABSENT ; int QDeclarativePrivate::registerAutoParentFunction(enum QDeclarativePrivate::AutoParentResult (*)(class QObject *, class QObject *))
-	?objectOwnership@QDeclarativeEngine@@SA?AW4ObjectOwnership@1@PAVQObject@@@Z @ 64 NONAME ; enum QDeclarativeEngine::ObjectOwnership QDeclarativeEngine::objectOwnership(class QObject *)
-	??0QDeclarativeDebugWatch@@QAE@PAVQObject@@@Z @ 65 NONAME ; QDeclarativeDebugWatch::QDeclarativeDebugWatch(class QObject *)
-	?value@QDeclarativePropertyMap@@QBE?AVQVariant@@ABVQString@@@Z @ 66 NONAME ; class QVariant QDeclarativePropertyMap::value(class QString const &) const
-	?trUtf8@QDeclarativePropertyMap@@SA?AVQString@@PBD0@Z @ 67 NONAME ; class QString QDeclarativePropertyMap::trUtf8(char const *, char const *)
-	?isWaiting@QDeclarativeDebugQuery@@QBE_NXZ @ 68 NONAME ; bool QDeclarativeDebugQuery::isWaiting(void) const
-	??1Variant@QDeclarativeParser@@QAE@XZ @ 69 NONAME ; QDeclarativeParser::Variant::~Variant(void)
-	??0Variant@QDeclarativeParser@@QAE@ABVQString@@@Z @ 70 NONAME ; QDeclarativeParser::Variant::Variant(class QString const &)
-	?paintedSizeChanged@QDeclarativeText@@IAEXXZ @ 71 NONAME ; void QDeclarativeText::paintedSizeChanged(void)
-	??1QDeclarativeDebugClient@@UAE@XZ @ 72 NONAME ; QDeclarativeDebugClient::~QDeclarativeDebugClient(void)
-	?trUtf8@QPacketProtocol@@SA?AVQString@@PBD0@Z @ 73 NONAME ; class QString QPacketProtocol::trUtf8(char const *, char const *)
-	?trUtf8@QDeclarativeListModel@@SA?AVQString@@PBD0@Z @ 74 NONAME ; class QString QDeclarativeListModel::trUtf8(char const *, char const *)
-	?qt_metacast@QDeclarativeState@@UAEPAXPBD@Z @ 75 NONAME ; void * QDeclarativeState::qt_metacast(char const *)
-	??1QDeclarativeDebugContextReference@@QAE@XZ @ 76 NONAME ; QDeclarativeDebugContextReference::~QDeclarativeDebugContextReference(void)
-	?getStaticMetaObject@QDeclarativeStateOperation@@SAABUQMetaObject@@XZ @ 77 NONAME ; struct QMetaObject const & QDeclarativeStateOperation::getStaticMetaObject(void)
-	?isInvalid@QDeclarativeDomValue@@QBE_NXZ @ 78 NONAME ; bool QDeclarativeDomValue::isInvalid(void) const
-	?trUtf8@QDeclarativeText@@SA?AVQString@@PBD0H@Z @ 79 NONAME ; class QString QDeclarativeText::trUtf8(char const *, char const *, int)
-	??0QDeclarativeListReference@@QAE@ABV0@@Z @ 80 NONAME ; QDeclarativeListReference::QDeclarativeListReference(class QDeclarativeListReference const &)
-	?registerType@QDeclarativePrivate@@YAHABURegisterInterface@1@@Z @ 81 NONAME ABSENT ; int QDeclarativePrivate::registerType(struct QDeclarativePrivate::RegisterInterface const &)
-	?classBegin@QDeclarativeItem@@MAEXXZ @ 82 NONAME ; void QDeclarativeItem::classBegin(void)
-	?setTransformOrigin@QDeclarativeItem@@QAEXW4TransformOrigin@1@@Z @ 83 NONAME ; void QDeclarativeItem::setTransformOrigin(enum QDeclarativeItem::TransformOrigin)
-	?request@QDeclarativePixmapCache@@SAPAVQDeclarativePixmapReply@@PAVQDeclarativeEngine@@ABVQUrl@@HH@Z @ 84 NONAME ABSENT ; class QDeclarativePixmapReply * QDeclarativePixmapCache::request(class QDeclarativeEngine *, class QUrl const &, int, int)
-	?event@QDeclarativeItem@@MAE_NPAVQEvent@@@Z @ 85 NONAME ; bool QDeclarativeItem::event(class QEvent *)
-	?setAttributes@QMetaMethodBuilder@@QAEXH@Z @ 86 NONAME ; void QMetaMethodBuilder::setAttributes(int)
-	??_EQDeclarativeDebugObjectReference@@QAE@I@Z @ 87 NONAME ; QDeclarativeDebugObjectReference::~QDeclarativeDebugObjectReference(unsigned int)
-	?qt_metacall@QDeclarativeDebugQuery@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 88 NONAME ; int QDeclarativeDebugQuery::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?findState@QDeclarativeStateGroup@@QBEPAVQDeclarativeState@@ABVQString@@@Z @ 89 NONAME ; class QDeclarativeState * QDeclarativeStateGroup::findState(class QString const &) const
-	?asScript@Variant@QDeclarativeParser@@QBE?AVQString@@XZ @ 90 NONAME ; class QString QDeclarativeParser::Variant::asScript(void) const
-	?qt_metacast@QDeclarativeExtensionPlugin@@UAEPAXPBD@Z @ 91 NONAME ; void * QDeclarativeExtensionPlugin::qt_metacast(char const *)
-	?objectId@QDeclarativeDomObject@@QBE?AVQString@@XZ @ 92 NONAME ; class QString QDeclarativeDomObject::objectId(void) const
-	?right@QDeclarativeAnchors@@QBE?AVQDeclarativeAnchorLine@@XZ @ 93 NONAME ; class QDeclarativeAnchorLine QDeclarativeAnchors::right(void) const
-	?removeFromObject@QDeclarativeAbstractBinding@@QAEXXZ @ 94 NONAME ; void QDeclarativeAbstractBinding::removeFromObject(void)
-	?resizeMode@QDeclarativeView@@QBE?AW4ResizeMode@1@XZ @ 95 NONAME ; enum QDeclarativeView::ResizeMode QDeclarativeView::resizeMode(void) const
-	?object@QDeclarativeOpenMetaObject@@QBEPAVQObject@@XZ @ 96 NONAME ; class QObject * QDeclarativeOpenMetaObject::object(void) const
-	?staticMetaObject@QDeclarativeBehavior@@2UQMetaObject@@B @ 97 NONAME ; struct QMetaObject const QDeclarativeBehavior::staticMetaObject
-	?toObject@QDeclarativeDomValue@@QBE?AVQDeclarativeDomObject@@XZ @ 98 NONAME ; class QDeclarativeDomObject QDeclarativeDomValue::toObject(void) const
-	?setLine@QDeclarativeError@@QAEXH@Z @ 99 NONAME ; void QDeclarativeError::setLine(int)
-	??6QDeclarativeInfo@@QAEAAV0@K@Z @ 100 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(unsigned long)
-	??0QDeclarativeDebugConnection@@QAE@PAVQObject@@@Z @ 101 NONAME ; QDeclarativeDebugConnection::QDeclarativeDebugConnection(class QObject *)
-	?qt_metacast@QDeclarativeDebugQuery@@UAEPAXPBD@Z @ 102 NONAME ; void * QDeclarativeDebugQuery::qt_metacast(char const *)
-	?isValid@QDeclarativeGridScaledImage@@QBE_NXZ @ 103 NONAME ; bool QDeclarativeGridScaledImage::isValid(void) const
-	?qt_metacast@QDeclarativeContext@@UAEPAXPBD@Z @ 104 NONAME ; void * QDeclarativeContext::qt_metacast(char const *)
-	?metaObject@QDeclarativeDebugClient@@UBEPBUQMetaObject@@XZ @ 105 NONAME ; struct QMetaObject const * QDeclarativeDebugClient::metaObject(void) const
-	?transitions@QDeclarativeItemPrivate@@QAE?AV?$QDeclarativeListProperty@VQDeclarativeTransition@@@@XZ @ 106 NONAME ; class QDeclarativeListProperty<class QDeclarativeTransition> QDeclarativeItemPrivate::transitions(void)
-	??0QDeclarativeDebugPropertyWatch@@QAE@PAVQObject@@@Z @ 107 NONAME ; QDeclarativeDebugPropertyWatch::QDeclarativeDebugPropertyWatch(class QObject *)
-	??_EQDeclarativeDebugPropertyReference@@QAE@I@Z @ 108 NONAME ; QDeclarativeDebugPropertyReference::~QDeclarativeDebugPropertyReference(unsigned int)
-	?itemsChanged@QListModelInterface@@IAEXHHABV?$QList@H@@@Z @ 109 NONAME ; void QListModelInterface::itemsChanged(int, int, class QList<int> const &)
-	??6@YA?AVQDebug@@V0@PAVQDeclarativeItem@@@Z @ 110 NONAME ; class QDebug operator<<(class QDebug, class QDeclarativeItem *)
-	?write@QDeclarativePropertyPrivate@@SA_NABVQDeclarativeProperty@@ABVQVariant@@V?$QFlags@W4WriteFlag@QDeclarativePropertyPrivate@@@@@Z @ 111 NONAME ; bool QDeclarativePropertyPrivate::write(class QDeclarativeProperty const &, class QVariant const &, class QFlags<enum QDeclarativePropertyPrivate::WriteFlag>)
-	?verticalTileRule@QDeclarativeGridScaledImage@@QBE?AW4TileMode@QDeclarativeBorderImage@@XZ @ 112 NONAME ; enum QDeclarativeBorderImage::TileMode QDeclarativeGridScaledImage::verticalTileRule(void) const
-	?tr@QDeclarativeDebugObjectQuery@@SA?AVQString@@PBD0@Z @ 113 NONAME ; class QString QDeclarativeDebugObjectQuery::tr(char const *, char const *)
-	?isDynamic@QMetaPropertyBuilder@@QBE_NXZ @ 114 NONAME ; bool QMetaPropertyBuilder::isDynamic(void) const
-	?removeClassInfo@QMetaObjectBuilder@@QAEXH@Z @ 115 NONAME ; void QMetaObjectBuilder::removeClassInfo(int)
-	?warnings@QDeclarativeEngine@@IAEXABV?$QList@VQDeclarativeError@@@@@Z @ 116 NONAME ; void QDeclarativeEngine::warnings(class QList<class QDeclarativeError> const &)
-	?description@QDeclarativeError@@QBE?AVQString@@XZ @ 117 NONAME ; class QString QDeclarativeError::description(void) const
-	?binding@QDeclarativeDebugPropertyReference@@QBE?AVQString@@XZ @ 118 NONAME ; class QString QDeclarativeDebugPropertyReference::binding(void) const
-	?trUtf8@QDeclarativePen@@SA?AVQString@@PBD0@Z @ 119 NONAME ; class QString QDeclarativePen::trUtf8(char const *, char const *)
-	?readValueProperty@QDeclarativePropertyPrivate@@QAE?AVQVariant@@XZ @ 120 NONAME ; class QVariant QDeclarativePropertyPrivate::readValueProperty(void)
-	?propertyType@QDeclarativeDomDynamicProperty@@QBEHXZ @ 121 NONAME ; int QDeclarativeDomDynamicProperty::propertyType(void) const
-	?gridBottom@QDeclarativeGridScaledImage@@QBEHXZ @ 122 NONAME ; int QDeclarativeGridScaledImage::gridBottom(void) const
-	?setRadius@QDeclarativeRectangle@@QAEXM@Z @ 123 NONAME ; void QDeclarativeRectangle::setRadius(float)
-	?d_func@QDeclarativeBehavior@@AAEPAVQDeclarativeBehaviorPrivate@@XZ @ 124 NONAME ; class QDeclarativeBehaviorPrivate * QDeclarativeBehavior::d_func(void)
-	?isValid@QDeclarativePen@@QAE_NXZ @ 125 NONAME ; bool QDeclarativePen::isValid(void)
-	?result@QDeclarativeDebugExpressionQuery@@QBE?AVQVariant@@XZ @ 126 NONAME ; class QVariant QDeclarativeDebugExpressionQuery::result(void) const
-	?isEnumOrFlag@QMetaPropertyBuilder@@QBE_NXZ @ 127 NONAME ; bool QMetaPropertyBuilder::isEnumOrFlag(void) const
-	?addToObject@QDeclarativeAbstractBinding@@QAEXPAVQObject@@@Z @ 128 NONAME ; void QDeclarativeAbstractBinding::addToObject(class QObject *)
-	?trUtf8@QDeclarativeView@@SA?AVQString@@PBD0H@Z @ 129 NONAME ; class QString QDeclarativeView::trUtf8(char const *, char const *, int)
-	?d_func@QDeclarativeAnchors@@AAEPAVQDeclarativeAnchorsPrivate@@XZ @ 130 NONAME ; class QDeclarativeAnchorsPrivate * QDeclarativeAnchors::d_func(void)
-	??1QPacket@@UAE@XZ @ 131 NONAME ; QPacket::~QPacket(void)
-	?top@QDeclarativeScaleGrid@@QBEHXZ @ 132 NONAME ; int QDeclarativeScaleGrid::top(void) const
-	?setExpression@QDeclarativeExpression@@QAEXABVQString@@@Z @ 133 NONAME ; void QDeclarativeExpression::setExpression(class QString const &)
-	??1QDeclarativeDebugEngineReference@@QAE@XZ @ 134 NONAME ; QDeclarativeDebugEngineReference::~QDeclarativeDebugEngineReference(void)
-	??0QDeclarativeStateOperation@@QAE@PAVQObject@@@Z @ 135 NONAME ; QDeclarativeStateOperation::QDeclarativeStateOperation(class QObject *)
-	?transform_clear@QDeclarativeItemPrivate@@SAXPAV?$QDeclarativeListProperty@VQGraphicsTransform@@@@@Z @ 136 NONAME ; void QDeclarativeItemPrivate::transform_clear(class QDeclarativeListProperty<class QGraphicsTransform> *)
-	?staticMetaObject@QDeclarativeValueType@@2UQMetaObject@@B @ 137 NONAME ; struct QMetaObject const QDeclarativeValueType::staticMetaObject
-	?propertyName@QDeclarativeDomDynamicProperty@@QBE?AVQByteArray@@XZ @ 138 NONAME ; class QByteArray QDeclarativeDomDynamicProperty::propertyName(void) const
-	?getStaticMetaObject@QDeclarativePixmapReply@@SAABUQMetaObject@@XZ @ 139 NONAME ABSENT ; struct QMetaObject const & QDeclarativePixmapReply::getStaticMetaObject(void)
-	?focusChanged@QDeclarativeItem@@IAEX_N@Z @ 140 NONAME ; void QDeclarativeItem::focusChanged(bool)
-	?getStaticMetaObject@QDeclarativeBinding@@SAABUQMetaObject@@XZ @ 141 NONAME ; struct QMetaObject const & QDeclarativeBinding::getStaticMetaObject(void)
-	?copy@QDeclarativeMetaType@@SA_NHPAXPBX@Z @ 142 NONAME ; bool QDeclarativeMetaType::copy(int, void *, void const *)
-	?qt_metacall@QDeclarativeDebugEnginesQuery@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 143 NONAME ; int QDeclarativeDebugEnginesQuery::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?tr@QDeclarativeDebugWatch@@SA?AVQString@@PBD0@Z @ 144 NONAME ; class QString QDeclarativeDebugWatch::tr(char const *, char const *)
-	?setEnumOrFlag@QMetaPropertyBuilder@@QAEX_N@Z @ 145 NONAME ; void QMetaPropertyBuilder::setEnumOrFlag(bool)
-	?getStaticMetaObject@QDeclarativeRectangle@@SAABUQMetaObject@@XZ @ 146 NONAME ; struct QMetaObject const & QDeclarativeRectangle::getStaticMetaObject(void)
-	?isValid@QDeclarativeProperty@@QBE_NXZ @ 147 NONAME ; bool QDeclarativeProperty::isValid(void) const
-	?isConnected@QDeclarativeDebugClient@@QBE_NXZ @ 148 NONAME ; bool QDeclarativeDebugClient::isConnected(void) const
-	?enabled@QDeclarativeBinding@@QBE_NXZ @ 149 NONAME ; bool QDeclarativeBinding::enabled(void) const
-	?setSource@QDeclarativeView@@QAEXABVQUrl@@@Z @ 150 NONAME ; void QDeclarativeView::setSource(class QUrl const &)
-	??_EQDeclarativeDebugService@@UAE@I@Z @ 151 NONAME ; QDeclarativeDebugService::~QDeclarativeDebugService(unsigned int)
-	??0QDeclarativeDomDynamicProperty@@QAE@ABV0@@Z @ 152 NONAME ; QDeclarativeDomDynamicProperty::QDeclarativeDomDynamicProperty(class QDeclarativeDomDynamicProperty const &)
-	?className@QDeclarativeDebugObjectReference@@QBE?AVQString@@XZ @ 153 NONAME ; class QString QDeclarativeDebugObjectReference::className(void) const
-	?indexOfSlot@QMetaObjectBuilder@@QAEHABVQByteArray@@@Z @ 154 NONAME ; int QMetaObjectBuilder::indexOfSlot(class QByteArray const &)
-	?tr@QDeclarativeDebugConnection@@SA?AVQString@@PBD0H@Z @ 155 NONAME ; class QString QDeclarativeDebugConnection::tr(char const *, char const *, int)
-	?progressChanged@QDeclarativeComponent@@IAEXM@Z @ 156 NONAME ; void QDeclarativeComponent::progressChanged(float)
-	?hasError@QDeclarativeExpression@@QBE_NXZ @ 157 NONAME ; bool QDeclarativeExpression::hasError(void) const
-	?property@QMetaObjectBuilder@@QBE?AVQMetaPropertyBuilder@@H@Z @ 158 NONAME ; class QMetaPropertyBuilder QMetaObjectBuilder::property(int) const
-	?index@QDeclarativeType@@QBEHXZ @ 159 NONAME ; int QDeclarativeType::index(void) const
-	?tr@QDeclarativeRectangle@@SA?AVQString@@PBD0@Z @ 160 NONAME ; class QString QDeclarativeRectangle::tr(char const *, char const *)
-	?release@QDeclarativePixmapReply@@AAE_N_N@Z @ 161 NONAME ABSENT ; bool QDeclarativePixmapReply::release(bool)
-	??0QDeclarativeScaleGrid@@QAE@PAVQObject@@@Z @ 162 NONAME ; QDeclarativeScaleGrid::QDeclarativeScaleGrid(class QObject *)
-	?engines@QDeclarativeDebugEnginesQuery@@QBE?AV?$QList@VQDeclarativeDebugEngineReference@@@@XZ @ 163 NONAME ; class QList<class QDeclarativeDebugEngineReference> QDeclarativeDebugEnginesQuery::engines(void) const
-	?qt_metacall@QDeclarativeDebugPropertyWatch@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 164 NONAME ; int QDeclarativeDebugPropertyWatch::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?metaObject@QDeclarativeAnchors@@UBEPBUQMetaObject@@XZ @ 165 NONAME ; struct QMetaObject const * QDeclarativeAnchors::metaObject(void) const
-	?sceneResized@QDeclarativeView@@IAEXVQSize@@@Z @ 166 NONAME ; void QDeclarativeView::sceneResized(class QSize)
-	?subFocusItemChange@QDeclarativeItemPrivate@@UAEXXZ @ 167 NONAME ; void QDeclarativeItemPrivate::subFocusItemChange(void)
-	?hasNotifySignal@QDeclarativeDebugPropertyReference@@QBE_NXZ @ 168 NONAME ; bool QDeclarativeDebugPropertyReference::hasNotifySignal(void) const
-	?addSlot@QMetaObjectBuilder@@QAE?AVQMetaMethodBuilder@@ABVQByteArray@@@Z @ 169 NONAME ; class QMetaMethodBuilder QMetaObjectBuilder::addSlot(class QByteArray const &)
-	?trUtf8@QDeclarativeStateOperation@@SA?AVQString@@PBD0@Z @ 170 NONAME ; class QString QDeclarativeStateOperation::trUtf8(char const *, char const *)
-	?propertyCreated@QDeclarativeOpenMetaObjectType@@MAEXHAAVQMetaPropertyBuilder@@@Z @ 171 NONAME ; void QDeclarativeOpenMetaObjectType::propertyCreated(int, class QMetaPropertyBuilder &)
-	??1QDeclarativeItemPrivate@@UAE@XZ @ 172 NONAME ; QDeclarativeItemPrivate::~QDeclarativeItemPrivate(void)
-	?clear@QDeclarativePropertyMap@@QAEXABVQString@@@Z @ 173 NONAME ; void QDeclarativePropertyMap::clear(class QString const &)
-	?tr@QDeclarativeDebugClient@@SA?AVQString@@PBD0H@Z @ 174 NONAME ; class QString QDeclarativeDebugClient::tr(char const *, char const *, int)
-	?read@QDeclarativeProperty@@SA?AVQVariant@@PAVQObject@@ABVQString@@PAVQDeclarativeEngine@@@Z @ 175 NONAME ; class QVariant QDeclarativeProperty::read(class QObject *, class QString const &, class QDeclarativeEngine *)
-	?insert@QDeclarativePropertyMap@@QAEXABVQString@@ABVQVariant@@@Z @ 176 NONAME ; void QDeclarativePropertyMap::insert(class QString const &, class QVariant const &)
-	??1QDeclarativeContext@@UAE@XZ @ 177 NONAME ; QDeclarativeContext::~QDeclarativeContext(void)
-	?operationCount@QDeclarativeState@@QBEHXZ @ 178 NONAME ; int QDeclarativeState::operationCount(void) const
-	?getStaticMetaObject@QDeclarativeItem@@SAABUQMetaObject@@XZ @ 179 NONAME ; struct QMetaObject const & QDeclarativeItem::getStaticMetaObject(void)
-	?trUtf8@QDeclarativeBehavior@@SA?AVQString@@PBD0H@Z @ 180 NONAME ; class QString QDeclarativeBehavior::trUtf8(char const *, char const *, int)
-	?status@QDeclarativeComponent@@QBE?AW4Status@1@XZ @ 181 NONAME ; enum QDeclarativeComponent::Status QDeclarativeComponent::status(void) const
-	?boundingRect@QDeclarativeItem@@UBE?AVQRectF@@XZ @ 182 NONAME ; class QRectF QDeclarativeItem::boundingRect(void) const
-	?availableInVersion@QDeclarativeType@@QBE_NHH@Z @ 183 NONAME ; bool QDeclarativeType::availableInVersion(int, int) const
-	?getStaticMetaObject@QDeclarativeDebugWatch@@SAABUQMetaObject@@XZ @ 184 NONAME ; struct QMetaObject const & QDeclarativeDebugWatch::getStaticMetaObject(void)
-	??_EQDeclarativeRectangle@@UAE@I@Z @ 185 NONAME ; QDeclarativeRectangle::~QDeclarativeRectangle(unsigned int)
-	?setTopMargin@QDeclarativeAnchors@@QAEXM@Z @ 186 NONAME ; void QDeclarativeAnchors::setTopMargin(float)
-	??5@YAAAVQDataStream@@AAV0@AAUQDeclarativeObjectProperty@QDeclarativeEngineDebugServer@@@Z @ 187 NONAME ; class QDataStream & operator>>(class QDataStream &, struct QDeclarativeEngineDebugServer::QDeclarativeObjectProperty &)
-	??1QDeclarativeValueTypeFactory@@QAE@XZ @ 188 NONAME ; QDeclarativeValueTypeFactory::~QDeclarativeValueTypeFactory(void)
-	?metaObject@QDeclarativeDebugObjectExpressionWatch@@UBEPBUQMetaObject@@XZ @ 189 NONAME ; struct QMetaObject const * QDeclarativeDebugObjectExpressionWatch::metaObject(void) const
-	??0QDeclarativeComponent@@QAE@PAVQObject@@@Z @ 190 NONAME ; QDeclarativeComponent::QDeclarativeComponent(class QObject *)
-	?qt_metacast@QDeclarativeItem@@UAEPAXPBD@Z @ 191 NONAME ; void * QDeclarativeItem::qt_metacast(char const *)
-	?changes@QDeclarativeState@@QAE?AV?$QDeclarativeListProperty@VQDeclarativeStateOperation@@@@XZ @ 192 NONAME ; class QDeclarativeListProperty<class QDeclarativeStateOperation> QDeclarativeState::changes(void)
-	?resizeEvent@QDeclarativeView@@MAEXPAVQResizeEvent@@@Z @ 193 NONAME ; void QDeclarativeView::resizeEvent(class QResizeEvent *)
-	?d_func@QDeclarativeBinding@@ABEPBVQDeclarativeBindingPrivate@@XZ @ 194 NONAME ; class QDeclarativeBindingPrivate const * QDeclarativeBinding::d_func(void) const
-	?wrapMode@QDeclarativeText@@QBE?AW4WrapMode@1@XZ @ 195 NONAME ; enum QDeclarativeText::WrapMode QDeclarativeText::wrapMode(void) const
-	?centerIn@QDeclarativeAnchors@@QBEPAVQGraphicsObject@@XZ @ 196 NONAME ; class QGraphicsObject * QDeclarativeAnchors::centerIn(void) const
-	??0QDeclarativeType@@AAE@HABURegisterType@QDeclarativePrivate@@@Z @ 197 NONAME ; QDeclarativeType::QDeclarativeType(int, struct QDeclarativePrivate::RegisterType const &)
-	?trUtf8@QDeclarativeComponent@@SA?AVQString@@PBD0H@Z @ 198 NONAME ; class QString QDeclarativeComponent::trUtf8(char const *, char const *, int)
-	??0QMetaObjectBuilder@@QAE@PBUQMetaObject@@V?$QFlags@W4AddMember@QMetaObjectBuilder@@@@@Z @ 199 NONAME ; QMetaObjectBuilder::QMetaObjectBuilder(struct QMetaObject const *, class QFlags<enum QMetaObjectBuilder::AddMember>)
-	?quit@QDeclarativeEngine@@IAEXXZ @ 200 NONAME ; void QDeclarativeEngine::quit(void)
-	??0QMetaEnumBuilder@@AAE@PBVQMetaObjectBuilder@@H@Z @ 201 NONAME ; QMetaEnumBuilder::QMetaEnumBuilder(class QMetaObjectBuilder const *, int)
-	?setBottom@QDeclarativeAnchors@@QAEXABVQDeclarativeAnchorLine@@@Z @ 202 NONAME ; void QDeclarativeAnchors::setBottom(class QDeclarativeAnchorLine const &)
-	??0QDeclarativeCustomParser@@QAE@XZ @ 203 NONAME ; QDeclarativeCustomParser::QDeclarativeCustomParser(void)
-	?value@QDeclarativeOpenMetaObject@@QBE?AVQVariant@@ABVQByteArray@@@Z @ 204 NONAME ; class QVariant QDeclarativeOpenMetaObject::value(class QByteArray const &) const
-	?styleColor@QDeclarativeText@@QBE?AVQColor@@XZ @ 205 NONAME ; class QColor QDeclarativeText::styleColor(void) const
-	?centerInChanged@QDeclarativeAnchors@@IAEXXZ @ 206 NONAME ; void QDeclarativeAnchors::centerInChanged(void)
-	?colorChanged@QDeclarativeRectangle@@IAEXXZ @ 207 NONAME ; void QDeclarativeRectangle::colorChanged(void)
-	??0QDeclarativePropertyPrivate@@QAE@ABV0@@Z @ 208 NONAME ; QDeclarativePropertyPrivate::QDeclarativePropertyPrivate(class QDeclarativePropertyPrivate const &)
-	?loadUrl@QDeclarativeComponent@@QAEXABVQUrl@@@Z @ 209 NONAME ; void QDeclarativeComponent::loadUrl(class QUrl const &)
-	?beginCreate@QDeclarativeComponent@@UAEPAVQObject@@PAVQDeclarativeContext@@@Z @ 210 NONAME ; class QObject * QDeclarativeComponent::beginCreate(class QDeclarativeContext *)
-	?setRight@QDeclarativeAnchors@@QAEXABVQDeclarativeAnchorLine@@@Z @ 211 NONAME ; void QDeclarativeAnchors::setRight(class QDeclarativeAnchorLine const &)
-	?needsNotifySignal@QDeclarativeProperty@@QBE_NXZ @ 212 NONAME ; bool QDeclarativeProperty::needsNotifySignal(void) const
-	?fill@QDeclarativeAnchors@@QBEPAVQGraphicsObject@@XZ @ 213 NONAME ; class QGraphicsObject * QDeclarativeAnchors::fill(void) const
-	?url@QDeclarativePixmapReply@@QBEABVQUrl@@XZ @ 214 NONAME ABSENT ; class QUrl const & QDeclarativePixmapReply::url(void) const
-	?top@QDeclarativeItemPrivate@@QBE?AVQDeclarativeAnchorLine@@XZ @ 215 NONAME ; class QDeclarativeAnchorLine QDeclarativeItemPrivate::top(void) const
-	?clear@QDeclarativeListReference@@QBE_NXZ @ 216 NONAME ; bool QDeclarativeListReference::clear(void) const
-	?parentChanged@QDeclarativeItem@@IAEXPAV1@@Z @ 217 NONAME ; void QDeclarativeItem::parentChanged(class QDeclarativeItem *)
-	?columnNumber@QDeclarativeDebugFileReference@@QBEHXZ @ 218 NONAME ; int QDeclarativeDebugFileReference::columnNumber(void) const
-	??0QDeclarativeListModel@@AAE@_NPAVQObject@@@Z @ 219 NONAME ; QDeclarativeListModel::QDeclarativeListModel(bool, class QObject *)
-	?apply@QDeclarativeState@@QAEXPAVQDeclarativeStateGroup@@PAVQDeclarativeTransition@@PAV1@@Z @ 220 NONAME ; void QDeclarativeState::apply(class QDeclarativeStateGroup *, class QDeclarativeTransition *, class QDeclarativeState *)
-	?isValid@QDeclarativeDomProperty@@QBE_NXZ @ 221 NONAME ; bool QDeclarativeDomProperty::isValid(void) const
-	?trUtf8@QDeclarativeDebugExpressionQuery@@SA?AVQString@@PBD0@Z @ 222 NONAME ; class QString QDeclarativeDebugExpressionQuery::trUtf8(char const *, char const *)
-	?statusChanged@QDeclarativeView@@IAEXW4Status@1@@Z @ 223 NONAME ; void QDeclarativeView::statusChanged(enum QDeclarativeView::Status)
-	?componentComplete@QDeclarativeText@@UAEXXZ @ 224 NONAME ; void QDeclarativeText::componentComplete(void)
-	?canCount@QDeclarativeListReference@@QBE_NXZ @ 225 NONAME ; bool QDeclarativeListReference::canCount(void) const
-	??1QListModelInterface@@UAE@XZ @ 226 NONAME ; QListModelInterface::~QListModelInterface(void)
-	??0QDeclarativeAnchors@@QAE@PAVQObject@@@Z @ 227 NONAME ; QDeclarativeAnchors::QDeclarativeAnchors(class QObject *)
-	?resources_at@QDeclarativeItemPrivate@@SAPAVQObject@@PAV?$QDeclarativeListProperty@VQObject@@@@H@Z @ 228 NONAME ; class QObject * QDeclarativeItemPrivate::resources_at(class QDeclarativeListProperty<class QObject> *, int)
-	?isExtendedType@QDeclarativeType@@QBE_NXZ @ 229 NONAME ; bool QDeclarativeType::isExtendedType(void) const
-	?top@QDeclarativeAnchors@@QBE?AVQDeclarativeAnchorLine@@XZ @ 230 NONAME ; class QDeclarativeAnchorLine QDeclarativeAnchors::top(void) const
-	??0QDeclarativePropertyMap@@QAE@PAVQObject@@@Z @ 231 NONAME ; QDeclarativePropertyMap::QDeclarativePropertyMap(class QObject *)
-	??0QDeclarativeExpression@@IAE@PAVQDeclarativeContextData@@PAXPAVQDeclarativeRefCount@@PAVQObject@@ABVQString@@HAAVQDeclarativeExpressionPrivate@@@Z @ 232 NONAME ; QDeclarativeExpression::QDeclarativeExpression(class QDeclarativeContextData *, void *, class QDeclarativeRefCount *, class QObject *, class QString const &, int, class QDeclarativeExpressionPrivate &)
-	?setColor@QDeclarativeText@@QAEXABVQColor@@@Z @ 233 NONAME ; void QDeclarativeText::setColor(class QColor const &)
-	?hasStdCppSet@QMetaPropertyBuilder@@QBE_NXZ @ 234 NONAME ; bool QMetaPropertyBuilder::hasStdCppSet(void) const
-	??0QDeclarativeDebugFileReference@@QAE@ABV0@@Z @ 235 NONAME ; QDeclarativeDebugFileReference::QDeclarativeDebugFileReference(class QDeclarativeDebugFileReference const &)
-	?toValueInterceptor@QDeclarativeDomValue@@QBE?AVQDeclarativeDomValueValueInterceptor@@XZ @ 236 NONAME ; class QDeclarativeDomValueValueInterceptor QDeclarativeDomValue::toValueInterceptor(void) const
-	??0QDeclarativeDebugEngineReference@@QAE@H@Z @ 237 NONAME ; QDeclarativeDebugEngineReference::QDeclarativeDebugEngineReference(int)
-	?state@QDeclarativeItemPrivate@@QBE?AVQString@@XZ @ 238 NONAME ; class QString QDeclarativeItemPrivate::state(void) const
-	??1QDeclarativePropertyValueInterceptor@@UAE@XZ @ 239 NONAME ; QDeclarativePropertyValueInterceptor::~QDeclarativePropertyValueInterceptor(void)
-	?getStaticMetaObject@QDeclarativePropertyMap@@SAABUQMetaObject@@XZ @ 240 NONAME ; struct QMetaObject const & QDeclarativePropertyMap::getStaticMetaObject(void)
-	??1QDeclarativeScaleGrid@@UAE@XZ @ 241 NONAME ; QDeclarativeScaleGrid::~QDeclarativeScaleGrid(void)
-	?idString@QDeclarativeDebugObjectReference@@QBE?AVQString@@XZ @ 242 NONAME ; class QString QDeclarativeDebugObjectReference::idString(void) const
-	?customTypeData@QDeclarativeDomObject@@QBE?AVQByteArray@@XZ @ 243 NONAME ; class QByteArray QDeclarativeDomObject::customTypeData(void) const
-	?stop@QDeclarativeTransition@@QAEXXZ @ 244 NONAME ; void QDeclarativeTransition::stop(void)
-	?data@QDeclarativeListModel@@UBE?AV?$QHash@HVQVariant@@@@HABV?$QList@H@@@Z @ 245 NONAME ; class QHash<int, class QVariant> QDeclarativeListModel::data(int, class QList<int> const &) const
-	?verticalCenterOffset@QDeclarativeAnchors@@QBEMXZ @ 246 NONAME ; float QDeclarativeAnchors::verticalCenterOffset(void) const
-	?metaObject@QDeclarativeText@@UBEPBUQMetaObject@@XZ @ 247 NONAME ; struct QMetaObject const * QDeclarativeText::metaObject(void) const
-	??0QDeclarativeComponent@@QAE@PAVQDeclarativeEngine@@PAVQObject@@@Z @ 248 NONAME ; QDeclarativeComponent::QDeclarativeComponent(class QDeclarativeEngine *, class QObject *)
-	?createProperty@QDeclarativeOpenMetaObjectType@@QAEHABVQByteArray@@@Z @ 249 NONAME ; int QDeclarativeOpenMetaObjectType::createProperty(class QByteArray const &)
-	??0QDeclarativeContext@@QAE@PAVQDeclarativeEngine@@PAVQObject@@@Z @ 250 NONAME ; QDeclarativeContext::QDeclarativeContext(class QDeclarativeEngine *, class QObject *)
-	??6QDeclarativeInfo@@QAEAAV0@M@Z @ 251 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(float)
-	??4QDeclarativeDomValueLiteral@@QAEAAV0@ABV0@@Z @ 252 NONAME ; class QDeclarativeDomValueLiteral & QDeclarativeDomValueLiteral::operator=(class QDeclarativeDomValueLiteral const &)
-	?setScript@QDeclarativeScriptString@@QAEXABVQString@@@Z @ 253 NONAME ; void QDeclarativeScriptString::setScript(class QString const &)
+	?propertyTypeName@QDeclarativeProperty@@QBEPBDXZ @ 12 NONAME ; char const * QDeclarativeProperty::propertyTypeName(void) const
+	?getStaticMetaObject@QDeclarativeDebugService@@SAABUQMetaObject@@XZ @ 13 NONAME ; struct QMetaObject const & QDeclarativeDebugService::getStaticMetaObject(void)
+	?setLeft@QDeclarativeAnchors@@QAEXABVQDeclarativeAnchorLine@@@Z @ 14 NONAME ; void QDeclarativeAnchors::setLeft(class QDeclarativeAnchorLine const &)
+	?qt_metacall@QDeclarativeExpression@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 15 NONAME ; int QDeclarativeExpression::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?staticMetaObject@QDeclarativePen@@2UQMetaObject@@B @ 16 NONAME ; struct QMetaObject const QDeclarativePen::staticMetaObject
+	?transformOriginChanged@QDeclarativeItem@@IAEXW4TransformOrigin@1@@Z @ 17 NONAME ; void QDeclarativeItem::transformOriginChanged(enum QDeclarativeItem::TransformOrigin)
+	?isStored@QMetaPropertyBuilder@@QBE_NXZ @ 18 NONAME ; bool QMetaPropertyBuilder::isStored(void) const
+	?elapsed@QDeclarativeItemPrivate@@SA_JAAVQElapsedTimer@@@Z @ 19 NONAME ; long long QDeclarativeItemPrivate::elapsed(class QElapsedTimer &)
+	?clearComponentCache@QDeclarativeEngine@@QAEXXZ @ 20 NONAME ; void QDeclarativeEngine::clearComponentCache(void)
+	?forceActiveFocus@QDeclarativeItem@@QAEXXZ @ 21 NONAME ; void QDeclarativeItem::forceActiveFocus(void)
+	?tr@QDeclarativeDebugObjectExpressionWatch@@SA?AVQString@@PBD0H@Z @ 22 NONAME ; class QString QDeclarativeDebugObjectExpressionWatch::tr(char const *, char const *, int)
+	??1QDeclarativeParserStatus@@UAE@XZ @ 23 NONAME ; QDeclarativeParserStatus::~QDeclarativeParserStatus(void)
+	?gradient@QDeclarativeRectangle@@QBEPAVQDeclarativeGradient@@XZ @ 24 NONAME ; class QDeclarativeGradient * QDeclarativeRectangle::gradient(void) const
+	?setReadable@QMetaPropertyBuilder@@QAEX_N@Z @ 25 NONAME ; void QMetaPropertyBuilder::setReadable(bool)
+	?d_func@QDeclarativeExpression@@AAEPAVQDeclarativeExpressionPrivate@@XZ @ 26 NONAME ; class QDeclarativeExpressionPrivate * QDeclarativeExpression::d_func(void)
+	??1QDeclarativeDomValueValueSource@@QAE@XZ @ 27 NONAME ; QDeclarativeDomValueValueSource::~QDeclarativeDomValueValueSource(void)
+	??_EQDeclarativeStateGroup@@UAE@I@Z @ 28 NONAME ; QDeclarativeStateGroup::~QDeclarativeStateGroup(unsigned int)
+	?property@QDeclarativeDomObject@@QBE?AVQDeclarativeDomProperty@@ABVQByteArray@@@Z @ 29 NONAME ; class QDeclarativeDomProperty QDeclarativeDomObject::property(class QByteArray const &) const
+	?tr@QDeclarativeAnchors@@SA?AVQString@@PBD0H@Z @ 30 NONAME ; class QString QDeclarativeAnchors::tr(char const *, char const *, int)
+	?location@QDeclarativeCustomParserNode@@QBE?AULocation@QDeclarativeParser@@XZ @ 31 NONAME ; struct QDeclarativeParser::Location QDeclarativeCustomParserNode::location(void) const
+	??0QDeclarativeComponent@@QAE@PAVQDeclarativeEngine@@ABVQString@@PAVQObject@@@Z @ 32 NONAME ; QDeclarativeComponent::QDeclarativeComponent(class QDeclarativeEngine *, class QString const &, class QObject *)
+	?d_func@QDeclarativeContext@@AAEPAVQDeclarativeContextPrivate@@XZ @ 33 NONAME ; class QDeclarativeContextPrivate * QDeclarativeContext::d_func(void)
+	?resetLeft@QDeclarativeAnchors@@QAEXXZ @ 34 NONAME ; void QDeclarativeAnchors::resetLeft(void)
+	?setOfflineStoragePath@QDeclarativeEngine@@QAEXABVQString@@@Z @ 35 NONAME ; void QDeclarativeEngine::setOfflineStoragePath(class QString const &)
+	?getStaticMetaObject@QListModelInterface@@SAABUQMetaObject@@XZ @ 36 NONAME ; struct QMetaObject const & QListModelInterface::getStaticMetaObject(void)
+	?tr@QDeclarativeEngine@@SA?AVQString@@PBD0H@Z @ 37 NONAME ; class QString QDeclarativeEngine::tr(char const *, char const *, int)
+	??0QDeclarativeEngine@@QAE@PAVQObject@@@Z @ 38 NONAME ; QDeclarativeEngine::QDeclarativeEngine(class QObject *)
+	??0QDeclarativeDebugObjectReference@@QAE@ABV0@@Z @ 39 NONAME ; QDeclarativeDebugObjectReference::QDeclarativeDebugObjectReference(class QDeclarativeDebugObjectReference const &)
+	?set@QDeclarativeListModel@@QAEXHABVQScriptValue@@@Z @ 40 NONAME ; void QDeclarativeListModel::set(int, class QScriptValue const &)
+	?tr@QDeclarativeState@@SA?AVQString@@PBD0H@Z @ 41 NONAME ; class QString QDeclarativeState::tr(char const *, char const *, int)
+	?metaObject@QDeclarativeBinding@@UBEPBUQMetaObject@@XZ @ 42 NONAME ; struct QMetaObject const * QDeclarativeBinding::metaObject(void) const
+	?setUser@QMetaPropertyBuilder@@QAEX_N@Z @ 43 NONAME ; void QMetaPropertyBuilder::setUser(bool)
+	?tr@QDeclarativeDebugRootContextQuery@@SA?AVQString@@PBD0@Z @ 44 NONAME ; class QString QDeclarativeDebugRootContextQuery::tr(char const *, char const *)
+	?setHorizontalCenterOffset@QDeclarativeAnchors@@QAEXM@Z @ 45 NONAME ; void QDeclarativeAnchors::setHorizontalCenterOffset(float)
+	?connectDownloadProgress@QDeclarativePixmap@@QAE_NPAVQObject@@H@Z @ 46 NONAME ; bool QDeclarativePixmap::connectDownloadProgress(class QObject *, int)
+	??0QDeclarativeProperty@@QAE@XZ @ 47 NONAME ; QDeclarativeProperty::QDeclarativeProperty(void)
+	?valueType@QDeclarativeValueTypeFactory@@SAPAVQDeclarativeValueType@@H@Z @ 48 NONAME ; class QDeclarativeValueType * QDeclarativeValueTypeFactory::valueType(int)
+	??1QDeclarativeText@@UAE@XZ @ 49 NONAME ; QDeclarativeText::~QDeclarativeText(void)
+	?getStaticMetaObject@QDeclarativeText@@SAABUQMetaObject@@XZ @ 50 NONAME ; struct QMetaObject const & QDeclarativeText::getStaticMetaObject(void)
+	?isDesignable@QMetaPropertyBuilder@@QBE_NXZ @ 51 NONAME ; bool QMetaPropertyBuilder::isDesignable(void) const
+	?tr@QDeclarativeStateGroup@@SA?AVQString@@PBD0H@Z @ 52 NONAME ; class QString QDeclarativeStateGroup::tr(char const *, char const *, int)
+	?errors@QDeclarativeView@@QBE?AV?$QList@VQDeclarativeError@@@@XZ @ 53 NONAME ; class QList<class QDeclarativeError> QDeclarativeView::errors(void) const
+	??0QPacket@@QAE@ABV0@@Z @ 54 NONAME ; QPacket::QPacket(class QPacket const &)
+	??1QDeclarativeDebugObjectExpressionWatch@@UAE@XZ @ 55 NONAME ; QDeclarativeDebugObjectExpressionWatch::~QDeclarativeDebugObjectExpressionWatch(void)
+	?status@QDeclarativePixmap@@QBE?AW4Status@1@XZ @ 56 NONAME ; enum QDeclarativePixmap::Status QDeclarativePixmap::status(void) const
+	?bottom@QDeclarativeAnchors@@QBE?AVQDeclarativeAnchorLine@@XZ @ 57 NONAME ; class QDeclarativeAnchorLine QDeclarativeAnchors::bottom(void) const
+	??_EQDeclarativeDebugObjectQuery@@UAE@I@Z @ 58 NONAME ; QDeclarativeDebugObjectQuery::~QDeclarativeDebugObjectQuery(unsigned int)
+	??0QDeclarativeDomObject@@QAE@XZ @ 59 NONAME ; QDeclarativeDomObject::QDeclarativeDomObject(void)
+	?errors@QDeclarativeDomDocument@@QBE?AV?$QList@VQDeclarativeError@@@@XZ @ 60 NONAME ; class QList<class QDeclarativeError> QDeclarativeDomDocument::errors(void) const
+	?toChanged@QDeclarativeTransition@@IAEXXZ @ 61 NONAME ; void QDeclarativeTransition::toChanged(void)
+	?objectOwnership@QDeclarativeEngine@@SA?AW4ObjectOwnership@1@PAVQObject@@@Z @ 62 NONAME ; enum QDeclarativeEngine::ObjectOwnership QDeclarativeEngine::objectOwnership(class QObject *)
+	??0QDeclarativeDebugWatch@@QAE@PAVQObject@@@Z @ 63 NONAME ; QDeclarativeDebugWatch::QDeclarativeDebugWatch(class QObject *)
+	?value@QDeclarativePropertyMap@@QBE?AVQVariant@@ABVQString@@@Z @ 64 NONAME ; class QVariant QDeclarativePropertyMap::value(class QString const &) const
+	?trUtf8@QDeclarativePropertyMap@@SA?AVQString@@PBD0@Z @ 65 NONAME ; class QString QDeclarativePropertyMap::trUtf8(char const *, char const *)
+	?isWaiting@QDeclarativeDebugQuery@@QBE_NXZ @ 66 NONAME ; bool QDeclarativeDebugQuery::isWaiting(void) const
+	??1Variant@QDeclarativeParser@@QAE@XZ @ 67 NONAME ; QDeclarativeParser::Variant::~Variant(void)
+	??0Variant@QDeclarativeParser@@QAE@ABVQString@@@Z @ 68 NONAME ; QDeclarativeParser::Variant::Variant(class QString const &)
+	?paintedSizeChanged@QDeclarativeText@@IAEXXZ @ 69 NONAME ; void QDeclarativeText::paintedSizeChanged(void)
+	??1QDeclarativeDebugClient@@UAE@XZ @ 70 NONAME ; QDeclarativeDebugClient::~QDeclarativeDebugClient(void)
+	?trUtf8@QPacketProtocol@@SA?AVQString@@PBD0@Z @ 71 NONAME ; class QString QPacketProtocol::trUtf8(char const *, char const *)
+	?trUtf8@QDeclarativeListModel@@SA?AVQString@@PBD0@Z @ 72 NONAME ; class QString QDeclarativeListModel::trUtf8(char const *, char const *)
+	?qt_metacast@QDeclarativeState@@UAEPAXPBD@Z @ 73 NONAME ; void * QDeclarativeState::qt_metacast(char const *)
+	??1QDeclarativeDebugContextReference@@QAE@XZ @ 74 NONAME ; QDeclarativeDebugContextReference::~QDeclarativeDebugContextReference(void)
+	?getStaticMetaObject@QDeclarativeStateOperation@@SAABUQMetaObject@@XZ @ 75 NONAME ; struct QMetaObject const & QDeclarativeStateOperation::getStaticMetaObject(void)
+	?isInvalid@QDeclarativeDomValue@@QBE_NXZ @ 76 NONAME ; bool QDeclarativeDomValue::isInvalid(void) const
+	?trUtf8@QDeclarativeText@@SA?AVQString@@PBD0H@Z @ 77 NONAME ; class QString QDeclarativeText::trUtf8(char const *, char const *, int)
+	??0QDeclarativeListReference@@QAE@ABV0@@Z @ 78 NONAME ; QDeclarativeListReference::QDeclarativeListReference(class QDeclarativeListReference const &)
+	?classBegin@QDeclarativeItem@@MAEXXZ @ 79 NONAME ; void QDeclarativeItem::classBegin(void)
+	?setTransformOrigin@QDeclarativeItem@@QAEXW4TransformOrigin@1@@Z @ 80 NONAME ; void QDeclarativeItem::setTransformOrigin(enum QDeclarativeItem::TransformOrigin)
+	?event@QDeclarativeItem@@MAE_NPAVQEvent@@@Z @ 81 NONAME ; bool QDeclarativeItem::event(class QEvent *)
+	?setAttributes@QMetaMethodBuilder@@QAEXH@Z @ 82 NONAME ; void QMetaMethodBuilder::setAttributes(int)
+	?imageType@QDeclarativeImageProvider@@QBE?AW4ImageType@1@XZ @ 83 NONAME ; enum QDeclarativeImageProvider::ImageType QDeclarativeImageProvider::imageType(void) const
+	??_EQDeclarativeDebugObjectReference@@QAE@I@Z @ 84 NONAME ; QDeclarativeDebugObjectReference::~QDeclarativeDebugObjectReference(unsigned int)
+	?qt_metacall@QDeclarativeDebugQuery@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 85 NONAME ; int QDeclarativeDebugQuery::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?findState@QDeclarativeStateGroup@@QBEPAVQDeclarativeState@@ABVQString@@@Z @ 86 NONAME ; class QDeclarativeState * QDeclarativeStateGroup::findState(class QString const &) const
+	?asScript@Variant@QDeclarativeParser@@QBE?AVQString@@XZ @ 87 NONAME ; class QString QDeclarativeParser::Variant::asScript(void) const
+	?qt_metacast@QDeclarativeExtensionPlugin@@UAEPAXPBD@Z @ 88 NONAME ; void * QDeclarativeExtensionPlugin::qt_metacast(char const *)
+	?objectId@QDeclarativeDomObject@@QBE?AVQString@@XZ @ 89 NONAME ; class QString QDeclarativeDomObject::objectId(void) const
+	?right@QDeclarativeAnchors@@QBE?AVQDeclarativeAnchorLine@@XZ @ 90 NONAME ; class QDeclarativeAnchorLine QDeclarativeAnchors::right(void) const
+	?removeFromObject@QDeclarativeAbstractBinding@@QAEXXZ @ 91 NONAME ; void QDeclarativeAbstractBinding::removeFromObject(void)
+	?resizeMode@QDeclarativeView@@QBE?AW4ResizeMode@1@XZ @ 92 NONAME ; enum QDeclarativeView::ResizeMode QDeclarativeView::resizeMode(void) const
+	?object@QDeclarativeOpenMetaObject@@QBEPAVQObject@@XZ @ 93 NONAME ; class QObject * QDeclarativeOpenMetaObject::object(void) const
+	?staticMetaObject@QDeclarativeBehavior@@2UQMetaObject@@B @ 94 NONAME ; struct QMetaObject const QDeclarativeBehavior::staticMetaObject
+	?toObject@QDeclarativeDomValue@@QBE?AVQDeclarativeDomObject@@XZ @ 95 NONAME ; class QDeclarativeDomObject QDeclarativeDomValue::toObject(void) const
+	?setLine@QDeclarativeError@@QAEXH@Z @ 96 NONAME ; void QDeclarativeError::setLine(int)
+	??6QDeclarativeInfo@@QAEAAV0@K@Z @ 97 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(unsigned long)
+	??0QDeclarativeDebugConnection@@QAE@PAVQObject@@@Z @ 98 NONAME ; QDeclarativeDebugConnection::QDeclarativeDebugConnection(class QObject *)
+	?qt_metacast@QDeclarativeDebugQuery@@UAEPAXPBD@Z @ 99 NONAME ; void * QDeclarativeDebugQuery::qt_metacast(char const *)
+	?isValid@QDeclarativeGridScaledImage@@QBE_NXZ @ 100 NONAME ; bool QDeclarativeGridScaledImage::isValid(void) const
+	?qt_metacast@QDeclarativeContext@@UAEPAXPBD@Z @ 101 NONAME ; void * QDeclarativeContext::qt_metacast(char const *)
+	?metaObject@QDeclarativeDebugClient@@UBEPBUQMetaObject@@XZ @ 102 NONAME ; struct QMetaObject const * QDeclarativeDebugClient::metaObject(void) const
+	?transitions@QDeclarativeItemPrivate@@QAE?AV?$QDeclarativeListProperty@VQDeclarativeTransition@@@@XZ @ 103 NONAME ; class QDeclarativeListProperty<class QDeclarativeTransition> QDeclarativeItemPrivate::transitions(void)
+	??0QDeclarativeDebugPropertyWatch@@QAE@PAVQObject@@@Z @ 104 NONAME ; QDeclarativeDebugPropertyWatch::QDeclarativeDebugPropertyWatch(class QObject *)
+	??_EQDeclarativeDebugPropertyReference@@QAE@I@Z @ 105 NONAME ; QDeclarativeDebugPropertyReference::~QDeclarativeDebugPropertyReference(unsigned int)
+	?itemsChanged@QListModelInterface@@IAEXHHABV?$QList@H@@@Z @ 106 NONAME ; void QListModelInterface::itemsChanged(int, int, class QList<int> const &)
+	??6@YA?AVQDebug@@V0@PAVQDeclarativeItem@@@Z @ 107 NONAME ; class QDebug operator<<(class QDebug, class QDeclarativeItem *)
+	?write@QDeclarativePropertyPrivate@@SA_NABVQDeclarativeProperty@@ABVQVariant@@V?$QFlags@W4WriteFlag@QDeclarativePropertyPrivate@@@@@Z @ 108 NONAME ; bool QDeclarativePropertyPrivate::write(class QDeclarativeProperty const &, class QVariant const &, class QFlags<enum QDeclarativePropertyPrivate::WriteFlag>)
+	?verticalTileRule@QDeclarativeGridScaledImage@@QBE?AW4TileMode@QDeclarativeBorderImage@@XZ @ 109 NONAME ; enum QDeclarativeBorderImage::TileMode QDeclarativeGridScaledImage::verticalTileRule(void) const
+	?tr@QDeclarativeDebugObjectQuery@@SA?AVQString@@PBD0@Z @ 110 NONAME ; class QString QDeclarativeDebugObjectQuery::tr(char const *, char const *)
+	?isDynamic@QMetaPropertyBuilder@@QBE_NXZ @ 111 NONAME ; bool QMetaPropertyBuilder::isDynamic(void) const
+	?removeClassInfo@QMetaObjectBuilder@@QAEXH@Z @ 112 NONAME ; void QMetaObjectBuilder::removeClassInfo(int)
+	?warnings@QDeclarativeEngine@@IAEXABV?$QList@VQDeclarativeError@@@@@Z @ 113 NONAME ; void QDeclarativeEngine::warnings(class QList<class QDeclarativeError> const &)
+	?description@QDeclarativeError@@QBE?AVQString@@XZ @ 114 NONAME ; class QString QDeclarativeError::description(void) const
+	?binding@QDeclarativeDebugPropertyReference@@QBE?AVQString@@XZ @ 115 NONAME ; class QString QDeclarativeDebugPropertyReference::binding(void) const
+	?trUtf8@QDeclarativePen@@SA?AVQString@@PBD0@Z @ 116 NONAME ; class QString QDeclarativePen::trUtf8(char const *, char const *)
+	?readValueProperty@QDeclarativePropertyPrivate@@QAE?AVQVariant@@XZ @ 117 NONAME ; class QVariant QDeclarativePropertyPrivate::readValueProperty(void)
+	?propertyType@QDeclarativeDomDynamicProperty@@QBEHXZ @ 118 NONAME ; int QDeclarativeDomDynamicProperty::propertyType(void) const
+	?gridBottom@QDeclarativeGridScaledImage@@QBEHXZ @ 119 NONAME ; int QDeclarativeGridScaledImage::gridBottom(void) const
+	?setRadius@QDeclarativeRectangle@@QAEXM@Z @ 120 NONAME ; void QDeclarativeRectangle::setRadius(float)
+	?d_func@QDeclarativeBehavior@@AAEPAVQDeclarativeBehaviorPrivate@@XZ @ 121 NONAME ; class QDeclarativeBehaviorPrivate * QDeclarativeBehavior::d_func(void)
+	?isValid@QDeclarativePen@@QAE_NXZ @ 122 NONAME ; bool QDeclarativePen::isValid(void)
+	?result@QDeclarativeDebugExpressionQuery@@QBE?AVQVariant@@XZ @ 123 NONAME ; class QVariant QDeclarativeDebugExpressionQuery::result(void) const
+	?isEnumOrFlag@QMetaPropertyBuilder@@QBE_NXZ @ 124 NONAME ; bool QMetaPropertyBuilder::isEnumOrFlag(void) const
+	?addToObject@QDeclarativeAbstractBinding@@QAEXPAVQObject@@@Z @ 125 NONAME ; void QDeclarativeAbstractBinding::addToObject(class QObject *)
+	?trUtf8@QDeclarativeView@@SA?AVQString@@PBD0H@Z @ 126 NONAME ; class QString QDeclarativeView::trUtf8(char const *, char const *, int)
+	?d_func@QDeclarativeAnchors@@AAEPAVQDeclarativeAnchorsPrivate@@XZ @ 127 NONAME ; class QDeclarativeAnchorsPrivate * QDeclarativeAnchors::d_func(void)
+	??1QPacket@@UAE@XZ @ 128 NONAME ; QPacket::~QPacket(void)
+	?top@QDeclarativeScaleGrid@@QBEHXZ @ 129 NONAME ; int QDeclarativeScaleGrid::top(void) const
+	?setExpression@QDeclarativeExpression@@QAEXABVQString@@@Z @ 130 NONAME ; void QDeclarativeExpression::setExpression(class QString const &)
+	??1QDeclarativeDebugEngineReference@@QAE@XZ @ 131 NONAME ; QDeclarativeDebugEngineReference::~QDeclarativeDebugEngineReference(void)
+	??0QDeclarativeStateOperation@@QAE@PAVQObject@@@Z @ 132 NONAME ; QDeclarativeStateOperation::QDeclarativeStateOperation(class QObject *)
+	?transform_clear@QDeclarativeItemPrivate@@SAXPAV?$QDeclarativeListProperty@VQGraphicsTransform@@@@@Z @ 133 NONAME ; void QDeclarativeItemPrivate::transform_clear(class QDeclarativeListProperty<class QGraphicsTransform> *)
+	?staticMetaObject@QDeclarativeValueType@@2UQMetaObject@@B @ 134 NONAME ; struct QMetaObject const QDeclarativeValueType::staticMetaObject
+	?propertyName@QDeclarativeDomDynamicProperty@@QBE?AVQByteArray@@XZ @ 135 NONAME ; class QByteArray QDeclarativeDomDynamicProperty::propertyName(void) const
+	?focusChanged@QDeclarativeItem@@IAEX_N@Z @ 136 NONAME ; void QDeclarativeItem::focusChanged(bool)
+	?getStaticMetaObject@QDeclarativeBinding@@SAABUQMetaObject@@XZ @ 137 NONAME ; struct QMetaObject const & QDeclarativeBinding::getStaticMetaObject(void)
+	?copy@QDeclarativeMetaType@@SA_NHPAXPBX@Z @ 138 NONAME ; bool QDeclarativeMetaType::copy(int, void *, void const *)
+	?qt_metacall@QDeclarativeDebugEnginesQuery@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 139 NONAME ; int QDeclarativeDebugEnginesQuery::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?tr@QDeclarativeDebugWatch@@SA?AVQString@@PBD0@Z @ 140 NONAME ; class QString QDeclarativeDebugWatch::tr(char const *, char const *)
+	?setEnumOrFlag@QMetaPropertyBuilder@@QAEX_N@Z @ 141 NONAME ; void QMetaPropertyBuilder::setEnumOrFlag(bool)
+	?getStaticMetaObject@QDeclarativeRectangle@@SAABUQMetaObject@@XZ @ 142 NONAME ; struct QMetaObject const & QDeclarativeRectangle::getStaticMetaObject(void)
+	?isValid@QDeclarativeProperty@@QBE_NXZ @ 143 NONAME ; bool QDeclarativeProperty::isValid(void) const
+	?isConnected@QDeclarativeDebugClient@@QBE_NXZ @ 144 NONAME ; bool QDeclarativeDebugClient::isConnected(void) const
+	?enabled@QDeclarativeBinding@@QBE_NXZ @ 145 NONAME ; bool QDeclarativeBinding::enabled(void) const
+	?setSource@QDeclarativeView@@QAEXABVQUrl@@@Z @ 146 NONAME ; void QDeclarativeView::setSource(class QUrl const &)
+	??_EQDeclarativeDebugService@@UAE@I@Z @ 147 NONAME ; QDeclarativeDebugService::~QDeclarativeDebugService(unsigned int)
+	??0QDeclarativeDomDynamicProperty@@QAE@ABV0@@Z @ 148 NONAME ; QDeclarativeDomDynamicProperty::QDeclarativeDomDynamicProperty(class QDeclarativeDomDynamicProperty const &)
+	?className@QDeclarativeDebugObjectReference@@QBE?AVQString@@XZ @ 149 NONAME ; class QString QDeclarativeDebugObjectReference::className(void) const
+	?indexOfSlot@QMetaObjectBuilder@@QAEHABVQByteArray@@@Z @ 150 NONAME ; int QMetaObjectBuilder::indexOfSlot(class QByteArray const &)
+	?tr@QDeclarativeDebugConnection@@SA?AVQString@@PBD0H@Z @ 151 NONAME ; class QString QDeclarativeDebugConnection::tr(char const *, char const *, int)
+	?progressChanged@QDeclarativeComponent@@IAEXM@Z @ 152 NONAME ; void QDeclarativeComponent::progressChanged(float)
+	?hasError@QDeclarativeExpression@@QBE_NXZ @ 153 NONAME ; bool QDeclarativeExpression::hasError(void) const
+	?error@QDeclarativePixmap@@QBE?AVQString@@XZ @ 154 NONAME ; class QString QDeclarativePixmap::error(void) const
+	?property@QMetaObjectBuilder@@QBE?AVQMetaPropertyBuilder@@H@Z @ 155 NONAME ; class QMetaPropertyBuilder QMetaObjectBuilder::property(int) const
+	?index@QDeclarativeType@@QBEHXZ @ 156 NONAME ; int QDeclarativeType::index(void) const
+	?tr@QDeclarativeRectangle@@SA?AVQString@@PBD0@Z @ 157 NONAME ; class QString QDeclarativeRectangle::tr(char const *, char const *)
+	??0QDeclarativeScaleGrid@@QAE@PAVQObject@@@Z @ 158 NONAME ; QDeclarativeScaleGrid::QDeclarativeScaleGrid(class QObject *)
+	?engines@QDeclarativeDebugEnginesQuery@@QBE?AV?$QList@VQDeclarativeDebugEngineReference@@@@XZ @ 159 NONAME ; class QList<class QDeclarativeDebugEngineReference> QDeclarativeDebugEnginesQuery::engines(void) const
+	?qt_metacall@QDeclarativeDebugPropertyWatch@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 160 NONAME ; int QDeclarativeDebugPropertyWatch::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?metaObject@QDeclarativeAnchors@@UBEPBUQMetaObject@@XZ @ 161 NONAME ; struct QMetaObject const * QDeclarativeAnchors::metaObject(void) const
+	??BQDeclarativePixmap@@QBEABVQPixmap@@XZ @ 162 NONAME ; QDeclarativePixmap::operator class QPixmap const &(void) const
+	?sceneResized@QDeclarativeView@@IAEXVQSize@@@Z @ 163 NONAME ; void QDeclarativeView::sceneResized(class QSize)
+	?subFocusItemChange@QDeclarativeItemPrivate@@UAEXXZ @ 164 NONAME ; void QDeclarativeItemPrivate::subFocusItemChange(void)
+	?hasNotifySignal@QDeclarativeDebugPropertyReference@@QBE_NXZ @ 165 NONAME ; bool QDeclarativeDebugPropertyReference::hasNotifySignal(void) const
+	?addSlot@QMetaObjectBuilder@@QAE?AVQMetaMethodBuilder@@ABVQByteArray@@@Z @ 166 NONAME ; class QMetaMethodBuilder QMetaObjectBuilder::addSlot(class QByteArray const &)
+	?trUtf8@QDeclarativeStateOperation@@SA?AVQString@@PBD0@Z @ 167 NONAME ; class QString QDeclarativeStateOperation::trUtf8(char const *, char const *)
+	?propertyCreated@QDeclarativeOpenMetaObjectType@@MAEXHAAVQMetaPropertyBuilder@@@Z @ 168 NONAME ; void QDeclarativeOpenMetaObjectType::propertyCreated(int, class QMetaPropertyBuilder &)
+	??1QDeclarativeItemPrivate@@UAE@XZ @ 169 NONAME ; QDeclarativeItemPrivate::~QDeclarativeItemPrivate(void)
+	?clear@QDeclarativePropertyMap@@QAEXABVQString@@@Z @ 170 NONAME ; void QDeclarativePropertyMap::clear(class QString const &)
+	?tr@QDeclarativeDebugClient@@SA?AVQString@@PBD0H@Z @ 171 NONAME ; class QString QDeclarativeDebugClient::tr(char const *, char const *, int)
+	?read@QDeclarativeProperty@@SA?AVQVariant@@PAVQObject@@ABVQString@@PAVQDeclarativeEngine@@@Z @ 172 NONAME ; class QVariant QDeclarativeProperty::read(class QObject *, class QString const &, class QDeclarativeEngine *)
+	?insert@QDeclarativePropertyMap@@QAEXABVQString@@ABVQVariant@@@Z @ 173 NONAME ; void QDeclarativePropertyMap::insert(class QString const &, class QVariant const &)
+	??1QDeclarativeContext@@UAE@XZ @ 174 NONAME ; QDeclarativeContext::~QDeclarativeContext(void)
+	?operationCount@QDeclarativeState@@QBEHXZ @ 175 NONAME ; int QDeclarativeState::operationCount(void) const
+	?getStaticMetaObject@QDeclarativeItem@@SAABUQMetaObject@@XZ @ 176 NONAME ; struct QMetaObject const & QDeclarativeItem::getStaticMetaObject(void)
+	?qtAnimationStateChanged@QDeclarativeBehavior@@AAEXW4State@QAbstractAnimation@@0@Z @ 177 NONAME ; void QDeclarativeBehavior::qtAnimationStateChanged(enum QAbstractAnimation::State, enum QAbstractAnimation::State)
+	?trUtf8@QDeclarativeBehavior@@SA?AVQString@@PBD0H@Z @ 178 NONAME ; class QString QDeclarativeBehavior::trUtf8(char const *, char const *, int)
+	?status@QDeclarativeComponent@@QBE?AW4Status@1@XZ @ 179 NONAME ; enum QDeclarativeComponent::Status QDeclarativeComponent::status(void) const
+	?boundingRect@QDeclarativeItem@@UBE?AVQRectF@@XZ @ 180 NONAME ; class QRectF QDeclarativeItem::boundingRect(void) const
+	?availableInVersion@QDeclarativeType@@QBE_NHH@Z @ 181 NONAME ; bool QDeclarativeType::availableInVersion(int, int) const
+	?getStaticMetaObject@QDeclarativeDebugWatch@@SAABUQMetaObject@@XZ @ 182 NONAME ; struct QMetaObject const & QDeclarativeDebugWatch::getStaticMetaObject(void)
+	??_EQDeclarativeRectangle@@UAE@I@Z @ 183 NONAME ; QDeclarativeRectangle::~QDeclarativeRectangle(unsigned int)
+	?setTopMargin@QDeclarativeAnchors@@QAEXM@Z @ 184 NONAME ; void QDeclarativeAnchors::setTopMargin(float)
+	??5@YAAAVQDataStream@@AAV0@AAUQDeclarativeObjectProperty@QDeclarativeEngineDebugServer@@@Z @ 185 NONAME ; class QDataStream & operator>>(class QDataStream &, struct QDeclarativeEngineDebugServer::QDeclarativeObjectProperty &)
+	??1QDeclarativeValueTypeFactory@@QAE@XZ @ 186 NONAME ; QDeclarativeValueTypeFactory::~QDeclarativeValueTypeFactory(void)
+	?metaObject@QDeclarativeDebugObjectExpressionWatch@@UBEPBUQMetaObject@@XZ @ 187 NONAME ; struct QMetaObject const * QDeclarativeDebugObjectExpressionWatch::metaObject(void) const
+	??0QDeclarativeComponent@@QAE@PAVQObject@@@Z @ 188 NONAME ; QDeclarativeComponent::QDeclarativeComponent(class QObject *)
+	?qt_metacast@QDeclarativeItem@@UAEPAXPBD@Z @ 189 NONAME ; void * QDeclarativeItem::qt_metacast(char const *)
+	?changes@QDeclarativeState@@QAE?AV?$QDeclarativeListProperty@VQDeclarativeStateOperation@@@@XZ @ 190 NONAME ; class QDeclarativeListProperty<class QDeclarativeStateOperation> QDeclarativeState::changes(void)
+	?resizeEvent@QDeclarativeView@@MAEXPAVQResizeEvent@@@Z @ 191 NONAME ; void QDeclarativeView::resizeEvent(class QResizeEvent *)
+	?d_func@QDeclarativeBinding@@ABEPBVQDeclarativeBindingPrivate@@XZ @ 192 NONAME ; class QDeclarativeBindingPrivate const * QDeclarativeBinding::d_func(void) const
+	?wrapMode@QDeclarativeText@@QBE?AW4WrapMode@1@XZ @ 193 NONAME ; enum QDeclarativeText::WrapMode QDeclarativeText::wrapMode(void) const
+	?centerIn@QDeclarativeAnchors@@QBEPAVQGraphicsObject@@XZ @ 194 NONAME ; class QGraphicsObject * QDeclarativeAnchors::centerIn(void) const
+	??0QDeclarativeType@@AAE@HABURegisterType@QDeclarativePrivate@@@Z @ 195 NONAME ; QDeclarativeType::QDeclarativeType(int, struct QDeclarativePrivate::RegisterType const &)
+	?trUtf8@QDeclarativeComponent@@SA?AVQString@@PBD0H@Z @ 196 NONAME ; class QString QDeclarativeComponent::trUtf8(char const *, char const *, int)
+	??0QMetaObjectBuilder@@QAE@PBUQMetaObject@@V?$QFlags@W4AddMember@QMetaObjectBuilder@@@@@Z @ 197 NONAME ; QMetaObjectBuilder::QMetaObjectBuilder(struct QMetaObject const *, class QFlags<enum QMetaObjectBuilder::AddMember>)
+	?quit@QDeclarativeEngine@@IAEXXZ @ 198 NONAME ; void QDeclarativeEngine::quit(void)
+	?qmlregister@QDeclarativePrivate@@YAHW4RegistrationType@1@PAX@Z @ 199 NONAME ; int QDeclarativePrivate::qmlregister(enum QDeclarativePrivate::RegistrationType, void *)
+	??0QMetaEnumBuilder@@AAE@PBVQMetaObjectBuilder@@H@Z @ 200 NONAME ; QMetaEnumBuilder::QMetaEnumBuilder(class QMetaObjectBuilder const *, int)
+	?setBottom@QDeclarativeAnchors@@QAEXABVQDeclarativeAnchorLine@@@Z @ 201 NONAME ; void QDeclarativeAnchors::setBottom(class QDeclarativeAnchorLine const &)
+	??0QDeclarativeCustomParser@@QAE@XZ @ 202 NONAME ; QDeclarativeCustomParser::QDeclarativeCustomParser(void)
+	?value@QDeclarativeOpenMetaObject@@QBE?AVQVariant@@ABVQByteArray@@@Z @ 203 NONAME ; class QVariant QDeclarativeOpenMetaObject::value(class QByteArray const &) const
+	?styleColor@QDeclarativeText@@QBE?AVQColor@@XZ @ 204 NONAME ; class QColor QDeclarativeText::styleColor(void) const
+	?centerInChanged@QDeclarativeAnchors@@IAEXXZ @ 205 NONAME ; void QDeclarativeAnchors::centerInChanged(void)
+	?colorChanged@QDeclarativeRectangle@@IAEXXZ @ 206 NONAME ; void QDeclarativeRectangle::colorChanged(void)
+	??0QDeclarativePropertyPrivate@@QAE@ABV0@@Z @ 207 NONAME ; QDeclarativePropertyPrivate::QDeclarativePropertyPrivate(class QDeclarativePropertyPrivate const &)
+	?loadUrl@QDeclarativeComponent@@QAEXABVQUrl@@@Z @ 208 NONAME ; void QDeclarativeComponent::loadUrl(class QUrl const &)
+	?beginCreate@QDeclarativeComponent@@UAEPAVQObject@@PAVQDeclarativeContext@@@Z @ 209 NONAME ; class QObject * QDeclarativeComponent::beginCreate(class QDeclarativeContext *)
+	?setRight@QDeclarativeAnchors@@QAEXABVQDeclarativeAnchorLine@@@Z @ 210 NONAME ; void QDeclarativeAnchors::setRight(class QDeclarativeAnchorLine const &)
+	?needsNotifySignal@QDeclarativeProperty@@QBE_NXZ @ 211 NONAME ; bool QDeclarativeProperty::needsNotifySignal(void) const
+	?fill@QDeclarativeAnchors@@QBEPAVQGraphicsObject@@XZ @ 212 NONAME ; class QGraphicsObject * QDeclarativeAnchors::fill(void) const
+	?top@QDeclarativeItemPrivate@@QBE?AVQDeclarativeAnchorLine@@XZ @ 213 NONAME ; class QDeclarativeAnchorLine QDeclarativeItemPrivate::top(void) const
+	?clear@QDeclarativeListReference@@QBE_NXZ @ 214 NONAME ; bool QDeclarativeListReference::clear(void) const
+	?parentChanged@QDeclarativeItem@@IAEXPAV1@@Z @ 215 NONAME ; void QDeclarativeItem::parentChanged(class QDeclarativeItem *)
+	?columnNumber@QDeclarativeDebugFileReference@@QBEHXZ @ 216 NONAME ; int QDeclarativeDebugFileReference::columnNumber(void) const
+	??0QDeclarativeListModel@@AAE@_NPAVQObject@@@Z @ 217 NONAME ; QDeclarativeListModel::QDeclarativeListModel(bool, class QObject *)
+	?apply@QDeclarativeState@@QAEXPAVQDeclarativeStateGroup@@PAVQDeclarativeTransition@@PAV1@@Z @ 218 NONAME ; void QDeclarativeState::apply(class QDeclarativeStateGroup *, class QDeclarativeTransition *, class QDeclarativeState *)
+	?isValid@QDeclarativeDomProperty@@QBE_NXZ @ 219 NONAME ; bool QDeclarativeDomProperty::isValid(void) const
+	?trUtf8@QDeclarativeDebugExpressionQuery@@SA?AVQString@@PBD0@Z @ 220 NONAME ; class QString QDeclarativeDebugExpressionQuery::trUtf8(char const *, char const *)
+	?statusChanged@QDeclarativeView@@IAEXW4Status@1@@Z @ 221 NONAME ; void QDeclarativeView::statusChanged(enum QDeclarativeView::Status)
+	?componentComplete@QDeclarativeText@@UAEXXZ @ 222 NONAME ; void QDeclarativeText::componentComplete(void)
+	?canCount@QDeclarativeListReference@@QBE_NXZ @ 223 NONAME ; bool QDeclarativeListReference::canCount(void) const
+	??1QListModelInterface@@UAE@XZ @ 224 NONAME ; QListModelInterface::~QListModelInterface(void)
+	??0QDeclarativeAnchors@@QAE@PAVQObject@@@Z @ 225 NONAME ; QDeclarativeAnchors::QDeclarativeAnchors(class QObject *)
+	?resources_at@QDeclarativeItemPrivate@@SAPAVQObject@@PAV?$QDeclarativeListProperty@VQObject@@@@H@Z @ 226 NONAME ; class QObject * QDeclarativeItemPrivate::resources_at(class QDeclarativeListProperty<class QObject> *, int)
+	?isExtendedType@QDeclarativeType@@QBE_NXZ @ 227 NONAME ; bool QDeclarativeType::isExtendedType(void) const
+	?top@QDeclarativeAnchors@@QBE?AVQDeclarativeAnchorLine@@XZ @ 228 NONAME ; class QDeclarativeAnchorLine QDeclarativeAnchors::top(void) const
+	??0QDeclarativePropertyMap@@QAE@PAVQObject@@@Z @ 229 NONAME ; QDeclarativePropertyMap::QDeclarativePropertyMap(class QObject *)
+	??0QDeclarativeExpression@@IAE@PAVQDeclarativeContextData@@PAXPAVQDeclarativeRefCount@@PAVQObject@@ABVQString@@HAAVQDeclarativeExpressionPrivate@@@Z @ 230 NONAME ; QDeclarativeExpression::QDeclarativeExpression(class QDeclarativeContextData *, void *, class QDeclarativeRefCount *, class QObject *, class QString const &, int, class QDeclarativeExpressionPrivate &)
+	?setColor@QDeclarativeText@@QAEXABVQColor@@@Z @ 231 NONAME ; void QDeclarativeText::setColor(class QColor const &)
+	?hasStdCppSet@QMetaPropertyBuilder@@QBE_NXZ @ 232 NONAME ; bool QMetaPropertyBuilder::hasStdCppSet(void) const
+	??0QDeclarativeDebugFileReference@@QAE@ABV0@@Z @ 233 NONAME ; QDeclarativeDebugFileReference::QDeclarativeDebugFileReference(class QDeclarativeDebugFileReference const &)
+	?toValueInterceptor@QDeclarativeDomValue@@QBE?AVQDeclarativeDomValueValueInterceptor@@XZ @ 234 NONAME ; class QDeclarativeDomValueValueInterceptor QDeclarativeDomValue::toValueInterceptor(void) const
+	??0QDeclarativeDebugEngineReference@@QAE@H@Z @ 235 NONAME ; QDeclarativeDebugEngineReference::QDeclarativeDebugEngineReference(int)
+	?tr@QDeclarativePixmap@@SA?AVQString@@PBD0H@Z @ 236 NONAME ; class QString QDeclarativePixmap::tr(char const *, char const *, int)
+	?state@QDeclarativeItemPrivate@@QBE?AVQString@@XZ @ 237 NONAME ; class QString QDeclarativeItemPrivate::state(void) const
+	??1QDeclarativePropertyValueInterceptor@@UAE@XZ @ 238 NONAME ; QDeclarativePropertyValueInterceptor::~QDeclarativePropertyValueInterceptor(void)
+	?getStaticMetaObject@QDeclarativePropertyMap@@SAABUQMetaObject@@XZ @ 239 NONAME ; struct QMetaObject const & QDeclarativePropertyMap::getStaticMetaObject(void)
+	??1QDeclarativeScaleGrid@@UAE@XZ @ 240 NONAME ; QDeclarativeScaleGrid::~QDeclarativeScaleGrid(void)
+	?idString@QDeclarativeDebugObjectReference@@QBE?AVQString@@XZ @ 241 NONAME ; class QString QDeclarativeDebugObjectReference::idString(void) const
+	?customTypeData@QDeclarativeDomObject@@QBE?AVQByteArray@@XZ @ 242 NONAME ; class QByteArray QDeclarativeDomObject::customTypeData(void) const
+	?stop@QDeclarativeTransition@@QAEXXZ @ 243 NONAME ; void QDeclarativeTransition::stop(void)
+	?data@QDeclarativeListModel@@UBE?AV?$QHash@HVQVariant@@@@HABV?$QList@H@@@Z @ 244 NONAME ; class QHash<int, class QVariant> QDeclarativeListModel::data(int, class QList<int> const &) const
+	?verticalCenterOffset@QDeclarativeAnchors@@QBEMXZ @ 245 NONAME ; float QDeclarativeAnchors::verticalCenterOffset(void) const
+	?metaObject@QDeclarativeText@@UBEPBUQMetaObject@@XZ @ 246 NONAME ; struct QMetaObject const * QDeclarativeText::metaObject(void) const
+	??0QDeclarativeComponent@@QAE@PAVQDeclarativeEngine@@PAVQObject@@@Z @ 247 NONAME ; QDeclarativeComponent::QDeclarativeComponent(class QDeclarativeEngine *, class QObject *)
+	?createProperty@QDeclarativeOpenMetaObjectType@@QAEHABVQByteArray@@@Z @ 248 NONAME ; int QDeclarativeOpenMetaObjectType::createProperty(class QByteArray const &)
+	??0QDeclarativeContext@@QAE@PAVQDeclarativeEngine@@PAVQObject@@@Z @ 249 NONAME ; QDeclarativeContext::QDeclarativeContext(class QDeclarativeEngine *, class QObject *)
+	??6QDeclarativeInfo@@QAEAAV0@M@Z @ 250 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(float)
+	??4QDeclarativeDomValueLiteral@@QAEAAV0@ABV0@@Z @ 251 NONAME ; class QDeclarativeDomValueLiteral & QDeclarativeDomValueLiteral::operator=(class QDeclarativeDomValueLiteral const &)
+	?setScript@QDeclarativeScriptString@@QAEXABVQString@@@Z @ 252 NONAME ; void QDeclarativeScriptString::setScript(class QString const &)
+	?requestImage@QDeclarativeImageProvider@@UAE?AVQImage@@ABVQString@@PAVQSize@@ABV4@@Z @ 253 NONAME ; class QImage QDeclarativeImageProvider::requestImage(class QString const &, class QSize *, class QSize const &)
 	?qt_metacast@QPacketProtocol@@UAEPAXPBD@Z @ 254 NONAME ; void * QPacketProtocol::qt_metacast(char const *)
 	?addMetaObject@QMetaObjectBuilder@@QAEXPBUQMetaObject@@V?$QFlags@W4AddMember@QMetaObjectBuilder@@@@@Z @ 255 NONAME ; void QMetaObjectBuilder::addMetaObject(struct QMetaObject const *, class QFlags<enum QMetaObjectBuilder::AddMember>)
 	?trUtf8@QDeclarativeRectangle@@SA?AVQString@@PBD0H@Z @ 256 NONAME ; class QString QDeclarativeRectangle::trUtf8(char const *, char const *, int)
@@ -262,10 +262,10 @@ EXPORTS
 	?setStyleColor@QDeclarativeText@@QAEXABVQColor@@@Z @ 261 NONAME ; void QDeclarativeText::setStyleColor(class QColor const &)
 	?create@QDeclarativeType@@QBEPAVQObject@@XZ @ 262 NONAME ; class QObject * QDeclarativeType::create(void) const
 	?metaObject@QDeclarativeDebugExpressionQuery@@UBEPBUQMetaObject@@XZ @ 263 NONAME ; struct QMetaObject const * QDeclarativeDebugExpressionQuery::metaObject(void) const
-	?readyRead@QPacketProtocol@@IAEXXZ @ 264 NONAME ; void QPacketProtocol::readyRead(void)
-	?qt_metacall@QDeclarativeValueType@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 265 NONAME ; int QDeclarativeValueType::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?propertyType@QDeclarativePropertyPrivate@@QBEHXZ @ 266 NONAME ; int QDeclarativePropertyPrivate::propertyType(void) const
-	?engine@QDeclarativeView@@QAEPAVQDeclarativeEngine@@XZ @ 267 NONAME ABSENT ; class QDeclarativeEngine * QDeclarativeView::engine(void)
+	?engine@QDeclarativeView@@QBEPAVQDeclarativeEngine@@XZ @ 264 NONAME ; class QDeclarativeEngine * QDeclarativeView::engine(void) const
+	?readyRead@QPacketProtocol@@IAEXXZ @ 265 NONAME ; void QPacketProtocol::readyRead(void)
+	?qt_metacall@QDeclarativeValueType@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 266 NONAME ; int QDeclarativeValueType::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?propertyType@QDeclarativePropertyPrivate@@QBEHXZ @ 267 NONAME ; int QDeclarativePropertyPrivate::propertyType(void) const
 	?inputMethodQuery@QDeclarativeItem@@MBE?AVQVariant@@W4InputMethodQuery@Qt@@@Z @ 268 NONAME ; class QVariant QDeclarativeItem::inputMethodQuery(enum Qt::InputMethodQuery) const
 	?sizeHint@QDeclarativeView@@UBE?AVQSize@@XZ @ 269 NONAME ; class QSize QDeclarativeView::sizeHint(void) const
 	?flags@QDeclarativeCustomParser@@QBE?AV?$QFlags@W4Flag@QDeclarativeCustomParser@@@@XZ @ 270 NONAME ; class QFlags<enum QDeclarativeCustomParser::Flag> QDeclarativeCustomParser::flags(void) const
@@ -283,23 +283,23 @@ EXPORTS
 	?textFormat@QDeclarativeText@@QBE?AW4TextFormat@1@XZ @ 282 NONAME ; enum QDeclarativeText::TextFormat QDeclarativeText::textFormat(void) const
 	?getStaticMetaObject@QDeclarativeDebugObjectExpressionWatch@@SAABUQMetaObject@@XZ @ 283 NONAME ; struct QMetaObject const & QDeclarativeDebugObjectExpressionWatch::getStaticMetaObject(void)
 	?write@QDeclarativeBehavior@@UAEXABVQVariant@@@Z @ 284 NONAME ; void QDeclarativeBehavior::write(class QVariant const &)
-	?resetTop@QDeclarativeAnchors@@QAEXXZ @ 285 NONAME ; void QDeclarativeAnchors::resetTop(void)
-	?queryId@QDeclarativeDebugWatch@@QBEHXZ @ 286 NONAME ; int QDeclarativeDebugWatch::queryId(void) const
-	?trUtf8@QDeclarativeExtensionPlugin@@SA?AVQString@@PBD0H@Z @ 287 NONAME ; class QString QDeclarativeExtensionPlugin::trUtf8(char const *, char const *, int)
-	?staticMetaObject@QDeclarativeComponent@@2UQMetaObject@@B @ 288 NONAME ; struct QMetaObject const QDeclarativeComponent::staticMetaObject
-	?setStateGroup@QDeclarativeState@@QAEXPAVQDeclarativeStateGroup@@@Z @ 289 NONAME ; void QDeclarativeState::setStateGroup(class QDeclarativeStateGroup *)
-	?access@QMetaMethodBuilder@@QBE?AW4Access@QMetaMethod@@XZ @ 290 NONAME ; enum QMetaMethod::Access QMetaMethodBuilder::access(void) const
-	?tr@QDeclarativeDebugQuery@@SA?AVQString@@PBD0@Z @ 291 NONAME ; class QString QDeclarativeDebugQuery::tr(char const *, char const *)
-	?attachedPropertiesType@QDeclarativeType@@QBEPBUQMetaObject@@XZ @ 292 NONAME ; struct QMetaObject const * QDeclarativeType::attachedPropertiesType(void) const
-	?setName@QDeclarativeState@@QAEXABVQString@@@Z @ 293 NONAME ; void QDeclarativeState::setName(class QString const &)
-	?setReversed@QDeclarativeTransition@@QAEX_N@Z @ 294 NONAME ; void QDeclarativeTransition::setReversed(bool)
-	?idForObject@QDeclarativeDebugService@@SAHPAVQObject@@@Z @ 295 NONAME ; int QDeclarativeDebugService::idForObject(class QObject *)
-	?qt_metacall@QDeclarativeDebugWatch@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 296 NONAME ; int QDeclarativeDebugWatch::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?fromState@QDeclarativeTransition@@QBE?AVQString@@XZ @ 297 NONAME ; class QString QDeclarativeTransition::fromState(void) const
-	??1QDeclarativeExpression@@UAE@XZ @ 298 NONAME ; QDeclarativeExpression::~QDeclarativeExpression(void)
-	?binding@QDeclarativePropertyPrivate@@SAPAVQDeclarativeAbstractBinding@@ABVQDeclarativeProperty@@@Z @ 299 NONAME ; class QDeclarativeAbstractBinding * QDeclarativePropertyPrivate::binding(class QDeclarativeProperty const &)
-	?removeMethod@QMetaObjectBuilder@@QAEXH@Z @ 300 NONAME ; void QMetaObjectBuilder::removeMethod(int)
-	?get@QDeclarativePixmapCache@@SA?AW4Status@QDeclarativePixmapReply@@ABVQUrl@@PAVQPixmap@@PAVQString@@PAVQSize@@_NHH@Z @ 301 NONAME ABSENT ; enum QDeclarativePixmapReply::Status QDeclarativePixmapCache::get(class QUrl const &, class QPixmap *, class QString *, class QSize *, bool, int, int)
+	?load@QDeclarativePixmap@@QAEXPAVQDeclarativeEngine@@ABVQUrl@@ABVQSize@@@Z @ 285 NONAME ; void QDeclarativePixmap::load(class QDeclarativeEngine *, class QUrl const &, class QSize const &)
+	?resetTop@QDeclarativeAnchors@@QAEXXZ @ 286 NONAME ; void QDeclarativeAnchors::resetTop(void)
+	?queryId@QDeclarativeDebugWatch@@QBEHXZ @ 287 NONAME ; int QDeclarativeDebugWatch::queryId(void) const
+	?trUtf8@QDeclarativeExtensionPlugin@@SA?AVQString@@PBD0H@Z @ 288 NONAME ; class QString QDeclarativeExtensionPlugin::trUtf8(char const *, char const *, int)
+	?staticMetaObject@QDeclarativeComponent@@2UQMetaObject@@B @ 289 NONAME ; struct QMetaObject const QDeclarativeComponent::staticMetaObject
+	?setStateGroup@QDeclarativeState@@QAEXPAVQDeclarativeStateGroup@@@Z @ 290 NONAME ; void QDeclarativeState::setStateGroup(class QDeclarativeStateGroup *)
+	?access@QMetaMethodBuilder@@QBE?AW4Access@QMetaMethod@@XZ @ 291 NONAME ; enum QMetaMethod::Access QMetaMethodBuilder::access(void) const
+	?tr@QDeclarativeDebugQuery@@SA?AVQString@@PBD0@Z @ 292 NONAME ; class QString QDeclarativeDebugQuery::tr(char const *, char const *)
+	?attachedPropertiesType@QDeclarativeType@@QBEPBUQMetaObject@@XZ @ 293 NONAME ; struct QMetaObject const * QDeclarativeType::attachedPropertiesType(void) const
+	?setName@QDeclarativeState@@QAEXABVQString@@@Z @ 294 NONAME ; void QDeclarativeState::setName(class QString const &)
+	?setReversed@QDeclarativeTransition@@QAEX_N@Z @ 295 NONAME ; void QDeclarativeTransition::setReversed(bool)
+	?idForObject@QDeclarativeDebugService@@SAHPAVQObject@@@Z @ 296 NONAME ; int QDeclarativeDebugService::idForObject(class QObject *)
+	?qt_metacall@QDeclarativeDebugWatch@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 297 NONAME ; int QDeclarativeDebugWatch::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?fromState@QDeclarativeTransition@@QBE?AVQString@@XZ @ 298 NONAME ; class QString QDeclarativeTransition::fromState(void) const
+	??1QDeclarativeExpression@@UAE@XZ @ 299 NONAME ; QDeclarativeExpression::~QDeclarativeExpression(void)
+	?binding@QDeclarativePropertyPrivate@@SAPAVQDeclarativeAbstractBinding@@ABVQDeclarativeProperty@@@Z @ 300 NONAME ; class QDeclarativeAbstractBinding * QDeclarativePropertyPrivate::binding(class QDeclarativeProperty const &)
+	?removeMethod@QMetaObjectBuilder@@QAEXH@Z @ 301 NONAME ; void QMetaObjectBuilder::removeMethod(int)
 	?operationAt@QDeclarativeState@@QBEPAVQDeclarativeStateOperation@@H@Z @ 302 NONAME ; class QDeclarativeStateOperation * QDeclarativeState::operationAt(int) const
 	?methodCount@QMetaObjectBuilder@@QBEHXZ @ 303 NONAME ; int QMetaObjectBuilder::methodCount(void) const
 	?font@QDeclarativeText@@QBE?AVQFont@@XZ @ 304 NONAME ; class QFont QDeclarativeText::font(void) const
@@ -344,111 +344,111 @@ EXPORTS
 	?interfaceIId@QDeclarativeType@@QBEPBDXZ @ 343 NONAME ; char const * QDeclarativeType::interfaceIId(void) const
 	?resetHorizontalCenter@QDeclarativeAnchors@@QAEXXZ @ 344 NONAME ; void QDeclarativeAnchors::resetHorizontalCenter(void)
 	?outputWarningsToStandardError@QDeclarativeEngine@@QBE_NXZ @ 345 NONAME ; bool QDeclarativeEngine::outputWarningsToStandardError(void) const
-	?getStaticMetaObject@QDeclarativeBehavior@@SAABUQMetaObject@@XZ @ 346 NONAME ; struct QMetaObject const & QDeclarativeBehavior::getStaticMetaObject(void)
-	??0QMetaEnumBuilder@@QAE@XZ @ 347 NONAME ; QMetaEnumBuilder::QMetaEnumBuilder(void)
-	?isValueType@QDeclarativeValueTypeFactory@@SA_NH@Z @ 348 NONAME ; bool QDeclarativeValueTypeFactory::isValueType(int)
-	?setWidth@QDeclarativePen@@QAEXH@Z @ 349 NONAME ; void QDeclarativePen::setWidth(int)
-	?isReadable@QMetaPropertyBuilder@@QBE_NXZ @ 350 NONAME ; bool QMetaPropertyBuilder::isReadable(void) const
-	?metaObject@QDeclarativeExpression@@UBEPBUQMetaObject@@XZ @ 351 NONAME ; struct QMetaObject const * QDeclarativeExpression::metaObject(void) const
-	??0QDeclarativeDomValueLiteral@@QAE@ABV0@@Z @ 352 NONAME ; QDeclarativeDomValueLiteral::QDeclarativeDomValueLiteral(class QDeclarativeDomValueLiteral const &)
-	?getStaticMetaObject@QDeclarativeDebugQuery@@SAABUQMetaObject@@XZ @ 353 NONAME ; struct QMetaObject const & QDeclarativeDebugQuery::getStaticMetaObject(void)
-	??0QDeclarativeDomComponent@@QAE@XZ @ 354 NONAME ; QDeclarativeDomComponent::QDeclarativeDomComponent(void)
-	??1QDeclarativePropertyPrivate@@QAE@XZ @ 355 NONAME ; QDeclarativePropertyPrivate::~QDeclarativePropertyPrivate(void)
-	?setBaselineOffset@QDeclarativeItem@@QAEXM@Z @ 356 NONAME ; void QDeclarativeItem::setBaselineOffset(float)
-	??0QDeclarativeDebugPropertyReference@@QAE@XZ @ 357 NONAME ; QDeclarativeDebugPropertyReference::QDeclarativeDebugPropertyReference(void)
-	?tr@QDeclarativeStateOperation@@SA?AVQString@@PBD0H@Z @ 358 NONAME ; class QString QDeclarativeStateOperation::tr(char const *, char const *, int)
-	?setState@QDeclarativeStateGroup@@QAEXABVQString@@@Z @ 359 NONAME ; void QDeclarativeStateGroup::setState(class QString const &)
-	??_EQDeclarativeImageProvider@@UAE@I@Z @ 360 NONAME ; QDeclarativeImageProvider::~QDeclarativeImageProvider(unsigned int)
-	?trUtf8@QDeclarativeComponent@@SA?AVQString@@PBD0@Z @ 361 NONAME ; class QString QDeclarativeComponent::trUtf8(char const *, char const *)
-	?isLoading@QDeclarativeComponent@@QBE_NXZ @ 362 NONAME ; bool QDeclarativeComponent::isLoading(void) const
-	?createFunction@QDeclarativeType@@QBEP6AXPAX@ZXZ @ 363 NONAME ; void (*)(void *) QDeclarativeType::createFunction(void) const
-	?childrenRect@QDeclarativeItem@@QAE?AVQRectF@@XZ @ 364 NONAME ; class QRectF QDeclarativeItem::childrenRect(void)
-	?tr@QDeclarativeEngineDebug@@SA?AVQString@@PBD0@Z @ 365 NONAME ; class QString QDeclarativeEngineDebug::tr(char const *, char const *)
-	?objectTypeMajorVersion@QDeclarativeDomObject@@QBEHXZ @ 366 NONAME ; int QDeclarativeDomObject::objectTypeMajorVersion(void) const
-	??6QDeclarativeInfo@@QAEAAV0@D@Z @ 367 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(char)
-	??1QDeclarativeDomValueLiteral@@QAE@XZ @ 368 NONAME ; QDeclarativeDomValueLiteral::~QDeclarativeDomValueLiteral(void)
-	?keepMouseGrab@QDeclarativeItem@@QBE_NXZ @ 369 NONAME ; bool QDeclarativeItem::keepMouseGrab(void) const
-	?tr@QDeclarativeEngineDebug@@SA?AVQString@@PBD0H@Z @ 370 NONAME ; class QString QDeclarativeEngineDebug::tr(char const *, char const *, int)
-	?getStaticMetaObject@QDeclarativeDebugConnection@@SAABUQMetaObject@@XZ @ 371 NONAME ; struct QMetaObject const & QDeclarativeDebugConnection::getStaticMetaObject(void)
-	?trUtf8@QDeclarativeDebugRootContextQuery@@SA?AVQString@@PBD0@Z @ 372 NONAME ; class QString QDeclarativeDebugRootContextQuery::trUtf8(char const *, char const *)
-	??AQDeclarativeOpenMetaObject@@QAEAAVQVariant@@H@Z @ 373 NONAME ; class QVariant & QDeclarativeOpenMetaObject::operator[](int)
-	??0Variant@QDeclarativeParser@@QAE@XZ @ 374 NONAME ; QDeclarativeParser::Variant::Variant(void)
-	?status@QDeclarativeView@@QBE?AW4Status@1@XZ @ 375 NONAME ; enum QDeclarativeView::Status QDeclarativeView::status(void) const
-	??0QDeclarativeEngineDebug@@QAE@PAVQDeclarativeDebugConnection@@PAVQObject@@@Z @ 376 NONAME ; QDeclarativeEngineDebug::QDeclarativeEngineDebug(class QDeclarativeDebugConnection *, class QObject *)
-	?create@QDeclarativeComponent@@UAEPAVQObject@@PAVQDeclarativeContext@@@Z @ 377 NONAME ; class QObject * QDeclarativeComponent::create(class QDeclarativeContext *)
-	??_EQPacket@@UAE@I@Z @ 378 NONAME ; QPacket::~QPacket(unsigned int)
-	?trUtf8@QDeclarativeScaleGrid@@SA?AVQString@@PBD0H@Z @ 379 NONAME ; class QString QDeclarativeScaleGrid::trUtf8(char const *, char const *, int)
-	?isResettable@QDeclarativeProperty@@QBE_NXZ @ 380 NONAME ; bool QDeclarativeProperty::isResettable(void) const
-	?isList@QDeclarativeCustomParserProperty@@QBE_NXZ @ 381 NONAME ; bool QDeclarativeCustomParserProperty::isList(void) const
-	?resetVerticalCenter@QDeclarativeAnchors@@QAEXXZ @ 382 NONAME ; void QDeclarativeAnchors::resetVerticalCenter(void)
-	??0QDeclarativeValueType@@QAE@PAVQObject@@@Z @ 383 NONAME ; QDeclarativeValueType::QDeclarativeValueType(class QObject *)
-	?staticMetaObject@QDeclarativeDebugConnection@@2UQMetaObject@@B @ 384 NONAME ; struct QMetaObject const QDeclarativeDebugConnection::staticMetaObject
-	?isLiteral@QDeclarativeDomValue@@QBE_NXZ @ 385 NONAME ; bool QDeclarativeDomValue::isLiteral(void) const
-	?qt_metacall@QDeclarativeItem@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 386 NONAME ; int QDeclarativeItem::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?qt_metacall@QListModelInterface@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 387 NONAME ; int QListModelInterface::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?move@QDeclarativeListModel@@QAEXHHH@Z @ 388 NONAME ; void QDeclarativeListModel::move(int, int, int)
-	?metaObject@QDeclarativeBehavior@@UBEPBUQMetaObject@@XZ @ 389 NONAME ; struct QMetaObject const * QDeclarativeBehavior::metaObject(void) const
-	?inputMethodPreHandler@QDeclarativeItem@@IAEXPAVQInputMethodEvent@@@Z @ 390 NONAME ; void QDeclarativeItem::inputMethodPreHandler(class QInputMethodEvent *)
-	?d_func@QDeclarativeText@@AAEPAVQDeclarativeTextPrivate@@XZ @ 391 NONAME ; class QDeclarativeTextPrivate * QDeclarativeText::d_func(void)
-	?signature@QMetaMethodBuilder@@QBE?AVQByteArray@@XZ @ 392 NONAME ; class QByteArray QMetaMethodBuilder::signature(void) const
-	??_EQDeclarativeParserStatus@@UAE@I@Z @ 393 NONAME ; QDeclarativeParserStatus::~QDeclarativeParserStatus(unsigned int)
-	?rightMargin@QDeclarativeAnchors@@QBEMXZ @ 394 NONAME ; float QDeclarativeAnchors::rightMargin(void) const
-	?itemsMoved@QListModelInterface@@IAEXHHH@Z @ 395 NONAME ; void QListModelInterface::itemsMoved(int, int, int)
-	?rectFFromString@QDeclarativeStringConverters@@YA?AVQRectF@@ABVQString@@PA_N@Z @ 396 NONAME ; class QRectF QDeclarativeStringConverters::rectFFromString(class QString const &, bool *)
-	?canAt@QDeclarativeListReference@@QBE_NXZ @ 397 NONAME ; bool QDeclarativeListReference::canAt(void) const
-	?children@QDeclarativeDebugObjectReference@@QBE?AV?$QList@VQDeclarativeDebugObjectReference@@@@XZ @ 398 NONAME ; class QList<class QDeclarativeDebugObjectReference> QDeclarativeDebugObjectReference::children(void) const
-	?tr@QDeclarativeDebugEnginesQuery@@SA?AVQString@@PBD0@Z @ 399 NONAME ; class QString QDeclarativeDebugEnginesQuery::tr(char const *, char const *)
-	?qt_metacall@QDeclarativeDebugExpressionQuery@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 400 NONAME ; int QDeclarativeDebugExpressionQuery::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?getStaticMetaObject@QDeclarativeEngine@@SAABUQMetaObject@@XZ @ 401 NONAME ; struct QMetaObject const & QDeclarativeEngine::getStaticMetaObject(void)
-	?paintEvent@QDeclarativeView@@MAEXPAVQPaintEvent@@@Z @ 402 NONAME ; void QDeclarativeView::paintEvent(class QPaintEvent *)
-	?name@QDeclarativeDebugPropertyWatch@@QBE?AVQString@@XZ @ 403 NONAME ; class QString QDeclarativeDebugPropertyWatch::name(void) const
-	?bindingType@QDeclarativeAbstractBinding@@UBE?AW4Type@1@XZ @ 404 NONAME ; enum QDeclarativeAbstractBinding::Type QDeclarativeAbstractBinding::bindingType(void) const
-	?margins@QDeclarativeAnchors@@QBEMXZ @ 405 NONAME ; float QDeclarativeAnchors::margins(void) const
-	?length@QDeclarativeDomProperty@@QBEHXZ @ 406 NONAME ; int QDeclarativeDomProperty::length(void) const
-	??1QDeclarativeDomImport@@QAE@XZ @ 407 NONAME ; QDeclarativeDomImport::~QDeclarativeDomImport(void)
-	?addRef@QDeclarativePixmapReply@@AAEXXZ @ 408 NONAME ABSENT ; void QDeclarativePixmapReply::addRef(void)
+	?height@QDeclarativePixmap@@QBEHXZ @ 346 NONAME ; int QDeclarativePixmap::height(void) const
+	?getStaticMetaObject@QDeclarativeBehavior@@SAABUQMetaObject@@XZ @ 347 NONAME ; struct QMetaObject const & QDeclarativeBehavior::getStaticMetaObject(void)
+	??0QMetaEnumBuilder@@QAE@XZ @ 348 NONAME ; QMetaEnumBuilder::QMetaEnumBuilder(void)
+	?isValueType@QDeclarativeValueTypeFactory@@SA_NH@Z @ 349 NONAME ; bool QDeclarativeValueTypeFactory::isValueType(int)
+	?setWidth@QDeclarativePen@@QAEXH@Z @ 350 NONAME ; void QDeclarativePen::setWidth(int)
+	?isReadable@QMetaPropertyBuilder@@QBE_NXZ @ 351 NONAME ; bool QMetaPropertyBuilder::isReadable(void) const
+	?metaObject@QDeclarativeExpression@@UBEPBUQMetaObject@@XZ @ 352 NONAME ; struct QMetaObject const * QDeclarativeExpression::metaObject(void) const
+	??0QDeclarativeDomValueLiteral@@QAE@ABV0@@Z @ 353 NONAME ; QDeclarativeDomValueLiteral::QDeclarativeDomValueLiteral(class QDeclarativeDomValueLiteral const &)
+	?getStaticMetaObject@QDeclarativeDebugQuery@@SAABUQMetaObject@@XZ @ 354 NONAME ; struct QMetaObject const & QDeclarativeDebugQuery::getStaticMetaObject(void)
+	??0QDeclarativeDomComponent@@QAE@XZ @ 355 NONAME ; QDeclarativeDomComponent::QDeclarativeDomComponent(void)
+	??1QDeclarativePropertyPrivate@@QAE@XZ @ 356 NONAME ; QDeclarativePropertyPrivate::~QDeclarativePropertyPrivate(void)
+	?setBaselineOffset@QDeclarativeItem@@QAEXM@Z @ 357 NONAME ; void QDeclarativeItem::setBaselineOffset(float)
+	??0QDeclarativeDebugPropertyReference@@QAE@XZ @ 358 NONAME ; QDeclarativeDebugPropertyReference::QDeclarativeDebugPropertyReference(void)
+	?tr@QDeclarativeStateOperation@@SA?AVQString@@PBD0H@Z @ 359 NONAME ; class QString QDeclarativeStateOperation::tr(char const *, char const *, int)
+	?setState@QDeclarativeStateGroup@@QAEXABVQString@@@Z @ 360 NONAME ; void QDeclarativeStateGroup::setState(class QString const &)
+	??_EQDeclarativeImageProvider@@UAE@I@Z @ 361 NONAME ; QDeclarativeImageProvider::~QDeclarativeImageProvider(unsigned int)
+	?trUtf8@QDeclarativeComponent@@SA?AVQString@@PBD0@Z @ 362 NONAME ; class QString QDeclarativeComponent::trUtf8(char const *, char const *)
+	?isLoading@QDeclarativeComponent@@QBE_NXZ @ 363 NONAME ; bool QDeclarativeComponent::isLoading(void) const
+	?createFunction@QDeclarativeType@@QBEP6AXPAX@ZXZ @ 364 NONAME ; void (*)(void *) QDeclarativeType::createFunction(void) const
+	?childrenRect@QDeclarativeItem@@QAE?AVQRectF@@XZ @ 365 NONAME ; class QRectF QDeclarativeItem::childrenRect(void)
+	?tr@QDeclarativeEngineDebug@@SA?AVQString@@PBD0@Z @ 366 NONAME ; class QString QDeclarativeEngineDebug::tr(char const *, char const *)
+	?objectTypeMajorVersion@QDeclarativeDomObject@@QBEHXZ @ 367 NONAME ; int QDeclarativeDomObject::objectTypeMajorVersion(void) const
+	??6QDeclarativeInfo@@QAEAAV0@D@Z @ 368 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(char)
+	??1QDeclarativeDomValueLiteral@@QAE@XZ @ 369 NONAME ; QDeclarativeDomValueLiteral::~QDeclarativeDomValueLiteral(void)
+	?keepMouseGrab@QDeclarativeItem@@QBE_NXZ @ 370 NONAME ; bool QDeclarativeItem::keepMouseGrab(void) const
+	?tr@QDeclarativeEngineDebug@@SA?AVQString@@PBD0H@Z @ 371 NONAME ; class QString QDeclarativeEngineDebug::tr(char const *, char const *, int)
+	?getStaticMetaObject@QDeclarativeDebugConnection@@SAABUQMetaObject@@XZ @ 372 NONAME ; struct QMetaObject const & QDeclarativeDebugConnection::getStaticMetaObject(void)
+	?trUtf8@QDeclarativeDebugRootContextQuery@@SA?AVQString@@PBD0@Z @ 373 NONAME ; class QString QDeclarativeDebugRootContextQuery::trUtf8(char const *, char const *)
+	??AQDeclarativeOpenMetaObject@@QAEAAVQVariant@@H@Z @ 374 NONAME ; class QVariant & QDeclarativeOpenMetaObject::operator[](int)
+	??0Variant@QDeclarativeParser@@QAE@XZ @ 375 NONAME ; QDeclarativeParser::Variant::Variant(void)
+	?status@QDeclarativeView@@QBE?AW4Status@1@XZ @ 376 NONAME ; enum QDeclarativeView::Status QDeclarativeView::status(void) const
+	??0QDeclarativeEngineDebug@@QAE@PAVQDeclarativeDebugConnection@@PAVQObject@@@Z @ 377 NONAME ; QDeclarativeEngineDebug::QDeclarativeEngineDebug(class QDeclarativeDebugConnection *, class QObject *)
+	?create@QDeclarativeComponent@@UAEPAVQObject@@PAVQDeclarativeContext@@@Z @ 378 NONAME ; class QObject * QDeclarativeComponent::create(class QDeclarativeContext *)
+	??_EQPacket@@UAE@I@Z @ 379 NONAME ; QPacket::~QPacket(unsigned int)
+	?trUtf8@QDeclarativeScaleGrid@@SA?AVQString@@PBD0H@Z @ 380 NONAME ; class QString QDeclarativeScaleGrid::trUtf8(char const *, char const *, int)
+	?isResettable@QDeclarativeProperty@@QBE_NXZ @ 381 NONAME ; bool QDeclarativeProperty::isResettable(void) const
+	?isList@QDeclarativeCustomParserProperty@@QBE_NXZ @ 382 NONAME ; bool QDeclarativeCustomParserProperty::isList(void) const
+	?resetVerticalCenter@QDeclarativeAnchors@@QAEXXZ @ 383 NONAME ; void QDeclarativeAnchors::resetVerticalCenter(void)
+	??0QDeclarativeValueType@@QAE@PAVQObject@@@Z @ 384 NONAME ; QDeclarativeValueType::QDeclarativeValueType(class QObject *)
+	?staticMetaObject@QDeclarativeDebugConnection@@2UQMetaObject@@B @ 385 NONAME ; struct QMetaObject const QDeclarativeDebugConnection::staticMetaObject
+	?isLiteral@QDeclarativeDomValue@@QBE_NXZ @ 386 NONAME ; bool QDeclarativeDomValue::isLiteral(void) const
+	?qt_metacall@QDeclarativeItem@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 387 NONAME ; int QDeclarativeItem::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?qt_metacall@QListModelInterface@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 388 NONAME ; int QListModelInterface::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?move@QDeclarativeListModel@@QAEXHHH@Z @ 389 NONAME ; void QDeclarativeListModel::move(int, int, int)
+	?metaObject@QDeclarativeBehavior@@UBEPBUQMetaObject@@XZ @ 390 NONAME ; struct QMetaObject const * QDeclarativeBehavior::metaObject(void) const
+	?inputMethodPreHandler@QDeclarativeItem@@IAEXPAVQInputMethodEvent@@@Z @ 391 NONAME ; void QDeclarativeItem::inputMethodPreHandler(class QInputMethodEvent *)
+	?d_func@QDeclarativeText@@AAEPAVQDeclarativeTextPrivate@@XZ @ 392 NONAME ; class QDeclarativeTextPrivate * QDeclarativeText::d_func(void)
+	?signature@QMetaMethodBuilder@@QBE?AVQByteArray@@XZ @ 393 NONAME ; class QByteArray QMetaMethodBuilder::signature(void) const
+	??_EQDeclarativeParserStatus@@UAE@I@Z @ 394 NONAME ; QDeclarativeParserStatus::~QDeclarativeParserStatus(unsigned int)
+	?rightMargin@QDeclarativeAnchors@@QBEMXZ @ 395 NONAME ; float QDeclarativeAnchors::rightMargin(void) const
+	?itemsMoved@QListModelInterface@@IAEXHHH@Z @ 396 NONAME ; void QListModelInterface::itemsMoved(int, int, int)
+	?rectFFromString@QDeclarativeStringConverters@@YA?AVQRectF@@ABVQString@@PA_N@Z @ 397 NONAME ; class QRectF QDeclarativeStringConverters::rectFFromString(class QString const &, bool *)
+	?canAt@QDeclarativeListReference@@QBE_NXZ @ 398 NONAME ; bool QDeclarativeListReference::canAt(void) const
+	?children@QDeclarativeDebugObjectReference@@QBE?AV?$QList@VQDeclarativeDebugObjectReference@@@@XZ @ 399 NONAME ; class QList<class QDeclarativeDebugObjectReference> QDeclarativeDebugObjectReference::children(void) const
+	?tr@QDeclarativeDebugEnginesQuery@@SA?AVQString@@PBD0@Z @ 400 NONAME ; class QString QDeclarativeDebugEnginesQuery::tr(char const *, char const *)
+	?qt_metacall@QDeclarativeDebugExpressionQuery@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 401 NONAME ; int QDeclarativeDebugExpressionQuery::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?getStaticMetaObject@QDeclarativeEngine@@SAABUQMetaObject@@XZ @ 402 NONAME ; struct QMetaObject const & QDeclarativeEngine::getStaticMetaObject(void)
+	?paintEvent@QDeclarativeView@@MAEXPAVQPaintEvent@@@Z @ 403 NONAME ; void QDeclarativeView::paintEvent(class QPaintEvent *)
+	?name@QDeclarativeDebugPropertyWatch@@QBE?AVQString@@XZ @ 404 NONAME ; class QString QDeclarativeDebugPropertyWatch::name(void) const
+	?bindingType@QDeclarativeAbstractBinding@@UBE?AW4Type@1@XZ @ 405 NONAME ; enum QDeclarativeAbstractBinding::Type QDeclarativeAbstractBinding::bindingType(void) const
+	?margins@QDeclarativeAnchors@@QBEMXZ @ 406 NONAME ; float QDeclarativeAnchors::margins(void) const
+	?length@QDeclarativeDomProperty@@QBEHXZ @ 407 NONAME ; int QDeclarativeDomProperty::length(void) const
+	??1QDeclarativeDomImport@@QAE@XZ @ 408 NONAME ; QDeclarativeDomImport::~QDeclarativeDomImport(void)
 	?mouseReleaseEvent@QDeclarativeText@@MAEXPAVQGraphicsSceneMouseEvent@@@Z @ 409 NONAME ; void QDeclarativeText::mouseReleaseEvent(class QGraphicsSceneMouseEvent *)
 	?isCustomType@QDeclarativeDomObject@@QBE_NXZ @ 410 NONAME ; bool QDeclarativeDomObject::isCustomType(void) const
-	?registerType@QDeclarativePrivate@@YAHABURegisterType@1@@Z @ 411 NONAME ABSENT ; int QDeclarativePrivate::registerType(struct QDeclarativePrivate::RegisterType const &)
-	?radius@QDeclarativeRectangle@@QBEMXZ @ 412 NONAME ; float QDeclarativeRectangle::radius(void) const
-	??0QDeclarativeComponent@@AAE@PAVQDeclarativeEngine@@PAVQDeclarativeCompiledData@@HHPAVQObject@@@Z @ 413 NONAME ; QDeclarativeComponent::QDeclarativeComponent(class QDeclarativeEngine *, class QDeclarativeCompiledData *, int, int, class QObject *)
-	?resources_count@QDeclarativeItemPrivate@@SAHPAV?$QDeclarativeListProperty@VQObject@@@@@Z @ 414 NONAME ; int QDeclarativeItemPrivate::resources_count(class QDeclarativeListProperty<class QObject> *)
-	?timerEvent@QDeclarativeView@@MAEXPAVQTimerEvent@@@Z @ 415 NONAME ; void QDeclarativeView::timerEvent(class QTimerEvent *)
-	?finished@QDeclarativePixmapReply@@IAEXXZ @ 416 NONAME ABSENT ; void QDeclarativePixmapReply::finished(void)
-	?setToState@QDeclarativeTransition@@QAEXABVQString@@@Z @ 417 NONAME ; void QDeclarativeTransition::setToState(class QString const &)
-	?methodType@QMetaMethodBuilder@@QBE?AW4MethodType@QMetaMethod@@XZ @ 418 NONAME ; enum QMetaMethod::MethodType QMetaMethodBuilder::methodType(void) const
-	?getStaticMetaObject@QDeclarativeView@@SAABUQMetaObject@@XZ @ 419 NONAME ; struct QMetaObject const & QDeclarativeView::getStaticMetaObject(void)
-	?metaObject@QDeclarativeStateOperation@@UBEPBUQMetaObject@@XZ @ 420 NONAME ; struct QMetaObject const * QDeclarativeStateOperation::metaObject(void) const
-	?keyReleasePreHandler@QDeclarativeItem@@IAEXPAVQKeyEvent@@@Z @ 421 NONAME ; void QDeclarativeItem::keyReleasePreHandler(class QKeyEvent *)
-	?append@QDeclarativeListModel@@QAEXABVQScriptValue@@@Z @ 422 NONAME ; void QDeclarativeListModel::append(class QScriptValue const &)
-	??1QDeclarativeDebugObjectReference@@QAE@XZ @ 423 NONAME ; QDeclarativeDebugObjectReference::~QDeclarativeDebugObjectReference(void)
-	?tr@QDeclarativeDebugClient@@SA?AVQString@@PBD0@Z @ 424 NONAME ; class QString QDeclarativeDebugClient::tr(char const *, char const *)
-	?resolvedUrl@QDeclarativeContext@@QAE?AVQUrl@@ABV2@@Z @ 425 NONAME ; class QUrl QDeclarativeContext::resolvedUrl(class QUrl const &)
-	?object@QDeclarativeListReference@@QBEPAVQObject@@XZ @ 426 NONAME ; class QObject * QDeclarativeListReference::object(void) const
-	?setEnabled@QDeclarativeBehavior@@QAEX_N@Z @ 427 NONAME ; void QDeclarativeBehavior::setEnabled(bool)
-	?line@QDeclarativeError@@QBEHXZ @ 428 NONAME ; int QDeclarativeError::line(void) const
-	?heightValid@QDeclarativeItem@@IBE_NXZ @ 429 NONAME ; bool QDeclarativeItem::heightValid(void) const
-	??1QDeclarativeOpenMetaObject@@UAE@XZ @ 430 NONAME ; QDeclarativeOpenMetaObject::~QDeclarativeOpenMetaObject(void)
-	??0QPacket@@QAE@XZ @ 431 NONAME ; QPacket::QPacket(void)
-	?trUtf8@QDeclarativePropertyMap@@SA?AVQString@@PBD0H@Z @ 432 NONAME ; class QString QDeclarativePropertyMap::trUtf8(char const *, char const *, int)
-	?trUtf8@QDeclarativeEngine@@SA?AVQString@@PBD0H@Z @ 433 NONAME ; class QString QDeclarativeEngine::trUtf8(char const *, char const *, int)
-	??0QDeclarativeDebugEngineReference@@QAE@XZ @ 434 NONAME ; QDeclarativeDebugEngineReference::QDeclarativeDebugEngineReference(void)
-	?qmlEngine@@YAPAVQDeclarativeEngine@@PBVQObject@@@Z @ 435 NONAME ; class QDeclarativeEngine * qmlEngine(class QObject const *)
-	?error@QDeclarativeExpression@@QBE?AVQDeclarativeError@@XZ @ 436 NONAME ; class QDeclarativeError QDeclarativeExpression::error(void) const
-	?tr@QDeclarativeDebugExpressionQuery@@SA?AVQString@@PBD0@Z @ 437 NONAME ; class QString QDeclarativeDebugExpressionQuery::tr(char const *, char const *)
-	?styleColorChanged@QDeclarativeText@@IAEXABVQColor@@@Z @ 438 NONAME ; void QDeclarativeText::styleColorChanged(class QColor const &)
-	?getStaticMetaObject@QDeclarativeDebugExpressionQuery@@SAABUQMetaObject@@XZ @ 439 NONAME ; struct QMetaObject const & QDeclarativeDebugExpressionQuery::getStaticMetaObject(void)
-	?trUtf8@QDeclarativeTransition@@SA?AVQString@@PBD0H@Z @ 440 NONAME ; class QString QDeclarativeTransition::trUtf8(char const *, char const *, int)
-	?writeValueProperty@QDeclarativePropertyPrivate@@QAE_NABVQVariant@@V?$QFlags@W4WriteFlag@QDeclarativePropertyPrivate@@@@@Z @ 441 NONAME ; bool QDeclarativePropertyPrivate::writeValueProperty(class QVariant const &, class QFlags<enum QDeclarativePropertyPrivate::WriteFlag>)
-	?errors@QDeclarativeCustomParser@@QBE?AV?$QList@VQDeclarativeError@@@@XZ @ 442 NONAME ; class QList<class QDeclarativeError> QDeclarativeCustomParser::errors(void) const
-	?statesProperty@QDeclarativeStateGroup@@QAE?AV?$QDeclarativeListProperty@VQDeclarativeState@@@@XZ @ 443 NONAME ; class QDeclarativeListProperty<class QDeclarativeState> QDeclarativeStateGroup::statesProperty(void)
-	?roles@QDeclarativeListModel@@UBE?AV?$QList@H@@XZ @ 444 NONAME ; class QList<int> QDeclarativeListModel::roles(void) const
-	?name@QMetaEnumBuilder@@QBE?AVQByteArray@@XZ @ 445 NONAME ; class QByteArray QMetaEnumBuilder::name(void) const
-	??_EQDeclarativeDebugRootContextQuery@@UAE@I@Z @ 446 NONAME ; QDeclarativeDebugRootContextQuery::~QDeclarativeDebugRootContextQuery(unsigned int)
-	?setColor@QDeclarativeRectangle@@QAEXABVQColor@@@Z @ 447 NONAME ; void QDeclarativeRectangle::setColor(class QColor const &)
-	?clipChanged@QDeclarativeItem@@IAEX_N@Z @ 448 NONAME ; void QDeclarativeItem::clipChanged(bool)
-	??0QDeclarativeCustomParser@@QAE@V?$QFlags@W4Flag@QDeclarativeCustomParser@@@@@Z @ 449 NONAME ; QDeclarativeCustomParser::QDeclarativeCustomParser(class QFlags<enum QDeclarativeCustomParser::Flag>)
-	?valueChanged@QDeclarativeDebugWatch@@IAEXABVQByteArray@@ABVQVariant@@@Z @ 450 NONAME ; void QDeclarativeDebugWatch::valueChanged(class QByteArray const &, class QVariant const &)
+	?radius@QDeclarativeRectangle@@QBEMXZ @ 411 NONAME ; float QDeclarativeRectangle::radius(void) const
+	??0QDeclarativeComponent@@AAE@PAVQDeclarativeEngine@@PAVQDeclarativeCompiledData@@HHPAVQObject@@@Z @ 412 NONAME ; QDeclarativeComponent::QDeclarativeComponent(class QDeclarativeEngine *, class QDeclarativeCompiledData *, int, int, class QObject *)
+	?resources_count@QDeclarativeItemPrivate@@SAHPAV?$QDeclarativeListProperty@VQObject@@@@@Z @ 413 NONAME ; int QDeclarativeItemPrivate::resources_count(class QDeclarativeListProperty<class QObject> *)
+	?timerEvent@QDeclarativeView@@MAEXPAVQTimerEvent@@@Z @ 414 NONAME ; void QDeclarativeView::timerEvent(class QTimerEvent *)
+	?setToState@QDeclarativeTransition@@QAEXABVQString@@@Z @ 415 NONAME ; void QDeclarativeTransition::setToState(class QString const &)
+	?requestPixmap@QDeclarativeImageProvider@@UAE?AVQPixmap@@ABVQString@@PAVQSize@@ABV4@@Z @ 416 NONAME ; class QPixmap QDeclarativeImageProvider::requestPixmap(class QString const &, class QSize *, class QSize const &)
+	?methodType@QMetaMethodBuilder@@QBE?AW4MethodType@QMetaMethod@@XZ @ 417 NONAME ; enum QMetaMethod::MethodType QMetaMethodBuilder::methodType(void) const
+	?getStaticMetaObject@QDeclarativeView@@SAABUQMetaObject@@XZ @ 418 NONAME ; struct QMetaObject const & QDeclarativeView::getStaticMetaObject(void)
+	?metaObject@QDeclarativeStateOperation@@UBEPBUQMetaObject@@XZ @ 419 NONAME ; struct QMetaObject const * QDeclarativeStateOperation::metaObject(void) const
+	?keyReleasePreHandler@QDeclarativeItem@@IAEXPAVQKeyEvent@@@Z @ 420 NONAME ; void QDeclarativeItem::keyReleasePreHandler(class QKeyEvent *)
+	?append@QDeclarativeListModel@@QAEXABVQScriptValue@@@Z @ 421 NONAME ; void QDeclarativeListModel::append(class QScriptValue const &)
+	??1QDeclarativeDebugObjectReference@@QAE@XZ @ 422 NONAME ; QDeclarativeDebugObjectReference::~QDeclarativeDebugObjectReference(void)
+	?tr@QDeclarativeDebugClient@@SA?AVQString@@PBD0@Z @ 423 NONAME ; class QString QDeclarativeDebugClient::tr(char const *, char const *)
+	?resolvedUrl@QDeclarativeContext@@QAE?AVQUrl@@ABV2@@Z @ 424 NONAME ; class QUrl QDeclarativeContext::resolvedUrl(class QUrl const &)
+	?object@QDeclarativeListReference@@QBEPAVQObject@@XZ @ 425 NONAME ; class QObject * QDeclarativeListReference::object(void) const
+	?setEnabled@QDeclarativeBehavior@@QAEX_N@Z @ 426 NONAME ; void QDeclarativeBehavior::setEnabled(bool)
+	?line@QDeclarativeError@@QBEHXZ @ 427 NONAME ; int QDeclarativeError::line(void) const
+	?heightValid@QDeclarativeItem@@IBE_NXZ @ 428 NONAME ; bool QDeclarativeItem::heightValid(void) const
+	??1QDeclarativeOpenMetaObject@@UAE@XZ @ 429 NONAME ; QDeclarativeOpenMetaObject::~QDeclarativeOpenMetaObject(void)
+	??0QPacket@@QAE@XZ @ 430 NONAME ; QPacket::QPacket(void)
+	?trUtf8@QDeclarativePropertyMap@@SA?AVQString@@PBD0H@Z @ 431 NONAME ; class QString QDeclarativePropertyMap::trUtf8(char const *, char const *, int)
+	?trUtf8@QDeclarativeEngine@@SA?AVQString@@PBD0H@Z @ 432 NONAME ; class QString QDeclarativeEngine::trUtf8(char const *, char const *, int)
+	??0QDeclarativeDebugEngineReference@@QAE@XZ @ 433 NONAME ; QDeclarativeDebugEngineReference::QDeclarativeDebugEngineReference(void)
+	?qmlEngine@@YAPAVQDeclarativeEngine@@PBVQObject@@@Z @ 434 NONAME ; class QDeclarativeEngine * qmlEngine(class QObject const *)
+	?error@QDeclarativeExpression@@QBE?AVQDeclarativeError@@XZ @ 435 NONAME ; class QDeclarativeError QDeclarativeExpression::error(void) const
+	?tr@QDeclarativeDebugExpressionQuery@@SA?AVQString@@PBD0@Z @ 436 NONAME ; class QString QDeclarativeDebugExpressionQuery::tr(char const *, char const *)
+	?styleColorChanged@QDeclarativeText@@IAEXABVQColor@@@Z @ 437 NONAME ; void QDeclarativeText::styleColorChanged(class QColor const &)
+	?getStaticMetaObject@QDeclarativeDebugExpressionQuery@@SAABUQMetaObject@@XZ @ 438 NONAME ; struct QMetaObject const & QDeclarativeDebugExpressionQuery::getStaticMetaObject(void)
+	?trUtf8@QDeclarativeTransition@@SA?AVQString@@PBD0H@Z @ 439 NONAME ; class QString QDeclarativeTransition::trUtf8(char const *, char const *, int)
+	?writeValueProperty@QDeclarativePropertyPrivate@@QAE_NABVQVariant@@V?$QFlags@W4WriteFlag@QDeclarativePropertyPrivate@@@@@Z @ 440 NONAME ; bool QDeclarativePropertyPrivate::writeValueProperty(class QVariant const &, class QFlags<enum QDeclarativePropertyPrivate::WriteFlag>)
+	?errors@QDeclarativeCustomParser@@QBE?AV?$QList@VQDeclarativeError@@@@XZ @ 441 NONAME ; class QList<class QDeclarativeError> QDeclarativeCustomParser::errors(void) const
+	?statesProperty@QDeclarativeStateGroup@@QAE?AV?$QDeclarativeListProperty@VQDeclarativeState@@@@XZ @ 442 NONAME ; class QDeclarativeListProperty<class QDeclarativeState> QDeclarativeStateGroup::statesProperty(void)
+	?roles@QDeclarativeListModel@@UBE?AV?$QList@H@@XZ @ 443 NONAME ; class QList<int> QDeclarativeListModel::roles(void) const
+	?name@QMetaEnumBuilder@@QBE?AVQByteArray@@XZ @ 444 NONAME ; class QByteArray QMetaEnumBuilder::name(void) const
+	??_EQDeclarativeDebugRootContextQuery@@UAE@I@Z @ 445 NONAME ; QDeclarativeDebugRootContextQuery::~QDeclarativeDebugRootContextQuery(unsigned int)
+	?setColor@QDeclarativeRectangle@@QAEXABVQColor@@@Z @ 446 NONAME ; void QDeclarativeRectangle::setColor(class QColor const &)
+	?clipChanged@QDeclarativeItem@@IAEX_N@Z @ 447 NONAME ; void QDeclarativeItem::clipChanged(bool)
+	??0QDeclarativeCustomParser@@QAE@V?$QFlags@W4Flag@QDeclarativeCustomParser@@@@@Z @ 448 NONAME ; QDeclarativeCustomParser::QDeclarativeCustomParser(class QFlags<enum QDeclarativeCustomParser::Flag>)
+	?valueChanged@QDeclarativeDebugWatch@@IAEXABVQByteArray@@ABVQVariant@@@Z @ 449 NONAME ; void QDeclarativeDebugWatch::valueChanged(class QByteArray const &, class QVariant const &)
+	?activeFocusChanged@QDeclarativeItem@@IAEX_N@Z @ 450 NONAME ; void QDeclarativeItem::activeFocusChanged(bool)
 	?smoothChanged@QDeclarativeItem@@IAEX_N@Z @ 451 NONAME ; void QDeclarativeItem::smoothChanged(bool)
 	?colorChanged@QDeclarativeText@@IAEXABVQColor@@@Z @ 452 NONAME ; void QDeclarativeText::colorChanged(class QColor const &)
 	?continueExecute@QDeclarativeView@@AAEXXZ @ 453 NONAME ; void QDeclarativeView::continueExecute(void)
@@ -485,41 +485,41 @@ EXPORTS
 	?staticMetaObject@QDeclarativeDebugService@@2UQMetaObject@@B @ 484 NONAME ; struct QMetaObject const QDeclarativeDebugService::staticMetaObject
 	?topMargin@QDeclarativeAnchors@@QBEMXZ @ 485 NONAME ; float QDeclarativeAnchors::topMargin(void) const
 	??0QDeclarativeDebugExpressionQuery@@AAE@PAVQObject@@@Z @ 486 NONAME ; QDeclarativeDebugExpressionQuery::QDeclarativeDebugExpressionQuery(class QObject *)
-	?qt_metacast@QDeclarativePixmapReply@@UAEPAXPBD@Z @ 487 NONAME ABSENT ; void * QDeclarativePixmapReply::qt_metacast(char const *)
-	??0QPacket@@IAE@ABVQByteArray@@@Z @ 488 NONAME ; QPacket::QPacket(class QByteArray const &)
+	??0QPacket@@IAE@ABVQByteArray@@@Z @ 487 NONAME ; QPacket::QPacket(class QByteArray const &)
+	?implicitSize@QDeclarativePixmap@@QBEABVQSize@@XZ @ 488 NONAME ; class QSize const & QDeclarativePixmap::implicitSize(void) const
 	?setFlags@QMetaObjectBuilder@@QAEXV?$QFlags@W4MetaObjectFlag@QMetaObjectBuilder@@@@@Z @ 489 NONAME ; void QMetaObjectBuilder::setFlags(class QFlags<enum QMetaObjectBuilder::MetaObjectFlag>)
 	?horizontalCenterChanged@QDeclarativeAnchors@@IAEXXZ @ 490 NONAME ; void QDeclarativeAnchors::horizontalCenterChanged(void)
 	?right@QDeclarativeItemPrivate@@QBE?AVQDeclarativeAnchorLine@@XZ @ 491 NONAME ; class QDeclarativeAnchorLine QDeclarativeItemPrivate::right(void) const
-	?pendingRequests@QDeclarativePixmapCache@@SAHXZ @ 492 NONAME ABSENT ; int QDeclarativePixmapCache::pendingRequests(void)
-	?staticMetaObject@QDeclarativeDebugObjectQuery@@2UQMetaObject@@B @ 493 NONAME ; struct QMetaObject const QDeclarativeDebugObjectQuery::staticMetaObject
-	?propertyRead@QDeclarativeOpenMetaObject@@MAEXH@Z @ 494 NONAME ; void QDeclarativeOpenMetaObject::propertyRead(int)
-	?importPathList@QDeclarativeEngine@@QBE?AVQStringList@@XZ @ 495 NONAME ; class QStringList QDeclarativeEngine::importPathList(void) const
-	?border@QDeclarativeRectangle@@QAEPAVQDeclarativePen@@XZ @ 496 NONAME ; class QDeclarativePen * QDeclarativeRectangle::border(void)
-	?baselineOffset@QDeclarativeItem@@QBEMXZ @ 497 NONAME ; float QDeclarativeItem::baselineOffset(void) const
-	?dateFromString@QDeclarativeStringConverters@@YA?AVQDate@@ABVQString@@PA_N@Z @ 498 NONAME ; class QDate QDeclarativeStringConverters::dateFromString(class QString const &, bool *)
-	?qt_metacast@QDeclarativeDebugObjectExpressionWatch@@UAEPAXPBD@Z @ 499 NONAME ; void * QDeclarativeDebugObjectExpressionWatch::qt_metacast(char const *)
-	??0QDeclarativeDomValue@@QAE@ABV0@@Z @ 500 NONAME ; QDeclarativeDomValue::QDeclarativeDomValue(class QDeclarativeDomValue const &)
-	??1QDeclarativeListModel@@UAE@XZ @ 501 NONAME ; QDeclarativeListModel::~QDeclarativeListModel(void)
-	?qmlAttachedPropertiesObject@@YAPAVQObject@@PAHPBV1@PBUQMetaObject@@_N@Z @ 502 NONAME ; class QObject * qmlAttachedPropertiesObject(int *, class QObject const *, struct QMetaObject const *, bool)
-	??_EQDeclarativeDebugClient@@UAE@I@Z @ 503 NONAME ; QDeclarativeDebugClient::~QDeclarativeDebugClient(unsigned int)
-	??4QDeclarativeDomComponent@@QAEAAV0@ABV0@@Z @ 504 NONAME ; class QDeclarativeDomComponent & QDeclarativeDomComponent::operator=(class QDeclarativeDomComponent const &)
-	?tr@QPacketProtocol@@SA?AVQString@@PBD0@Z @ 505 NONAME ; class QString QPacketProtocol::tr(char const *, char const *)
-	?setFont@QDeclarativeText@@QAEXABVQFont@@@Z @ 506 NONAME ; void QDeclarativeText::setFont(class QFont const &)
-	?fromChanged@QDeclarativeTransition@@IAEXXZ @ 507 NONAME ; void QDeclarativeTransition::fromChanged(void)
-	?addMethod@QMetaObjectBuilder@@QAE?AVQMetaMethodBuilder@@ABVQMetaMethod@@@Z @ 508 NONAME ; class QMetaMethodBuilder QMetaObjectBuilder::addMethod(class QMetaMethod const &)
-	?setHeight@QDeclarativeItemPrivate@@UAEXM@Z @ 509 NONAME ; void QDeclarativeItemPrivate::setHeight(float)
-	??0Variant@QDeclarativeParser@@QAE@ABV01@@Z @ 510 NONAME ; QDeclarativeParser::Variant::Variant(class QDeclarativeParser::Variant const &)
-	?getStaticMetaObject@QDeclarativeExtensionPlugin@@SAABUQMetaObject@@XZ @ 511 NONAME ; struct QMetaObject const & QDeclarativeExtensionPlugin::getStaticMetaObject(void)
-	??0QDeclarativeBinding@@QAE@PAXPAVQDeclarativeRefCount@@PAVQObject@@PAVQDeclarativeContextData@@ABVQString@@H2@Z @ 512 NONAME ; QDeclarativeBinding::QDeclarativeBinding(void *, class QDeclarativeRefCount *, class QObject *, class QDeclarativeContextData *, class QString const &, int, class QObject *)
-	?qt_metacast@QDeclarativeDebugClient@@UAEPAXPBD@Z @ 513 NONAME ; void * QDeclarativeDebugClient::qt_metacast(char const *)
-	?classInfoValue@QMetaObjectBuilder@@QBE?AVQByteArray@@H@Z @ 514 NONAME ; class QByteArray QMetaObjectBuilder::classInfoValue(int) const
-	?right@QDeclarativeScaleGrid@@QBEHXZ @ 515 NONAME ; int QDeclarativeScaleGrid::right(void) const
-	?setClassName@QMetaObjectBuilder@@QAEXABVQByteArray@@@Z @ 516 NONAME ; void QMetaObjectBuilder::setClassName(class QByteArray const &)
-	??1QDeclarativeAnchors@@UAE@XZ @ 517 NONAME ; QDeclarativeAnchors::~QDeclarativeAnchors(void)
-	?removeConstructor@QMetaObjectBuilder@@QAEXH@Z @ 518 NONAME ; void QMetaObjectBuilder::removeConstructor(int)
-	??4QDeclarativeDomValueValueInterceptor@@QAEAAV0@ABV0@@Z @ 519 NONAME ; class QDeclarativeDomValueValueInterceptor & QDeclarativeDomValueValueInterceptor::operator=(class QDeclarativeDomValueValueInterceptor const &)
-	?resolveType@QDeclarativeCustomParser@@IBEPBUQMetaObject@@ABVQByteArray@@@Z @ 520 NONAME ; struct QMetaObject const * QDeclarativeCustomParser::resolveType(class QByteArray const &) const
-	??_EQDeclarativePropertyValueSource@@UAE@I@Z @ 521 NONAME ; QDeclarativePropertyValueSource::~QDeclarativePropertyValueSource(unsigned int)
+	?staticMetaObject@QDeclarativeDebugObjectQuery@@2UQMetaObject@@B @ 492 NONAME ; struct QMetaObject const QDeclarativeDebugObjectQuery::staticMetaObject
+	?propertyRead@QDeclarativeOpenMetaObject@@MAEXH@Z @ 493 NONAME ; void QDeclarativeOpenMetaObject::propertyRead(int)
+	?importPathList@QDeclarativeEngine@@QBE?AVQStringList@@XZ @ 494 NONAME ; class QStringList QDeclarativeEngine::importPathList(void) const
+	?border@QDeclarativeRectangle@@QAEPAVQDeclarativePen@@XZ @ 495 NONAME ; class QDeclarativePen * QDeclarativeRectangle::border(void)
+	?baselineOffset@QDeclarativeItem@@QBEMXZ @ 496 NONAME ; float QDeclarativeItem::baselineOffset(void) const
+	?dateFromString@QDeclarativeStringConverters@@YA?AVQDate@@ABVQString@@PA_N@Z @ 497 NONAME ; class QDate QDeclarativeStringConverters::dateFromString(class QString const &, bool *)
+	?qt_metacast@QDeclarativeDebugObjectExpressionWatch@@UAEPAXPBD@Z @ 498 NONAME ; void * QDeclarativeDebugObjectExpressionWatch::qt_metacast(char const *)
+	??0QDeclarativeDomValue@@QAE@ABV0@@Z @ 499 NONAME ; QDeclarativeDomValue::QDeclarativeDomValue(class QDeclarativeDomValue const &)
+	??1QDeclarativeListModel@@UAE@XZ @ 500 NONAME ; QDeclarativeListModel::~QDeclarativeListModel(void)
+	?qmlAttachedPropertiesObject@@YAPAVQObject@@PAHPBV1@PBUQMetaObject@@_N@Z @ 501 NONAME ; class QObject * qmlAttachedPropertiesObject(int *, class QObject const *, struct QMetaObject const *, bool)
+	??_EQDeclarativeDebugClient@@UAE@I@Z @ 502 NONAME ; QDeclarativeDebugClient::~QDeclarativeDebugClient(unsigned int)
+	??4QDeclarativeDomComponent@@QAEAAV0@ABV0@@Z @ 503 NONAME ; class QDeclarativeDomComponent & QDeclarativeDomComponent::operator=(class QDeclarativeDomComponent const &)
+	?tr@QPacketProtocol@@SA?AVQString@@PBD0@Z @ 504 NONAME ; class QString QPacketProtocol::tr(char const *, char const *)
+	?setFont@QDeclarativeText@@QAEXABVQFont@@@Z @ 505 NONAME ; void QDeclarativeText::setFont(class QFont const &)
+	?fromChanged@QDeclarativeTransition@@IAEXXZ @ 506 NONAME ; void QDeclarativeTransition::fromChanged(void)
+	?addMethod@QMetaObjectBuilder@@QAE?AVQMetaMethodBuilder@@ABVQMetaMethod@@@Z @ 507 NONAME ; class QMetaMethodBuilder QMetaObjectBuilder::addMethod(class QMetaMethod const &)
+	?setHeight@QDeclarativeItemPrivate@@UAEXM@Z @ 508 NONAME ; void QDeclarativeItemPrivate::setHeight(float)
+	??0Variant@QDeclarativeParser@@QAE@ABV01@@Z @ 509 NONAME ; QDeclarativeParser::Variant::Variant(class QDeclarativeParser::Variant const &)
+	?getStaticMetaObject@QDeclarativeExtensionPlugin@@SAABUQMetaObject@@XZ @ 510 NONAME ; struct QMetaObject const & QDeclarativeExtensionPlugin::getStaticMetaObject(void)
+	??0QDeclarativeBinding@@QAE@PAXPAVQDeclarativeRefCount@@PAVQObject@@PAVQDeclarativeContextData@@ABVQString@@H2@Z @ 511 NONAME ; QDeclarativeBinding::QDeclarativeBinding(void *, class QDeclarativeRefCount *, class QObject *, class QDeclarativeContextData *, class QString const &, int, class QObject *)
+	?qt_metacast@QDeclarativeDebugClient@@UAEPAXPBD@Z @ 512 NONAME ; void * QDeclarativeDebugClient::qt_metacast(char const *)
+	?classInfoValue@QMetaObjectBuilder@@QBE?AVQByteArray@@H@Z @ 513 NONAME ; class QByteArray QMetaObjectBuilder::classInfoValue(int) const
+	?right@QDeclarativeScaleGrid@@QBEHXZ @ 514 NONAME ; int QDeclarativeScaleGrid::right(void) const
+	?setClassName@QMetaObjectBuilder@@QAEXABVQByteArray@@@Z @ 515 NONAME ; void QMetaObjectBuilder::setClassName(class QByteArray const &)
+	??1QDeclarativeAnchors@@UAE@XZ @ 516 NONAME ; QDeclarativeAnchors::~QDeclarativeAnchors(void)
+	?removeConstructor@QMetaObjectBuilder@@QAEXH@Z @ 517 NONAME ; void QMetaObjectBuilder::removeConstructor(int)
+	??4QDeclarativeDomValueValueInterceptor@@QAEAAV0@ABV0@@Z @ 518 NONAME ; class QDeclarativeDomValueValueInterceptor & QDeclarativeDomValueValueInterceptor::operator=(class QDeclarativeDomValueValueInterceptor const &)
+	?resolveType@QDeclarativeCustomParser@@IBEPBUQMetaObject@@ABVQByteArray@@@Z @ 519 NONAME ; struct QMetaObject const * QDeclarativeCustomParser::resolveType(class QByteArray const &) const
+	??_EQDeclarativePropertyValueSource@@UAE@I@Z @ 520 NONAME ; QDeclarativePropertyValueSource::~QDeclarativePropertyValueSource(unsigned int)
+	?connectFinished@QDeclarativePixmap@@QAE_NPAVQObject@@PBD@Z @ 521 NONAME ; bool QDeclarativePixmap::connectFinished(class QObject *, char const *)
 	?staticMetaObject@QDeclarativeItem@@2UQMetaObject@@B @ 522 NONAME ; struct QMetaObject const QDeclarativeItem::staticMetaObject
 	?qt_metacast@QDeclarativeDebugRootContextQuery@@UAEPAXPBD@Z @ 523 NONAME ; void * QDeclarativeDebugRootContextQuery::qt_metacast(char const *)
 	?itemsRemoved@QListModelInterface@@IAEXHH@Z @ 524 NONAME ; void QListModelInterface::itemsRemoved(int, int)
@@ -529,343 +529,343 @@ EXPORTS
 	?addProperty@QMetaObjectBuilder@@QAE?AVQMetaPropertyBuilder@@ABVQByteArray@@0H@Z @ 528 NONAME ; class QMetaPropertyBuilder QMetaObjectBuilder::addProperty(class QByteArray const &, class QByteArray const &, int)
 	?getStaticMetaObject@QDeclarativeState@@SAABUQMetaObject@@XZ @ 529 NONAME ; struct QMetaObject const & QDeclarativeState::getStaticMetaObject(void)
 	?isResettable@QMetaPropertyBuilder@@QBE_NXZ @ 530 NONAME ; bool QMetaPropertyBuilder::isResettable(void) const
-	?bottomMarginChanged@QDeclarativeAnchors@@IAEXXZ @ 531 NONAME ; void QDeclarativeAnchors::bottomMarginChanged(void)
-	?offlineStoragePath@QDeclarativeEngine@@QBE?AVQString@@XZ @ 532 NONAME ; class QString QDeclarativeEngine::offlineStoragePath(void) const
-	?keys@QDeclarativePropertyMap@@QBE?AVQStringList@@XZ @ 533 NONAME ; class QStringList QDeclarativePropertyMap::keys(void) const
-	?addItemChangeListener@QDeclarativeItemPrivate@@QAEXPAVQDeclarativeItemChangeListener@@V?$QFlags@W4ChangeType@QDeclarativeItemPrivate@@@@@Z @ 534 NONAME ; void QDeclarativeItemPrivate::addItemChangeListener(class QDeclarativeItemChangeListener *, class QFlags<enum QDeclarativeItemPrivate::ChangeType>)
-	?addConstructor@QMetaObjectBuilder@@QAE?AVQMetaMethodBuilder@@ABVQMetaMethod@@@Z @ 535 NONAME ; class QMetaMethodBuilder QMetaObjectBuilder::addConstructor(class QMetaMethod const &)
-	??6QDeclarativeInfo@@QAEAAV0@F@Z @ 536 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(short)
-	?serialize@QMetaObjectBuilder@@QBEXAAVQDataStream@@@Z @ 537 NONAME ; void QMetaObjectBuilder::serialize(class QDataStream &) const
-	??0QDeclarativeDebugContextReference@@QAE@ABV0@@Z @ 538 NONAME ; QDeclarativeDebugContextReference::QDeclarativeDebugContextReference(class QDeclarativeDebugContextReference const &)
-	?saveProperty@QDeclarativePropertyPrivate@@SA?AVQByteArray@@PBUQMetaObject@@H@Z @ 539 NONAME ; class QByteArray QDeclarativePropertyPrivate::saveProperty(struct QMetaObject const *, int)
-	?propertyType@QDeclarativeProperty@@QBEHXZ @ 540 NONAME ; int QDeclarativeProperty::propertyType(void) const
-	?isDefaultProperty@QDeclarativeDomDynamicProperty@@QBE_NXZ @ 541 NONAME ; bool QDeclarativeDomDynamicProperty::isDefaultProperty(void) const
-	??_EQDeclarativeBehavior@@UAE@I@Z @ 542 NONAME ; QDeclarativeBehavior::~QDeclarativeBehavior(unsigned int)
-	??_EQDeclarativeListModel@@UAE@I@Z @ 543 NONAME ; QDeclarativeListModel::~QDeclarativeListModel(unsigned int)
-	?isCreatable@QDeclarativeType@@QBE_NXZ @ 544 NONAME ; bool QDeclarativeType::isCreatable(void) const
-	??6QDeclarativeInfo@@QAEAAV0@ABVQString@@@Z @ 545 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(class QString const &)
-	?tr@QDeclarativePen@@SA?AVQString@@PBD0@Z @ 546 NONAME ; class QString QDeclarativePen::tr(char const *, char const *)
-	?trUtf8@QDeclarativeContext@@SA?AVQString@@PBD0H@Z @ 547 NONAME ; class QString QDeclarativeContext::trUtf8(char const *, char const *, int)
-	??0QDeclarativeListModel@@QAE@PAVQObject@@@Z @ 548 NONAME ; QDeclarativeListModel::QDeclarativeListModel(class QObject *)
-	?addWatch@QDeclarativeEngineDebug@@QAEPAVQDeclarativeDebugWatch@@ABVQDeclarativeDebugContextReference@@ABVQString@@PAVQObject@@@Z @ 549 NONAME ; class QDeclarativeDebugWatch * QDeclarativeEngineDebug::addWatch(class QDeclarativeDebugContextReference const &, class QString const &, class QObject *)
-	?setColumn@QDeclarativeError@@QAEXH@Z @ 550 NONAME ; void QDeclarativeError::setColumn(int)
-	??1QDeclarativeTransition@@UAE@XZ @ 551 NONAME ; QDeclarativeTransition::~QDeclarativeTransition(void)
-	??AQDeclarativePropertyMap@@QBE?AVQVariant@@ABVQString@@@Z @ 552 NONAME ; class QVariant QDeclarativePropertyMap::operator[](class QString const &) const
-	?qt_metacall@QDeclarativeListModel@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 553 NONAME ; int QDeclarativeListModel::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?qdeclarativeelement_destructor@QDeclarativePrivate@@YAXPAVQObject@@@Z @ 554 NONAME ; void QDeclarativePrivate::qdeclarativeelement_destructor(class QObject *)
-	?registerCustomStringConverter@QDeclarativeMetaType@@SAXHP6A?AVQVariant@@ABVQString@@@Z@Z @ 555 NONAME ; void QDeclarativeMetaType::registerCustomStringConverter(int, class QVariant (*)(class QString const &))
-	?metaObject@QDeclarativeEngine@@UBEPBUQMetaObject@@XZ @ 556 NONAME ; struct QMetaObject const * QDeclarativeEngine::metaObject(void) const
-	??_EQDeclarativeDebugContextReference@@QAE@I@Z @ 557 NONAME ; QDeclarativeDebugContextReference::~QDeclarativeDebugContextReference(unsigned int)
-	?propertyWrite@QDeclarativeOpenMetaObject@@MAEXH@Z @ 558 NONAME ; void QDeclarativeOpenMetaObject::propertyWrite(int)
-	?qt_metacall@QDeclarativeDebugService@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 559 NONAME ; int QDeclarativeDebugService::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?setVerticalCenterOffset@QDeclarativeAnchors@@QAEXM@Z @ 560 NONAME ; void QDeclarativeAnchors::setVerticalCenterOffset(float)
-	??1QDeclarativeDebugWatch@@UAE@XZ @ 561 NONAME ; QDeclarativeDebugWatch::~QDeclarativeDebugWatch(void)
-	??1QPacketAutoSend@@UAE@XZ @ 562 NONAME ; QPacketAutoSend::~QPacketAutoSend(void)
-	?geometryChanged@QDeclarativeText@@MAEXABVQRectF@@0@Z @ 563 NONAME ; void QDeclarativeText::geometryChanged(class QRectF const &, class QRectF const &)
-	?d_func@QDeclarativeRectangle@@AAEPAVQDeclarativeRectanglePrivate@@XZ @ 564 NONAME ; class QDeclarativeRectanglePrivate * QDeclarativeRectangle::d_func(void)
-	?qt_metacast@QDeclarativeListModel@@UAEPAXPBD@Z @ 565 NONAME ; void * QDeclarativeListModel::qt_metacast(char const *)
-	?name@QDeclarativeCustomParserProperty@@QBE?AVQByteArray@@XZ @ 566 NONAME ; class QByteArray QDeclarativeCustomParserProperty::name(void) const
-	?update@QDeclarativeBinding@@QAEXXZ @ 567 NONAME ; void QDeclarativeBinding::update(void)
-	?trUtf8@QDeclarativeEngine@@SA?AVQString@@PBD0@Z @ 568 NONAME ; class QString QDeclarativeEngine::trUtf8(char const *, char const *)
-	?qt_metacast@QDeclarativeDebugConnection@@UAEPAXPBD@Z @ 569 NONAME ; void * QDeclarativeDebugConnection::qt_metacast(char const *)
-	?removeWatch@QDeclarativeEngineDebug@@QAEXPAVQDeclarativeDebugWatch@@@Z @ 570 NONAME ; void QDeclarativeEngineDebug::removeWatch(class QDeclarativeDebugWatch *)
-	?qt_metacast@QDeclarativeBinding@@UAEPAXPBD@Z @ 571 NONAME ; void * QDeclarativeBinding::qt_metacast(char const *)
-	?baseline@QDeclarativeAnchors@@QBE?AVQDeclarativeAnchorLine@@XZ @ 572 NONAME ; class QDeclarativeAnchorLine QDeclarativeAnchors::baseline(void) const
-	?restore@QDeclarativePropertyPrivate@@SA?AVQDeclarativeProperty@@ABVQByteArray@@PAVQObject@@PAVQDeclarativeContextData@@@Z @ 573 NONAME ; class QDeclarativeProperty QDeclarativePropertyPrivate::restore(class QByteArray const &, class QObject *, class QDeclarativeContextData *)
-	??0QDeclarativeProperty@@QAE@PAVQObject@@@Z @ 574 NONAME ; QDeclarativeProperty::QDeclarativeProperty(class QObject *)
-	?source@QDeclarativeDebugObjectReference@@QBE?AVQDeclarativeDebugFileReference@@XZ @ 575 NONAME ; class QDeclarativeDebugFileReference QDeclarativeDebugObjectReference::source(void) const
-	?tr@QDeclarativeDebugExpressionQuery@@SA?AVQString@@PBD0H@Z @ 576 NONAME ; class QString QDeclarativeDebugExpressionQuery::tr(char const *, char const *, int)
-	?qmlType@QDeclarativeMetaType@@SAPAVQDeclarativeType@@H@Z @ 577 NONAME ; class QDeclarativeType * QDeclarativeMetaType::qmlType(int)
-	??1QDeclarativeCustomParser@@UAE@XZ @ 578 NONAME ; QDeclarativeCustomParser::~QDeclarativeCustomParser(void)
-	?toList@QDeclarativeDomValue@@QBE?AVQDeclarativeDomList@@XZ @ 579 NONAME ; class QDeclarativeDomList QDeclarativeDomValue::toList(void) const
-	?metaObject@QDeclarativeType@@QBEPBUQMetaObject@@XZ @ 580 NONAME ; struct QMetaObject const * QDeclarativeType::metaObject(void) const
-	?animation@QDeclarativeBehavior@@QAEPAVQDeclarativeAbstractAnimation@@XZ @ 581 NONAME ; class QDeclarativeAbstractAnimation * QDeclarativeBehavior::animation(void)
-	?listType@QDeclarativeMetaType@@SAHH@Z @ 582 NONAME ; int QDeclarativeMetaType::listType(int)
-	?transform_append@QDeclarativeItemPrivate@@SAXPAV?$QDeclarativeListProperty@VQGraphicsTransform@@@@PAVQGraphicsTransform@@@Z @ 583 NONAME ; void QDeclarativeItemPrivate::transform_append(class QDeclarativeListProperty<class QGraphicsTransform> *, class QGraphicsTransform *)
-	?d_func@QDeclarativeComponent@@AAEPAVQDeclarativeComponentPrivate@@XZ @ 584 NONAME ; class QDeclarativeComponentPrivate * QDeclarativeComponent::d_func(void)
-	?variantFromString@QDeclarativeStringConverters@@YA?AVQVariant@@ABVQString@@@Z @ 585 NONAME ; class QVariant QDeclarativeStringConverters::variantFromString(class QString const &)
-	?qt_metacall@QDeclarativeScaleGrid@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 586 NONAME ; int QDeclarativeScaleGrid::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?size@QDeclarativePropertyMap@@QBEHXZ @ 587 NONAME ; int QDeclarativePropertyMap::size(void) const
-	?cancel@QDeclarativeState@@QAEXXZ @ 588 NONAME ; void QDeclarativeState::cancel(void)
-	?qt_metacall@QDeclarativeStateGroup@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 589 NONAME ; int QDeclarativeStateGroup::qt_metacall(enum QMetaObject::Call, int, void * *)
-	??0QDeclarativePropertyPrivate@@QAE@XZ @ 590 NONAME ; QDeclarativePropertyPrivate::QDeclarativePropertyPrivate(void)
-	?getStaticMetaObject@QDeclarativeDebugPropertyWatch@@SAABUQMetaObject@@XZ @ 591 NONAME ; struct QMetaObject const & QDeclarativeDebugPropertyWatch::getStaticMetaObject(void)
-	?trUtf8@QDeclarativeDebugWatch@@SA?AVQString@@PBD0H@Z @ 592 NONAME ; class QString QDeclarativeDebugWatch::trUtf8(char const *, char const *, int)
-	?transformOrigin@QDeclarativeItem@@QBE?AW4TransformOrigin@1@XZ @ 593 NONAME ; enum QDeclarativeItem::TransformOrigin QDeclarativeItem::transformOrigin(void) const
-	?setState@QDeclarativeDebugWatch@@AAEXW4State@1@@Z @ 594 NONAME ; void QDeclarativeDebugWatch::setState(enum QDeclarativeDebugWatch::State)
-	?evaluateEnum@QDeclarativeCustomParser@@IBEHABVQByteArray@@@Z @ 595 NONAME ; int QDeclarativeCustomParser::evaluateEnum(class QByteArray const &) const
-	?setState@QDeclarativeDebugQuery@@AAEXW4State@1@@Z @ 596 NONAME ; void QDeclarativeDebugQuery::setState(enum QDeclarativeDebugQuery::State)
-	?d_func@QDeclarativeText@@ABEPBVQDeclarativeTextPrivate@@XZ @ 597 NONAME ; class QDeclarativeTextPrivate const * QDeclarativeText::d_func(void) const
-	?transitionsProperty@QDeclarativeStateGroup@@QAE?AV?$QDeclarativeListProperty@VQDeclarativeTransition@@@@XZ @ 598 NONAME ; class QDeclarativeListProperty<class QDeclarativeTransition> QDeclarativeStateGroup::transitionsProperty(void)
-	?typeName@QDeclarativeType@@QBE?AVQByteArray@@XZ @ 599 NONAME ; class QByteArray QDeclarativeType::typeName(void) const
-	?asStringList@Variant@QDeclarativeParser@@QBE?AVQStringList@@XZ @ 600 NONAME ; class QStringList QDeclarativeParser::Variant::asStringList(void) const
-	?removeKey@QMetaEnumBuilder@@QAEXH@Z @ 601 NONAME ; void QMetaEnumBuilder::removeKey(int)
-	?downloadProgress@QDeclarativePixmapReply@@IAEX_J0@Z @ 602 NONAME ABSENT ; void QDeclarativePixmapReply::downloadProgress(long long, long long)
-	?addRelatedMetaObject@QMetaObjectBuilder@@QAEHABQ6AABUQMetaObject@@XZ@Z @ 603 NONAME ; int QMetaObjectBuilder::addRelatedMetaObject(struct QMetaObject const & (* const)(void) const &)
-	??0QDeclarativeDomValueLiteral@@QAE@XZ @ 604 NONAME ; QDeclarativeDomValueLiteral::QDeclarativeDomValueLiteral(void)
-	??_EQDeclarativeDebugObjectExpressionWatch@@UAE@I@Z @ 605 NONAME ; QDeclarativeDebugObjectExpressionWatch::~QDeclarativeDebugObjectExpressionWatch(unsigned int)
-	?computeTransformOrigin@QDeclarativeItemPrivate@@QBE?AVQPointF@@XZ @ 606 NONAME ; class QPointF QDeclarativeItemPrivate::computeTransformOrigin(void) const
-	??0QDeclarativeListReference@@QAE@PAVQObject@@PBDPAVQDeclarativeEngine@@@Z @ 607 NONAME ; QDeclarativeListReference::QDeclarativeListReference(class QObject *, char const *, class QDeclarativeEngine *)
-	?setData@QListModelInterface@@UAE_NHABV?$QHash@HVQVariant@@@@@Z @ 608 NONAME ; bool QListModelInterface::setData(int, class QHash<int, class QVariant> const &)
-	??0QDeclarativePen@@QAE@PAVQObject@@@Z @ 609 NONAME ; QDeclarativePen::QDeclarativePen(class QObject *)
-	?trUtf8@QPacketProtocol@@SA?AVQString@@PBD0H@Z @ 610 NONAME ; class QString QPacketProtocol::trUtf8(char const *, char const *, int)
-	?setContextObject@QDeclarativeContext@@QAEXPAVQObject@@@Z @ 611 NONAME ; void QDeclarativeContext::setContextObject(class QObject *)
-	??_EQDeclarativeState@@UAE@I@Z @ 612 NONAME ; QDeclarativeState::~QDeclarativeState(unsigned int)
-	?expression@QDeclarativeExpression@@QBE?AVQString@@XZ @ 613 NONAME ; class QString QDeclarativeExpression::expression(void) const
-	??1QDeclarativeDomDocument@@QAE@XZ @ 614 NONAME ; QDeclarativeDomDocument::~QDeclarativeDomDocument(void)
-	?trUtf8@QDeclarativeListModel@@SA?AVQString@@PBD0H@Z @ 615 NONAME ; class QString QDeclarativeListModel::trUtf8(char const *, char const *, int)
-	?asNumber@Variant@QDeclarativeParser@@QBENXZ @ 616 NONAME ; double QDeclarativeParser::Variant::asNumber(void) const
-	?d_func@QDeclarativeDebugClient@@ABEPBVQDeclarativeDebugClientPrivate@@XZ @ 617 NONAME ; class QDeclarativeDebugClientPrivate const * QDeclarativeDebugClient::d_func(void) const
-	?sceneEvent@QDeclarativeItem@@MAE_NPAVQEvent@@@Z @ 618 NONAME ; bool QDeclarativeItem::sceneEvent(class QEvent *)
-	??0QDeclarativeDebugRootContextQuery@@AAE@PAVQObject@@@Z @ 619 NONAME ; QDeclarativeDebugRootContextQuery::QDeclarativeDebugRootContextQuery(class QObject *)
-	?name@QDeclarativeDebugEngineReference@@QBE?AVQString@@XZ @ 620 NONAME ; class QString QDeclarativeDebugEngineReference::name(void) const
-	??_EQDeclarativeTransition@@UAE@I@Z @ 621 NONAME ; QDeclarativeTransition::~QDeclarativeTransition(unsigned int)
-	??0QDeclarativeAction@@QAE@ABV0@@Z @ 622 NONAME ; QDeclarativeAction::QDeclarativeAction(class QDeclarativeAction const &)
-	?extends@QDeclarativeState@@QBE?AVQString@@XZ @ 623 NONAME ; class QString QDeclarativeState::extends(void) const
-	?error@QDeclarativeCustomParser@@IAEXABVQDeclarativeCustomParserProperty@@ABVQString@@@Z @ 624 NONAME ; void QDeclarativeCustomParser::error(class QDeclarativeCustomParserProperty const &, class QString const &)
-	??0QDeclarativeCustomParserNode@@QAE@XZ @ 625 NONAME ; QDeclarativeCustomParserNode::QDeclarativeCustomParserNode(void)
-	?version@QDeclarativeDomImport@@QBE?AVQString@@XZ @ 626 NONAME ; class QString QDeclarativeDomImport::version(void) const
-	?smooth@QDeclarativeItem@@QBE_NXZ @ 627 NONAME ; bool QDeclarativeItem::smooth(void) const
-	?implicitSize@QDeclarativePixmapReply@@QBE?AVQSize@@XZ @ 628 NONAME ABSENT ; class QSize QDeclarativePixmapReply::implicitSize(void) const
-	??1QDeclarativeInfo@@QAE@XZ @ 629 NONAME ; QDeclarativeInfo::~QDeclarativeInfo(void)
-	?qt_metacast@QDeclarativeStateOperation@@UAEPAXPBD@Z @ 630 NONAME ; void * QDeclarativeStateOperation::qt_metacast(char const *)
-	??4QDeclarativeDebugEngineReference@@QAEAAV0@ABV0@@Z @ 631 NONAME ; class QDeclarativeDebugEngineReference & QDeclarativeDebugEngineReference::operator=(class QDeclarativeDebugEngineReference const &)
-	?isValueType@QDeclarativePropertyPrivate@@QBE_NXZ @ 632 NONAME ; bool QDeclarativePropertyPrivate::isValueType(void) const
-	??0QDeclarativeDomValueValueSource@@QAE@ABV0@@Z @ 633 NONAME ; QDeclarativeDomValueValueSource::QDeclarativeDomValueValueSource(class QDeclarativeDomValueValueSource const &)
-	?trUtf8@QDeclarativeDebugPropertyWatch@@SA?AVQString@@PBD0H@Z @ 634 NONAME ; class QString QDeclarativeDebugPropertyWatch::trUtf8(char const *, char const *, int)
-	??_EQDeclarativeDebugExpressionQuery@@UAE@I@Z @ 635 NONAME ; QDeclarativeDebugExpressionQuery::~QDeclarativeDebugExpressionQuery(unsigned int)
-	?trUtf8@QListModelInterface@@SA?AVQString@@PBD0H@Z @ 636 NONAME ; class QString QListModelInterface::trUtf8(char const *, char const *, int)
-	?qt_metacall@QDeclarativeDebugObjectExpressionWatch@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 637 NONAME ; int QDeclarativeDebugObjectExpressionWatch::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?d_func@QDeclarativeItem@@AAEPAVQDeclarativeItemPrivate@@XZ @ 638 NONAME ; class QDeclarativeItemPrivate * QDeclarativeItem::d_func(void)
-	?binding@QDeclarativeDomValueBinding@@QBE?AVQString@@XZ @ 639 NONAME ; class QString QDeclarativeDomValueBinding::binding(void) const
-	?updateAutoState@QDeclarativeStateGroup@@AAE_NXZ @ 640 NONAME ; bool QDeclarativeStateGroup::updateAutoState(void)
-	?tr@QDeclarativeDebugService@@SA?AVQString@@PBD0@Z @ 641 NONAME ; class QString QDeclarativeDebugService::tr(char const *, char const *)
-	?tr@QDeclarativeComponent@@SA?AVQString@@PBD0H@Z @ 642 NONAME ; class QString QDeclarativeComponent::tr(char const *, char const *, int)
-	??1QDeclarativeProperty@@QAE@XZ @ 643 NONAME ; QDeclarativeProperty::~QDeclarativeProperty(void)
-	?fontChanged@QDeclarativeText@@IAEXABVQFont@@@Z @ 644 NONAME ; void QDeclarativeText::fontChanged(class QFont const &)
-	?removeItemChangeListener@QDeclarativeItemPrivate@@QAEXPAVQDeclarativeItemChangeListener@@V?$QFlags@W4ChangeType@QDeclarativeItemPrivate@@@@@Z @ 645 NONAME ; void QDeclarativeItemPrivate::removeItemChangeListener(class QDeclarativeItemChangeListener *, class QFlags<enum QDeclarativeItemPrivate::ChangeType>)
-	?isList@QDeclarativeDomValue@@QBE_NXZ @ 646 NONAME ; bool QDeclarativeDomValue::isList(void) const
-	?insert@QDeclarativeListModel@@QAEXHABVQScriptValue@@@Z @ 647 NONAME ; void QDeclarativeListModel::insert(int, class QScriptValue const &)
-	?staticMetaObject@QDeclarativeListModel@@2UQMetaObject@@B @ 648 NONAME ; struct QMetaObject const QDeclarativeListModel::staticMetaObject
-	?indexOfConstructor@QMetaObjectBuilder@@QAEHABVQByteArray@@@Z @ 649 NONAME ; int QMetaObjectBuilder::indexOfConstructor(class QByteArray const &)
-	?lineNumber@QDeclarativeExpression@@QBEHXZ @ 650 NONAME ; int QDeclarativeExpression::lineNumber(void) const
-	?trUtf8@QDeclarativeDebugRootContextQuery@@SA?AVQString@@PBD0H@Z @ 651 NONAME ; class QString QDeclarativeDebugRootContextQuery::trUtf8(char const *, char const *, int)
-	?toString@QDeclarativeError@@QBE?AVQString@@XZ @ 652 NONAME ; class QString QDeclarativeError::toString(void) const
-	?index@QMetaPropertyBuilder@@QBEHXZ @ 653 NONAME ; int QMetaPropertyBuilder::index(void) const
-	?commaPositions@QDeclarativeDomList@@QBE?AV?$QList@H@@XZ @ 654 NONAME ; class QList<int> QDeclarativeDomList::commaPositions(void) const
-	?tr@QDeclarativeDebugObjectExpressionWatch@@SA?AVQString@@PBD0@Z @ 655 NONAME ; class QString QDeclarativeDebugObjectExpressionWatch::tr(char const *, char const *)
-	?tr@QDeclarativeAnchors@@SA?AVQString@@PBD0@Z @ 656 NONAME ; class QString QDeclarativeAnchors::tr(char const *, char const *)
-	?tr@QDeclarativeEngine@@SA?AVQString@@PBD0@Z @ 657 NONAME ; class QString QDeclarativeEngine::tr(char const *, char const *)
-	?setTextFormat@QDeclarativeText@@QAEXW4TextFormat@1@@Z @ 658 NONAME ; void QDeclarativeText::setTextFormat(enum QDeclarativeText::TextFormat)
-	?parserStatusCast@QDeclarativeType@@QBEHXZ @ 659 NONAME ; int QDeclarativeType::parserStatusCast(void) const
-	??_EQListModelInterface@@UAE@I@Z @ 660 NONAME ; QListModelInterface::~QListModelInterface(unsigned int)
-	?trUtf8@QDeclarativeBehavior@@SA?AVQString@@PBD0@Z @ 661 NONAME ; class QString QDeclarativeBehavior::trUtf8(char const *, char const *)
-	?getStaticMetaObject@QDeclarativeListModel@@SAABUQMetaObject@@XZ @ 662 NONAME ; struct QMetaObject const & QDeclarativeListModel::getStaticMetaObject(void)
-	?setStdCppSet@QMetaPropertyBuilder@@QAEX_N@Z @ 663 NONAME ; void QMetaPropertyBuilder::setStdCppSet(bool)
-	??0QDeclarativeItemPrivate@@QAE@XZ @ 664 NONAME ; QDeclarativeItemPrivate::QDeclarativeItemPrivate(void)
-	??0QDeclarativeDebugService@@QAE@ABVQString@@PAVQObject@@@Z @ 665 NONAME ; QDeclarativeDebugService::QDeclarativeDebugService(class QString const &, class QObject *)
-	??_EQPacketAutoSend@@UAE@I@Z @ 666 NONAME ; QPacketAutoSend::~QPacketAutoSend(unsigned int)
-	?saveValueType@QDeclarativePropertyPrivate@@SA?AVQByteArray@@PBUQMetaObject@@H0H@Z @ 667 NONAME ; class QByteArray QDeclarativePropertyPrivate::saveValueType(struct QMetaObject const *, int, struct QMetaObject const *, int)
-	?resetHeight@QDeclarativeItem@@QAEXXZ @ 668 NONAME ; void QDeclarativeItem::resetHeight(void)
-	?setVAlign@QDeclarativeText@@QAEXW4VAlignment@1@@Z @ 669 NONAME ; void QDeclarativeText::setVAlign(enum QDeclarativeText::VAlignment)
-	??1QDeclarativeDebugService@@UAE@XZ @ 670 NONAME ; QDeclarativeDebugService::~QDeclarativeDebugService(void)
-	?trUtf8@QDeclarativeDebugService@@SA?AVQString@@PBD0H@Z @ 671 NONAME ; class QString QDeclarativeDebugService::trUtf8(char const *, char const *, int)
-	?elideMode@QDeclarativeText@@QBE?AW4TextElideMode@1@XZ @ 672 NONAME ; enum QDeclarativeText::TextElideMode QDeclarativeText::elideMode(void) const
-	?baseUrl@QDeclarativeContext@@QBE?AVQUrl@@XZ @ 673 NONAME ; class QUrl QDeclarativeContext::baseUrl(void) const
-	?qt_metacall@QDeclarativeDebugRootContextQuery@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 674 NONAME ; int QDeclarativeDebugRootContextQuery::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?isNamed@QDeclarativeState@@QBE_NXZ @ 675 NONAME ; bool QDeclarativeState::isNamed(void) const
-	?isString@Variant@QDeclarativeParser@@QBE_NXZ @ 676 NONAME ; bool QDeclarativeParser::Variant::isString(void) const
-	?restart@QDeclarativeItemPrivate@@SA_JAAVQElapsedTimer@@@Z @ 677 NONAME ; long long QDeclarativeItemPrivate::restart(class QElapsedTimer &)
-	?trUtf8@QDeclarativeDebugClient@@SA?AVQString@@PBD0H@Z @ 678 NONAME ; class QString QDeclarativeDebugClient::trUtf8(char const *, char const *, int)
-	?qt_metacast@QDeclarativeTransition@@UAEPAXPBD@Z @ 679 NONAME ; void * QDeclarativeTransition::qt_metacast(char const *)
-	?timeFromString@QDeclarativeStringConverters@@YA?AVQTime@@ABVQString@@PA_N@Z @ 680 NONAME ; class QTime QDeclarativeStringConverters::timeFromString(class QString const &, bool *)
-	?d_func@QDeclarativeDebugClient@@AAEPAVQDeclarativeDebugClientPrivate@@XZ @ 681 NONAME ; class QDeclarativeDebugClientPrivate * QDeclarativeDebugClient::d_func(void)
-	??1QDeclarativeType@@AAE@XZ @ 682 NONAME ; QDeclarativeType::~QDeclarativeType(void)
-	?colorFromString@QDeclarativeStringConverters@@YA?AVQColor@@ABVQString@@PA_N@Z @ 683 NONAME ; class QColor QDeclarativeStringConverters::colorFromString(class QString const &, bool *)
-	??_EQPacketProtocol@@UAE@I@Z @ 684 NONAME ; QPacketProtocol::~QPacketProtocol(unsigned int)
-	?tr@QDeclarativeListModel@@SA?AVQString@@PBD0@Z @ 685 NONAME ; class QString QDeclarativeListModel::tr(char const *, char const *)
-	??0QDeclarativeDebugObjectReference@@QAE@XZ @ 686 NONAME ; QDeclarativeDebugObjectReference::QDeclarativeDebugObjectReference(void)
-	?staticMetaObject@QDeclarativeExtensionPlugin@@2UQMetaObject@@B @ 687 NONAME ; struct QMetaObject const QDeclarativeExtensionPlugin::staticMetaObject
-	?isNull@QDeclarativeScaleGrid@@QBE_NXZ @ 688 NONAME ; bool QDeclarativeScaleGrid::isNull(void) const
-	??_EQDeclarativeStateOperation@@UAE@I@Z @ 689 NONAME ; QDeclarativeStateOperation::~QDeclarativeStateOperation(unsigned int)
-	??6QDeclarativeInfo@@QAEAAV0@H@Z @ 690 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(int)
-	??0QDeclarativeDomDynamicProperty@@QAE@XZ @ 691 NONAME ; QDeclarativeDomDynamicProperty::QDeclarativeDomDynamicProperty(void)
-	?tr@QDeclarativeRectangle@@SA?AVQString@@PBD0H@Z @ 692 NONAME ; class QString QDeclarativeRectangle::tr(char const *, char const *, int)
-	?type@QDeclarativeProperty@@QBE?AW4Type@1@XZ @ 693 NONAME ; enum QDeclarativeProperty::Type QDeclarativeProperty::type(void) const
-	??0QDeclarativeDebugQuery@@IAE@PAVQObject@@@Z @ 694 NONAME ; QDeclarativeDebugQuery::QDeclarativeDebugQuery(class QObject *)
-	?baselineOffset@QDeclarativeAnchors@@QBEMXZ @ 695 NONAME ; float QDeclarativeAnchors::baselineOffset(void) const
-	??4QDeclarativeDomDocument@@QAEAAV0@ABV0@@Z @ 696 NONAME ; class QDeclarativeDomDocument & QDeclarativeDomDocument::operator=(class QDeclarativeDomDocument const &)
-	??0QDeclarativeOpenMetaObject@@QAE@PAVQObject@@PAVQDeclarativeOpenMetaObjectType@@_N@Z @ 697 NONAME ; QDeclarativeOpenMetaObject::QDeclarativeOpenMetaObject(class QObject *, class QDeclarativeOpenMetaObjectType *, bool)
-	?trUtf8@QDeclarativeExpression@@SA?AVQString@@PBD0@Z @ 698 NONAME ; class QString QDeclarativeExpression::trUtf8(char const *, char const *)
-	??0QPacketProtocol@@QAE@PAVQIODevice@@PAVQObject@@@Z @ 699 NONAME ; QPacketProtocol::QPacketProtocol(class QIODevice *, class QObject *)
-	??1QDeclarativeListReference@@QAE@XZ @ 700 NONAME ; QDeclarativeListReference::~QDeclarativeListReference(void)
-	?clearError@QDeclarativeExpression@@QAEXXZ @ 701 NONAME ; void QDeclarativeExpression::clearError(void)
-	?setLineNumber@QDeclarativeDebugFileReference@@QAEXH@Z @ 702 NONAME ; void QDeclarativeDebugFileReference::setLineNumber(int)
-	?qt_metacall@QDeclarativeExtensionPlugin@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 703 NONAME ; int QDeclarativeExtensionPlugin::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?boundingRect@QDeclarativeText@@UBE?AVQRectF@@XZ @ 704 NONAME ; class QRectF QDeclarativeText::boundingRect(void) const
-	?setColor@QDeclarativePen@@QAEXABVQColor@@@Z @ 705 NONAME ; void QDeclarativePen::setColor(class QColor const &)
-	??0QDeclarativeDomImport@@QAE@XZ @ 706 NONAME ; QDeclarativeDomImport::QDeclarativeDomImport(void)
-	?clearErrors@QDeclarativeCustomParser@@QAEXXZ @ 707 NONAME ; void QDeclarativeCustomParser::clearErrors(void)
-	?trUtf8@QDeclarativeDebugQuery@@SA?AVQString@@PBD0H@Z @ 708 NONAME ; class QString QDeclarativeDebugQuery::trUtf8(char const *, char const *, int)
-	?toRelocatableData@QMetaObjectBuilder@@QBE?AVQByteArray@@PA_N@Z @ 709 NONAME ; class QByteArray QMetaObjectBuilder::toRelocatableData(bool *) const
-	?qt_metacast@QDeclarativeView@@UAEPAXPBD@Z @ 710 NONAME ; void * QDeclarativeView::qt_metacast(char const *)
-	?mapToItem@QDeclarativeItem@@QBE?AVQScriptValue@@ABV2@MM@Z @ 711 NONAME ; class QScriptValue QDeclarativeItem::mapToItem(class QScriptValue const &, float, float) const
-	?setPluginPathList@QDeclarativeEngine@@QAEXABVQStringList@@@Z @ 712 NONAME ; void QDeclarativeEngine::setPluginPathList(class QStringList const &)
-	?metaObject@QDeclarativeState@@UBEPBUQMetaObject@@XZ @ 713 NONAME ; struct QMetaObject const * QDeclarativeState::metaObject(void) const
-	?errorString@QDeclarativePixmapReply@@QBE?AVQString@@XZ @ 714 NONAME ABSENT ; class QString QDeclarativePixmapReply::errorString(void) const
-	?boundingRect@QDeclarativeRectangle@@UBE?AVQRectF@@XZ @ 715 NONAME ; class QRectF QDeclarativeRectangle::boundingRect(void) const
-	?uri@QDeclarativeDomImport@@QBE?AVQString@@XZ @ 716 NONAME ; class QString QDeclarativeDomImport::uri(void) const
-	?setContextProperty@QDeclarativeContext@@QAEXABVQString@@PAVQObject@@@Z @ 717 NONAME ; void QDeclarativeContext::setContextProperty(class QString const &, class QObject *)
-	?setBaseUrl@QDeclarativeEngine@@QAEXABVQUrl@@@Z @ 718 NONAME ; void QDeclarativeEngine::setBaseUrl(class QUrl const &)
-	?trUtf8@QDeclarativeDebugEnginesQuery@@SA?AVQString@@PBD0H@Z @ 719 NONAME ; class QString QDeclarativeDebugEnginesQuery::trUtf8(char const *, char const *, int)
-	?setScriptable@QMetaPropertyBuilder@@QAEX_N@Z @ 720 NONAME ; void QMetaPropertyBuilder::setScriptable(bool)
-	??0QDeclarativeProperty@@QAE@PAVQObject@@PAVQDeclarativeEngine@@@Z @ 721 NONAME ; QDeclarativeProperty::QDeclarativeProperty(class QObject *, class QDeclarativeEngine *)
-	?itemsInserted@QListModelInterface@@IAEXHH@Z @ 722 NONAME ; void QListModelInterface::itemsInserted(int, int)
-	?generateBorderedRect@QDeclarativeRectangle@@AAEXXZ @ 723 NONAME ; void QDeclarativeRectangle::generateBorderedRect(void)
-	?verticalCenterOffsetChanged@QDeclarativeAnchors@@IAEXXZ @ 724 NONAME ; void QDeclarativeAnchors::verticalCenterOffsetChanged(void)
-	?width@QDeclarativeItem@@QBEMXZ @ 725 NONAME ; float QDeclarativeItem::width(void) const
-	?isValueInterceptor@QDeclarativeDomValue@@QBE_NXZ @ 726 NONAME ; bool QDeclarativeDomValue::isValueInterceptor(void) const
-	?transform_at@QDeclarativeItemPrivate@@SAPAVQGraphicsTransform@@PAV?$QDeclarativeListProperty@VQGraphicsTransform@@@@H@Z @ 727 NONAME ; class QGraphicsTransform * QDeclarativeItemPrivate::transform_at(class QDeclarativeListProperty<class QGraphicsTransform> *, int)
-	??1QDeclarativeDomValueBinding@@QAE@XZ @ 728 NONAME ; QDeclarativeDomValueBinding::~QDeclarativeDomValueBinding(void)
-	?qt_metacast@QDeclarativeAnchors@@UAEPAXPBD@Z @ 729 NONAME ; void * QDeclarativeAnchors::qt_metacast(char const *)
-	?isInterface@QDeclarativeMetaType@@SA_NH@Z @ 730 NONAME ; bool QDeclarativeMetaType::isInterface(int)
-	?qt_metacall@QDeclarativeRectangle@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 731 NONAME ; int QDeclarativeRectangle::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?trUtf8@QDeclarativePen@@SA?AVQString@@PBD0H@Z @ 732 NONAME ; class QString QDeclarativePen::trUtf8(char const *, char const *, int)
-	??0Variant@QDeclarativeParser@@QAE@ABVQString@@PAVNode@AST@QDeclarativeJS@@@Z @ 733 NONAME ; QDeclarativeParser::Variant::Variant(class QString const &, class QDeclarativeJS::AST::Node *)
-	?rootObject@QDeclarativeDomDocument@@QBE?AVQDeclarativeDomObject@@XZ @ 734 NONAME ; class QDeclarativeDomObject QDeclarativeDomDocument::rootObject(void) const
-	?rightChanged@QDeclarativeAnchors@@IAEXXZ @ 735 NONAME ; void QDeclarativeAnchors::rightChanged(void)
-	??6QDeclarativeInfo@@QAEAAV0@ABVQByteArray@@@Z @ 736 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(class QByteArray const &)
-	?qt_metacast@QDeclarativeEngine@@UAEPAXPBD@Z @ 737 NONAME ; void * QDeclarativeEngine::qt_metacast(char const *)
-	?objectType@QDeclarativeDomObject@@QBE?AVQByteArray@@XZ @ 738 NONAME ; class QByteArray QDeclarativeDomObject::objectType(void) const
-	?addConstructor@QMetaObjectBuilder@@QAE?AVQMetaMethodBuilder@@ABVQByteArray@@@Z @ 739 NONAME ; class QMetaMethodBuilder QMetaObjectBuilder::addConstructor(class QByteArray const &)
-	?read@QDeclarativeProperty@@SA?AVQVariant@@PAVQObject@@ABVQString@@PAVQDeclarativeContext@@@Z @ 740 NONAME ; class QVariant QDeclarativeProperty::read(class QObject *, class QString const &, class QDeclarativeContext *)
-	?staticMetaObject@QDeclarativeDebugExpressionQuery@@2UQMetaObject@@B @ 741 NONAME ; struct QMetaObject const QDeclarativeDebugExpressionQuery::staticMetaObject
-	?queryRootContexts@QDeclarativeEngineDebug@@QAEPAVQDeclarativeDebugRootContextQuery@@ABVQDeclarativeDebugEngineReference@@PAVQObject@@@Z @ 742 NONAME ; class QDeclarativeDebugRootContextQuery * QDeclarativeEngineDebug::queryRootContexts(class QDeclarativeDebugEngineReference const &, class QObject *)
-	?vector3DFromString@QDeclarativeStringConverters@@YA?AVQVector3D@@ABVQString@@PA_N@Z @ 743 NONAME ; class QVector3D QDeclarativeStringConverters::vector3DFromString(class QString const &, bool *)
-	??_EQDeclarativeDebugPropertyWatch@@UAE@I@Z @ 744 NONAME ; QDeclarativeDebugPropertyWatch::~QDeclarativeDebugPropertyWatch(unsigned int)
-	?relatedMetaObjectCount@QMetaObjectBuilder@@QBEHXZ @ 745 NONAME ; int QMetaObjectBuilder::relatedMetaObjectCount(void) const
-	?script@QDeclarativeScriptString@@QBE?AVQString@@XZ @ 746 NONAME ; class QString QDeclarativeScriptString::script(void) const
-	?index@QMetaMethodBuilder@@QBEHXZ @ 747 NONAME ; int QMetaMethodBuilder::index(void) const
-	??4QDeclarativeDomValueBinding@@QAEAAV0@ABV0@@Z @ 748 NONAME ; class QDeclarativeDomValueBinding & QDeclarativeDomValueBinding::operator=(class QDeclarativeDomValueBinding const &)
-	??0QDeclarativeExpression@@QAE@XZ @ 749 NONAME ; QDeclarativeExpression::QDeclarativeExpression(void)
-	?paint@QDeclarativeItem@@UAEXPAVQPainter@@PBVQStyleOptionGraphicsItem@@PAVQWidget@@@Z @ 750 NONAME ; void QDeclarativeItem::paint(class QPainter *, class QStyleOptionGraphicsItem const *, class QWidget *)
-	?send@QPacketProtocol@@QAE?AVQPacketAutoSend@@XZ @ 751 NONAME ; class QPacketAutoSend QPacketProtocol::send(void)
-	?countChanged@QDeclarativeListModel@@IAEXXZ @ 752 NONAME ; void QDeclarativeListModel::countChanged(void)
-	?setBindingForObject@QDeclarativeEngineDebug@@QAEPAVQDeclarativeDebugExpressionQuery@@HABVQString@@ABVQVariant@@_NPAVQObject@@@Z @ 753 NONAME ABSENT ; class QDeclarativeDebugExpressionQuery * QDeclarativeEngineDebug::setBindingForObject(int, class QString const &, class QVariant const &, bool, class QObject *)
-	??0QDeclarativeGridScaledImage@@QAE@PAVQIODevice@@@Z @ 754 NONAME ; QDeclarativeGridScaledImage::QDeclarativeGridScaledImage(class QIODevice *)
-	??_EQDeclarativeBinding@@UAE@I@Z @ 755 NONAME ; QDeclarativeBinding::~QDeclarativeBinding(unsigned int)
-	?baseMetaObject@QDeclarativeType@@QBEPBUQMetaObject@@XZ @ 756 NONAME ; struct QMetaObject const * QDeclarativeType::baseMetaObject(void) const
-	?tr@QDeclarativeDebugConnection@@SA?AVQString@@PBD0@Z @ 757 NONAME ; class QString QDeclarativeDebugConnection::tr(char const *, char const *)
-	?staticMetaObject@QDeclarativeBinding@@2UQMetaObject@@B @ 758 NONAME ; struct QMetaObject const QDeclarativeBinding::staticMetaObject
-	?qualifier@QDeclarativeDomImport@@QBE?AVQString@@XZ @ 759 NONAME ; class QString QDeclarativeDomImport::qualifier(void) const
-	?tr@QDeclarativePixmapCache@@SA?AVQString@@PBD0H@Z @ 760 NONAME ABSENT ; class QString QDeclarativePixmapCache::tr(char const *, char const *, int)
-	??0QDeclarativeProperty@@QAE@PAVQObject@@ABVQString@@PAVQDeclarativeContext@@@Z @ 761 NONAME ; QDeclarativeProperty::QDeclarativeProperty(class QObject *, class QString const &, class QDeclarativeContext *)
-	?setSuperClass@QMetaObjectBuilder@@QAEXPBUQMetaObject@@@Z @ 762 NONAME ; void QMetaObjectBuilder::setSuperClass(struct QMetaObject const *)
-	?contains@QDeclarativePropertyMap@@QBE_NABVQString@@@Z @ 763 NONAME ; bool QDeclarativePropertyMap::contains(class QString const &) const
-	?setGradient@QDeclarativeRectangle@@QAEXPAVQDeclarativeGradient@@@Z @ 764 NONAME ; void QDeclarativeRectangle::setGradient(class QDeclarativeGradient *)
-	?metaObject@QDeclarativeTransition@@UBEPBUQMetaObject@@XZ @ 765 NONAME ; struct QMetaObject const * QDeclarativeTransition::metaObject(void) const
-	?defaultMethod@QDeclarativeMetaType@@SA?AVQMetaMethod@@PBUQMetaObject@@@Z @ 766 NONAME ; class QMetaMethod QDeclarativeMetaType::defaultMethod(struct QMetaObject const *)
-	??0QDeclarativePixmapReply@@AAE@PAVQDeclarativeImageReader@@ABVQUrl@@HH@Z @ 767 NONAME ABSENT ; QDeclarativePixmapReply::QDeclarativePixmapReply(class QDeclarativeImageReader *, class QUrl const &, int, int)
-	?tr@QDeclarativeExtensionPlugin@@SA?AVQString@@PBD0H@Z @ 768 NONAME ; class QString QDeclarativeExtensionPlugin::tr(char const *, char const *, int)
-	?metaObject@QDeclarativeValueType@@UBEPBUQMetaObject@@XZ @ 769 NONAME ; struct QMetaObject const * QDeclarativeValueType::metaObject(void) const
-	?hasNotifySignal@QDeclarativeProperty@@QBE_NXZ @ 770 NONAME ; bool QDeclarativeProperty::hasNotifySignal(void) const
-	?create@QDeclarativeType@@QBEXPAPAVQObject@@PAPAXI@Z @ 771 NONAME ; void QDeclarativeType::create(class QObject * *, void * *, unsigned int) const
-	?reversible@QDeclarativeTransition@@QBE_NXZ @ 772 NONAME ; bool QDeclarativeTransition::reversible(void) const
-	?invalidPacket@QPacketProtocol@@IAEXXZ @ 773 NONAME ; void QPacketProtocol::invalidPacket(void)
-	??0QDeclarativeDebugObjectReference@@QAE@H@Z @ 774 NONAME ; QDeclarativeDebugObjectReference::QDeclarativeDebugObjectReference(int)
-	?superClass@QMetaObjectBuilder@@QBEPBUQMetaObject@@XZ @ 775 NONAME ; struct QMetaObject const * QMetaObjectBuilder::superClass(void) const
-	?isValid@QDeclarativeListReference@@QBE_NXZ @ 776 NONAME ; bool QDeclarativeListReference::isValid(void) const
-	?source@QDeclarativeView@@QBE?AVQUrl@@XZ @ 777 NONAME ; class QUrl QDeclarativeView::source(void) const
-	?method@QDeclarativeProperty@@QBE?AVQMetaMethod@@XZ @ 778 NONAME ; class QMetaMethod QDeclarativeProperty::method(void) const
-	??0QDeclarativeInfo@@QAE@ABV0@@Z @ 779 NONAME ; QDeclarativeInfo::QDeclarativeInfo(class QDeclarativeInfo const &)
-	?deleteFromBinding@QDeclarativeAction@@QAEXXZ @ 780 NONAME ; void QDeclarativeAction::deleteFromBinding(void)
-	?setClip@QDeclarativeItem@@QAEX_N@Z @ 781 NONAME ; void QDeclarativeItem::setClip(bool)
-	??4QDeclarativeCustomParserNode@@QAEAAV0@ABV0@@Z @ 782 NONAME ; class QDeclarativeCustomParserNode & QDeclarativeCustomParserNode::operator=(class QDeclarativeCustomParserNode const &)
-	?color@QDeclarativePen@@QBE?AVQColor@@XZ @ 783 NONAME ; class QColor QDeclarativePen::color(void) const
-	?setDesignable@QMetaPropertyBuilder@@QAEX_N@Z @ 784 NONAME ; void QMetaPropertyBuilder::setDesignable(bool)
-	?setWrapMode@QDeclarativeText@@QAEXW4WrapMode@1@@Z @ 785 NONAME ; void QDeclarativeText::setWrapMode(enum QDeclarativeText::WrapMode)
-	?addClassInfo@QMetaObjectBuilder@@QAEHABVQByteArray@@0@Z @ 786 NONAME ; int QMetaObjectBuilder::addClassInfo(class QByteArray const &, class QByteArray const &)
-	?qt_metacall@QDeclarativePen@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 787 NONAME ; int QDeclarativePen::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?dynamicProperty@QDeclarativeDomObject@@QBE?AVQDeclarativeDomDynamicProperty@@ABVQByteArray@@@Z @ 788 NONAME ; class QDeclarativeDomDynamicProperty QDeclarativeDomObject::dynamicProperty(class QByteArray const &) const
-	??1QDeclarativeDomComponent@@QAE@XZ @ 789 NONAME ; QDeclarativeDomComponent::~QDeclarativeDomComponent(void)
-	?setRight@QDeclarativeScaleGrid@@QAEXH@Z @ 790 NONAME ; void QDeclarativeScaleGrid::setRight(int)
-	?isList@QDeclarativeMetaType@@SA_NH@Z @ 791 NONAME ; bool QDeclarativeMetaType::isList(int)
-	??6QDeclarativeInfo@@QAEAAV0@VQTextStreamManipulator@@@Z @ 792 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(class QTextStreamManipulator)
-	?index@QDeclarativeProperty@@QBEHXZ @ 793 NONAME ; int QDeclarativeProperty::index(void) const
-	?d_func@QMetaPropertyBuilder@@ABEPAVQMetaPropertyBuilderPrivate@@XZ @ 794 NONAME ; class QMetaPropertyBuilderPrivate * QMetaPropertyBuilder::d_func(void) const
-	?tr@QDeclarativeScaleGrid@@SA?AVQString@@PBD0H@Z @ 795 NONAME ; class QString QDeclarativeScaleGrid::tr(char const *, char const *, int)
-	?setEnabled@QDeclarativeAbstractBinding@@QAEX_N@Z @ 796 NONAME ; void QDeclarativeAbstractBinding::setEnabled(bool)
-	?returnType@QMetaMethodBuilder@@QBE?AVQByteArray@@XZ @ 797 NONAME ; class QByteArray QMetaMethodBuilder::returnType(void) const
-	?propertyValueSourceCast@QDeclarativeType@@QBEHXZ @ 798 NONAME ; int QDeclarativeType::propertyValueSourceCast(void) const
-	?mousePressEvent@QDeclarativeText@@MAEXPAVQGraphicsSceneMouseEvent@@@Z @ 799 NONAME ; void QDeclarativeText::mousePressEvent(class QGraphicsSceneMouseEvent *)
-	?trUtf8@QDeclarativeText@@SA?AVQString@@PBD0@Z @ 800 NONAME ; class QString QDeclarativeText::trUtf8(char const *, char const *)
-	?constructor@QMetaObjectBuilder@@QBE?AVQMetaMethodBuilder@@H@Z @ 801 NONAME ; class QMetaMethodBuilder QMetaObjectBuilder::constructor(int) const
-	?defaultProperty@QDeclarativeMetaType@@SA?AVQMetaProperty@@PAVQObject@@@Z @ 802 NONAME ; class QMetaProperty QDeclarativeMetaType::defaultProperty(class QObject *)
-	?resetHeight@QDeclarativeItemPrivate@@UAEXXZ @ 803 NONAME ; void QDeclarativeItemPrivate::resetHeight(void)
-	?qt_metacast@QDeclarativeDebugPropertyWatch@@UAEPAXPBD@Z @ 804 NONAME ; void * QDeclarativeDebugPropertyWatch::qt_metacast(char const *)
-	??1QDeclarativeStateOperation@@UAE@XZ @ 805 NONAME ; QDeclarativeStateOperation::~QDeclarativeStateOperation(void)
-	??_EQDeclarativeDebugQuery@@UAE@I@Z @ 806 NONAME ; QDeclarativeDebugQuery::~QDeclarativeDebugQuery(unsigned int)
-	?update@QDeclarativeAbstractBinding@@QAEXXZ @ 807 NONAME ; void QDeclarativeAbstractBinding::update(void)
-	?tr@QDeclarativeBehavior@@SA?AVQString@@PBD0H@Z @ 808 NONAME ; class QString QDeclarativeBehavior::tr(char const *, char const *, int)
-	?read@QPacketProtocol@@QAE?AVQPacket@@XZ @ 809 NONAME ; class QPacket QPacketProtocol::read(void)
-	?setParentItem@QDeclarativeItem@@QAEXPAV1@@Z @ 810 NONAME ; void QDeclarativeItem::setParentItem(class QDeclarativeItem *)
-	?qmlAttachedProperties@QDeclarativeComponent@@SAPAVQDeclarativeComponentAttached@@PAVQObject@@@Z @ 811 NONAME ; class QDeclarativeComponentAttached * QDeclarativeComponent::qmlAttachedProperties(class QObject *)
-	??0QDeclarativeView@@QAE@ABVQUrl@@PAVQWidget@@@Z @ 812 NONAME ; QDeclarativeView::QDeclarativeView(class QUrl const &, class QWidget *)
-	?qt_metacall@QDeclarativePixmapReply@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 813 NONAME ABSENT ; int QDeclarativePixmapReply::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?valueChanged@QDeclarativeExpression@@IAEXXZ @ 814 NONAME ; void QDeclarativeExpression::valueChanged(void)
-	?childrenChanged@QDeclarativeItem@@IAEXXZ @ 815 NONAME ABSENT ; void QDeclarativeItem::childrenChanged(void)
-	??_EQDeclarativeView@@UAE@I@Z @ 816 NONAME ; QDeclarativeView::~QDeclarativeView(unsigned int)
-	?trUtf8@QDeclarativeStateGroup@@SA?AVQString@@PBD0H@Z @ 817 NONAME ; class QString QDeclarativeStateGroup::trUtf8(char const *, char const *, int)
-	?tag@QMetaMethodBuilder@@QBE?AVQByteArray@@XZ @ 818 NONAME ; class QByteArray QMetaMethodBuilder::tag(void) const
-	?getStaticMetaObject@QPacketProtocol@@SAABUQMetaObject@@XZ @ 819 NONAME ; struct QMetaObject const & QPacketProtocol::getStaticMetaObject(void)
-	?setContext@QDeclarativeScriptString@@QAEXPAVQDeclarativeContext@@@Z @ 820 NONAME ; void QDeclarativeScriptString::setContext(class QDeclarativeContext *)
-	?addImageProvider@QDeclarativeEngine@@QAEXABVQString@@PAVQDeclarativeImageProvider@@@Z @ 821 NONAME ; void QDeclarativeEngine::addImageProvider(class QString const &, class QDeclarativeImageProvider *)
-	?d_func@QDeclarativeStateGroup@@ABEPBVQDeclarativeStateGroupPrivate@@XZ @ 822 NONAME ; class QDeclarativeStateGroupPrivate const * QDeclarativeStateGroup::d_func(void) const
-	?stateChanged@QDeclarativeItem@@IAEXABVQString@@@Z @ 823 NONAME ; void QDeclarativeItem::stateChanged(class QString const &)
-	?horizontalAlignmentChanged@QDeclarativeText@@IAEXW4HAlignment@1@@Z @ 824 NONAME ; void QDeclarativeText::horizontalAlignmentChanged(enum QDeclarativeText::HAlignment)
-	?tr@QDeclarativePixmapCache@@SA?AVQString@@PBD0@Z @ 825 NONAME ABSENT ; class QString QDeclarativePixmapCache::tr(char const *, char const *)
-	??5@YAAAVQDataStream@@AAV0@AAUQDeclarativeObjectData@QDeclarativeEngineDebugServer@@@Z @ 826 NONAME ; class QDataStream & operator>>(class QDataStream &, struct QDeclarativeEngineDebugServer::QDeclarativeObjectData &)
-	?setDynamic@QMetaPropertyBuilder@@QAEX_N@Z @ 827 NONAME ; void QMetaPropertyBuilder::setDynamic(bool)
-	?d_func@QDeclarativeEngine@@ABEPBVQDeclarativeEnginePrivate@@XZ @ 828 NONAME ; class QDeclarativeEnginePrivate const * QDeclarativeEngine::d_func(void) const
-	?toBinding@QDeclarativeDomValue@@QBE?AVQDeclarativeDomValueBinding@@XZ @ 829 NONAME ; class QDeclarativeDomValueBinding QDeclarativeDomValue::toBinding(void) const
-	?removeImageProvider@QDeclarativeEngine@@QAEXABVQString@@@Z @ 830 NONAME ; void QDeclarativeEngine::removeImageProvider(class QString const &)
-	?horizontalCenterOffsetChanged@QDeclarativeAnchors@@IAEXXZ @ 831 NONAME ; void QDeclarativeAnchors::horizontalCenterOffsetChanged(void)
-	?tr@QDeclarativeContext@@SA?AVQString@@PBD0@Z @ 832 NONAME ; class QString QDeclarativeContext::tr(char const *, char const *)
-	?d_func@QDeclarativeItem@@ABEPBVQDeclarativeItemPrivate@@XZ @ 833 NONAME ; class QDeclarativeItemPrivate const * QDeclarativeItem::d_func(void) const
-	?tr@QDeclarativePixmapReply@@SA?AVQString@@PBD0@Z @ 834 NONAME ABSENT ; class QString QDeclarativePixmapReply::tr(char const *, char const *)
-	?isUser@QMetaPropertyBuilder@@QBE_NXZ @ 835 NONAME ; bool QMetaPropertyBuilder::isUser(void) const
-	?doUpdate@QDeclarativeRectangle@@AAEXXZ @ 836 NONAME ; void QDeclarativeRectangle::doUpdate(void)
-	?qmlExecuteDeferred@@YAXPAVQObject@@@Z @ 837 NONAME ; void qmlExecuteDeferred(class QObject *)
-	?setImplicitHeight@QDeclarativeItem@@IAEXM@Z @ 838 NONAME ; void QDeclarativeItem::setImplicitHeight(float)
-	?horizontalCenterOffset@QDeclarativeAnchors@@QBEMXZ @ 839 NONAME ; float QDeclarativeAnchors::horizontalCenterOffset(void) const
-	?resetRight@QDeclarativeAnchors@@QAEXXZ @ 840 NONAME ; void QDeclarativeAnchors::resetRight(void)
-	??6QDeclarativeInfo@@QAEAAV0@J@Z @ 841 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(long)
-	?isReady@QDeclarativeComponent@@QBE_NXZ @ 842 NONAME ; bool QDeclarativeComponent::isReady(void) const
-	??4QDeclarativeDebugObjectReference@@QAEAAV0@ABV0@@Z @ 843 NONAME ; class QDeclarativeDebugObjectReference & QDeclarativeDebugObjectReference::operator=(class QDeclarativeDebugObjectReference const &)
-	??1QDeclarativeDomDynamicProperty@@QAE@XZ @ 844 NONAME ; QDeclarativeDomDynamicProperty::~QDeclarativeDomDynamicProperty(void)
-	??1QDeclarativeBehavior@@UAE@XZ @ 845 NONAME ; QDeclarativeBehavior::~QDeclarativeBehavior(void)
-	?qmlInfo@@YA?AVQDeclarativeInfo@@PBVQObject@@@Z @ 846 NONAME ; class QDeclarativeInfo qmlInfo(class QObject const *)
-	?qt_metacall@QDeclarativeDebugClient@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 847 NONAME ; int QDeclarativeDebugClient::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?d_func@QDeclarativeDebugService@@ABEPBVQDeclarativeDebugServicePrivate@@XZ @ 848 NONAME ; class QDeclarativeDebugServicePrivate const * QDeclarativeDebugService::d_func(void) const
-	??1QDeclarativeDebugQuery@@UAE@XZ @ 849 NONAME ; QDeclarativeDebugQuery::~QDeclarativeDebugQuery(void)
-	?data_append@QDeclarativeItemPrivate@@SAXPAV?$QDeclarativeListProperty@VQObject@@@@PAVQObject@@@Z @ 850 NONAME ; void QDeclarativeItemPrivate::data_append(class QDeclarativeListProperty<class QObject> *, class QObject *)
-	??1QDeclarativePixmapReply@@UAE@XZ @ 851 NONAME ABSENT ; QDeclarativePixmapReply::~QDeclarativePixmapReply(void)
-	?tr@QDeclarativeState@@SA?AVQString@@PBD0@Z @ 852 NONAME ; class QString QDeclarativeState::tr(char const *, char const *)
-	?isLoading@QDeclarativePixmapReply@@ABE_NXZ @ 853 NONAME ABSENT ; bool QDeclarativePixmapReply::isLoading(void) const
-	?trUtf8@QDeclarativeEngineDebug@@SA?AVQString@@PBD0H@Z @ 854 NONAME ; class QString QDeclarativeEngineDebug::trUtf8(char const *, char const *, int)
-	?createProperty@QDeclarativeOpenMetaObject@@MAEHPBD0@Z @ 855 NONAME ; int QDeclarativeOpenMetaObject::createProperty(char const *, char const *)
-	?bottomMargin@QDeclarativeAnchors@@QBEMXZ @ 856 NONAME ; float QDeclarativeAnchors::bottomMargin(void) const
-	?q_func@QDeclarativeItemPrivate@@AAEPAVQDeclarativeItem@@XZ @ 857 NONAME ; class QDeclarativeItem * QDeclarativeItemPrivate::q_func(void)
-	?trUtf8@QDeclarativeScaleGrid@@SA?AVQString@@PBD0@Z @ 858 NONAME ; class QString QDeclarativeScaleGrid::trUtf8(char const *, char const *)
-	??1QDeclarativeDomList@@QAE@XZ @ 859 NONAME ; QDeclarativeDomList::~QDeclarativeDomList(void)
-	??0QDeclarativeOpenMetaObjectType@@QAE@PBUQMetaObject@@PAVQDeclarativeEngine@@@Z @ 860 NONAME ; QDeclarativeOpenMetaObjectType::QDeclarativeOpenMetaObjectType(struct QMetaObject const *, class QDeclarativeEngine *)
-	?removeProperty@QMetaObjectBuilder@@QAEXH@Z @ 861 NONAME ; void QMetaObjectBuilder::removeProperty(int)
-	?staticMetaObject@QDeclarativeScaleGrid@@2UQMetaObject@@B @ 862 NONAME ; struct QMetaObject const QDeclarativeScaleGrid::staticMetaObject
-	??0QDeclarativeDomObject@@QAE@ABV0@@Z @ 863 NONAME ; QDeclarativeDomObject::QDeclarativeDomObject(class QDeclarativeDomObject const &)
-	?qt_metacast@QDeclarativeDebugWatch@@UAEPAXPBD@Z @ 864 NONAME ; void * QDeclarativeDebugWatch::qt_metacast(char const *)
-	?implicitHeight@QDeclarativeItem@@QBEMXZ @ 865 NONAME ; float QDeclarativeItem::implicitHeight(void) const
-	?trUtf8@QDeclarativeDebugPropertyWatch@@SA?AVQString@@PBD0@Z @ 866 NONAME ; class QString QDeclarativeDebugPropertyWatch::trUtf8(char const *, char const *)
-	?status@QDeclarativePixmapReply@@QBE?AW4Status@1@XZ @ 867 NONAME ABSENT ; enum QDeclarativePixmapReply::Status QDeclarativePixmapReply::status(void) const
+	?focusScopeItemChange@QDeclarativeItemPrivate@@UAEX_N@Z @ 531 NONAME ; void QDeclarativeItemPrivate::focusScopeItemChange(bool)
+	?bottomMarginChanged@QDeclarativeAnchors@@IAEXXZ @ 532 NONAME ; void QDeclarativeAnchors::bottomMarginChanged(void)
+	?offlineStoragePath@QDeclarativeEngine@@QBE?AVQString@@XZ @ 533 NONAME ; class QString QDeclarativeEngine::offlineStoragePath(void) const
+	?keys@QDeclarativePropertyMap@@QBE?AVQStringList@@XZ @ 534 NONAME ; class QStringList QDeclarativePropertyMap::keys(void) const
+	?addItemChangeListener@QDeclarativeItemPrivate@@QAEXPAVQDeclarativeItemChangeListener@@V?$QFlags@W4ChangeType@QDeclarativeItemPrivate@@@@@Z @ 535 NONAME ; void QDeclarativeItemPrivate::addItemChangeListener(class QDeclarativeItemChangeListener *, class QFlags<enum QDeclarativeItemPrivate::ChangeType>)
+	?clear@QDeclarativePixmap@@QAEXPAVQObject@@@Z @ 536 NONAME ; void QDeclarativePixmap::clear(class QObject *)
+	?addConstructor@QMetaObjectBuilder@@QAE?AVQMetaMethodBuilder@@ABVQMetaMethod@@@Z @ 537 NONAME ; class QMetaMethodBuilder QMetaObjectBuilder::addConstructor(class QMetaMethod const &)
+	??6QDeclarativeInfo@@QAEAAV0@F@Z @ 538 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(short)
+	?serialize@QMetaObjectBuilder@@QBEXAAVQDataStream@@@Z @ 539 NONAME ; void QMetaObjectBuilder::serialize(class QDataStream &) const
+	??0QDeclarativeDebugContextReference@@QAE@ABV0@@Z @ 540 NONAME ; QDeclarativeDebugContextReference::QDeclarativeDebugContextReference(class QDeclarativeDebugContextReference const &)
+	?saveProperty@QDeclarativePropertyPrivate@@SA?AVQByteArray@@PBUQMetaObject@@H@Z @ 541 NONAME ; class QByteArray QDeclarativePropertyPrivate::saveProperty(struct QMetaObject const *, int)
+	?propertyType@QDeclarativeProperty@@QBEHXZ @ 542 NONAME ; int QDeclarativeProperty::propertyType(void) const
+	?isDefaultProperty@QDeclarativeDomDynamicProperty@@QBE_NXZ @ 543 NONAME ; bool QDeclarativeDomDynamicProperty::isDefaultProperty(void) const
+	??_EQDeclarativeBehavior@@UAE@I@Z @ 544 NONAME ; QDeclarativeBehavior::~QDeclarativeBehavior(unsigned int)
+	??_EQDeclarativeListModel@@UAE@I@Z @ 545 NONAME ; QDeclarativeListModel::~QDeclarativeListModel(unsigned int)
+	?isCreatable@QDeclarativeType@@QBE_NXZ @ 546 NONAME ; bool QDeclarativeType::isCreatable(void) const
+	??6QDeclarativeInfo@@QAEAAV0@ABVQString@@@Z @ 547 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(class QString const &)
+	?tr@QDeclarativePen@@SA?AVQString@@PBD0@Z @ 548 NONAME ; class QString QDeclarativePen::tr(char const *, char const *)
+	?trUtf8@QDeclarativeContext@@SA?AVQString@@PBD0H@Z @ 549 NONAME ; class QString QDeclarativeContext::trUtf8(char const *, char const *, int)
+	??0QDeclarativeListModel@@QAE@PAVQObject@@@Z @ 550 NONAME ; QDeclarativeListModel::QDeclarativeListModel(class QObject *)
+	?addWatch@QDeclarativeEngineDebug@@QAEPAVQDeclarativeDebugWatch@@ABVQDeclarativeDebugContextReference@@ABVQString@@PAVQObject@@@Z @ 551 NONAME ; class QDeclarativeDebugWatch * QDeclarativeEngineDebug::addWatch(class QDeclarativeDebugContextReference const &, class QString const &, class QObject *)
+	?setColumn@QDeclarativeError@@QAEXH@Z @ 552 NONAME ; void QDeclarativeError::setColumn(int)
+	??1QDeclarativeTransition@@UAE@XZ @ 553 NONAME ; QDeclarativeTransition::~QDeclarativeTransition(void)
+	??AQDeclarativePropertyMap@@QBE?AVQVariant@@ABVQString@@@Z @ 554 NONAME ; class QVariant QDeclarativePropertyMap::operator[](class QString const &) const
+	?qt_metacall@QDeclarativeListModel@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 555 NONAME ; int QDeclarativeListModel::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?qdeclarativeelement_destructor@QDeclarativePrivate@@YAXPAVQObject@@@Z @ 556 NONAME ; void QDeclarativePrivate::qdeclarativeelement_destructor(class QObject *)
+	?registerCustomStringConverter@QDeclarativeMetaType@@SAXHP6A?AVQVariant@@ABVQString@@@Z@Z @ 557 NONAME ; void QDeclarativeMetaType::registerCustomStringConverter(int, class QVariant (*)(class QString const &))
+	?metaObject@QDeclarativeEngine@@UBEPBUQMetaObject@@XZ @ 558 NONAME ; struct QMetaObject const * QDeclarativeEngine::metaObject(void) const
+	??_EQDeclarativeDebugContextReference@@QAE@I@Z @ 559 NONAME ; QDeclarativeDebugContextReference::~QDeclarativeDebugContextReference(unsigned int)
+	?propertyWrite@QDeclarativeOpenMetaObject@@MAEXH@Z @ 560 NONAME ; void QDeclarativeOpenMetaObject::propertyWrite(int)
+	?qt_metacall@QDeclarativeDebugService@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 561 NONAME ; int QDeclarativeDebugService::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?setVerticalCenterOffset@QDeclarativeAnchors@@QAEXM@Z @ 562 NONAME ; void QDeclarativeAnchors::setVerticalCenterOffset(float)
+	??1QDeclarativeDebugWatch@@UAE@XZ @ 563 NONAME ; QDeclarativeDebugWatch::~QDeclarativeDebugWatch(void)
+	??1QPacketAutoSend@@UAE@XZ @ 564 NONAME ; QPacketAutoSend::~QPacketAutoSend(void)
+	?geometryChanged@QDeclarativeText@@MAEXABVQRectF@@0@Z @ 565 NONAME ; void QDeclarativeText::geometryChanged(class QRectF const &, class QRectF const &)
+	?d_func@QDeclarativeRectangle@@AAEPAVQDeclarativeRectanglePrivate@@XZ @ 566 NONAME ; class QDeclarativeRectanglePrivate * QDeclarativeRectangle::d_func(void)
+	?qt_metacast@QDeclarativeListModel@@UAEPAXPBD@Z @ 567 NONAME ; void * QDeclarativeListModel::qt_metacast(char const *)
+	?name@QDeclarativeCustomParserProperty@@QBE?AVQByteArray@@XZ @ 568 NONAME ; class QByteArray QDeclarativeCustomParserProperty::name(void) const
+	?update@QDeclarativeBinding@@QAEXXZ @ 569 NONAME ; void QDeclarativeBinding::update(void)
+	?trUtf8@QDeclarativeEngine@@SA?AVQString@@PBD0@Z @ 570 NONAME ; class QString QDeclarativeEngine::trUtf8(char const *, char const *)
+	?qt_metacast@QDeclarativeDebugConnection@@UAEPAXPBD@Z @ 571 NONAME ; void * QDeclarativeDebugConnection::qt_metacast(char const *)
+	?removeWatch@QDeclarativeEngineDebug@@QAEXPAVQDeclarativeDebugWatch@@@Z @ 572 NONAME ; void QDeclarativeEngineDebug::removeWatch(class QDeclarativeDebugWatch *)
+	?qt_metacast@QDeclarativeBinding@@UAEPAXPBD@Z @ 573 NONAME ; void * QDeclarativeBinding::qt_metacast(char const *)
+	?baseline@QDeclarativeAnchors@@QBE?AVQDeclarativeAnchorLine@@XZ @ 574 NONAME ; class QDeclarativeAnchorLine QDeclarativeAnchors::baseline(void) const
+	?connectDownloadProgress@QDeclarativePixmap@@QAE_NPAVQObject@@PBD@Z @ 575 NONAME ; bool QDeclarativePixmap::connectDownloadProgress(class QObject *, char const *)
+	?restore@QDeclarativePropertyPrivate@@SA?AVQDeclarativeProperty@@ABVQByteArray@@PAVQObject@@PAVQDeclarativeContextData@@@Z @ 576 NONAME ; class QDeclarativeProperty QDeclarativePropertyPrivate::restore(class QByteArray const &, class QObject *, class QDeclarativeContextData *)
+	??0QDeclarativeProperty@@QAE@PAVQObject@@@Z @ 577 NONAME ; QDeclarativeProperty::QDeclarativeProperty(class QObject *)
+	?source@QDeclarativeDebugObjectReference@@QBE?AVQDeclarativeDebugFileReference@@XZ @ 578 NONAME ; class QDeclarativeDebugFileReference QDeclarativeDebugObjectReference::source(void) const
+	?tr@QDeclarativeDebugExpressionQuery@@SA?AVQString@@PBD0H@Z @ 579 NONAME ; class QString QDeclarativeDebugExpressionQuery::tr(char const *, char const *, int)
+	?qmlType@QDeclarativeMetaType@@SAPAVQDeclarativeType@@H@Z @ 580 NONAME ; class QDeclarativeType * QDeclarativeMetaType::qmlType(int)
+	??1QDeclarativeCustomParser@@UAE@XZ @ 581 NONAME ; QDeclarativeCustomParser::~QDeclarativeCustomParser(void)
+	?toList@QDeclarativeDomValue@@QBE?AVQDeclarativeDomList@@XZ @ 582 NONAME ; class QDeclarativeDomList QDeclarativeDomValue::toList(void) const
+	?metaObject@QDeclarativeType@@QBEPBUQMetaObject@@XZ @ 583 NONAME ; struct QMetaObject const * QDeclarativeType::metaObject(void) const
+	?animation@QDeclarativeBehavior@@QAEPAVQDeclarativeAbstractAnimation@@XZ @ 584 NONAME ; class QDeclarativeAbstractAnimation * QDeclarativeBehavior::animation(void)
+	?listType@QDeclarativeMetaType@@SAHH@Z @ 585 NONAME ; int QDeclarativeMetaType::listType(int)
+	?transform_append@QDeclarativeItemPrivate@@SAXPAV?$QDeclarativeListProperty@VQGraphicsTransform@@@@PAVQGraphicsTransform@@@Z @ 586 NONAME ; void QDeclarativeItemPrivate::transform_append(class QDeclarativeListProperty<class QGraphicsTransform> *, class QGraphicsTransform *)
+	?d_func@QDeclarativeComponent@@AAEPAVQDeclarativeComponentPrivate@@XZ @ 587 NONAME ; class QDeclarativeComponentPrivate * QDeclarativeComponent::d_func(void)
+	?variantFromString@QDeclarativeStringConverters@@YA?AVQVariant@@ABVQString@@@Z @ 588 NONAME ; class QVariant QDeclarativeStringConverters::variantFromString(class QString const &)
+	?qt_metacall@QDeclarativeScaleGrid@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 589 NONAME ; int QDeclarativeScaleGrid::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?size@QDeclarativePropertyMap@@QBEHXZ @ 590 NONAME ; int QDeclarativePropertyMap::size(void) const
+	?cancel@QDeclarativeState@@QAEXXZ @ 591 NONAME ; void QDeclarativeState::cancel(void)
+	?qt_metacall@QDeclarativeStateGroup@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 592 NONAME ; int QDeclarativeStateGroup::qt_metacall(enum QMetaObject::Call, int, void * *)
+	??0QDeclarativePropertyPrivate@@QAE@XZ @ 593 NONAME ; QDeclarativePropertyPrivate::QDeclarativePropertyPrivate(void)
+	?getStaticMetaObject@QDeclarativeDebugPropertyWatch@@SAABUQMetaObject@@XZ @ 594 NONAME ; struct QMetaObject const & QDeclarativeDebugPropertyWatch::getStaticMetaObject(void)
+	?trUtf8@QDeclarativeDebugWatch@@SA?AVQString@@PBD0H@Z @ 595 NONAME ; class QString QDeclarativeDebugWatch::trUtf8(char const *, char const *, int)
+	?transformOrigin@QDeclarativeItem@@QBE?AW4TransformOrigin@1@XZ @ 596 NONAME ; enum QDeclarativeItem::TransformOrigin QDeclarativeItem::transformOrigin(void) const
+	?setState@QDeclarativeDebugWatch@@AAEXW4State@1@@Z @ 597 NONAME ; void QDeclarativeDebugWatch::setState(enum QDeclarativeDebugWatch::State)
+	?evaluateEnum@QDeclarativeCustomParser@@IBEHABVQByteArray@@@Z @ 598 NONAME ; int QDeclarativeCustomParser::evaluateEnum(class QByteArray const &) const
+	?setState@QDeclarativeDebugQuery@@AAEXW4State@1@@Z @ 599 NONAME ; void QDeclarativeDebugQuery::setState(enum QDeclarativeDebugQuery::State)
+	?d_func@QDeclarativeText@@ABEPBVQDeclarativeTextPrivate@@XZ @ 600 NONAME ; class QDeclarativeTextPrivate const * QDeclarativeText::d_func(void) const
+	?transitionsProperty@QDeclarativeStateGroup@@QAE?AV?$QDeclarativeListProperty@VQDeclarativeTransition@@@@XZ @ 601 NONAME ; class QDeclarativeListProperty<class QDeclarativeTransition> QDeclarativeStateGroup::transitionsProperty(void)
+	?typeName@QDeclarativeType@@QBE?AVQByteArray@@XZ @ 602 NONAME ; class QByteArray QDeclarativeType::typeName(void) const
+	?asStringList@Variant@QDeclarativeParser@@QBE?AVQStringList@@XZ @ 603 NONAME ; class QStringList QDeclarativeParser::Variant::asStringList(void) const
+	?removeKey@QMetaEnumBuilder@@QAEXH@Z @ 604 NONAME ; void QMetaEnumBuilder::removeKey(int)
+	?addRelatedMetaObject@QMetaObjectBuilder@@QAEHABQ6AABUQMetaObject@@XZ@Z @ 605 NONAME ; int QMetaObjectBuilder::addRelatedMetaObject(struct QMetaObject const & (* const)(void) const &)
+	??0QDeclarativeDomValueLiteral@@QAE@XZ @ 606 NONAME ; QDeclarativeDomValueLiteral::QDeclarativeDomValueLiteral(void)
+	??_EQDeclarativeDebugObjectExpressionWatch@@UAE@I@Z @ 607 NONAME ; QDeclarativeDebugObjectExpressionWatch::~QDeclarativeDebugObjectExpressionWatch(unsigned int)
+	?computeTransformOrigin@QDeclarativeItemPrivate@@QBE?AVQPointF@@XZ @ 608 NONAME ; class QPointF QDeclarativeItemPrivate::computeTransformOrigin(void) const
+	??0QDeclarativeListReference@@QAE@PAVQObject@@PBDPAVQDeclarativeEngine@@@Z @ 609 NONAME ; QDeclarativeListReference::QDeclarativeListReference(class QObject *, char const *, class QDeclarativeEngine *)
+	?setData@QListModelInterface@@UAE_NHABV?$QHash@HVQVariant@@@@@Z @ 610 NONAME ; bool QListModelInterface::setData(int, class QHash<int, class QVariant> const &)
+	??0QDeclarativePen@@QAE@PAVQObject@@@Z @ 611 NONAME ; QDeclarativePen::QDeclarativePen(class QObject *)
+	?trUtf8@QPacketProtocol@@SA?AVQString@@PBD0H@Z @ 612 NONAME ; class QString QPacketProtocol::trUtf8(char const *, char const *, int)
+	?setContextObject@QDeclarativeContext@@QAEXPAVQObject@@@Z @ 613 NONAME ; void QDeclarativeContext::setContextObject(class QObject *)
+	??_EQDeclarativeState@@UAE@I@Z @ 614 NONAME ; QDeclarativeState::~QDeclarativeState(unsigned int)
+	?expression@QDeclarativeExpression@@QBE?AVQString@@XZ @ 615 NONAME ; class QString QDeclarativeExpression::expression(void) const
+	??1QDeclarativeDomDocument@@QAE@XZ @ 616 NONAME ; QDeclarativeDomDocument::~QDeclarativeDomDocument(void)
+	?trUtf8@QDeclarativeListModel@@SA?AVQString@@PBD0H@Z @ 617 NONAME ; class QString QDeclarativeListModel::trUtf8(char const *, char const *, int)
+	?asNumber@Variant@QDeclarativeParser@@QBENXZ @ 618 NONAME ; double QDeclarativeParser::Variant::asNumber(void) const
+	?d_func@QDeclarativeDebugClient@@ABEPBVQDeclarativeDebugClientPrivate@@XZ @ 619 NONAME ; class QDeclarativeDebugClientPrivate const * QDeclarativeDebugClient::d_func(void) const
+	?sceneEvent@QDeclarativeItem@@MAE_NPAVQEvent@@@Z @ 620 NONAME ; bool QDeclarativeItem::sceneEvent(class QEvent *)
+	??0QDeclarativeDebugRootContextQuery@@AAE@PAVQObject@@@Z @ 621 NONAME ; QDeclarativeDebugRootContextQuery::QDeclarativeDebugRootContextQuery(class QObject *)
+	?name@QDeclarativeDebugEngineReference@@QBE?AVQString@@XZ @ 622 NONAME ; class QString QDeclarativeDebugEngineReference::name(void) const
+	??_EQDeclarativeTransition@@UAE@I@Z @ 623 NONAME ; QDeclarativeTransition::~QDeclarativeTransition(unsigned int)
+	??0QDeclarativeAction@@QAE@ABV0@@Z @ 624 NONAME ; QDeclarativeAction::QDeclarativeAction(class QDeclarativeAction const &)
+	?extends@QDeclarativeState@@QBE?AVQString@@XZ @ 625 NONAME ; class QString QDeclarativeState::extends(void) const
+	?error@QDeclarativeCustomParser@@IAEXABVQDeclarativeCustomParserProperty@@ABVQString@@@Z @ 626 NONAME ; void QDeclarativeCustomParser::error(class QDeclarativeCustomParserProperty const &, class QString const &)
+	??0QDeclarativeCustomParserNode@@QAE@XZ @ 627 NONAME ; QDeclarativeCustomParserNode::QDeclarativeCustomParserNode(void)
+	?version@QDeclarativeDomImport@@QBE?AVQString@@XZ @ 628 NONAME ; class QString QDeclarativeDomImport::version(void) const
+	?smooth@QDeclarativeItem@@QBE_NXZ @ 629 NONAME ; bool QDeclarativeItem::smooth(void) const
+	??1QDeclarativeInfo@@QAE@XZ @ 630 NONAME ; QDeclarativeInfo::~QDeclarativeInfo(void)
+	?qt_metacast@QDeclarativeStateOperation@@UAEPAXPBD@Z @ 631 NONAME ; void * QDeclarativeStateOperation::qt_metacast(char const *)
+	??4QDeclarativeDebugEngineReference@@QAEAAV0@ABV0@@Z @ 632 NONAME ; class QDeclarativeDebugEngineReference & QDeclarativeDebugEngineReference::operator=(class QDeclarativeDebugEngineReference const &)
+	?isValueType@QDeclarativePropertyPrivate@@QBE_NXZ @ 633 NONAME ; bool QDeclarativePropertyPrivate::isValueType(void) const
+	??0QDeclarativeDomValueValueSource@@QAE@ABV0@@Z @ 634 NONAME ; QDeclarativeDomValueValueSource::QDeclarativeDomValueValueSource(class QDeclarativeDomValueValueSource const &)
+	?trUtf8@QDeclarativeDebugPropertyWatch@@SA?AVQString@@PBD0H@Z @ 635 NONAME ; class QString QDeclarativeDebugPropertyWatch::trUtf8(char const *, char const *, int)
+	?trUtf8@QDeclarativePixmap@@SA?AVQString@@PBD0H@Z @ 636 NONAME ; class QString QDeclarativePixmap::trUtf8(char const *, char const *, int)
+	??_EQDeclarativeDebugExpressionQuery@@UAE@I@Z @ 637 NONAME ; QDeclarativeDebugExpressionQuery::~QDeclarativeDebugExpressionQuery(unsigned int)
+	?trUtf8@QListModelInterface@@SA?AVQString@@PBD0H@Z @ 638 NONAME ; class QString QListModelInterface::trUtf8(char const *, char const *, int)
+	?qt_metacall@QDeclarativeDebugObjectExpressionWatch@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 639 NONAME ; int QDeclarativeDebugObjectExpressionWatch::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?d_func@QDeclarativeItem@@AAEPAVQDeclarativeItemPrivate@@XZ @ 640 NONAME ; class QDeclarativeItemPrivate * QDeclarativeItem::d_func(void)
+	?binding@QDeclarativeDomValueBinding@@QBE?AVQString@@XZ @ 641 NONAME ; class QString QDeclarativeDomValueBinding::binding(void) const
+	?updateAutoState@QDeclarativeStateGroup@@AAE_NXZ @ 642 NONAME ; bool QDeclarativeStateGroup::updateAutoState(void)
+	?tr@QDeclarativeDebugService@@SA?AVQString@@PBD0@Z @ 643 NONAME ; class QString QDeclarativeDebugService::tr(char const *, char const *)
+	?tr@QDeclarativeComponent@@SA?AVQString@@PBD0H@Z @ 644 NONAME ; class QString QDeclarativeComponent::tr(char const *, char const *, int)
+	??1QDeclarativeProperty@@QAE@XZ @ 645 NONAME ; QDeclarativeProperty::~QDeclarativeProperty(void)
+	?fontChanged@QDeclarativeText@@IAEXABVQFont@@@Z @ 646 NONAME ; void QDeclarativeText::fontChanged(class QFont const &)
+	?isLoading@QDeclarativePixmap@@QBE_NXZ @ 647 NONAME ; bool QDeclarativePixmap::isLoading(void) const
+	?removeItemChangeListener@QDeclarativeItemPrivate@@QAEXPAVQDeclarativeItemChangeListener@@V?$QFlags@W4ChangeType@QDeclarativeItemPrivate@@@@@Z @ 648 NONAME ; void QDeclarativeItemPrivate::removeItemChangeListener(class QDeclarativeItemChangeListener *, class QFlags<enum QDeclarativeItemPrivate::ChangeType>)
+	?isList@QDeclarativeDomValue@@QBE_NXZ @ 649 NONAME ; bool QDeclarativeDomValue::isList(void) const
+	?insert@QDeclarativeListModel@@QAEXHABVQScriptValue@@@Z @ 650 NONAME ; void QDeclarativeListModel::insert(int, class QScriptValue const &)
+	?staticMetaObject@QDeclarativeListModel@@2UQMetaObject@@B @ 651 NONAME ; struct QMetaObject const QDeclarativeListModel::staticMetaObject
+	?load@QDeclarativePixmap@@QAEXPAVQDeclarativeEngine@@ABVQUrl@@@Z @ 652 NONAME ; void QDeclarativePixmap::load(class QDeclarativeEngine *, class QUrl const &)
+	?indexOfConstructor@QMetaObjectBuilder@@QAEHABVQByteArray@@@Z @ 653 NONAME ; int QMetaObjectBuilder::indexOfConstructor(class QByteArray const &)
+	?lineNumber@QDeclarativeExpression@@QBEHXZ @ 654 NONAME ; int QDeclarativeExpression::lineNumber(void) const
+	?trUtf8@QDeclarativeDebugRootContextQuery@@SA?AVQString@@PBD0H@Z @ 655 NONAME ; class QString QDeclarativeDebugRootContextQuery::trUtf8(char const *, char const *, int)
+	?toString@QDeclarativeError@@QBE?AVQString@@XZ @ 656 NONAME ; class QString QDeclarativeError::toString(void) const
+	?index@QMetaPropertyBuilder@@QBEHXZ @ 657 NONAME ; int QMetaPropertyBuilder::index(void) const
+	?commaPositions@QDeclarativeDomList@@QBE?AV?$QList@H@@XZ @ 658 NONAME ; class QList<int> QDeclarativeDomList::commaPositions(void) const
+	?tr@QDeclarativeDebugObjectExpressionWatch@@SA?AVQString@@PBD0@Z @ 659 NONAME ; class QString QDeclarativeDebugObjectExpressionWatch::tr(char const *, char const *)
+	?tr@QDeclarativeAnchors@@SA?AVQString@@PBD0@Z @ 660 NONAME ; class QString QDeclarativeAnchors::tr(char const *, char const *)
+	?tr@QDeclarativeEngine@@SA?AVQString@@PBD0@Z @ 661 NONAME ; class QString QDeclarativeEngine::tr(char const *, char const *)
+	?setTextFormat@QDeclarativeText@@QAEXW4TextFormat@1@@Z @ 662 NONAME ; void QDeclarativeText::setTextFormat(enum QDeclarativeText::TextFormat)
+	?parserStatusCast@QDeclarativeType@@QBEHXZ @ 663 NONAME ; int QDeclarativeType::parserStatusCast(void) const
+	??_EQListModelInterface@@UAE@I@Z @ 664 NONAME ; QListModelInterface::~QListModelInterface(unsigned int)
+	?trUtf8@QDeclarativeBehavior@@SA?AVQString@@PBD0@Z @ 665 NONAME ; class QString QDeclarativeBehavior::trUtf8(char const *, char const *)
+	?getStaticMetaObject@QDeclarativeListModel@@SAABUQMetaObject@@XZ @ 666 NONAME ; struct QMetaObject const & QDeclarativeListModel::getStaticMetaObject(void)
+	?setStdCppSet@QMetaPropertyBuilder@@QAEX_N@Z @ 667 NONAME ; void QMetaPropertyBuilder::setStdCppSet(bool)
+	??0QDeclarativeItemPrivate@@QAE@XZ @ 668 NONAME ; QDeclarativeItemPrivate::QDeclarativeItemPrivate(void)
+	??0QDeclarativeDebugService@@QAE@ABVQString@@PAVQObject@@@Z @ 669 NONAME ; QDeclarativeDebugService::QDeclarativeDebugService(class QString const &, class QObject *)
+	?load@QDeclarativePixmap@@QAEXPAVQDeclarativeEngine@@ABVQUrl@@_N@Z @ 670 NONAME ; void QDeclarativePixmap::load(class QDeclarativeEngine *, class QUrl const &, bool)
+	??_EQPacketAutoSend@@UAE@I@Z @ 671 NONAME ; QPacketAutoSend::~QPacketAutoSend(unsigned int)
+	?saveValueType@QDeclarativePropertyPrivate@@SA?AVQByteArray@@PBUQMetaObject@@H0H@Z @ 672 NONAME ; class QByteArray QDeclarativePropertyPrivate::saveValueType(struct QMetaObject const *, int, struct QMetaObject const *, int)
+	?resetHeight@QDeclarativeItem@@QAEXXZ @ 673 NONAME ; void QDeclarativeItem::resetHeight(void)
+	?setVAlign@QDeclarativeText@@QAEXW4VAlignment@1@@Z @ 674 NONAME ; void QDeclarativeText::setVAlign(enum QDeclarativeText::VAlignment)
+	??1QDeclarativeDebugService@@UAE@XZ @ 675 NONAME ; QDeclarativeDebugService::~QDeclarativeDebugService(void)
+	?trUtf8@QDeclarativeDebugService@@SA?AVQString@@PBD0H@Z @ 676 NONAME ; class QString QDeclarativeDebugService::trUtf8(char const *, char const *, int)
+	?elideMode@QDeclarativeText@@QBE?AW4TextElideMode@1@XZ @ 677 NONAME ; enum QDeclarativeText::TextElideMode QDeclarativeText::elideMode(void) const
+	?baseUrl@QDeclarativeContext@@QBE?AVQUrl@@XZ @ 678 NONAME ; class QUrl QDeclarativeContext::baseUrl(void) const
+	?qt_metacall@QDeclarativeDebugRootContextQuery@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 679 NONAME ; int QDeclarativeDebugRootContextQuery::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?isNamed@QDeclarativeState@@QBE_NXZ @ 680 NONAME ; bool QDeclarativeState::isNamed(void) const
+	?isString@Variant@QDeclarativeParser@@QBE_NXZ @ 681 NONAME ; bool QDeclarativeParser::Variant::isString(void) const
+	?restart@QDeclarativeItemPrivate@@SA_JAAVQElapsedTimer@@@Z @ 682 NONAME ; long long QDeclarativeItemPrivate::restart(class QElapsedTimer &)
+	?trUtf8@QDeclarativeDebugClient@@SA?AVQString@@PBD0H@Z @ 683 NONAME ; class QString QDeclarativeDebugClient::trUtf8(char const *, char const *, int)
+	?qt_metacast@QDeclarativeTransition@@UAEPAXPBD@Z @ 684 NONAME ; void * QDeclarativeTransition::qt_metacast(char const *)
+	??1QDeclarativePixmap@@QAE@XZ @ 685 NONAME ; QDeclarativePixmap::~QDeclarativePixmap(void)
+	?timeFromString@QDeclarativeStringConverters@@YA?AVQTime@@ABVQString@@PA_N@Z @ 686 NONAME ; class QTime QDeclarativeStringConverters::timeFromString(class QString const &, bool *)
+	?d_func@QDeclarativeDebugClient@@AAEPAVQDeclarativeDebugClientPrivate@@XZ @ 687 NONAME ; class QDeclarativeDebugClientPrivate * QDeclarativeDebugClient::d_func(void)
+	??1QDeclarativeType@@AAE@XZ @ 688 NONAME ; QDeclarativeType::~QDeclarativeType(void)
+	?colorFromString@QDeclarativeStringConverters@@YA?AVQColor@@ABVQString@@PA_N@Z @ 689 NONAME ; class QColor QDeclarativeStringConverters::colorFromString(class QString const &, bool *)
+	??_EQPacketProtocol@@UAE@I@Z @ 690 NONAME ; QPacketProtocol::~QPacketProtocol(unsigned int)
+	?tr@QDeclarativeListModel@@SA?AVQString@@PBD0@Z @ 691 NONAME ; class QString QDeclarativeListModel::tr(char const *, char const *)
+	??0QDeclarativePixmap@@QAE@XZ @ 692 NONAME ; QDeclarativePixmap::QDeclarativePixmap(void)
+	??0QDeclarativeDebugObjectReference@@QAE@XZ @ 693 NONAME ; QDeclarativeDebugObjectReference::QDeclarativeDebugObjectReference(void)
+	?staticMetaObject@QDeclarativeExtensionPlugin@@2UQMetaObject@@B @ 694 NONAME ; struct QMetaObject const QDeclarativeExtensionPlugin::staticMetaObject
+	?isNull@QDeclarativeScaleGrid@@QBE_NXZ @ 695 NONAME ; bool QDeclarativeScaleGrid::isNull(void) const
+	??_EQDeclarativeStateOperation@@UAE@I@Z @ 696 NONAME ; QDeclarativeStateOperation::~QDeclarativeStateOperation(unsigned int)
+	??6QDeclarativeInfo@@QAEAAV0@H@Z @ 697 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(int)
+	??0QDeclarativeDomDynamicProperty@@QAE@XZ @ 698 NONAME ; QDeclarativeDomDynamicProperty::QDeclarativeDomDynamicProperty(void)
+	?tr@QDeclarativeRectangle@@SA?AVQString@@PBD0H@Z @ 699 NONAME ; class QString QDeclarativeRectangle::tr(char const *, char const *, int)
+	?type@QDeclarativeProperty@@QBE?AW4Type@1@XZ @ 700 NONAME ; enum QDeclarativeProperty::Type QDeclarativeProperty::type(void) const
+	??0QDeclarativeDebugQuery@@IAE@PAVQObject@@@Z @ 701 NONAME ; QDeclarativeDebugQuery::QDeclarativeDebugQuery(class QObject *)
+	?baselineOffset@QDeclarativeAnchors@@QBEMXZ @ 702 NONAME ; float QDeclarativeAnchors::baselineOffset(void) const
+	??4QDeclarativeDomDocument@@QAEAAV0@ABV0@@Z @ 703 NONAME ; class QDeclarativeDomDocument & QDeclarativeDomDocument::operator=(class QDeclarativeDomDocument const &)
+	??0QDeclarativeOpenMetaObject@@QAE@PAVQObject@@PAVQDeclarativeOpenMetaObjectType@@_N@Z @ 704 NONAME ; QDeclarativeOpenMetaObject::QDeclarativeOpenMetaObject(class QObject *, class QDeclarativeOpenMetaObjectType *, bool)
+	?trUtf8@QDeclarativeExpression@@SA?AVQString@@PBD0@Z @ 705 NONAME ; class QString QDeclarativeExpression::trUtf8(char const *, char const *)
+	??0QPacketProtocol@@QAE@PAVQIODevice@@PAVQObject@@@Z @ 706 NONAME ; QPacketProtocol::QPacketProtocol(class QIODevice *, class QObject *)
+	??1QDeclarativeListReference@@QAE@XZ @ 707 NONAME ; QDeclarativeListReference::~QDeclarativeListReference(void)
+	?clearError@QDeclarativeExpression@@QAEXXZ @ 708 NONAME ; void QDeclarativeExpression::clearError(void)
+	?setLineNumber@QDeclarativeDebugFileReference@@QAEXH@Z @ 709 NONAME ; void QDeclarativeDebugFileReference::setLineNumber(int)
+	?qt_metacall@QDeclarativeExtensionPlugin@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 710 NONAME ; int QDeclarativeExtensionPlugin::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?boundingRect@QDeclarativeText@@UBE?AVQRectF@@XZ @ 711 NONAME ; class QRectF QDeclarativeText::boundingRect(void) const
+	?setColor@QDeclarativePen@@QAEXABVQColor@@@Z @ 712 NONAME ; void QDeclarativePen::setColor(class QColor const &)
+	??0QDeclarativeDomImport@@QAE@XZ @ 713 NONAME ; QDeclarativeDomImport::QDeclarativeDomImport(void)
+	?clearErrors@QDeclarativeCustomParser@@QAEXXZ @ 714 NONAME ; void QDeclarativeCustomParser::clearErrors(void)
+	?trUtf8@QDeclarativeDebugQuery@@SA?AVQString@@PBD0H@Z @ 715 NONAME ; class QString QDeclarativeDebugQuery::trUtf8(char const *, char const *, int)
+	?toRelocatableData@QMetaObjectBuilder@@QBE?AVQByteArray@@PA_N@Z @ 716 NONAME ; class QByteArray QMetaObjectBuilder::toRelocatableData(bool *) const
+	?qt_metacast@QDeclarativeView@@UAEPAXPBD@Z @ 717 NONAME ; void * QDeclarativeView::qt_metacast(char const *)
+	?mapToItem@QDeclarativeItem@@QBE?AVQScriptValue@@ABV2@MM@Z @ 718 NONAME ; class QScriptValue QDeclarativeItem::mapToItem(class QScriptValue const &, float, float) const
+	?setPluginPathList@QDeclarativeEngine@@QAEXABVQStringList@@@Z @ 719 NONAME ; void QDeclarativeEngine::setPluginPathList(class QStringList const &)
+	?metaObject@QDeclarativeState@@UBEPBUQMetaObject@@XZ @ 720 NONAME ; struct QMetaObject const * QDeclarativeState::metaObject(void) const
+	?boundingRect@QDeclarativeRectangle@@UBE?AVQRectF@@XZ @ 721 NONAME ; class QRectF QDeclarativeRectangle::boundingRect(void) const
+	?uri@QDeclarativeDomImport@@QBE?AVQString@@XZ @ 722 NONAME ; class QString QDeclarativeDomImport::uri(void) const
+	?setContextProperty@QDeclarativeContext@@QAEXABVQString@@PAVQObject@@@Z @ 723 NONAME ; void QDeclarativeContext::setContextProperty(class QString const &, class QObject *)
+	?setBaseUrl@QDeclarativeEngine@@QAEXABVQUrl@@@Z @ 724 NONAME ; void QDeclarativeEngine::setBaseUrl(class QUrl const &)
+	?trUtf8@QDeclarativeDebugEnginesQuery@@SA?AVQString@@PBD0H@Z @ 725 NONAME ; class QString QDeclarativeDebugEnginesQuery::trUtf8(char const *, char const *, int)
+	?setScriptable@QMetaPropertyBuilder@@QAEX_N@Z @ 726 NONAME ; void QMetaPropertyBuilder::setScriptable(bool)
+	??0QDeclarativeProperty@@QAE@PAVQObject@@PAVQDeclarativeEngine@@@Z @ 727 NONAME ; QDeclarativeProperty::QDeclarativeProperty(class QObject *, class QDeclarativeEngine *)
+	?itemsInserted@QListModelInterface@@IAEXHH@Z @ 728 NONAME ; void QListModelInterface::itemsInserted(int, int)
+	?generateBorderedRect@QDeclarativeRectangle@@AAEXXZ @ 729 NONAME ; void QDeclarativeRectangle::generateBorderedRect(void)
+	?verticalCenterOffsetChanged@QDeclarativeAnchors@@IAEXXZ @ 730 NONAME ; void QDeclarativeAnchors::verticalCenterOffsetChanged(void)
+	?width@QDeclarativeItem@@QBEMXZ @ 731 NONAME ; float QDeclarativeItem::width(void) const
+	?isValueInterceptor@QDeclarativeDomValue@@QBE_NXZ @ 732 NONAME ; bool QDeclarativeDomValue::isValueInterceptor(void) const
+	?transform_at@QDeclarativeItemPrivate@@SAPAVQGraphicsTransform@@PAV?$QDeclarativeListProperty@VQGraphicsTransform@@@@H@Z @ 733 NONAME ; class QGraphicsTransform * QDeclarativeItemPrivate::transform_at(class QDeclarativeListProperty<class QGraphicsTransform> *, int)
+	??1QDeclarativeDomValueBinding@@QAE@XZ @ 734 NONAME ; QDeclarativeDomValueBinding::~QDeclarativeDomValueBinding(void)
+	?qt_metacast@QDeclarativeAnchors@@UAEPAXPBD@Z @ 735 NONAME ; void * QDeclarativeAnchors::qt_metacast(char const *)
+	?isInterface@QDeclarativeMetaType@@SA_NH@Z @ 736 NONAME ; bool QDeclarativeMetaType::isInterface(int)
+	?qt_metacall@QDeclarativeRectangle@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 737 NONAME ; int QDeclarativeRectangle::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?trUtf8@QDeclarativePen@@SA?AVQString@@PBD0H@Z @ 738 NONAME ; class QString QDeclarativePen::trUtf8(char const *, char const *, int)
+	??0Variant@QDeclarativeParser@@QAE@ABVQString@@PAVNode@AST@QDeclarativeJS@@@Z @ 739 NONAME ; QDeclarativeParser::Variant::Variant(class QString const &, class QDeclarativeJS::AST::Node *)
+	?rootObject@QDeclarativeDomDocument@@QBE?AVQDeclarativeDomObject@@XZ @ 740 NONAME ; class QDeclarativeDomObject QDeclarativeDomDocument::rootObject(void) const
+	?rightChanged@QDeclarativeAnchors@@IAEXXZ @ 741 NONAME ; void QDeclarativeAnchors::rightChanged(void)
+	?isReady@QDeclarativePixmap@@QBE_NXZ @ 742 NONAME ; bool QDeclarativePixmap::isReady(void) const
+	??6QDeclarativeInfo@@QAEAAV0@ABVQByteArray@@@Z @ 743 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(class QByteArray const &)
+	?qt_metacast@QDeclarativeEngine@@UAEPAXPBD@Z @ 744 NONAME ; void * QDeclarativeEngine::qt_metacast(char const *)
+	?objectType@QDeclarativeDomObject@@QBE?AVQByteArray@@XZ @ 745 NONAME ; class QByteArray QDeclarativeDomObject::objectType(void) const
+	?addConstructor@QMetaObjectBuilder@@QAE?AVQMetaMethodBuilder@@ABVQByteArray@@@Z @ 746 NONAME ; class QMetaMethodBuilder QMetaObjectBuilder::addConstructor(class QByteArray const &)
+	?read@QDeclarativeProperty@@SA?AVQVariant@@PAVQObject@@ABVQString@@PAVQDeclarativeContext@@@Z @ 747 NONAME ; class QVariant QDeclarativeProperty::read(class QObject *, class QString const &, class QDeclarativeContext *)
+	?staticMetaObject@QDeclarativeDebugExpressionQuery@@2UQMetaObject@@B @ 748 NONAME ; struct QMetaObject const QDeclarativeDebugExpressionQuery::staticMetaObject
+	?queryRootContexts@QDeclarativeEngineDebug@@QAEPAVQDeclarativeDebugRootContextQuery@@ABVQDeclarativeDebugEngineReference@@PAVQObject@@@Z @ 749 NONAME ; class QDeclarativeDebugRootContextQuery * QDeclarativeEngineDebug::queryRootContexts(class QDeclarativeDebugEngineReference const &, class QObject *)
+	?vector3DFromString@QDeclarativeStringConverters@@YA?AVQVector3D@@ABVQString@@PA_N@Z @ 750 NONAME ; class QVector3D QDeclarativeStringConverters::vector3DFromString(class QString const &, bool *)
+	?rootContext@QDeclarativeView@@QBEPAVQDeclarativeContext@@XZ @ 751 NONAME ; class QDeclarativeContext * QDeclarativeView::rootContext(void) const
+	??_EQDeclarativeDebugPropertyWatch@@UAE@I@Z @ 752 NONAME ; QDeclarativeDebugPropertyWatch::~QDeclarativeDebugPropertyWatch(unsigned int)
+	?relatedMetaObjectCount@QMetaObjectBuilder@@QBEHXZ @ 753 NONAME ; int QMetaObjectBuilder::relatedMetaObjectCount(void) const
+	?script@QDeclarativeScriptString@@QBE?AVQString@@XZ @ 754 NONAME ; class QString QDeclarativeScriptString::script(void) const
+	?index@QMetaMethodBuilder@@QBEHXZ @ 755 NONAME ; int QMetaMethodBuilder::index(void) const
+	??4QDeclarativeDomValueBinding@@QAEAAV0@ABV0@@Z @ 756 NONAME ; class QDeclarativeDomValueBinding & QDeclarativeDomValueBinding::operator=(class QDeclarativeDomValueBinding const &)
+	??0QDeclarativeExpression@@QAE@XZ @ 757 NONAME ; QDeclarativeExpression::QDeclarativeExpression(void)
+	?paint@QDeclarativeItem@@UAEXPAVQPainter@@PBVQStyleOptionGraphicsItem@@PAVQWidget@@@Z @ 758 NONAME ; void QDeclarativeItem::paint(class QPainter *, class QStyleOptionGraphicsItem const *, class QWidget *)
+	?send@QPacketProtocol@@QAE?AVQPacketAutoSend@@XZ @ 759 NONAME ; class QPacketAutoSend QPacketProtocol::send(void)
+	?countChanged@QDeclarativeListModel@@IAEXXZ @ 760 NONAME ; void QDeclarativeListModel::countChanged(void)
+	??0QDeclarativeGridScaledImage@@QAE@PAVQIODevice@@@Z @ 761 NONAME ; QDeclarativeGridScaledImage::QDeclarativeGridScaledImage(class QIODevice *)
+	??_EQDeclarativeBinding@@UAE@I@Z @ 762 NONAME ; QDeclarativeBinding::~QDeclarativeBinding(unsigned int)
+	?baseMetaObject@QDeclarativeType@@QBEPBUQMetaObject@@XZ @ 763 NONAME ; struct QMetaObject const * QDeclarativeType::baseMetaObject(void) const
+	?tr@QDeclarativeDebugConnection@@SA?AVQString@@PBD0@Z @ 764 NONAME ; class QString QDeclarativeDebugConnection::tr(char const *, char const *)
+	?staticMetaObject@QDeclarativeBinding@@2UQMetaObject@@B @ 765 NONAME ; struct QMetaObject const QDeclarativeBinding::staticMetaObject
+	?qualifier@QDeclarativeDomImport@@QBE?AVQString@@XZ @ 766 NONAME ; class QString QDeclarativeDomImport::qualifier(void) const
+	??0QDeclarativeProperty@@QAE@PAVQObject@@ABVQString@@PAVQDeclarativeContext@@@Z @ 767 NONAME ; QDeclarativeProperty::QDeclarativeProperty(class QObject *, class QString const &, class QDeclarativeContext *)
+	?setSuperClass@QMetaObjectBuilder@@QAEXPBUQMetaObject@@@Z @ 768 NONAME ; void QMetaObjectBuilder::setSuperClass(struct QMetaObject const *)
+	?contains@QDeclarativePropertyMap@@QBE_NABVQString@@@Z @ 769 NONAME ; bool QDeclarativePropertyMap::contains(class QString const &) const
+	?setGradient@QDeclarativeRectangle@@QAEXPAVQDeclarativeGradient@@@Z @ 770 NONAME ; void QDeclarativeRectangle::setGradient(class QDeclarativeGradient *)
+	?metaObject@QDeclarativeTransition@@UBEPBUQMetaObject@@XZ @ 771 NONAME ; struct QMetaObject const * QDeclarativeTransition::metaObject(void) const
+	?defaultMethod@QDeclarativeMetaType@@SA?AVQMetaMethod@@PBUQMetaObject@@@Z @ 772 NONAME ; class QMetaMethod QDeclarativeMetaType::defaultMethod(struct QMetaObject const *)
+	?tr@QDeclarativeExtensionPlugin@@SA?AVQString@@PBD0H@Z @ 773 NONAME ; class QString QDeclarativeExtensionPlugin::tr(char const *, char const *, int)
+	?metaObject@QDeclarativeValueType@@UBEPBUQMetaObject@@XZ @ 774 NONAME ; struct QMetaObject const * QDeclarativeValueType::metaObject(void) const
+	?hasNotifySignal@QDeclarativeProperty@@QBE_NXZ @ 775 NONAME ; bool QDeclarativeProperty::hasNotifySignal(void) const
+	?create@QDeclarativeType@@QBEXPAPAVQObject@@PAPAXI@Z @ 776 NONAME ; void QDeclarativeType::create(class QObject * *, void * *, unsigned int) const
+	?reversible@QDeclarativeTransition@@QBE_NXZ @ 777 NONAME ; bool QDeclarativeTransition::reversible(void) const
+	?invalidPacket@QPacketProtocol@@IAEXXZ @ 778 NONAME ; void QPacketProtocol::invalidPacket(void)
+	??0QDeclarativeDebugObjectReference@@QAE@H@Z @ 779 NONAME ; QDeclarativeDebugObjectReference::QDeclarativeDebugObjectReference(int)
+	?superClass@QMetaObjectBuilder@@QBEPBUQMetaObject@@XZ @ 780 NONAME ; struct QMetaObject const * QMetaObjectBuilder::superClass(void) const
+	?isValid@QDeclarativeListReference@@QBE_NXZ @ 781 NONAME ; bool QDeclarativeListReference::isValid(void) const
+	?source@QDeclarativeView@@QBE?AVQUrl@@XZ @ 782 NONAME ; class QUrl QDeclarativeView::source(void) const
+	?method@QDeclarativeProperty@@QBE?AVQMetaMethod@@XZ @ 783 NONAME ; class QMetaMethod QDeclarativeProperty::method(void) const
+	??0QDeclarativeInfo@@QAE@ABV0@@Z @ 784 NONAME ; QDeclarativeInfo::QDeclarativeInfo(class QDeclarativeInfo const &)
+	?deleteFromBinding@QDeclarativeAction@@QAEXXZ @ 785 NONAME ; void QDeclarativeAction::deleteFromBinding(void)
+	?setClip@QDeclarativeItem@@QAEX_N@Z @ 786 NONAME ; void QDeclarativeItem::setClip(bool)
+	??4QDeclarativeCustomParserNode@@QAEAAV0@ABV0@@Z @ 787 NONAME ; class QDeclarativeCustomParserNode & QDeclarativeCustomParserNode::operator=(class QDeclarativeCustomParserNode const &)
+	?color@QDeclarativePen@@QBE?AVQColor@@XZ @ 788 NONAME ; class QColor QDeclarativePen::color(void) const
+	?clear@QDeclarativePixmap@@QAEXXZ @ 789 NONAME ; void QDeclarativePixmap::clear(void)
+	?setDesignable@QMetaPropertyBuilder@@QAEX_N@Z @ 790 NONAME ; void QMetaPropertyBuilder::setDesignable(bool)
+	?setWrapMode@QDeclarativeText@@QAEXW4WrapMode@1@@Z @ 791 NONAME ; void QDeclarativeText::setWrapMode(enum QDeclarativeText::WrapMode)
+	?addClassInfo@QMetaObjectBuilder@@QAEHABVQByteArray@@0@Z @ 792 NONAME ; int QMetaObjectBuilder::addClassInfo(class QByteArray const &, class QByteArray const &)
+	?qt_metacall@QDeclarativePen@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 793 NONAME ; int QDeclarativePen::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?dynamicProperty@QDeclarativeDomObject@@QBE?AVQDeclarativeDomDynamicProperty@@ABVQByteArray@@@Z @ 794 NONAME ; class QDeclarativeDomDynamicProperty QDeclarativeDomObject::dynamicProperty(class QByteArray const &) const
+	??1QDeclarativeDomComponent@@QAE@XZ @ 795 NONAME ; QDeclarativeDomComponent::~QDeclarativeDomComponent(void)
+	?setRight@QDeclarativeScaleGrid@@QAEXH@Z @ 796 NONAME ; void QDeclarativeScaleGrid::setRight(int)
+	?isList@QDeclarativeMetaType@@SA_NH@Z @ 797 NONAME ; bool QDeclarativeMetaType::isList(int)
+	??6QDeclarativeInfo@@QAEAAV0@VQTextStreamManipulator@@@Z @ 798 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(class QTextStreamManipulator)
+	?index@QDeclarativeProperty@@QBEHXZ @ 799 NONAME ; int QDeclarativeProperty::index(void) const
+	?d_func@QMetaPropertyBuilder@@ABEPAVQMetaPropertyBuilderPrivate@@XZ @ 800 NONAME ; class QMetaPropertyBuilderPrivate * QMetaPropertyBuilder::d_func(void) const
+	?tr@QDeclarativeScaleGrid@@SA?AVQString@@PBD0H@Z @ 801 NONAME ; class QString QDeclarativeScaleGrid::tr(char const *, char const *, int)
+	?setEnabled@QDeclarativeAbstractBinding@@QAEX_N@Z @ 802 NONAME ; void QDeclarativeAbstractBinding::setEnabled(bool)
+	?returnType@QMetaMethodBuilder@@QBE?AVQByteArray@@XZ @ 803 NONAME ; class QByteArray QMetaMethodBuilder::returnType(void) const
+	?propertyValueSourceCast@QDeclarativeType@@QBEHXZ @ 804 NONAME ; int QDeclarativeType::propertyValueSourceCast(void) const
+	?mousePressEvent@QDeclarativeText@@MAEXPAVQGraphicsSceneMouseEvent@@@Z @ 805 NONAME ; void QDeclarativeText::mousePressEvent(class QGraphicsSceneMouseEvent *)
+	?trUtf8@QDeclarativeText@@SA?AVQString@@PBD0@Z @ 806 NONAME ; class QString QDeclarativeText::trUtf8(char const *, char const *)
+	?constructor@QMetaObjectBuilder@@QBE?AVQMetaMethodBuilder@@H@Z @ 807 NONAME ; class QMetaMethodBuilder QMetaObjectBuilder::constructor(int) const
+	?defaultProperty@QDeclarativeMetaType@@SA?AVQMetaProperty@@PAVQObject@@@Z @ 808 NONAME ; class QMetaProperty QDeclarativeMetaType::defaultProperty(class QObject *)
+	?resetHeight@QDeclarativeItemPrivate@@UAEXXZ @ 809 NONAME ; void QDeclarativeItemPrivate::resetHeight(void)
+	?qt_metacast@QDeclarativeDebugPropertyWatch@@UAEPAXPBD@Z @ 810 NONAME ; void * QDeclarativeDebugPropertyWatch::qt_metacast(char const *)
+	??1QDeclarativeStateOperation@@UAE@XZ @ 811 NONAME ; QDeclarativeStateOperation::~QDeclarativeStateOperation(void)
+	??_EQDeclarativeDebugQuery@@UAE@I@Z @ 812 NONAME ; QDeclarativeDebugQuery::~QDeclarativeDebugQuery(unsigned int)
+	?update@QDeclarativeAbstractBinding@@QAEXXZ @ 813 NONAME ; void QDeclarativeAbstractBinding::update(void)
+	?tr@QDeclarativeBehavior@@SA?AVQString@@PBD0H@Z @ 814 NONAME ; class QString QDeclarativeBehavior::tr(char const *, char const *, int)
+	?read@QPacketProtocol@@QAE?AVQPacket@@XZ @ 815 NONAME ; class QPacket QPacketProtocol::read(void)
+	?setParentItem@QDeclarativeItem@@QAEXPAV1@@Z @ 816 NONAME ; void QDeclarativeItem::setParentItem(class QDeclarativeItem *)
+	?qmlAttachedProperties@QDeclarativeComponent@@SAPAVQDeclarativeComponentAttached@@PAVQObject@@@Z @ 817 NONAME ; class QDeclarativeComponentAttached * QDeclarativeComponent::qmlAttachedProperties(class QObject *)
+	??0QDeclarativeView@@QAE@ABVQUrl@@PAVQWidget@@@Z @ 818 NONAME ; QDeclarativeView::QDeclarativeView(class QUrl const &, class QWidget *)
+	?valueChanged@QDeclarativeExpression@@IAEXXZ @ 819 NONAME ; void QDeclarativeExpression::valueChanged(void)
+	??_EQDeclarativeView@@UAE@I@Z @ 820 NONAME ; QDeclarativeView::~QDeclarativeView(unsigned int)
+	?trUtf8@QDeclarativeStateGroup@@SA?AVQString@@PBD0H@Z @ 821 NONAME ; class QString QDeclarativeStateGroup::trUtf8(char const *, char const *, int)
+	?tag@QMetaMethodBuilder@@QBE?AVQByteArray@@XZ @ 822 NONAME ; class QByteArray QMetaMethodBuilder::tag(void) const
+	?getStaticMetaObject@QPacketProtocol@@SAABUQMetaObject@@XZ @ 823 NONAME ; struct QMetaObject const & QPacketProtocol::getStaticMetaObject(void)
+	?setContext@QDeclarativeScriptString@@QAEXPAVQDeclarativeContext@@@Z @ 824 NONAME ; void QDeclarativeScriptString::setContext(class QDeclarativeContext *)
+	?addImageProvider@QDeclarativeEngine@@QAEXABVQString@@PAVQDeclarativeImageProvider@@@Z @ 825 NONAME ; void QDeclarativeEngine::addImageProvider(class QString const &, class QDeclarativeImageProvider *)
+	?d_func@QDeclarativeStateGroup@@ABEPBVQDeclarativeStateGroupPrivate@@XZ @ 826 NONAME ; class QDeclarativeStateGroupPrivate const * QDeclarativeStateGroup::d_func(void) const
+	?stateChanged@QDeclarativeItem@@IAEXABVQString@@@Z @ 827 NONAME ; void QDeclarativeItem::stateChanged(class QString const &)
+	?horizontalAlignmentChanged@QDeclarativeText@@IAEXW4HAlignment@1@@Z @ 828 NONAME ; void QDeclarativeText::horizontalAlignmentChanged(enum QDeclarativeText::HAlignment)
+	??5@YAAAVQDataStream@@AAV0@AAUQDeclarativeObjectData@QDeclarativeEngineDebugServer@@@Z @ 829 NONAME ; class QDataStream & operator>>(class QDataStream &, struct QDeclarativeEngineDebugServer::QDeclarativeObjectData &)
+	?setDynamic@QMetaPropertyBuilder@@QAEX_N@Z @ 830 NONAME ; void QMetaPropertyBuilder::setDynamic(bool)
+	?pixmap@QDeclarativePixmap@@QBEABVQPixmap@@XZ @ 831 NONAME ; class QPixmap const & QDeclarativePixmap::pixmap(void) const
+	?d_func@QDeclarativeEngine@@ABEPBVQDeclarativeEnginePrivate@@XZ @ 832 NONAME ; class QDeclarativeEnginePrivate const * QDeclarativeEngine::d_func(void) const
+	?toBinding@QDeclarativeDomValue@@QBE?AVQDeclarativeDomValueBinding@@XZ @ 833 NONAME ; class QDeclarativeDomValueBinding QDeclarativeDomValue::toBinding(void) const
+	?removeImageProvider@QDeclarativeEngine@@QAEXABVQString@@@Z @ 834 NONAME ; void QDeclarativeEngine::removeImageProvider(class QString const &)
+	?horizontalCenterOffsetChanged@QDeclarativeAnchors@@IAEXXZ @ 835 NONAME ; void QDeclarativeAnchors::horizontalCenterOffsetChanged(void)
+	?tr@QDeclarativeContext@@SA?AVQString@@PBD0@Z @ 836 NONAME ; class QString QDeclarativeContext::tr(char const *, char const *)
+	?d_func@QDeclarativeItem@@ABEPBVQDeclarativeItemPrivate@@XZ @ 837 NONAME ; class QDeclarativeItemPrivate const * QDeclarativeItem::d_func(void) const
+	?isUser@QMetaPropertyBuilder@@QBE_NXZ @ 838 NONAME ; bool QMetaPropertyBuilder::isUser(void) const
+	?doUpdate@QDeclarativeRectangle@@AAEXXZ @ 839 NONAME ; void QDeclarativeRectangle::doUpdate(void)
+	?qmlExecuteDeferred@@YAXPAVQObject@@@Z @ 840 NONAME ; void qmlExecuteDeferred(class QObject *)
+	?setImplicitHeight@QDeclarativeItem@@IAEXM@Z @ 841 NONAME ; void QDeclarativeItem::setImplicitHeight(float)
+	?horizontalCenterOffset@QDeclarativeAnchors@@QBEMXZ @ 842 NONAME ; float QDeclarativeAnchors::horizontalCenterOffset(void) const
+	?resetRight@QDeclarativeAnchors@@QAEXXZ @ 843 NONAME ; void QDeclarativeAnchors::resetRight(void)
+	??6QDeclarativeInfo@@QAEAAV0@J@Z @ 844 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(long)
+	?isReady@QDeclarativeComponent@@QBE_NXZ @ 845 NONAME ; bool QDeclarativeComponent::isReady(void) const
+	??4QDeclarativeDebugObjectReference@@QAEAAV0@ABV0@@Z @ 846 NONAME ; class QDeclarativeDebugObjectReference & QDeclarativeDebugObjectReference::operator=(class QDeclarativeDebugObjectReference const &)
+	??1QDeclarativeDomDynamicProperty@@QAE@XZ @ 847 NONAME ; QDeclarativeDomDynamicProperty::~QDeclarativeDomDynamicProperty(void)
+	??1QDeclarativeBehavior@@UAE@XZ @ 848 NONAME ; QDeclarativeBehavior::~QDeclarativeBehavior(void)
+	?qmlInfo@@YA?AVQDeclarativeInfo@@PBVQObject@@@Z @ 849 NONAME ; class QDeclarativeInfo qmlInfo(class QObject const *)
+	?qt_metacall@QDeclarativeDebugClient@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 850 NONAME ; int QDeclarativeDebugClient::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?d_func@QDeclarativeDebugService@@ABEPBVQDeclarativeDebugServicePrivate@@XZ @ 851 NONAME ; class QDeclarativeDebugServicePrivate const * QDeclarativeDebugService::d_func(void) const
+	??1QDeclarativeDebugQuery@@UAE@XZ @ 852 NONAME ; QDeclarativeDebugQuery::~QDeclarativeDebugQuery(void)
+	?data_append@QDeclarativeItemPrivate@@SAXPAV?$QDeclarativeListProperty@VQObject@@@@PAVQObject@@@Z @ 853 NONAME ; void QDeclarativeItemPrivate::data_append(class QDeclarativeListProperty<class QObject> *, class QObject *)
+	?tr@QDeclarativeState@@SA?AVQString@@PBD0@Z @ 854 NONAME ; class QString QDeclarativeState::tr(char const *, char const *)
+	?trUtf8@QDeclarativeEngineDebug@@SA?AVQString@@PBD0H@Z @ 855 NONAME ; class QString QDeclarativeEngineDebug::trUtf8(char const *, char const *, int)
+	?createProperty@QDeclarativeOpenMetaObject@@MAEHPBD0@Z @ 856 NONAME ; int QDeclarativeOpenMetaObject::createProperty(char const *, char const *)
+	?bottomMargin@QDeclarativeAnchors@@QBEMXZ @ 857 NONAME ; float QDeclarativeAnchors::bottomMargin(void) const
+	?q_func@QDeclarativeItemPrivate@@AAEPAVQDeclarativeItem@@XZ @ 858 NONAME ; class QDeclarativeItem * QDeclarativeItemPrivate::q_func(void)
+	?trUtf8@QDeclarativeScaleGrid@@SA?AVQString@@PBD0@Z @ 859 NONAME ; class QString QDeclarativeScaleGrid::trUtf8(char const *, char const *)
+	??1QDeclarativeDomList@@QAE@XZ @ 860 NONAME ; QDeclarativeDomList::~QDeclarativeDomList(void)
+	??0QDeclarativeOpenMetaObjectType@@QAE@PBUQMetaObject@@PAVQDeclarativeEngine@@@Z @ 861 NONAME ; QDeclarativeOpenMetaObjectType::QDeclarativeOpenMetaObjectType(struct QMetaObject const *, class QDeclarativeEngine *)
+	?removeProperty@QMetaObjectBuilder@@QAEXH@Z @ 862 NONAME ; void QMetaObjectBuilder::removeProperty(int)
+	?staticMetaObject@QDeclarativeScaleGrid@@2UQMetaObject@@B @ 863 NONAME ; struct QMetaObject const QDeclarativeScaleGrid::staticMetaObject
+	??0QDeclarativeDomObject@@QAE@ABV0@@Z @ 864 NONAME ; QDeclarativeDomObject::QDeclarativeDomObject(class QDeclarativeDomObject const &)
+	?qt_metacast@QDeclarativeDebugWatch@@UAEPAXPBD@Z @ 865 NONAME ; void * QDeclarativeDebugWatch::qt_metacast(char const *)
+	?implicitHeight@QDeclarativeItem@@QBEMXZ @ 866 NONAME ; float QDeclarativeItem::implicitHeight(void) const
+	?trUtf8@QDeclarativeDebugPropertyWatch@@SA?AVQString@@PBD0@Z @ 867 NONAME ; class QString QDeclarativeDebugPropertyWatch::trUtf8(char const *, char const *)
 	??6@YA?AVQDebug@@V0@ABVQDeclarativeError@@@Z @ 868 NONAME ; class QDebug operator<<(class QDebug, class QDeclarativeError const &)
 	?setContextProperty@QDeclarativeContext@@QAEXABVQString@@ABVQVariant@@@Z @ 869 NONAME ; void QDeclarativeContext::setContextProperty(class QString const &, class QVariant const &)
 	?imports@QDeclarativeDomDocument@@QBE?AV?$QList@VQDeclarativeDomImport@@@@XZ @ 870 NONAME ; class QList<class QDeclarativeDomImport> QDeclarativeDomDocument::imports(void) const
@@ -876,813 +876,767 @@ EXPORTS
 	?position@QDeclarativeDomValue@@QBEHXZ @ 875 NONAME ; int QDeclarativeDomValue::position(void) const
 	?setWidth@QDeclarativeItemPrivate@@UAEXM@Z @ 876 NONAME ; void QDeclarativeItemPrivate::setWidth(float)
 	?staticMetaObject@QDeclarativeDebugWatch@@2UQMetaObject@@B @ 877 NONAME ; struct QMetaObject const QDeclarativeDebugWatch::staticMetaObject
-	??_EQDeclarativeContext@@UAE@I@Z @ 878 NONAME ; QDeclarativeContext::~QDeclarativeContext(unsigned int)
-	?rootContext@QDeclarativeView@@QAEPAVQDeclarativeContext@@XZ @ 879 NONAME ABSENT ; class QDeclarativeContext * QDeclarativeView::rootContext(void)
+	??0QDeclarativePixmap@@QAE@PAVQDeclarativeEngine@@ABVQUrl@@@Z @ 878 NONAME ; QDeclarativePixmap::QDeclarativePixmap(class QDeclarativeEngine *, class QUrl const &)
+	??_EQDeclarativeContext@@UAE@I@Z @ 879 NONAME ; QDeclarativeContext::~QDeclarativeContext(unsigned int)
 	?staticMetaObject@QDeclarativeDebugQuery@@2UQMetaObject@@B @ 880 NONAME ; struct QMetaObject const QDeclarativeDebugQuery::staticMetaObject
 	??0QDeclarativeExtensionPlugin@@QAE@PAVQObject@@@Z @ 881 NONAME ; QDeclarativeExtensionPlugin::QDeclarativeExtensionPlugin(class QObject *)
-	??_EQDeclarativeOpenMetaObject@@UAE@I@Z @ 882 NONAME ; QDeclarativeOpenMetaObject::~QDeclarativeOpenMetaObject(unsigned int)
-	?states@QDeclarativeItemPrivate@@QAE?AV?$QDeclarativeListProperty@VQDeclarativeState@@@@XZ @ 883 NONAME ; class QDeclarativeListProperty<class QDeclarativeState> QDeclarativeItemPrivate::states(void)
-	?rawMetaObjectForType@QDeclarativePropertyPrivate@@SAPBUQMetaObject@@PAVQDeclarativeEnginePrivate@@H@Z @ 884 NONAME ; struct QMetaObject const * QDeclarativePropertyPrivate::rawMetaObjectForType(class QDeclarativeEnginePrivate *, int)
-	?setHeight@QDeclarativeItem@@QAEXM@Z @ 885 NONAME ; void QDeclarativeItem::setHeight(float)
-	??0QDeclarativeDomDocument@@QAE@ABV0@@Z @ 886 NONAME ; QDeclarativeDomDocument::QDeclarativeDomDocument(class QDeclarativeDomDocument const &)
-	?position@QDeclarativeDomDynamicProperty@@QBEHXZ @ 887 NONAME ; int QDeclarativeDomDynamicProperty::position(void) const
-	?animations@QDeclarativeTransition@@QAE?AV?$QDeclarativeListProperty@VQDeclarativeAbstractAnimation@@@@XZ @ 888 NONAME ; class QDeclarativeListProperty<class QDeclarativeAbstractAnimation> QDeclarativeTransition::animations(void)
-	?tr@QDeclarativeExpression@@SA?AVQString@@PBD0H@Z @ 889 NONAME ; class QString QDeclarativeExpression::tr(char const *, char const *, int)
-	??_EQMetaObjectBuilder@@UAE@I@Z @ 890 NONAME ; QMetaObjectBuilder::~QMetaObjectBuilder(unsigned int)
-	?propertyName@QDeclarativeDomProperty@@QBE?AVQByteArray@@XZ @ 891 NONAME ; class QByteArray QDeclarativeDomProperty::propertyName(void) const
-	??0QDeclarativeView@@QAE@PAVQWidget@@@Z @ 892 NONAME ; QDeclarativeView::QDeclarativeView(class QWidget *)
-	?createObject@QDeclarativeComponent@@IAE?AVQScriptValue@@PAVQObject@@@Z @ 893 NONAME ; class QScriptValue QDeclarativeComponent::createObject(class QObject *)
-	?name@QDeclarativeDebugPropertyReference@@QBE?AVQString@@XZ @ 894 NONAME ; class QString QDeclarativeDebugPropertyReference::name(void) const
-	?object@QDeclarativeDomValueValueSource@@QBE?AVQDeclarativeDomObject@@XZ @ 895 NONAME ; class QDeclarativeDomObject QDeclarativeDomValueValueSource::object(void) const
-	??0QMetaPropertyBuilder@@AAE@PBVQMetaObjectBuilder@@H@Z @ 896 NONAME ; QMetaPropertyBuilder::QMetaPropertyBuilder(class QMetaObjectBuilder const *, int)
-	?d_func@QDeclarativeEngineDebug@@ABEPBVQDeclarativeEngineDebugPrivate@@XZ @ 897 NONAME ; class QDeclarativeEngineDebugPrivate const * QDeclarativeEngineDebug::d_func(void) const
-	?d_func@QDeclarativeBinding@@AAEPAVQDeclarativeBindingPrivate@@XZ @ 898 NONAME ; class QDeclarativeBindingPrivate * QDeclarativeBinding::d_func(void)
-	?trUtf8@QDeclarativeDebugExpressionQuery@@SA?AVQString@@PBD0H@Z @ 899 NONAME ; class QString QDeclarativeDebugExpressionQuery::trUtf8(char const *, char const *, int)
-	?attachedPropertiesFuncId@QDeclarativeMetaType@@SAHPBUQMetaObject@@@Z @ 900 NONAME ; int QDeclarativeMetaType::attachedPropertiesFuncId(struct QMetaObject const *)
-	?horizontalCenter@QDeclarativeItemPrivate@@QBE?AVQDeclarativeAnchorLine@@XZ @ 901 NONAME ; class QDeclarativeAnchorLine QDeclarativeItemPrivate::horizontalCenter(void) const
-	?isNull@QDeclarativeComponent@@QBE_NXZ @ 902 NONAME ; bool QDeclarativeComponent::isNull(void) const
-	?d_func@QDeclarativeRectangle@@ABEPBVQDeclarativeRectanglePrivate@@XZ @ 903 NONAME ; class QDeclarativeRectanglePrivate const * QDeclarativeRectangle::d_func(void) const
-	?setRightMargin@QDeclarativeAnchors@@QAEXM@Z @ 904 NONAME ; void QDeclarativeAnchors::setRightMargin(float)
-	?className@QMetaObjectBuilder@@QBE?AVQByteArray@@XZ @ 905 NONAME ; class QByteArray QMetaObjectBuilder::className(void) const
-	??0QDeclarativeState@@QAE@PAVQObject@@@Z @ 906 NONAME ; QDeclarativeState::QDeclarativeState(class QObject *)
-	?contexts@QDeclarativeDebugContextReference@@QBE?AV?$QList@VQDeclarativeDebugContextReference@@@@XZ @ 907 NONAME ; class QList<class QDeclarativeDebugContextReference> QDeclarativeDebugContextReference::contexts(void) const
-	?keyReleaseEvent@QDeclarativeItem@@MAEXPAVQKeyEvent@@@Z @ 908 NONAME ; void QDeclarativeItem::keyReleaseEvent(class QKeyEvent *)
-	?qt_metacall@QDeclarativeAnchors@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 909 NONAME ; int QDeclarativeAnchors::qt_metacall(enum QMetaObject::Call, int, void * *)
-	??0QDeclarativeAnchors@@QAE@PAVQGraphicsObject@@PAVQObject@@@Z @ 910 NONAME ; QDeclarativeAnchors::QDeclarativeAnchors(class QGraphicsObject *, class QObject *)
-	??4QDeclarativeScriptString@@QAEAAV0@ABV0@@Z @ 911 NONAME ; class QDeclarativeScriptString & QDeclarativeScriptString::operator=(class QDeclarativeScriptString const &)
-	??6@YAAAVQDataStream@@AAV0@ABUQDeclarativeObjectProperty@QDeclarativeEngineDebugServer@@@Z @ 912 NONAME ; class QDataStream & operator<<(class QDataStream &, struct QDeclarativeEngineDebugServer::QDeclarativeObjectProperty const &)
-	?hasNotifySignal@QMetaPropertyBuilder@@QBE_NXZ @ 913 NONAME ; bool QMetaPropertyBuilder::hasNotifySignal(void) const
-	??4QDeclarativeDomImport@@QAEAAV0@ABV0@@Z @ 914 NONAME ; class QDeclarativeDomImport & QDeclarativeDomImport::operator=(class QDeclarativeDomImport const &)
-	?resetFill@QDeclarativeAnchors@@QAEXXZ @ 915 NONAME ; void QDeclarativeAnchors::resetFill(void)
-	??6QDeclarativeInfo@@QAEAAV0@_K@Z @ 916 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(unsigned long long)
-	?d_func@QDeclarativeComponent@@ABEPBVQDeclarativeComponentPrivate@@XZ @ 917 NONAME ; class QDeclarativeComponentPrivate const * QDeclarativeComponent::d_func(void) const
-	??0QDeclarativeBehavior@@QAE@PAVQObject@@@Z @ 918 NONAME ; QDeclarativeBehavior::QDeclarativeBehavior(class QObject *)
-	?length@QDeclarativeDomValue@@QBEHXZ @ 919 NONAME ; int QDeclarativeDomValue::length(void) const
-	?trUtf8@QDeclarativeBinding@@SA?AVQString@@PBD0H@Z @ 920 NONAME ; class QString QDeclarativeBinding::trUtf8(char const *, char const *, int)
-	??0QDeclarativeType@@AAE@HABURegisterInterface@QDeclarativePrivate@@@Z @ 921 NONAME ; QDeclarativeType::QDeclarativeType(int, struct QDeclarativePrivate::RegisterInterface const &)
-	?scopeObject@QDeclarativeScriptString@@QBEPAVQObject@@XZ @ 922 NONAME ; class QObject * QDeclarativeScriptString::scopeObject(void) const
-	?left@QDeclarativeItemPrivate@@QBE?AVQDeclarativeAnchorLine@@XZ @ 923 NONAME ; class QDeclarativeAnchorLine QDeclarativeItemPrivate::left(void) const
-	??1QDeclarativeDebuggerStatus@@UAE@XZ @ 924 NONAME ; QDeclarativeDebuggerStatus::~QDeclarativeDebuggerStatus(void)
-	??6QDeclarativeInfo@@QAEAAV0@ABVQLatin1String@@@Z @ 925 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(class QLatin1String const &)
-	?at@QDeclarativeListReference@@QBEPAVQObject@@H@Z @ 926 NONAME ; class QObject * QDeclarativeListReference::at(int) const
-	?metaObject@QDeclarativeDebugWatch@@UBEPBUQMetaObject@@XZ @ 927 NONAME ; struct QMetaObject const * QDeclarativeDebugWatch::metaObject(void) const
-	?qt_metacast@QListModelInterface@@UAEPAXPBD@Z @ 928 NONAME ; void * QListModelInterface::qt_metacast(char const *)
-	?deserialize@QMetaObjectBuilder@@QAEXAAVQDataStream@@ABV?$QMap@VQByteArray@@PB$$CBUQMetaObject@@@@@Z @ 929 NONAME ; void QMetaObjectBuilder::deserialize(class QDataStream &, class QMap<class QByteArray, struct QMetaObject const *> const &)
-	?canClear@QDeclarativeListReference@@QBE_NXZ @ 930 NONAME ; bool QDeclarativeListReference::canClear(void) const
-	??4QDeclarativeCustomParserProperty@@QAEAAV0@ABV0@@Z @ 931 NONAME ; class QDeclarativeCustomParserProperty & QDeclarativeCustomParserProperty::operator=(class QDeclarativeCustomParserProperty const &)
-	?parameterNames@QMetaMethodBuilder@@QBE?AV?$QList@VQByteArray@@@@XZ @ 932 NONAME ; class QList<class QByteArray> QMetaMethodBuilder::parameterNames(void) const
-	?get@QDeclarativeListModel@@QBE?AVQScriptValue@@H@Z @ 933 NONAME ; class QScriptValue QDeclarativeListModel::get(int) const
-	?createSize@QDeclarativeType@@QBEHXZ @ 934 NONAME ; int QDeclarativeType::createSize(void) const
-	?isValueSource@QDeclarativeDomValue@@QBE_NXZ @ 935 NONAME ; bool QDeclarativeDomValue::isValueSource(void) const
-	?isWritable@QDeclarativeProperty@@QBE_NXZ @ 936 NONAME ; bool QDeclarativeProperty::isWritable(void) const
-	?setKeepMouseGrab@QDeclarativeItem@@QAEX_N@Z @ 937 NONAME ; void QDeclarativeItem::setKeepMouseGrab(bool)
-	??0QDeclarativeDebugContextReference@@QAE@XZ @ 938 NONAME ; QDeclarativeDebugContextReference::QDeclarativeDebugContextReference(void)
-	?setParameterNames@QMetaMethodBuilder@@QAEXABV?$QList@VQByteArray@@@@@Z @ 939 NONAME ; void QMetaMethodBuilder::setParameterNames(class QList<class QByteArray> const &)
-	?getStaticMetaObject@QDeclarativeDebugRootContextQuery@@SAABUQMetaObject@@XZ @ 940 NONAME ; struct QMetaObject const & QDeclarativeDebugRootContextQuery::getStaticMetaObject(void)
-	?textChanged@QDeclarativeText@@IAEXABVQString@@@Z @ 941 NONAME ; void QDeclarativeText::textChanged(class QString const &)
-	?trUtf8@QDeclarativeItem@@SA?AVQString@@PBD0@Z @ 942 NONAME ; class QString QDeclarativeItem::trUtf8(char const *, char const *)
-	??0QDeclarativeCustomParserProperty@@QAE@ABV0@@Z @ 943 NONAME ; QDeclarativeCustomParserProperty::QDeclarativeCustomParserProperty(class QDeclarativeCustomParserProperty const &)
-	?getStaticMetaObject@QDeclarativeComponent@@SAABUQMetaObject@@XZ @ 944 NONAME ; struct QMetaObject const & QDeclarativeComponent::getStaticMetaObject(void)
-	?parentItem@QDeclarativeItem@@QBEPAV1@XZ @ 945 NONAME ; class QDeclarativeItem * QDeclarativeItem::parentItem(void) const
-	?value@QMetaEnumBuilder@@QBEHH@Z @ 946 NONAME ; int QMetaEnumBuilder::value(int) const
-	??_EQDeclarativeExpression@@UAE@I@Z @ 947 NONAME ; QDeclarativeExpression::~QDeclarativeExpression(unsigned int)
-	?load@QDeclarativeDomDocument@@QAE_NPAVQDeclarativeEngine@@ABVQByteArray@@ABVQUrl@@@Z @ 948 NONAME ; bool QDeclarativeDomDocument::load(class QDeclarativeEngine *, class QByteArray const &, class QUrl const &)
-	?staticMetaObject@QDeclarativeStateGroup@@2UQMetaObject@@B @ 949 NONAME ; struct QMetaObject const QDeclarativeStateGroup::staticMetaObject
-	?tr@QDeclarativePropertyMap@@SA?AVQString@@PBD0@Z @ 950 NONAME ; class QString QDeclarativePropertyMap::tr(char const *, char const *)
-	?verticalCenterChanged@QDeclarativeAnchors@@IAEXXZ @ 951 NONAME ; void QDeclarativeAnchors::verticalCenterChanged(void)
-	?isScriptable@QMetaPropertyBuilder@@QBE_NXZ @ 952 NONAME ; bool QMetaPropertyBuilder::isScriptable(void) const
-	?typeCategory@QDeclarativeMetaType@@SA?AW4TypeCategory@1@H@Z @ 953 NONAME ; enum QDeclarativeMetaType::TypeCategory QDeclarativeMetaType::typeCategory(int)
-	?findSignalByName@QDeclarativePropertyPrivate@@SA?AVQMetaMethod@@PBUQMetaObject@@ABVQByteArray@@@Z @ 954 NONAME ; class QMetaMethod QDeclarativePropertyPrivate::findSignalByName(struct QMetaObject const *, class QByteArray const &)
-	?length@QDeclarativeDomDynamicProperty@@QBEHXZ @ 955 NONAME ; int QDeclarativeDomDynamicProperty::length(void) const
-	?property@QDeclarativeBinding@@QBE?AVQDeclarativeProperty@@XZ @ 956 NONAME ; class QDeclarativeProperty QDeclarativeBinding::property(void) const
-	??0QDeclarativeDomValueBinding@@QAE@XZ @ 957 NONAME ; QDeclarativeDomValueBinding::QDeclarativeDomValueBinding(void)
-	?addImportPath@QDeclarativeEngine@@QAEXABVQString@@@Z @ 958 NONAME ; void QDeclarativeEngine::addImportPath(class QString const &)
-	?engine@QDeclarativeContext@@QBEPAVQDeclarativeEngine@@XZ @ 959 NONAME ; class QDeclarativeEngine * QDeclarativeContext::engine(void) const
-	?length@QDeclarativeDomObject@@QBEHXZ @ 960 NONAME ; int QDeclarativeDomObject::length(void) const
-	?setBaselineOffset@QDeclarativeAnchors@@QAEXM@Z @ 961 NONAME ; void QDeclarativeAnchors::setBaselineOffset(float)
-	?append@QDeclarativeListReference@@QBE_NPAVQObject@@@Z @ 962 NONAME ; bool QDeclarativeListReference::append(class QObject *) const
-	?d_func@QDeclarativeEngineDebug@@AAEPAVQDeclarativeEngineDebugPrivate@@XZ @ 963 NONAME ; class QDeclarativeEngineDebugPrivate * QDeclarativeEngineDebug::d_func(void)
-	??1QDeclarativeNetworkAccessManagerFactory@@UAE@XZ @ 964 NONAME ; QDeclarativeNetworkAccessManagerFactory::~QDeclarativeNetworkAccessManagerFactory(void)
-	?textFormatChanged@QDeclarativeText@@IAEXW4TextFormat@1@@Z @ 965 NONAME ; void QDeclarativeText::textFormatChanged(enum QDeclarativeText::TextFormat)
-	?removeState@QDeclarativeStateGroup@@AAEXPAVQDeclarativeState@@@Z @ 966 NONAME ; void QDeclarativeStateGroup::removeState(class QDeclarativeState *)
-	?qmlTypeName@QDeclarativeType@@QBE?AVQByteArray@@XZ @ 967 NONAME ; class QByteArray QDeclarativeType::qmlTypeName(void) const
-	?tr@QDeclarativeComponent@@SA?AVQString@@PBD0@Z @ 968 NONAME ; class QString QDeclarativeComponent::tr(char const *, char const *)
-	?setLoading@QDeclarativePixmapReply@@AAEXXZ @ 969 NONAME ABSENT ; void QDeclarativePixmapReply::setLoading(void)
-	?isProperty@QDeclarativeProperty@@QBE_NXZ @ 970 NONAME ; bool QDeclarativeProperty::isProperty(void) const
-	?states@QDeclarativeStateGroup@@QBE?AV?$QList@PAVQDeclarativeState@@@@XZ @ 971 NONAME ; class QList<class QDeclarativeState *> QDeclarativeStateGroup::states(void) const
-	??1QDeclarativeDebugExpressionQuery@@UAE@XZ @ 972 NONAME ; QDeclarativeDebugExpressionQuery::~QDeclarativeDebugExpressionQuery(void)
-	?isValid@QDeclarativeDomObject@@QBE_NXZ @ 973 NONAME ; bool QDeclarativeDomObject::isValid(void) const
-	?staticMetaObject@QDeclarativeAnchors@@2UQMetaObject@@B @ 974 NONAME ; struct QMetaObject const QDeclarativeAnchors::staticMetaObject
-	??_EQDeclarativePen@@UAE@I@Z @ 975 NONAME ; QDeclarativePen::~QDeclarativePen(unsigned int)
-	??0QDeclarativeDomProperty@@QAE@ABV0@@Z @ 976 NONAME ; QDeclarativeDomProperty::QDeclarativeDomProperty(class QDeclarativeDomProperty const &)
-	?_states@QDeclarativeItemPrivate@@QAEPAVQDeclarativeStateGroup@@XZ @ 977 NONAME ; class QDeclarativeStateGroup * QDeclarativeItemPrivate::_states(void)
-	?verticalAlignmentChanged@QDeclarativeText@@IAEXW4VAlignment@1@@Z @ 978 NONAME ; void QDeclarativeText::verticalAlignmentChanged(enum QDeclarativeText::VAlignment)
-	?typeId@QDeclarativeType@@QBEHXZ @ 979 NONAME ; int QDeclarativeType::typeId(void) const
-	?marginsChanged@QDeclarativeAnchors@@IAEXXZ @ 980 NONAME ; void QDeclarativeAnchors::marginsChanged(void)
-	?setValue@QDeclarativeOpenMetaObject@@QAEXHABVQVariant@@@Z @ 981 NONAME ; void QDeclarativeOpenMetaObject::setValue(int, class QVariant const &)
-	?parentProperty@QDeclarativeItemPrivate@@SAXPAVQObject@@PAXPAVQDeclarativeNotifierEndpoint@@@Z @ 982 NONAME ; void QDeclarativeItemPrivate::parentProperty(class QObject *, void *, class QDeclarativeNotifierEndpoint *)
-	??4QDeclarativeDebugContextReference@@QAEAAV0@ABV0@@Z @ 983 NONAME ; class QDeclarativeDebugContextReference & QDeclarativeDebugContextReference::operator=(class QDeclarativeDebugContextReference const &)
-	?isModule@QDeclarativeMetaType@@SA_NABVQByteArray@@HH@Z @ 984 NONAME ; bool QDeclarativeMetaType::isModule(class QByteArray const &, int, int)
-	?parentFunctions@QDeclarativeMetaType@@SA?AV?$QList@P6A?AW4AutoParentResult@QDeclarativePrivate@@PAVQObject@@0@Z@@XZ @ 985 NONAME ; class QList<enum QDeclarativePrivate::AutoParentResult (*)(class QObject *, class QObject *)> QDeclarativeMetaType::parentFunctions(void)
-	?metaObject@QDeclarativeDebugPropertyWatch@@UBEPBUQMetaObject@@XZ @ 986 NONAME ; struct QMetaObject const * QDeclarativeDebugPropertyWatch::metaObject(void) const
-	??0QDeclarativeRectangle@@QAE@PAVQDeclarativeItem@@@Z @ 987 NONAME ; QDeclarativeRectangle::QDeclarativeRectangle(class QDeclarativeItem *)
-	?setOutputWarningsToStandardError@QDeclarativeEngine@@QAEX_N@Z @ 988 NONAME ; void QDeclarativeEngine::setOutputWarningsToStandardError(bool)
-	?addMethod@QMetaObjectBuilder@@QAE?AVQMetaMethodBuilder@@ABVQByteArray@@0@Z @ 989 NONAME ; class QMetaMethodBuilder QMetaObjectBuilder::addMethod(class QByteArray const &, class QByteArray const &)
-	?enumerator@QMetaObjectBuilder@@QBE?AVQMetaEnumBuilder@@H@Z @ 990 NONAME ; class QMetaEnumBuilder QMetaObjectBuilder::enumerator(int) const
-	?fromRelocatableData@QMetaObjectBuilder@@SAXPAUQMetaObject@@PBU2@ABVQByteArray@@@Z @ 991 NONAME ; void QMetaObjectBuilder::fromRelocatableData(struct QMetaObject *, struct QMetaObject const *, class QByteArray const &)
-	?gridRight@QDeclarativeGridScaledImage@@QBEHXZ @ 992 NONAME ; int QDeclarativeGridScaledImage::gridRight(void) const
-	?isAlias@QDeclarativeDomDynamicProperty@@QBE_NXZ @ 993 NONAME ; bool QDeclarativeDomDynamicProperty::isAlias(void) const
-	?d_func@QDeclarativeContext@@ABEPBVQDeclarativeContextPrivate@@XZ @ 994 NONAME ; class QDeclarativeContextPrivate const * QDeclarativeContext::d_func(void) const
-	?getStaticMetaObject@QDeclarativeDebugEnginesQuery@@SAABUQMetaObject@@XZ @ 995 NONAME ; struct QMetaObject const & QDeclarativeDebugEnginesQuery::getStaticMetaObject(void)
-	?tr@QDeclarativeItem@@SA?AVQString@@PBD0H@Z @ 996 NONAME ; class QString QDeclarativeItem::tr(char const *, char const *, int)
-	?staticMetaObject@QDeclarativeDebugPropertyWatch@@2UQMetaObject@@B @ 997 NONAME ; struct QMetaObject const QDeclarativeDebugPropertyWatch::staticMetaObject
-	?setDescription@QDeclarativeError@@QAEXABVQString@@@Z @ 998 NONAME ; void QDeclarativeError::setDescription(class QString const &)
-	??0QDeclarativeExpression@@AAE@PAVQDeclarativeContextData@@PAVQObject@@ABVQString@@@Z @ 999 NONAME ; QDeclarativeExpression::QDeclarativeExpression(class QDeclarativeContextData *, class QObject *, class QString const &)
-	??1QDeclarativeOpenMetaObjectType@@UAE@XZ @ 1000 NONAME ; QDeclarativeOpenMetaObjectType::~QDeclarativeOpenMetaObjectType(void)
-	?setReversible@QDeclarativeTransition@@QAEX_N@Z @ 1001 NONAME ; void QDeclarativeTransition::setReversible(bool)
-	?notifySignal@QMetaPropertyBuilder@@QBE?AVQMetaMethodBuilder@@XZ @ 1002 NONAME ; class QMetaMethodBuilder QMetaPropertyBuilder::notifySignal(void) const
-	??0QDeclarativeDomList@@QAE@XZ @ 1003 NONAME ; QDeclarativeDomList::QDeclarativeDomList(void)
-	?indexOfSignal@QMetaObjectBuilder@@QAEHABVQByteArray@@@Z @ 1004 NONAME ; int QMetaObjectBuilder::indexOfSignal(class QByteArray const &)
-	?toState@QDeclarativeTransition@@QBE?AVQString@@XZ @ 1005 NONAME ; class QString QDeclarativeTransition::toState(void) const
-	??0QDeclarativeDomDocument@@QAE@XZ @ 1006 NONAME ; QDeclarativeDomDocument::QDeclarativeDomDocument(void)
-	?setWhen@QDeclarativeState@@QAEXPAVQDeclarativeBinding@@@Z @ 1007 NONAME ; void QDeclarativeState::setWhen(class QDeclarativeBinding *)
-	?isWhenKnown@QDeclarativeState@@QBE_NXZ @ 1008 NONAME ; bool QDeclarativeState::isWhenKnown(void) const
-	?agent@QDeclarativeListModel@@QAEPAVQDeclarativeListModelWorkerAgent@@XZ @ 1009 NONAME ; class QDeclarativeListModelWorkerAgent * QDeclarativeListModel::agent(void)
-	?engine@QDeclarativeExpression@@QBEPAVQDeclarativeEngine@@XZ @ 1010 NONAME ; class QDeclarativeEngine * QDeclarativeExpression::engine(void) const
-	??_EQDeclarativeDebugWatch@@UAE@I@Z @ 1011 NONAME ; QDeclarativeDebugWatch::~QDeclarativeDebugWatch(unsigned int)
-	?isEmpty@QPacket@@QBE_NXZ @ 1012 NONAME ; bool QPacket::isEmpty(void) const
-	?qmlType@QDeclarativeMetaType@@SAPAVQDeclarativeType@@PBUQMetaObject@@@Z @ 1013 NONAME ; class QDeclarativeType * QDeclarativeMetaType::qmlType(struct QMetaObject const *)
-	?setFill@QDeclarativeAnchors@@QAEXPAVQGraphicsObject@@@Z @ 1014 NONAME ; void QDeclarativeAnchors::setFill(class QGraphicsObject *)
-	?setHAlign@QDeclarativeText@@QAEXW4HAlignment@1@@Z @ 1015 NONAME ; void QDeclarativeText::setHAlign(enum QDeclarativeText::HAlignment)
-	??0QDeclarativeScriptString@@QAE@ABV0@@Z @ 1016 NONAME ; QDeclarativeScriptString::QDeclarativeScriptString(class QDeclarativeScriptString const &)
-	?trUtf8@QDeclarativeTransition@@SA?AVQString@@PBD0@Z @ 1017 NONAME ; class QString QDeclarativeTransition::trUtf8(char const *, char const *)
-	?metaObject@QDeclarativeDebugRootContextQuery@@UBEPBUQMetaObject@@XZ @ 1018 NONAME ; struct QMetaObject const * QDeclarativeDebugRootContextQuery::metaObject(void) const
-	?setSignalExpression@QDeclarativePropertyPrivate@@SAPAVQDeclarativeExpression@@ABVQDeclarativeProperty@@PAV2@@Z @ 1019 NONAME ; class QDeclarativeExpression * QDeclarativePropertyPrivate::setSignalExpression(class QDeclarativeProperty const &, class QDeclarativeExpression *)
-	?reversibleChanged@QDeclarativeTransition@@IAEXXZ @ 1020 NONAME ; void QDeclarativeTransition::reversibleChanged(void)
-	??4QDeclarativeDomValueValueSource@@QAEAAV0@ABV0@@Z @ 1021 NONAME ; class QDeclarativeDomValueValueSource & QDeclarativeDomValueValueSource::operator=(class QDeclarativeDomValueValueSource const &)
-	?name@QDeclarativeDebugObjectReference@@QBE?AVQString@@XZ @ 1022 NONAME ; class QString QDeclarativeDebugObjectReference::name(void) const
-	?anchorLines@QDeclarativeItemPrivate@@QBEPAUAnchorLines@1@XZ @ 1023 NONAME ; struct QDeclarativeItemPrivate::AnchorLines * QDeclarativeItemPrivate::anchorLines(void) const
-	?qmlInfo@@YA?AVQDeclarativeInfo@@PBVQObject@@ABVQDeclarativeError@@@Z @ 1024 NONAME ; class QDeclarativeInfo qmlInfo(class QObject const *, class QDeclarativeError const &)
-	?staticMetaObject@QDeclarativeText@@2UQMetaObject@@B @ 1025 NONAME ; struct QMetaObject const QDeclarativeText::staticMetaObject
-	?color@QDeclarativeRectangle@@QBE?AVQColor@@XZ @ 1026 NONAME ; class QColor QDeclarativeRectangle::color(void) const
-	?isEnabled@QDeclarativeDebugClient@@QBE_NXZ @ 1027 NONAME ; bool QDeclarativeDebugClient::isEnabled(void) const
-	?send@QPacketProtocol@@QAEXABVQPacket@@@Z @ 1028 NONAME ; void QPacketProtocol::send(class QPacket const &)
-	?error@QDeclarativeCustomParser@@IAEXABVQDeclarativeCustomParserNode@@ABVQString@@@Z @ 1029 NONAME ; void QDeclarativeCustomParser::error(class QDeclarativeCustomParserNode const &, class QString const &)
-	?defaultProperty@QDeclarativeMetaType@@SA?AVQMetaProperty@@PBUQMetaObject@@@Z @ 1030 NONAME ; class QMetaProperty QDeclarativeMetaType::defaultProperty(struct QMetaObject const *)
-	?isComponentComplete@QDeclarativeItem@@IBE_NXZ @ 1031 NONAME ; bool QDeclarativeItem::isComponentComplete(void) const
-	?type@QMetaPropertyBuilder@@QBE?AVQByteArray@@XZ @ 1032 NONAME ; class QByteArray QMetaPropertyBuilder::type(void) const
-	?setProperty@QDeclarativeListModel@@QAEXHABVQString@@ABVQVariant@@@Z @ 1033 NONAME ; void QDeclarativeListModel::setProperty(int, class QString const &, class QVariant const &)
-	?rootContext@QDeclarativeDebugRootContextQuery@@QBE?AVQDeclarativeDebugContextReference@@XZ @ 1034 NONAME ; class QDeclarativeDebugContextReference QDeclarativeDebugRootContextQuery::rootContext(void) const
-	?contextForObject@QDeclarativeEngine@@SAPAVQDeclarativeContext@@PBVQObject@@@Z @ 1035 NONAME ; class QDeclarativeContext * QDeclarativeEngine::contextForObject(class QObject const *)
-	?addProperty@QMetaObjectBuilder@@QAE?AVQMetaPropertyBuilder@@ABVQMetaProperty@@@Z @ 1036 NONAME ; class QMetaPropertyBuilder QMetaObjectBuilder::addProperty(class QMetaProperty const &)
-	?isQObject@QDeclarativeMetaType@@SA_NH@Z @ 1037 NONAME ; bool QDeclarativeMetaType::isQObject(int)
-	?trUtf8@QDeclarativeAnchors@@SA?AVQString@@PBD0@Z @ 1038 NONAME ; class QString QDeclarativeAnchors::trUtf8(char const *, char const *)
-	?getStaticMetaObject@QDeclarativeValueType@@SAABUQMetaObject@@XZ @ 1039 NONAME ; struct QMetaObject const & QDeclarativeValueType::getStaticMetaObject(void)
-	?valueChanged@QDeclarativePropertyMap@@IAEXABVQString@@ABVQVariant@@@Z @ 1040 NONAME ; void QDeclarativePropertyMap::valueChanged(class QString const &, class QVariant const &)
-	?staticMetaObject@QPacketProtocol@@2UQMetaObject@@B @ 1041 NONAME ; struct QMetaObject const QPacketProtocol::staticMetaObject
-	?tr@QDeclarativeListModel@@SA?AVQString@@PBD0H@Z @ 1042 NONAME ; class QString QDeclarativeListModel::tr(char const *, char const *, int)
-	??0QDeclarativeScriptString@@QAE@XZ @ 1043 NONAME ; QDeclarativeScriptString::QDeclarativeScriptString(void)
-	?tr@QListModelInterface@@SA?AVQString@@PBD0@Z @ 1044 NONAME ; class QString QListModelInterface::tr(char const *, char const *)
-	?height@QDeclarativeItemPrivate@@UBEMXZ @ 1045 NONAME ; float QDeclarativeItemPrivate::height(void) const
-	?qt_metacast@QDeclarativeDebugObjectQuery@@UAEPAXPBD@Z @ 1046 NONAME ; void * QDeclarativeDebugObjectQuery::qt_metacast(char const *)
-	?type@QDeclarativeDomValue@@QBE?AW4Type@1@XZ @ 1047 NONAME ; enum QDeclarativeDomValue::Type QDeclarativeDomValue::type(void) const
-	?staticMetacallFunction@QMetaObjectBuilder@@QBEP6AHW4Call@QMetaObject@@HPAPAX@ZXZ @ 1048 NONAME ; int (*)(enum QMetaObject::Call, int, void * *) QMetaObjectBuilder::staticMetacallFunction(void) const
-	?setStyle@QDeclarativeText@@QAEXW4TextStyle@1@@Z @ 1049 NONAME ; void QDeclarativeText::setStyle(enum QDeclarativeText::TextStyle)
-	?staticMetaObject@QDeclarativePropertyMap@@2UQMetaObject@@B @ 1050 NONAME ; struct QMetaObject const QDeclarativePropertyMap::staticMetaObject
-	??_EQDeclarativeDebugEnginesQuery@@UAE@I@Z @ 1051 NONAME ; QDeclarativeDebugEnginesQuery::~QDeclarativeDebugEnginesQuery(unsigned int)
-	?enumeratorCount@QMetaObjectBuilder@@QBEHXZ @ 1052 NONAME ; int QMetaObjectBuilder::enumeratorCount(void) const
-	?setConsistentTime@QDeclarativeItemPrivate@@SAX_J@Z @ 1053 NONAME ; void QDeclarativeItemPrivate::setConsistentTime(long long)
-	?initializeEngine@QDeclarativeExtensionPlugin@@UAEXPAVQDeclarativeEngine@@PBD@Z @ 1054 NONAME ; void QDeclarativeExtensionPlugin::initializeEngine(class QDeclarativeEngine *, char const *)
-	?metaObject@QDeclarativeDebugQuery@@UBEPBUQMetaObject@@XZ @ 1055 NONAME ; struct QMetaObject const * QDeclarativeDebugQuery::metaObject(void) const
-	?rightMarginChanged@QDeclarativeAnchors@@IAEXXZ @ 1056 NONAME ; void QDeclarativeAnchors::rightMarginChanged(void)
-	??_EQDeclarativePropertyValueInterceptor@@UAE@I@Z @ 1057 NONAME ; QDeclarativePropertyValueInterceptor::~QDeclarativePropertyValueInterceptor(unsigned int)
-	?linkActivated@QDeclarativeText@@IAEXABVQString@@@Z @ 1058 NONAME ; void QDeclarativeText::linkActivated(class QString const &)
-	?canConvert@QDeclarativePropertyPrivate@@SA_NPBUQMetaObject@@0@Z @ 1059 NONAME ; bool QDeclarativePropertyPrivate::canConvert(struct QMetaObject const *, struct QMetaObject const *)
-	?trUtf8@QDeclarativeAnchors@@SA?AVQString@@PBD0H@Z @ 1060 NONAME ; class QString QDeclarativeAnchors::trUtf8(char const *, char const *, int)
-	?toComponent@QDeclarativeDomObject@@QBE?AVQDeclarativeDomComponent@@XZ @ 1061 NONAME ; class QDeclarativeDomComponent QDeclarativeDomObject::toComponent(void) const
-	?tr@QDeclarativeValueType@@SA?AVQString@@PBD0@Z @ 1062 NONAME ; class QString QDeclarativeValueType::tr(char const *, char const *)
-	?setLeft@QDeclarativeScaleGrid@@QAEXH@Z @ 1063 NONAME ; void QDeclarativeScaleGrid::setLeft(int)
-	??1QDeclarativeGridScaledImage@@QAE@XZ @ 1064 NONAME ; QDeclarativeGridScaledImage::~QDeclarativeGridScaledImage(void)
-	??0QDeclarativeGridScaledImage@@QAE@ABV0@@Z @ 1065 NONAME ; QDeclarativeGridScaledImage::QDeclarativeGridScaledImage(class QDeclarativeGridScaledImage const &)
-	?column@QDeclarativeError@@QBEHXZ @ 1066 NONAME ; int QDeclarativeError::column(void) const
-	?properties@QDeclarativeCustomParserNode@@QBE?AV?$QList@VQDeclarativeCustomParserProperty@@@@XZ @ 1067 NONAME ; class QList<class QDeclarativeCustomParserProperty> QDeclarativeCustomParserNode::properties(void) const
-	?qt_metacast@QDeclarativeScaleGrid@@UAEPAXPBD@Z @ 1068 NONAME ; void * QDeclarativeScaleGrid::qt_metacast(char const *)
-	??0QDeclarativeListReference@@QAE@XZ @ 1069 NONAME ; QDeclarativeListReference::QDeclarativeListReference(void)
-	??1QDeclarativeDebugRootContextQuery@@UAE@XZ @ 1070 NONAME ; QDeclarativeDebugRootContextQuery::~QDeclarativeDebugRootContextQuery(void)
-	?name@QDeclarativeCustomParserNode@@QBE?AVQByteArray@@XZ @ 1071 NONAME ; class QByteArray QDeclarativeCustomParserNode::name(void) const
-	?object@QDeclarativeDomValueValueInterceptor@@QBE?AVQDeclarativeDomObject@@XZ @ 1072 NONAME ; class QDeclarativeDomObject QDeclarativeDomValueValueInterceptor::object(void) const
-	??1QDeclarativePen@@UAE@XZ @ 1073 NONAME ; QDeclarativePen::~QDeclarativePen(void)
-	?data@QDeclarativeItemPrivate@@QAE?AV?$QDeclarativeListProperty@VQObject@@@@XZ @ 1074 NONAME ; class QDeclarativeListProperty<class QObject> QDeclarativeItemPrivate::data(void)
-	?qt_metacall@QDeclarativeBinding@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1075 NONAME ; int QDeclarativeBinding::qt_metacall(enum QMetaObject::Call, int, void * *)
-	??1QDeclarativeEngine@@UAE@XZ @ 1076 NONAME ; QDeclarativeEngine::~QDeclarativeEngine(void)
-	?debugId@QDeclarativeDebugContextReference@@QBEHXZ @ 1077 NONAME ; int QDeclarativeDebugContextReference::debugId(void) const
-	?propertyNameParts@QDeclarativeDomProperty@@QBE?AV?$QList@VQByteArray@@@@XZ @ 1078 NONAME ; class QList<class QByteArray> QDeclarativeDomProperty::propertyNameParts(void) const
-	?rootContext@QDeclarativeEngine@@QAEPAVQDeclarativeContext@@XZ @ 1079 NONAME ABSENT ; class QDeclarativeContext * QDeclarativeEngine::rootContext(void)
-	?resetWidth@QDeclarativeItemPrivate@@UAEXXZ @ 1080 NONAME ; void QDeclarativeItemPrivate::resetWidth(void)
-	??AQDeclarativeOpenMetaObject@@QAEAAVQVariant@@ABVQByteArray@@@Z @ 1081 NONAME ; class QVariant & QDeclarativeOpenMetaObject::operator[](class QByteArray const &)
-	?bottom@QDeclarativeItemPrivate@@QBE?AVQDeclarativeAnchorLine@@XZ @ 1082 NONAME ; class QDeclarativeAnchorLine QDeclarativeItemPrivate::bottom(void) const
-	?device@QPacketProtocol@@QAEPAVQIODevice@@XZ @ 1083 NONAME ; class QIODevice * QPacketProtocol::device(void)
-	?trUtf8@QDeclarativeStateGroup@@SA?AVQString@@PBD0@Z @ 1084 NONAME ; class QString QDeclarativeStateGroup::trUtf8(char const *, char const *)
-	?variantFromString@QDeclarativeStringConverters@@YA?AVQVariant@@ABVQString@@HPA_N@Z @ 1085 NONAME ; class QVariant QDeclarativeStringConverters::variantFromString(class QString const &, int, bool *)
-	?metaObject@QDeclarativeComponent@@UBEPBUQMetaObject@@XZ @ 1086 NONAME ; struct QMetaObject const * QDeclarativeComponent::metaObject(void) const
-	?qmlInfo@@YA?AVQDeclarativeInfo@@PBVQObject@@ABV?$QList@VQDeclarativeError@@@@@Z @ 1087 NONAME ; class QDeclarativeInfo qmlInfo(class QObject const *, class QList<class QDeclarativeError> const &)
-	?assignedValues@QDeclarativeCustomParserProperty@@QBE?AV?$QList@VQVariant@@@@XZ @ 1088 NONAME ; class QList<class QVariant> QDeclarativeCustomParserProperty::assignedValues(void) const
-	?setValue@QDeclarativeOpenMetaObject@@QAEXABVQByteArray@@ABVQVariant@@@Z @ 1089 NONAME ; void QDeclarativeOpenMetaObject::setValue(class QByteArray const &, class QVariant const &)
-	?data@QDeclarativeListModel@@UBE?AVQVariant@@HH@Z @ 1090 NONAME ; class QVariant QDeclarativeListModel::data(int, int) const
-	?setElideMode@QDeclarativeText@@QAEXW4TextElideMode@1@@Z @ 1091 NONAME ; void QDeclarativeText::setElideMode(enum QDeclarativeText::TextElideMode)
-	?d_func@QDeclarativePropertyMap@@ABEPBVQDeclarativePropertyMapPrivate@@XZ @ 1092 NONAME ; class QDeclarativePropertyMapPrivate const * QDeclarativePropertyMap::d_func(void) const
-	?consistentTime@QDeclarativeItemPrivate@@2_JA @ 1093 NONAME ; long long QDeclarativeItemPrivate::consistentTime
-	?setWidth@QDeclarativeItem@@QAEXM@Z @ 1094 NONAME ; void QDeclarativeItem::setWidth(float)
-	?contextObject@QDeclarativeContext@@QBEPAVQObject@@XZ @ 1095 NONAME ; class QObject * QDeclarativeContext::contextObject(void) const
-	?qt_metacall@QDeclarativeDebugObjectQuery@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1096 NONAME ; int QDeclarativeDebugObjectQuery::qt_metacall(enum QMetaObject::Call, int, void * *)
-	??_EQDeclarativeOpenMetaObjectType@@UAE@I@Z @ 1097 NONAME ; QDeclarativeOpenMetaObjectType::~QDeclarativeOpenMetaObjectType(unsigned int)
-	?isWritable@QMetaPropertyBuilder@@QBE_NXZ @ 1098 NONAME ; bool QMetaPropertyBuilder::isWritable(void) const
-	?sizeFFromString@QDeclarativeStringConverters@@YA?AVQSizeF@@ABVQString@@PA_N@Z @ 1099 NONAME ; class QSizeF QDeclarativeStringConverters::sizeFFromString(class QString const &, bool *)
-	??0QDeclarativeProperty@@QAE@PAVQObject@@ABVQString@@PAVQDeclarativeEngine@@@Z @ 1100 NONAME ; QDeclarativeProperty::QDeclarativeProperty(class QObject *, class QString const &, class QDeclarativeEngine *)
-	?addMethod@QMetaObjectBuilder@@QAE?AVQMetaMethodBuilder@@ABVQByteArray@@@Z @ 1101 NONAME ; class QMetaMethodBuilder QMetaObjectBuilder::addMethod(class QByteArray const &)
-	??0QDeclarativeDebugFileReference@@QAE@XZ @ 1102 NONAME ; QDeclarativeDebugFileReference::QDeclarativeDebugFileReference(void)
-	?mapFromItem@QDeclarativeItem@@QBE?AVQScriptValue@@ABV2@MM@Z @ 1103 NONAME ; class QScriptValue QDeclarativeItem::mapFromItem(class QScriptValue const &, float, float) const
-	?trUtf8@QDeclarativeStateOperation@@SA?AVQString@@PBD0H@Z @ 1104 NONAME ; class QString QDeclarativeStateOperation::trUtf8(char const *, char const *, int)
-	?tr@QPacketProtocol@@SA?AVQString@@PBD0H@Z @ 1105 NONAME ; class QString QPacketProtocol::tr(char const *, char const *, int)
-	?d_func@QDeclarativeAnchors@@ABEPBVQDeclarativeAnchorsPrivate@@XZ @ 1106 NONAME ; class QDeclarativeAnchorsPrivate const * QDeclarativeAnchors::d_func(void) const
-	?metaObject@QDeclarativePixmapReply@@UBEPBUQMetaObject@@XZ @ 1107 NONAME ABSENT ; struct QMetaObject const * QDeclarativePixmapReply::metaObject(void) const
-	?setNotifySignal@QMetaPropertyBuilder@@QAEXABVQMetaMethodBuilder@@@Z @ 1108 NONAME ; void QMetaPropertyBuilder::setNotifySignal(class QMetaMethodBuilder const &)
-	?enabled@QDeclarativeBehavior@@QBE_NXZ @ 1109 NONAME ; bool QDeclarativeBehavior::enabled(void) const
-	?initProperty@QDeclarativePropertyPrivate@@QAEXPAVQObject@@ABVQString@@@Z @ 1110 NONAME ; void QDeclarativePropertyPrivate::initProperty(class QObject *, class QString const &)
-	?isEditable@QMetaPropertyBuilder@@QBE_NXZ @ 1111 NONAME ; bool QMetaPropertyBuilder::isEditable(void) const
-	??0QDeclarativeBinding@@QAE@ABVQString@@PAVQObject@@PAVQDeclarativeContextData@@1@Z @ 1112 NONAME ; QDeclarativeBinding::QDeclarativeBinding(class QString const &, class QObject *, class QDeclarativeContextData *, class QObject *)
-	?expression@QDeclarativeDebugExpressionQuery@@QBE?AVQVariant@@XZ @ 1113 NONAME ; class QVariant QDeclarativeDebugExpressionQuery::expression(void) const
-	??4QDeclarativeDomList@@QAEAAV0@ABV0@@Z @ 1114 NONAME ; class QDeclarativeDomList & QDeclarativeDomList::operator=(class QDeclarativeDomList const &)
-	?qt_metacall@QDeclarativeComponent@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1115 NONAME ; int QDeclarativeComponent::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?tr@QDeclarativeDebugService@@SA?AVQString@@PBD0H@Z @ 1116 NONAME ; class QString QDeclarativeDebugService::tr(char const *, char const *, int)
-	?staticMetaObject@QDeclarativeEngine@@2UQMetaObject@@B @ 1117 NONAME ; struct QMetaObject const QDeclarativeEngine::staticMetaObject
-	?staticMetaObject@QDeclarativeStateOperation@@2UQMetaObject@@B @ 1118 NONAME ; struct QMetaObject const QDeclarativeStateOperation::staticMetaObject
-	?actions@QDeclarativeStateOperation@@UAE?AV?$QList@VQDeclarativeAction@@@@XZ @ 1119 NONAME ; class QList<class QDeclarativeAction> QDeclarativeStateOperation::actions(void)
-	?objectClassName@QDeclarativeDomObject@@QBE?AVQByteArray@@XZ @ 1120 NONAME ; class QByteArray QDeclarativeDomObject::objectClassName(void) const
-	??8QDeclarativeProperty@@QBE_NABV0@@Z @ 1121 NONAME ; bool QDeclarativeProperty::operator==(class QDeclarativeProperty const &) const
-	??1QDeclarativeDomValue@@QAE@XZ @ 1122 NONAME ; QDeclarativeDomValue::~QDeclarativeDomValue(void)
-	??_EQDeclarativePropertyMap@@UAE@I@Z @ 1123 NONAME ; QDeclarativePropertyMap::~QDeclarativePropertyMap(unsigned int)
-	?staticMetaObject@QDeclarativeDebugRootContextQuery@@2UQMetaObject@@B @ 1124 NONAME ; struct QMetaObject const QDeclarativeDebugRootContextQuery::staticMetaObject
-	?noCreationReason@QDeclarativeType@@QBE?AVQString@@XZ @ 1125 NONAME ; class QString QDeclarativeType::noCreationReason(void) const
-	?setUrl@QDeclarativeDebugFileReference@@QAEXABVQUrl@@@Z @ 1126 NONAME ; void QDeclarativeDebugFileReference::setUrl(class QUrl const &)
-	??1QDeclarativeCustomParserProperty@@QAE@XZ @ 1127 NONAME ; QDeclarativeCustomParserProperty::~QDeclarativeCustomParserProperty(void)
-	??1QPacketProtocol@@UAE@XZ @ 1128 NONAME ; QPacketProtocol::~QPacketProtocol(void)
-	??1QDeclarativeAbstractBinding@@MAE@XZ @ 1129 NONAME ; QDeclarativeAbstractBinding::~QDeclarativeAbstractBinding(void)
-	?indexOfEnumerator@QMetaObjectBuilder@@QAEHABVQByteArray@@@Z @ 1130 NONAME ; int QMetaObjectBuilder::indexOfEnumerator(class QByteArray const &)
-	?qt_metacast@QDeclarativePen@@UAEPAXPBD@Z @ 1131 NONAME ; void * QDeclarativePen::qt_metacast(char const *)
-	?leftMargin@QDeclarativeAnchors@@QBEMXZ @ 1132 NONAME ; float QDeclarativeAnchors::leftMargin(void) const
-	??1QDeclarativeComponent@@UAE@XZ @ 1133 NONAME ; QDeclarativeComponent::~QDeclarativeComponent(void)
-	??1QDeclarativeItem@@UAE@XZ @ 1134 NONAME ; QDeclarativeItem::~QDeclarativeItem(void)
-	?setEnabled@QDeclarativeAbstractBinding@@UAEX_NV?$QFlags@W4WriteFlag@QDeclarativePropertyPrivate@@@@@Z @ 1135 NONAME ; void QDeclarativeAbstractBinding::setEnabled(bool, class QFlags<enum QDeclarativePropertyPrivate::WriteFlag>)
-	?staticMetaObject@QListModelInterface@@2UQMetaObject@@B @ 1136 NONAME ; struct QMetaObject const QListModelInterface::staticMetaObject
-	?d_func@QDeclarativeTransition@@ABEPBVQDeclarativeTransitionPrivate@@XZ @ 1137 NONAME ; class QDeclarativeTransitionPrivate const * QDeclarativeTransition::d_func(void) const
-	?sourceFile@QDeclarativeExpression@@QBE?AVQString@@XZ @ 1138 NONAME ; class QString QDeclarativeExpression::sourceFile(void) const
-	??_EQDeclarativeAnchors@@UAE@I@Z @ 1139 NONAME ; QDeclarativeAnchors::~QDeclarativeAnchors(unsigned int)
-	?removeNotifySignal@QMetaPropertyBuilder@@QAEXXZ @ 1140 NONAME ; void QMetaPropertyBuilder::removeNotifySignal(void)
-	?trUtf8@QDeclarativeDebugService@@SA?AVQString@@PBD0@Z @ 1141 NONAME ; class QString QDeclarativeDebugService::trUtf8(char const *, char const *)
-	?setImportPathList@QDeclarativeEngine@@QAEXABVQStringList@@@Z @ 1142 NONAME ; void QDeclarativeEngine::setImportPathList(class QStringList const &)
-	?enabledChanged@QDeclarativeDebugService@@MAEX_N@Z @ 1143 NONAME ; void QDeclarativeDebugService::enabledChanged(bool)
-	?addWatch@QDeclarativeEngineDebug@@QAEPAVQDeclarativeDebugWatch@@ABVQDeclarativeDebugObjectReference@@PAVQObject@@@Z @ 1144 NONAME ; class QDeclarativeDebugWatch * QDeclarativeEngineDebug::addWatch(class QDeclarativeDebugObjectReference const &, class QObject *)
-	?asAST@Variant@QDeclarativeParser@@QBEPAVNode@AST@QDeclarativeJS@@XZ @ 1145 NONAME ; class QDeclarativeJS::AST::Node * QDeclarativeParser::Variant::asAST(void) const
-	?indexOfClassInfo@QMetaObjectBuilder@@QAEHABVQByteArray@@@Z @ 1146 NONAME ; int QMetaObjectBuilder::indexOfClassInfo(class QByteArray const &)
-	??0QDeclarativeDomImport@@QAE@ABV0@@Z @ 1147 NONAME ; QDeclarativeDomImport::QDeclarativeDomImport(class QDeclarativeDomImport const &)
-	?width@QDeclarativePen@@QBEHXZ @ 1148 NONAME ; int QDeclarativePen::width(void) const
-	?d_func@QDeclarativeStateGroup@@AAEPAVQDeclarativeStateGroupPrivate@@XZ @ 1149 NONAME ; class QDeclarativeStateGroupPrivate * QDeclarativeStateGroup::d_func(void)
-	??6QDeclarativeInfo@@QAEAAV0@P6AAAVQTextStream@@AAV1@@Z@Z @ 1150 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(class QTextStream & (*)(class QTextStream &))
-	?trUtf8@QDeclarativeEngineDebug@@SA?AVQString@@PBD0@Z @ 1151 NONAME ; class QString QDeclarativeEngineDebug::trUtf8(char const *, char const *)
-	?type@QDeclarativeOpenMetaObject@@QBEPAVQDeclarativeOpenMetaObjectType@@XZ @ 1152 NONAME ; class QDeclarativeOpenMetaObjectType * QDeclarativeOpenMetaObject::type(void) const
-	?tr@QDeclarativeExpression@@SA?AVQString@@PBD0@Z @ 1153 NONAME ; class QString QDeclarativeExpression::tr(char const *, char const *)
-	??0QDeclarativeDomValueValueInterceptor@@QAE@XZ @ 1154 NONAME ; QDeclarativeDomValueValueInterceptor::QDeclarativeDomValueValueInterceptor(void)
-	??1QDeclarativeDebugPropertyWatch@@UAE@XZ @ 1155 NONAME ; QDeclarativeDebugPropertyWatch::~QDeclarativeDebugPropertyWatch(void)
-	?evaluate@QDeclarativeExpression@@QAE?AVQVariant@@PA_N@Z @ 1156 NONAME ; class QVariant QDeclarativeExpression::evaluate(bool *)
-	?isDefaultProperty@QDeclarativeDomProperty@@QBE_NXZ @ 1157 NONAME ; bool QDeclarativeDomProperty::isDefaultProperty(void) const
-	??0QDeclarativeAction@@QAE@PAVQObject@@ABVQString@@ABVQVariant@@@Z @ 1158 NONAME ; QDeclarativeAction::QDeclarativeAction(class QObject *, class QString const &, class QVariant const &)
-	?metaObject@QDeclarativeRectangle@@UBEPBUQMetaObject@@XZ @ 1159 NONAME ; struct QMetaObject const * QDeclarativeRectangle::metaObject(void) const
-	?forcedWidth@QDeclarativePixmapReply@@QBEHXZ @ 1160 NONAME ABSENT ; int QDeclarativePixmapReply::forcedWidth(void) const
-	?removeRelatedMetaObject@QMetaObjectBuilder@@QAEXH@Z @ 1161 NONAME ; void QMetaObjectBuilder::removeRelatedMetaObject(int)
-	??0QDeclarativeError@@QAE@XZ @ 1162 NONAME ; QDeclarativeError::QDeclarativeError(void)
-	?object@QDeclarativeProperty@@QBEPAVQObject@@XZ @ 1163 NONAME ; class QObject * QDeclarativeProperty::object(void) const
-	?stateGroup@QDeclarativeState@@QBEPAVQDeclarativeStateGroup@@XZ @ 1164 NONAME ; class QDeclarativeStateGroup * QDeclarativeState::stateGroup(void) const
-	?connectNotifySignal@QDeclarativeProperty@@QBE_NPAVQObject@@H@Z @ 1165 NONAME ; bool QDeclarativeProperty::connectNotifySignal(class QObject *, int) const
-	?focusChanged@QDeclarativeItemPrivate@@UAEX_N@Z @ 1166 NONAME ; void QDeclarativeItemPrivate::focusChanged(bool)
-	?contextDebugId@QDeclarativeDebugObjectReference@@QBEHXZ @ 1167 NONAME ; int QDeclarativeDebugObjectReference::contextDebugId(void) const
-	?url@QDeclarativeDebugFileReference@@QBE?AVQUrl@@XZ @ 1168 NONAME ; class QUrl QDeclarativeDebugFileReference::url(void) const
-	?paint@QDeclarativeRectangle@@UAEXPAVQPainter@@PBVQStyleOptionGraphicsItem@@PAVQWidget@@@Z @ 1169 NONAME ; void QDeclarativeRectangle::paint(class QPainter *, class QStyleOptionGraphicsItem const *, class QWidget *)
-	??6QDeclarativeState@@QAEAAV0@PAVQDeclarativeStateOperation@@@Z @ 1170 NONAME ; class QDeclarativeState & QDeclarativeState::operator<<(class QDeclarativeStateOperation *)
-	?destroy@QDeclarativeAbstractBinding@@UAEXXZ @ 1171 NONAME ; void QDeclarativeAbstractBinding::destroy(void)
-	?qt_metacast@QDeclarativeDebugService@@UAEPAXPBD@Z @ 1172 NONAME ; void * QDeclarativeDebugService::qt_metacast(char const *)
-	?qt_metacast@QDeclarativeValueType@@UAEPAXPBD@Z @ 1173 NONAME ; void * QDeclarativeValueType::qt_metacast(char const *)
-	?childAt@QDeclarativeItem@@QBEPAV1@MM@Z @ 1174 NONAME ; class QDeclarativeItem * QDeclarativeItem::childAt(float, float) const
-	?paintedWidth@QDeclarativeText@@QBEMXZ @ 1175 NONAME ; float QDeclarativeText::paintedWidth(void) const
-	?tr@QDeclarativeBinding@@SA?AVQString@@PBD0@Z @ 1176 NONAME ; class QString QDeclarativeBinding::tr(char const *, char const *)
-	?clip@QDeclarativeItem@@QBE_NXZ @ 1177 NONAME ; bool QDeclarativeItem::clip(void) const
-	??0QDeclarativeComponent@@QAE@PAVQDeclarativeEngine@@ABVQUrl@@PAVQObject@@@Z @ 1178 NONAME ; QDeclarativeComponent::QDeclarativeComponent(class QDeclarativeEngine *, class QUrl const &, class QObject *)
-	??0QDeclarativeValueTypeFactory@@QAE@XZ @ 1179 NONAME ; QDeclarativeValueTypeFactory::QDeclarativeValueTypeFactory(void)
-	?literal@QDeclarativeDomValueLiteral@@QBE?AVQString@@XZ @ 1180 NONAME ; class QString QDeclarativeDomValueLiteral::literal(void) const
-	??_EQDeclarativeEngineDebug@@UAE@I@Z @ 1181 NONAME ; QDeclarativeEngineDebug::~QDeclarativeEngineDebug(unsigned int)
-	?bottom@QDeclarativeScaleGrid@@QBEHXZ @ 1182 NONAME ; int QDeclarativeScaleGrid::bottom(void) const
-	?d_func@QDeclarativePropertyMap@@AAEPAVQDeclarativePropertyMapPrivate@@XZ @ 1183 NONAME ; class QDeclarativePropertyMapPrivate * QDeclarativePropertyMap::d_func(void)
-	?forceFocus@QDeclarativeItem@@QAEXXZ @ 1184 NONAME ABSENT ; void QDeclarativeItem::forceFocus(void)
-	?trUtf8@QDeclarativeView@@SA?AVQString@@PBD0@Z @ 1185 NONAME ; class QString QDeclarativeView::trUtf8(char const *, char const *)
-	??0QDeclarativeTransition@@QAE@PAVQObject@@@Z @ 1186 NONAME ; QDeclarativeTransition::QDeclarativeTransition(class QObject *)
-	?horizontalCenter@QDeclarativeAnchors@@QBE?AVQDeclarativeAnchorLine@@XZ @ 1187 NONAME ; class QDeclarativeAnchorLine QDeclarativeAnchors::horizontalCenter(void) const
-	?setObjectOwnership@QDeclarativeEngine@@SAXPAVQObject@@W4ObjectOwnership@1@@Z @ 1188 NONAME ; void QDeclarativeEngine::setObjectOwnership(class QObject *, enum QDeclarativeEngine::ObjectOwnership)
-	?tr@QDeclarativeContext@@SA?AVQString@@PBD0H@Z @ 1189 NONAME ; class QString QDeclarativeContext::tr(char const *, char const *, int)
-	?metaCall@QDeclarativeOpenMetaObject@@MAEHW4Call@QMetaObject@@HPAPAX@Z @ 1190 NONAME ; int QDeclarativeOpenMetaObject::metaCall(enum QMetaObject::Call, int, void * *)
-	??_EQDeclarativeText@@UAE@I@Z @ 1191 NONAME ; QDeclarativeText::~QDeclarativeText(unsigned int)
-	?setLeftMargin@QDeclarativeAnchors@@QAEXM@Z @ 1192 NONAME ; void QDeclarativeAnchors::setLeftMargin(float)
-	?metaObject@QDeclarativeStateGroup@@UBEPBUQMetaObject@@XZ @ 1193 NONAME ; struct QMetaObject const * QDeclarativeStateGroup::metaObject(void) const
-	?expression@QDeclarativeAbstractBinding@@UBE?AVQString@@XZ @ 1194 NONAME ; class QString QDeclarativeAbstractBinding::expression(void) const
-	??6QDeclarativeInfo@@QAEAAV0@N@Z @ 1195 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(double)
-	?setAnimation@QDeclarativeBehavior@@QAEXPAVQDeclarativeAbstractAnimation@@@Z @ 1196 NONAME ; void QDeclarativeBehavior::setAnimation(class QDeclarativeAbstractAnimation *)
-	?properties@QDeclarativeDebugObjectReference@@QBE?AV?$QList@VQDeclarativeDebugPropertyReference@@@@XZ @ 1197 NONAME ; class QList<class QDeclarativeDebugPropertyReference> QDeclarativeDebugObjectReference::properties(void) const
-	?trUtf8@QDeclarativeDebugClient@@SA?AVQString@@PBD0@Z @ 1198 NONAME ; class QString QDeclarativeDebugClient::trUtf8(char const *, char const *)
-	?context@QDeclarativeExpression@@QBEPAVQDeclarativeContext@@XZ @ 1199 NONAME ; class QDeclarativeContext * QDeclarativeExpression::context(void) const
-	?qt_metacast@QDeclarativeBehavior@@UAEPAXPBD@Z @ 1200 NONAME ; void * QDeclarativeBehavior::qt_metacast(char const *)
-	?objectTypeMinorVersion@QDeclarativeDomObject@@QBEHXZ @ 1201 NONAME ; int QDeclarativeDomObject::objectTypeMinorVersion(void) const
-	??0QDeclarativePropertyValueInterceptor@@QAE@XZ @ 1202 NONAME ; QDeclarativePropertyValueInterceptor::QDeclarativePropertyValueInterceptor(void)
-	?isValid@QDeclarativeError@@QBE_NXZ @ 1203 NONAME ; bool QDeclarativeError::isValid(void) const
-	??0QMetaMethodBuilder@@QAE@XZ @ 1204 NONAME ; QMetaMethodBuilder::QMetaMethodBuilder(void)
-	?completed@QDeclarativeState@@IAEXXZ @ 1205 NONAME ; void QDeclarativeState::completed(void)
-	?tr@QDeclarativePixmapReply@@SA?AVQString@@PBD0H@Z @ 1206 NONAME ABSENT ; class QString QDeclarativePixmapReply::tr(char const *, char const *, int)
-	?radiusChanged@QDeclarativeRectangle@@IAEXXZ @ 1207 NONAME ; void QDeclarativeRectangle::radiusChanged(void)
-	?getStaticMetaObject@QDeclarativeExpression@@SAABUQMetaObject@@XZ @ 1208 NONAME ; struct QMetaObject const & QDeclarativeExpression::getStaticMetaObject(void)
-	?gridLeft@QDeclarativeGridScaledImage@@QBEHXZ @ 1209 NONAME ; int QDeclarativeGridScaledImage::gridLeft(void) const
-	?setWritable@QMetaPropertyBuilder@@QAEX_N@Z @ 1210 NONAME ; void QMetaPropertyBuilder::setWritable(bool)
-	?qt_metacast@QDeclarativeStateGroup@@UAEPAXPBD@Z @ 1211 NONAME ; void * QDeclarativeStateGroup::qt_metacast(char const *)
-	?defaultMethod@QDeclarativeMetaType@@SA?AVQMetaMethod@@PAVQObject@@@Z @ 1212 NONAME ; class QMetaMethod QDeclarativeMetaType::defaultMethod(class QObject *)
-	?qt_metacast@QDeclarativeEngineDebug@@UAEPAXPBD@Z @ 1213 NONAME ; void * QDeclarativeEngineDebug::qt_metacast(char const *)
-	?staticMetaObject@QDeclarativeExpression@@2UQMetaObject@@B @ 1214 NONAME ; struct QMetaObject const QDeclarativeExpression::staticMetaObject
-	?statusChanged@QDeclarativeComponent@@IAEXW4Status@1@@Z @ 1215 NONAME ; void QDeclarativeComponent::statusChanged(enum QDeclarativeComponent::Status)
-	?setTarget@QDeclarativeBinding@@QAEXABVQDeclarativeProperty@@@Z @ 1216 NONAME ; void QDeclarativeBinding::setTarget(class QDeclarativeProperty const &)
-	?imageProvider@QDeclarativeEngine@@QBEPAVQDeclarativeImageProvider@@ABVQString@@@Z @ 1217 NONAME ; class QDeclarativeImageProvider * QDeclarativeEngine::imageProvider(class QString const &) const
-	?packetsAvailable@QPacketProtocol@@QBE_JXZ @ 1218 NONAME ; long long QPacketProtocol::packetsAvailable(void) const
-	?state@QDeclarativeDebugWatch@@QBE?AW4State@1@XZ @ 1219 NONAME ; enum QDeclarativeDebugWatch::State QDeclarativeDebugWatch::state(void) const
-	?attachedPropertiesFuncById@QDeclarativeMetaType@@SAP6APAVQObject@@PAV2@@ZH@Z @ 1220 NONAME ; class QObject * (*)(class QObject *) QDeclarativeMetaType::attachedPropertiesFuncById(int)
-	?resetBaseline@QDeclarativeAnchors@@QAEXXZ @ 1221 NONAME ; void QDeclarativeAnchors::resetBaseline(void)
-	?name@QDeclarativeDebugClient@@QBE?AVQString@@XZ @ 1222 NONAME ; class QString QDeclarativeDebugClient::name(void) const
-	?propertyValueInterceptorCast@QDeclarativeType@@QBEHXZ @ 1223 NONAME ; int QDeclarativeType::propertyValueInterceptorCast(void) const
-	?setData@QDeclarativeComponent@@QAEXABVQByteArray@@ABVQUrl@@@Z @ 1224 NONAME ; void QDeclarativeComponent::setData(class QByteArray const &, class QUrl const &)
-	??4QDeclarativeDomValue@@QAEAAV0@ABV0@@Z @ 1225 NONAME ; class QDeclarativeDomValue & QDeclarativeDomValue::operator=(class QDeclarativeDomValue const &)
-	?toString@QDeclarativeListModel@@UBE?AVQString@@H@Z @ 1226 NONAME ; class QString QDeclarativeListModel::toString(int) const
-	?resetWidth@QDeclarativeItem@@QAEXXZ @ 1227 NONAME ; void QDeclarativeItem::resetWidth(void)
-	??0QDeclarativeProperty@@QAE@ABV0@@Z @ 1228 NONAME ; QDeclarativeProperty::QDeclarativeProperty(class QDeclarativeProperty const &)
-	?text@QDeclarativeText@@QBE?AVQString@@XZ @ 1229 NONAME ; class QString QDeclarativeText::text(void) const
-	??1QDeclarativeDebugObjectQuery@@UAE@XZ @ 1230 NONAME ; QDeclarativeDebugObjectQuery::~QDeclarativeDebugObjectQuery(void)
-	?count@QDeclarativeOpenMetaObject@@QBEHXZ @ 1231 NONAME ; int QDeclarativeOpenMetaObject::count(void) const
-	?isFlag@QMetaEnumBuilder@@QBE_NXZ @ 1232 NONAME ; bool QMetaEnumBuilder::isFlag(void) const
-	?bindingIndex@QDeclarativePropertyPrivate@@SAHABVQDeclarativeProperty@@@Z @ 1233 NONAME ; int QDeclarativePropertyPrivate::bindingIndex(class QDeclarativeProperty const &)
-	??0QDeclarativeDomValueBinding@@QAE@ABV0@@Z @ 1234 NONAME ; QDeclarativeDomValueBinding::QDeclarativeDomValueBinding(class QDeclarativeDomValueBinding const &)
-	?trUtf8@QDeclarativeRectangle@@SA?AVQString@@PBD0@Z @ 1235 NONAME ; class QString QDeclarativeRectangle::trUtf8(char const *, char const *)
-	?classInfoName@QMetaObjectBuilder@@QBE?AVQByteArray@@H@Z @ 1236 NONAME ; class QByteArray QMetaObjectBuilder::classInfoName(int) const
-	?metaObject@QDeclarativeDebugObjectQuery@@UBEPBUQMetaObject@@XZ @ 1237 NONAME ; struct QMetaObject const * QDeclarativeDebugObjectQuery::metaObject(void) const
-	??4QDeclarativeDomDynamicProperty@@QAEAAV0@ABV0@@Z @ 1238 NONAME ; class QDeclarativeDomDynamicProperty & QDeclarativeDomDynamicProperty::operator=(class QDeclarativeDomDynamicProperty const &)
-	??_EQDeclarativeDebugEngineReference@@QAE@I@Z @ 1239 NONAME ; QDeclarativeDebugEngineReference::~QDeclarativeDebugEngineReference(unsigned int)
-	?usedAnchors@QDeclarativeAnchors@@QBE?AV?$QFlags@W4Anchor@QDeclarativeAnchors@@@@XZ @ 1240 NONAME ; class QFlags<enum QDeclarativeAnchors::Anchor> QDeclarativeAnchors::usedAnchors(void) const
-	?baseline@QDeclarativeItemPrivate@@QBE?AVQDeclarativeAnchorLine@@XZ @ 1241 NONAME ; class QDeclarativeAnchorLine QDeclarativeItemPrivate::baseline(void) const
-	?clear@QDeclarativeListModel@@QAEXXZ @ 1242 NONAME ; void QDeclarativeListModel::clear(void)
-	??0QDeclarativeDebugObjectExpressionWatch@@QAE@PAVQObject@@@Z @ 1243 NONAME ; QDeclarativeDebugObjectExpressionWatch::QDeclarativeDebugObjectExpressionWatch(class QObject *)
-	??4QDeclarativeDomProperty@@QAEAAV0@ABV0@@Z @ 1244 NONAME ; class QDeclarativeDomProperty & QDeclarativeDomProperty::operator=(class QDeclarativeDomProperty const &)
-	?write@QDeclarativeProperty@@SA_NPAVQObject@@ABVQString@@ABVQVariant@@@Z @ 1245 NONAME ; bool QDeclarativeProperty::write(class QObject *, class QString const &, class QVariant const &)
-	?trUtf8@QDeclarativeContext@@SA?AVQString@@PBD0@Z @ 1246 NONAME ; class QString QDeclarativeContext::trUtf8(char const *, char const *)
-	?borderChanged@QDeclarativeScaleGrid@@IAEXXZ @ 1247 NONAME ; void QDeclarativeScaleGrid::borderChanged(void)
-	??1QDeclarativeRectangle@@UAE@XZ @ 1248 NONAME ; QDeclarativeRectangle::~QDeclarativeRectangle(void)
-	?count@QDeclarativePropertyMap@@QBEHXZ @ 1249 NONAME ; int QDeclarativePropertyMap::count(void) const
-	?setReturnType@QMetaMethodBuilder@@QAEXABVQByteArray@@@Z @ 1250 NONAME ; void QMetaMethodBuilder::setReturnType(class QByteArray const &)
-	??0QDeclarativePropertyValueSource@@QAE@XZ @ 1251 NONAME ; QDeclarativePropertyValueSource::QDeclarativePropertyValueSource(void)
-	?tr@QDeclarativePen@@SA?AVQString@@PBD0H@Z @ 1252 NONAME ; class QString QDeclarativePen::tr(char const *, char const *, int)
-	?toLiteral@QDeclarativeDomValue@@QBE?AVQDeclarativeDomValueLiteral@@XZ @ 1253 NONAME ; class QDeclarativeDomValueLiteral QDeclarativeDomValue::toLiteral(void) const
-	??0QDeclarativeOpenMetaObject@@QAE@PAVQObject@@_N@Z @ 1254 NONAME ; QDeclarativeOpenMetaObject::QDeclarativeOpenMetaObject(class QObject *, bool)
-	?url@QDeclarativeComponent@@QBE?AVQUrl@@XZ @ 1255 NONAME ; class QUrl QDeclarativeComponent::url(void) const
-	?componentComplete@QDeclarativeStateGroup@@UAEXXZ @ 1256 NONAME ; void QDeclarativeStateGroup::componentComplete(void)
-	?setMargins@QDeclarativeAnchors@@QAEXM@Z @ 1257 NONAME ; void QDeclarativeAnchors::setMargins(float)
-	?qt_metacall@QDeclarativeView@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1258 NONAME ; int QDeclarativeView::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?state@QDeclarativeStateGroup@@QBE?AVQString@@XZ @ 1259 NONAME ; class QString QDeclarativeStateGroup::state(void) const
-	??0QDeclarativeDomComponent@@QAE@ABV0@@Z @ 1260 NONAME ; QDeclarativeDomComponent::QDeclarativeDomComponent(class QDeclarativeDomComponent const &)
-	?queryAvailableEngines@QDeclarativeEngineDebug@@QAEPAVQDeclarativeDebugEnginesQuery@@PAVQObject@@@Z @ 1261 NONAME ; class QDeclarativeDebugEnginesQuery * QDeclarativeEngineDebug::queryAvailableEngines(class QObject *)
-	??_EQDeclarativeItemPrivate@@UAE@I@Z @ 1262 NONAME ; QDeclarativeItemPrivate::~QDeclarativeItemPrivate(unsigned int)
-	?expression@QDeclarativeBinding@@UBE?AVQString@@XZ @ 1263 NONAME ; class QString QDeclarativeBinding::expression(void) const
-	?position@QDeclarativeDomProperty@@QBEHXZ @ 1264 NONAME ; int QDeclarativeDomProperty::position(void) const
-	?registerValueTypes@QDeclarativeValueTypeFactory@@SAXXZ @ 1265 NONAME ; void QDeclarativeValueTypeFactory::registerValueTypes(void)
-	?dynamicProperties@QDeclarativeDomObject@@QBE?AV?$QList@VQDeclarativeDomDynamicProperty@@@@XZ @ 1266 NONAME ; class QList<class QDeclarativeDomDynamicProperty> QDeclarativeDomObject::dynamicProperties(void) const
-	?attachedPropertiesFunction@QDeclarativeType@@QBEP6APAVQObject@@PAV2@@ZXZ @ 1267 NONAME ; class QObject * (*)(class QObject *) QDeclarativeType::attachedPropertiesFunction(void) const
-	??1QDeclarativePropertyMap@@UAE@XZ @ 1268 NONAME ; QDeclarativePropertyMap::~QDeclarativePropertyMap(void)
-	??_EQDeclarativeExtensionInterface@@UAE@I@Z @ 1269 NONAME ; QDeclarativeExtensionInterface::~QDeclarativeExtensionInterface(unsigned int)
-	??0Variant@QDeclarativeParser@@QAE@NABVQString@@@Z @ 1270 NONAME ; QDeclarativeParser::Variant::Variant(double, class QString const &)
-	??6QDeclarativeInfo@@QAEAAV0@VQBool@@@Z @ 1271 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(class QBool)
-	?setBinding@QDeclarativePropertyPrivate@@SAPAVQDeclarativeAbstractBinding@@PAVQObject@@HHPAV2@V?$QFlags@W4WriteFlag@QDeclarativePropertyPrivate@@@@@Z @ 1272 NONAME ; class QDeclarativeAbstractBinding * QDeclarativePropertyPrivate::setBinding(class QObject *, int, int, class QDeclarativeAbstractBinding *, class QFlags<enum QDeclarativePropertyPrivate::WriteFlag>)
-	?qt_metacast@QDeclarativeDebugExpressionQuery@@UAEPAXPBD@Z @ 1273 NONAME ; void * QDeclarativeDebugExpressionQuery::qt_metacast(char const *)
-	?contextProperty@QDeclarativeContext@@QBE?AVQVariant@@ABVQString@@@Z @ 1274 NONAME ; class QVariant QDeclarativeContext::contextProperty(class QString const &) const
-	?verticalCenter@QDeclarativeItemPrivate@@QBE?AVQDeclarativeAnchorLine@@XZ @ 1275 NONAME ; class QDeclarativeAnchorLine QDeclarativeItemPrivate::verticalCenter(void) const
-	?metaObject@QDeclarativeScaleGrid@@UBEPBUQMetaObject@@XZ @ 1276 NONAME ; struct QMetaObject const * QDeclarativeScaleGrid::metaObject(void) const
-	?trUtf8@QDeclarativePixmapCache@@SA?AVQString@@PBD0H@Z @ 1277 NONAME ABSENT ; class QString QDeclarativePixmapCache::trUtf8(char const *, char const *, int)
-	?qmlContext@@YAPAVQDeclarativeContext@@PBVQObject@@@Z @ 1278 NONAME ; class QDeclarativeContext * qmlContext(class QObject const *)
-	?transform_count@QDeclarativeItemPrivate@@SAHPAV?$QDeclarativeListProperty@VQGraphicsTransform@@@@@Z @ 1279 NONAME ; int QDeclarativeItemPrivate::transform_count(class QDeclarativeListProperty<class QGraphicsTransform> *)
-	?tr@QListModelInterface@@SA?AVQString@@PBD0H@Z @ 1280 NONAME ; class QString QListModelInterface::tr(char const *, char const *, int)
-	??1QDeclarativeDebugFileReference@@QAE@XZ @ 1281 NONAME ; QDeclarativeDebugFileReference::~QDeclarativeDebugFileReference(void)
-	?style@QDeclarativeText@@QBE?AW4TextStyle@1@XZ @ 1282 NONAME ; enum QDeclarativeText::TextStyle QDeclarativeText::style(void) const
-	??0QDeclarativeAbstractBinding@@QAE@XZ @ 1283 NONAME ; QDeclarativeAbstractBinding::QDeclarativeAbstractBinding(void)
-	?staticMetaObject@QDeclarativeDebugEnginesQuery@@2UQMetaObject@@B @ 1284 NONAME ; struct QMetaObject const QDeclarativeDebugEnginesQuery::staticMetaObject
-	?cancel@QDeclarativePixmapCache@@SAXABVQUrl@@PAVQObject@@@Z @ 1285 NONAME ABSENT ; void QDeclarativePixmapCache::cancel(class QUrl const &, class QObject *)
-	?isError@QDeclarativeComponent@@QBE_NXZ @ 1286 NONAME ; bool QDeclarativeComponent::isError(void) const
-	?qt_metacall@QDeclarativeTransition@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1287 NONAME ; int QDeclarativeTransition::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?type@QDeclarativeDomImport@@QBE?AW4Type@1@XZ @ 1288 NONAME ; enum QDeclarativeDomImport::Type QDeclarativeDomImport::type(void) const
-	??1QDeclarativeDebugConnection@@UAE@XZ @ 1289 NONAME ; QDeclarativeDebugConnection::~QDeclarativeDebugConnection(void)
-	?value@QDeclarativeOpenMetaObject@@QBE?AVQVariant@@H@Z @ 1290 NONAME ; class QVariant QDeclarativeOpenMetaObject::value(int) const
-	?tr@QDeclarativeDebugRootContextQuery@@SA?AVQString@@PBD0H@Z @ 1291 NONAME ; class QString QDeclarativeDebugRootContextQuery::tr(char const *, char const *, int)
-	?setFromState@QDeclarativeTransition@@QAEXABVQString@@@Z @ 1292 NONAME ; void QDeclarativeTransition::setFromState(class QString const &)
-	?metaObject@QDeclarativeDebugService@@UBEPBUQMetaObject@@XZ @ 1293 NONAME ; struct QMetaObject const * QDeclarativeDebugService::metaObject(void) const
-	?state@QDeclarativeDebugQuery@@QBE?AW4State@1@XZ @ 1294 NONAME ; enum QDeclarativeDebugQuery::State QDeclarativeDebugQuery::state(void) const
-	?setBottom@QDeclarativeScaleGrid@@QAEXH@Z @ 1295 NONAME ; void QDeclarativeScaleGrid::setBottom(int)
-	?topMarginChanged@QDeclarativeAnchors@@IAEXXZ @ 1296 NONAME ; void QDeclarativeAnchors::topMarginChanged(void)
-	?itemChange@QDeclarativeItem@@MAE?AVQVariant@@W4GraphicsItemChange@QGraphicsItem@@ABV2@@Z @ 1297 NONAME ; class QVariant QDeclarativeItem::itemChange(enum QGraphicsItem::GraphicsItemChange, class QVariant const &)
-	?position@QDeclarativeDomObject@@QBEHXZ @ 1298 NONAME ; int QDeclarativeDomObject::position(void) const
-	?update@QDeclarativeBinding@@UAEXV?$QFlags@W4WriteFlag@QDeclarativePropertyPrivate@@@@@Z @ 1299 NONAME ; void QDeclarativeBinding::update(class QFlags<enum QDeclarativePropertyPrivate::WriteFlag>)
-	?tr@QDeclarativeBehavior@@SA?AVQString@@PBD0@Z @ 1300 NONAME ; class QString QDeclarativeBehavior::tr(char const *, char const *)
-	?isDebuggingEnabled@QDeclarativeDebugService@@SA_NXZ @ 1301 NONAME ; bool QDeclarativeDebugService::isDebuggingEnabled(void)
-	?tr@QDeclarativeText@@SA?AVQString@@PBD0H@Z @ 1302 NONAME ; class QString QDeclarativeText::tr(char const *, char const *, int)
-	?reset@QDeclarativeProperty@@QBE_NXZ @ 1303 NONAME ; bool QDeclarativeProperty::reset(void) const
-	?objectDebugId@QDeclarativeDebugWatch@@QBEHXZ @ 1304 NONAME ; int QDeclarativeDebugWatch::objectDebugId(void) const
-	?width@QDeclarativeItemPrivate@@UBEMXZ @ 1305 NONAME ; float QDeclarativeItemPrivate::width(void) const
-	?d_func@QMetaMethodBuilder@@ABEPAVQMetaMethodBuilderPrivate@@XZ @ 1306 NONAME ; class QMetaMethodBuilderPrivate * QMetaMethodBuilder::d_func(void) const
-	?isScript@Variant@QDeclarativeParser@@QBE_NXZ @ 1307 NONAME ; bool QDeclarativeParser::Variant::isScript(void) const
-	?classBegin@QDeclarativeStateGroup@@UAEXXZ @ 1308 NONAME ; void QDeclarativeStateGroup::classBegin(void)
-	?qt_metacast@QDeclarativeRectangle@@UAEPAXPBD@Z @ 1309 NONAME ; void * QDeclarativeRectangle::qt_metacast(char const *)
-	?qt_metacast@QDeclarativeExpression@@UAEPAXPBD@Z @ 1310 NONAME ; void * QDeclarativeExpression::qt_metacast(char const *)
-	?indexOfProperty@QMetaObjectBuilder@@QAEHABVQByteArray@@@Z @ 1311 NONAME ; int QMetaObjectBuilder::indexOfProperty(class QByteArray const &)
-	?vAlign@QDeclarativeText@@QBE?AW4VAlignment@1@XZ @ 1312 NONAME ; enum QDeclarativeText::VAlignment QDeclarativeText::vAlign(void) const
-	?addEnumerator@QMetaObjectBuilder@@QAE?AVQMetaEnumBuilder@@ABVQByteArray@@@Z @ 1313 NONAME ; class QMetaEnumBuilder QMetaObjectBuilder::addEnumerator(class QByteArray const &)
-	??1QDeclarativeError@@QAE@XZ @ 1314 NONAME ; QDeclarativeError::~QDeclarativeError(void)
-	?property@QDeclarativeProperty@@QBE?AVQMetaProperty@@XZ @ 1315 NONAME ; class QMetaProperty QDeclarativeProperty::property(void) const
-	?tr@QDeclarativeText@@SA?AVQString@@PBD0@Z @ 1316 NONAME ; class QString QDeclarativeText::tr(char const *, char const *)
-	?write@QDeclarativeProperty@@SA_NPAVQObject@@ABVQString@@ABVQVariant@@PAVQDeclarativeContext@@@Z @ 1317 NONAME ; bool QDeclarativeProperty::write(class QObject *, class QString const &, class QVariant const &, class QDeclarativeContext *)
-	??0QDeclarativeGridScaledImage@@QAE@XZ @ 1318 NONAME ; QDeclarativeGridScaledImage::QDeclarativeGridScaledImage(void)
-	?setText@QDeclarativeText@@QAEXABVQString@@@Z @ 1319 NONAME ; void QDeclarativeText::setText(class QString const &)
-	?setBaseline@QDeclarativeAnchors@@QAEXABVQDeclarativeAnchorLine@@@Z @ 1320 NONAME ; void QDeclarativeAnchors::setBaseline(class QDeclarativeAnchorLine const &)
-	?resetCenterIn@QDeclarativeAnchors@@QAEXXZ @ 1321 NONAME ; void QDeclarativeAnchors::resetCenterIn(void)
-	?pixmapUrl@QDeclarativeGridScaledImage@@QBE?AVQString@@XZ @ 1322 NONAME ; class QString QDeclarativeGridScaledImage::pixmapUrl(void) const
-	?name@QDeclarativeOpenMetaObject@@QBE?AVQByteArray@@H@Z @ 1323 NONAME ; class QByteArray QDeclarativeOpenMetaObject::name(int) const
-	?trUtf8@QDeclarativeDebugObjectQuery@@SA?AVQString@@PBD0@Z @ 1324 NONAME ; class QString QDeclarativeDebugObjectQuery::trUtf8(char const *, char const *)
-	?getStaticMetaObject@QDeclarativeAnchors@@SAABUQMetaObject@@XZ @ 1325 NONAME ; struct QMetaObject const & QDeclarativeAnchors::getStaticMetaObject(void)
-	?qt_metacall@QDeclarativeEngine@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1326 NONAME ; int QDeclarativeEngine::qt_metacall(enum QMetaObject::Call, int, void * *)
-	??0QDeclarativeProperty@@QAE@PAVQObject@@ABVQString@@@Z @ 1327 NONAME ; QDeclarativeProperty::QDeclarativeProperty(class QObject *, class QString const &)
-	?trUtf8@QDeclarativeState@@SA?AVQString@@PBD0@Z @ 1328 NONAME ; class QString QDeclarativeState::trUtf8(char const *, char const *)
-	?setStaticMetacallFunction@QMetaObjectBuilder@@QAEXP6AHW4Call@QMetaObject@@HPAPAX@Z@Z @ 1329 NONAME ; void QMetaObjectBuilder::setStaticMetacallFunction(int (*)(enum QMetaObject::Call, int, void * *))
-	?properties@QDeclarativeDomObject@@QBE?AV?$QList@VQDeclarativeDomProperty@@@@XZ @ 1330 NONAME ; class QList<class QDeclarativeDomProperty> QDeclarativeDomObject::properties(void) const
-	??0QDeclarativeExpression@@QAE@PAVQDeclarativeContext@@PAVQObject@@ABVQString@@1@Z @ 1331 NONAME ; QDeclarativeExpression::QDeclarativeExpression(class QDeclarativeContext *, class QObject *, class QString const &, class QObject *)
-	?tr@QDeclarativeTransition@@SA?AVQString@@PBD0H@Z @ 1332 NONAME ; class QString QDeclarativeTransition::tr(char const *, char const *, int)
-	?dateTimeFromString@QDeclarativeStringConverters@@YA?AVQDateTime@@ABVQString@@PA_N@Z @ 1333 NONAME ; class QDateTime QDeclarativeStringConverters::dateTimeFromString(class QString const &, bool *)
-	?implicitWidth@QDeclarativeItem@@QBEMXZ @ 1334 NONAME ; float QDeclarativeItem::implicitWidth(void) const
-	?metaObject@QDeclarativeContext@@UBEPBUQMetaObject@@XZ @ 1335 NONAME ; struct QMetaObject const * QDeclarativeContext::metaObject(void) const
-	??0QDeclarativeContext@@AAE@PAVQDeclarativeContextData@@@Z @ 1336 NONAME ; QDeclarativeContext::QDeclarativeContext(class QDeclarativeContextData *)
-	?maximumPacketSize@QPacketProtocol@@QBEHXZ @ 1337 NONAME ; int QPacketProtocol::maximumPacketSize(void) const
-	??_EQDeclarativeDebuggerStatus@@UAE@I@Z @ 1338 NONAME ; QDeclarativeDebuggerStatus::~QDeclarativeDebuggerStatus(unsigned int)
-	?error@QDeclarativeCustomParser@@IAEXABVQString@@@Z @ 1339 NONAME ; void QDeclarativeCustomParser::error(class QString const &)
-	?messageReceived@QDeclarativeDebugService@@MAEXABVQByteArray@@@Z @ 1340 NONAME ; void QDeclarativeDebugService::messageReceived(class QByteArray const &)
-	??0QDeclarativeParserStatus@@QAE@XZ @ 1341 NONAME ; QDeclarativeParserStatus::QDeclarativeParserStatus(void)
-	?isNumber@Variant@QDeclarativeParser@@QBE_NXZ @ 1342 NONAME ; bool QDeclarativeParser::Variant::isNumber(void) const
-	?getStaticMetaObject@QDeclarativeEngineDebug@@SAABUQMetaObject@@XZ @ 1343 NONAME ; struct QMetaObject const & QDeclarativeEngineDebug::getStaticMetaObject(void)
-	??_EQDeclarativeEngine@@UAE@I@Z @ 1344 NONAME ; QDeclarativeEngine::~QDeclarativeEngine(unsigned int)
-	??1QDeclarativeCustomParserNode@@QAE@XZ @ 1345 NONAME ; QDeclarativeCustomParserNode::~QDeclarativeCustomParserNode(void)
-	??1QDeclarativeAction@@QAE@XZ @ 1346 NONAME ; QDeclarativeAction::~QDeclarativeAction(void)
-	?resourcesLoading@QDeclarativeText@@QBEHXZ @ 1347 NONAME ; int QDeclarativeText::resourcesLoading(void) const
-	?isBoolean@Variant@QDeclarativeParser@@QBE_NXZ @ 1348 NONAME ; bool QDeclarativeParser::Variant::isBoolean(void) const
-	??0QDeclarativeAction@@QAE@XZ @ 1349 NONAME ; QDeclarativeAction::QDeclarativeAction(void)
-	?signalOffset@QDeclarativeOpenMetaObjectType@@QBEHXZ @ 1350 NONAME ; int QDeclarativeOpenMetaObjectType::signalOffset(void) const
-	?index@QMetaEnumBuilder@@QBEHXZ @ 1351 NONAME ; int QMetaEnumBuilder::index(void) const
-	?setResettable@QMetaPropertyBuilder@@QAEX_N@Z @ 1352 NONAME ; void QMetaPropertyBuilder::setResettable(bool)
-	??0QDeclarativeError@@QAE@ABV0@@Z @ 1353 NONAME ; QDeclarativeError::QDeclarativeError(class QDeclarativeError const &)
-	?classInfoCount@QMetaObjectBuilder@@QBEHXZ @ 1354 NONAME ; int QMetaObjectBuilder::classInfoCount(void) const
-	?isObject@QDeclarativeDomValue@@QBE_NXZ @ 1355 NONAME ; bool QDeclarativeDomValue::isObject(void) const
-	?left@QDeclarativeScaleGrid@@QBEHXZ @ 1356 NONAME ; int QDeclarativeScaleGrid::left(void) const
-	?qt_metacast@QDeclarativeDebugEnginesQuery@@UAEPAXPBD@Z @ 1357 NONAME ; void * QDeclarativeDebugEnginesQuery::qt_metacast(char const *)
-	?d_func@QDeclarativeView@@AAEPAVQDeclarativeViewPrivate@@XZ @ 1358 NONAME ; class QDeclarativeViewPrivate * QDeclarativeView::d_func(void)
-	?addWatch@QDeclarativeEngineDebug@@QAEPAVQDeclarativeDebugPropertyWatch@@ABVQDeclarativeDebugPropertyReference@@PAVQObject@@@Z @ 1359 NONAME ; class QDeclarativeDebugPropertyWatch * QDeclarativeEngineDebug::addWatch(class QDeclarativeDebugPropertyReference const &, class QObject *)
-	?stateChanged@QDeclarativeStateGroup@@IAEXABVQString@@@Z @ 1360 NONAME ; void QDeclarativeStateGroup::stateChanged(class QString const &)
-	?customStringConverter@QDeclarativeMetaType@@SAP6A?AVQVariant@@ABVQString@@@ZH@Z @ 1361 NONAME ; class QVariant (*)(class QString const &) QDeclarativeMetaType::customStringConverter(int)
-	??0QDeclarativeDomValueValueSource@@QAE@XZ @ 1362 NONAME ; QDeclarativeDomValueValueSource::QDeclarativeDomValueValueSource(void)
-	?baselineOffsetChanged@QDeclarativeAnchors@@IAEXXZ @ 1363 NONAME ; void QDeclarativeAnchors::baselineOffsetChanged(void)
-	?tr@QDeclarativeView@@SA?AVQString@@PBD0H@Z @ 1364 NONAME ; class QString QDeclarativeView::tr(char const *, char const *, int)
-	??4QDeclarativeDebugFileReference@@QAEAAV0@ABV0@@Z @ 1365 NONAME ; class QDeclarativeDebugFileReference & QDeclarativeDebugFileReference::operator=(class QDeclarativeDebugFileReference const &)
-	?eventFilter@QDeclarativeView@@MAE_NPAVQObject@@PAVQEvent@@@Z @ 1366 NONAME ; bool QDeclarativeView::eventFilter(class QObject *, class QEvent *)
-	??1QDeclarativeView@@UAE@XZ @ 1367 NONAME ; QDeclarativeView::~QDeclarativeView(void)
-	?verticalCenter@QDeclarativeAnchors@@QBE?AVQDeclarativeAnchorLine@@XZ @ 1368 NONAME ; class QDeclarativeAnchorLine QDeclarativeAnchors::verticalCenter(void) const
-	?setIsFlag@QMetaEnumBuilder@@QAEX_N@Z @ 1369 NONAME ; void QMetaEnumBuilder::setIsFlag(bool)
-	?trUtf8@QDeclarativeDebugConnection@@SA?AVQString@@PBD0H@Z @ 1370 NONAME ; class QString QDeclarativeDebugConnection::trUtf8(char const *, char const *, int)
-	?majorVersion@QDeclarativeType@@QBEHXZ @ 1371 NONAME ; int QDeclarativeType::majorVersion(void) const
-	?trUtf8@QDeclarativeDebugObjectExpressionWatch@@SA?AVQString@@PBD0@Z @ 1372 NONAME ; class QString QDeclarativeDebugObjectExpressionWatch::trUtf8(char const *, char const *)
-	?baseUrl@QDeclarativeEngine@@QBE?AVQUrl@@XZ @ 1373 NONAME ; class QUrl QDeclarativeEngine::baseUrl(void) const
-	??6QDeclarativeInfo@@QAEAAV0@PBX@Z @ 1374 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(void const *)
-	?setTop@QDeclarativeAnchors@@QAEXABVQDeclarativeAnchorLine@@@Z @ 1375 NONAME ; void QDeclarativeAnchors::setTop(class QDeclarativeAnchorLine const &)
-	?setEnabled@QDeclarativeBinding@@UAEX_NV?$QFlags@W4WriteFlag@QDeclarativePropertyPrivate@@@@@Z @ 1376 NONAME ; void QDeclarativeBinding::setEnabled(bool, class QFlags<enum QDeclarativePropertyPrivate::WriteFlag>)
-	??_EQDeclarativeNetworkAccessManagerFactory@@UAE@I@Z @ 1377 NONAME ; QDeclarativeNetworkAccessManagerFactory::~QDeclarativeNetworkAccessManagerFactory(unsigned int)
-	?qmlTypes@QDeclarativeMetaType@@SA?AV?$QList@PAVQDeclarativeType@@@@XZ @ 1378 NONAME ; class QList<class QDeclarativeType *> QDeclarativeMetaType::qmlTypes(void)
-	?valueTypeCoreIndex@QDeclarativePropertyPrivate@@SAHABVQDeclarativeProperty@@@Z @ 1379 NONAME ; int QDeclarativePropertyPrivate::valueTypeCoreIndex(class QDeclarativeProperty const &)
-	?writeEnumProperty@QDeclarativePropertyPrivate@@SA_NABVQMetaProperty@@HPAVQObject@@ABVQVariant@@H@Z @ 1380 NONAME ; bool QDeclarativePropertyPrivate::writeEnumProperty(class QMetaProperty const &, int, class QObject *, class QVariant const &, int)
-	?setEnabled@QDeclarativeDebugClient@@QAEX_N@Z @ 1381 NONAME ; void QDeclarativeDebugClient::setEnabled(bool)
-	??1QMetaObjectBuilder@@UAE@XZ @ 1382 NONAME ; QMetaObjectBuilder::~QMetaObjectBuilder(void)
-	?tr@QDeclarativeStateOperation@@SA?AVQString@@PBD0@Z @ 1383 NONAME ; class QString QDeclarativeStateOperation::tr(char const *, char const *)
-	?clear@QPacket@@QAEXXZ @ 1384 NONAME ; void QPacket::clear(void)
-	?getStaticMetaObject@QDeclarativeDebugClient@@SAABUQMetaObject@@XZ @ 1385 NONAME ; struct QMetaObject const & QDeclarativeDebugClient::getStaticMetaObject(void)
-	??0QDeclarativeDomList@@QAE@ABV0@@Z @ 1386 NONAME ; QDeclarativeDomList::QDeclarativeDomList(class QDeclarativeDomList const &)
-	?gridTop@QDeclarativeGridScaledImage@@QBEHXZ @ 1387 NONAME ; int QDeclarativeGridScaledImage::gridTop(void) const
-	?setUrl@QDeclarativeError@@QAEXABVQUrl@@@Z @ 1388 NONAME ; void QDeclarativeError::setUrl(class QUrl const &)
-	?setMaximumPacketSize@QPacketProtocol@@QAEHH@Z @ 1389 NONAME ; int QPacketProtocol::setMaximumPacketSize(int)
-	??_EQDeclarativeAction@@QAE@I@Z @ 1390 NONAME ; QDeclarativeAction::~QDeclarativeAction(unsigned int)
-	?trUtf8@QDeclarativeDebugWatch@@SA?AVQString@@PBD0@Z @ 1391 NONAME ; class QString QDeclarativeDebugWatch::trUtf8(char const *, char const *)
-	?read@QDeclarativeProperty@@SA?AVQVariant@@PAVQObject@@ABVQString@@@Z @ 1392 NONAME ; class QVariant QDeclarativeProperty::read(class QObject *, class QString const &)
-	?widthValid@QDeclarativeItem@@IBE_NXZ @ 1393 NONAME ; bool QDeclarativeItem::widthValid(void) const
-	?staticMetaObject@QDeclarativeState@@2UQMetaObject@@B @ 1394 NONAME ; struct QMetaObject const QDeclarativeState::staticMetaObject
-	?setAccess@QMetaMethodBuilder@@QAEXW4Access@QMetaMethod@@@Z @ 1395 NONAME ; void QMetaMethodBuilder::setAccess(enum QMetaMethod::Access)
-	??0QDeclarativeAction@@QAE@PAVQObject@@ABVQString@@PAVQDeclarativeContext@@ABVQVariant@@@Z @ 1396 NONAME ; QDeclarativeAction::QDeclarativeAction(class QObject *, class QString const &, class QDeclarativeContext *, class QVariant const &)
-	?staticMetaObject@QDeclarativeDebugClient@@2UQMetaObject@@B @ 1397 NONAME ; struct QMetaObject const QDeclarativeDebugClient::staticMetaObject
-	?trUtf8@QDeclarativeDebugEnginesQuery@@SA?AVQString@@PBD0@Z @ 1398 NONAME ; class QString QDeclarativeDebugEnginesQuery::trUtf8(char const *, char const *)
-	?d_func@QDeclarativeExpression@@ABEPBVQDeclarativeExpressionPrivate@@XZ @ 1399 NONAME ; class QDeclarativeExpressionPrivate const * QDeclarativeExpression::d_func(void) const
-	??1QDeclarativeValueType@@UAE@XZ @ 1400 NONAME ; QDeclarativeValueType::~QDeclarativeValueType(void)
-	?setBaseUrl@QDeclarativeContext@@QAEXABVQUrl@@@Z @ 1401 NONAME ; void QDeclarativeContext::setBaseUrl(class QUrl const &)
-	??_EQDeclarativeAbstractBinding@@UAE@I@Z @ 1402 NONAME ; QDeclarativeAbstractBinding::~QDeclarativeAbstractBinding(unsigned int)
-	?queryExpressionResult@QDeclarativeEngineDebug@@QAEPAVQDeclarativeDebugExpressionQuery@@HABVQString@@PAVQObject@@@Z @ 1403 NONAME ; class QDeclarativeDebugExpressionQuery * QDeclarativeEngineDebug::queryExpressionResult(int, class QString const &, class QObject *)
-	?indexOfMethod@QMetaObjectBuilder@@QAEHABVQByteArray@@@Z @ 1404 NONAME ; int QMetaObjectBuilder::indexOfMethod(class QByteArray const &)
-	?setCached@QDeclarativeOpenMetaObject@@QAEX_N@Z @ 1405 NONAME ; void QDeclarativeOpenMetaObject::setCached(bool)
-	?length@QDeclarativeDomList@@QBEHXZ @ 1406 NONAME ; int QDeclarativeDomList::length(void) const
-	?horizontalTileRule@QDeclarativeGridScaledImage@@QBE?AW4TileMode@QDeclarativeBorderImage@@XZ @ 1407 NONAME ; enum QDeclarativeBorderImage::TileMode QDeclarativeGridScaledImage::horizontalTileRule(void) const
-	??0QDeclarativeCustomParserProperty@@QAE@XZ @ 1408 NONAME ; QDeclarativeCustomParserProperty::QDeclarativeCustomParserProperty(void)
-	??1QDeclarativeEngineDebug@@UAE@XZ @ 1409 NONAME ; QDeclarativeEngineDebug::~QDeclarativeEngineDebug(void)
-	?qt_metacall@QDeclarativeEngineDebug@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1410 NONAME ; int QDeclarativeEngineDebug::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?q_func@QDeclarativeItemPrivate@@ABEPBVQDeclarativeItem@@XZ @ 1411 NONAME ; class QDeclarativeItem const * QDeclarativeItemPrivate::q_func(void) const
-	?customParser@QDeclarativeType@@QBEPAVQDeclarativeCustomParser@@XZ @ 1412 NONAME ; class QDeclarativeCustomParser * QDeclarativeType::customParser(void) const
-	?setSourceLocation@QDeclarativeExpression@@QAEXABVQString@@H@Z @ 1413 NONAME ; void QDeclarativeExpression::setSourceLocation(class QString const &, int)
-	?equal@QDeclarativePropertyPrivate@@SA_NPBUQMetaObject@@0@Z @ 1414 NONAME ; bool QDeclarativePropertyPrivate::equal(struct QMetaObject const *, struct QMetaObject const *)
-	??_EQDeclarativeExtensionPlugin@@UAE@I@Z @ 1415 NONAME ; QDeclarativeExtensionPlugin::~QDeclarativeExtensionPlugin(unsigned int)
-	?write@QDeclarativePropertyPrivate@@SA_NPAVQObject@@ABUData@QDeclarativePropertyCache@@ABVQVariant@@PAVQDeclarativeContextData@@V?$QFlags@W4WriteFlag@QDeclarativePropertyPrivate@@@@@Z @ 1416 NONAME ; bool QDeclarativePropertyPrivate::write(class QObject *, struct QDeclarativePropertyCache::Data const &, class QVariant const &, class QDeclarativeContextData *, class QFlags<enum QDeclarativePropertyPrivate::WriteFlag>)
-	?debugId@QDeclarativeDebugEngineReference@@QBEHXZ @ 1417 NONAME ; int QDeclarativeDebugEngineReference::debugId(void) const
-	?metaObject@QDeclarativeDebugEnginesQuery@@UBEPBUQMetaObject@@XZ @ 1418 NONAME ; struct QMetaObject const * QDeclarativeDebugEnginesQuery::metaObject(void) const
-	??_EQDeclarativeScaleGrid@@UAE@I@Z @ 1419 NONAME ; QDeclarativeScaleGrid::~QDeclarativeScaleGrid(unsigned int)
-	??1QDeclarativeDebugPropertyReference@@QAE@XZ @ 1420 NONAME ; QDeclarativeDebugPropertyReference::~QDeclarativeDebugPropertyReference(void)
-	?componentComplete@QDeclarativeAnchors@@QAEXXZ @ 1421 NONAME ; void QDeclarativeAnchors::componentComplete(void)
-	??1QDeclarativeDomObject@@QAE@XZ @ 1422 NONAME ; QDeclarativeDomObject::~QDeclarativeDomObject(void)
-	?expression@QDeclarativeDebugObjectExpressionWatch@@QBE?AVQString@@XZ @ 1423 NONAME ; class QString QDeclarativeDebugObjectExpressionWatch::expression(void) const
-	?metaObject@QListModelInterface@@UBEPBUQMetaObject@@XZ @ 1424 NONAME ; struct QMetaObject const * QListModelInterface::metaObject(void) const
-	?key@QMetaEnumBuilder@@QBE?AVQByteArray@@H@Z @ 1425 NONAME ; class QByteArray QMetaEnumBuilder::key(int) const
-	?d_func@QMetaEnumBuilder@@ABEPAVQMetaEnumBuilderPrivate@@XZ @ 1426 NONAME ; class QMetaEnumBuilderPrivate * QMetaEnumBuilder::d_func(void) const
-	??6QDeclarativeInfo@@QAEAAV0@PBD@Z @ 1427 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(char const *)
-	?d_func@QDeclarativeState@@AAEPAVQDeclarativeStatePrivate@@XZ @ 1428 NONAME ; class QDeclarativeStatePrivate * QDeclarativeState::d_func(void)
-	??0QDeclarativeDebugEnginesQuery@@AAE@PAVQObject@@@Z @ 1429 NONAME ; QDeclarativeDebugEnginesQuery::QDeclarativeDebugEnginesQuery(class QObject *)
-	?bottomChanged@QDeclarativeAnchors@@IAEXXZ @ 1430 NONAME ; void QDeclarativeAnchors::bottomChanged(void)
-	?qListTypeId@QDeclarativeType@@QBEHXZ @ 1431 NONAME ; int QDeclarativeType::qListTypeId(void) const
-	?setSelectedState@QDeclarativeDebuggerStatus@@UAEX_N@Z @ 1432 NONAME ; void QDeclarativeDebuggerStatus::setSelectedState(bool)
-	?staticMetaObject@QDeclarativeEngineDebug@@2UQMetaObject@@B @ 1433 NONAME ; struct QMetaObject const QDeclarativeEngineDebug::staticMetaObject
-	?setExtends@QDeclarativeState@@QAEXABVQString@@@Z @ 1434 NONAME ; void QDeclarativeState::setExtends(class QString const &)
-	??4QDeclarativeError@@QAEAAV0@ABV0@@Z @ 1435 NONAME ; class QDeclarativeError & QDeclarativeError::operator=(class QDeclarativeError const &)
-	?tr@QDeclarativeDebugEnginesQuery@@SA?AVQString@@PBD0H@Z @ 1436 NONAME ; class QString QDeclarativeDebugEnginesQuery::tr(char const *, char const *, int)
-	?d_func@QDeclarativeTransition@@AAEPAVQDeclarativeTransitionPrivate@@XZ @ 1437 NONAME ; class QDeclarativeTransitionPrivate * QDeclarativeTransition::d_func(void)
-	?propertyWritten@QDeclarativeOpenMetaObject@@MAEXH@Z @ 1438 NONAME ; void QDeclarativeOpenMetaObject::propertyWritten(int)
-	?trUtf8@QListModelInterface@@SA?AVQString@@PBD0@Z @ 1439 NONAME ; class QString QListModelInterface::trUtf8(char const *, char const *)
-	?setColumnNumber@QDeclarativeDebugFileReference@@QAEXH@Z @ 1440 NONAME ; void QDeclarativeDebugFileReference::setColumnNumber(int)
-	?drawRect@QDeclarativeRectangle@@AAEXAAVQPainter@@@Z @ 1441 NONAME ; void QDeclarativeRectangle::drawRect(class QPainter &)
-	?read@QDeclarativeProperty@@QBE?AVQVariant@@XZ @ 1442 NONAME ; class QVariant QDeclarativeProperty::read(void) const
-	?isEmpty@QDeclarativePropertyMap@@QBE_NXZ @ 1443 NONAME ; bool QDeclarativePropertyMap::isEmpty(void) const
-	?wantsFocus@QDeclarativeItem@@QBE_NXZ @ 1444 NONAME ABSENT ; bool QDeclarativeItem::wantsFocus(void) const
-	??6@YAAAVQDataStream@@AAV0@ABUQDeclarativeObjectData@QDeclarativeEngineDebugServer@@@Z @ 1445 NONAME ; class QDataStream & operator<<(class QDataStream &, struct QDeclarativeEngineDebugServer::QDeclarativeObjectData const &)
-	?trUtf8@QDeclarativeDebugObjectQuery@@SA?AVQString@@PBD0H@Z @ 1446 NONAME ; class QString QDeclarativeDebugObjectQuery::trUtf8(char const *, char const *, int)
-	??0QDeclarativeBinding@@QAE@ABVQString@@PAVQObject@@PAVQDeclarativeContext@@1@Z @ 1447 NONAME ; QDeclarativeBinding::QDeclarativeBinding(class QString const &, class QObject *, class QDeclarativeContext *, class QObject *)
-	?tr@QDeclarativeItem@@SA?AVQString@@PBD0@Z @ 1448 NONAME ; class QString QDeclarativeItem::tr(char const *, char const *)
-	??6QDeclarativeInfo@@QAEAAV0@G@Z @ 1449 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(unsigned short)
-	??0QDeclarativeStateOperation@@IAE@AAVQObjectPrivate@@PAVQObject@@@Z @ 1450 NONAME ; QDeclarativeStateOperation::QDeclarativeStateOperation(class QObjectPrivate &, class QObject *)
-	?notifyOnValueChanged@QDeclarativeExpression@@QBE_NXZ @ 1451 NONAME ; bool QDeclarativeExpression::notifyOnValueChanged(void) const
-	?keyPressPreHandler@QDeclarativeItem@@IAEXPAVQKeyEvent@@@Z @ 1452 NONAME ; void QDeclarativeItem::keyPressPreHandler(class QKeyEvent *)
-	?trUtf8@QDeclarativeItem@@SA?AVQString@@PBD0H@Z @ 1453 NONAME ; class QString QDeclarativeItem::trUtf8(char const *, char const *, int)
-	?addWatch@QDeclarativeEngineDebug@@QAEPAVQDeclarativeDebugWatch@@ABVQDeclarativeDebugFileReference@@PAVQObject@@@Z @ 1454 NONAME ; class QDeclarativeDebugWatch * QDeclarativeEngineDebug::addWatch(class QDeclarativeDebugFileReference const &, class QObject *)
-	?paintedHeight@QDeclarativeText@@QBEMXZ @ 1455 NONAME ; float QDeclarativeText::paintedHeight(void) const
-	?tr@QDeclarativeTransition@@SA?AVQString@@PBD0@Z @ 1456 NONAME ; class QString QDeclarativeTransition::tr(char const *, char const *)
-	?transform@QDeclarativeItem@@QAE?AV?$QDeclarativeListProperty@VQGraphicsTransform@@@@XZ @ 1457 NONAME ; class QDeclarativeListProperty<class QGraphicsTransform> QDeclarativeItem::transform(void)
-	?leftChanged@QDeclarativeAnchors@@IAEXXZ @ 1458 NONAME ; void QDeclarativeAnchors::leftChanged(void)
-	?topChanged@QDeclarativeAnchors@@IAEXXZ @ 1459 NONAME ; void QDeclarativeAnchors::topChanged(void)
-	??0QMetaObjectBuilder@@QAE@XZ @ 1460 NONAME ; QMetaObjectBuilder::QMetaObjectBuilder(void)
-	?asBoolean@Variant@QDeclarativeParser@@QBE_NXZ @ 1461 NONAME ; bool QDeclarativeParser::Variant::asBoolean(void) const
-	?removeEnumerator@QMetaObjectBuilder@@QAEXH@Z @ 1462 NONAME ; void QMetaObjectBuilder::removeEnumerator(int)
-	?url@QDeclarativeDomObject@@QBE?AVQUrl@@XZ @ 1463 NONAME ; class QUrl QDeclarativeDomObject::url(void) const
-	?getStaticMetaObject@QDeclarativeScaleGrid@@SAABUQMetaObject@@XZ @ 1464 NONAME ; struct QMetaObject const & QDeclarativeScaleGrid::getStaticMetaObject(void)
-	?signalExpression@QDeclarativePropertyPrivate@@SAPAVQDeclarativeExpression@@ABVQDeclarativeProperty@@@Z @ 1465 NONAME ; class QDeclarativeExpression * QDeclarativePropertyPrivate::signalExpression(class QDeclarativeProperty const &)
-	?networkAccessManagerFactory@QDeclarativeEngine@@QBEPAVQDeclarativeNetworkAccessManagerFactory@@XZ @ 1466 NONAME ; class QDeclarativeNetworkAccessManagerFactory * QDeclarativeEngine::networkAccessManagerFactory(void) const
-	?isStringList@Variant@QDeclarativeParser@@QBE_NXZ @ 1467 NONAME ; bool QDeclarativeParser::Variant::isStringList(void) const
-	?packetWritten@QPacketProtocol@@IAEXXZ @ 1468 NONAME ; void QPacketProtocol::packetWritten(void)
-	?getStaticMetaObject@QDeclarativeDebugObjectQuery@@SAABUQMetaObject@@XZ @ 1469 NONAME ; struct QMetaObject const & QDeclarativeDebugObjectQuery::getStaticMetaObject(void)
-	?isSignalProperty@QDeclarativeProperty@@QBE_NXZ @ 1470 NONAME ; bool QDeclarativeProperty::isSignalProperty(void) const
-	?d_func@QDeclarativeDebugService@@AAEPAVQDeclarativeDebugServicePrivate@@XZ @ 1471 NONAME ; class QDeclarativeDebugServicePrivate * QDeclarativeDebugService::d_func(void)
-	?qmlTypeNames@QDeclarativeMetaType@@SA?AV?$QList@VQByteArray@@@@XZ @ 1472 NONAME ; class QList<class QByteArray> QDeclarativeMetaType::qmlTypeNames(void)
-	?creationContext@QDeclarativeComponent@@QBEPAVQDeclarativeContext@@XZ @ 1473 NONAME ; class QDeclarativeContext * QDeclarativeComponent::creationContext(void) const
-	?componentComplete@QDeclarativeItem@@MAEXXZ @ 1474 NONAME ; void QDeclarativeItem::componentComplete(void)
-	?enabledChanged@QDeclarativeBehavior@@IAEXXZ @ 1475 NONAME ; void QDeclarativeBehavior::enabledChanged(void)
-	?staticMetaObject@QDeclarativeTransition@@2UQMetaObject@@B @ 1476 NONAME ; struct QMetaObject const QDeclarativeTransition::staticMetaObject
-	??0QDeclarativeInfo@@AAE@PAVQDeclarativeInfoPrivate@@@Z @ 1477 NONAME ; QDeclarativeInfo::QDeclarativeInfo(class QDeclarativeInfoPrivate *)
-	?name@QDeclarativeDebugContextReference@@QBE?AVQString@@XZ @ 1478 NONAME ; class QString QDeclarativeDebugContextReference::name(void) const
-	?propertyIndex@QDeclarativeBinding@@UAEHXZ @ 1479 NONAME ; int QDeclarativeBinding::propertyIndex(void)
-	?tr@QDeclarativeDebugWatch@@SA?AVQString@@PBD0H@Z @ 1480 NONAME ; class QString QDeclarativeDebugWatch::tr(char const *, char const *, int)
-	?qt_metacast@QDeclarativePropertyMap@@UAEPAXPBD@Z @ 1481 NONAME ; void * QDeclarativePropertyMap::qt_metacast(char const *)
-	?classBegin@QDeclarativeAnchors@@QAEXXZ @ 1482 NONAME ; void QDeclarativeAnchors::classBegin(void)
-	?color@QDeclarativeText@@QBE?AVQColor@@XZ @ 1483 NONAME ; class QColor QDeclarativeText::color(void) const
-	?metaObject@QPacketProtocol@@UBEPBUQMetaObject@@XZ @ 1484 NONAME ; struct QMetaObject const * QPacketProtocol::metaObject(void) const
-	??4QDeclarativeGridScaledImage@@QAEAAV0@ABV0@@Z @ 1485 NONAME ; class QDeclarativeGridScaledImage & QDeclarativeGridScaledImage::operator=(class QDeclarativeGridScaledImage const &)
-	?tr@QDeclarativeScaleGrid@@SA?AVQString@@PBD0@Z @ 1486 NONAME ; class QString QDeclarativeScaleGrid::tr(char const *, char const *)
-	??1QDeclarativeScriptString@@QAE@XZ @ 1487 NONAME ; QDeclarativeScriptString::~QDeclarativeScriptString(void)
-	??1QDeclarativePropertyValueSource@@UAE@XZ @ 1488 NONAME ; QDeclarativePropertyValueSource::~QDeclarativePropertyValueSource(void)
-	?position@QDeclarativeDomList@@QBEHXZ @ 1489 NONAME ; int QDeclarativeDomList::position(void) const
-	?toQObject@QDeclarativeMetaType@@SAPAVQObject@@ABVQVariant@@PA_N@Z @ 1490 NONAME ; class QObject * QDeclarativeMetaType::toQObject(class QVariant const &, bool *)
-	??_EQDeclarativeItem@@UAE@I@Z @ 1491 NONAME ; QDeclarativeItem::~QDeclarativeItem(unsigned int)
-	?getStaticMetaObject@QDeclarativeContext@@SAABUQMetaObject@@XZ @ 1492 NONAME ; struct QMetaObject const & QDeclarativeContext::getStaticMetaObject(void)
-	?metaObject@QDeclarativeListModel@@UBEPBUQMetaObject@@XZ @ 1493 NONAME ; struct QMetaObject const * QDeclarativeListModel::metaObject(void) const
-	?transformChanged@QDeclarativeItemPrivate@@UAEXXZ @ 1494 NONAME ; void QDeclarativeItemPrivate::transformChanged(void)
-	?remove@QDeclarativeListModel@@QAEXH@Z @ 1495 NONAME ; void QDeclarativeListModel::remove(int)
-	?setResizeMode@QDeclarativeView@@QAEXW4ResizeMode@1@@Z @ 1496 NONAME ; void QDeclarativeView::setResizeMode(enum QDeclarativeView::ResizeMode)
-	?left@QDeclarativeAnchors@@QBE?AVQDeclarativeAnchorLine@@XZ @ 1497 NONAME ; class QDeclarativeAnchorLine QDeclarativeAnchors::left(void) const
-	?flags@QMetaObjectBuilder@@QBE?AV?$QFlags@W4MetaObjectFlag@QMetaObjectBuilder@@@@XZ @ 1498 NONAME ; class QFlags<enum QMetaObjectBuilder::MetaObjectFlag> QMetaObjectBuilder::flags(void) const
-	??0QDeclarativeItem@@IAE@AAVQDeclarativeItemPrivate@@PAV0@@Z @ 1499 NONAME ; QDeclarativeItem::QDeclarativeItem(class QDeclarativeItemPrivate &, class QDeclarativeItem *)
-	??0QDeclarativeContext@@QAE@PAV0@PAVQObject@@@Z @ 1500 NONAME ; QDeclarativeContext::QDeclarativeContext(class QDeclarativeContext *, class QObject *)
-	?trUtf8@QDeclarativeDebugConnection@@SA?AVQString@@PBD0@Z @ 1501 NONAME ; class QString QDeclarativeDebugConnection::trUtf8(char const *, char const *)
-	??1QDeclarativeDebugEnginesQuery@@UAE@XZ @ 1502 NONAME ; QDeclarativeDebugEnginesQuery::~QDeclarativeDebugEnginesQuery(void)
-	?getStaticMetaObject@QDeclarativeTransition@@SAABUQMetaObject@@XZ @ 1503 NONAME ; struct QMetaObject const & QDeclarativeTransition::getStaticMetaObject(void)
-	?trUtf8@QDeclarativeDebugObjectExpressionWatch@@SA?AVQString@@PBD0H@Z @ 1504 NONAME ; class QString QDeclarativeDebugObjectExpressionWatch::trUtf8(char const *, char const *, int)
-	?metaObject@QDeclarativePropertyMap@@UBEPBUQMetaObject@@XZ @ 1505 NONAME ; struct QMetaObject const * QDeclarativePropertyMap::metaObject(void) const
-	?componentRoot@QDeclarativeDomComponent@@QBE?AVQDeclarativeDomObject@@XZ @ 1506 NONAME ; class QDeclarativeDomObject QDeclarativeDomComponent::componentRoot(void) const
-	?metaObject@QDeclarativeDebugConnection@@UBEPBUQMetaObject@@XZ @ 1507 NONAME ; struct QMetaObject const * QDeclarativeDebugConnection::metaObject(void) const
-	?setTag@QMetaMethodBuilder@@QAEXABVQByteArray@@@Z @ 1508 NONAME ; void QMetaMethodBuilder::setTag(class QByteArray const &)
-	?objects@QDeclarativeDebugContextReference@@QBE?AV?$QList@VQDeclarativeDebugObjectReference@@@@XZ @ 1509 NONAME ; class QList<class QDeclarativeDebugObjectReference> QDeclarativeDebugContextReference::objects(void) const
-	??4Variant@QDeclarativeParser@@QAEAAV01@ABV01@@Z @ 1510 NONAME ; class QDeclarativeParser::Variant & QDeclarativeParser::Variant::operator=(class QDeclarativeParser::Variant const &)
-	?tr@QDeclarativeStateGroup@@SA?AVQString@@PBD0@Z @ 1511 NONAME ; class QString QDeclarativeStateGroup::tr(char const *, char const *)
-	?setScopeObject@QDeclarativeScriptString@@QAEXPAVQObject@@@Z @ 1512 NONAME ; void QDeclarativeScriptString::setScopeObject(class QObject *)
-	??1QDeclarativeBinding@@MAE@XZ @ 1513 NONAME ; QDeclarativeBinding::~QDeclarativeBinding(void)
-	?importPlugin@QDeclarativeEngine@@QAE_NABVQString@@0PAV2@@Z @ 1514 NONAME ; bool QDeclarativeEngine::importPlugin(class QString const &, class QString const &, class QString *)
-	?setBottomMargin@QDeclarativeAnchors@@QAEXM@Z @ 1515 NONAME ; void QDeclarativeAnchors::setBottomMargin(float)
-	?geometryChanged@QDeclarativeItem@@MAEXABVQRectF@@0@Z @ 1516 NONAME ; void QDeclarativeItem::geometryChanged(class QRectF const &, class QRectF const &)
-	?toValueSource@QDeclarativeDomValue@@QBE?AVQDeclarativeDomValueValueSource@@XZ @ 1517 NONAME ; class QDeclarativeDomValueValueSource QDeclarativeDomValue::toValueSource(void) const
-	?hAlign@QDeclarativeText@@QBE?AW4HAlignment@1@XZ @ 1518 NONAME ; enum QDeclarativeText::HAlignment QDeclarativeText::hAlign(void) const
-	?when@QDeclarativeState@@QBEPAVQDeclarativeBinding@@XZ @ 1519 NONAME ; class QDeclarativeBinding * QDeclarativeState::when(void) const
-	?setRootObject@QDeclarativeView@@MAEXPAVQObject@@@Z @ 1520 NONAME ; void QDeclarativeView::setRootObject(class QObject *)
-	?resetBottom@QDeclarativeAnchors@@QAEXXZ @ 1521 NONAME ; void QDeclarativeAnchors::resetBottom(void)
-	?qt_metacall@QDeclarativePropertyMap@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1522 NONAME ; int QDeclarativePropertyMap::qt_metacall(enum QMetaObject::Call, int, void * *)
-	??0QDeclarativeDebugEngineReference@@QAE@ABV0@@Z @ 1523 NONAME ; QDeclarativeDebugEngineReference::QDeclarativeDebugEngineReference(class QDeclarativeDebugEngineReference const &)
-	?objectDebugId@QDeclarativeDebugPropertyReference@@QBEHXZ @ 1524 NONAME ; int QDeclarativeDebugPropertyReference::objectDebugId(void) const
-	?trUtf8@QDeclarativeDebugQuery@@SA?AVQString@@PBD0@Z @ 1525 NONAME ; class QString QDeclarativeDebugQuery::trUtf8(char const *, char const *)
-	??AQDeclarativeValueTypeFactory@@QBEPAVQDeclarativeValueType@@H@Z @ 1526 NONAME ; class QDeclarativeValueType * QDeclarativeValueTypeFactory::operator[](int) const
-	?siblingOrderChange@QDeclarativeItemPrivate@@UAEXXZ @ 1527 NONAME ; void QDeclarativeItemPrivate::siblingOrderChange(void)
-	??1QDeclarativeState@@UAE@XZ @ 1528 NONAME ; QDeclarativeState::~QDeclarativeState(void)
-	?paint@QDeclarativeText@@UAEXPAVQPainter@@PBVQStyleOptionGraphicsItem@@PAVQWidget@@@Z @ 1529 NONAME ; void QDeclarativeText::paint(class QPainter *, class QStyleOptionGraphicsItem const *, class QWidget *)
-	??1QDeclarativeStateGroup@@UAE@XZ @ 1530 NONAME ; QDeclarativeStateGroup::~QDeclarativeStateGroup(void)
-	?setEditable@QMetaPropertyBuilder@@QAEX_N@Z @ 1531 NONAME ; void QMetaPropertyBuilder::setEditable(bool)
-	?setBinding@QDeclarativePropertyPrivate@@SAPAVQDeclarativeAbstractBinding@@ABVQDeclarativeProperty@@PAV2@V?$QFlags@W4WriteFlag@QDeclarativePropertyPrivate@@@@@Z @ 1532 NONAME ; class QDeclarativeAbstractBinding * QDeclarativePropertyPrivate::setBinding(class QDeclarativeProperty const &, class QDeclarativeAbstractBinding *, class QFlags<enum QDeclarativePropertyPrivate::WriteFlag>)
-	?trUtf8@QDeclarativeBinding@@SA?AVQString@@PBD0@Z @ 1533 NONAME ; class QString QDeclarativeBinding::trUtf8(char const *, char const *)
-	?progress@QDeclarativeComponent@@QBEMXZ @ 1534 NONAME ; float QDeclarativeComponent::progress(void) const
-	?d_func@QDeclarativeState@@ABEPBVQDeclarativeStatePrivate@@XZ @ 1535 NONAME ; class QDeclarativeStatePrivate const * QDeclarativeState::d_func(void) const
-	??0QListModelInterface@@QAE@PAVQObject@@@Z @ 1536 NONAME ; QListModelInterface::QListModelInterface(class QObject *)
-	?pointFFromString@QDeclarativeStringConverters@@YA?AVQPointF@@ABVQString@@PA_N@Z @ 1537 NONAME ; class QPointF QDeclarativeStringConverters::pointFFromString(class QString const &, bool *)
-	?propertyCreated@QDeclarativeOpenMetaObject@@MAEXHAAVQMetaPropertyBuilder@@@Z @ 1538 NONAME ; void QDeclarativeOpenMetaObject::propertyCreated(int, class QMetaPropertyBuilder &)
-	?d_func@QDeclarativeView@@ABEPBVQDeclarativeViewPrivate@@XZ @ 1539 NONAME ; class QDeclarativeViewPrivate const * QDeclarativeView::d_func(void) const
-	?rootObject@QDeclarativeView@@QBEPAVQGraphicsObject@@XZ @ 1540 NONAME ; class QGraphicsObject * QDeclarativeView::rootObject(void) const
-	?tr@QDeclarativeBinding@@SA?AVQString@@PBD0H@Z @ 1541 NONAME ; class QString QDeclarativeBinding::tr(char const *, char const *, int)
-	?queryObjectRecursive@QDeclarativeEngineDebug@@QAEPAVQDeclarativeDebugObjectQuery@@ABVQDeclarativeDebugObjectReference@@PAVQObject@@@Z @ 1542 NONAME ; class QDeclarativeDebugObjectQuery * QDeclarativeEngineDebug::queryObjectRecursive(class QDeclarativeDebugObjectReference const &, class QObject *)
-	?prepare@QDeclarativeTransition@@QAEXAAV?$QList@VQDeclarativeAction@@@@AAV?$QList@VQDeclarativeProperty@@@@PAVQDeclarativeTransitionManager@@@Z @ 1543 NONAME ; void QDeclarativeTransition::prepare(class QList<class QDeclarativeAction> &, class QList<class QDeclarativeProperty> &, class QDeclarativeTransitionManager *)
-	??6QDeclarativeInfo@@QAEAAV0@ABVQUrl@@@Z @ 1544 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(class QUrl const &)
-	?scopeObject@QDeclarativeExpression@@QBEPAVQObject@@XZ @ 1545 NONAME ; class QObject * QDeclarativeExpression::scopeObject(void) const
-	?isValid@QDeclarativeContext@@QBE_NXZ @ 1546 NONAME ; bool QDeclarativeContext::isValid(void) const
-	?trUtf8@QDeclarativeValueType@@SA?AVQString@@PBD0H@Z @ 1547 NONAME ; class QString QDeclarativeValueType::trUtf8(char const *, char const *, int)
-	?qmlAttachedPropertiesObjectById@@YAPAVQObject@@HPBV1@_N@Z @ 1548 NONAME ; class QObject * qmlAttachedPropertiesObjectById(int, class QObject const *, bool)
-	?d_func@QDeclarativePixmapReply@@ABEPBVQDeclarativePixmapReplyPrivate@@XZ @ 1549 NONAME ABSENT ; class QDeclarativePixmapReplyPrivate const * QDeclarativePixmapReply::d_func(void) const
-	?constructorCount@QMetaObjectBuilder@@QBEHXZ @ 1550 NONAME ; int QMetaObjectBuilder::constructorCount(void) const
-	??0QDeclarativeDomValueValueInterceptor@@QAE@ABV0@@Z @ 1551 NONAME ; QDeclarativeDomValueValueInterceptor::QDeclarativeDomValueValueInterceptor(class QDeclarativeDomValueValueInterceptor const &)
-	?object@QDeclarativeDebugObjectQuery@@QBE?AVQDeclarativeDebugObjectReference@@XZ @ 1552 NONAME ; class QDeclarativeDebugObjectReference QDeclarativeDebugObjectQuery::object(void) const
-	??0QMetaPropertyBuilder@@QAE@XZ @ 1553 NONAME ; QMetaPropertyBuilder::QMetaPropertyBuilder(void)
-	?toMetaObject@QMetaObjectBuilder@@QBEPAUQMetaObject@@XZ @ 1554 NONAME ; struct QMetaObject * QMetaObjectBuilder::toMetaObject(void) const
-	?d_func@QDeclarativeEngine@@AAEPAVQDeclarativeEnginePrivate@@XZ @ 1555 NONAME ; class QDeclarativeEnginePrivate * QDeclarativeEngine::d_func(void)
-	?forcedHeight@QDeclarativePixmapReply@@QBEHXZ @ 1556 NONAME ABSENT ; int QDeclarativePixmapReply::forcedHeight(void) const
-	?staticMetaObject@QDeclarativeRectangle@@2UQMetaObject@@B @ 1557 NONAME ; struct QMetaObject const QDeclarativeRectangle::staticMetaObject
-	?addSignal@QMetaObjectBuilder@@QAE?AVQMetaMethodBuilder@@ABVQByteArray@@@Z @ 1558 NONAME ; class QMetaMethodBuilder QMetaObjectBuilder::addSignal(class QByteArray const &)
-	?getStaticMetaObject@QDeclarativeStateGroup@@SAABUQMetaObject@@XZ @ 1559 NONAME ; struct QMetaObject const & QDeclarativeStateGroup::getStaticMetaObject(void)
-	?childrenRectChanged@QDeclarativeItem@@IAEXABVQRectF@@@Z @ 1560 NONAME ; void QDeclarativeItem::childrenRectChanged(class QRectF const &)
-	?isDesignable@QDeclarativeProperty@@QBE_NXZ @ 1561 NONAME ; bool QDeclarativeProperty::isDesignable(void) const
-	?propertyTypeCategory@QDeclarativePropertyPrivate@@QBE?AW4PropertyTypeCategory@QDeclarativeProperty@@XZ @ 1562 NONAME ; enum QDeclarativeProperty::PropertyTypeCategory QDeclarativePropertyPrivate::propertyTypeCategory(void) const
-	?setSize@QDeclarativeItem@@QAEXABVQSizeF@@@Z @ 1563 NONAME ; void QDeclarativeItem::setSize(class QSizeF const &)
-	?generateRoundedRect@QDeclarativeRectangle@@AAEXXZ @ 1564 NONAME ; void QDeclarativeRectangle::generateRoundedRect(void)
-	?tr@QDeclarativeDebugPropertyWatch@@SA?AVQString@@PBD0@Z @ 1565 NONAME ; class QString QDeclarativeDebugPropertyWatch::tr(char const *, char const *)
-	?propertyTypeCategory@QDeclarativeProperty@@QBE?AW4PropertyTypeCategory@1@XZ @ 1566 NONAME ; enum QDeclarativeProperty::PropertyTypeCategory QDeclarativeProperty::propertyTypeCategory(void) const
-	??0QPacketAutoSend@@AAE@PAVQPacketProtocol@@@Z @ 1567 NONAME ; QPacketAutoSend::QPacketAutoSend(class QPacketProtocol *)
-	?keyCount@QMetaEnumBuilder@@QBEHXZ @ 1568 NONAME ; int QMetaEnumBuilder::keyCount(void) const
-	??1QDeclarativeDomProperty@@QAE@XZ @ 1569 NONAME ; QDeclarativeDomProperty::~QDeclarativeDomProperty(void)
-	?sendMessage@QDeclarativeDebugService@@QAEXABVQByteArray@@@Z @ 1570 NONAME ; void QDeclarativeDebugService::sendMessage(class QByteArray const &)
-	?context@QDeclarativeScriptString@@QBEPAVQDeclarativeContext@@XZ @ 1571 NONAME ; class QDeclarativeContext * QDeclarativeScriptString::context(void) const
-	?queryObject@QDeclarativeEngineDebug@@QAEPAVQDeclarativeDebugObjectQuery@@ABVQDeclarativeDebugObjectReference@@PAVQObject@@@Z @ 1572 NONAME ; class QDeclarativeDebugObjectQuery * QDeclarativeEngineDebug::queryObject(class QDeclarativeDebugObjectReference const &, class QObject *)
-	?tr@QDeclarativePropertyMap@@SA?AVQString@@PBD0H@Z @ 1573 NONAME ; class QString QDeclarativePropertyMap::tr(char const *, char const *, int)
-	?setNotifyOnValueChanged@QDeclarativeExpression@@QAEX_N@Z @ 1574 NONAME ; void QDeclarativeExpression::setNotifyOnValueChanged(bool)
-	??0QDeclarativeExpression@@IAE@PAVQDeclarativeContextData@@PAVQObject@@ABVQString@@AAVQDeclarativeExpressionPrivate@@@Z @ 1575 NONAME ; QDeclarativeExpression::QDeclarativeExpression(class QDeclarativeContextData *, class QObject *, class QString const &, class QDeclarativeExpressionPrivate &)
-	?fillChanged@QDeclarativeAnchors@@IAEXXZ @ 1576 NONAME ; void QDeclarativeAnchors::fillChanged(void)
-	?resources_append@QDeclarativeItemPrivate@@SAXPAV?$QDeclarativeListProperty@VQObject@@@@PAVQObject@@@Z @ 1577 NONAME ; void QDeclarativeItemPrivate::resources_append(class QDeclarativeListProperty<class QObject> *, class QObject *)
-	??0QDeclarativeComponent@@IAE@AAVQDeclarativeComponentPrivate@@PAVQObject@@@Z @ 1578 NONAME ; QDeclarativeComponent::QDeclarativeComponent(class QDeclarativeComponentPrivate &, class QObject *)
-	?height@QDeclarativeItem@@QBEMXZ @ 1579 NONAME ; float QDeclarativeItem::height(void) const
-	?minorVersion@QDeclarativeType@@QBEHXZ @ 1580 NONAME ; int QDeclarativeType::minorVersion(void) const
-	?qt_metacall@QDeclarativeText@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1581 NONAME ; int QDeclarativeText::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?event@QDeclarativePixmapReply@@MAE_NPAVQEvent@@@Z @ 1582 NONAME ABSENT ; bool QDeclarativePixmapReply::event(class QEvent *)
-	?isConnected@QDeclarativeDebugConnection@@QBE_NXZ @ 1583 NONAME ; bool QDeclarativeDebugConnection::isConnected(void) const
-	?trUtf8@QDeclarativePixmapCache@@SA?AVQString@@PBD0@Z @ 1584 NONAME ABSENT ; class QString QDeclarativePixmapCache::trUtf8(char const *, char const *)
-	??6QDeclarativeInfo@@QAEAAV0@I@Z @ 1585 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(unsigned int)
-	?setNetworkAccessManagerFactory@QDeclarativeEngine@@QAEXPAVQDeclarativeNetworkAccessManagerFactory@@@Z @ 1586 NONAME ; void QDeclarativeEngine::setNetworkAccessManagerFactory(class QDeclarativeNetworkAccessManagerFactory *)
-	?tr@QDeclarativeDebugQuery@@SA?AVQString@@PBD0H@Z @ 1587 NONAME ; class QString QDeclarativeDebugQuery::tr(char const *, char const *, int)
-	??AQDeclarativePropertyMap@@QAEAAVQVariant@@ABVQString@@@Z @ 1588 NONAME ; class QVariant & QDeclarativePropertyMap::operator[](class QString const &)
-	??0Variant@QDeclarativeParser@@QAE@_N@Z @ 1589 NONAME ; QDeclarativeParser::Variant::Variant(bool)
-	?trUtf8@QDeclarativeState@@SA?AVQString@@PBD0H@Z @ 1590 NONAME ; class QString QDeclarativeState::trUtf8(char const *, char const *, int)
-	??0QDeclarativeStateGroup@@QAE@PAVQObject@@@Z @ 1591 NONAME ; QDeclarativeStateGroup::QDeclarativeStateGroup(class QObject *)
-	?count@QDeclarativeListReference@@QBEHXZ @ 1592 NONAME ; int QDeclarativeListReference::count(void) const
-	?location@QDeclarativeCustomParserProperty@@QBE?AULocation@QDeclarativeParser@@XZ @ 1593 NONAME ; struct QDeclarativeParser::Location QDeclarativeCustomParserProperty::location(void) const
-	?metaObject@QDeclarativePen@@UBEPBUQMetaObject@@XZ @ 1594 NONAME ; struct QMetaObject const * QDeclarativePen::metaObject(void) const
-	?trUtf8@QDeclarativePixmapReply@@SA?AVQString@@PBD0@Z @ 1595 NONAME ABSENT ; class QString QDeclarativePixmapReply::trUtf8(char const *, char const *)
-	?url@QDeclarativeError@@QBE?AVQUrl@@XZ @ 1596 NONAME ; class QUrl QDeclarativeError::url(void) const
-	?isBinding@QDeclarativeDomValue@@QBE_NXZ @ 1597 NONAME ; bool QDeclarativeDomValue::isBinding(void) const
-	?name@QDeclarativeProperty@@QBE?AVQString@@XZ @ 1598 NONAME ; class QString QDeclarativeProperty::name(void) const
-	?asString@Variant@QDeclarativeParser@@QBE?AVQString@@XZ @ 1599 NONAME ; class QString QDeclarativeParser::Variant::asString(void) const
-	?trUtf8@QDeclarativeExtensionPlugin@@SA?AVQString@@PBD0@Z @ 1600 NONAME ; class QString QDeclarativeExtensionPlugin::trUtf8(char const *, char const *)
-	?sendMessage@QDeclarativeDebugClient@@QAEXABVQByteArray@@@Z @ 1601 NONAME ; void QDeclarativeDebugClient::sendMessage(class QByteArray const &)
-	?canAppend@QDeclarativeListReference@@QBE_NXZ @ 1602 NONAME ; bool QDeclarativeListReference::canAppend(void) const
-	??_EQDeclarativeComponent@@UAE@I@Z @ 1603 NONAME ; QDeclarativeComponent::~QDeclarativeComponent(unsigned int)
-	?get@QDeclarativeItemPrivate@@SAPAV1@PAVQDeclarativeItem@@@Z @ 1604 NONAME ; class QDeclarativeItemPrivate * QDeclarativeItemPrivate::get(class QDeclarativeItem *)
-	?staticMetaObject@QDeclarativeView@@2UQMetaObject@@B @ 1605 NONAME ; struct QMetaObject const QDeclarativeView::staticMetaObject
-	?objectToString@QDeclarativeDebugService@@SA?AVQString@@PAVQObject@@@Z @ 1606 NONAME ; class QString QDeclarativeDebugService::objectToString(class QObject *)
-	?defaultValue@QDeclarativeDomDynamicProperty@@QBE?AVQDeclarativeDomProperty@@XZ @ 1607 NONAME ; class QDeclarativeDomProperty QDeclarativeDomDynamicProperty::defaultValue(void) const
-	?relatedMetaObject@QMetaObjectBuilder@@QBEPBUQMetaObject@@H@Z @ 1608 NONAME ; struct QMetaObject const * QMetaObjectBuilder::relatedMetaObject(int) const
-	?d_func@QDeclarativePixmapReply@@AAEPAVQDeclarativePixmapReplyPrivate@@XZ @ 1609 NONAME ABSENT ; class QDeclarativePixmapReplyPrivate * QDeclarativePixmapReply::d_func(void)
-	?addKey@QMetaEnumBuilder@@QAEHABVQByteArray@@H@Z @ 1610 NONAME ; int QMetaEnumBuilder::addKey(class QByteArray const &, int)
-	?setPosHelper@QDeclarativeItemPrivate@@UAEXABVQPointF@@@Z @ 1611 NONAME ; void QDeclarativeItemPrivate::setPosHelper(class QPointF const &)
-	?attributes@QMetaMethodBuilder@@QBEHXZ @ 1612 NONAME ; int QMetaMethodBuilder::attributes(void) const
-	?lineNumber@QDeclarativeDebugFileReference@@QBEHXZ @ 1613 NONAME ; int QDeclarativeDebugFileReference::lineNumber(void) const
-	?setTop@QDeclarativeScaleGrid@@QAEXH@Z @ 1614 NONAME ; void QDeclarativeScaleGrid::setTop(int)
-	?metaObject@QDeclarativeItem@@UBEPBUQMetaObject@@XZ @ 1615 NONAME ; struct QMetaObject const * QDeclarativeItem::metaObject(void) const
-	?clear@QDeclarativeAbstractBinding@@IAEXXZ @ 1616 NONAME ; void QDeclarativeAbstractBinding::clear(void)
-	?start@QDeclarativeItemPrivate@@SAXAAVQElapsedTimer@@@Z @ 1617 NONAME ; void QDeclarativeItemPrivate::start(class QElapsedTimer &)
-	?reloadWithResources@QDeclarativeText@@AAEXXZ @ 1618 NONAME ABSENT ; void QDeclarativeText::reloadWithResources(void)
-	?stringToRule@QDeclarativeGridScaledImage@@CA?AW4TileMode@QDeclarativeBorderImage@@ABVQString@@@Z @ 1619 NONAME ; enum QDeclarativeBorderImage::TileMode QDeclarativeGridScaledImage::stringToRule(class QString const &)
-	?setHorizontalCenter@QDeclarativeAnchors@@QAEXABVQDeclarativeAnchorLine@@@Z @ 1620 NONAME ; void QDeclarativeAnchors::setHorizontalCenter(class QDeclarativeAnchorLine const &)
-	?setFocus@QDeclarativeItem@@QAEX_N@Z @ 1621 NONAME ; void QDeclarativeItem::setFocus(bool)
-	?connectNotifySignal@QDeclarativeProperty@@QBE_NPAVQObject@@PBD@Z @ 1622 NONAME ; bool QDeclarativeProperty::connectNotifySignal(class QObject *, char const *) const
-	??4QDeclarativeProperty@@QAEAAV0@ABV0@@Z @ 1623 NONAME ; class QDeclarativeProperty & QDeclarativeProperty::operator=(class QDeclarativeProperty const &)
-	?messageReceived@QDeclarativeDebugClient@@MAEXABVQByteArray@@@Z @ 1624 NONAME ; void QDeclarativeDebugClient::messageReceived(class QByteArray const &)
-	?setImplicitWidth@QDeclarativeItem@@IAEXM@Z @ 1625 NONAME ; void QDeclarativeItem::setImplicitWidth(float)
-	?isInterface@QDeclarativeType@@QBE_NXZ @ 1626 NONAME ; bool QDeclarativeType::isInterface(void) const
-	??0QDeclarativeContext@@AAE@PAVQDeclarativeEngine@@_N@Z @ 1627 NONAME ; QDeclarativeContext::QDeclarativeContext(class QDeclarativeEngine *, bool)
-	?initialValue@QDeclarativeOpenMetaObject@@UAE?AVQVariant@@H@Z @ 1628 NONAME ; class QVariant QDeclarativeOpenMetaObject::initialValue(int)
-	?tr@QDeclarativeView@@SA?AVQString@@PBD0@Z @ 1629 NONAME ; class QString QDeclarativeView::tr(char const *, char const *)
-	?qt_metacall@QPacketProtocol@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1630 NONAME ; int QPacketProtocol::qt_metacall(enum QMetaObject::Call, int, void * *)
-	??0QDeclarativeItem@@QAE@PAV0@@Z @ 1631 NONAME ; QDeclarativeItem::QDeclarativeItem(class QDeclarativeItem *)
-	?hasDebuggingClient@QDeclarativeDebugService@@SA_NXZ @ 1632 NONAME ; bool QDeclarativeDebugService::hasDebuggingClient(void)
-	?staticMetaObject@QDeclarativeContext@@2UQMetaObject@@B @ 1633 NONAME ; struct QMetaObject const QDeclarativeContext::staticMetaObject
-	?setContextForObject@QDeclarativeEngine@@SAXPAVQObject@@PAVQDeclarativeContext@@@Z @ 1634 NONAME ; void QDeclarativeEngine::setContextForObject(class QObject *, class QDeclarativeContext *)
-	?baselineOffsetChanged@QDeclarativeItem@@IAEXM@Z @ 1635 NONAME ; void QDeclarativeItem::baselineOffsetChanged(float)
-	??6QDeclarativeInfo@@QAEAAV0@VQChar@@@Z @ 1636 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(class QChar)
-	?connectDownloadProgress@QDeclarativePixmap@@QAE_NPAVQObject@@H@Z @ 1637 NONAME ; bool QDeclarativePixmap::connectDownloadProgress(class QObject *, int)
-	?status@QDeclarativePixmap@@QBE?AW4Status@1@XZ @ 1638 NONAME ; enum QDeclarativePixmap::Status QDeclarativePixmap::status(void) const
-	?error@QDeclarativePixmap@@QBE?AVQString@@XZ @ 1639 NONAME ; class QString QDeclarativePixmap::error(void) const
-	??BQDeclarativePixmap@@QBEABVQPixmap@@XZ @ 1640 NONAME ; QDeclarativePixmap::operator class QPixmap const &(void) const
-	?tr@QDeclarativePixmap@@SA?AVQString@@PBD0H@Z @ 1641 NONAME ; class QString QDeclarativePixmap::tr(char const *, char const *, int)
-	?load@QDeclarativePixmap@@QAEXPAVQDeclarativeEngine@@ABVQUrl@@ABVQSize@@@Z @ 1642 NONAME ; void QDeclarativePixmap::load(class QDeclarativeEngine *, class QUrl const &, class QSize const &)
-	?height@QDeclarativePixmap@@QBEHXZ @ 1643 NONAME ; int QDeclarativePixmap::height(void) const
-	?implicitSize@QDeclarativePixmap@@QBEABVQSize@@XZ @ 1644 NONAME ; class QSize const & QDeclarativePixmap::implicitSize(void) const
-	?connectFinished@QDeclarativePixmap@@QAE_NPAVQObject@@PBD@Z @ 1645 NONAME ; bool QDeclarativePixmap::connectFinished(class QObject *, char const *)
-	?clear@QDeclarativePixmap@@QAEXPAVQObject@@@Z @ 1646 NONAME ; void QDeclarativePixmap::clear(class QObject *)
-	?connectDownloadProgress@QDeclarativePixmap@@QAE_NPAVQObject@@PBD@Z @ 1647 NONAME ; bool QDeclarativePixmap::connectDownloadProgress(class QObject *, char const *)
-	?trUtf8@QDeclarativePixmap@@SA?AVQString@@PBD0H@Z @ 1648 NONAME ; class QString QDeclarativePixmap::trUtf8(char const *, char const *, int)
-	?isLoading@QDeclarativePixmap@@QBE_NXZ @ 1649 NONAME ; bool QDeclarativePixmap::isLoading(void) const
-	?load@QDeclarativePixmap@@QAEXPAVQDeclarativeEngine@@ABVQUrl@@@Z @ 1650 NONAME ; void QDeclarativePixmap::load(class QDeclarativeEngine *, class QUrl const &)
-	?load@QDeclarativePixmap@@QAEXPAVQDeclarativeEngine@@ABVQUrl@@_N@Z @ 1651 NONAME ; void QDeclarativePixmap::load(class QDeclarativeEngine *, class QUrl const &, bool)
-	??1QDeclarativePixmap@@QAE@XZ @ 1652 NONAME ; QDeclarativePixmap::~QDeclarativePixmap(void)
-	??0QDeclarativePixmap@@QAE@XZ @ 1653 NONAME ; QDeclarativePixmap::QDeclarativePixmap(void)
-	?isReady@QDeclarativePixmap@@QBE_NXZ @ 1654 NONAME ; bool QDeclarativePixmap::isReady(void) const
-	?clear@QDeclarativePixmap@@QAEXXZ @ 1655 NONAME ; void QDeclarativePixmap::clear(void)
-	?pixmap@QDeclarativePixmap@@QBEABVQPixmap@@XZ @ 1656 NONAME ; class QPixmap const & QDeclarativePixmap::pixmap(void) const
-	??0QDeclarativePixmap@@QAE@PAVQDeclarativeEngine@@ABVQUrl@@@Z @ 1657 NONAME ; QDeclarativePixmap::QDeclarativePixmap(class QDeclarativeEngine *, class QUrl const &)
-	?width@QDeclarativePixmap@@QBEHXZ @ 1658 NONAME ; int QDeclarativePixmap::width(void) const
-	?setPixmap@QDeclarativePixmap@@QAEXABVQPixmap@@@Z @ 1659 NONAME ; void QDeclarativePixmap::setPixmap(class QPixmap const &)
-	?connectFinished@QDeclarativePixmap@@QAE_NPAVQObject@@H@Z @ 1660 NONAME ; bool QDeclarativePixmap::connectFinished(class QObject *, int)
-	?isError@QDeclarativePixmap@@QBE_NXZ @ 1661 NONAME ; bool QDeclarativePixmap::isError(void) const
-	?rect@QDeclarativePixmap@@QBE?AVQRect@@XZ @ 1662 NONAME ; class QRect QDeclarativePixmap::rect(void) const
-	?trUtf8@QDeclarativePixmap@@SA?AVQString@@PBD0@Z @ 1663 NONAME ; class QString QDeclarativePixmap::trUtf8(char const *, char const *)
-	?tr@QDeclarativePixmap@@SA?AVQString@@PBD0@Z @ 1664 NONAME ; class QString QDeclarativePixmap::tr(char const *, char const *)
-	?isNull@QDeclarativePixmap@@QBE_NXZ @ 1665 NONAME ; bool QDeclarativePixmap::isNull(void) const
-	?requestSize@QDeclarativePixmap@@QBEABVQSize@@XZ @ 1666 NONAME ; class QSize const & QDeclarativePixmap::requestSize(void) const
-	??0QDeclarativePixmap@@QAE@PAVQDeclarativeEngine@@ABVQUrl@@ABVQSize@@@Z @ 1667 NONAME ; QDeclarativePixmap::QDeclarativePixmap(class QDeclarativeEngine *, class QUrl const &, class QSize const &)
-	?url@QDeclarativePixmap@@QBEABVQUrl@@XZ @ 1668 NONAME ; class QUrl const & QDeclarativePixmap::url(void) const
-	?load@QDeclarativePixmap@@QAEXPAVQDeclarativeEngine@@ABVQUrl@@ABVQSize@@_N@Z @ 1669 NONAME ; void QDeclarativePixmap::load(class QDeclarativeEngine *, class QUrl const &, class QSize const &, bool)
-	?imageType@QDeclarativeImageProvider@@QBE?AW4ImageType@1@XZ @ 1670 NONAME ; enum QDeclarativeImageProvider::ImageType QDeclarativeImageProvider::imageType(void) const
-	?qtAnimationStateChanged@QDeclarativeBehavior@@AAEXW4State@QAbstractAnimation@@0@Z @ 1671 NONAME ; void QDeclarativeBehavior::qtAnimationStateChanged(enum QAbstractAnimation::State, enum QAbstractAnimation::State)
-	?requestImage@QDeclarativeImageProvider@@UAE?AVQImage@@ABVQString@@PAVQSize@@ABV4@@Z @ 1672 NONAME ; class QImage QDeclarativeImageProvider::requestImage(class QString const &, class QSize *, class QSize const &)
-	?requestPixmap@QDeclarativeImageProvider@@UAE?AVQPixmap@@ABVQString@@PAVQSize@@ABV4@@Z @ 1673 NONAME ; class QPixmap QDeclarativeImageProvider::requestPixmap(class QString const &, class QSize *, class QSize const &)
-	?setBindingForObject@QDeclarativeEngineDebug@@QAE_NHABVQString@@ABVQVariant@@_N@Z @ 1674 NONAME ; bool QDeclarativeEngineDebug::setBindingForObject(int, class QString const &, class QVariant const &, bool)
-	??0QDeclarativeImageProvider@@QAE@W4ImageType@0@@Z @ 1675 NONAME ; QDeclarativeImageProvider::QDeclarativeImageProvider(enum QDeclarativeImageProvider::ImageType)
-	?setMethodBody@QDeclarativeEngineDebug@@QAE_NHABVQString@@0@Z @ 1676 NONAME ; bool QDeclarativeEngineDebug::setMethodBody(int, class QString const &, class QString const &)
-	?resetBindingForObject@QDeclarativeEngineDebug@@QAE_NHABVQString@@@Z @ 1677 NONAME ; bool QDeclarativeEngineDebug::resetBindingForObject(int, class QString const &)
-	?forceActiveFocus@QDeclarativeItem@@QAEXXZ @ 1678 NONAME ; void QDeclarativeItem::forceActiveFocus(void)
-	?activeFocusChanged@QDeclarativeItem@@IAEX_N@Z @ 1679 NONAME ; void QDeclarativeItem::activeFocusChanged(bool)
-	?focusScopeItemChange@QDeclarativeItemPrivate@@UAEX_N@Z @ 1680 NONAME ; void QDeclarativeItemPrivate::focusScopeItemChange(bool)
-	?hasActiveFocus@QDeclarativeItem@@QBE_NXZ @ 1681 NONAME ; bool QDeclarativeItem::hasActiveFocus(void) const
-	?engine@QDeclarativeView@@QBEPAVQDeclarativeEngine@@XZ @ 1682 NONAME ; class QDeclarativeEngine * QDeclarativeView::engine(void) const
-	?rootContext@QDeclarativeView@@QBEPAVQDeclarativeContext@@XZ @ 1683 NONAME ; class QDeclarativeContext * QDeclarativeView::rootContext(void) const
-	?rootContext@QDeclarativeEngine@@QBEPAVQDeclarativeContext@@XZ @ 1684 NONAME ; class QDeclarativeContext * QDeclarativeEngine::rootContext(void) const
-	?qmlregister@QDeclarativePrivate@@YAHW4RegistrationType@1@PAX@Z @ 1685 NONAME ; int QDeclarativePrivate::qmlregister(enum QDeclarativePrivate::RegistrationType, void *)
-	?hasValue@QDeclarativeOpenMetaObject@@QBE_NH@Z @ 1686 NONAME ; bool QDeclarativeOpenMetaObject::hasValue(int) const
+	?resetBindingForObject@QDeclarativeEngineDebug@@QAE_NHABVQString@@@Z @ 882 NONAME ; bool QDeclarativeEngineDebug::resetBindingForObject(int, class QString const &)
+	??_EQDeclarativeOpenMetaObject@@UAE@I@Z @ 883 NONAME ; QDeclarativeOpenMetaObject::~QDeclarativeOpenMetaObject(unsigned int)
+	?states@QDeclarativeItemPrivate@@QAE?AV?$QDeclarativeListProperty@VQDeclarativeState@@@@XZ @ 884 NONAME ; class QDeclarativeListProperty<class QDeclarativeState> QDeclarativeItemPrivate::states(void)
+	?rawMetaObjectForType@QDeclarativePropertyPrivate@@SAPBUQMetaObject@@PAVQDeclarativeEnginePrivate@@H@Z @ 885 NONAME ; struct QMetaObject const * QDeclarativePropertyPrivate::rawMetaObjectForType(class QDeclarativeEnginePrivate *, int)
+	?setHeight@QDeclarativeItem@@QAEXM@Z @ 886 NONAME ; void QDeclarativeItem::setHeight(float)
+	??0QDeclarativeDomDocument@@QAE@ABV0@@Z @ 887 NONAME ; QDeclarativeDomDocument::QDeclarativeDomDocument(class QDeclarativeDomDocument const &)
+	?position@QDeclarativeDomDynamicProperty@@QBEHXZ @ 888 NONAME ; int QDeclarativeDomDynamicProperty::position(void) const
+	?animations@QDeclarativeTransition@@QAE?AV?$QDeclarativeListProperty@VQDeclarativeAbstractAnimation@@@@XZ @ 889 NONAME ; class QDeclarativeListProperty<class QDeclarativeAbstractAnimation> QDeclarativeTransition::animations(void)
+	?tr@QDeclarativeExpression@@SA?AVQString@@PBD0H@Z @ 890 NONAME ; class QString QDeclarativeExpression::tr(char const *, char const *, int)
+	??_EQMetaObjectBuilder@@UAE@I@Z @ 891 NONAME ; QMetaObjectBuilder::~QMetaObjectBuilder(unsigned int)
+	?propertyName@QDeclarativeDomProperty@@QBE?AVQByteArray@@XZ @ 892 NONAME ; class QByteArray QDeclarativeDomProperty::propertyName(void) const
+	?setBindingForObject@QDeclarativeEngineDebug@@QAE_NHABVQString@@ABVQVariant@@_N@Z @ 893 NONAME ; bool QDeclarativeEngineDebug::setBindingForObject(int, class QString const &, class QVariant const &, bool)
+	??0QDeclarativeView@@QAE@PAVQWidget@@@Z @ 894 NONAME ; QDeclarativeView::QDeclarativeView(class QWidget *)
+	?createObject@QDeclarativeComponent@@IAE?AVQScriptValue@@PAVQObject@@@Z @ 895 NONAME ; class QScriptValue QDeclarativeComponent::createObject(class QObject *)
+	?name@QDeclarativeDebugPropertyReference@@QBE?AVQString@@XZ @ 896 NONAME ; class QString QDeclarativeDebugPropertyReference::name(void) const
+	?object@QDeclarativeDomValueValueSource@@QBE?AVQDeclarativeDomObject@@XZ @ 897 NONAME ; class QDeclarativeDomObject QDeclarativeDomValueValueSource::object(void) const
+	??0QMetaPropertyBuilder@@AAE@PBVQMetaObjectBuilder@@H@Z @ 898 NONAME ; QMetaPropertyBuilder::QMetaPropertyBuilder(class QMetaObjectBuilder const *, int)
+	?d_func@QDeclarativeEngineDebug@@ABEPBVQDeclarativeEngineDebugPrivate@@XZ @ 899 NONAME ; class QDeclarativeEngineDebugPrivate const * QDeclarativeEngineDebug::d_func(void) const
+	?d_func@QDeclarativeBinding@@AAEPAVQDeclarativeBindingPrivate@@XZ @ 900 NONAME ; class QDeclarativeBindingPrivate * QDeclarativeBinding::d_func(void)
+	?trUtf8@QDeclarativeDebugExpressionQuery@@SA?AVQString@@PBD0H@Z @ 901 NONAME ; class QString QDeclarativeDebugExpressionQuery::trUtf8(char const *, char const *, int)
+	?attachedPropertiesFuncId@QDeclarativeMetaType@@SAHPBUQMetaObject@@@Z @ 902 NONAME ; int QDeclarativeMetaType::attachedPropertiesFuncId(struct QMetaObject const *)
+	?horizontalCenter@QDeclarativeItemPrivate@@QBE?AVQDeclarativeAnchorLine@@XZ @ 903 NONAME ; class QDeclarativeAnchorLine QDeclarativeItemPrivate::horizontalCenter(void) const
+	?isNull@QDeclarativeComponent@@QBE_NXZ @ 904 NONAME ; bool QDeclarativeComponent::isNull(void) const
+	?d_func@QDeclarativeRectangle@@ABEPBVQDeclarativeRectanglePrivate@@XZ @ 905 NONAME ; class QDeclarativeRectanglePrivate const * QDeclarativeRectangle::d_func(void) const
+	?setRightMargin@QDeclarativeAnchors@@QAEXM@Z @ 906 NONAME ; void QDeclarativeAnchors::setRightMargin(float)
+	?className@QMetaObjectBuilder@@QBE?AVQByteArray@@XZ @ 907 NONAME ; class QByteArray QMetaObjectBuilder::className(void) const
+	??0QDeclarativeState@@QAE@PAVQObject@@@Z @ 908 NONAME ; QDeclarativeState::QDeclarativeState(class QObject *)
+	?contexts@QDeclarativeDebugContextReference@@QBE?AV?$QList@VQDeclarativeDebugContextReference@@@@XZ @ 909 NONAME ; class QList<class QDeclarativeDebugContextReference> QDeclarativeDebugContextReference::contexts(void) const
+	?keyReleaseEvent@QDeclarativeItem@@MAEXPAVQKeyEvent@@@Z @ 910 NONAME ; void QDeclarativeItem::keyReleaseEvent(class QKeyEvent *)
+	?qt_metacall@QDeclarativeAnchors@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 911 NONAME ; int QDeclarativeAnchors::qt_metacall(enum QMetaObject::Call, int, void * *)
+	??0QDeclarativeAnchors@@QAE@PAVQGraphicsObject@@PAVQObject@@@Z @ 912 NONAME ; QDeclarativeAnchors::QDeclarativeAnchors(class QGraphicsObject *, class QObject *)
+	??4QDeclarativeScriptString@@QAEAAV0@ABV0@@Z @ 913 NONAME ; class QDeclarativeScriptString & QDeclarativeScriptString::operator=(class QDeclarativeScriptString const &)
+	??6@YAAAVQDataStream@@AAV0@ABUQDeclarativeObjectProperty@QDeclarativeEngineDebugServer@@@Z @ 914 NONAME ; class QDataStream & operator<<(class QDataStream &, struct QDeclarativeEngineDebugServer::QDeclarativeObjectProperty const &)
+	?hasNotifySignal@QMetaPropertyBuilder@@QBE_NXZ @ 915 NONAME ; bool QMetaPropertyBuilder::hasNotifySignal(void) const
+	??4QDeclarativeDomImport@@QAEAAV0@ABV0@@Z @ 916 NONAME ; class QDeclarativeDomImport & QDeclarativeDomImport::operator=(class QDeclarativeDomImport const &)
+	?resetFill@QDeclarativeAnchors@@QAEXXZ @ 917 NONAME ; void QDeclarativeAnchors::resetFill(void)
+	??6QDeclarativeInfo@@QAEAAV0@_K@Z @ 918 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(unsigned long long)
+	?d_func@QDeclarativeComponent@@ABEPBVQDeclarativeComponentPrivate@@XZ @ 919 NONAME ; class QDeclarativeComponentPrivate const * QDeclarativeComponent::d_func(void) const
+	??0QDeclarativeBehavior@@QAE@PAVQObject@@@Z @ 920 NONAME ; QDeclarativeBehavior::QDeclarativeBehavior(class QObject *)
+	?length@QDeclarativeDomValue@@QBEHXZ @ 921 NONAME ; int QDeclarativeDomValue::length(void) const
+	?trUtf8@QDeclarativeBinding@@SA?AVQString@@PBD0H@Z @ 922 NONAME ; class QString QDeclarativeBinding::trUtf8(char const *, char const *, int)
+	??0QDeclarativeType@@AAE@HABURegisterInterface@QDeclarativePrivate@@@Z @ 923 NONAME ; QDeclarativeType::QDeclarativeType(int, struct QDeclarativePrivate::RegisterInterface const &)
+	?scopeObject@QDeclarativeScriptString@@QBEPAVQObject@@XZ @ 924 NONAME ; class QObject * QDeclarativeScriptString::scopeObject(void) const
+	?left@QDeclarativeItemPrivate@@QBE?AVQDeclarativeAnchorLine@@XZ @ 925 NONAME ; class QDeclarativeAnchorLine QDeclarativeItemPrivate::left(void) const
+	??1QDeclarativeDebuggerStatus@@UAE@XZ @ 926 NONAME ; QDeclarativeDebuggerStatus::~QDeclarativeDebuggerStatus(void)
+	??6QDeclarativeInfo@@QAEAAV0@ABVQLatin1String@@@Z @ 927 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(class QLatin1String const &)
+	?at@QDeclarativeListReference@@QBEPAVQObject@@H@Z @ 928 NONAME ; class QObject * QDeclarativeListReference::at(int) const
+	?metaObject@QDeclarativeDebugWatch@@UBEPBUQMetaObject@@XZ @ 929 NONAME ; struct QMetaObject const * QDeclarativeDebugWatch::metaObject(void) const
+	?qt_metacast@QListModelInterface@@UAEPAXPBD@Z @ 930 NONAME ; void * QListModelInterface::qt_metacast(char const *)
+	?deserialize@QMetaObjectBuilder@@QAEXAAVQDataStream@@ABV?$QMap@VQByteArray@@PB$$CBUQMetaObject@@@@@Z @ 931 NONAME ; void QMetaObjectBuilder::deserialize(class QDataStream &, class QMap<class QByteArray, struct QMetaObject const *> const &)
+	?canClear@QDeclarativeListReference@@QBE_NXZ @ 932 NONAME ; bool QDeclarativeListReference::canClear(void) const
+	??4QDeclarativeCustomParserProperty@@QAEAAV0@ABV0@@Z @ 933 NONAME ; class QDeclarativeCustomParserProperty & QDeclarativeCustomParserProperty::operator=(class QDeclarativeCustomParserProperty const &)
+	?parameterNames@QMetaMethodBuilder@@QBE?AV?$QList@VQByteArray@@@@XZ @ 934 NONAME ; class QList<class QByteArray> QMetaMethodBuilder::parameterNames(void) const
+	?get@QDeclarativeListModel@@QBE?AVQScriptValue@@H@Z @ 935 NONAME ; class QScriptValue QDeclarativeListModel::get(int) const
+	?createSize@QDeclarativeType@@QBEHXZ @ 936 NONAME ; int QDeclarativeType::createSize(void) const
+	?rootContext@QDeclarativeEngine@@QBEPAVQDeclarativeContext@@XZ @ 937 NONAME ; class QDeclarativeContext * QDeclarativeEngine::rootContext(void) const
+	?isValueSource@QDeclarativeDomValue@@QBE_NXZ @ 938 NONAME ; bool QDeclarativeDomValue::isValueSource(void) const
+	?isWritable@QDeclarativeProperty@@QBE_NXZ @ 939 NONAME ; bool QDeclarativeProperty::isWritable(void) const
+	?setKeepMouseGrab@QDeclarativeItem@@QAEX_N@Z @ 940 NONAME ; void QDeclarativeItem::setKeepMouseGrab(bool)
+	??0QDeclarativeDebugContextReference@@QAE@XZ @ 941 NONAME ; QDeclarativeDebugContextReference::QDeclarativeDebugContextReference(void)
+	?setParameterNames@QMetaMethodBuilder@@QAEXABV?$QList@VQByteArray@@@@@Z @ 942 NONAME ; void QMetaMethodBuilder::setParameterNames(class QList<class QByteArray> const &)
+	?getStaticMetaObject@QDeclarativeDebugRootContextQuery@@SAABUQMetaObject@@XZ @ 943 NONAME ; struct QMetaObject const & QDeclarativeDebugRootContextQuery::getStaticMetaObject(void)
+	?textChanged@QDeclarativeText@@IAEXABVQString@@@Z @ 944 NONAME ; void QDeclarativeText::textChanged(class QString const &)
+	?trUtf8@QDeclarativeItem@@SA?AVQString@@PBD0@Z @ 945 NONAME ; class QString QDeclarativeItem::trUtf8(char const *, char const *)
+	??0QDeclarativeCustomParserProperty@@QAE@ABV0@@Z @ 946 NONAME ; QDeclarativeCustomParserProperty::QDeclarativeCustomParserProperty(class QDeclarativeCustomParserProperty const &)
+	?getStaticMetaObject@QDeclarativeComponent@@SAABUQMetaObject@@XZ @ 947 NONAME ; struct QMetaObject const & QDeclarativeComponent::getStaticMetaObject(void)
+	?parentItem@QDeclarativeItem@@QBEPAV1@XZ @ 948 NONAME ; class QDeclarativeItem * QDeclarativeItem::parentItem(void) const
+	?value@QMetaEnumBuilder@@QBEHH@Z @ 949 NONAME ; int QMetaEnumBuilder::value(int) const
+	??_EQDeclarativeExpression@@UAE@I@Z @ 950 NONAME ; QDeclarativeExpression::~QDeclarativeExpression(unsigned int)
+	?load@QDeclarativeDomDocument@@QAE_NPAVQDeclarativeEngine@@ABVQByteArray@@ABVQUrl@@@Z @ 951 NONAME ; bool QDeclarativeDomDocument::load(class QDeclarativeEngine *, class QByteArray const &, class QUrl const &)
+	?staticMetaObject@QDeclarativeStateGroup@@2UQMetaObject@@B @ 952 NONAME ; struct QMetaObject const QDeclarativeStateGroup::staticMetaObject
+	?tr@QDeclarativePropertyMap@@SA?AVQString@@PBD0@Z @ 953 NONAME ; class QString QDeclarativePropertyMap::tr(char const *, char const *)
+	?verticalCenterChanged@QDeclarativeAnchors@@IAEXXZ @ 954 NONAME ; void QDeclarativeAnchors::verticalCenterChanged(void)
+	?isScriptable@QMetaPropertyBuilder@@QBE_NXZ @ 955 NONAME ; bool QMetaPropertyBuilder::isScriptable(void) const
+	?typeCategory@QDeclarativeMetaType@@SA?AW4TypeCategory@1@H@Z @ 956 NONAME ; enum QDeclarativeMetaType::TypeCategory QDeclarativeMetaType::typeCategory(int)
+	?findSignalByName@QDeclarativePropertyPrivate@@SA?AVQMetaMethod@@PBUQMetaObject@@ABVQByteArray@@@Z @ 957 NONAME ; class QMetaMethod QDeclarativePropertyPrivate::findSignalByName(struct QMetaObject const *, class QByteArray const &)
+	?length@QDeclarativeDomDynamicProperty@@QBEHXZ @ 958 NONAME ; int QDeclarativeDomDynamicProperty::length(void) const
+	?property@QDeclarativeBinding@@QBE?AVQDeclarativeProperty@@XZ @ 959 NONAME ; class QDeclarativeProperty QDeclarativeBinding::property(void) const
+	??0QDeclarativeDomValueBinding@@QAE@XZ @ 960 NONAME ; QDeclarativeDomValueBinding::QDeclarativeDomValueBinding(void)
+	?addImportPath@QDeclarativeEngine@@QAEXABVQString@@@Z @ 961 NONAME ; void QDeclarativeEngine::addImportPath(class QString const &)
+	?engine@QDeclarativeContext@@QBEPAVQDeclarativeEngine@@XZ @ 962 NONAME ; class QDeclarativeEngine * QDeclarativeContext::engine(void) const
+	?length@QDeclarativeDomObject@@QBEHXZ @ 963 NONAME ; int QDeclarativeDomObject::length(void) const
+	?setBaselineOffset@QDeclarativeAnchors@@QAEXM@Z @ 964 NONAME ; void QDeclarativeAnchors::setBaselineOffset(float)
+	?append@QDeclarativeListReference@@QBE_NPAVQObject@@@Z @ 965 NONAME ; bool QDeclarativeListReference::append(class QObject *) const
+	?d_func@QDeclarativeEngineDebug@@AAEPAVQDeclarativeEngineDebugPrivate@@XZ @ 966 NONAME ; class QDeclarativeEngineDebugPrivate * QDeclarativeEngineDebug::d_func(void)
+	??1QDeclarativeNetworkAccessManagerFactory@@UAE@XZ @ 967 NONAME ; QDeclarativeNetworkAccessManagerFactory::~QDeclarativeNetworkAccessManagerFactory(void)
+	?textFormatChanged@QDeclarativeText@@IAEXW4TextFormat@1@@Z @ 968 NONAME ; void QDeclarativeText::textFormatChanged(enum QDeclarativeText::TextFormat)
+	?removeState@QDeclarativeStateGroup@@AAEXPAVQDeclarativeState@@@Z @ 969 NONAME ; void QDeclarativeStateGroup::removeState(class QDeclarativeState *)
+	?qmlTypeName@QDeclarativeType@@QBE?AVQByteArray@@XZ @ 970 NONAME ; class QByteArray QDeclarativeType::qmlTypeName(void) const
+	?tr@QDeclarativeComponent@@SA?AVQString@@PBD0@Z @ 971 NONAME ; class QString QDeclarativeComponent::tr(char const *, char const *)
+	?isProperty@QDeclarativeProperty@@QBE_NXZ @ 972 NONAME ; bool QDeclarativeProperty::isProperty(void) const
+	?states@QDeclarativeStateGroup@@QBE?AV?$QList@PAVQDeclarativeState@@@@XZ @ 973 NONAME ; class QList<class QDeclarativeState *> QDeclarativeStateGroup::states(void) const
+	??1QDeclarativeDebugExpressionQuery@@UAE@XZ @ 974 NONAME ; QDeclarativeDebugExpressionQuery::~QDeclarativeDebugExpressionQuery(void)
+	?isValid@QDeclarativeDomObject@@QBE_NXZ @ 975 NONAME ; bool QDeclarativeDomObject::isValid(void) const
+	?staticMetaObject@QDeclarativeAnchors@@2UQMetaObject@@B @ 976 NONAME ; struct QMetaObject const QDeclarativeAnchors::staticMetaObject
+	??_EQDeclarativePen@@UAE@I@Z @ 977 NONAME ; QDeclarativePen::~QDeclarativePen(unsigned int)
+	??0QDeclarativeDomProperty@@QAE@ABV0@@Z @ 978 NONAME ; QDeclarativeDomProperty::QDeclarativeDomProperty(class QDeclarativeDomProperty const &)
+	?_states@QDeclarativeItemPrivate@@QAEPAVQDeclarativeStateGroup@@XZ @ 979 NONAME ; class QDeclarativeStateGroup * QDeclarativeItemPrivate::_states(void)
+	?verticalAlignmentChanged@QDeclarativeText@@IAEXW4VAlignment@1@@Z @ 980 NONAME ; void QDeclarativeText::verticalAlignmentChanged(enum QDeclarativeText::VAlignment)
+	?typeId@QDeclarativeType@@QBEHXZ @ 981 NONAME ; int QDeclarativeType::typeId(void) const
+	?marginsChanged@QDeclarativeAnchors@@IAEXXZ @ 982 NONAME ; void QDeclarativeAnchors::marginsChanged(void)
+	?setValue@QDeclarativeOpenMetaObject@@QAEXHABVQVariant@@@Z @ 983 NONAME ; void QDeclarativeOpenMetaObject::setValue(int, class QVariant const &)
+	?parentProperty@QDeclarativeItemPrivate@@SAXPAVQObject@@PAXPAVQDeclarativeNotifierEndpoint@@@Z @ 984 NONAME ; void QDeclarativeItemPrivate::parentProperty(class QObject *, void *, class QDeclarativeNotifierEndpoint *)
+	??4QDeclarativeDebugContextReference@@QAEAAV0@ABV0@@Z @ 985 NONAME ; class QDeclarativeDebugContextReference & QDeclarativeDebugContextReference::operator=(class QDeclarativeDebugContextReference const &)
+	?isModule@QDeclarativeMetaType@@SA_NABVQByteArray@@HH@Z @ 986 NONAME ; bool QDeclarativeMetaType::isModule(class QByteArray const &, int, int)
+	?parentFunctions@QDeclarativeMetaType@@SA?AV?$QList@P6A?AW4AutoParentResult@QDeclarativePrivate@@PAVQObject@@0@Z@@XZ @ 987 NONAME ; class QList<enum QDeclarativePrivate::AutoParentResult (*)(class QObject *, class QObject *)> QDeclarativeMetaType::parentFunctions(void)
+	?metaObject@QDeclarativeDebugPropertyWatch@@UBEPBUQMetaObject@@XZ @ 988 NONAME ; struct QMetaObject const * QDeclarativeDebugPropertyWatch::metaObject(void) const
+	??0QDeclarativeRectangle@@QAE@PAVQDeclarativeItem@@@Z @ 989 NONAME ; QDeclarativeRectangle::QDeclarativeRectangle(class QDeclarativeItem *)
+	?setOutputWarningsToStandardError@QDeclarativeEngine@@QAEX_N@Z @ 990 NONAME ; void QDeclarativeEngine::setOutputWarningsToStandardError(bool)
+	?addMethod@QMetaObjectBuilder@@QAE?AVQMetaMethodBuilder@@ABVQByteArray@@0@Z @ 991 NONAME ; class QMetaMethodBuilder QMetaObjectBuilder::addMethod(class QByteArray const &, class QByteArray const &)
+	?enumerator@QMetaObjectBuilder@@QBE?AVQMetaEnumBuilder@@H@Z @ 992 NONAME ; class QMetaEnumBuilder QMetaObjectBuilder::enumerator(int) const
+	?fromRelocatableData@QMetaObjectBuilder@@SAXPAUQMetaObject@@PBU2@ABVQByteArray@@@Z @ 993 NONAME ; void QMetaObjectBuilder::fromRelocatableData(struct QMetaObject *, struct QMetaObject const *, class QByteArray const &)
+	?gridRight@QDeclarativeGridScaledImage@@QBEHXZ @ 994 NONAME ; int QDeclarativeGridScaledImage::gridRight(void) const
+	?isAlias@QDeclarativeDomDynamicProperty@@QBE_NXZ @ 995 NONAME ; bool QDeclarativeDomDynamicProperty::isAlias(void) const
+	?d_func@QDeclarativeContext@@ABEPBVQDeclarativeContextPrivate@@XZ @ 996 NONAME ; class QDeclarativeContextPrivate const * QDeclarativeContext::d_func(void) const
+	?getStaticMetaObject@QDeclarativeDebugEnginesQuery@@SAABUQMetaObject@@XZ @ 997 NONAME ; struct QMetaObject const & QDeclarativeDebugEnginesQuery::getStaticMetaObject(void)
+	?tr@QDeclarativeItem@@SA?AVQString@@PBD0H@Z @ 998 NONAME ; class QString QDeclarativeItem::tr(char const *, char const *, int)
+	?staticMetaObject@QDeclarativeDebugPropertyWatch@@2UQMetaObject@@B @ 999 NONAME ; struct QMetaObject const QDeclarativeDebugPropertyWatch::staticMetaObject
+	?setDescription@QDeclarativeError@@QAEXABVQString@@@Z @ 1000 NONAME ; void QDeclarativeError::setDescription(class QString const &)
+	??0QDeclarativeExpression@@AAE@PAVQDeclarativeContextData@@PAVQObject@@ABVQString@@@Z @ 1001 NONAME ; QDeclarativeExpression::QDeclarativeExpression(class QDeclarativeContextData *, class QObject *, class QString const &)
+	??1QDeclarativeOpenMetaObjectType@@UAE@XZ @ 1002 NONAME ; QDeclarativeOpenMetaObjectType::~QDeclarativeOpenMetaObjectType(void)
+	?setReversible@QDeclarativeTransition@@QAEX_N@Z @ 1003 NONAME ; void QDeclarativeTransition::setReversible(bool)
+	?notifySignal@QMetaPropertyBuilder@@QBE?AVQMetaMethodBuilder@@XZ @ 1004 NONAME ; class QMetaMethodBuilder QMetaPropertyBuilder::notifySignal(void) const
+	??0QDeclarativeDomList@@QAE@XZ @ 1005 NONAME ; QDeclarativeDomList::QDeclarativeDomList(void)
+	?hasActiveFocus@QDeclarativeItem@@QBE_NXZ @ 1006 NONAME ; bool QDeclarativeItem::hasActiveFocus(void) const
+	?indexOfSignal@QMetaObjectBuilder@@QAEHABVQByteArray@@@Z @ 1007 NONAME ; int QMetaObjectBuilder::indexOfSignal(class QByteArray const &)
+	?toState@QDeclarativeTransition@@QBE?AVQString@@XZ @ 1008 NONAME ; class QString QDeclarativeTransition::toState(void) const
+	??0QDeclarativeDomDocument@@QAE@XZ @ 1009 NONAME ; QDeclarativeDomDocument::QDeclarativeDomDocument(void)
+	?setWhen@QDeclarativeState@@QAEXPAVQDeclarativeBinding@@@Z @ 1010 NONAME ; void QDeclarativeState::setWhen(class QDeclarativeBinding *)
+	?isWhenKnown@QDeclarativeState@@QBE_NXZ @ 1011 NONAME ; bool QDeclarativeState::isWhenKnown(void) const
+	?agent@QDeclarativeListModel@@QAEPAVQDeclarativeListModelWorkerAgent@@XZ @ 1012 NONAME ; class QDeclarativeListModelWorkerAgent * QDeclarativeListModel::agent(void)
+	?engine@QDeclarativeExpression@@QBEPAVQDeclarativeEngine@@XZ @ 1013 NONAME ; class QDeclarativeEngine * QDeclarativeExpression::engine(void) const
+	??_EQDeclarativeDebugWatch@@UAE@I@Z @ 1014 NONAME ; QDeclarativeDebugWatch::~QDeclarativeDebugWatch(unsigned int)
+	?isEmpty@QPacket@@QBE_NXZ @ 1015 NONAME ; bool QPacket::isEmpty(void) const
+	?qmlType@QDeclarativeMetaType@@SAPAVQDeclarativeType@@PBUQMetaObject@@@Z @ 1016 NONAME ; class QDeclarativeType * QDeclarativeMetaType::qmlType(struct QMetaObject const *)
+	?setFill@QDeclarativeAnchors@@QAEXPAVQGraphicsObject@@@Z @ 1017 NONAME ; void QDeclarativeAnchors::setFill(class QGraphicsObject *)
+	?setHAlign@QDeclarativeText@@QAEXW4HAlignment@1@@Z @ 1018 NONAME ; void QDeclarativeText::setHAlign(enum QDeclarativeText::HAlignment)
+	??0QDeclarativeScriptString@@QAE@ABV0@@Z @ 1019 NONAME ; QDeclarativeScriptString::QDeclarativeScriptString(class QDeclarativeScriptString const &)
+	?trUtf8@QDeclarativeTransition@@SA?AVQString@@PBD0@Z @ 1020 NONAME ; class QString QDeclarativeTransition::trUtf8(char const *, char const *)
+	?metaObject@QDeclarativeDebugRootContextQuery@@UBEPBUQMetaObject@@XZ @ 1021 NONAME ; struct QMetaObject const * QDeclarativeDebugRootContextQuery::metaObject(void) const
+	?setSignalExpression@QDeclarativePropertyPrivate@@SAPAVQDeclarativeExpression@@ABVQDeclarativeProperty@@PAV2@@Z @ 1022 NONAME ; class QDeclarativeExpression * QDeclarativePropertyPrivate::setSignalExpression(class QDeclarativeProperty const &, class QDeclarativeExpression *)
+	?reversibleChanged@QDeclarativeTransition@@IAEXXZ @ 1023 NONAME ; void QDeclarativeTransition::reversibleChanged(void)
+	??4QDeclarativeDomValueValueSource@@QAEAAV0@ABV0@@Z @ 1024 NONAME ; class QDeclarativeDomValueValueSource & QDeclarativeDomValueValueSource::operator=(class QDeclarativeDomValueValueSource const &)
+	?name@QDeclarativeDebugObjectReference@@QBE?AVQString@@XZ @ 1025 NONAME ; class QString QDeclarativeDebugObjectReference::name(void) const
+	?anchorLines@QDeclarativeItemPrivate@@QBEPAUAnchorLines@1@XZ @ 1026 NONAME ; struct QDeclarativeItemPrivate::AnchorLines * QDeclarativeItemPrivate::anchorLines(void) const
+	?qmlInfo@@YA?AVQDeclarativeInfo@@PBVQObject@@ABVQDeclarativeError@@@Z @ 1027 NONAME ; class QDeclarativeInfo qmlInfo(class QObject const *, class QDeclarativeError const &)
+	?staticMetaObject@QDeclarativeText@@2UQMetaObject@@B @ 1028 NONAME ; struct QMetaObject const QDeclarativeText::staticMetaObject
+	?color@QDeclarativeRectangle@@QBE?AVQColor@@XZ @ 1029 NONAME ; class QColor QDeclarativeRectangle::color(void) const
+	?isEnabled@QDeclarativeDebugClient@@QBE_NXZ @ 1030 NONAME ; bool QDeclarativeDebugClient::isEnabled(void) const
+	?send@QPacketProtocol@@QAEXABVQPacket@@@Z @ 1031 NONAME ; void QPacketProtocol::send(class QPacket const &)
+	?width@QDeclarativePixmap@@QBEHXZ @ 1032 NONAME ; int QDeclarativePixmap::width(void) const
+	?error@QDeclarativeCustomParser@@IAEXABVQDeclarativeCustomParserNode@@ABVQString@@@Z @ 1033 NONAME ; void QDeclarativeCustomParser::error(class QDeclarativeCustomParserNode const &, class QString const &)
+	?defaultProperty@QDeclarativeMetaType@@SA?AVQMetaProperty@@PBUQMetaObject@@@Z @ 1034 NONAME ; class QMetaProperty QDeclarativeMetaType::defaultProperty(struct QMetaObject const *)
+	?isComponentComplete@QDeclarativeItem@@IBE_NXZ @ 1035 NONAME ; bool QDeclarativeItem::isComponentComplete(void) const
+	?type@QMetaPropertyBuilder@@QBE?AVQByteArray@@XZ @ 1036 NONAME ; class QByteArray QMetaPropertyBuilder::type(void) const
+	?setProperty@QDeclarativeListModel@@QAEXHABVQString@@ABVQVariant@@@Z @ 1037 NONAME ; void QDeclarativeListModel::setProperty(int, class QString const &, class QVariant const &)
+	?rootContext@QDeclarativeDebugRootContextQuery@@QBE?AVQDeclarativeDebugContextReference@@XZ @ 1038 NONAME ; class QDeclarativeDebugContextReference QDeclarativeDebugRootContextQuery::rootContext(void) const
+	?contextForObject@QDeclarativeEngine@@SAPAVQDeclarativeContext@@PBVQObject@@@Z @ 1039 NONAME ; class QDeclarativeContext * QDeclarativeEngine::contextForObject(class QObject const *)
+	?addProperty@QMetaObjectBuilder@@QAE?AVQMetaPropertyBuilder@@ABVQMetaProperty@@@Z @ 1040 NONAME ; class QMetaPropertyBuilder QMetaObjectBuilder::addProperty(class QMetaProperty const &)
+	?isQObject@QDeclarativeMetaType@@SA_NH@Z @ 1041 NONAME ; bool QDeclarativeMetaType::isQObject(int)
+	?trUtf8@QDeclarativeAnchors@@SA?AVQString@@PBD0@Z @ 1042 NONAME ; class QString QDeclarativeAnchors::trUtf8(char const *, char const *)
+	?getStaticMetaObject@QDeclarativeValueType@@SAABUQMetaObject@@XZ @ 1043 NONAME ; struct QMetaObject const & QDeclarativeValueType::getStaticMetaObject(void)
+	?valueChanged@QDeclarativePropertyMap@@IAEXABVQString@@ABVQVariant@@@Z @ 1044 NONAME ; void QDeclarativePropertyMap::valueChanged(class QString const &, class QVariant const &)
+	?staticMetaObject@QPacketProtocol@@2UQMetaObject@@B @ 1045 NONAME ; struct QMetaObject const QPacketProtocol::staticMetaObject
+	?tr@QDeclarativeListModel@@SA?AVQString@@PBD0H@Z @ 1046 NONAME ; class QString QDeclarativeListModel::tr(char const *, char const *, int)
+	??0QDeclarativeScriptString@@QAE@XZ @ 1047 NONAME ; QDeclarativeScriptString::QDeclarativeScriptString(void)
+	?tr@QListModelInterface@@SA?AVQString@@PBD0@Z @ 1048 NONAME ; class QString QListModelInterface::tr(char const *, char const *)
+	?height@QDeclarativeItemPrivate@@UBEMXZ @ 1049 NONAME ; float QDeclarativeItemPrivate::height(void) const
+	?qt_metacast@QDeclarativeDebugObjectQuery@@UAEPAXPBD@Z @ 1050 NONAME ; void * QDeclarativeDebugObjectQuery::qt_metacast(char const *)
+	??0QDeclarativeImageProvider@@QAE@W4ImageType@0@@Z @ 1051 NONAME ; QDeclarativeImageProvider::QDeclarativeImageProvider(enum QDeclarativeImageProvider::ImageType)
+	?type@QDeclarativeDomValue@@QBE?AW4Type@1@XZ @ 1052 NONAME ; enum QDeclarativeDomValue::Type QDeclarativeDomValue::type(void) const
+	?setPixmap@QDeclarativePixmap@@QAEXABVQPixmap@@@Z @ 1053 NONAME ; void QDeclarativePixmap::setPixmap(class QPixmap const &)
+	?staticMetacallFunction@QMetaObjectBuilder@@QBEP6AHW4Call@QMetaObject@@HPAPAX@ZXZ @ 1054 NONAME ; int (*)(enum QMetaObject::Call, int, void * *) QMetaObjectBuilder::staticMetacallFunction(void) const
+	?connectFinished@QDeclarativePixmap@@QAE_NPAVQObject@@H@Z @ 1055 NONAME ; bool QDeclarativePixmap::connectFinished(class QObject *, int)
+	?setStyle@QDeclarativeText@@QAEXW4TextStyle@1@@Z @ 1056 NONAME ; void QDeclarativeText::setStyle(enum QDeclarativeText::TextStyle)
+	?staticMetaObject@QDeclarativePropertyMap@@2UQMetaObject@@B @ 1057 NONAME ; struct QMetaObject const QDeclarativePropertyMap::staticMetaObject
+	??_EQDeclarativeDebugEnginesQuery@@UAE@I@Z @ 1058 NONAME ; QDeclarativeDebugEnginesQuery::~QDeclarativeDebugEnginesQuery(unsigned int)
+	?enumeratorCount@QMetaObjectBuilder@@QBEHXZ @ 1059 NONAME ; int QMetaObjectBuilder::enumeratorCount(void) const
+	?isError@QDeclarativePixmap@@QBE_NXZ @ 1060 NONAME ; bool QDeclarativePixmap::isError(void) const
+	?setConsistentTime@QDeclarativeItemPrivate@@SAX_J@Z @ 1061 NONAME ; void QDeclarativeItemPrivate::setConsistentTime(long long)
+	?initializeEngine@QDeclarativeExtensionPlugin@@UAEXPAVQDeclarativeEngine@@PBD@Z @ 1062 NONAME ; void QDeclarativeExtensionPlugin::initializeEngine(class QDeclarativeEngine *, char const *)
+	?metaObject@QDeclarativeDebugQuery@@UBEPBUQMetaObject@@XZ @ 1063 NONAME ; struct QMetaObject const * QDeclarativeDebugQuery::metaObject(void) const
+	?rightMarginChanged@QDeclarativeAnchors@@IAEXXZ @ 1064 NONAME ; void QDeclarativeAnchors::rightMarginChanged(void)
+	??_EQDeclarativePropertyValueInterceptor@@UAE@I@Z @ 1065 NONAME ; QDeclarativePropertyValueInterceptor::~QDeclarativePropertyValueInterceptor(unsigned int)
+	?linkActivated@QDeclarativeText@@IAEXABVQString@@@Z @ 1066 NONAME ; void QDeclarativeText::linkActivated(class QString const &)
+	?canConvert@QDeclarativePropertyPrivate@@SA_NPBUQMetaObject@@0@Z @ 1067 NONAME ; bool QDeclarativePropertyPrivate::canConvert(struct QMetaObject const *, struct QMetaObject const *)
+	?trUtf8@QDeclarativeAnchors@@SA?AVQString@@PBD0H@Z @ 1068 NONAME ; class QString QDeclarativeAnchors::trUtf8(char const *, char const *, int)
+	?toComponent@QDeclarativeDomObject@@QBE?AVQDeclarativeDomComponent@@XZ @ 1069 NONAME ; class QDeclarativeDomComponent QDeclarativeDomObject::toComponent(void) const
+	?tr@QDeclarativeValueType@@SA?AVQString@@PBD0@Z @ 1070 NONAME ; class QString QDeclarativeValueType::tr(char const *, char const *)
+	?setLeft@QDeclarativeScaleGrid@@QAEXH@Z @ 1071 NONAME ; void QDeclarativeScaleGrid::setLeft(int)
+	??1QDeclarativeGridScaledImage@@QAE@XZ @ 1072 NONAME ; QDeclarativeGridScaledImage::~QDeclarativeGridScaledImage(void)
+	??0QDeclarativeGridScaledImage@@QAE@ABV0@@Z @ 1073 NONAME ; QDeclarativeGridScaledImage::QDeclarativeGridScaledImage(class QDeclarativeGridScaledImage const &)
+	?column@QDeclarativeError@@QBEHXZ @ 1074 NONAME ; int QDeclarativeError::column(void) const
+	?properties@QDeclarativeCustomParserNode@@QBE?AV?$QList@VQDeclarativeCustomParserProperty@@@@XZ @ 1075 NONAME ; class QList<class QDeclarativeCustomParserProperty> QDeclarativeCustomParserNode::properties(void) const
+	?qt_metacast@QDeclarativeScaleGrid@@UAEPAXPBD@Z @ 1076 NONAME ; void * QDeclarativeScaleGrid::qt_metacast(char const *)
+	??0QDeclarativeListReference@@QAE@XZ @ 1077 NONAME ; QDeclarativeListReference::QDeclarativeListReference(void)
+	??1QDeclarativeDebugRootContextQuery@@UAE@XZ @ 1078 NONAME ; QDeclarativeDebugRootContextQuery::~QDeclarativeDebugRootContextQuery(void)
+	?name@QDeclarativeCustomParserNode@@QBE?AVQByteArray@@XZ @ 1079 NONAME ; class QByteArray QDeclarativeCustomParserNode::name(void) const
+	?object@QDeclarativeDomValueValueInterceptor@@QBE?AVQDeclarativeDomObject@@XZ @ 1080 NONAME ; class QDeclarativeDomObject QDeclarativeDomValueValueInterceptor::object(void) const
+	??1QDeclarativePen@@UAE@XZ @ 1081 NONAME ; QDeclarativePen::~QDeclarativePen(void)
+	?data@QDeclarativeItemPrivate@@QAE?AV?$QDeclarativeListProperty@VQObject@@@@XZ @ 1082 NONAME ; class QDeclarativeListProperty<class QObject> QDeclarativeItemPrivate::data(void)
+	?qt_metacall@QDeclarativeBinding@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1083 NONAME ; int QDeclarativeBinding::qt_metacall(enum QMetaObject::Call, int, void * *)
+	??1QDeclarativeEngine@@UAE@XZ @ 1084 NONAME ; QDeclarativeEngine::~QDeclarativeEngine(void)
+	?debugId@QDeclarativeDebugContextReference@@QBEHXZ @ 1085 NONAME ; int QDeclarativeDebugContextReference::debugId(void) const
+	?propertyNameParts@QDeclarativeDomProperty@@QBE?AV?$QList@VQByteArray@@@@XZ @ 1086 NONAME ; class QList<class QByteArray> QDeclarativeDomProperty::propertyNameParts(void) const
+	?resetWidth@QDeclarativeItemPrivate@@UAEXXZ @ 1087 NONAME ; void QDeclarativeItemPrivate::resetWidth(void)
+	??AQDeclarativeOpenMetaObject@@QAEAAVQVariant@@ABVQByteArray@@@Z @ 1088 NONAME ; class QVariant & QDeclarativeOpenMetaObject::operator[](class QByteArray const &)
+	?bottom@QDeclarativeItemPrivate@@QBE?AVQDeclarativeAnchorLine@@XZ @ 1089 NONAME ; class QDeclarativeAnchorLine QDeclarativeItemPrivate::bottom(void) const
+	?device@QPacketProtocol@@QAEPAVQIODevice@@XZ @ 1090 NONAME ; class QIODevice * QPacketProtocol::device(void)
+	?trUtf8@QDeclarativeStateGroup@@SA?AVQString@@PBD0@Z @ 1091 NONAME ; class QString QDeclarativeStateGroup::trUtf8(char const *, char const *)
+	?variantFromString@QDeclarativeStringConverters@@YA?AVQVariant@@ABVQString@@HPA_N@Z @ 1092 NONAME ; class QVariant QDeclarativeStringConverters::variantFromString(class QString const &, int, bool *)
+	?metaObject@QDeclarativeComponent@@UBEPBUQMetaObject@@XZ @ 1093 NONAME ; struct QMetaObject const * QDeclarativeComponent::metaObject(void) const
+	?qmlInfo@@YA?AVQDeclarativeInfo@@PBVQObject@@ABV?$QList@VQDeclarativeError@@@@@Z @ 1094 NONAME ; class QDeclarativeInfo qmlInfo(class QObject const *, class QList<class QDeclarativeError> const &)
+	?assignedValues@QDeclarativeCustomParserProperty@@QBE?AV?$QList@VQVariant@@@@XZ @ 1095 NONAME ; class QList<class QVariant> QDeclarativeCustomParserProperty::assignedValues(void) const
+	?setValue@QDeclarativeOpenMetaObject@@QAEXABVQByteArray@@ABVQVariant@@@Z @ 1096 NONAME ; void QDeclarativeOpenMetaObject::setValue(class QByteArray const &, class QVariant const &)
+	?data@QDeclarativeListModel@@UBE?AVQVariant@@HH@Z @ 1097 NONAME ; class QVariant QDeclarativeListModel::data(int, int) const
+	?setElideMode@QDeclarativeText@@QAEXW4TextElideMode@1@@Z @ 1098 NONAME ; void QDeclarativeText::setElideMode(enum QDeclarativeText::TextElideMode)
+	?d_func@QDeclarativePropertyMap@@ABEPBVQDeclarativePropertyMapPrivate@@XZ @ 1099 NONAME ; class QDeclarativePropertyMapPrivate const * QDeclarativePropertyMap::d_func(void) const
+	?consistentTime@QDeclarativeItemPrivate@@2_JA @ 1100 NONAME ; long long QDeclarativeItemPrivate::consistentTime
+	?setWidth@QDeclarativeItem@@QAEXM@Z @ 1101 NONAME ; void QDeclarativeItem::setWidth(float)
+	?qt_metacall@QDeclarativeDebugObjectQuery@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1102 NONAME ; int QDeclarativeDebugObjectQuery::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?contextObject@QDeclarativeContext@@QBEPAVQObject@@XZ @ 1103 NONAME ; class QObject * QDeclarativeContext::contextObject(void) const
+	??_EQDeclarativeOpenMetaObjectType@@UAE@I@Z @ 1104 NONAME ; QDeclarativeOpenMetaObjectType::~QDeclarativeOpenMetaObjectType(unsigned int)
+	?isWritable@QMetaPropertyBuilder@@QBE_NXZ @ 1105 NONAME ; bool QMetaPropertyBuilder::isWritable(void) const
+	?sizeFFromString@QDeclarativeStringConverters@@YA?AVQSizeF@@ABVQString@@PA_N@Z @ 1106 NONAME ; class QSizeF QDeclarativeStringConverters::sizeFFromString(class QString const &, bool *)
+	??0QDeclarativeProperty@@QAE@PAVQObject@@ABVQString@@PAVQDeclarativeEngine@@@Z @ 1107 NONAME ; QDeclarativeProperty::QDeclarativeProperty(class QObject *, class QString const &, class QDeclarativeEngine *)
+	?addMethod@QMetaObjectBuilder@@QAE?AVQMetaMethodBuilder@@ABVQByteArray@@@Z @ 1108 NONAME ; class QMetaMethodBuilder QMetaObjectBuilder::addMethod(class QByteArray const &)
+	??0QDeclarativeDebugFileReference@@QAE@XZ @ 1109 NONAME ; QDeclarativeDebugFileReference::QDeclarativeDebugFileReference(void)
+	?mapFromItem@QDeclarativeItem@@QBE?AVQScriptValue@@ABV2@MM@Z @ 1110 NONAME ; class QScriptValue QDeclarativeItem::mapFromItem(class QScriptValue const &, float, float) const
+	?trUtf8@QDeclarativeStateOperation@@SA?AVQString@@PBD0H@Z @ 1111 NONAME ; class QString QDeclarativeStateOperation::trUtf8(char const *, char const *, int)
+	?tr@QPacketProtocol@@SA?AVQString@@PBD0H@Z @ 1112 NONAME ; class QString QPacketProtocol::tr(char const *, char const *, int)
+	?d_func@QDeclarativeAnchors@@ABEPBVQDeclarativeAnchorsPrivate@@XZ @ 1113 NONAME ; class QDeclarativeAnchorsPrivate const * QDeclarativeAnchors::d_func(void) const
+	?setNotifySignal@QMetaPropertyBuilder@@QAEXABVQMetaMethodBuilder@@@Z @ 1114 NONAME ; void QMetaPropertyBuilder::setNotifySignal(class QMetaMethodBuilder const &)
+	?enabled@QDeclarativeBehavior@@QBE_NXZ @ 1115 NONAME ; bool QDeclarativeBehavior::enabled(void) const
+	?initProperty@QDeclarativePropertyPrivate@@QAEXPAVQObject@@ABVQString@@@Z @ 1116 NONAME ; void QDeclarativePropertyPrivate::initProperty(class QObject *, class QString const &)
+	?isEditable@QMetaPropertyBuilder@@QBE_NXZ @ 1117 NONAME ; bool QMetaPropertyBuilder::isEditable(void) const
+	??0QDeclarativeBinding@@QAE@ABVQString@@PAVQObject@@PAVQDeclarativeContextData@@1@Z @ 1118 NONAME ; QDeclarativeBinding::QDeclarativeBinding(class QString const &, class QObject *, class QDeclarativeContextData *, class QObject *)
+	?expression@QDeclarativeDebugExpressionQuery@@QBE?AVQVariant@@XZ @ 1119 NONAME ; class QVariant QDeclarativeDebugExpressionQuery::expression(void) const
+	??4QDeclarativeDomList@@QAEAAV0@ABV0@@Z @ 1120 NONAME ; class QDeclarativeDomList & QDeclarativeDomList::operator=(class QDeclarativeDomList const &)
+	?qt_metacall@QDeclarativeComponent@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1121 NONAME ; int QDeclarativeComponent::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?tr@QDeclarativeDebugService@@SA?AVQString@@PBD0H@Z @ 1122 NONAME ; class QString QDeclarativeDebugService::tr(char const *, char const *, int)
+	?staticMetaObject@QDeclarativeEngine@@2UQMetaObject@@B @ 1123 NONAME ; struct QMetaObject const QDeclarativeEngine::staticMetaObject
+	?staticMetaObject@QDeclarativeStateOperation@@2UQMetaObject@@B @ 1124 NONAME ; struct QMetaObject const QDeclarativeStateOperation::staticMetaObject
+	?actions@QDeclarativeStateOperation@@UAE?AV?$QList@VQDeclarativeAction@@@@XZ @ 1125 NONAME ; class QList<class QDeclarativeAction> QDeclarativeStateOperation::actions(void)
+	?objectClassName@QDeclarativeDomObject@@QBE?AVQByteArray@@XZ @ 1126 NONAME ; class QByteArray QDeclarativeDomObject::objectClassName(void) const
+	??8QDeclarativeProperty@@QBE_NABV0@@Z @ 1127 NONAME ; bool QDeclarativeProperty::operator==(class QDeclarativeProperty const &) const
+	??1QDeclarativeDomValue@@QAE@XZ @ 1128 NONAME ; QDeclarativeDomValue::~QDeclarativeDomValue(void)
+	??_EQDeclarativePropertyMap@@UAE@I@Z @ 1129 NONAME ; QDeclarativePropertyMap::~QDeclarativePropertyMap(unsigned int)
+	?staticMetaObject@QDeclarativeDebugRootContextQuery@@2UQMetaObject@@B @ 1130 NONAME ; struct QMetaObject const QDeclarativeDebugRootContextQuery::staticMetaObject
+	?noCreationReason@QDeclarativeType@@QBE?AVQString@@XZ @ 1131 NONAME ; class QString QDeclarativeType::noCreationReason(void) const
+	?setUrl@QDeclarativeDebugFileReference@@QAEXABVQUrl@@@Z @ 1132 NONAME ; void QDeclarativeDebugFileReference::setUrl(class QUrl const &)
+	??1QDeclarativeCustomParserProperty@@QAE@XZ @ 1133 NONAME ; QDeclarativeCustomParserProperty::~QDeclarativeCustomParserProperty(void)
+	??1QPacketProtocol@@UAE@XZ @ 1134 NONAME ; QPacketProtocol::~QPacketProtocol(void)
+	??1QDeclarativeAbstractBinding@@MAE@XZ @ 1135 NONAME ; QDeclarativeAbstractBinding::~QDeclarativeAbstractBinding(void)
+	?indexOfEnumerator@QMetaObjectBuilder@@QAEHABVQByteArray@@@Z @ 1136 NONAME ; int QMetaObjectBuilder::indexOfEnumerator(class QByteArray const &)
+	?qt_metacast@QDeclarativePen@@UAEPAXPBD@Z @ 1137 NONAME ; void * QDeclarativePen::qt_metacast(char const *)
+	?leftMargin@QDeclarativeAnchors@@QBEMXZ @ 1138 NONAME ; float QDeclarativeAnchors::leftMargin(void) const
+	??1QDeclarativeComponent@@UAE@XZ @ 1139 NONAME ; QDeclarativeComponent::~QDeclarativeComponent(void)
+	??1QDeclarativeItem@@UAE@XZ @ 1140 NONAME ; QDeclarativeItem::~QDeclarativeItem(void)
+	?setEnabled@QDeclarativeAbstractBinding@@UAEX_NV?$QFlags@W4WriteFlag@QDeclarativePropertyPrivate@@@@@Z @ 1141 NONAME ; void QDeclarativeAbstractBinding::setEnabled(bool, class QFlags<enum QDeclarativePropertyPrivate::WriteFlag>)
+	?staticMetaObject@QListModelInterface@@2UQMetaObject@@B @ 1142 NONAME ; struct QMetaObject const QListModelInterface::staticMetaObject
+	?d_func@QDeclarativeTransition@@ABEPBVQDeclarativeTransitionPrivate@@XZ @ 1143 NONAME ; class QDeclarativeTransitionPrivate const * QDeclarativeTransition::d_func(void) const
+	?sourceFile@QDeclarativeExpression@@QBE?AVQString@@XZ @ 1144 NONAME ; class QString QDeclarativeExpression::sourceFile(void) const
+	??_EQDeclarativeAnchors@@UAE@I@Z @ 1145 NONAME ; QDeclarativeAnchors::~QDeclarativeAnchors(unsigned int)
+	?removeNotifySignal@QMetaPropertyBuilder@@QAEXXZ @ 1146 NONAME ; void QMetaPropertyBuilder::removeNotifySignal(void)
+	?trUtf8@QDeclarativeDebugService@@SA?AVQString@@PBD0@Z @ 1147 NONAME ; class QString QDeclarativeDebugService::trUtf8(char const *, char const *)
+	?setImportPathList@QDeclarativeEngine@@QAEXABVQStringList@@@Z @ 1148 NONAME ; void QDeclarativeEngine::setImportPathList(class QStringList const &)
+	?enabledChanged@QDeclarativeDebugService@@MAEX_N@Z @ 1149 NONAME ; void QDeclarativeDebugService::enabledChanged(bool)
+	?addWatch@QDeclarativeEngineDebug@@QAEPAVQDeclarativeDebugWatch@@ABVQDeclarativeDebugObjectReference@@PAVQObject@@@Z @ 1150 NONAME ; class QDeclarativeDebugWatch * QDeclarativeEngineDebug::addWatch(class QDeclarativeDebugObjectReference const &, class QObject *)
+	?asAST@Variant@QDeclarativeParser@@QBEPAVNode@AST@QDeclarativeJS@@XZ @ 1151 NONAME ; class QDeclarativeJS::AST::Node * QDeclarativeParser::Variant::asAST(void) const
+	?indexOfClassInfo@QMetaObjectBuilder@@QAEHABVQByteArray@@@Z @ 1152 NONAME ; int QMetaObjectBuilder::indexOfClassInfo(class QByteArray const &)
+	??0QDeclarativeDomImport@@QAE@ABV0@@Z @ 1153 NONAME ; QDeclarativeDomImport::QDeclarativeDomImport(class QDeclarativeDomImport const &)
+	?width@QDeclarativePen@@QBEHXZ @ 1154 NONAME ; int QDeclarativePen::width(void) const
+	?d_func@QDeclarativeStateGroup@@AAEPAVQDeclarativeStateGroupPrivate@@XZ @ 1155 NONAME ; class QDeclarativeStateGroupPrivate * QDeclarativeStateGroup::d_func(void)
+	??6QDeclarativeInfo@@QAEAAV0@P6AAAVQTextStream@@AAV1@@Z@Z @ 1156 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(class QTextStream & (*)(class QTextStream &))
+	?trUtf8@QDeclarativeEngineDebug@@SA?AVQString@@PBD0@Z @ 1157 NONAME ; class QString QDeclarativeEngineDebug::trUtf8(char const *, char const *)
+	?type@QDeclarativeOpenMetaObject@@QBEPAVQDeclarativeOpenMetaObjectType@@XZ @ 1158 NONAME ; class QDeclarativeOpenMetaObjectType * QDeclarativeOpenMetaObject::type(void) const
+	?tr@QDeclarativeExpression@@SA?AVQString@@PBD0@Z @ 1159 NONAME ; class QString QDeclarativeExpression::tr(char const *, char const *)
+	??0QDeclarativeDomValueValueInterceptor@@QAE@XZ @ 1160 NONAME ; QDeclarativeDomValueValueInterceptor::QDeclarativeDomValueValueInterceptor(void)
+	??1QDeclarativeDebugPropertyWatch@@UAE@XZ @ 1161 NONAME ; QDeclarativeDebugPropertyWatch::~QDeclarativeDebugPropertyWatch(void)
+	?evaluate@QDeclarativeExpression@@QAE?AVQVariant@@PA_N@Z @ 1162 NONAME ; class QVariant QDeclarativeExpression::evaluate(bool *)
+	?isDefaultProperty@QDeclarativeDomProperty@@QBE_NXZ @ 1163 NONAME ; bool QDeclarativeDomProperty::isDefaultProperty(void) const
+	??0QDeclarativeAction@@QAE@PAVQObject@@ABVQString@@ABVQVariant@@@Z @ 1164 NONAME ; QDeclarativeAction::QDeclarativeAction(class QObject *, class QString const &, class QVariant const &)
+	?metaObject@QDeclarativeRectangle@@UBEPBUQMetaObject@@XZ @ 1165 NONAME ; struct QMetaObject const * QDeclarativeRectangle::metaObject(void) const
+	?removeRelatedMetaObject@QMetaObjectBuilder@@QAEXH@Z @ 1166 NONAME ; void QMetaObjectBuilder::removeRelatedMetaObject(int)
+	??0QDeclarativeError@@QAE@XZ @ 1167 NONAME ; QDeclarativeError::QDeclarativeError(void)
+	?hasValue@QDeclarativeOpenMetaObject@@QBE_NH@Z @ 1168 NONAME ; bool QDeclarativeOpenMetaObject::hasValue(int) const
+	?object@QDeclarativeProperty@@QBEPAVQObject@@XZ @ 1169 NONAME ; class QObject * QDeclarativeProperty::object(void) const
+	?stateGroup@QDeclarativeState@@QBEPAVQDeclarativeStateGroup@@XZ @ 1170 NONAME ; class QDeclarativeStateGroup * QDeclarativeState::stateGroup(void) const
+	?connectNotifySignal@QDeclarativeProperty@@QBE_NPAVQObject@@H@Z @ 1171 NONAME ; bool QDeclarativeProperty::connectNotifySignal(class QObject *, int) const
+	?focusChanged@QDeclarativeItemPrivate@@UAEX_N@Z @ 1172 NONAME ; void QDeclarativeItemPrivate::focusChanged(bool)
+	?contextDebugId@QDeclarativeDebugObjectReference@@QBEHXZ @ 1173 NONAME ; int QDeclarativeDebugObjectReference::contextDebugId(void) const
+	?url@QDeclarativeDebugFileReference@@QBE?AVQUrl@@XZ @ 1174 NONAME ; class QUrl QDeclarativeDebugFileReference::url(void) const
+	?paint@QDeclarativeRectangle@@UAEXPAVQPainter@@PBVQStyleOptionGraphicsItem@@PAVQWidget@@@Z @ 1175 NONAME ; void QDeclarativeRectangle::paint(class QPainter *, class QStyleOptionGraphicsItem const *, class QWidget *)
+	??6QDeclarativeState@@QAEAAV0@PAVQDeclarativeStateOperation@@@Z @ 1176 NONAME ; class QDeclarativeState & QDeclarativeState::operator<<(class QDeclarativeStateOperation *)
+	?destroy@QDeclarativeAbstractBinding@@UAEXXZ @ 1177 NONAME ; void QDeclarativeAbstractBinding::destroy(void)
+	?qt_metacast@QDeclarativeDebugService@@UAEPAXPBD@Z @ 1178 NONAME ; void * QDeclarativeDebugService::qt_metacast(char const *)
+	?qt_metacast@QDeclarativeValueType@@UAEPAXPBD@Z @ 1179 NONAME ; void * QDeclarativeValueType::qt_metacast(char const *)
+	?childAt@QDeclarativeItem@@QBEPAV1@MM@Z @ 1180 NONAME ; class QDeclarativeItem * QDeclarativeItem::childAt(float, float) const
+	?paintedWidth@QDeclarativeText@@QBEMXZ @ 1181 NONAME ; float QDeclarativeText::paintedWidth(void) const
+	?tr@QDeclarativeBinding@@SA?AVQString@@PBD0@Z @ 1182 NONAME ; class QString QDeclarativeBinding::tr(char const *, char const *)
+	?clip@QDeclarativeItem@@QBE_NXZ @ 1183 NONAME ; bool QDeclarativeItem::clip(void) const
+	??0QDeclarativeValueTypeFactory@@QAE@XZ @ 1184 NONAME ; QDeclarativeValueTypeFactory::QDeclarativeValueTypeFactory(void)
+	??0QDeclarativeComponent@@QAE@PAVQDeclarativeEngine@@ABVQUrl@@PAVQObject@@@Z @ 1185 NONAME ; QDeclarativeComponent::QDeclarativeComponent(class QDeclarativeEngine *, class QUrl const &, class QObject *)
+	?literal@QDeclarativeDomValueLiteral@@QBE?AVQString@@XZ @ 1186 NONAME ; class QString QDeclarativeDomValueLiteral::literal(void) const
+	??_EQDeclarativeEngineDebug@@UAE@I@Z @ 1187 NONAME ; QDeclarativeEngineDebug::~QDeclarativeEngineDebug(unsigned int)
+	?bottom@QDeclarativeScaleGrid@@QBEHXZ @ 1188 NONAME ; int QDeclarativeScaleGrid::bottom(void) const
+	?d_func@QDeclarativePropertyMap@@AAEPAVQDeclarativePropertyMapPrivate@@XZ @ 1189 NONAME ; class QDeclarativePropertyMapPrivate * QDeclarativePropertyMap::d_func(void)
+	?trUtf8@QDeclarativeView@@SA?AVQString@@PBD0@Z @ 1190 NONAME ; class QString QDeclarativeView::trUtf8(char const *, char const *)
+	?rect@QDeclarativePixmap@@QBE?AVQRect@@XZ @ 1191 NONAME ; class QRect QDeclarativePixmap::rect(void) const
+	??0QDeclarativeTransition@@QAE@PAVQObject@@@Z @ 1192 NONAME ; QDeclarativeTransition::QDeclarativeTransition(class QObject *)
+	?horizontalCenter@QDeclarativeAnchors@@QBE?AVQDeclarativeAnchorLine@@XZ @ 1193 NONAME ; class QDeclarativeAnchorLine QDeclarativeAnchors::horizontalCenter(void) const
+	?setObjectOwnership@QDeclarativeEngine@@SAXPAVQObject@@W4ObjectOwnership@1@@Z @ 1194 NONAME ; void QDeclarativeEngine::setObjectOwnership(class QObject *, enum QDeclarativeEngine::ObjectOwnership)
+	?tr@QDeclarativeContext@@SA?AVQString@@PBD0H@Z @ 1195 NONAME ; class QString QDeclarativeContext::tr(char const *, char const *, int)
+	?metaCall@QDeclarativeOpenMetaObject@@MAEHW4Call@QMetaObject@@HPAPAX@Z @ 1196 NONAME ; int QDeclarativeOpenMetaObject::metaCall(enum QMetaObject::Call, int, void * *)
+	??_EQDeclarativeText@@UAE@I@Z @ 1197 NONAME ; QDeclarativeText::~QDeclarativeText(unsigned int)
+	?setLeftMargin@QDeclarativeAnchors@@QAEXM@Z @ 1198 NONAME ; void QDeclarativeAnchors::setLeftMargin(float)
+	?metaObject@QDeclarativeStateGroup@@UBEPBUQMetaObject@@XZ @ 1199 NONAME ; struct QMetaObject const * QDeclarativeStateGroup::metaObject(void) const
+	?expression@QDeclarativeAbstractBinding@@UBE?AVQString@@XZ @ 1200 NONAME ; class QString QDeclarativeAbstractBinding::expression(void) const
+	??6QDeclarativeInfo@@QAEAAV0@N@Z @ 1201 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(double)
+	?setAnimation@QDeclarativeBehavior@@QAEXPAVQDeclarativeAbstractAnimation@@@Z @ 1202 NONAME ; void QDeclarativeBehavior::setAnimation(class QDeclarativeAbstractAnimation *)
+	?properties@QDeclarativeDebugObjectReference@@QBE?AV?$QList@VQDeclarativeDebugPropertyReference@@@@XZ @ 1203 NONAME ; class QList<class QDeclarativeDebugPropertyReference> QDeclarativeDebugObjectReference::properties(void) const
+	?trUtf8@QDeclarativePixmap@@SA?AVQString@@PBD0@Z @ 1204 NONAME ; class QString QDeclarativePixmap::trUtf8(char const *, char const *)
+	?trUtf8@QDeclarativeDebugClient@@SA?AVQString@@PBD0@Z @ 1205 NONAME ; class QString QDeclarativeDebugClient::trUtf8(char const *, char const *)
+	?context@QDeclarativeExpression@@QBEPAVQDeclarativeContext@@XZ @ 1206 NONAME ; class QDeclarativeContext * QDeclarativeExpression::context(void) const
+	?qt_metacast@QDeclarativeBehavior@@UAEPAXPBD@Z @ 1207 NONAME ; void * QDeclarativeBehavior::qt_metacast(char const *)
+	?objectTypeMinorVersion@QDeclarativeDomObject@@QBEHXZ @ 1208 NONAME ; int QDeclarativeDomObject::objectTypeMinorVersion(void) const
+	??0QDeclarativePropertyValueInterceptor@@QAE@XZ @ 1209 NONAME ; QDeclarativePropertyValueInterceptor::QDeclarativePropertyValueInterceptor(void)
+	?isValid@QDeclarativeError@@QBE_NXZ @ 1210 NONAME ; bool QDeclarativeError::isValid(void) const
+	??0QMetaMethodBuilder@@QAE@XZ @ 1211 NONAME ; QMetaMethodBuilder::QMetaMethodBuilder(void)
+	?completed@QDeclarativeState@@IAEXXZ @ 1212 NONAME ; void QDeclarativeState::completed(void)
+	?radiusChanged@QDeclarativeRectangle@@IAEXXZ @ 1213 NONAME ; void QDeclarativeRectangle::radiusChanged(void)
+	?getStaticMetaObject@QDeclarativeExpression@@SAABUQMetaObject@@XZ @ 1214 NONAME ; struct QMetaObject const & QDeclarativeExpression::getStaticMetaObject(void)
+	?gridLeft@QDeclarativeGridScaledImage@@QBEHXZ @ 1215 NONAME ; int QDeclarativeGridScaledImage::gridLeft(void) const
+	?setWritable@QMetaPropertyBuilder@@QAEX_N@Z @ 1216 NONAME ; void QMetaPropertyBuilder::setWritable(bool)
+	?qt_metacast@QDeclarativeStateGroup@@UAEPAXPBD@Z @ 1217 NONAME ; void * QDeclarativeStateGroup::qt_metacast(char const *)
+	?defaultMethod@QDeclarativeMetaType@@SA?AVQMetaMethod@@PAVQObject@@@Z @ 1218 NONAME ; class QMetaMethod QDeclarativeMetaType::defaultMethod(class QObject *)
+	?qt_metacast@QDeclarativeEngineDebug@@UAEPAXPBD@Z @ 1219 NONAME ; void * QDeclarativeEngineDebug::qt_metacast(char const *)
+	?staticMetaObject@QDeclarativeExpression@@2UQMetaObject@@B @ 1220 NONAME ; struct QMetaObject const QDeclarativeExpression::staticMetaObject
+	?statusChanged@QDeclarativeComponent@@IAEXW4Status@1@@Z @ 1221 NONAME ; void QDeclarativeComponent::statusChanged(enum QDeclarativeComponent::Status)
+	?setTarget@QDeclarativeBinding@@QAEXABVQDeclarativeProperty@@@Z @ 1222 NONAME ; void QDeclarativeBinding::setTarget(class QDeclarativeProperty const &)
+	?imageProvider@QDeclarativeEngine@@QBEPAVQDeclarativeImageProvider@@ABVQString@@@Z @ 1223 NONAME ; class QDeclarativeImageProvider * QDeclarativeEngine::imageProvider(class QString const &) const
+	?packetsAvailable@QPacketProtocol@@QBE_JXZ @ 1224 NONAME ; long long QPacketProtocol::packetsAvailable(void) const
+	?state@QDeclarativeDebugWatch@@QBE?AW4State@1@XZ @ 1225 NONAME ; enum QDeclarativeDebugWatch::State QDeclarativeDebugWatch::state(void) const
+	?attachedPropertiesFuncById@QDeclarativeMetaType@@SAP6APAVQObject@@PAV2@@ZH@Z @ 1226 NONAME ; class QObject * (*)(class QObject *) QDeclarativeMetaType::attachedPropertiesFuncById(int)
+	?resetBaseline@QDeclarativeAnchors@@QAEXXZ @ 1227 NONAME ; void QDeclarativeAnchors::resetBaseline(void)
+	?name@QDeclarativeDebugClient@@QBE?AVQString@@XZ @ 1228 NONAME ; class QString QDeclarativeDebugClient::name(void) const
+	?propertyValueInterceptorCast@QDeclarativeType@@QBEHXZ @ 1229 NONAME ; int QDeclarativeType::propertyValueInterceptorCast(void) const
+	?setData@QDeclarativeComponent@@QAEXABVQByteArray@@ABVQUrl@@@Z @ 1230 NONAME ; void QDeclarativeComponent::setData(class QByteArray const &, class QUrl const &)
+	??4QDeclarativeDomValue@@QAEAAV0@ABV0@@Z @ 1231 NONAME ; class QDeclarativeDomValue & QDeclarativeDomValue::operator=(class QDeclarativeDomValue const &)
+	?toString@QDeclarativeListModel@@UBE?AVQString@@H@Z @ 1232 NONAME ; class QString QDeclarativeListModel::toString(int) const
+	?resetWidth@QDeclarativeItem@@QAEXXZ @ 1233 NONAME ; void QDeclarativeItem::resetWidth(void)
+	??0QDeclarativeProperty@@QAE@ABV0@@Z @ 1234 NONAME ; QDeclarativeProperty::QDeclarativeProperty(class QDeclarativeProperty const &)
+	?text@QDeclarativeText@@QBE?AVQString@@XZ @ 1235 NONAME ; class QString QDeclarativeText::text(void) const
+	??1QDeclarativeDebugObjectQuery@@UAE@XZ @ 1236 NONAME ; QDeclarativeDebugObjectQuery::~QDeclarativeDebugObjectQuery(void)
+	?count@QDeclarativeOpenMetaObject@@QBEHXZ @ 1237 NONAME ; int QDeclarativeOpenMetaObject::count(void) const
+	?isFlag@QMetaEnumBuilder@@QBE_NXZ @ 1238 NONAME ; bool QMetaEnumBuilder::isFlag(void) const
+	?bindingIndex@QDeclarativePropertyPrivate@@SAHABVQDeclarativeProperty@@@Z @ 1239 NONAME ; int QDeclarativePropertyPrivate::bindingIndex(class QDeclarativeProperty const &)
+	??0QDeclarativeDomValueBinding@@QAE@ABV0@@Z @ 1240 NONAME ; QDeclarativeDomValueBinding::QDeclarativeDomValueBinding(class QDeclarativeDomValueBinding const &)
+	?trUtf8@QDeclarativeRectangle@@SA?AVQString@@PBD0@Z @ 1241 NONAME ; class QString QDeclarativeRectangle::trUtf8(char const *, char const *)
+	?classInfoName@QMetaObjectBuilder@@QBE?AVQByteArray@@H@Z @ 1242 NONAME ; class QByteArray QMetaObjectBuilder::classInfoName(int) const
+	?metaObject@QDeclarativeDebugObjectQuery@@UBEPBUQMetaObject@@XZ @ 1243 NONAME ; struct QMetaObject const * QDeclarativeDebugObjectQuery::metaObject(void) const
+	??4QDeclarativeDomDynamicProperty@@QAEAAV0@ABV0@@Z @ 1244 NONAME ; class QDeclarativeDomDynamicProperty & QDeclarativeDomDynamicProperty::operator=(class QDeclarativeDomDynamicProperty const &)
+	??_EQDeclarativeDebugEngineReference@@QAE@I@Z @ 1245 NONAME ; QDeclarativeDebugEngineReference::~QDeclarativeDebugEngineReference(unsigned int)
+	?usedAnchors@QDeclarativeAnchors@@QBE?AV?$QFlags@W4Anchor@QDeclarativeAnchors@@@@XZ @ 1246 NONAME ; class QFlags<enum QDeclarativeAnchors::Anchor> QDeclarativeAnchors::usedAnchors(void) const
+	?baseline@QDeclarativeItemPrivate@@QBE?AVQDeclarativeAnchorLine@@XZ @ 1247 NONAME ; class QDeclarativeAnchorLine QDeclarativeItemPrivate::baseline(void) const
+	?clear@QDeclarativeListModel@@QAEXXZ @ 1248 NONAME ; void QDeclarativeListModel::clear(void)
+	??0QDeclarativeDebugObjectExpressionWatch@@QAE@PAVQObject@@@Z @ 1249 NONAME ; QDeclarativeDebugObjectExpressionWatch::QDeclarativeDebugObjectExpressionWatch(class QObject *)
+	??4QDeclarativeDomProperty@@QAEAAV0@ABV0@@Z @ 1250 NONAME ; class QDeclarativeDomProperty & QDeclarativeDomProperty::operator=(class QDeclarativeDomProperty const &)
+	?write@QDeclarativeProperty@@SA_NPAVQObject@@ABVQString@@ABVQVariant@@@Z @ 1251 NONAME ; bool QDeclarativeProperty::write(class QObject *, class QString const &, class QVariant const &)
+	?trUtf8@QDeclarativeContext@@SA?AVQString@@PBD0@Z @ 1252 NONAME ; class QString QDeclarativeContext::trUtf8(char const *, char const *)
+	?borderChanged@QDeclarativeScaleGrid@@IAEXXZ @ 1253 NONAME ; void QDeclarativeScaleGrid::borderChanged(void)
+	??1QDeclarativeRectangle@@UAE@XZ @ 1254 NONAME ; QDeclarativeRectangle::~QDeclarativeRectangle(void)
+	?count@QDeclarativePropertyMap@@QBEHXZ @ 1255 NONAME ; int QDeclarativePropertyMap::count(void) const
+	?setReturnType@QMetaMethodBuilder@@QAEXABVQByteArray@@@Z @ 1256 NONAME ; void QMetaMethodBuilder::setReturnType(class QByteArray const &)
+	??0QDeclarativePropertyValueSource@@QAE@XZ @ 1257 NONAME ; QDeclarativePropertyValueSource::QDeclarativePropertyValueSource(void)
+	?tr@QDeclarativePen@@SA?AVQString@@PBD0H@Z @ 1258 NONAME ; class QString QDeclarativePen::tr(char const *, char const *, int)
+	?toLiteral@QDeclarativeDomValue@@QBE?AVQDeclarativeDomValueLiteral@@XZ @ 1259 NONAME ; class QDeclarativeDomValueLiteral QDeclarativeDomValue::toLiteral(void) const
+	??0QDeclarativeOpenMetaObject@@QAE@PAVQObject@@_N@Z @ 1260 NONAME ; QDeclarativeOpenMetaObject::QDeclarativeOpenMetaObject(class QObject *, bool)
+	?url@QDeclarativeComponent@@QBE?AVQUrl@@XZ @ 1261 NONAME ; class QUrl QDeclarativeComponent::url(void) const
+	?componentComplete@QDeclarativeStateGroup@@UAEXXZ @ 1262 NONAME ; void QDeclarativeStateGroup::componentComplete(void)
+	?setMargins@QDeclarativeAnchors@@QAEXM@Z @ 1263 NONAME ; void QDeclarativeAnchors::setMargins(float)
+	?qt_metacall@QDeclarativeView@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1264 NONAME ; int QDeclarativeView::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?state@QDeclarativeStateGroup@@QBE?AVQString@@XZ @ 1265 NONAME ; class QString QDeclarativeStateGroup::state(void) const
+	??0QDeclarativeDomComponent@@QAE@ABV0@@Z @ 1266 NONAME ; QDeclarativeDomComponent::QDeclarativeDomComponent(class QDeclarativeDomComponent const &)
+	?queryAvailableEngines@QDeclarativeEngineDebug@@QAEPAVQDeclarativeDebugEnginesQuery@@PAVQObject@@@Z @ 1267 NONAME ; class QDeclarativeDebugEnginesQuery * QDeclarativeEngineDebug::queryAvailableEngines(class QObject *)
+	??_EQDeclarativeItemPrivate@@UAE@I@Z @ 1268 NONAME ; QDeclarativeItemPrivate::~QDeclarativeItemPrivate(unsigned int)
+	?expression@QDeclarativeBinding@@UBE?AVQString@@XZ @ 1269 NONAME ; class QString QDeclarativeBinding::expression(void) const
+	?position@QDeclarativeDomProperty@@QBEHXZ @ 1270 NONAME ; int QDeclarativeDomProperty::position(void) const
+	?registerValueTypes@QDeclarativeValueTypeFactory@@SAXXZ @ 1271 NONAME ; void QDeclarativeValueTypeFactory::registerValueTypes(void)
+	?dynamicProperties@QDeclarativeDomObject@@QBE?AV?$QList@VQDeclarativeDomDynamicProperty@@@@XZ @ 1272 NONAME ; class QList<class QDeclarativeDomDynamicProperty> QDeclarativeDomObject::dynamicProperties(void) const
+	?attachedPropertiesFunction@QDeclarativeType@@QBEP6APAVQObject@@PAV2@@ZXZ @ 1273 NONAME ; class QObject * (*)(class QObject *) QDeclarativeType::attachedPropertiesFunction(void) const
+	??1QDeclarativePropertyMap@@UAE@XZ @ 1274 NONAME ; QDeclarativePropertyMap::~QDeclarativePropertyMap(void)
+	??_EQDeclarativeExtensionInterface@@UAE@I@Z @ 1275 NONAME ; QDeclarativeExtensionInterface::~QDeclarativeExtensionInterface(unsigned int)
+	??0Variant@QDeclarativeParser@@QAE@NABVQString@@@Z @ 1276 NONAME ; QDeclarativeParser::Variant::Variant(double, class QString const &)
+	??6QDeclarativeInfo@@QAEAAV0@VQBool@@@Z @ 1277 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(class QBool)
+	?setBinding@QDeclarativePropertyPrivate@@SAPAVQDeclarativeAbstractBinding@@PAVQObject@@HHPAV2@V?$QFlags@W4WriteFlag@QDeclarativePropertyPrivate@@@@@Z @ 1278 NONAME ; class QDeclarativeAbstractBinding * QDeclarativePropertyPrivate::setBinding(class QObject *, int, int, class QDeclarativeAbstractBinding *, class QFlags<enum QDeclarativePropertyPrivate::WriteFlag>)
+	?qt_metacast@QDeclarativeDebugExpressionQuery@@UAEPAXPBD@Z @ 1279 NONAME ; void * QDeclarativeDebugExpressionQuery::qt_metacast(char const *)
+	?contextProperty@QDeclarativeContext@@QBE?AVQVariant@@ABVQString@@@Z @ 1280 NONAME ; class QVariant QDeclarativeContext::contextProperty(class QString const &) const
+	?verticalCenter@QDeclarativeItemPrivate@@QBE?AVQDeclarativeAnchorLine@@XZ @ 1281 NONAME ; class QDeclarativeAnchorLine QDeclarativeItemPrivate::verticalCenter(void) const
+	?metaObject@QDeclarativeScaleGrid@@UBEPBUQMetaObject@@XZ @ 1282 NONAME ; struct QMetaObject const * QDeclarativeScaleGrid::metaObject(void) const
+	?qmlContext@@YAPAVQDeclarativeContext@@PBVQObject@@@Z @ 1283 NONAME ; class QDeclarativeContext * qmlContext(class QObject const *)
+	?setMethodBody@QDeclarativeEngineDebug@@QAE_NHABVQString@@0@Z @ 1284 NONAME ; bool QDeclarativeEngineDebug::setMethodBody(int, class QString const &, class QString const &)
+	?transform_count@QDeclarativeItemPrivate@@SAHPAV?$QDeclarativeListProperty@VQGraphicsTransform@@@@@Z @ 1285 NONAME ; int QDeclarativeItemPrivate::transform_count(class QDeclarativeListProperty<class QGraphicsTransform> *)
+	?tr@QListModelInterface@@SA?AVQString@@PBD0H@Z @ 1286 NONAME ; class QString QListModelInterface::tr(char const *, char const *, int)
+	??1QDeclarativeDebugFileReference@@QAE@XZ @ 1287 NONAME ; QDeclarativeDebugFileReference::~QDeclarativeDebugFileReference(void)
+	?style@QDeclarativeText@@QBE?AW4TextStyle@1@XZ @ 1288 NONAME ; enum QDeclarativeText::TextStyle QDeclarativeText::style(void) const
+	??0QDeclarativeAbstractBinding@@QAE@XZ @ 1289 NONAME ; QDeclarativeAbstractBinding::QDeclarativeAbstractBinding(void)
+	?staticMetaObject@QDeclarativeDebugEnginesQuery@@2UQMetaObject@@B @ 1290 NONAME ; struct QMetaObject const QDeclarativeDebugEnginesQuery::staticMetaObject
+	?tr@QDeclarativePixmap@@SA?AVQString@@PBD0@Z @ 1291 NONAME ; class QString QDeclarativePixmap::tr(char const *, char const *)
+	?isError@QDeclarativeComponent@@QBE_NXZ @ 1292 NONAME ; bool QDeclarativeComponent::isError(void) const
+	?qt_metacall@QDeclarativeTransition@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1293 NONAME ; int QDeclarativeTransition::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?type@QDeclarativeDomImport@@QBE?AW4Type@1@XZ @ 1294 NONAME ; enum QDeclarativeDomImport::Type QDeclarativeDomImport::type(void) const
+	??1QDeclarativeDebugConnection@@UAE@XZ @ 1295 NONAME ; QDeclarativeDebugConnection::~QDeclarativeDebugConnection(void)
+	?value@QDeclarativeOpenMetaObject@@QBE?AVQVariant@@H@Z @ 1296 NONAME ; class QVariant QDeclarativeOpenMetaObject::value(int) const
+	?tr@QDeclarativeDebugRootContextQuery@@SA?AVQString@@PBD0H@Z @ 1297 NONAME ; class QString QDeclarativeDebugRootContextQuery::tr(char const *, char const *, int)
+	?setFromState@QDeclarativeTransition@@QAEXABVQString@@@Z @ 1298 NONAME ; void QDeclarativeTransition::setFromState(class QString const &)
+	?metaObject@QDeclarativeDebugService@@UBEPBUQMetaObject@@XZ @ 1299 NONAME ; struct QMetaObject const * QDeclarativeDebugService::metaObject(void) const
+	?state@QDeclarativeDebugQuery@@QBE?AW4State@1@XZ @ 1300 NONAME ; enum QDeclarativeDebugQuery::State QDeclarativeDebugQuery::state(void) const
+	?setBottom@QDeclarativeScaleGrid@@QAEXH@Z @ 1301 NONAME ; void QDeclarativeScaleGrid::setBottom(int)
+	?topMarginChanged@QDeclarativeAnchors@@IAEXXZ @ 1302 NONAME ; void QDeclarativeAnchors::topMarginChanged(void)
+	?itemChange@QDeclarativeItem@@MAE?AVQVariant@@W4GraphicsItemChange@QGraphicsItem@@ABV2@@Z @ 1303 NONAME ; class QVariant QDeclarativeItem::itemChange(enum QGraphicsItem::GraphicsItemChange, class QVariant const &)
+	?position@QDeclarativeDomObject@@QBEHXZ @ 1304 NONAME ; int QDeclarativeDomObject::position(void) const
+	?update@QDeclarativeBinding@@UAEXV?$QFlags@W4WriteFlag@QDeclarativePropertyPrivate@@@@@Z @ 1305 NONAME ; void QDeclarativeBinding::update(class QFlags<enum QDeclarativePropertyPrivate::WriteFlag>)
+	?tr@QDeclarativeBehavior@@SA?AVQString@@PBD0@Z @ 1306 NONAME ; class QString QDeclarativeBehavior::tr(char const *, char const *)
+	?isDebuggingEnabled@QDeclarativeDebugService@@SA_NXZ @ 1307 NONAME ; bool QDeclarativeDebugService::isDebuggingEnabled(void)
+	?tr@QDeclarativeText@@SA?AVQString@@PBD0H@Z @ 1308 NONAME ; class QString QDeclarativeText::tr(char const *, char const *, int)
+	?reset@QDeclarativeProperty@@QBE_NXZ @ 1309 NONAME ; bool QDeclarativeProperty::reset(void) const
+	?objectDebugId@QDeclarativeDebugWatch@@QBEHXZ @ 1310 NONAME ; int QDeclarativeDebugWatch::objectDebugId(void) const
+	?width@QDeclarativeItemPrivate@@UBEMXZ @ 1311 NONAME ; float QDeclarativeItemPrivate::width(void) const
+	?d_func@QMetaMethodBuilder@@ABEPAVQMetaMethodBuilderPrivate@@XZ @ 1312 NONAME ; class QMetaMethodBuilderPrivate * QMetaMethodBuilder::d_func(void) const
+	?isScript@Variant@QDeclarativeParser@@QBE_NXZ @ 1313 NONAME ; bool QDeclarativeParser::Variant::isScript(void) const
+	?classBegin@QDeclarativeStateGroup@@UAEXXZ @ 1314 NONAME ; void QDeclarativeStateGroup::classBegin(void)
+	?qt_metacast@QDeclarativeRectangle@@UAEPAXPBD@Z @ 1315 NONAME ; void * QDeclarativeRectangle::qt_metacast(char const *)
+	?qt_metacast@QDeclarativeExpression@@UAEPAXPBD@Z @ 1316 NONAME ; void * QDeclarativeExpression::qt_metacast(char const *)
+	?indexOfProperty@QMetaObjectBuilder@@QAEHABVQByteArray@@@Z @ 1317 NONAME ; int QMetaObjectBuilder::indexOfProperty(class QByteArray const &)
+	?vAlign@QDeclarativeText@@QBE?AW4VAlignment@1@XZ @ 1318 NONAME ; enum QDeclarativeText::VAlignment QDeclarativeText::vAlign(void) const
+	?addEnumerator@QMetaObjectBuilder@@QAE?AVQMetaEnumBuilder@@ABVQByteArray@@@Z @ 1319 NONAME ; class QMetaEnumBuilder QMetaObjectBuilder::addEnumerator(class QByteArray const &)
+	??1QDeclarativeError@@QAE@XZ @ 1320 NONAME ; QDeclarativeError::~QDeclarativeError(void)
+	?property@QDeclarativeProperty@@QBE?AVQMetaProperty@@XZ @ 1321 NONAME ; class QMetaProperty QDeclarativeProperty::property(void) const
+	?tr@QDeclarativeText@@SA?AVQString@@PBD0@Z @ 1322 NONAME ; class QString QDeclarativeText::tr(char const *, char const *)
+	?write@QDeclarativeProperty@@SA_NPAVQObject@@ABVQString@@ABVQVariant@@PAVQDeclarativeContext@@@Z @ 1323 NONAME ; bool QDeclarativeProperty::write(class QObject *, class QString const &, class QVariant const &, class QDeclarativeContext *)
+	??0QDeclarativeGridScaledImage@@QAE@XZ @ 1324 NONAME ; QDeclarativeGridScaledImage::QDeclarativeGridScaledImage(void)
+	?setText@QDeclarativeText@@QAEXABVQString@@@Z @ 1325 NONAME ; void QDeclarativeText::setText(class QString const &)
+	?setBaseline@QDeclarativeAnchors@@QAEXABVQDeclarativeAnchorLine@@@Z @ 1326 NONAME ; void QDeclarativeAnchors::setBaseline(class QDeclarativeAnchorLine const &)
+	?resetCenterIn@QDeclarativeAnchors@@QAEXXZ @ 1327 NONAME ; void QDeclarativeAnchors::resetCenterIn(void)
+	?pixmapUrl@QDeclarativeGridScaledImage@@QBE?AVQString@@XZ @ 1328 NONAME ; class QString QDeclarativeGridScaledImage::pixmapUrl(void) const
+	?name@QDeclarativeOpenMetaObject@@QBE?AVQByteArray@@H@Z @ 1329 NONAME ; class QByteArray QDeclarativeOpenMetaObject::name(int) const
+	?trUtf8@QDeclarativeDebugObjectQuery@@SA?AVQString@@PBD0@Z @ 1330 NONAME ; class QString QDeclarativeDebugObjectQuery::trUtf8(char const *, char const *)
+	?qt_metacall@QDeclarativeEngine@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1331 NONAME ; int QDeclarativeEngine::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?getStaticMetaObject@QDeclarativeAnchors@@SAABUQMetaObject@@XZ @ 1332 NONAME ; struct QMetaObject const & QDeclarativeAnchors::getStaticMetaObject(void)
+	??0QDeclarativeProperty@@QAE@PAVQObject@@ABVQString@@@Z @ 1333 NONAME ; QDeclarativeProperty::QDeclarativeProperty(class QObject *, class QString const &)
+	?trUtf8@QDeclarativeState@@SA?AVQString@@PBD0@Z @ 1334 NONAME ; class QString QDeclarativeState::trUtf8(char const *, char const *)
+	?setStaticMetacallFunction@QMetaObjectBuilder@@QAEXP6AHW4Call@QMetaObject@@HPAPAX@Z@Z @ 1335 NONAME ; void QMetaObjectBuilder::setStaticMetacallFunction(int (*)(enum QMetaObject::Call, int, void * *))
+	?properties@QDeclarativeDomObject@@QBE?AV?$QList@VQDeclarativeDomProperty@@@@XZ @ 1336 NONAME ; class QList<class QDeclarativeDomProperty> QDeclarativeDomObject::properties(void) const
+	??0QDeclarativeExpression@@QAE@PAVQDeclarativeContext@@PAVQObject@@ABVQString@@1@Z @ 1337 NONAME ; QDeclarativeExpression::QDeclarativeExpression(class QDeclarativeContext *, class QObject *, class QString const &, class QObject *)
+	?tr@QDeclarativeTransition@@SA?AVQString@@PBD0H@Z @ 1338 NONAME ; class QString QDeclarativeTransition::tr(char const *, char const *, int)
+	?dateTimeFromString@QDeclarativeStringConverters@@YA?AVQDateTime@@ABVQString@@PA_N@Z @ 1339 NONAME ; class QDateTime QDeclarativeStringConverters::dateTimeFromString(class QString const &, bool *)
+	?implicitWidth@QDeclarativeItem@@QBEMXZ @ 1340 NONAME ; float QDeclarativeItem::implicitWidth(void) const
+	?metaObject@QDeclarativeContext@@UBEPBUQMetaObject@@XZ @ 1341 NONAME ; struct QMetaObject const * QDeclarativeContext::metaObject(void) const
+	??0QDeclarativeContext@@AAE@PAVQDeclarativeContextData@@@Z @ 1342 NONAME ; QDeclarativeContext::QDeclarativeContext(class QDeclarativeContextData *)
+	?maximumPacketSize@QPacketProtocol@@QBEHXZ @ 1343 NONAME ; int QPacketProtocol::maximumPacketSize(void) const
+	??_EQDeclarativeDebuggerStatus@@UAE@I@Z @ 1344 NONAME ; QDeclarativeDebuggerStatus::~QDeclarativeDebuggerStatus(unsigned int)
+	?error@QDeclarativeCustomParser@@IAEXABVQString@@@Z @ 1345 NONAME ; void QDeclarativeCustomParser::error(class QString const &)
+	?messageReceived@QDeclarativeDebugService@@MAEXABVQByteArray@@@Z @ 1346 NONAME ; void QDeclarativeDebugService::messageReceived(class QByteArray const &)
+	??0QDeclarativeParserStatus@@QAE@XZ @ 1347 NONAME ; QDeclarativeParserStatus::QDeclarativeParserStatus(void)
+	?isNumber@Variant@QDeclarativeParser@@QBE_NXZ @ 1348 NONAME ; bool QDeclarativeParser::Variant::isNumber(void) const
+	?getStaticMetaObject@QDeclarativeEngineDebug@@SAABUQMetaObject@@XZ @ 1349 NONAME ; struct QMetaObject const & QDeclarativeEngineDebug::getStaticMetaObject(void)
+	??_EQDeclarativeEngine@@UAE@I@Z @ 1350 NONAME ; QDeclarativeEngine::~QDeclarativeEngine(unsigned int)
+	?isNull@QDeclarativePixmap@@QBE_NXZ @ 1351 NONAME ; bool QDeclarativePixmap::isNull(void) const
+	??1QDeclarativeCustomParserNode@@QAE@XZ @ 1352 NONAME ; QDeclarativeCustomParserNode::~QDeclarativeCustomParserNode(void)
+	??1QDeclarativeAction@@QAE@XZ @ 1353 NONAME ; QDeclarativeAction::~QDeclarativeAction(void)
+	?resourcesLoading@QDeclarativeText@@QBEHXZ @ 1354 NONAME ; int QDeclarativeText::resourcesLoading(void) const
+	?isBoolean@Variant@QDeclarativeParser@@QBE_NXZ @ 1355 NONAME ; bool QDeclarativeParser::Variant::isBoolean(void) const
+	??0QDeclarativeAction@@QAE@XZ @ 1356 NONAME ; QDeclarativeAction::QDeclarativeAction(void)
+	?signalOffset@QDeclarativeOpenMetaObjectType@@QBEHXZ @ 1357 NONAME ; int QDeclarativeOpenMetaObjectType::signalOffset(void) const
+	?index@QMetaEnumBuilder@@QBEHXZ @ 1358 NONAME ; int QMetaEnumBuilder::index(void) const
+	?setResettable@QMetaPropertyBuilder@@QAEX_N@Z @ 1359 NONAME ; void QMetaPropertyBuilder::setResettable(bool)
+	??0QDeclarativeError@@QAE@ABV0@@Z @ 1360 NONAME ; QDeclarativeError::QDeclarativeError(class QDeclarativeError const &)
+	?classInfoCount@QMetaObjectBuilder@@QBEHXZ @ 1361 NONAME ; int QMetaObjectBuilder::classInfoCount(void) const
+	?isObject@QDeclarativeDomValue@@QBE_NXZ @ 1362 NONAME ; bool QDeclarativeDomValue::isObject(void) const
+	?left@QDeclarativeScaleGrid@@QBEHXZ @ 1363 NONAME ; int QDeclarativeScaleGrid::left(void) const
+	?qt_metacast@QDeclarativeDebugEnginesQuery@@UAEPAXPBD@Z @ 1364 NONAME ; void * QDeclarativeDebugEnginesQuery::qt_metacast(char const *)
+	?d_func@QDeclarativeView@@AAEPAVQDeclarativeViewPrivate@@XZ @ 1365 NONAME ; class QDeclarativeViewPrivate * QDeclarativeView::d_func(void)
+	?addWatch@QDeclarativeEngineDebug@@QAEPAVQDeclarativeDebugPropertyWatch@@ABVQDeclarativeDebugPropertyReference@@PAVQObject@@@Z @ 1366 NONAME ; class QDeclarativeDebugPropertyWatch * QDeclarativeEngineDebug::addWatch(class QDeclarativeDebugPropertyReference const &, class QObject *)
+	?stateChanged@QDeclarativeStateGroup@@IAEXABVQString@@@Z @ 1367 NONAME ; void QDeclarativeStateGroup::stateChanged(class QString const &)
+	??0QDeclarativeDomValueValueSource@@QAE@XZ @ 1368 NONAME ; QDeclarativeDomValueValueSource::QDeclarativeDomValueValueSource(void)
+	?customStringConverter@QDeclarativeMetaType@@SAP6A?AVQVariant@@ABVQString@@@ZH@Z @ 1369 NONAME ; class QVariant (*)(class QString const &) QDeclarativeMetaType::customStringConverter(int)
+	?baselineOffsetChanged@QDeclarativeAnchors@@IAEXXZ @ 1370 NONAME ; void QDeclarativeAnchors::baselineOffsetChanged(void)
+	?tr@QDeclarativeView@@SA?AVQString@@PBD0H@Z @ 1371 NONAME ; class QString QDeclarativeView::tr(char const *, char const *, int)
+	??4QDeclarativeDebugFileReference@@QAEAAV0@ABV0@@Z @ 1372 NONAME ; class QDeclarativeDebugFileReference & QDeclarativeDebugFileReference::operator=(class QDeclarativeDebugFileReference const &)
+	?eventFilter@QDeclarativeView@@MAE_NPAVQObject@@PAVQEvent@@@Z @ 1373 NONAME ; bool QDeclarativeView::eventFilter(class QObject *, class QEvent *)
+	??1QDeclarativeView@@UAE@XZ @ 1374 NONAME ; QDeclarativeView::~QDeclarativeView(void)
+	?verticalCenter@QDeclarativeAnchors@@QBE?AVQDeclarativeAnchorLine@@XZ @ 1375 NONAME ; class QDeclarativeAnchorLine QDeclarativeAnchors::verticalCenter(void) const
+	?setIsFlag@QMetaEnumBuilder@@QAEX_N@Z @ 1376 NONAME ; void QMetaEnumBuilder::setIsFlag(bool)
+	?trUtf8@QDeclarativeDebugConnection@@SA?AVQString@@PBD0H@Z @ 1377 NONAME ; class QString QDeclarativeDebugConnection::trUtf8(char const *, char const *, int)
+	?majorVersion@QDeclarativeType@@QBEHXZ @ 1378 NONAME ; int QDeclarativeType::majorVersion(void) const
+	?trUtf8@QDeclarativeDebugObjectExpressionWatch@@SA?AVQString@@PBD0@Z @ 1379 NONAME ; class QString QDeclarativeDebugObjectExpressionWatch::trUtf8(char const *, char const *)
+	?baseUrl@QDeclarativeEngine@@QBE?AVQUrl@@XZ @ 1380 NONAME ; class QUrl QDeclarativeEngine::baseUrl(void) const
+	??6QDeclarativeInfo@@QAEAAV0@PBX@Z @ 1381 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(void const *)
+	?setTop@QDeclarativeAnchors@@QAEXABVQDeclarativeAnchorLine@@@Z @ 1382 NONAME ; void QDeclarativeAnchors::setTop(class QDeclarativeAnchorLine const &)
+	?setEnabled@QDeclarativeBinding@@UAEX_NV?$QFlags@W4WriteFlag@QDeclarativePropertyPrivate@@@@@Z @ 1383 NONAME ; void QDeclarativeBinding::setEnabled(bool, class QFlags<enum QDeclarativePropertyPrivate::WriteFlag>)
+	??_EQDeclarativeNetworkAccessManagerFactory@@UAE@I@Z @ 1384 NONAME ; QDeclarativeNetworkAccessManagerFactory::~QDeclarativeNetworkAccessManagerFactory(unsigned int)
+	?qmlTypes@QDeclarativeMetaType@@SA?AV?$QList@PAVQDeclarativeType@@@@XZ @ 1385 NONAME ; class QList<class QDeclarativeType *> QDeclarativeMetaType::qmlTypes(void)
+	?valueTypeCoreIndex@QDeclarativePropertyPrivate@@SAHABVQDeclarativeProperty@@@Z @ 1386 NONAME ; int QDeclarativePropertyPrivate::valueTypeCoreIndex(class QDeclarativeProperty const &)
+	?writeEnumProperty@QDeclarativePropertyPrivate@@SA_NABVQMetaProperty@@HPAVQObject@@ABVQVariant@@H@Z @ 1387 NONAME ; bool QDeclarativePropertyPrivate::writeEnumProperty(class QMetaProperty const &, int, class QObject *, class QVariant const &, int)
+	?setEnabled@QDeclarativeDebugClient@@QAEX_N@Z @ 1388 NONAME ; void QDeclarativeDebugClient::setEnabled(bool)
+	??1QMetaObjectBuilder@@UAE@XZ @ 1389 NONAME ; QMetaObjectBuilder::~QMetaObjectBuilder(void)
+	?tr@QDeclarativeStateOperation@@SA?AVQString@@PBD0@Z @ 1390 NONAME ; class QString QDeclarativeStateOperation::tr(char const *, char const *)
+	?clear@QPacket@@QAEXXZ @ 1391 NONAME ; void QPacket::clear(void)
+	?getStaticMetaObject@QDeclarativeDebugClient@@SAABUQMetaObject@@XZ @ 1392 NONAME ; struct QMetaObject const & QDeclarativeDebugClient::getStaticMetaObject(void)
+	??0QDeclarativeDomList@@QAE@ABV0@@Z @ 1393 NONAME ; QDeclarativeDomList::QDeclarativeDomList(class QDeclarativeDomList const &)
+	?gridTop@QDeclarativeGridScaledImage@@QBEHXZ @ 1394 NONAME ; int QDeclarativeGridScaledImage::gridTop(void) const
+	?setUrl@QDeclarativeError@@QAEXABVQUrl@@@Z @ 1395 NONAME ; void QDeclarativeError::setUrl(class QUrl const &)
+	?setMaximumPacketSize@QPacketProtocol@@QAEHH@Z @ 1396 NONAME ; int QPacketProtocol::setMaximumPacketSize(int)
+	??_EQDeclarativeAction@@QAE@I@Z @ 1397 NONAME ; QDeclarativeAction::~QDeclarativeAction(unsigned int)
+	?trUtf8@QDeclarativeDebugWatch@@SA?AVQString@@PBD0@Z @ 1398 NONAME ; class QString QDeclarativeDebugWatch::trUtf8(char const *, char const *)
+	?read@QDeclarativeProperty@@SA?AVQVariant@@PAVQObject@@ABVQString@@@Z @ 1399 NONAME ; class QVariant QDeclarativeProperty::read(class QObject *, class QString const &)
+	?widthValid@QDeclarativeItem@@IBE_NXZ @ 1400 NONAME ; bool QDeclarativeItem::widthValid(void) const
+	?staticMetaObject@QDeclarativeState@@2UQMetaObject@@B @ 1401 NONAME ; struct QMetaObject const QDeclarativeState::staticMetaObject
+	?setAccess@QMetaMethodBuilder@@QAEXW4Access@QMetaMethod@@@Z @ 1402 NONAME ; void QMetaMethodBuilder::setAccess(enum QMetaMethod::Access)
+	??0QDeclarativeAction@@QAE@PAVQObject@@ABVQString@@PAVQDeclarativeContext@@ABVQVariant@@@Z @ 1403 NONAME ; QDeclarativeAction::QDeclarativeAction(class QObject *, class QString const &, class QDeclarativeContext *, class QVariant const &)
+	?staticMetaObject@QDeclarativeDebugClient@@2UQMetaObject@@B @ 1404 NONAME ; struct QMetaObject const QDeclarativeDebugClient::staticMetaObject
+	?trUtf8@QDeclarativeDebugEnginesQuery@@SA?AVQString@@PBD0@Z @ 1405 NONAME ; class QString QDeclarativeDebugEnginesQuery::trUtf8(char const *, char const *)
+	?d_func@QDeclarativeExpression@@ABEPBVQDeclarativeExpressionPrivate@@XZ @ 1406 NONAME ; class QDeclarativeExpressionPrivate const * QDeclarativeExpression::d_func(void) const
+	??1QDeclarativeValueType@@UAE@XZ @ 1407 NONAME ; QDeclarativeValueType::~QDeclarativeValueType(void)
+	?setBaseUrl@QDeclarativeContext@@QAEXABVQUrl@@@Z @ 1408 NONAME ; void QDeclarativeContext::setBaseUrl(class QUrl const &)
+	??_EQDeclarativeAbstractBinding@@UAE@I@Z @ 1409 NONAME ; QDeclarativeAbstractBinding::~QDeclarativeAbstractBinding(unsigned int)
+	?queryExpressionResult@QDeclarativeEngineDebug@@QAEPAVQDeclarativeDebugExpressionQuery@@HABVQString@@PAVQObject@@@Z @ 1410 NONAME ; class QDeclarativeDebugExpressionQuery * QDeclarativeEngineDebug::queryExpressionResult(int, class QString const &, class QObject *)
+	?indexOfMethod@QMetaObjectBuilder@@QAEHABVQByteArray@@@Z @ 1411 NONAME ; int QMetaObjectBuilder::indexOfMethod(class QByteArray const &)
+	?setCached@QDeclarativeOpenMetaObject@@QAEX_N@Z @ 1412 NONAME ; void QDeclarativeOpenMetaObject::setCached(bool)
+	?length@QDeclarativeDomList@@QBEHXZ @ 1413 NONAME ; int QDeclarativeDomList::length(void) const
+	?horizontalTileRule@QDeclarativeGridScaledImage@@QBE?AW4TileMode@QDeclarativeBorderImage@@XZ @ 1414 NONAME ; enum QDeclarativeBorderImage::TileMode QDeclarativeGridScaledImage::horizontalTileRule(void) const
+	??0QDeclarativeCustomParserProperty@@QAE@XZ @ 1415 NONAME ; QDeclarativeCustomParserProperty::QDeclarativeCustomParserProperty(void)
+	??1QDeclarativeEngineDebug@@UAE@XZ @ 1416 NONAME ; QDeclarativeEngineDebug::~QDeclarativeEngineDebug(void)
+	?qt_metacall@QDeclarativeEngineDebug@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1417 NONAME ; int QDeclarativeEngineDebug::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?q_func@QDeclarativeItemPrivate@@ABEPBVQDeclarativeItem@@XZ @ 1418 NONAME ; class QDeclarativeItem const * QDeclarativeItemPrivate::q_func(void) const
+	?customParser@QDeclarativeType@@QBEPAVQDeclarativeCustomParser@@XZ @ 1419 NONAME ; class QDeclarativeCustomParser * QDeclarativeType::customParser(void) const
+	?setSourceLocation@QDeclarativeExpression@@QAEXABVQString@@H@Z @ 1420 NONAME ; void QDeclarativeExpression::setSourceLocation(class QString const &, int)
+	?equal@QDeclarativePropertyPrivate@@SA_NPBUQMetaObject@@0@Z @ 1421 NONAME ; bool QDeclarativePropertyPrivate::equal(struct QMetaObject const *, struct QMetaObject const *)
+	??_EQDeclarativeExtensionPlugin@@UAE@I@Z @ 1422 NONAME ; QDeclarativeExtensionPlugin::~QDeclarativeExtensionPlugin(unsigned int)
+	?write@QDeclarativePropertyPrivate@@SA_NPAVQObject@@ABUData@QDeclarativePropertyCache@@ABVQVariant@@PAVQDeclarativeContextData@@V?$QFlags@W4WriteFlag@QDeclarativePropertyPrivate@@@@@Z @ 1423 NONAME ; bool QDeclarativePropertyPrivate::write(class QObject *, struct QDeclarativePropertyCache::Data const &, class QVariant const &, class QDeclarativeContextData *, class QFlags<enum QDeclarativePropertyPrivate::WriteFlag>)
+	?debugId@QDeclarativeDebugEngineReference@@QBEHXZ @ 1424 NONAME ; int QDeclarativeDebugEngineReference::debugId(void) const
+	?metaObject@QDeclarativeDebugEnginesQuery@@UBEPBUQMetaObject@@XZ @ 1425 NONAME ; struct QMetaObject const * QDeclarativeDebugEnginesQuery::metaObject(void) const
+	??_EQDeclarativeScaleGrid@@UAE@I@Z @ 1426 NONAME ; QDeclarativeScaleGrid::~QDeclarativeScaleGrid(unsigned int)
+	??1QDeclarativeDebugPropertyReference@@QAE@XZ @ 1427 NONAME ; QDeclarativeDebugPropertyReference::~QDeclarativeDebugPropertyReference(void)
+	?componentComplete@QDeclarativeAnchors@@QAEXXZ @ 1428 NONAME ; void QDeclarativeAnchors::componentComplete(void)
+	??1QDeclarativeDomObject@@QAE@XZ @ 1429 NONAME ; QDeclarativeDomObject::~QDeclarativeDomObject(void)
+	?expression@QDeclarativeDebugObjectExpressionWatch@@QBE?AVQString@@XZ @ 1430 NONAME ; class QString QDeclarativeDebugObjectExpressionWatch::expression(void) const
+	?metaObject@QListModelInterface@@UBEPBUQMetaObject@@XZ @ 1431 NONAME ; struct QMetaObject const * QListModelInterface::metaObject(void) const
+	?key@QMetaEnumBuilder@@QBE?AVQByteArray@@H@Z @ 1432 NONAME ; class QByteArray QMetaEnumBuilder::key(int) const
+	?d_func@QMetaEnumBuilder@@ABEPAVQMetaEnumBuilderPrivate@@XZ @ 1433 NONAME ; class QMetaEnumBuilderPrivate * QMetaEnumBuilder::d_func(void) const
+	??6QDeclarativeInfo@@QAEAAV0@PBD@Z @ 1434 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(char const *)
+	?d_func@QDeclarativeState@@AAEPAVQDeclarativeStatePrivate@@XZ @ 1435 NONAME ; class QDeclarativeStatePrivate * QDeclarativeState::d_func(void)
+	??0QDeclarativeDebugEnginesQuery@@AAE@PAVQObject@@@Z @ 1436 NONAME ; QDeclarativeDebugEnginesQuery::QDeclarativeDebugEnginesQuery(class QObject *)
+	?bottomChanged@QDeclarativeAnchors@@IAEXXZ @ 1437 NONAME ; void QDeclarativeAnchors::bottomChanged(void)
+	?qListTypeId@QDeclarativeType@@QBEHXZ @ 1438 NONAME ; int QDeclarativeType::qListTypeId(void) const
+	?setSelectedState@QDeclarativeDebuggerStatus@@UAEX_N@Z @ 1439 NONAME ; void QDeclarativeDebuggerStatus::setSelectedState(bool)
+	?staticMetaObject@QDeclarativeEngineDebug@@2UQMetaObject@@B @ 1440 NONAME ; struct QMetaObject const QDeclarativeEngineDebug::staticMetaObject
+	?setExtends@QDeclarativeState@@QAEXABVQString@@@Z @ 1441 NONAME ; void QDeclarativeState::setExtends(class QString const &)
+	??4QDeclarativeError@@QAEAAV0@ABV0@@Z @ 1442 NONAME ; class QDeclarativeError & QDeclarativeError::operator=(class QDeclarativeError const &)
+	?tr@QDeclarativeDebugEnginesQuery@@SA?AVQString@@PBD0H@Z @ 1443 NONAME ; class QString QDeclarativeDebugEnginesQuery::tr(char const *, char const *, int)
+	?d_func@QDeclarativeTransition@@AAEPAVQDeclarativeTransitionPrivate@@XZ @ 1444 NONAME ; class QDeclarativeTransitionPrivate * QDeclarativeTransition::d_func(void)
+	?propertyWritten@QDeclarativeOpenMetaObject@@MAEXH@Z @ 1445 NONAME ; void QDeclarativeOpenMetaObject::propertyWritten(int)
+	?trUtf8@QListModelInterface@@SA?AVQString@@PBD0@Z @ 1446 NONAME ; class QString QListModelInterface::trUtf8(char const *, char const *)
+	?setColumnNumber@QDeclarativeDebugFileReference@@QAEXH@Z @ 1447 NONAME ; void QDeclarativeDebugFileReference::setColumnNumber(int)
+	?drawRect@QDeclarativeRectangle@@AAEXAAVQPainter@@@Z @ 1448 NONAME ; void QDeclarativeRectangle::drawRect(class QPainter &)
+	?read@QDeclarativeProperty@@QBE?AVQVariant@@XZ @ 1449 NONAME ; class QVariant QDeclarativeProperty::read(void) const
+	?isEmpty@QDeclarativePropertyMap@@QBE_NXZ @ 1450 NONAME ; bool QDeclarativePropertyMap::isEmpty(void) const
+	??6@YAAAVQDataStream@@AAV0@ABUQDeclarativeObjectData@QDeclarativeEngineDebugServer@@@Z @ 1451 NONAME ; class QDataStream & operator<<(class QDataStream &, struct QDeclarativeEngineDebugServer::QDeclarativeObjectData const &)
+	?trUtf8@QDeclarativeDebugObjectQuery@@SA?AVQString@@PBD0H@Z @ 1452 NONAME ; class QString QDeclarativeDebugObjectQuery::trUtf8(char const *, char const *, int)
+	??0QDeclarativeBinding@@QAE@ABVQString@@PAVQObject@@PAVQDeclarativeContext@@1@Z @ 1453 NONAME ; QDeclarativeBinding::QDeclarativeBinding(class QString const &, class QObject *, class QDeclarativeContext *, class QObject *)
+	?tr@QDeclarativeItem@@SA?AVQString@@PBD0@Z @ 1454 NONAME ; class QString QDeclarativeItem::tr(char const *, char const *)
+	??6QDeclarativeInfo@@QAEAAV0@G@Z @ 1455 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(unsigned short)
+	??0QDeclarativeStateOperation@@IAE@AAVQObjectPrivate@@PAVQObject@@@Z @ 1456 NONAME ; QDeclarativeStateOperation::QDeclarativeStateOperation(class QObjectPrivate &, class QObject *)
+	?notifyOnValueChanged@QDeclarativeExpression@@QBE_NXZ @ 1457 NONAME ; bool QDeclarativeExpression::notifyOnValueChanged(void) const
+	?keyPressPreHandler@QDeclarativeItem@@IAEXPAVQKeyEvent@@@Z @ 1458 NONAME ; void QDeclarativeItem::keyPressPreHandler(class QKeyEvent *)
+	?trUtf8@QDeclarativeItem@@SA?AVQString@@PBD0H@Z @ 1459 NONAME ; class QString QDeclarativeItem::trUtf8(char const *, char const *, int)
+	?addWatch@QDeclarativeEngineDebug@@QAEPAVQDeclarativeDebugWatch@@ABVQDeclarativeDebugFileReference@@PAVQObject@@@Z @ 1460 NONAME ; class QDeclarativeDebugWatch * QDeclarativeEngineDebug::addWatch(class QDeclarativeDebugFileReference const &, class QObject *)
+	?paintedHeight@QDeclarativeText@@QBEMXZ @ 1461 NONAME ; float QDeclarativeText::paintedHeight(void) const
+	?tr@QDeclarativeTransition@@SA?AVQString@@PBD0@Z @ 1462 NONAME ; class QString QDeclarativeTransition::tr(char const *, char const *)
+	?transform@QDeclarativeItem@@QAE?AV?$QDeclarativeListProperty@VQGraphicsTransform@@@@XZ @ 1463 NONAME ; class QDeclarativeListProperty<class QGraphicsTransform> QDeclarativeItem::transform(void)
+	?leftChanged@QDeclarativeAnchors@@IAEXXZ @ 1464 NONAME ; void QDeclarativeAnchors::leftChanged(void)
+	?topChanged@QDeclarativeAnchors@@IAEXXZ @ 1465 NONAME ; void QDeclarativeAnchors::topChanged(void)
+	??0QMetaObjectBuilder@@QAE@XZ @ 1466 NONAME ; QMetaObjectBuilder::QMetaObjectBuilder(void)
+	?asBoolean@Variant@QDeclarativeParser@@QBE_NXZ @ 1467 NONAME ; bool QDeclarativeParser::Variant::asBoolean(void) const
+	?removeEnumerator@QMetaObjectBuilder@@QAEXH@Z @ 1468 NONAME ; void QMetaObjectBuilder::removeEnumerator(int)
+	?url@QDeclarativeDomObject@@QBE?AVQUrl@@XZ @ 1469 NONAME ; class QUrl QDeclarativeDomObject::url(void) const
+	?getStaticMetaObject@QDeclarativeScaleGrid@@SAABUQMetaObject@@XZ @ 1470 NONAME ; struct QMetaObject const & QDeclarativeScaleGrid::getStaticMetaObject(void)
+	?signalExpression@QDeclarativePropertyPrivate@@SAPAVQDeclarativeExpression@@ABVQDeclarativeProperty@@@Z @ 1471 NONAME ; class QDeclarativeExpression * QDeclarativePropertyPrivate::signalExpression(class QDeclarativeProperty const &)
+	?networkAccessManagerFactory@QDeclarativeEngine@@QBEPAVQDeclarativeNetworkAccessManagerFactory@@XZ @ 1472 NONAME ; class QDeclarativeNetworkAccessManagerFactory * QDeclarativeEngine::networkAccessManagerFactory(void) const
+	?isStringList@Variant@QDeclarativeParser@@QBE_NXZ @ 1473 NONAME ; bool QDeclarativeParser::Variant::isStringList(void) const
+	?packetWritten@QPacketProtocol@@IAEXXZ @ 1474 NONAME ; void QPacketProtocol::packetWritten(void)
+	?getStaticMetaObject@QDeclarativeDebugObjectQuery@@SAABUQMetaObject@@XZ @ 1475 NONAME ; struct QMetaObject const & QDeclarativeDebugObjectQuery::getStaticMetaObject(void)
+	?isSignalProperty@QDeclarativeProperty@@QBE_NXZ @ 1476 NONAME ; bool QDeclarativeProperty::isSignalProperty(void) const
+	?d_func@QDeclarativeDebugService@@AAEPAVQDeclarativeDebugServicePrivate@@XZ @ 1477 NONAME ; class QDeclarativeDebugServicePrivate * QDeclarativeDebugService::d_func(void)
+	?qmlTypeNames@QDeclarativeMetaType@@SA?AV?$QList@VQByteArray@@@@XZ @ 1478 NONAME ; class QList<class QByteArray> QDeclarativeMetaType::qmlTypeNames(void)
+	?componentComplete@QDeclarativeItem@@MAEXXZ @ 1479 NONAME ; void QDeclarativeItem::componentComplete(void)
+	?creationContext@QDeclarativeComponent@@QBEPAVQDeclarativeContext@@XZ @ 1480 NONAME ; class QDeclarativeContext * QDeclarativeComponent::creationContext(void) const
+	?enabledChanged@QDeclarativeBehavior@@IAEXXZ @ 1481 NONAME ; void QDeclarativeBehavior::enabledChanged(void)
+	?staticMetaObject@QDeclarativeTransition@@2UQMetaObject@@B @ 1482 NONAME ; struct QMetaObject const QDeclarativeTransition::staticMetaObject
+	??0QDeclarativeInfo@@AAE@PAVQDeclarativeInfoPrivate@@@Z @ 1483 NONAME ; QDeclarativeInfo::QDeclarativeInfo(class QDeclarativeInfoPrivate *)
+	?name@QDeclarativeDebugContextReference@@QBE?AVQString@@XZ @ 1484 NONAME ; class QString QDeclarativeDebugContextReference::name(void) const
+	?propertyIndex@QDeclarativeBinding@@UAEHXZ @ 1485 NONAME ; int QDeclarativeBinding::propertyIndex(void)
+	?tr@QDeclarativeDebugWatch@@SA?AVQString@@PBD0H@Z @ 1486 NONAME ; class QString QDeclarativeDebugWatch::tr(char const *, char const *, int)
+	?qt_metacast@QDeclarativePropertyMap@@UAEPAXPBD@Z @ 1487 NONAME ; void * QDeclarativePropertyMap::qt_metacast(char const *)
+	?classBegin@QDeclarativeAnchors@@QAEXXZ @ 1488 NONAME ; void QDeclarativeAnchors::classBegin(void)
+	?color@QDeclarativeText@@QBE?AVQColor@@XZ @ 1489 NONAME ; class QColor QDeclarativeText::color(void) const
+	?metaObject@QPacketProtocol@@UBEPBUQMetaObject@@XZ @ 1490 NONAME ; struct QMetaObject const * QPacketProtocol::metaObject(void) const
+	??4QDeclarativeGridScaledImage@@QAEAAV0@ABV0@@Z @ 1491 NONAME ; class QDeclarativeGridScaledImage & QDeclarativeGridScaledImage::operator=(class QDeclarativeGridScaledImage const &)
+	?tr@QDeclarativeScaleGrid@@SA?AVQString@@PBD0@Z @ 1492 NONAME ; class QString QDeclarativeScaleGrid::tr(char const *, char const *)
+	??1QDeclarativeScriptString@@QAE@XZ @ 1493 NONAME ; QDeclarativeScriptString::~QDeclarativeScriptString(void)
+	??1QDeclarativePropertyValueSource@@UAE@XZ @ 1494 NONAME ; QDeclarativePropertyValueSource::~QDeclarativePropertyValueSource(void)
+	?position@QDeclarativeDomList@@QBEHXZ @ 1495 NONAME ; int QDeclarativeDomList::position(void) const
+	?toQObject@QDeclarativeMetaType@@SAPAVQObject@@ABVQVariant@@PA_N@Z @ 1496 NONAME ; class QObject * QDeclarativeMetaType::toQObject(class QVariant const &, bool *)
+	??_EQDeclarativeItem@@UAE@I@Z @ 1497 NONAME ; QDeclarativeItem::~QDeclarativeItem(unsigned int)
+	?getStaticMetaObject@QDeclarativeContext@@SAABUQMetaObject@@XZ @ 1498 NONAME ; struct QMetaObject const & QDeclarativeContext::getStaticMetaObject(void)
+	?metaObject@QDeclarativeListModel@@UBEPBUQMetaObject@@XZ @ 1499 NONAME ; struct QMetaObject const * QDeclarativeListModel::metaObject(void) const
+	?transformChanged@QDeclarativeItemPrivate@@UAEXXZ @ 1500 NONAME ; void QDeclarativeItemPrivate::transformChanged(void)
+	?remove@QDeclarativeListModel@@QAEXH@Z @ 1501 NONAME ; void QDeclarativeListModel::remove(int)
+	?setResizeMode@QDeclarativeView@@QAEXW4ResizeMode@1@@Z @ 1502 NONAME ; void QDeclarativeView::setResizeMode(enum QDeclarativeView::ResizeMode)
+	?left@QDeclarativeAnchors@@QBE?AVQDeclarativeAnchorLine@@XZ @ 1503 NONAME ; class QDeclarativeAnchorLine QDeclarativeAnchors::left(void) const
+	?flags@QMetaObjectBuilder@@QBE?AV?$QFlags@W4MetaObjectFlag@QMetaObjectBuilder@@@@XZ @ 1504 NONAME ; class QFlags<enum QMetaObjectBuilder::MetaObjectFlag> QMetaObjectBuilder::flags(void) const
+	??0QDeclarativeItem@@IAE@AAVQDeclarativeItemPrivate@@PAV0@@Z @ 1505 NONAME ; QDeclarativeItem::QDeclarativeItem(class QDeclarativeItemPrivate &, class QDeclarativeItem *)
+	??0QDeclarativeContext@@QAE@PAV0@PAVQObject@@@Z @ 1506 NONAME ; QDeclarativeContext::QDeclarativeContext(class QDeclarativeContext *, class QObject *)
+	?trUtf8@QDeclarativeDebugConnection@@SA?AVQString@@PBD0@Z @ 1507 NONAME ; class QString QDeclarativeDebugConnection::trUtf8(char const *, char const *)
+	??1QDeclarativeDebugEnginesQuery@@UAE@XZ @ 1508 NONAME ; QDeclarativeDebugEnginesQuery::~QDeclarativeDebugEnginesQuery(void)
+	?getStaticMetaObject@QDeclarativeTransition@@SAABUQMetaObject@@XZ @ 1509 NONAME ; struct QMetaObject const & QDeclarativeTransition::getStaticMetaObject(void)
+	?trUtf8@QDeclarativeDebugObjectExpressionWatch@@SA?AVQString@@PBD0H@Z @ 1510 NONAME ; class QString QDeclarativeDebugObjectExpressionWatch::trUtf8(char const *, char const *, int)
+	?metaObject@QDeclarativePropertyMap@@UBEPBUQMetaObject@@XZ @ 1511 NONAME ; struct QMetaObject const * QDeclarativePropertyMap::metaObject(void) const
+	?componentRoot@QDeclarativeDomComponent@@QBE?AVQDeclarativeDomObject@@XZ @ 1512 NONAME ; class QDeclarativeDomObject QDeclarativeDomComponent::componentRoot(void) const
+	?metaObject@QDeclarativeDebugConnection@@UBEPBUQMetaObject@@XZ @ 1513 NONAME ; struct QMetaObject const * QDeclarativeDebugConnection::metaObject(void) const
+	?setTag@QMetaMethodBuilder@@QAEXABVQByteArray@@@Z @ 1514 NONAME ; void QMetaMethodBuilder::setTag(class QByteArray const &)
+	?objects@QDeclarativeDebugContextReference@@QBE?AV?$QList@VQDeclarativeDebugObjectReference@@@@XZ @ 1515 NONAME ; class QList<class QDeclarativeDebugObjectReference> QDeclarativeDebugContextReference::objects(void) const
+	??4Variant@QDeclarativeParser@@QAEAAV01@ABV01@@Z @ 1516 NONAME ; class QDeclarativeParser::Variant & QDeclarativeParser::Variant::operator=(class QDeclarativeParser::Variant const &)
+	?tr@QDeclarativeStateGroup@@SA?AVQString@@PBD0@Z @ 1517 NONAME ; class QString QDeclarativeStateGroup::tr(char const *, char const *)
+	?setScopeObject@QDeclarativeScriptString@@QAEXPAVQObject@@@Z @ 1518 NONAME ; void QDeclarativeScriptString::setScopeObject(class QObject *)
+	??1QDeclarativeBinding@@MAE@XZ @ 1519 NONAME ; QDeclarativeBinding::~QDeclarativeBinding(void)
+	?importPlugin@QDeclarativeEngine@@QAE_NABVQString@@0PAV2@@Z @ 1520 NONAME ; bool QDeclarativeEngine::importPlugin(class QString const &, class QString const &, class QString *)
+	?setBottomMargin@QDeclarativeAnchors@@QAEXM@Z @ 1521 NONAME ; void QDeclarativeAnchors::setBottomMargin(float)
+	?geometryChanged@QDeclarativeItem@@MAEXABVQRectF@@0@Z @ 1522 NONAME ; void QDeclarativeItem::geometryChanged(class QRectF const &, class QRectF const &)
+	?toValueSource@QDeclarativeDomValue@@QBE?AVQDeclarativeDomValueValueSource@@XZ @ 1523 NONAME ; class QDeclarativeDomValueValueSource QDeclarativeDomValue::toValueSource(void) const
+	?hAlign@QDeclarativeText@@QBE?AW4HAlignment@1@XZ @ 1524 NONAME ; enum QDeclarativeText::HAlignment QDeclarativeText::hAlign(void) const
+	?when@QDeclarativeState@@QBEPAVQDeclarativeBinding@@XZ @ 1525 NONAME ; class QDeclarativeBinding * QDeclarativeState::when(void) const
+	?setRootObject@QDeclarativeView@@MAEXPAVQObject@@@Z @ 1526 NONAME ; void QDeclarativeView::setRootObject(class QObject *)
+	?resetBottom@QDeclarativeAnchors@@QAEXXZ @ 1527 NONAME ; void QDeclarativeAnchors::resetBottom(void)
+	?qt_metacall@QDeclarativePropertyMap@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1528 NONAME ; int QDeclarativePropertyMap::qt_metacall(enum QMetaObject::Call, int, void * *)
+	??0QDeclarativeDebugEngineReference@@QAE@ABV0@@Z @ 1529 NONAME ; QDeclarativeDebugEngineReference::QDeclarativeDebugEngineReference(class QDeclarativeDebugEngineReference const &)
+	?objectDebugId@QDeclarativeDebugPropertyReference@@QBEHXZ @ 1530 NONAME ; int QDeclarativeDebugPropertyReference::objectDebugId(void) const
+	?trUtf8@QDeclarativeDebugQuery@@SA?AVQString@@PBD0@Z @ 1531 NONAME ; class QString QDeclarativeDebugQuery::trUtf8(char const *, char const *)
+	??AQDeclarativeValueTypeFactory@@QBEPAVQDeclarativeValueType@@H@Z @ 1532 NONAME ; class QDeclarativeValueType * QDeclarativeValueTypeFactory::operator[](int) const
+	?siblingOrderChange@QDeclarativeItemPrivate@@UAEXXZ @ 1533 NONAME ; void QDeclarativeItemPrivate::siblingOrderChange(void)
+	??1QDeclarativeState@@UAE@XZ @ 1534 NONAME ; QDeclarativeState::~QDeclarativeState(void)
+	?paint@QDeclarativeText@@UAEXPAVQPainter@@PBVQStyleOptionGraphicsItem@@PAVQWidget@@@Z @ 1535 NONAME ; void QDeclarativeText::paint(class QPainter *, class QStyleOptionGraphicsItem const *, class QWidget *)
+	??1QDeclarativeStateGroup@@UAE@XZ @ 1536 NONAME ; QDeclarativeStateGroup::~QDeclarativeStateGroup(void)
+	?setEditable@QMetaPropertyBuilder@@QAEX_N@Z @ 1537 NONAME ; void QMetaPropertyBuilder::setEditable(bool)
+	?setBinding@QDeclarativePropertyPrivate@@SAPAVQDeclarativeAbstractBinding@@ABVQDeclarativeProperty@@PAV2@V?$QFlags@W4WriteFlag@QDeclarativePropertyPrivate@@@@@Z @ 1538 NONAME ; class QDeclarativeAbstractBinding * QDeclarativePropertyPrivate::setBinding(class QDeclarativeProperty const &, class QDeclarativeAbstractBinding *, class QFlags<enum QDeclarativePropertyPrivate::WriteFlag>)
+	?trUtf8@QDeclarativeBinding@@SA?AVQString@@PBD0@Z @ 1539 NONAME ; class QString QDeclarativeBinding::trUtf8(char const *, char const *)
+	?requestSize@QDeclarativePixmap@@QBEABVQSize@@XZ @ 1540 NONAME ; class QSize const & QDeclarativePixmap::requestSize(void) const
+	?progress@QDeclarativeComponent@@QBEMXZ @ 1541 NONAME ; float QDeclarativeComponent::progress(void) const
+	?d_func@QDeclarativeState@@ABEPBVQDeclarativeStatePrivate@@XZ @ 1542 NONAME ; class QDeclarativeStatePrivate const * QDeclarativeState::d_func(void) const
+	??0QListModelInterface@@QAE@PAVQObject@@@Z @ 1543 NONAME ; QListModelInterface::QListModelInterface(class QObject *)
+	?pointFFromString@QDeclarativeStringConverters@@YA?AVQPointF@@ABVQString@@PA_N@Z @ 1544 NONAME ; class QPointF QDeclarativeStringConverters::pointFFromString(class QString const &, bool *)
+	?propertyCreated@QDeclarativeOpenMetaObject@@MAEXHAAVQMetaPropertyBuilder@@@Z @ 1545 NONAME ; void QDeclarativeOpenMetaObject::propertyCreated(int, class QMetaPropertyBuilder &)
+	?d_func@QDeclarativeView@@ABEPBVQDeclarativeViewPrivate@@XZ @ 1546 NONAME ; class QDeclarativeViewPrivate const * QDeclarativeView::d_func(void) const
+	?rootObject@QDeclarativeView@@QBEPAVQGraphicsObject@@XZ @ 1547 NONAME ; class QGraphicsObject * QDeclarativeView::rootObject(void) const
+	?tr@QDeclarativeBinding@@SA?AVQString@@PBD0H@Z @ 1548 NONAME ; class QString QDeclarativeBinding::tr(char const *, char const *, int)
+	?queryObjectRecursive@QDeclarativeEngineDebug@@QAEPAVQDeclarativeDebugObjectQuery@@ABVQDeclarativeDebugObjectReference@@PAVQObject@@@Z @ 1549 NONAME ; class QDeclarativeDebugObjectQuery * QDeclarativeEngineDebug::queryObjectRecursive(class QDeclarativeDebugObjectReference const &, class QObject *)
+	?prepare@QDeclarativeTransition@@QAEXAAV?$QList@VQDeclarativeAction@@@@AAV?$QList@VQDeclarativeProperty@@@@PAVQDeclarativeTransitionManager@@@Z @ 1550 NONAME ; void QDeclarativeTransition::prepare(class QList<class QDeclarativeAction> &, class QList<class QDeclarativeProperty> &, class QDeclarativeTransitionManager *)
+	??6QDeclarativeInfo@@QAEAAV0@ABVQUrl@@@Z @ 1551 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(class QUrl const &)
+	?scopeObject@QDeclarativeExpression@@QBEPAVQObject@@XZ @ 1552 NONAME ; class QObject * QDeclarativeExpression::scopeObject(void) const
+	?isValid@QDeclarativeContext@@QBE_NXZ @ 1553 NONAME ; bool QDeclarativeContext::isValid(void) const
+	?trUtf8@QDeclarativeValueType@@SA?AVQString@@PBD0H@Z @ 1554 NONAME ; class QString QDeclarativeValueType::trUtf8(char const *, char const *, int)
+	?qmlAttachedPropertiesObjectById@@YAPAVQObject@@HPBV1@_N@Z @ 1555 NONAME ; class QObject * qmlAttachedPropertiesObjectById(int, class QObject const *, bool)
+	?constructorCount@QMetaObjectBuilder@@QBEHXZ @ 1556 NONAME ; int QMetaObjectBuilder::constructorCount(void) const
+	??0QDeclarativeDomValueValueInterceptor@@QAE@ABV0@@Z @ 1557 NONAME ; QDeclarativeDomValueValueInterceptor::QDeclarativeDomValueValueInterceptor(class QDeclarativeDomValueValueInterceptor const &)
+	?object@QDeclarativeDebugObjectQuery@@QBE?AVQDeclarativeDebugObjectReference@@XZ @ 1558 NONAME ; class QDeclarativeDebugObjectReference QDeclarativeDebugObjectQuery::object(void) const
+	??0QMetaPropertyBuilder@@QAE@XZ @ 1559 NONAME ; QMetaPropertyBuilder::QMetaPropertyBuilder(void)
+	?toMetaObject@QMetaObjectBuilder@@QBEPAUQMetaObject@@XZ @ 1560 NONAME ; struct QMetaObject * QMetaObjectBuilder::toMetaObject(void) const
+	?d_func@QDeclarativeEngine@@AAEPAVQDeclarativeEnginePrivate@@XZ @ 1561 NONAME ; class QDeclarativeEnginePrivate * QDeclarativeEngine::d_func(void)
+	?staticMetaObject@QDeclarativeRectangle@@2UQMetaObject@@B @ 1562 NONAME ; struct QMetaObject const QDeclarativeRectangle::staticMetaObject
+	?addSignal@QMetaObjectBuilder@@QAE?AVQMetaMethodBuilder@@ABVQByteArray@@@Z @ 1563 NONAME ; class QMetaMethodBuilder QMetaObjectBuilder::addSignal(class QByteArray const &)
+	?getStaticMetaObject@QDeclarativeStateGroup@@SAABUQMetaObject@@XZ @ 1564 NONAME ; struct QMetaObject const & QDeclarativeStateGroup::getStaticMetaObject(void)
+	?childrenRectChanged@QDeclarativeItem@@IAEXABVQRectF@@@Z @ 1565 NONAME ; void QDeclarativeItem::childrenRectChanged(class QRectF const &)
+	?isDesignable@QDeclarativeProperty@@QBE_NXZ @ 1566 NONAME ; bool QDeclarativeProperty::isDesignable(void) const
+	?propertyTypeCategory@QDeclarativePropertyPrivate@@QBE?AW4PropertyTypeCategory@QDeclarativeProperty@@XZ @ 1567 NONAME ; enum QDeclarativeProperty::PropertyTypeCategory QDeclarativePropertyPrivate::propertyTypeCategory(void) const
+	?setSize@QDeclarativeItem@@QAEXABVQSizeF@@@Z @ 1568 NONAME ; void QDeclarativeItem::setSize(class QSizeF const &)
+	?generateRoundedRect@QDeclarativeRectangle@@AAEXXZ @ 1569 NONAME ; void QDeclarativeRectangle::generateRoundedRect(void)
+	??0QDeclarativePixmap@@QAE@PAVQDeclarativeEngine@@ABVQUrl@@ABVQSize@@@Z @ 1570 NONAME ; QDeclarativePixmap::QDeclarativePixmap(class QDeclarativeEngine *, class QUrl const &, class QSize const &)
+	?tr@QDeclarativeDebugPropertyWatch@@SA?AVQString@@PBD0@Z @ 1571 NONAME ; class QString QDeclarativeDebugPropertyWatch::tr(char const *, char const *)
+	?propertyTypeCategory@QDeclarativeProperty@@QBE?AW4PropertyTypeCategory@1@XZ @ 1572 NONAME ; enum QDeclarativeProperty::PropertyTypeCategory QDeclarativeProperty::propertyTypeCategory(void) const
+	??0QPacketAutoSend@@AAE@PAVQPacketProtocol@@@Z @ 1573 NONAME ; QPacketAutoSend::QPacketAutoSend(class QPacketProtocol *)
+	?keyCount@QMetaEnumBuilder@@QBEHXZ @ 1574 NONAME ; int QMetaEnumBuilder::keyCount(void) const
+	??1QDeclarativeDomProperty@@QAE@XZ @ 1575 NONAME ; QDeclarativeDomProperty::~QDeclarativeDomProperty(void)
+	?url@QDeclarativePixmap@@QBEABVQUrl@@XZ @ 1576 NONAME ; class QUrl const & QDeclarativePixmap::url(void) const
+	?sendMessage@QDeclarativeDebugService@@QAEXABVQByteArray@@@Z @ 1577 NONAME ; void QDeclarativeDebugService::sendMessage(class QByteArray const &)
+	?context@QDeclarativeScriptString@@QBEPAVQDeclarativeContext@@XZ @ 1578 NONAME ; class QDeclarativeContext * QDeclarativeScriptString::context(void) const
+	?queryObject@QDeclarativeEngineDebug@@QAEPAVQDeclarativeDebugObjectQuery@@ABVQDeclarativeDebugObjectReference@@PAVQObject@@@Z @ 1579 NONAME ; class QDeclarativeDebugObjectQuery * QDeclarativeEngineDebug::queryObject(class QDeclarativeDebugObjectReference const &, class QObject *)
+	?tr@QDeclarativePropertyMap@@SA?AVQString@@PBD0H@Z @ 1580 NONAME ; class QString QDeclarativePropertyMap::tr(char const *, char const *, int)
+	?setNotifyOnValueChanged@QDeclarativeExpression@@QAEX_N@Z @ 1581 NONAME ; void QDeclarativeExpression::setNotifyOnValueChanged(bool)
+	??0QDeclarativeExpression@@IAE@PAVQDeclarativeContextData@@PAVQObject@@ABVQString@@AAVQDeclarativeExpressionPrivate@@@Z @ 1582 NONAME ; QDeclarativeExpression::QDeclarativeExpression(class QDeclarativeContextData *, class QObject *, class QString const &, class QDeclarativeExpressionPrivate &)
+	?fillChanged@QDeclarativeAnchors@@IAEXXZ @ 1583 NONAME ; void QDeclarativeAnchors::fillChanged(void)
+	?resources_append@QDeclarativeItemPrivate@@SAXPAV?$QDeclarativeListProperty@VQObject@@@@PAVQObject@@@Z @ 1584 NONAME ; void QDeclarativeItemPrivate::resources_append(class QDeclarativeListProperty<class QObject> *, class QObject *)
+	??0QDeclarativeComponent@@IAE@AAVQDeclarativeComponentPrivate@@PAVQObject@@@Z @ 1585 NONAME ; QDeclarativeComponent::QDeclarativeComponent(class QDeclarativeComponentPrivate &, class QObject *)
+	?height@QDeclarativeItem@@QBEMXZ @ 1586 NONAME ; float QDeclarativeItem::height(void) const
+	?minorVersion@QDeclarativeType@@QBEHXZ @ 1587 NONAME ; int QDeclarativeType::minorVersion(void) const
+	?qt_metacall@QDeclarativeText@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1588 NONAME ; int QDeclarativeText::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?isConnected@QDeclarativeDebugConnection@@QBE_NXZ @ 1589 NONAME ; bool QDeclarativeDebugConnection::isConnected(void) const
+	??6QDeclarativeInfo@@QAEAAV0@I@Z @ 1590 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(unsigned int)
+	?setNetworkAccessManagerFactory@QDeclarativeEngine@@QAEXPAVQDeclarativeNetworkAccessManagerFactory@@@Z @ 1591 NONAME ; void QDeclarativeEngine::setNetworkAccessManagerFactory(class QDeclarativeNetworkAccessManagerFactory *)
+	?tr@QDeclarativeDebugQuery@@SA?AVQString@@PBD0H@Z @ 1592 NONAME ; class QString QDeclarativeDebugQuery::tr(char const *, char const *, int)
+	??AQDeclarativePropertyMap@@QAEAAVQVariant@@ABVQString@@@Z @ 1593 NONAME ; class QVariant & QDeclarativePropertyMap::operator[](class QString const &)
+	??0Variant@QDeclarativeParser@@QAE@_N@Z @ 1594 NONAME ; QDeclarativeParser::Variant::Variant(bool)
+	?trUtf8@QDeclarativeState@@SA?AVQString@@PBD0H@Z @ 1595 NONAME ; class QString QDeclarativeState::trUtf8(char const *, char const *, int)
+	??0QDeclarativeStateGroup@@QAE@PAVQObject@@@Z @ 1596 NONAME ; QDeclarativeStateGroup::QDeclarativeStateGroup(class QObject *)
+	?count@QDeclarativeListReference@@QBEHXZ @ 1597 NONAME ; int QDeclarativeListReference::count(void) const
+	?location@QDeclarativeCustomParserProperty@@QBE?AULocation@QDeclarativeParser@@XZ @ 1598 NONAME ; struct QDeclarativeParser::Location QDeclarativeCustomParserProperty::location(void) const
+	?metaObject@QDeclarativePen@@UBEPBUQMetaObject@@XZ @ 1599 NONAME ; struct QMetaObject const * QDeclarativePen::metaObject(void) const
+	?url@QDeclarativeError@@QBE?AVQUrl@@XZ @ 1600 NONAME ; class QUrl QDeclarativeError::url(void) const
+	?isBinding@QDeclarativeDomValue@@QBE_NXZ @ 1601 NONAME ; bool QDeclarativeDomValue::isBinding(void) const
+	?name@QDeclarativeProperty@@QBE?AVQString@@XZ @ 1602 NONAME ; class QString QDeclarativeProperty::name(void) const
+	?asString@Variant@QDeclarativeParser@@QBE?AVQString@@XZ @ 1603 NONAME ; class QString QDeclarativeParser::Variant::asString(void) const
+	?trUtf8@QDeclarativeExtensionPlugin@@SA?AVQString@@PBD0@Z @ 1604 NONAME ; class QString QDeclarativeExtensionPlugin::trUtf8(char const *, char const *)
+	?sendMessage@QDeclarativeDebugClient@@QAEXABVQByteArray@@@Z @ 1605 NONAME ; void QDeclarativeDebugClient::sendMessage(class QByteArray const &)
+	?canAppend@QDeclarativeListReference@@QBE_NXZ @ 1606 NONAME ; bool QDeclarativeListReference::canAppend(void) const
+	??_EQDeclarativeComponent@@UAE@I@Z @ 1607 NONAME ; QDeclarativeComponent::~QDeclarativeComponent(unsigned int)
+	?get@QDeclarativeItemPrivate@@SAPAV1@PAVQDeclarativeItem@@@Z @ 1608 NONAME ; class QDeclarativeItemPrivate * QDeclarativeItemPrivate::get(class QDeclarativeItem *)
+	?staticMetaObject@QDeclarativeView@@2UQMetaObject@@B @ 1609 NONAME ; struct QMetaObject const QDeclarativeView::staticMetaObject
+	?objectToString@QDeclarativeDebugService@@SA?AVQString@@PAVQObject@@@Z @ 1610 NONAME ; class QString QDeclarativeDebugService::objectToString(class QObject *)
+	?defaultValue@QDeclarativeDomDynamicProperty@@QBE?AVQDeclarativeDomProperty@@XZ @ 1611 NONAME ; class QDeclarativeDomProperty QDeclarativeDomDynamicProperty::defaultValue(void) const
+	?relatedMetaObject@QMetaObjectBuilder@@QBEPBUQMetaObject@@H@Z @ 1612 NONAME ; struct QMetaObject const * QMetaObjectBuilder::relatedMetaObject(int) const
+	?addKey@QMetaEnumBuilder@@QAEHABVQByteArray@@H@Z @ 1613 NONAME ; int QMetaEnumBuilder::addKey(class QByteArray const &, int)
+	?setPosHelper@QDeclarativeItemPrivate@@UAEXABVQPointF@@@Z @ 1614 NONAME ; void QDeclarativeItemPrivate::setPosHelper(class QPointF const &)
+	?attributes@QMetaMethodBuilder@@QBEHXZ @ 1615 NONAME ; int QMetaMethodBuilder::attributes(void) const
+	?lineNumber@QDeclarativeDebugFileReference@@QBEHXZ @ 1616 NONAME ; int QDeclarativeDebugFileReference::lineNumber(void) const
+	?setTop@QDeclarativeScaleGrid@@QAEXH@Z @ 1617 NONAME ; void QDeclarativeScaleGrid::setTop(int)
+	?metaObject@QDeclarativeItem@@UBEPBUQMetaObject@@XZ @ 1618 NONAME ; struct QMetaObject const * QDeclarativeItem::metaObject(void) const
+	?clear@QDeclarativeAbstractBinding@@IAEXXZ @ 1619 NONAME ; void QDeclarativeAbstractBinding::clear(void)
+	?start@QDeclarativeItemPrivate@@SAXAAVQElapsedTimer@@@Z @ 1620 NONAME ; void QDeclarativeItemPrivate::start(class QElapsedTimer &)
+	?load@QDeclarativePixmap@@QAEXPAVQDeclarativeEngine@@ABVQUrl@@ABVQSize@@_N@Z @ 1621 NONAME ; void QDeclarativePixmap::load(class QDeclarativeEngine *, class QUrl const &, class QSize const &, bool)
+	?stringToRule@QDeclarativeGridScaledImage@@CA?AW4TileMode@QDeclarativeBorderImage@@ABVQString@@@Z @ 1622 NONAME ; enum QDeclarativeBorderImage::TileMode QDeclarativeGridScaledImage::stringToRule(class QString const &)
+	?setHorizontalCenter@QDeclarativeAnchors@@QAEXABVQDeclarativeAnchorLine@@@Z @ 1623 NONAME ; void QDeclarativeAnchors::setHorizontalCenter(class QDeclarativeAnchorLine const &)
+	?setFocus@QDeclarativeItem@@QAEX_N@Z @ 1624 NONAME ; void QDeclarativeItem::setFocus(bool)
+	?connectNotifySignal@QDeclarativeProperty@@QBE_NPAVQObject@@PBD@Z @ 1625 NONAME ; bool QDeclarativeProperty::connectNotifySignal(class QObject *, char const *) const
+	??4QDeclarativeProperty@@QAEAAV0@ABV0@@Z @ 1626 NONAME ; class QDeclarativeProperty & QDeclarativeProperty::operator=(class QDeclarativeProperty const &)
+	?messageReceived@QDeclarativeDebugClient@@MAEXABVQByteArray@@@Z @ 1627 NONAME ; void QDeclarativeDebugClient::messageReceived(class QByteArray const &)
+	?setImplicitWidth@QDeclarativeItem@@IAEXM@Z @ 1628 NONAME ; void QDeclarativeItem::setImplicitWidth(float)
+	?isInterface@QDeclarativeType@@QBE_NXZ @ 1629 NONAME ; bool QDeclarativeType::isInterface(void) const
+	??0QDeclarativeContext@@AAE@PAVQDeclarativeEngine@@_N@Z @ 1630 NONAME ; QDeclarativeContext::QDeclarativeContext(class QDeclarativeEngine *, bool)
+	?initialValue@QDeclarativeOpenMetaObject@@UAE?AVQVariant@@H@Z @ 1631 NONAME ; class QVariant QDeclarativeOpenMetaObject::initialValue(int)
+	?tr@QDeclarativeView@@SA?AVQString@@PBD0@Z @ 1632 NONAME ; class QString QDeclarativeView::tr(char const *, char const *)
+	?qt_metacall@QPacketProtocol@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1633 NONAME ; int QPacketProtocol::qt_metacall(enum QMetaObject::Call, int, void * *)
+	??0QDeclarativeItem@@QAE@PAV0@@Z @ 1634 NONAME ; QDeclarativeItem::QDeclarativeItem(class QDeclarativeItem *)
+	?hasDebuggingClient@QDeclarativeDebugService@@SA_NXZ @ 1635 NONAME ; bool QDeclarativeDebugService::hasDebuggingClient(void)
+	?staticMetaObject@QDeclarativeContext@@2UQMetaObject@@B @ 1636 NONAME ; struct QMetaObject const QDeclarativeContext::staticMetaObject
+	?setContextForObject@QDeclarativeEngine@@SAXPAVQObject@@PAVQDeclarativeContext@@@Z @ 1637 NONAME ; void QDeclarativeEngine::setContextForObject(class QObject *, class QDeclarativeContext *)
+	?baselineOffsetChanged@QDeclarativeItem@@IAEXM@Z @ 1638 NONAME ; void QDeclarativeItem::baselineOffsetChanged(float)
+	??6QDeclarativeInfo@@QAEAAV0@VQChar@@@Z @ 1639 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(class QChar)
+	?newObjects@QDeclarativeEngineDebug@@IAEXXZ @ 1640 NONAME ; void QDeclarativeEngineDebug::newObjects(void)
 
diff --git a/src/s60installs/bwins/QtGuiu.def b/src/s60installs/bwins/QtGuiu.def
index 21a2122..01630e2 100644
--- a/src/s60installs/bwins/QtGuiu.def
+++ b/src/s60installs/bwins/QtGuiu.def
@@ -2645,7 +2645,7 @@ EXPORTS
 	?childItems@QGraphicsItem@@QBE?AV?$QList@PAVQGraphicsItem@@@@XZ @ 2644 NONAME ; class QList<class QGraphicsItem *> QGraphicsItem::childItems(void) const
 	?children@QGraphicsItem@@QBE?AV?$QList@PAVQGraphicsItem@@@@XZ @ 2645 NONAME ; class QList<class QGraphicsItem *> QGraphicsItem::children(void) const
 	?childrenBoundingRect@QGraphicsItem@@QBE?AVQRectF@@XZ @ 2646 NONAME ; class QRectF QGraphicsItem::childrenBoundingRect(void) const
-	?childrenBoundingRectHelper@QGraphicsItemPrivate@@QAEXPAVQTransform@@PAVQRectF@@@Z @ 2647 NONAME ABSENT ; void QGraphicsItemPrivate::childrenBoundingRectHelper(class QTransform *, class QRectF *)
+	?childrenBoundingRectHelper@QGraphicsItemPrivate@@QAEXPAVQTransform@@PAVQRectF@@@Z @ 2647 NONAME ; void QGraphicsItemPrivate::childrenBoundingRectHelper(class QTransform *, class QRectF *)
 	?childrenCheckState@QTreeWidgetItem@@ABE?AVQVariant@@H@Z @ 2648 NONAME ; class QVariant QTreeWidgetItem::childrenCheckState(int) const
 	?childrenClippedToShape@QGraphicsItemPrivate@@QBE_NXZ @ 2649 NONAME ; bool QGraphicsItemPrivate::childrenClippedToShape(void) const
 	?childrenCollapsible@QSplitter@@QBE_NXZ @ 2650 NONAME ; bool QSplitter::childrenCollapsible(void) const
@@ -8181,7 +8181,7 @@ EXPORTS
 	?rowsInserted@QTreeView@@MAEXABVQModelIndex@@HH@Z @ 8180 NONAME ; void QTreeView::rowsInserted(class QModelIndex const &, int, int)
 	?rowsRemoved@QTreeView@@IAEXABVQModelIndex@@HH@Z @ 8181 NONAME ; void QTreeView::rowsRemoved(class QModelIndex const &, int, int)
 	?rubberBandSelectionMode@QGraphicsView@@QBE?AW4ItemSelectionMode@Qt@@XZ @ 8182 NONAME ; enum Qt::ItemSelectionMode QGraphicsView::rubberBandSelectionMode(void) const
-	?symbianAdjustedPosition@QDialog@@AAE_NXZ @ 8183 NONAME ; bool QDialog::symbianAdjustedPosition(void)
+	?s60AdjustedPosition@QDialog@@AAE_NXZ @ 8183 NONAME ABSENT ; bool QDialog::s60AdjustedPosition(void)
 	?s60UpdateIsOpaque@QWidgetPrivate@@QAEXXZ @ 8184 NONAME ; void QWidgetPrivate::s60UpdateIsOpaque(void)
 	?saturation@QColor@@QBEHXZ @ 8185 NONAME ; int QColor::saturation(void) const
 	?saturationF@QColor@@QBEMXZ @ 8186 NONAME ; float QColor::saturationF(void) const
@@ -12609,283 +12609,280 @@ EXPORTS
 	?currentContext@QEglContext@@CAPAV1@W4API@QEgl@@@Z @ 12608 NONAME ; class QEglContext * QEglContext::currentContext(enum QEgl::API)
 	?setFocusHelper@QGraphicsItemPrivate@@QAEXW4FocusReason@Qt@@_N1@Z @ 12609 NONAME ; void QGraphicsItemPrivate::setFocusHelper(enum Qt::FocusReason, bool, bool)
 	?errorString@QEglContext@@SA?AVQString@@H@Z @ 12610 NONAME ABSENT ; class QString QEglContext::errorString(int)
-	?positionInBlock@QTextCursor@@QBEHXZ @ 12611 NONAME ; int QTextCursor::positionInBlock(void) const
-	?height@QGraphicsItemPrivate@@UBEMXZ @ 12612 NONAME ; float QGraphicsItemPrivate::height(void) const
-	?clearUndoRedoStacks@QTextDocument@@QAEXW4Stacks@1@@Z @ 12613 NONAME ; void QTextDocument::clearUndoRedoStacks(enum QTextDocument::Stacks)
-	?mapToViewRect@QGraphicsViewPrivate@@QBE?AVQRect@@PBVQGraphicsItem@@ABVQRectF@@@Z @ 12614 NONAME ; class QRect QGraphicsViewPrivate::mapToViewRect(class QGraphicsItem const *, class QRectF const &) const
-	?findItems@QGraphicsViewPrivate@@QBE?AV?$QList@PAVQGraphicsItem@@@@ABVQRegion@@PA_NABVQTransform@@@Z @ 12615 NONAME ; class QList<class QGraphicsItem *> QGraphicsViewPrivate::findItems(class QRegion const &, bool *, class QTransform const &) const
-	?constScanLine@QImage@@QBEPBEH@Z @ 12616 NONAME ; unsigned char const * QImage::constScanLine(int) const
-	?text@QStaticText@@QBE?AVQString@@XZ @ 12617 NONAME ; class QString QStaticText::text(void) const
-	?updateLastCenterPoint@QGraphicsViewPrivate@@QAEXXZ @ 12618 NONAME ; void QGraphicsViewPrivate::updateLastCenterPoint(void)
-	?sideWidget@QWizard@@QBEPAVQWidget@@XZ @ 12619 NONAME ; class QWidget * QWizard::sideWidget(void) const
-	?verticalScroll@QGraphicsViewPrivate@@QBE_JXZ @ 12620 NONAME ; long long QGraphicsViewPrivate::verticalScroll(void) const
-	?fileInfoList@QZipReader@@QBE?AV?$QList@UFileInfo@QZipReader@@@@XZ @ 12621 NONAME ; class QList<struct QZipReader::FileInfo> QZipReader::fileInfoList(void) const
-	?setSideWidget@QWizard@@QAEXPAVQWidget@@@Z @ 12622 NONAME ; void QWizard::setSideWidget(class QWidget *)
-	?paste@QLineControl@@QAEXW4Mode@QClipboard@@@Z @ 12623 NONAME ; void QLineControl::paste(enum QClipboard::Mode)
-	?performanceHint@QStaticText@@QBE?AW4PerformanceHint@1@XZ @ 12624 NONAME ; enum QStaticText::PerformanceHint QStaticText::performanceHint(void) const
-	?frameStartIndex@QPaintBuffer@@QBEHH@Z @ 12625 NONAME ; int QPaintBuffer::frameStartIndex(int) const
-	??0QAbstractScrollAreaPrivate@@QAE@XZ @ 12626 NONAME ; QAbstractScrollAreaPrivate::QAbstractScrollAreaPrivate(void)
-	?_q_setViewportCursor@QGraphicsViewPrivate@@QAEXABVQCursor@@@Z @ 12627 NONAME ; void QGraphicsViewPrivate::_q_setViewportCursor(class QCursor const &)
-	?display@QEglContext@@QAEHXZ @ 12628 NONAME ; int QEglContext::display(void)
-	?setPartialUpdateSupport@QWindowSurface@@IAEX_N@Z @ 12629 NONAME ; void QWindowSurface::setPartialUpdateSupport(bool)
-	?transformChanged@QGraphicsItemPrivate@@UAEXXZ @ 12630 NONAME ; void QGraphicsItemPrivate::transformChanged(void)
-	?setUserData@QStaticTextItem@@QAEXPAVQStaticTextUserData@@@Z @ 12631 NONAME ; void QStaticTextItem::setUserData(class QStaticTextUserData *)
-	?isValid@FileInfo@QZipReader@@QBE_NXZ @ 12632 NONAME ; bool QZipReader::FileInfo::isValid(void) const
-	?hasSelectedText@QLabel@@QBE_NXZ @ 12633 NONAME ; bool QLabel::hasSelectedText(void) const
-	?size@QStaticText@@QBE?AVQSizeF@@XZ @ 12634 NONAME ; class QSizeF QStaticText::size(void) const
-	?processCommands@QPainterReplayer@@QAEXABVQPaintBuffer@@PAVQPainter@@HH@Z @ 12635 NONAME ; void QPainterReplayer::processCommands(class QPaintBuffer const &, class QPainter *, int, int)
-	?defaultConfig@QEgl@@YAHHW4API@1@V?$QFlags@W4ConfigOption@QEgl@@@@@Z @ 12636 NONAME ; int QEgl::defaultConfig(int, enum QEgl::API, class QFlags<enum QEgl::ConfigOption>)
-	??0QZipReader@@QAE@PAVQIODevice@@@Z @ 12637 NONAME ; QZipReader::QZipReader(class QIODevice *)
-	?configAttrib@QEglContext@@QBEHH@Z @ 12638 NONAME ; int QEglContext::configAttrib(int) const
-	?setAutoFillBackground@QGraphicsWidget@@QAEX_N@Z @ 12639 NONAME ; void QGraphicsWidget::setAutoFillBackground(bool)
-	??4QStaticText@@QAEAAV0@ABV0@@Z @ 12640 NONAME ; class QStaticText & QStaticText::operator=(class QStaticText const &)
-	?updateRegion@QGraphicsViewPrivate@@QAE_NABVQRectF@@ABVQTransform@@@Z @ 12641 NONAME ; bool QGraphicsViewPrivate::updateRegion(class QRectF const &, class QTransform const &)
-	??9QStaticText@@QBE_NABV0@@Z @ 12642 NONAME ; bool QStaticText::operator!=(class QStaticText const &) const
-	??_EQGraphicsViewPrivate@@UAE@I@Z @ 12643 NONAME ; QGraphicsViewPrivate::~QGraphicsViewPrivate(unsigned int)
-	?status@QZipReader@@QBE?AW4Status@1@XZ @ 12644 NONAME ; enum QZipReader::Status QZipReader::status(void) const
-	?autoFillBackground@QGraphicsWidget@@QBE_NXZ @ 12645 NONAME ; bool QGraphicsWidget::autoFillBackground(void) const
-	?createTextureData@QImageTextureGlyphCache@@UAEXHH@Z @ 12646 NONAME ; void QImageTextureGlyphCache::createTextureData(int, int)
-	?image@QImageTextureGlyphCache@@QBEABVQImage@@XZ @ 12647 NONAME ; class QImage const & QImageTextureGlyphCache::image(void) const
-	?extensions@QEgl@@YA?AVQString@@XZ @ 12648 NONAME ; class QString QEgl::extensions(void)
-	?pageRemoved@QWizard@@IAEXH@Z @ 12649 NONAME ; void QWizard::pageRemoved(int)
-	?init@QAbstractScrollAreaPrivate@@QAEXXZ @ 12650 NONAME ; void QAbstractScrollAreaPrivate::init(void)
-	?mapRectToScene@QGraphicsViewPrivate@@QBE?AVQRectF@@ABVQRect@@@Z @ 12651 NONAME ; class QRectF QGraphicsViewPrivate::mapRectToScene(class QRect const &) const
-	?width@QGraphicsItemPrivate@@UBEMXZ @ 12652 NONAME ; float QGraphicsItemPrivate::width(void) const
-	?toPolygon@QBezier@@QBE?AVQPolygonF@@M@Z @ 12653 NONAME ; class QPolygonF QBezier::toPolygon(float) const
-	?freeStyleOptionsArray@QGraphicsViewPrivate@@QAEXPAVQStyleOptionGraphicsItem@@@Z @ 12654 NONAME ; void QGraphicsViewPrivate::freeStyleOptionsArray(class QStyleOptionGraphicsItem *)
-	?visibilityChanged@QToolBar@@IAEX_N@Z @ 12655 NONAME ; void QToolBar::visibilityChanged(bool)
-	?updateInputMethodSensitivity@QGraphicsViewPrivate@@QAEXXZ @ 12656 NONAME ; void QGraphicsViewPrivate::updateInputMethodSensitivity(void)
-	?glyphMargin@QImageTextureGlyphCache@@UBEHXZ @ 12657 NONAME ; int QImageTextureGlyphCache::glyphMargin(void) const
-	?setTextFormat@QStaticText@@QAEXW4TextFormat@Qt@@@Z @ 12658 NONAME ; void QStaticText::setTextFormat(enum Qt::TextFormat)
-	?storeDragDropEvent@QGraphicsViewPrivate@@QAEXPBVQGraphicsSceneDragDropEvent@@@Z @ 12659 NONAME ; void QGraphicsViewPrivate::storeDragDropEvent(class QGraphicsSceneDragDropEvent const *)
-	?updateRect@QGraphicsViewPrivate@@QAE_NABVQRect@@@Z @ 12660 NONAME ; bool QGraphicsViewPrivate::updateRect(class QRect const &)
-	?fileData@QZipReader@@QBE?AVQByteArray@@ABVQString@@@Z @ 12661 NONAME ; class QByteArray QZipReader::fileData(class QString const &) const
-	?translateTouchEvent@QGraphicsViewPrivate@@SAXPAV1@PAVQTouchEvent@@@Z @ 12662 NONAME ; void QGraphicsViewPrivate::translateTouchEvent(class QGraphicsViewPrivate *, class QTouchEvent *)
-	?dispatchPendingUpdateRequests@QGraphicsViewPrivate@@QAEXXZ @ 12663 NONAME ; void QGraphicsViewPrivate::dispatchPendingUpdateRequests(void)
-	?updatePaintedViewBoundingRects@QGraphicsItemPrivate@@QAEX_N@Z @ 12664 NONAME ; void QGraphicsItemPrivate::updatePaintedViewBoundingRects(bool)
-	?setHeight@QGraphicsItemPrivate@@UAEXM@Z @ 12665 NONAME ; void QGraphicsItemPrivate::setHeight(float)
-	?isValidColor@QColor@@SA_NABVQString@@@Z @ 12666 NONAME ; bool QColor::isValidColor(class QString const &)
-	??0QStaticTextItem@@QAE@XZ @ 12667 NONAME ; QStaticTextItem::QStaticTextItem(void)
-	?updateMicroFocus@QGraphicsItem@@IAEXXZ @ 12668 NONAME ; void QGraphicsItem::updateMicroFocus(void)
-	??1QStaticText@@QAE@XZ @ 12669 NONAME ; QStaticText::~QStaticText(void)
-	?nativePixmap@QEgl@@YAPAXPAVQPixmap@@@Z @ 12670 NONAME ; void * QEgl::nativePixmap(class QPixmap *)
-	?render@QWidgetPrivate@@QAEXPAVQPaintDevice@@ABVQPoint@@ABVQRegion@@V?$QFlags@W4RenderFlag@QWidget@@@@_N@Z @ 12671 NONAME ; void QWidgetPrivate::render(class QPaintDevice *, class QPoint const &, class QRegion const &, class QFlags<enum QWidget::RenderFlag>, bool)
-	?constBits@QImage@@QBEPBEXZ @ 12672 NONAME ; unsigned char const * QImage::constBits(void) const
-	??8QStaticText@@QBE_NABV0@@Z @ 12673 NONAME ; bool QStaticText::operator==(class QStaticText const &) const
-	??0FileInfo@QZipReader@@QAE@XZ @ 12674 NONAME ; QZipReader::FileInfo::FileInfo(void)
-	?q_func@QGraphicsViewPrivate@@ABEPBVQGraphicsView@@XZ @ 12675 NONAME ; class QGraphicsView const * QGraphicsViewPrivate::q_func(void) const
-	?textFormat@QStaticText@@QBE?AW4TextFormat@Qt@@XZ @ 12676 NONAME ; enum Qt::TextFormat QStaticText::textFormat(void) const
-	?isReadable@QZipReader@@QBE_NXZ @ 12677 NONAME ; bool QZipReader::isReadable(void) const
-	?getPixmapCursor@QApplicationPrivate@@QAE?AVQPixmap@@W4CursorShape@Qt@@@Z @ 12678 NONAME ; class QPixmap QApplicationPrivate::getPixmapCursor(enum Qt::CursorShape)
-	?entryInfoAt@QZipReader@@QBE?AUFileInfo@1@H@Z @ 12679 NONAME ; struct QZipReader::FileInfo QZipReader::entryInfoAt(int) const
-	?children_append@QGraphicsItemPrivate@@SAXPAV?$QDeclarativeListProperty@VQGraphicsObject@@@@PAVQGraphicsObject@@@Z @ 12680 NONAME ; void QGraphicsItemPrivate::children_append(class QDeclarativeListProperty<class QGraphicsObject> *, class QGraphicsObject *)
-	?hasPartialUpdateSupport@QWindowSurface@@QBE_NXZ @ 12681 NONAME ; bool QWindowSurface::hasPartialUpdateSupport(void) const
-	?storeMouseEvent@QGraphicsViewPrivate@@QAEXPAVQMouseEvent@@@Z @ 12682 NONAME ; void QGraphicsViewPrivate::storeMouseEvent(class QMouseEvent *)
-	?mapToScene@QGraphicsViewPrivate@@QBE?AVQPointF@@ABV2@@Z @ 12683 NONAME ; class QPointF QGraphicsViewPrivate::mapToScene(class QPointF const &) const
-	?display@QEgl@@YAHXZ @ 12684 NONAME ; int QEgl::display(void)
-	?drawStaticText@QPainter@@QAEXABVQPoint@@ABVQStaticText@@@Z @ 12685 NONAME ; void QPainter::drawStaticText(class QPoint const &, class QStaticText const &)
-	?fillTexture@QImageTextureGlyphCache@@UAEXABUCoord@QTextureGlyphCache@@I@Z @ 12686 NONAME ; void QImageTextureGlyphCache::fillTexture(struct QTextureGlyphCache::Coord const &, unsigned int)
-	?addToPolygon@QBezier@@QBEXPAVQPolygonF@@M@Z @ 12687 NONAME ; void QBezier::addToPolygon(class QPolygonF *, float) const
-	?eglCreateImageKHR@QEgl@@YAHHHHHPBH@Z @ 12688 NONAME ; int QEgl::eglCreateImageKHR(int, int, int, int, int const *)
-	?resetWidth@QGraphicsItemPrivate@@UAEXXZ @ 12689 NONAME ; void QGraphicsItemPrivate::resetWidth(void)
-	?detach@QStaticText@@AAEXXZ @ 12690 NONAME ; void QStaticText::detach(void)
-	?totalUsed@QPixmapCache@@SAHXZ @ 12691 NONAME ; int QPixmapCache::totalUsed(void)
-	??0QKeySequence@@QAE@ABVQString@@W4SequenceFormat@0@@Z @ 12692 NONAME ; QKeySequence::QKeySequence(class QString const &, enum QKeySequence::SequenceFormat)
-	?device@QZipReader@@QBEPAVQIODevice@@XZ @ 12693 NONAME ; class QIODevice * QZipReader::device(void) const
-	?hasExtension@QEgl@@YA_NPBD@Z @ 12694 NONAME ; bool QEgl::hasExtension(char const *)
-	?mapRectFromScene@QGraphicsViewPrivate@@QBE?AVQRectF@@ABV2@@Z @ 12695 NONAME ; class QRectF QGraphicsViewPrivate::mapRectFromScene(class QRectF const &) const
-	?commandDescription@QPaintBuffer@@QBE?AVQString@@H@Z @ 12696 NONAME ; class QString QPaintBuffer::commandDescription(int) const
-	?layoutChanged@QGraphicsWidget@@IAEXXZ @ 12697 NONAME ; void QGraphicsWidget::layoutChanged(void)
-	??0QGraphicsViewPrivate@@QAE@XZ @ 12698 NONAME ; QGraphicsViewPrivate::QGraphicsViewPrivate(void)
-	?anchorAt@QPlainTextEdit@@QBE?AVQString@@ABVQPoint@@@Z @ 12699 NONAME ; class QString QPlainTextEdit::anchorAt(class QPoint const &) const
-	?getSubRange@QBezier@@QBE?AV1@MM@Z @ 12700 NONAME ; class QBezier QBezier::getSubRange(float, float) const
-	?replaceScrollBar@QAbstractScrollAreaPrivate@@QAEXPAVQScrollBar@@W4Orientation@Qt@@@Z @ 12701 NONAME ; void QAbstractScrollAreaPrivate::replaceScrollBar(class QScrollBar *, enum Qt::Orientation)
-	?mapToViewRegion@QGraphicsViewPrivate@@QBE?AVQRegion@@PBVQGraphicsItem@@ABVQRectF@@@Z @ 12702 NONAME ; class QRegion QGraphicsViewPrivate::mapToViewRegion(class QGraphicsItem const *, class QRectF const &) const
-	?allPixmaps@QPixmapCache@@SA?AV?$QList@U?$QPair@VQString@@VQPixmap@@@@@@XZ @ 12703 NONAME ; class QList<struct QPair<class QString, class QPixmap> > QPixmapCache::allPixmaps(void)
-	??_EQAbstractScrollAreaPrivate@@UAE@I@Z @ 12704 NONAME ; QAbstractScrollAreaPrivate::~QAbstractScrollAreaPrivate(unsigned int)
-	?pageAdded@QWizard@@IAEXH@Z @ 12705 NONAME ; void QWizard::pageAdded(int)
-	?populate@QTextureGlyphCache@@QAEXPAVQFontEngine@@HPBIPBUQFixedPoint@@@Z @ 12706 NONAME ; void QTextureGlyphCache::populate(class QFontEngine *, int, unsigned int const *, struct QFixedPoint const *)
-	??1QStaticTextItem@@QAE@XZ @ 12707 NONAME ; QStaticTextItem::~QStaticTextItem(void)
-	?populateSceneDragDropEvent@QGraphicsViewPrivate@@QAEXPAVQGraphicsSceneDragDropEvent@@PAVQDropEvent@@@Z @ 12708 NONAME ; void QGraphicsViewPrivate::populateSceneDragDropEvent(class QGraphicsSceneDragDropEvent *, class QDropEvent *)
-	?updateAll@QGraphicsViewPrivate@@QAEXXZ @ 12709 NONAME ; void QGraphicsViewPrivate::updateAll(void)
-	?nativeWindow@QEgl@@YAPAXPAVQWidget@@@Z @ 12710 NONAME ; void * QEgl::nativeWindow(class QWidget *)
-	?children_count@QGraphicsItemPrivate@@SAHPAV?$QDeclarativeListProperty@VQGraphicsObject@@@@@Z @ 12711 NONAME ; int QGraphicsItemPrivate::children_count(class QDeclarativeListProperty<class QGraphicsObject> *)
-	?allocStyleOptionsArray@QGraphicsViewPrivate@@QAEPAVQStyleOptionGraphicsItem@@H@Z @ 12712 NONAME ; class QStyleOptionGraphicsItem * QGraphicsViewPrivate::allocStyleOptionsArray(int)
-	?resizeTextureData@QImageTextureGlyphCache@@UAEXHH@Z @ 12713 NONAME ; void QImageTextureGlyphCache::resizeTextureData(int, int)
-	?drawPixmapFragments@QPainter@@QAEXPBVPixmapFragment@1@HABVQPixmap@@V?$QFlags@W4PixmapFragmentHint@QPainter@@@@@Z @ 12714 NONAME ; void QPainter::drawPixmapFragments(class QPainter::PixmapFragment const *, int, class QPixmap const &, class QFlags<enum QPainter::PixmapFragmentHint>)
-	?setColorFromString@QColor@@AAE_NABVQString@@@Z @ 12715 NONAME ; bool QColor::setColorFromString(class QString const &)
-	??1QAbstractScrollAreaPrivate@@UAE@XZ @ 12716 NONAME ; QAbstractScrollAreaPrivate::~QAbstractScrollAreaPrivate(void)
-	?setText@QStaticText@@QAEXABVQString@@@Z @ 12717 NONAME ; void QStaticText::setText(class QString const &)
-	?bitPlaneCount@QImage@@QBEHXZ @ 12718 NONAME ; int QImage::bitPlaneCount(void) const
-	?_q_unsetViewportCursor@QGraphicsViewPrivate@@QAEXXZ @ 12719 NONAME ; void QGraphicsViewPrivate::_q_unsetViewportCursor(void)
-	?setUpdateClip@QGraphicsViewPrivate@@QAEXPAVQGraphicsItem@@@Z @ 12720 NONAME ; void QGraphicsViewPrivate::setUpdateClip(class QGraphicsItem *)
-	?resetHeight@QGraphicsItemPrivate@@UAEXXZ @ 12721 NONAME ; void QGraphicsItemPrivate::resetHeight(void)
-	?runtimeData@QPixmapData@@UBEPAV1@XZ @ 12722 NONAME ; class QPixmapData * QPixmapData::runtimeData(void) const
-	?selectedText@QLabel@@QBE?AVQString@@XZ @ 12723 NONAME ; class QString QLabel::selectedText(void) const
-	?childrenList@QGraphicsItemPrivate@@QAE?AV?$QDeclarativeListProperty@VQGraphicsObject@@@@XZ @ 12724 NONAME ; class QDeclarativeListProperty<class QGraphicsObject> QGraphicsItemPrivate::childrenList(void)
-	?childrenChanged@QGraphicsObject@@IAEXXZ @ 12725 NONAME ; void QGraphicsObject::childrenChanged(void)
-	?recalculateContentSize@QGraphicsViewPrivate@@QAEXXZ @ 12726 NONAME ; void QGraphicsViewPrivate::recalculateContentSize(void)
-	?heightChanged@QGraphicsObject@@IAEXXZ @ 12727 NONAME ; void QGraphicsObject::heightChanged(void)
-	?name@QIcon@@QBE?AVQString@@XZ @ 12728 NONAME ; class QString QIcon::name(void) const
-	?errorString@QEgl@@YA?AVQString@@H@Z @ 12729 NONAME ; class QString QEgl::errorString(int)
-	??4FileInfo@QZipReader@@QAEAAU01@ABU01@@Z @ 12730 NONAME ; struct QZipReader::FileInfo & QZipReader::FileInfo::operator=(struct QZipReader::FileInfo const &)
-	??1QGraphicsViewPrivate@@UAE@XZ @ 12731 NONAME ; QGraphicsViewPrivate::~QGraphicsViewPrivate(void)
-	?chooseConfig@QEgl@@YAHPBVQEglProperties@@W4PixelFormatMatch@1@@Z @ 12732 NONAME ; int QEgl::chooseConfig(class QEglProperties const *, enum QEgl::PixelFormatMatch)
-	?prependGraphicsTransform@QGraphicsItemPrivate@@QAEXPAVQGraphicsTransform@@@Z @ 12733 NONAME ; void QGraphicsItemPrivate::prependGraphicsTransform(class QGraphicsTransform *)
-	?eglDestroyImageKHR@QEgl@@YAHHH@Z @ 12734 NONAME ; int QEgl::eglDestroyImageKHR(int, int)
-	?qt_draw_glyphs@@YAXPAVQPainter@@PBIPBVQPointF@@H@Z @ 12735 NONAME ; void qt_draw_glyphs(class QPainter *, unsigned int const *, class QPointF const *, int)
-	?isEmpty@QItemSelectionRange@@QBE_NXZ @ 12736 NONAME ; bool QItemSelectionRange::isEmpty(void) const
-	?count@QZipReader@@QBEHXZ @ 12737 NONAME ; int QZipReader::count(void) const
-	?centerView@QGraphicsViewPrivate@@QAEXW4ViewportAnchor@QGraphicsView@@@Z @ 12738 NONAME ; void QGraphicsViewPrivate::centerView(enum QGraphicsView::ViewportAnchor)
-	?contentsOffset@QAbstractScrollAreaPrivate@@UBE?AVQPoint@@XZ @ 12739 NONAME ; class QPoint QAbstractScrollAreaPrivate::contentsOffset(void) const
-	?_q_vslide@QAbstractScrollAreaPrivate@@QAEXH@Z @ 12740 NONAME ; void QAbstractScrollAreaPrivate::_q_vslide(int)
-	??1QZipReader@@QAE@XZ @ 12741 NONAME ; QZipReader::~QZipReader(void)
-	??_EQImageTextureGlyphCache@@UAE@I@Z @ 12742 NONAME ; QImageTextureGlyphCache::~QImageTextureGlyphCache(unsigned int)
-	?drawPixmapFragments@QPaintEngineEx@@UAEXPBVPixmapFragment@QPainter@@HABVQPixmap@@V?$QFlags@W4PixmapFragmentHint@QPainter@@@@@Z @ 12743 NONAME ; void QPaintEngineEx::drawPixmapFragments(class QPainter::PixmapFragment const *, int, class QPixmap const &, class QFlags<enum QPainter::PixmapFragmentHint>)
-	?nativeDisplay@QEgl@@YAHXZ @ 12744 NONAME ; int QEgl::nativeDisplay(void)
-	?layoutChildren@QAbstractScrollAreaPrivate@@QAEXXZ @ 12745 NONAME ; void QAbstractScrollAreaPrivate::layoutChildren(void)
-	?horizontalScroll@QGraphicsViewPrivate@@QBE_JXZ @ 12746 NONAME ; long long QGraphicsViewPrivate::horizontalScroll(void) const
-	?updateRectF@QGraphicsViewPrivate@@QAE_NABVQRectF@@@Z @ 12747 NONAME ; bool QGraphicsViewPrivate::updateRectF(class QRectF const &)
-	?setPlaceholderText@QLineEdit@@QAEXABVQString@@@Z @ 12748 NONAME ; void QLineEdit::setPlaceholderText(class QString const &)
-	?resizeEvent@QSplitterHandle@@MAEXPAVQResizeEvent@@@Z @ 12749 NONAME ; void QSplitterHandle::resizeEvent(class QResizeEvent *)
-	?drawStaticText@QPainter@@QAEXHHABVQStaticText@@@Z @ 12750 NONAME ; void QPainter::drawStaticText(int, int, class QStaticText const &)
-	?setSelection@QLabel@@QAEXHH@Z @ 12751 NONAME ; void QLabel::setSelection(int, int)
-	?q_func@QAbstractScrollAreaPrivate@@AAEPAVQAbstractScrollArea@@XZ @ 12752 NONAME ; class QAbstractScrollArea * QAbstractScrollAreaPrivate::q_func(void)
-	?updateMicroFocus@QGraphicsObject@@IAEXXZ @ 12753 NONAME ; void QGraphicsObject::updateMicroFocus(void)
-	?drawStaticText@QPainter@@QAEXABVQPointF@@ABVQStaticText@@@Z @ 12754 NONAME ; void QPainter::drawStaticText(class QPointF const &, class QStaticText const &)
-	?processPendingUpdates@QGraphicsViewPrivate@@QAEXXZ @ 12755 NONAME ; void QGraphicsViewPrivate::processPendingUpdates(void)
-	?rubberBandRegion@QGraphicsViewPrivate@@QBE?AVQRegion@@PBVQWidget@@ABVQRect@@@Z @ 12756 NONAME ; class QRegion QGraphicsViewPrivate::rubberBandRegion(class QWidget const *, class QRect const &) const
-	?children_at@QGraphicsItemPrivate@@SAPAVQGraphicsObject@@PAV?$QDeclarativeListProperty@VQGraphicsObject@@@@H@Z @ 12757 NONAME ; class QGraphicsObject * QGraphicsItemPrivate::children_at(class QDeclarativeListProperty<class QGraphicsObject> *, int)
-	?widthChanged@QGraphicsObject@@IAEXXZ @ 12758 NONAME ; void QGraphicsObject::widthChanged(void)
-	?_q_showOrHideScrollBars@QAbstractScrollAreaPrivate@@QAEXXZ @ 12759 NONAME ; void QAbstractScrollAreaPrivate::_q_showOrHideScrollBars(void)
-	?mouseMoveEventHandler@QGraphicsViewPrivate@@QAEXPAVQMouseEvent@@@Z @ 12760 NONAME ; void QGraphicsViewPrivate::mouseMoveEventHandler(class QMouseEvent *)
-	?replayLastMouseEvent@QGraphicsViewPrivate@@QAEXXZ @ 12761 NONAME ; void QGraphicsViewPrivate::replayLastMouseEvent(void)
-	??0QStaticText@@QAE@ABVQString@@@Z @ 12762 NONAME ; QStaticText::QStaticText(class QString const &)
-	?close@QZipReader@@QAEXXZ @ 12763 NONAME ; void QZipReader::close(void)
-	?geometryChanged@QGraphicsWidget@@IAEXXZ @ 12764 NONAME ; void QGraphicsWidget::geometryChanged(void)
-	?setCurveThreshold@QStrokerOps@@QAEXM@Z @ 12765 NONAME ; void QStrokerOps::setCurveThreshold(float)
-	?_q_hslide@QAbstractScrollAreaPrivate@@QAEXH@Z @ 12766 NONAME ; void QAbstractScrollAreaPrivate::_q_hslide(int)
-	?selectionStart@QLabel@@QBEHXZ @ 12767 NONAME ; int QLabel::selectionStart(void) const
-	??0QStaticText@@QAE@XZ @ 12768 NONAME ; QStaticText::QStaticText(void)
-	?curveThreshold@QStrokerOps@@QBEMXZ @ 12769 NONAME ; float QStrokerOps::curveThreshold(void) const
-	?iconName@QIconEngineV2@@QAE?AVQString@@XZ @ 12770 NONAME ; class QString QIconEngineV2::iconName(void)
-	?mapBy@QBezier@@QBE?AV1@ABVQTransform@@@Z @ 12771 NONAME ; class QBezier QBezier::mapBy(class QTransform const &) const
-	??0QZipReader@@QAE@ABVQString@@V?$QFlags@W4OpenModeFlag@QIODevice@@@@@Z @ 12772 NONAME ; QZipReader::QZipReader(class QString const &, class QFlags<enum QIODevice::OpenModeFlag>)
-	?flushDetachedPixmaps@QPixmapCache@@SAXXZ @ 12773 NONAME ; void QPixmapCache::flushDetachedPixmaps(void)
-	?exists@QZipReader@@QBE_NXZ @ 12774 NONAME ; bool QZipReader::exists(void) const
-	?prepare@QStaticText@@QAEXABVQTransform@@ABVQFont@@@Z @ 12775 NONAME ; void QStaticText::prepare(class QTransform const &, class QFont const &)
-	?paste@QTextControl@@QAEXW4Mode@QClipboard@@@Z @ 12776 NONAME ; void QTextControl::paste(enum QClipboard::Mode)
-	?horizontalAdvance@QTextLine@@QBEMXZ @ 12777 NONAME ; float QTextLine::horizontalAdvance(void) const
-	?setCurveThresholdFromTransform@QStrokerOps@@QAEXABVQTransform@@@Z @ 12778 NONAME ; void QStrokerOps::setCurveThresholdFromTransform(class QTransform const &)
-	?textWidth@QStaticText@@QBEMXZ @ 12779 NONAME ; float QStaticText::textWidth(void) const
-	?create@PixmapFragment@QPainter@@SA?AV12@ABVQPointF@@ABVQRectF@@MMMM@Z @ 12780 NONAME ; class QPainter::PixmapFragment QPainter::PixmapFragment::create(class QPointF const &, class QRectF const &, float, float, float, float)
-	?extractAll@QZipReader@@QBE_NABVQString@@@Z @ 12781 NONAME ; bool QZipReader::extractAll(class QString const &) const
-	??0FileInfo@QZipReader@@QAE@ABU01@@Z @ 12782 NONAME ; QZipReader::FileInfo::FileInfo(struct QZipReader::FileInfo const &)
-	?setTextWidth@QStaticText@@QAEXM@Z @ 12783 NONAME ; void QStaticText::setTextWidth(float)
-	?fixup@QIntValidator@@UBEXAAVQString@@@Z @ 12784 NONAME ; void QIntValidator::fixup(class QString &) const
-	?dumpAllConfigs@QEgl@@YAXXZ @ 12785 NONAME ; void QEgl::dumpAllConfigs(void)
-	?assign@QKeySequence@@AAEHABVQString@@W4SequenceFormat@1@@Z @ 12786 NONAME ; int QKeySequence::assign(class QString const &, enum QKeySequence::SequenceFormat)
-	?q_func@QAbstractScrollAreaPrivate@@ABEPBVQAbstractScrollArea@@XZ @ 12787 NONAME ; class QAbstractScrollArea const * QAbstractScrollAreaPrivate::q_func(void) const
-	?mapToScene@QGraphicsViewPrivate@@QBE?AVQRectF@@ABV2@@Z @ 12788 NONAME ; class QRectF QGraphicsViewPrivate::mapToScene(class QRectF const &) const
-	?updateScroll@QGraphicsViewPrivate@@QAEXXZ @ 12789 NONAME ; void QGraphicsViewPrivate::updateScroll(void)
-	?directoryLoaded@QFileSystemModel@@IAEXABVQString@@@Z @ 12790 NONAME ; void QFileSystemModel::directoryLoaded(class QString const &)
-	?placeholderText@QLineEdit@@QBE?AVQString@@XZ @ 12791 NONAME ; class QString QLineEdit::placeholderText(void) const
-	?setWidth@QGraphicsItemPrivate@@UAEXM@Z @ 12792 NONAME ; void QGraphicsItemPrivate::setWidth(float)
-	?q_func@QGraphicsViewPrivate@@AAEPAVQGraphicsView@@XZ @ 12793 NONAME ; class QGraphicsView * QGraphicsViewPrivate::q_func(void)
-	?setDeviceType@QEglProperties@@QAEXH@Z @ 12794 NONAME ; void QEglProperties::setDeviceType(int)
-	?convertFromImage@QPixmap@@QAE_NABVQImage@@V?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 12795 NONAME ; bool QPixmap::convertFromImage(class QImage const &, class QFlags<enum Qt::ImageConversionFlag>)
-	?processCommands@QPaintBuffer@@QBEHPAVQPainter@@HH@Z @ 12796 NONAME ; int QPaintBuffer::processCommands(class QPainter *, int, int) const
-	?glyphPadding@QTextureGlyphCache@@UBEHXZ @ 12797 NONAME ; int QTextureGlyphCache::glyphPadding(void) const
-	??1FileInfo@QZipReader@@QAE@XZ @ 12798 NONAME ; QZipReader::FileInfo::~FileInfo(void)
-	?scrollBarPolicyChanged@QAbstractScrollAreaPrivate@@UAEXW4Orientation@Qt@@W4ScrollBarPolicy@3@@Z @ 12799 NONAME ; void QAbstractScrollAreaPrivate::scrollBarPolicyChanged(enum Qt::Orientation, enum Qt::ScrollBarPolicy)
-	?createSurface@QEgl@@YAHPAVQPaintDevice@@HPBVQEglProperties@@@Z @ 12800 NONAME ; int QEgl::createSurface(class QPaintDevice *, int, class QEglProperties const *)
-	?viewportEvent@QAbstractScrollAreaPrivate@@QAE_NPAVQEvent@@@Z @ 12801 NONAME ; bool QAbstractScrollAreaPrivate::viewportEvent(class QEvent *)
-	?frameEndIndex@QPaintBuffer@@QBEHH@Z @ 12802 NONAME ; int QPaintBuffer::frameEndIndex(int) const
-	??1QImageTextureGlyphCache@@UAE@XZ @ 12803 NONAME ; QImageTextureGlyphCache::~QImageTextureGlyphCache(void)
-	?setPerformanceHint@QStaticText@@QAEXW4PerformanceHint@1@@Z @ 12804 NONAME ; void QStaticText::setPerformanceHint(enum QStaticText::PerformanceHint)
-	??0QStaticText@@QAE@ABV0@@Z @ 12805 NONAME ; QStaticText::QStaticText(class QStaticText const &)
-	??0QImageTextureGlyphCache@@QAE@W4Type@QFontEngineGlyphCache@@ABVQTransform@@@Z @ 12806 NONAME ; QImageTextureGlyphCache::QImageTextureGlyphCache(enum QFontEngineGlyphCache::Type, class QTransform const &)
-	?verticalMovementX@QTextCursor@@QBEHXZ @ 12807 NONAME ; int QTextCursor::verticalMovementX(void) const
-	?runtime_graphics_system@QApplicationPrivate@@2_NA @ 12808 NONAME ; bool QApplicationPrivate::runtime_graphics_system
-	?keepPositionOnInsert@QTextCursor@@QBE_NXZ @ 12809 NONAME ; bool QTextCursor::keepPositionOnInsert(void) const
-	?setKeepPositionOnInsert@QTextCursor@@QAEX_N@Z @ 12810 NONAME ; void QTextCursor::setKeepPositionOnInsert(bool)
-	?textDirection@QProgressBar@@QBE?AW4Direction@1@XZ @ 12811 NONAME ; enum QProgressBar::Direction QProgressBar::textDirection(void) const
-	?setVerticalMovementX@QTextCursor@@QAEXH@Z @ 12812 NONAME ; void QTextCursor::setVerticalMovementX(int)
-	?invertedAppearance@QProgressBar@@QBE_NXZ @ 12813 NONAME ; bool QProgressBar::invertedAppearance(void) const
-	?width@QFontMetrics@@QBEHABVQString@@HH@Z @ 12814 NONAME ; int QFontMetrics::width(class QString const &, int, int) const
-	?aboutToDestroy@QWidgetPrivate@@UAEXXZ @ 12815 NONAME ; void QWidgetPrivate::aboutToDestroy(void)
-	?setTextOption@QStaticText@@QAEXABVQTextOption@@@Z @ 12816 NONAME ; void QStaticText::setTextOption(class QTextOption const &)
-	?pointInsideRectAndMask@QWidgetPrivate@@QBE_NABVQPoint@@@Z @ 12817 NONAME ; bool QWidgetPrivate::pointInsideRectAndMask(class QPoint const &) const
-	?childAtRecursiveHelper@QWidgetPrivate@@QBEPAVQWidget@@ABVQPoint@@_N1@Z @ 12818 NONAME ; class QWidget * QWidgetPrivate::childAtRecursiveHelper(class QPoint const &, bool, bool) const
-	?textOption@QStaticText@@QBE?AVQTextOption@@XZ @ 12819 NONAME ; class QTextOption QStaticText::textOption(void) const
-	?isRightToLeft@QTextEngine@@QBE_NXZ @ 12820 NONAME ; bool QTextEngine::isRightToLeft(void) const
-	?textDirection@QTextBlock@@QBE?AW4LayoutDirection@Qt@@XZ @ 12821 NONAME ; enum Qt::LayoutDirection QTextBlock::textDirection(void) const
-	?convertInPlace@QImageData@@QAE_NW4Format@QImage@@V?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 12822 NONAME ; bool QImageData::convertInPlace(enum QImage::Format, class QFlags<enum Qt::ImageConversionFlag>)
-	?createPixmapForImage@QRasterPixmapData@@IAEXAAVQImage@@V?$QFlags@W4ImageConversionFlag@Qt@@@@_N@Z @ 12823 NONAME ; void QRasterPixmapData::createPixmapForImage(class QImage &, class QFlags<enum Qt::ImageConversionFlag>, bool)
-	??0Tab@QTextOption@@QAE@MW4TabType@1@VQChar@@@Z @ 12824 NONAME ; QTextOption::Tab::Tab(float, enum QTextOption::TabType, class QChar)
-	?fromData@QRasterPixmapData@@UAE_NPBEIPBDV?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 12825 NONAME ; bool QRasterPixmapData::fromData(unsigned char const *, unsigned int, char const *, class QFlags<enum Qt::ImageConversionFlag>)
-	?transformed@QRuntimePixmapData@@UBE?AVQPixmap@@ABVQTransform@@W4TransformationMode@Qt@@@Z @ 12826 NONAME ; class QPixmap QRuntimePixmapData::transformed(class QTransform const &, enum Qt::TransformationMode) const
-	?scroll@QRuntimePixmapData@@UAE_NHHABVQRect@@@Z @ 12827 NONAME ; bool QRuntimePixmapData::scroll(int, int, class QRect const &)
-	?buffer@QRuntimePixmapData@@UAEPAVQImage@@XZ @ 12828 NONAME ; class QImage * QRuntimePixmapData::buffer(void)
-	?copy@QRuntimePixmapData@@UAEXPBVQPixmapData@@ABVQRect@@@Z @ 12829 NONAME ; void QRuntimePixmapData::copy(class QPixmapData const *, class QRect const &)
-	?fromData@QRuntimePixmapData@@UAE_NPBEIPBDV?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 12830 NONAME ; bool QRuntimePixmapData::fromData(unsigned char const *, unsigned int, char const *, class QFlags<enum Qt::ImageConversionFlag>)
-	?readBackInfo@QRuntimePixmapData@@QAEXXZ @ 12831 NONAME ; void QRuntimePixmapData::readBackInfo(void)
-	??_EQRuntimePixmapData@@UAE@I@Z @ 12832 NONAME ; QRuntimePixmapData::~QRuntimePixmapData(unsigned int)
-	?paintEngine@QRuntimePixmapData@@UBEPAVQPaintEngine@@XZ @ 12833 NONAME ; class QPaintEngine * QRuntimePixmapData::paintEngine(void) const
-	?memoryUsage@QRuntimePixmapData@@UBEIXZ @ 12834 NONAME ABSENT ; unsigned int QRuntimePixmapData::memoryUsage(void) const
-	?toImage@QRasterPixmapData@@UBE?AVQImage@@ABVQRect@@@Z @ 12835 NONAME ; class QImage QRasterPixmapData::toImage(class QRect const &) const
-	?fromImageReader@QRasterPixmapData@@UAEXPAVQImageReader@@V?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 12836 NONAME ; void QRasterPixmapData::fromImageReader(class QImageReader *, class QFlags<enum Qt::ImageConversionFlag>)
-	?fill@QRuntimePixmapData@@UAEXABVQColor@@@Z @ 12837 NONAME ; void QRuntimePixmapData::fill(class QColor const &)
-	?alphaChannel@QRuntimePixmapData@@UBE?AVQPixmap@@XZ @ 12838 NONAME ; class QPixmap QRuntimePixmapData::alphaChannel(void) const
-	?createCompatiblePixmapData@QRuntimePixmapData@@UBEPAVQPixmapData@@XZ @ 12839 NONAME ; class QPixmapData * QRuntimePixmapData::createCompatiblePixmapData(void) const
-	?toImage@QRuntimePixmapData@@UBE?AVQImage@@XZ @ 12840 NONAME ; class QImage QRuntimePixmapData::toImage(void) const
-	?resize@QRuntimePixmapData@@UAEXHH@Z @ 12841 NONAME ; void QRuntimePixmapData::resize(int, int)
-	?fromNativeType@QRuntimePixmapData@@UAEXPAXW4NativeType@QPixmapData@@@Z @ 12842 NONAME ; void QRuntimePixmapData::fromNativeType(void *, enum QPixmapData::NativeType)
-	?fromFile@QRuntimePixmapData@@UAE_NABVQString@@PBDV?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 12843 NONAME ; bool QRuntimePixmapData::fromFile(class QString const &, char const *, class QFlags<enum Qt::ImageConversionFlag>)
-	?setAlphaChannel@QRuntimePixmapData@@UAEXABVQPixmap@@@Z @ 12844 NONAME ; void QRuntimePixmapData::setAlphaChannel(class QPixmap const &)
-	?fromImageReader@QPixmapData@@UAEXPAVQImageReader@@V?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 12845 NONAME ; void QPixmapData::fromImageReader(class QImageReader *, class QFlags<enum Qt::ImageConversionFlag>)
-	?toImage@QPixmapData@@UBE?AVQImage@@ABVQRect@@@Z @ 12846 NONAME ; class QImage QPixmapData::toImage(class QRect const &) const
-	?fromImageReader@QPixmap@@SA?AV1@PAVQImageReader@@V?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 12847 NONAME ; class QPixmap QPixmap::fromImageReader(class QImageReader *, class QFlags<enum Qt::ImageConversionFlag>)
-	?fromImage@QRuntimePixmapData@@UAEXABVQImage@@V?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 12848 NONAME ; void QRuntimePixmapData::fromImage(class QImage const &, class QFlags<enum Qt::ImageConversionFlag>)
-	?setMask@QRuntimePixmapData@@UAEXABVQBitmap@@@Z @ 12849 NONAME ; void QRuntimePixmapData::setMask(class QBitmap const &)
-	?mask@QRuntimePixmapData@@UBE?AVQBitmap@@XZ @ 12850 NONAME ; class QBitmap QRuntimePixmapData::mask(void) const
-	?createPixmapData@QGraphicsSystem@@UAEPAVQPixmapData@@PAV2@@Z @ 12851 NONAME ; class QPixmapData * QGraphicsSystem::createPixmapData(class QPixmapData *)
-	?metric@QRuntimePixmapData@@UBEHW4PaintDeviceMetric@QPaintDevice@@@Z @ 12852 NONAME ; int QRuntimePixmapData::metric(enum QPaintDevice::PaintDeviceMetric) const
-	??1QRuntimePixmapData@@UAE@XZ @ 12853 NONAME ; QRuntimePixmapData::~QRuntimePixmapData(void)
-	??0QRuntimePixmapData@@QAE@PBVQRuntimeGraphicsSystem@@W4PixelType@QPixmapData@@@Z @ 12854 NONAME ; QRuntimePixmapData::QRuntimePixmapData(class QRuntimeGraphicsSystem const *, enum QPixmapData::PixelType)
-	?hasAlphaChannel@QRuntimePixmapData@@UBE_NXZ @ 12855 NONAME ; bool QRuntimePixmapData::hasAlphaChannel(void) const
-	?runtimeData@QRuntimePixmapData@@UBEPAVQPixmapData@@XZ @ 12856 NONAME ; class QPixmapData * QRuntimePixmapData::runtimeData(void) const
-	?toNativeType@QRuntimePixmapData@@UAEPAXW4NativeType@QPixmapData@@@Z @ 12857 NONAME ; void * QRuntimePixmapData::toNativeType(enum QPixmapData::NativeType)
-	?copy@QRasterPixmapData@@UAEXPBVQPixmapData@@ABVQRect@@@Z @ 12858 NONAME ; void QRasterPixmapData::copy(class QPixmapData const *, class QRect const &)
-	?eglSwapBuffersRegion2NOK@QEgl@@YAHHHHPBH@Z @ 12859 NONAME ; int QEgl::eglSwapBuffersRegion2NOK(int, int, int, int const *)
-	?swapBuffersRegion2NOK@QEglContext@@QAE_NHPBVQRegion@@@Z @ 12860 NONAME ; bool QEglContext::swapBuffersRegion2NOK(int, class QRegion const *)
-	?OpenIniFileLC@QS60MainApplication@@UBEPAVCDictionaryStore@@AAVRFs@@@Z @ 12861 NONAME ; class CDictionaryStore * QS60MainApplication::OpenIniFileLC(class RFs &) const
-	?Reserved_MtsmObject@QS60MainAppUi@@MAEXXZ @ 12862 NONAME ; void QS60MainAppUi::Reserved_MtsmObject(void)
-	?HandleForegroundEventL@QS60MainAppUi@@MAEXH@Z @ 12863 NONAME ; void QS60MainAppUi::HandleForegroundEventL(int)
-	?OpenFileL@QS60MainDocument@@UAEPAVCFileStore@@HABVTDesC16@@AAVRFs@@@Z @ 12864 NONAME ; class CFileStore * QS60MainDocument::OpenFileL(int, class TDesC16 const &, class RFs &)
-	?HandleTouchPaneSizeChange@QS60MainAppUi@@UAEXXZ @ 12865 NONAME ; void QS60MainAppUi::HandleTouchPaneSizeChange(void)
-	?Reserved_MtsmPosition@QS60MainAppUi@@MAEXXZ @ 12866 NONAME ; void QS60MainAppUi::Reserved_MtsmPosition(void)
-	?ApplicationRect@QS60MainAppUi@@UBE?AVTRect@@XZ @ 12867 NONAME ; class TRect QS60MainAppUi::ApplicationRect(void) const
-	?HandleSystemEventL@QS60MainAppUi@@MAEXABVTWsEvent@@@Z @ 12868 NONAME ; void QS60MainAppUi::HandleSystemEventL(class TWsEvent const &)
-	?HandleApplicationSpecificEventL@QS60MainAppUi@@MAEXHABVTWsEvent@@@Z @ 12869 NONAME ; void QS60MainAppUi::HandleApplicationSpecificEventL(int, class TWsEvent const &)
-	?HandleError@QS60MainAppUi@@UAE?AW4TErrorHandlerResponse@@HABUSExtendedError@@AAVTDes16@@1@Z @ 12870 NONAME ; enum TErrorHandlerResponse QS60MainAppUi::HandleError(int, struct SExtendedError const &, class TDes16 &, class TDes16 &)
-	?PrepareToExit@QS60MainAppUi@@UAEXXZ @ 12871 NONAME ; void QS60MainAppUi::PrepareToExit(void)
-	?MopSupplyObject@QS60MainAppUi@@MAE?AVPtr@TTypeUid@@V3@@Z @ 12872 NONAME ; class TTypeUid::Ptr QS60MainAppUi::MopSupplyObject(class TTypeUid)
-	?SetFadedL@QS60MainAppUi@@UAEXH@Z @ 12873 NONAME ; void QS60MainAppUi::SetFadedL(int)
-	?Exit@QS60MainAppUi@@UAEXXZ @ 12874 NONAME ; void QS60MainAppUi::Exit(void)
-	?ProcessCommandL@QS60MainAppUi@@UAEXH@Z @ 12875 NONAME ; void QS60MainAppUi::ProcessCommandL(int)
-	?OpenFileL@QS60MainDocument@@UAEXAAPAVCFileStore@@AAVRFile@@@Z @ 12876 NONAME ; void QS60MainDocument::OpenFileL(class CFileStore * &, class RFile &)
-	?HandleScreenDeviceChangedL@QS60MainAppUi@@MAEXXZ @ 12877 NONAME ; void QS60MainAppUi::HandleScreenDeviceChangedL(void)
-	?PreDocConstructL@QS60MainApplication@@UAEXXZ @ 12878 NONAME ; void QS60MainApplication::PreDocConstructL(void)
-	?NewAppServerL@QS60MainApplication@@UAEXAAPAVCApaAppServer@@@Z @ 12879 NONAME ; void QS60MainApplication::NewAppServerL(class CApaAppServer * &)
+	?totalUsed@QPixmapCache@@SAHXZ @ 12611 NONAME ; int QPixmapCache::totalUsed(void)
+	?drawPixmapFragments@QPainter@@QAEXPBVPixmapFragment@1@HABVQPixmap@@V?$QFlags@W4PixmapFragmentHint@QPainter@@@@@Z @ 12612 NONAME ; void QPainter::drawPixmapFragments(class QPainter::PixmapFragment const *, int, class QPixmap const &, class QFlags<enum QPainter::PixmapFragmentHint>)
+	?createCompatiblePixmapData@QRuntimePixmapData@@UBEPAVQPixmapData@@XZ @ 12613 NONAME ; class QPixmapData * QRuntimePixmapData::createCompatiblePixmapData(void) const
+	?resizeTextureData@QImageTextureGlyphCache@@UAEXHH@Z @ 12614 NONAME ; void QImageTextureGlyphCache::resizeTextureData(int, int)
+	??_EQAbstractScrollAreaPrivate@@UAE@I@Z @ 12615 NONAME ; QAbstractScrollAreaPrivate::~QAbstractScrollAreaPrivate(unsigned int)
+	?mapBy@QBezier@@QBE?AV1@ABVQTransform@@@Z @ 12616 NONAME ; class QBezier QBezier::mapBy(class QTransform const &) const
+	?alphaChannel@QRuntimePixmapData@@UBE?AVQPixmap@@XZ @ 12617 NONAME ; class QPixmap QRuntimePixmapData::alphaChannel(void) const
+	?dispatchPendingUpdateRequests@QGraphicsViewPrivate@@QAEXXZ @ 12618 NONAME ; void QGraphicsViewPrivate::dispatchPendingUpdateRequests(void)
+	?display@QEgl@@YAHXZ @ 12619 NONAME ; int QEgl::display(void)
+	?setSelection@QLabel@@QAEXHH@Z @ 12620 NONAME ; void QLabel::setSelection(int, int)
+	?mapToScene@QGraphicsViewPrivate@@QBE?AVQRectF@@ABV2@@Z @ 12621 NONAME ; class QRectF QGraphicsViewPrivate::mapToScene(class QRectF const &) const
+	?defaultConfig@QEgl@@YAHHW4API@1@V?$QFlags@W4ConfigOption@QEgl@@@@@Z @ 12622 NONAME ; int QEgl::defaultConfig(int, enum QEgl::API, class QFlags<enum QEgl::ConfigOption>)
+	?mouseMoveEventHandler@QGraphicsViewPrivate@@QAEXPAVQMouseEvent@@@Z @ 12623 NONAME ; void QGraphicsViewPrivate::mouseMoveEventHandler(class QMouseEvent *)
+	?textOption@QStaticText@@QBE?AVQTextOption@@XZ @ 12624 NONAME ; class QTextOption QStaticText::textOption(void) const
+	?status@QZipReader@@QBE?AW4Status@1@XZ @ 12625 NONAME ; enum QZipReader::Status QZipReader::status(void) const
+	?geometryChanged@QGraphicsWidget@@IAEXXZ @ 12626 NONAME ; void QGraphicsWidget::geometryChanged(void)
+	??_EQImageTextureGlyphCache@@UAE@I@Z @ 12627 NONAME ; QImageTextureGlyphCache::~QImageTextureGlyphCache(unsigned int)
+	?OpenIniFileLC@QS60MainApplication@@UBEPAVCDictionaryStore@@AAVRFs@@@Z @ 12628 NONAME ; class CDictionaryStore * QS60MainApplication::OpenIniFileLC(class RFs &) const
+	?setPerformanceHint@QStaticText@@QAEXW4PerformanceHint@1@@Z @ 12629 NONAME ; void QStaticText::setPerformanceHint(enum QStaticText::PerformanceHint)
+	?Reserved_MtsmObject@QS60MainAppUi@@MAEXXZ @ 12630 NONAME ; void QS60MainAppUi::Reserved_MtsmObject(void)
+	?updateInputMethodSensitivity@QGraphicsViewPrivate@@QAEXXZ @ 12631 NONAME ; void QGraphicsViewPrivate::updateInputMethodSensitivity(void)
+	?pageAdded@QWizard@@IAEXH@Z @ 12632 NONAME ; void QWizard::pageAdded(int)
+	?setTextOption@QStaticText@@QAEXABVQTextOption@@@Z @ 12633 NONAME ; void QStaticText::setTextOption(class QTextOption const &)
+	?readBackInfo@QRuntimePixmapData@@QAEXXZ @ 12634 NONAME ; void QRuntimePixmapData::readBackInfo(void)
+	?invertedAppearance@QProgressBar@@QBE_NXZ @ 12635 NONAME ; bool QProgressBar::invertedAppearance(void) const
+	?mapToViewRegion@QGraphicsViewPrivate@@QBE?AVQRegion@@PBVQGraphicsItem@@ABVQRectF@@@Z @ 12636 NONAME ; class QRegion QGraphicsViewPrivate::mapToViewRegion(class QGraphicsItem const *, class QRectF const &) const
+	?setKeepPositionOnInsert@QTextCursor@@QAEX_N@Z @ 12637 NONAME ; void QTextCursor::setKeepPositionOnInsert(bool)
+	?addToPolygon@QBezier@@QBEXPAVQPolygonF@@M@Z @ 12638 NONAME ; void QBezier::addToPolygon(class QPolygonF *, float) const
+	?_q_aboutToQuit@QApplicationPrivate@@QAEXXZ @ 12639 NONAME ; void QApplicationPrivate::_q_aboutToQuit(void)
+	??1QImageTextureGlyphCache@@UAE@XZ @ 12640 NONAME ; QImageTextureGlyphCache::~QImageTextureGlyphCache(void)
+	?updateMicroFocus@QGraphicsObject@@IAEXXZ @ 12641 NONAME ; void QGraphicsObject::updateMicroFocus(void)
+	??0QZipReader@@QAE@ABVQString@@V?$QFlags@W4OpenModeFlag@QIODevice@@@@@Z @ 12642 NONAME ; QZipReader::QZipReader(class QString const &, class QFlags<enum QIODevice::OpenModeFlag>)
+	?isEmpty@QItemSelectionRange@@QBE_NXZ @ 12643 NONAME ; bool QItemSelectionRange::isEmpty(void) const
+	?children_append@QGraphicsItemPrivate@@SAXPAV?$QDeclarativeListProperty@VQGraphicsObject@@@@PAVQGraphicsObject@@@Z @ 12644 NONAME ; void QGraphicsItemPrivate::children_append(class QDeclarativeListProperty<class QGraphicsObject> *, class QGraphicsObject *)
+	?buffer@QRuntimePixmapData@@UAEPAVQImage@@XZ @ 12645 NONAME ; class QImage * QRuntimePixmapData::buffer(void)
+	?paintEngine@QRuntimePixmapData@@UBEPAVQPaintEngine@@XZ @ 12646 NONAME ; class QPaintEngine * QRuntimePixmapData::paintEngine(void) const
+	?setUpdateClip@QGraphicsViewPrivate@@QAEXPAVQGraphicsItem@@@Z @ 12647 NONAME ; void QGraphicsViewPrivate::setUpdateClip(class QGraphicsItem *)
+	?viewportEvent@QAbstractScrollAreaPrivate@@QAE_NPAVQEvent@@@Z @ 12648 NONAME ; bool QAbstractScrollAreaPrivate::viewportEvent(class QEvent *)
+	?extensions@QEgl@@YA?AVQString@@XZ @ 12649 NONAME ; class QString QEgl::extensions(void)
+	?toImage@QRuntimePixmapData@@UBE?AVQImage@@XZ @ 12650 NONAME ; class QImage QRuntimePixmapData::toImage(void) const
+	??0QAbstractScrollAreaPrivate@@QAE@XZ @ 12651 NONAME ; QAbstractScrollAreaPrivate::QAbstractScrollAreaPrivate(void)
+	?resizeEvent@QSplitterHandle@@MAEXPAVQResizeEvent@@@Z @ 12652 NONAME ; void QSplitterHandle::resizeEvent(class QResizeEvent *)
+	?setPartialUpdateSupport@QWindowSurface@@IAEX_N@Z @ 12653 NONAME ; void QWindowSurface::setPartialUpdateSupport(bool)
+	?HandleForegroundEventL@QS60MainAppUi@@MAEXH@Z @ 12654 NONAME ; void QS60MainAppUi::HandleForegroundEventL(int)
+	?curveThreshold@QStrokerOps@@QBEMXZ @ 12655 NONAME ; float QStrokerOps::curveThreshold(void) const
+	?createTextureData@QImageTextureGlyphCache@@UAEXHH@Z @ 12656 NONAME ; void QImageTextureGlyphCache::createTextureData(int, int)
+	?toNativeType@QRuntimePixmapData@@UAEPAXW4NativeType@QPixmapData@@@Z @ 12657 NONAME ; void * QRuntimePixmapData::toNativeType(enum QPixmapData::NativeType)
+	?eglDestroyImageKHR@QEgl@@YAHHH@Z @ 12658 NONAME ; int QEgl::eglDestroyImageKHR(int, int)
+	??1FileInfo@QZipReader@@QAE@XZ @ 12659 NONAME ; QZipReader::FileInfo::~FileInfo(void)
+	?setTextFormat@QStaticText@@QAEXW4TextFormat@Qt@@@Z @ 12660 NONAME ; void QStaticText::setTextFormat(enum Qt::TextFormat)
+	?setWidth@QGraphicsItemPrivate@@UAEXM@Z @ 12661 NONAME ; void QGraphicsItemPrivate::setWidth(float)
+	?allocStyleOptionsArray@QGraphicsViewPrivate@@QAEPAVQStyleOptionGraphicsItem@@H@Z @ 12662 NONAME ; class QStyleOptionGraphicsItem * QGraphicsViewPrivate::allocStyleOptionsArray(int)
+	?getPixmapCursor@QApplicationPrivate@@QAE?AVQPixmap@@W4CursorShape@Qt@@@Z @ 12663 NONAME ; class QPixmap QApplicationPrivate::getPixmapCursor(enum Qt::CursorShape)
+	?fromNativeType@QRuntimePixmapData@@UAEXPAXW4NativeType@QPixmapData@@@Z @ 12664 NONAME ; void QRuntimePixmapData::fromNativeType(void *, enum QPixmapData::NativeType)
+	?setCurveThresholdFromTransform@QStrokerOps@@QAEXABVQTransform@@@Z @ 12665 NONAME ; void QStrokerOps::setCurveThresholdFromTransform(class QTransform const &)
+	?runtimeData@QRuntimePixmapData@@UBEPAVQPixmapData@@XZ @ 12666 NONAME ; class QPixmapData * QRuntimePixmapData::runtimeData(void) const
+	?hasExtension@QEgl@@YA_NPBD@Z @ 12667 NONAME ; bool QEgl::hasExtension(char const *)
+	?updateRegion@QGraphicsViewPrivate@@QAE_NABVQRectF@@ABVQTransform@@@Z @ 12668 NONAME ; bool QGraphicsViewPrivate::updateRegion(class QRectF const &, class QTransform const &)
+	?create@PixmapFragment@QPainter@@SA?AV12@ABVQPointF@@ABVQRectF@@MMMM@Z @ 12669 NONAME ; class QPainter::PixmapFragment QPainter::PixmapFragment::create(class QPointF const &, class QRectF const &, float, float, float, float)
+	?verticalMovementX@QTextCursor@@QBEHXZ @ 12670 NONAME ; int QTextCursor::verticalMovementX(void) const
+	??4QStaticText@@QAEAAV0@ABV0@@Z @ 12671 NONAME ; class QStaticText & QStaticText::operator=(class QStaticText const &)
+	?OpenFileL@QS60MainDocument@@UAEPAVCFileStore@@HABVTDesC16@@AAVRFs@@@Z @ 12672 NONAME ; class CFileStore * QS60MainDocument::OpenFileL(int, class TDesC16 const &, class RFs &)
+	?fileData@QZipReader@@QBE?AVQByteArray@@ABVQString@@@Z @ 12673 NONAME ; class QByteArray QZipReader::fileData(class QString const &) const
+	?sideWidget@QWizard@@QBEPAVQWidget@@XZ @ 12674 NONAME ; class QWidget * QWizard::sideWidget(void) const
+	?fromFile@QRuntimePixmapData@@UAE_NABVQString@@PBDV?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 12675 NONAME ; bool QRuntimePixmapData::fromFile(class QString const &, char const *, class QFlags<enum Qt::ImageConversionFlag>)
+	?HandleTouchPaneSizeChange@QS60MainAppUi@@UAEXXZ @ 12676 NONAME ; void QS60MainAppUi::HandleTouchPaneSizeChange(void)
+	?setDeviceType@QEglProperties@@QAEXH@Z @ 12677 NONAME ; void QEglProperties::setDeviceType(int)
+	?configAttrib@QEglContext@@QBEHH@Z @ 12678 NONAME ; int QEglContext::configAttrib(int) const
+	?toImage@QPixmapData@@UBE?AVQImage@@ABVQRect@@@Z @ 12679 NONAME ; class QImage QPixmapData::toImage(class QRect const &) const
+	?clearUndoRedoStacks@QTextDocument@@QAEXW4Stacks@1@@Z @ 12680 NONAME ; void QTextDocument::clearUndoRedoStacks(enum QTextDocument::Stacks)
+	?copy@QRuntimePixmapData@@UAEXPBVQPixmapData@@ABVQRect@@@Z @ 12681 NONAME ; void QRuntimePixmapData::copy(class QPixmapData const *, class QRect const &)
+	??0QKeySequence@@QAE@ABVQString@@W4SequenceFormat@0@@Z @ 12682 NONAME ; QKeySequence::QKeySequence(class QString const &, enum QKeySequence::SequenceFormat)
+	?fromData@QRuntimePixmapData@@UAE_NPBEIPBDV?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 12683 NONAME ; bool QRuntimePixmapData::fromData(unsigned char const *, unsigned int, char const *, class QFlags<enum Qt::ImageConversionFlag>)
+	?updatePaintedViewBoundingRects@QGraphicsItemPrivate@@QAEX_N@Z @ 12684 NONAME ; void QGraphicsItemPrivate::updatePaintedViewBoundingRects(bool)
+	?mapRectFromScene@QGraphicsViewPrivate@@QBE?AVQRectF@@ABV2@@Z @ 12685 NONAME ; class QRectF QGraphicsViewPrivate::mapRectFromScene(class QRectF const &) const
+	??1QGraphicsViewPrivate@@UAE@XZ @ 12686 NONAME ; QGraphicsViewPrivate::~QGraphicsViewPrivate(void)
+	?drawPixmapFragments@QPaintEngineEx@@UAEXPBVPixmapFragment@QPainter@@HABVQPixmap@@V?$QFlags@W4PixmapFragmentHint@QPainter@@@@@Z @ 12687 NONAME ; void QPaintEngineEx::drawPixmapFragments(class QPainter::PixmapFragment const *, int, class QPixmap const &, class QFlags<enum QPainter::PixmapFragmentHint>)
+	?horizontalAdvance@QTextLine@@QBEMXZ @ 12688 NONAME ; float QTextLine::horizontalAdvance(void) const
+	?paste@QTextControl@@QAEXW4Mode@QClipboard@@@Z @ 12689 NONAME ; void QTextControl::paste(enum QClipboard::Mode)
+	?selectionStart@QLabel@@QBEHXZ @ 12690 NONAME ; int QLabel::selectionStart(void) const
+	?symbianAdjustedPosition@QDialog@@AAE_NXZ @ 12691 NONAME ; bool QDialog::symbianAdjustedPosition(void)
+	?convertFromImage@QPixmap@@QAE_NABVQImage@@V?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 12692 NONAME ; bool QPixmap::convertFromImage(class QImage const &, class QFlags<enum Qt::ImageConversionFlag>)
+	?iconName@QIconEngineV2@@QAE?AVQString@@XZ @ 12693 NONAME ; class QString QIconEngineV2::iconName(void)
+	?constBits@QImage@@QBEPBEXZ @ 12694 NONAME ; unsigned char const * QImage::constBits(void) const
+	?init@QAbstractScrollAreaPrivate@@QAEXXZ @ 12695 NONAME ; void QAbstractScrollAreaPrivate::init(void)
+	?_q_vslide@QAbstractScrollAreaPrivate@@QAEXH@Z @ 12696 NONAME ; void QAbstractScrollAreaPrivate::_q_vslide(int)
+	??0QStaticTextItem@@QAE@XZ @ 12697 NONAME ; QStaticTextItem::QStaticTextItem(void)
+	?setTextWidth@QStaticText@@QAEXM@Z @ 12698 NONAME ; void QStaticText::setTextWidth(float)
+	?translateTouchEvent@QGraphicsViewPrivate@@SAXPAV1@PAVQTouchEvent@@@Z @ 12699 NONAME ; void QGraphicsViewPrivate::translateTouchEvent(class QGraphicsViewPrivate *, class QTouchEvent *)
+	?fileInfoList@QZipReader@@QBE?AV?$QList@UFileInfo@QZipReader@@@@XZ @ 12700 NONAME ; class QList<struct QZipReader::FileInfo> QZipReader::fileInfoList(void) const
+	?_q_unsetViewportCursor@QGraphicsViewPrivate@@QAEXXZ @ 12701 NONAME ; void QGraphicsViewPrivate::_q_unsetViewportCursor(void)
+	?hasAlphaChannel@QRuntimePixmapData@@UBE_NXZ @ 12702 NONAME ; bool QRuntimePixmapData::hasAlphaChannel(void) const
+	?textWidth@QStaticText@@QBEMXZ @ 12703 NONAME ; float QStaticText::textWidth(void) const
+	?chooseConfig@QEgl@@YAHPBVQEglProperties@@W4PixelFormatMatch@1@@Z @ 12704 NONAME ; int QEgl::chooseConfig(class QEglProperties const *, enum QEgl::PixelFormatMatch)
+	?width@QFontMetrics@@QBEHABVQString@@HH@Z @ 12705 NONAME ; int QFontMetrics::width(class QString const &, int, int) const
+	?isValidColor@QColor@@SA_NABVQString@@@Z @ 12706 NONAME ; bool QColor::isValidColor(class QString const &)
+	?text@QStaticText@@QBE?AVQString@@XZ @ 12707 NONAME ; class QString QStaticText::text(void) const
+	??0FileInfo@QZipReader@@QAE@ABU01@@Z @ 12708 NONAME ; QZipReader::FileInfo::FileInfo(struct QZipReader::FileInfo const &)
+	??1QStaticTextItem@@QAE@XZ @ 12709 NONAME ; QStaticTextItem::~QStaticTextItem(void)
+	?directoryLoaded@QFileSystemModel@@IAEXABVQString@@@Z @ 12710 NONAME ; void QFileSystemModel::directoryLoaded(class QString const &)
+	?Reserved_MtsmPosition@QS60MainAppUi@@MAEXXZ @ 12711 NONAME ; void QS60MainAppUi::Reserved_MtsmPosition(void)
+	?ApplicationRect@QS60MainAppUi@@UBE?AVTRect@@XZ @ 12712 NONAME ; class TRect QS60MainAppUi::ApplicationRect(void) const
+	?assign@QKeySequence@@AAEHABVQString@@W4SequenceFormat@1@@Z @ 12713 NONAME ; int QKeySequence::assign(class QString const &, enum QKeySequence::SequenceFormat)
+	?selectedText@QLabel@@QBE?AVQString@@XZ @ 12714 NONAME ; class QString QLabel::selectedText(void) const
+	?HandleSystemEventL@QS60MainAppUi@@MAEXABVTWsEvent@@@Z @ 12715 NONAME ; void QS60MainAppUi::HandleSystemEventL(class TWsEvent const &)
+	?textFormat@QStaticText@@QBE?AW4TextFormat@Qt@@XZ @ 12716 NONAME ; enum Qt::TextFormat QStaticText::textFormat(void) const
+	?runtimeData@QPixmapData@@UBEPAV1@XZ @ 12717 NONAME ; class QPixmapData * QPixmapData::runtimeData(void) const
+	?drawStaticText@QPainter@@QAEXHHABVQStaticText@@@Z @ 12718 NONAME ; void QPainter::drawStaticText(int, int, class QStaticText const &)
+	?visibilityChanged@QToolBar@@IAEX_N@Z @ 12719 NONAME ; void QToolBar::visibilityChanged(bool)
+	?metric@QRuntimePixmapData@@UBEHW4PaintDeviceMetric@QPaintDevice@@@Z @ 12720 NONAME ; int QRuntimePixmapData::metric(enum QPaintDevice::PaintDeviceMetric) const
+	?HandleApplicationSpecificEventL@QS60MainAppUi@@MAEXHABVTWsEvent@@@Z @ 12721 NONAME ; void QS60MainAppUi::HandleApplicationSpecificEventL(int, class TWsEvent const &)
+	??0QStaticText@@QAE@ABVQString@@@Z @ 12722 NONAME ; QStaticText::QStaticText(class QString const &)
+	?replaceScrollBar@QAbstractScrollAreaPrivate@@QAEXPAVQScrollBar@@W4Orientation@Qt@@@Z @ 12723 NONAME ; void QAbstractScrollAreaPrivate::replaceScrollBar(class QScrollBar *, enum Qt::Orientation)
+	?textDirection@QProgressBar@@QBE?AW4Direction@1@XZ @ 12724 NONAME ; enum QProgressBar::Direction QProgressBar::textDirection(void) const
+	?setVerticalMovementX@QTextCursor@@QAEXH@Z @ 12725 NONAME ; void QTextCursor::setVerticalMovementX(int)
+	?mapRectToScene@QGraphicsViewPrivate@@QBE?AVQRectF@@ABVQRect@@@Z @ 12726 NONAME ; class QRectF QGraphicsViewPrivate::mapRectToScene(class QRect const &) const
+	?bitPlaneCount@QImage@@QBEHXZ @ 12727 NONAME ; int QImage::bitPlaneCount(void) const
+	?zScaleChanged@QGraphicsScale@@IAEXXZ @ 12728 NONAME ; void QGraphicsScale::zScaleChanged(void)
+	?render@QWidgetPrivate@@QAEXPAVQPaintDevice@@ABVQPoint@@ABVQRegion@@V?$QFlags@W4RenderFlag@QWidget@@@@_N@Z @ 12729 NONAME ; void QWidgetPrivate::render(class QPaintDevice *, class QPoint const &, class QRegion const &, class QFlags<enum QWidget::RenderFlag>, bool)
+	?focusScopeItemChange@QGraphicsItemPrivate@@UAEX_N@Z @ 12730 NONAME ; void QGraphicsItemPrivate::focusScopeItemChange(bool)
+	??0QImageTextureGlyphCache@@QAE@W4Type@QFontEngineGlyphCache@@ABVQTransform@@@Z @ 12731 NONAME ; QImageTextureGlyphCache::QImageTextureGlyphCache(enum QFontEngineGlyphCache::Type, class QTransform const &)
+	?exists@QZipReader@@QBE_NXZ @ 12732 NONAME ; bool QZipReader::exists(void) const
+	?xScaleChanged@QGraphicsScale@@IAEXXZ @ 12733 NONAME ; void QGraphicsScale::xScaleChanged(void)
+	?glyphMargin@QImageTextureGlyphCache@@UBEHXZ @ 12734 NONAME ; int QImageTextureGlyphCache::glyphMargin(void) const
+	?updateLastCenterPoint@QGraphicsViewPrivate@@QAEXXZ @ 12735 NONAME ; void QGraphicsViewPrivate::updateLastCenterPoint(void)
+	?HandleError@QS60MainAppUi@@UAE?AW4TErrorHandlerResponse@@HABUSExtendedError@@AAVTDes16@@1@Z @ 12736 NONAME ; enum TErrorHandlerResponse QS60MainAppUi::HandleError(int, struct SExtendedError const &, class TDes16 &, class TDes16 &)
+	?mapToScene@QGraphicsViewPrivate@@QBE?AVQPointF@@ABV2@@Z @ 12737 NONAME ; class QPointF QGraphicsViewPrivate::mapToScene(class QPointF const &) const
+	??_EQGraphicsViewPrivate@@UAE@I@Z @ 12738 NONAME ; QGraphicsViewPrivate::~QGraphicsViewPrivate(unsigned int)
+	?ensureSpace@QTextEngine@@QBE_NH@Z @ 12739 NONAME ; bool QTextEngine::ensureSpace(int) const
+	?setPlaceholderText@QLineEdit@@QAEXABVQString@@@Z @ 12740 NONAME ; void QLineEdit::setPlaceholderText(class QString const &)
+	?childrenChanged@QGraphicsObject@@IAEXXZ @ 12741 NONAME ; void QGraphicsObject::childrenChanged(void)
+	?fromImage@QRuntimePixmapData@@UAEXABVQImage@@V?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 12742 NONAME ; void QRuntimePixmapData::fromImage(class QImage const &, class QFlags<enum Qt::ImageConversionFlag>)
+	??1QStaticText@@QAE@XZ @ 12743 NONAME ; QStaticText::~QStaticText(void)
+	?updateRect@QGraphicsViewPrivate@@QAE_NABVQRect@@@Z @ 12744 NONAME ; bool QGraphicsViewPrivate::updateRect(class QRect const &)
+	?setColorFromString@QColor@@AAE_NABVQString@@@Z @ 12745 NONAME ; bool QColor::setColorFromString(class QString const &)
+	?setUserData@QStaticTextItem@@QAEXPAVQStaticTextUserData@@@Z @ 12746 NONAME ; void QStaticTextItem::setUserData(class QStaticTextUserData *)
+	?widthChanged@QGraphicsObject@@IAEXXZ @ 12747 NONAME ; void QGraphicsObject::widthChanged(void)
+	?mapToViewRect@QGraphicsViewPrivate@@QBE?AVQRect@@PBVQGraphicsItem@@ABVQRectF@@@Z @ 12748 NONAME ; class QRect QGraphicsViewPrivate::mapToViewRect(class QGraphicsItem const *, class QRectF const &) const
+	?_q_setViewportCursor@QGraphicsViewPrivate@@QAEXABVQCursor@@@Z @ 12749 NONAME ; void QGraphicsViewPrivate::_q_setViewportCursor(class QCursor const &)
+	?eglCreateImageKHR@QEgl@@YAHHHHHPBH@Z @ 12750 NONAME ; int QEgl::eglCreateImageKHR(int, int, int, int, int const *)
+	?count@QZipReader@@QBEHXZ @ 12751 NONAME ; int QZipReader::count(void) const
+	?transformed@QRuntimePixmapData@@UBE?AVQPixmap@@ABVQTransform@@W4TransformationMode@Qt@@@Z @ 12752 NONAME ; class QPixmap QRuntimePixmapData::transformed(class QTransform const &, enum Qt::TransformationMode) const
+	??0QStaticText@@QAE@ABV0@@Z @ 12753 NONAME ; QStaticText::QStaticText(class QStaticText const &)
+	?getSubRange@QBezier@@QBE?AV1@MM@Z @ 12754 NONAME ; class QBezier QBezier::getSubRange(float, float) const
+	?centerView@QGraphicsViewPrivate@@QAEXW4ViewportAnchor@QGraphicsView@@@Z @ 12755 NONAME ; void QGraphicsViewPrivate::centerView(enum QGraphicsView::ViewportAnchor)
+	??1QAbstractScrollAreaPrivate@@UAE@XZ @ 12756 NONAME ; QAbstractScrollAreaPrivate::~QAbstractScrollAreaPrivate(void)
+	?storeMouseEvent@QGraphicsViewPrivate@@QAEXPAVQMouseEvent@@@Z @ 12757 NONAME ; void QGraphicsViewPrivate::storeMouseEvent(class QMouseEvent *)
+	?swapBuffersRegion2NOK@QEglContext@@QAE_NHPBVQRegion@@@Z @ 12758 NONAME ; bool QEglContext::swapBuffersRegion2NOK(int, class QRegion const *)
+	?close@QZipReader@@QAEXXZ @ 12759 NONAME ; void QZipReader::close(void)
+	?transformChanged@QGraphicsItemPrivate@@UAEXXZ @ 12760 NONAME ; void QGraphicsItemPrivate::transformChanged(void)
+	?hasSelectedText@QLabel@@QBE_NXZ @ 12761 NONAME ; bool QLabel::hasSelectedText(void) const
+	?display@QEglContext@@QAEHXZ @ 12762 NONAME ; int QEglContext::display(void)
+	?placeholderText@QLineEdit@@QBE?AVQString@@XZ @ 12763 NONAME ; class QString QLineEdit::placeholderText(void) const
+	?q_func@QGraphicsViewPrivate@@ABEPBVQGraphicsView@@XZ @ 12764 NONAME ; class QGraphicsView const * QGraphicsViewPrivate::q_func(void) const
+	??8QStaticText@@QBE_NABV0@@Z @ 12765 NONAME ; bool QStaticText::operator==(class QStaticText const &) const
+	?freeStyleOptionsArray@QGraphicsViewPrivate@@QAEXPAVQStyleOptionGraphicsItem@@@Z @ 12766 NONAME ; void QGraphicsViewPrivate::freeStyleOptionsArray(class QStyleOptionGraphicsItem *)
+	?PrepareToExit@QS60MainAppUi@@UAEXXZ @ 12767 NONAME ; void QS60MainAppUi::PrepareToExit(void)
+	?createSurface@QEgl@@YAHPAVQPaintDevice@@HPBVQEglProperties@@@Z @ 12768 NONAME ; int QEgl::createSurface(class QPaintDevice *, int, class QEglProperties const *)
+	?errorString@QEgl@@YA?AVQString@@H@Z @ 12769 NONAME ; class QString QEgl::errorString(int)
+	?contentsOffset@QAbstractScrollAreaPrivate@@UBE?AVQPoint@@XZ @ 12770 NONAME ; class QPoint QAbstractScrollAreaPrivate::contentsOffset(void) const
+	??1QRuntimePixmapData@@UAE@XZ @ 12771 NONAME ; QRuntimePixmapData::~QRuntimePixmapData(void)
+	?setAlphaChannel@QRuntimePixmapData@@UAEXABVQPixmap@@@Z @ 12772 NONAME ; void QRuntimePixmapData::setAlphaChannel(class QPixmap const &)
+	?glyphPadding@QTextureGlyphCache@@UBEHXZ @ 12773 NONAME ; int QTextureGlyphCache::glyphPadding(void) const
+	?setAutoFillBackground@QGraphicsWidget@@QAEX_N@Z @ 12774 NONAME ; void QGraphicsWidget::setAutoFillBackground(bool)
+	?setCurveThreshold@QStrokerOps@@QAEXM@Z @ 12775 NONAME ; void QStrokerOps::setCurveThreshold(float)
+	?q_func@QAbstractScrollAreaPrivate@@ABEPBVQAbstractScrollArea@@XZ @ 12776 NONAME ; class QAbstractScrollArea const * QAbstractScrollAreaPrivate::q_func(void) const
+	?toImage@QRasterPixmapData@@UBE?AVQImage@@ABVQRect@@@Z @ 12777 NONAME ; class QImage QRasterPixmapData::toImage(class QRect const &) const
+	?resetWidth@QGraphicsItemPrivate@@UAEXXZ @ 12778 NONAME ; void QGraphicsItemPrivate::resetWidth(void)
+	?height@QGraphicsItemPrivate@@UBEMXZ @ 12779 NONAME ; float QGraphicsItemPrivate::height(void) const
+	?fromData@QRasterPixmapData@@UAE_NPBEIPBDV?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 12780 NONAME ; bool QRasterPixmapData::fromData(unsigned char const *, unsigned int, char const *, class QFlags<enum Qt::ImageConversionFlag>)
+	?childAtRecursiveHelper@QWidgetPrivate@@QBEPAVQWidget@@ABVQPoint@@_N1@Z @ 12781 NONAME ; class QWidget * QWidgetPrivate::childAtRecursiveHelper(class QPoint const &, bool, bool) const
+	?MopSupplyObject@QS60MainAppUi@@MAE?AVPtr@TTypeUid@@V3@@Z @ 12782 NONAME ; class TTypeUid::Ptr QS60MainAppUi::MopSupplyObject(class TTypeUid)
+	?nativeWindow@QEgl@@YAPAXPAVQWidget@@@Z @ 12783 NONAME ; void * QEgl::nativeWindow(class QWidget *)
+	?childrenList@QGraphicsItemPrivate@@QAE?AV?$QDeclarativeListProperty@VQGraphicsObject@@@@XZ @ 12784 NONAME ; class QDeclarativeListProperty<class QGraphicsObject> QGraphicsItemPrivate::childrenList(void)
+	?processPendingUpdates@QGraphicsViewPrivate@@QAEXXZ @ 12785 NONAME ; void QGraphicsViewPrivate::processPendingUpdates(void)
+	??0QRuntimePixmapData@@QAE@PBVQRuntimeGraphicsSystem@@W4PixelType@QPixmapData@@@Z @ 12786 NONAME ; QRuntimePixmapData::QRuntimePixmapData(class QRuntimeGraphicsSystem const *, enum QPixmapData::PixelType)
+	?isRightToLeft@QTextEngine@@QBE_NXZ @ 12787 NONAME ; bool QTextEngine::isRightToLeft(void) const
+	?verticalScroll@QGraphicsViewPrivate@@QBE_JXZ @ 12788 NONAME ; long long QGraphicsViewPrivate::verticalScroll(void) const
+	?setSideWidget@QWizard@@QAEXPAVQWidget@@@Z @ 12789 NONAME ; void QWizard::setSideWidget(class QWidget *)
+	??0Tab@QTextOption@@QAE@MW4TabType@1@VQChar@@@Z @ 12790 NONAME ; QTextOption::Tab::Tab(float, enum QTextOption::TabType, class QChar)
+	?setHeight@QGraphicsItemPrivate@@UAEXM@Z @ 12791 NONAME ; void QGraphicsItemPrivate::setHeight(float)
+	??9QStaticText@@QBE_NABV0@@Z @ 12792 NONAME ; bool QStaticText::operator!=(class QStaticText const &) const
+	?_q_showOrHideScrollBars@QAbstractScrollAreaPrivate@@QAEXXZ @ 12793 NONAME ; void QAbstractScrollAreaPrivate::_q_showOrHideScrollBars(void)
+	?nativePixmap@QEgl@@YAPAXPAVQPixmap@@@Z @ 12794 NONAME ; void * QEgl::nativePixmap(class QPixmap *)
+	?image@QImageTextureGlyphCache@@QBEABVQImage@@XZ @ 12795 NONAME ; class QImage const & QImageTextureGlyphCache::image(void) const
+	?entryInfoAt@QZipReader@@QBE?AUFileInfo@1@H@Z @ 12796 NONAME ; struct QZipReader::FileInfo QZipReader::entryInfoAt(int) const
+	?runtime_graphics_system@QApplicationPrivate@@2_NA @ 12797 NONAME ; bool QApplicationPrivate::runtime_graphics_system
+	??0FileInfo@QZipReader@@QAE@XZ @ 12798 NONAME ; QZipReader::FileInfo::FileInfo(void)
+	?mask@QRuntimePixmapData@@UBE?AVQBitmap@@XZ @ 12799 NONAME ; class QBitmap QRuntimePixmapData::mask(void) const
+	?setMask@QRuntimePixmapData@@UAEXABVQBitmap@@@Z @ 12800 NONAME ; void QRuntimePixmapData::setMask(class QBitmap const &)
+	?width@QGraphicsItemPrivate@@UBEMXZ @ 12801 NONAME ; float QGraphicsItemPrivate::width(void) const
+	?drawStaticText@QPainter@@QAEXABVQPoint@@ABVQStaticText@@@Z @ 12802 NONAME ; void QPainter::drawStaticText(class QPoint const &, class QStaticText const &)
+	?SetFadedL@QS60MainAppUi@@UAEXH@Z @ 12803 NONAME ; void QS60MainAppUi::SetFadedL(int)
+	?fromImageReader@QPixmap@@SA?AV1@PAVQImageReader@@V?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 12804 NONAME ; class QPixmap QPixmap::fromImageReader(class QImageReader *, class QFlags<enum Qt::ImageConversionFlag>)
+	?findItems@QGraphicsViewPrivate@@QBE?AV?$QList@PAVQGraphicsItem@@@@ABVQRegion@@PA_NABVQTransform@@@Z @ 12805 NONAME ; class QList<class QGraphicsItem *> QGraphicsViewPrivate::findItems(class QRegion const &, bool *, class QTransform const &) const
+	?Exit@QS60MainAppUi@@UAEXXZ @ 12806 NONAME ; void QS60MainAppUi::Exit(void)
+	?positionInBlock@QTextCursor@@QBEHXZ @ 12807 NONAME ; int QTextCursor::positionInBlock(void) const
+	?dumpAllConfigs@QEgl@@YAXXZ @ 12808 NONAME ; void QEgl::dumpAllConfigs(void)
+	?recalculateContentSize@QGraphicsViewPrivate@@QAEXXZ @ 12809 NONAME ; void QGraphicsViewPrivate::recalculateContentSize(void)
+	?anchorAt@QPlainTextEdit@@QBE?AVQString@@ABVQPoint@@@Z @ 12810 NONAME ; class QString QPlainTextEdit::anchorAt(class QPoint const &) const
+	?_q_hslide@QAbstractScrollAreaPrivate@@QAEXH@Z @ 12811 NONAME ; void QAbstractScrollAreaPrivate::_q_hslide(int)
+	??_EQRuntimePixmapData@@UAE@I@Z @ 12812 NONAME ; QRuntimePixmapData::~QRuntimePixmapData(unsigned int)
+	?extractAll@QZipReader@@QBE_NABVQString@@@Z @ 12813 NONAME ; bool QZipReader::extractAll(class QString const &) const
+	?layoutChanged@QGraphicsWidget@@IAEXXZ @ 12814 NONAME ; void QGraphicsWidget::layoutChanged(void)
+	?isValid@FileInfo@QZipReader@@QBE_NXZ @ 12815 NONAME ; bool QZipReader::FileInfo::isValid(void) const
+	?name@QIcon@@QBE?AVQString@@XZ @ 12816 NONAME ; class QString QIcon::name(void) const
+	?resize@QRuntimePixmapData@@UAEXHH@Z @ 12817 NONAME ; void QRuntimePixmapData::resize(int, int)
+	?q_func@QAbstractScrollAreaPrivate@@AAEPAVQAbstractScrollArea@@XZ @ 12818 NONAME ; class QAbstractScrollArea * QAbstractScrollAreaPrivate::q_func(void)
+	?ProcessCommandL@QS60MainAppUi@@UAEXH@Z @ 12819 NONAME ; void QS60MainAppUi::ProcessCommandL(int)
+	?processCommands@QPainterReplayer@@QAEXABVQPaintBuffer@@PAVQPainter@@HH@Z @ 12820 NONAME ; void QPainterReplayer::processCommands(class QPaintBuffer const &, class QPainter *, int, int)
+	?heightChanged@QGraphicsObject@@IAEXXZ @ 12821 NONAME ; void QGraphicsObject::heightChanged(void)
+	?paste@QLineControl@@QAEXW4Mode@QClipboard@@@Z @ 12822 NONAME ; void QLineControl::paste(enum QClipboard::Mode)
+	?fromImageReader@QPixmapData@@UAEXPAVQImageReader@@V?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 12823 NONAME ; void QPixmapData::fromImageReader(class QImageReader *, class QFlags<enum Qt::ImageConversionFlag>)
+	?toPolygon@QBezier@@QBE?AVQPolygonF@@M@Z @ 12824 NONAME ; class QPolygonF QBezier::toPolygon(float) const
+	?prepare@QStaticText@@QAEXABVQTransform@@ABVQFont@@@Z @ 12825 NONAME ; void QStaticText::prepare(class QTransform const &, class QFont const &)
+	?fillTexture@QImageTextureGlyphCache@@UAEXABUCoord@QTextureGlyphCache@@I@Z @ 12826 NONAME ; void QImageTextureGlyphCache::fillTexture(struct QTextureGlyphCache::Coord const &, unsigned int)
+	?OpenFileL@QS60MainDocument@@UAEXAAPAVCFileStore@@AAVRFile@@@Z @ 12827 NONAME ; void QS60MainDocument::OpenFileL(class CFileStore * &, class RFile &)
+	?fixup@QIntValidator@@UBEXAAVQString@@@Z @ 12828 NONAME ; void QIntValidator::fixup(class QString &) const
+	?resetHeight@QGraphicsItemPrivate@@UAEXXZ @ 12829 NONAME ; void QGraphicsItemPrivate::resetHeight(void)
+	?commandDescription@QPaintBuffer@@QBE?AVQString@@H@Z @ 12830 NONAME ; class QString QPaintBuffer::commandDescription(int) const
+	?isReadable@QZipReader@@QBE_NXZ @ 12831 NONAME ; bool QZipReader::isReadable(void) const
+	?performanceHint@QStaticText@@QBE?AW4PerformanceHint@1@XZ @ 12832 NONAME ; enum QStaticText::PerformanceHint QStaticText::performanceHint(void) const
+	?updateScroll@QGraphicsViewPrivate@@QAEXXZ @ 12833 NONAME ; void QGraphicsViewPrivate::updateScroll(void)
+	?fromImageReader@QRasterPixmapData@@UAEXPAVQImageReader@@V?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 12834 NONAME ; void QRasterPixmapData::fromImageReader(class QImageReader *, class QFlags<enum Qt::ImageConversionFlag>)
+	?rubberBandRegion@QGraphicsViewPrivate@@QBE?AVQRegion@@PBVQWidget@@ABVQRect@@@Z @ 12835 NONAME ; class QRegion QGraphicsViewPrivate::rubberBandRegion(class QWidget const *, class QRect const &) const
+	?storeDragDropEvent@QGraphicsViewPrivate@@QAEXPBVQGraphicsSceneDragDropEvent@@@Z @ 12836 NONAME ; void QGraphicsViewPrivate::storeDragDropEvent(class QGraphicsSceneDragDropEvent const *)
+	??0QZipReader@@QAE@PAVQIODevice@@@Z @ 12837 NONAME ; QZipReader::QZipReader(class QIODevice *)
+	?aboutToDestroy@QWidgetPrivate@@UAEXXZ @ 12838 NONAME ; void QWidgetPrivate::aboutToDestroy(void)
+	?createPixmapForImage@QRasterPixmapData@@IAEXAAVQImage@@V?$QFlags@W4ImageConversionFlag@Qt@@@@_N@Z @ 12839 NONAME ; void QRasterPixmapData::createPixmapForImage(class QImage &, class QFlags<enum Qt::ImageConversionFlag>, bool)
+	?populateSceneDragDropEvent@QGraphicsViewPrivate@@QAEXPAVQGraphicsSceneDragDropEvent@@PAVQDropEvent@@@Z @ 12840 NONAME ; void QGraphicsViewPrivate::populateSceneDragDropEvent(class QGraphicsSceneDragDropEvent *, class QDropEvent *)
+	?children_count@QGraphicsItemPrivate@@SAHPAV?$QDeclarativeListProperty@VQGraphicsObject@@@@@Z @ 12841 NONAME ; int QGraphicsItemPrivate::children_count(class QDeclarativeListProperty<class QGraphicsObject> *)
+	??0QStaticText@@QAE@XZ @ 12842 NONAME ; QStaticText::QStaticText(void)
+	?HandleScreenDeviceChangedL@QS60MainAppUi@@MAEXXZ @ 12843 NONAME ; void QS60MainAppUi::HandleScreenDeviceChangedL(void)
+	?allPixmaps@QPixmapCache@@SA?AV?$QList@U?$QPair@VQString@@VQPixmap@@@@@@XZ @ 12844 NONAME ; class QList<struct QPair<class QString, class QPixmap> > QPixmapCache::allPixmaps(void)
+	?keepPositionOnInsert@QTextCursor@@QBE_NXZ @ 12845 NONAME ; bool QTextCursor::keepPositionOnInsert(void) const
+	??1QZipReader@@QAE@XZ @ 12846 NONAME ; QZipReader::~QZipReader(void)
+	?updateRectF@QGraphicsViewPrivate@@QAE_NABVQRectF@@@Z @ 12847 NONAME ; bool QGraphicsViewPrivate::updateRectF(class QRectF const &)
+	?setText@QStaticText@@QAEXABVQString@@@Z @ 12848 NONAME ; void QStaticText::setText(class QString const &)
+	?device@QZipReader@@QBEPAVQIODevice@@XZ @ 12849 NONAME ; class QIODevice * QZipReader::device(void) const
+	?layoutChildren@QAbstractScrollAreaPrivate@@QAEXXZ @ 12850 NONAME ; void QAbstractScrollAreaPrivate::layoutChildren(void)
+	?drawStaticText@QPainter@@QAEXABVQPointF@@ABVQStaticText@@@Z @ 12851 NONAME ; void QPainter::drawStaticText(class QPointF const &, class QStaticText const &)
+	?updateAll@QGraphicsViewPrivate@@QAEXXZ @ 12852 NONAME ; void QGraphicsViewPrivate::updateAll(void)
+	?updateMicroFocus@QGraphicsItem@@IAEXXZ @ 12853 NONAME ; void QGraphicsItem::updateMicroFocus(void)
+	?populate@QTextureGlyphCache@@QAEXPAVQFontEngine@@HPBIPBUQFixedPoint@@@Z @ 12854 NONAME ; void QTextureGlyphCache::populate(class QFontEngine *, int, unsigned int const *, struct QFixedPoint const *)
+	?hasPartialUpdateSupport@QWindowSurface@@QBE_NXZ @ 12855 NONAME ; bool QWindowSurface::hasPartialUpdateSupport(void) const
+	?scroll@QRuntimePixmapData@@UAE_NHHABVQRect@@@Z @ 12856 NONAME ; bool QRuntimePixmapData::scroll(int, int, class QRect const &)
+	?qt_draw_glyphs@@YAXPAVQPainter@@PBIPBVQPointF@@H@Z @ 12857 NONAME ; void qt_draw_glyphs(class QPainter *, unsigned int const *, class QPointF const *, int)
+	?nativeDisplay@QEgl@@YAHXZ @ 12858 NONAME ; int QEgl::nativeDisplay(void)
+	?PreDocConstructL@QS60MainApplication@@UAEXXZ @ 12859 NONAME ; void QS60MainApplication::PreDocConstructL(void)
+	?detach@QStaticText@@AAEXXZ @ 12860 NONAME ; void QStaticText::detach(void)
+	?yScaleChanged@QGraphicsScale@@IAEXXZ @ 12861 NONAME ; void QGraphicsScale::yScaleChanged(void)
+	?size@QStaticText@@QBE?AVQSizeF@@XZ @ 12862 NONAME ; class QSizeF QStaticText::size(void) const
+	?NewAppServerL@QS60MainApplication@@UAEXAAPAVCApaAppServer@@@Z @ 12863 NONAME ; void QS60MainApplication::NewAppServerL(class CApaAppServer * &)
+	?createPixmapData@QGraphicsSystem@@UAEPAVQPixmapData@@PAV2@@Z @ 12864 NONAME ; class QPixmapData * QGraphicsSystem::createPixmapData(class QPixmapData *)
+	??4FileInfo@QZipReader@@QAEAAU01@ABU01@@Z @ 12865 NONAME ; struct QZipReader::FileInfo & QZipReader::FileInfo::operator=(struct QZipReader::FileInfo const &)
+	?convertInPlace@QImageData@@QAE_NW4Format@QImage@@V?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 12866 NONAME ; bool QImageData::convertInPlace(enum QImage::Format, class QFlags<enum Qt::ImageConversionFlag>)
+	?pageRemoved@QWizard@@IAEXH@Z @ 12867 NONAME ; void QWizard::pageRemoved(int)
+	?q_func@QGraphicsViewPrivate@@AAEPAVQGraphicsView@@XZ @ 12868 NONAME ; class QGraphicsView * QGraphicsViewPrivate::q_func(void)
+	?pointInsideRectAndMask@QWidgetPrivate@@QBE_NABVQPoint@@@Z @ 12869 NONAME ; bool QWidgetPrivate::pointInsideRectAndMask(class QPoint const &) const
+	?copy@QRasterPixmapData@@UAEXPBVQPixmapData@@ABVQRect@@@Z @ 12870 NONAME ; void QRasterPixmapData::copy(class QPixmapData const *, class QRect const &)
+	?frameEndIndex@QPaintBuffer@@QBEHH@Z @ 12871 NONAME ; int QPaintBuffer::frameEndIndex(int) const
+	?prependGraphicsTransform@QGraphicsItemPrivate@@QAEXPAVQGraphicsTransform@@@Z @ 12872 NONAME ; void QGraphicsItemPrivate::prependGraphicsTransform(class QGraphicsTransform *)
+	?processCommands@QPaintBuffer@@QBEHPAVQPainter@@HH@Z @ 12873 NONAME ; int QPaintBuffer::processCommands(class QPainter *, int, int) const
+	?eglSwapBuffersRegion2NOK@QEgl@@YAHHHHPBH@Z @ 12874 NONAME ; int QEgl::eglSwapBuffersRegion2NOK(int, int, int, int const *)
+	?horizontalScroll@QGraphicsViewPrivate@@QBE_JXZ @ 12875 NONAME ; long long QGraphicsViewPrivate::horizontalScroll(void) const
+	?constScanLine@QImage@@QBEPBEH@Z @ 12876 NONAME ; unsigned char const * QImage::constScanLine(int) const
+	?textDirection@QTextBlock@@QBE?AW4LayoutDirection@Qt@@XZ @ 12877 NONAME ; enum Qt::LayoutDirection QTextBlock::textDirection(void) const
+	?scrollBarPolicyChanged@QAbstractScrollAreaPrivate@@UAEXW4Orientation@Qt@@W4ScrollBarPolicy@3@@Z @ 12878 NONAME ; void QAbstractScrollAreaPrivate::scrollBarPolicyChanged(enum Qt::Orientation, enum Qt::ScrollBarPolicy)
+	?frameStartIndex@QPaintBuffer@@QBEHH@Z @ 12879 NONAME ; int QPaintBuffer::frameStartIndex(int) const
 	?HandleViewDeactivation@QS60MainAppUi@@UAEXABVTVwsViewId@@0@Z @ 12880 NONAME ; void QS60MainAppUi::HandleViewDeactivation(class TVwsViewId const &, class TVwsViewId const &)
-	?timeout@QTapAndHoldGesture@@SAHXZ @ 12881 NONAME ; int QTapAndHoldGesture::timeout(void)
-	?focusScopeItemChange@QGraphicsItemPrivate@@UAEX_N@Z @ 12882 NONAME ; void QGraphicsItemPrivate::focusScopeItemChange(bool)
-	?setTimeout@QTapAndHoldGesture@@SAXH@Z @ 12883 NONAME ; void QTapAndHoldGesture::setTimeout(int)
-	?childrenBoundingRectHelper@QGraphicsItemPrivate@@QAEXPAVQTransform@@PAVQRectF@@_N@Z @ 12884 NONAME ; void QGraphicsItemPrivate::childrenBoundingRectHelper(class QTransform *, class QRectF *, bool)
-	?zScaleChanged@QGraphicsScale@@IAEXXZ @ 12885 NONAME ; void QGraphicsScale::zScaleChanged(void)
-	?xScaleChanged@QGraphicsScale@@IAEXXZ @ 12886 NONAME ; void QGraphicsScale::xScaleChanged(void)
-	?yScaleChanged@QGraphicsScale@@IAEXXZ @ 12887 NONAME ; void QGraphicsScale::yScaleChanged(void)
-	?_q_aboutToQuit@QApplicationPrivate@@QAEXXZ @ 12888 NONAME ; void QApplicationPrivate::_q_aboutToQuit(void)
-	?ensureSpace@QTextEngine@@QBE_NH@Z @ 12889 NONAME ; bool QTextEngine::ensureSpace(int) const
+	?fill@QRuntimePixmapData@@UAEXABVQColor@@@Z @ 12881 NONAME ; void QRuntimePixmapData::fill(class QColor const &)
+	?autoFillBackground@QGraphicsWidget@@QBE_NXZ @ 12882 NONAME ; bool QGraphicsWidget::autoFillBackground(void) const
+	?children_at@QGraphicsItemPrivate@@SAPAVQGraphicsObject@@PAV?$QDeclarativeListProperty@VQGraphicsObject@@@@H@Z @ 12883 NONAME ; class QGraphicsObject * QGraphicsItemPrivate::children_at(class QDeclarativeListProperty<class QGraphicsObject> *, int)
+	??0QGraphicsViewPrivate@@QAE@XZ @ 12884 NONAME ; QGraphicsViewPrivate::QGraphicsViewPrivate(void)
+	?flushDetachedPixmaps@QPixmapCache@@SAXXZ @ 12885 NONAME ; void QPixmapCache::flushDetachedPixmaps(void)
+	?replayLastMouseEvent@QGraphicsViewPrivate@@QAEXXZ @ 12886 NONAME ; void QGraphicsViewPrivate::replayLastMouseEvent(void)
 
diff --git a/src/s60installs/bwins/QtMultimediau.def b/src/s60installs/bwins/QtMultimediau.def
index b0e6368..b8cf6b9 100644
--- a/src/s60installs/bwins/QtMultimediau.def
+++ b/src/s60installs/bwins/QtMultimediau.def
@@ -268,10 +268,10 @@ EXPORTS
 	?staticMetaObject@QAbstractAudioOutput@@2UQMetaObject@@B @ 267 NONAME ; struct QMetaObject const QAbstractAudioOutput::staticMetaObject
 	?staticMetaObject@QAudioOutput@@2UQMetaObject@@B @ 268 NONAME ; struct QMetaObject const QAudioOutput::staticMetaObject
 	?staticMetaObject@QAbstractAudioInput@@2UQMetaObject@@B @ 269 NONAME ; struct QMetaObject const QAbstractAudioInput::staticMetaObject
-	?channelCount@QAudioFormat@@QBEHXZ @ 270 NONAME ; int QAudioFormat::channelCount(void) const
-	?sampleRate@QAudioFormat@@QBEHXZ @ 271 NONAME ; int QAudioFormat::sampleRate(void) const
-	?setChannelCount@QAudioFormat@@QAEXH@Z @ 272 NONAME ; void QAudioFormat::setChannelCount(int)
-	?setSampleRate@QAudioFormat@@QAEXH@Z @ 273 NONAME ; void QAudioFormat::setSampleRate(int)
-	?supportedChannelCounts@QAudioDeviceInfo@@QBE?AV?$QList@H@@XZ @ 274 NONAME ; class QList<int> QAudioDeviceInfo::supportedChannelCounts(void) const
-	?supportedSampleRates@QAudioDeviceInfo@@QBE?AV?$QList@H@@XZ @ 275 NONAME ; class QList<int> QAudioDeviceInfo::supportedSampleRates(void) const
+	?setSampleRate@QAudioFormat@@QAEXH@Z @ 270 NONAME ; void QAudioFormat::setSampleRate(int)
+	?channelCount@QAudioFormat@@QBEHXZ @ 271 NONAME ; int QAudioFormat::channelCount(void) const
+	?supportedChannelCounts@QAudioDeviceInfo@@QBE?AV?$QList@H@@XZ @ 272 NONAME ; class QList<int> QAudioDeviceInfo::supportedChannelCounts(void) const
+	?sampleRate@QAudioFormat@@QBEHXZ @ 273 NONAME ; int QAudioFormat::sampleRate(void) const
+	?supportedSampleRates@QAudioDeviceInfo@@QBE?AV?$QList@H@@XZ @ 274 NONAME ; class QList<int> QAudioDeviceInfo::supportedSampleRates(void) const
+	?setChannelCount@QAudioFormat@@QAEXH@Z @ 275 NONAME ; void QAudioFormat::setChannelCount(int)
 
diff --git a/src/s60installs/bwins/QtNetworku.def b/src/s60installs/bwins/QtNetworku.def
index 2cf62a8..21718d3 100644
--- a/src/s60installs/bwins/QtNetworku.def
+++ b/src/s60installs/bwins/QtNetworku.def
@@ -1029,120 +1029,120 @@ EXPORTS
 	??1QBearerEngine@@UAE@XZ @ 1028 NONAME ; QBearerEngine::~QBearerEngine(void)
 	?capabilities@QNetworkConfigurationManagerPrivate@@QAE?AV?$QFlags@W4Capability@QNetworkConfigurationManager@@@@XZ @ 1029 NONAME ; class QFlags<enum QNetworkConfigurationManager::Capability> QNetworkConfigurationManagerPrivate::capabilities(void)
 	??1QNetworkConfiguration@@QAE@XZ @ 1030 NONAME ; QNetworkConfiguration::~QNetworkConfiguration(void)
-	??0QNetworkConfigurationManagerPrivate@@QAE@XZ @ 1031 NONAME ; QNetworkConfigurationManagerPrivate::QNetworkConfigurationManagerPrivate(void)
-	?preferredConfigurationChanged@QNetworkSession@@IAEXABVQNetworkConfiguration@@_N@Z @ 1032 NONAME ; void QNetworkSession::preferredConfigurationChanged(class QNetworkConfiguration const &, bool)
-	?isValid@QNetworkConfiguration@@QBE_NXZ @ 1033 NONAME ; bool QNetworkConfiguration::isValid(void) const
-	?configurationAdded@QBearerEngine@@IAEXV?$QExplicitlySharedDataPointer@VQNetworkConfigurationPrivate@@@@@Z @ 1034 NONAME ; void QBearerEngine::configurationAdded(class QExplicitlySharedDataPointer<class QNetworkConfigurationPrivate>)
-	??1QNetworkSession@@UAE@XZ @ 1035 NONAME ; QNetworkSession::~QNetworkSession(void)
-	?qt_metacast@QBearerEnginePlugin@@UAEPAXPBD@Z @ 1036 NONAME ; void * QBearerEnginePlugin::qt_metacast(char const *)
-	??0QNetworkSession@@QAE@ABVQNetworkConfiguration@@PAVQObject@@@Z @ 1037 NONAME ; QNetworkSession::QNetworkSession(class QNetworkConfiguration const &, class QObject *)
-	?error@QNetworkSessionPrivate@@IAEXW4SessionError@QNetworkSession@@@Z @ 1038 NONAME ; void QNetworkSessionPrivate::error(enum QNetworkSession::SessionError)
-	?name@QNetworkConfiguration@@QBE?AVQString@@XZ @ 1039 NONAME ; class QString QNetworkConfiguration::name(void) const
-	?close@QNetworkSession@@QAEXXZ @ 1040 NONAME ; void QNetworkSession::close(void)
-	?sessionProperty@QNetworkSession@@QBE?AVQVariant@@ABVQString@@@Z @ 1041 NONAME ; class QVariant QNetworkSession::sessionProperty(class QString const &) const
-	?engines@QNetworkConfigurationManagerPrivate@@QAE?AV?$QList@PAVQBearerEngine@@@@XZ @ 1042 NONAME ; class QList<class QBearerEngine *> QNetworkConfigurationManagerPrivate::engines(void)
-	?isOnline@QNetworkConfigurationManager@@QBE_NXZ @ 1043 NONAME ; bool QNetworkConfigurationManager::isOnline(void) const
-	?capabilities@QNetworkConfigurationManager@@QBE?AV?$QFlags@W4Capability@QNetworkConfigurationManager@@@@XZ @ 1044 NONAME ; class QFlags<enum QNetworkConfigurationManager::Capability> QNetworkConfigurationManager::capabilities(void) const
-	?configurationRemoved@QNetworkConfigurationManagerPrivate@@AAEXV?$QExplicitlySharedDataPointer@VQNetworkConfigurationPrivate@@@@@Z @ 1045 NONAME ; void QNetworkConfigurationManagerPrivate::configurationRemoved(class QExplicitlySharedDataPointer<class QNetworkConfigurationPrivate>)
-	??0QNetworkConfiguration@@QAE@ABV0@@Z @ 1046 NONAME ; QNetworkConfiguration::QNetworkConfiguration(class QNetworkConfiguration const &)
-	?setPriority@QNetworkRequest@@QAEXW4Priority@1@@Z @ 1047 NONAME ; void QNetworkRequest::setPriority(enum QNetworkRequest::Priority)
-	?disconnectNotify@QNetworkSession@@MAEXPBD@Z @ 1048 NONAME ; void QNetworkSession::disconnectNotify(char const *)
-	?metaObject@QNetworkSession@@UBEPBUQMetaObject@@XZ @ 1049 NONAME ; struct QMetaObject const * QNetworkSession::metaObject(void) const
-	?trUtf8@QBearerEngine@@SA?AVQString@@PBD0H@Z @ 1050 NONAME ; class QString QBearerEngine::trUtf8(char const *, char const *, int)
-	?configuration@QNetworkSession@@QBE?AVQNetworkConfiguration@@XZ @ 1051 NONAME ; class QNetworkConfiguration QNetworkSession::configuration(void) const
-	?closed@QNetworkSessionPrivate@@IAEXXZ @ 1052 NONAME ; void QNetworkSessionPrivate::closed(void)
-	??1QNetworkSessionPrivate@@UAE@XZ @ 1053 NONAME ; QNetworkSessionPrivate::~QNetworkSessionPrivate(void)
-	?staticMetaObject@QNetworkConfigurationManager@@2UQMetaObject@@B @ 1054 NONAME ; struct QMetaObject const QNetworkConfigurationManager::staticMetaObject
-	?tr@QNetworkConfigurationManager@@SA?AVQString@@PBD0H@Z @ 1055 NONAME ; class QString QNetworkConfigurationManager::tr(char const *, char const *, int)
-	?tr@QNetworkConfigurationManagerPrivate@@SA?AVQString@@PBD0H@Z @ 1056 NONAME ; class QString QNetworkConfigurationManagerPrivate::tr(char const *, char const *, int)
-	?configurationChanged@QBearerEngine@@IAEXV?$QExplicitlySharedDataPointer@VQNetworkConfigurationPrivate@@@@@Z @ 1057 NONAME ; void QBearerEngine::configurationChanged(class QExplicitlySharedDataPointer<class QNetworkConfigurationPrivate>)
-	?tr@QBearerEngine@@SA?AVQString@@PBD0@Z @ 1058 NONAME ; class QString QBearerEngine::tr(char const *, char const *)
-	??0QNetworkConfiguration@@QAE@XZ @ 1059 NONAME ; QNetworkConfiguration::QNetworkConfiguration(void)
-	?configurationRemoved@QNetworkConfigurationManager@@IAEXABVQNetworkConfiguration@@@Z @ 1060 NONAME ; void QNetworkConfigurationManager::configurationRemoved(class QNetworkConfiguration const &)
-	?preferredConfigurationChanged@QNetworkSessionPrivate@@IAEXABVQNetworkConfiguration@@_N@Z @ 1061 NONAME ; void QNetworkSessionPrivate::preferredConfigurationChanged(class QNetworkConfiguration const &, bool)
-	??1QBearerEnginePlugin@@UAE@XZ @ 1062 NONAME ; QBearerEnginePlugin::~QBearerEnginePlugin(void)
-	?tr@QNetworkSession@@SA?AVQString@@PBD0@Z @ 1063 NONAME ; class QString QNetworkSession::tr(char const *, char const *)
-	??0QNetworkConfigurationManager@@QAE@PAVQObject@@@Z @ 1064 NONAME ; QNetworkConfigurationManager::QNetworkConfigurationManager(class QObject *)
-	?qt_metacall@QNetworkConfigurationManagerPrivate@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1065 NONAME ; int QNetworkConfigurationManagerPrivate::qt_metacall(enum QMetaObject::Call, int, void * *)
-	??_EQNetworkSession@@UAE@I@Z @ 1066 NONAME ; QNetworkSession::~QNetworkSession(unsigned int)
-	??9QNetworkConfiguration@@QBE_NABV0@@Z @ 1067 NONAME ; bool QNetworkConfiguration::operator!=(class QNetworkConfiguration const &) const
-	?configurationsInUse@QBearerEngine@@QBE_NXZ @ 1068 NONAME ; bool QBearerEngine::configurationsInUse(void) const
-	?tr@QBearerEngine@@SA?AVQString@@PBD0H@Z @ 1069 NONAME ; class QString QBearerEngine::tr(char const *, char const *, int)
-	?configuration@QNetworkAccessManager@@QBE?AVQNetworkConfiguration@@XZ @ 1070 NONAME ; class QNetworkConfiguration QNetworkAccessManager::configuration(void) const
-	?tr@QNetworkSessionPrivate@@SA?AVQString@@PBD0@Z @ 1071 NONAME ; class QString QNetworkSessionPrivate::tr(char const *, char const *)
-	?activeTime@QNetworkSession@@QBE_KXZ @ 1072 NONAME ; unsigned long long QNetworkSession::activeTime(void) const
-	?state@QNetworkSession@@QBE?AW4State@1@XZ @ 1073 NONAME ; enum QNetworkSession::State QNetworkSession::state(void) const
-	?disablePolling@QNetworkConfigurationManagerPrivate@@QAEXXZ @ 1074 NONAME ; void QNetworkConfigurationManagerPrivate::disablePolling(void)
-	?getStaticMetaObject@QNetworkSessionPrivate@@SAABUQMetaObject@@XZ @ 1075 NONAME ; struct QMetaObject const & QNetworkSessionPrivate::getStaticMetaObject(void)
-	?configurationAdded@QNetworkConfigurationManager@@IAEXABVQNetworkConfiguration@@@Z @ 1076 NONAME ; void QNetworkConfigurationManager::configurationAdded(class QNetworkConfiguration const &)
-	?tr@QNetworkSessionPrivate@@SA?AVQString@@PBD0H@Z @ 1077 NONAME ; class QString QNetworkSessionPrivate::tr(char const *, char const *, int)
-	?performAsyncConfigurationUpdate@QNetworkConfigurationManagerPrivate@@QAEXXZ @ 1078 NONAME ; void QNetworkConfigurationManagerPrivate::performAsyncConfigurationUpdate(void)
-	?trUtf8@QNetworkConfigurationManagerPrivate@@SA?AVQString@@PBD0@Z @ 1079 NONAME ; class QString QNetworkConfigurationManagerPrivate::trUtf8(char const *, char const *)
-	?networkAccessible@QNetworkAccessManager@@QBE?AW4NetworkAccessibility@1@XZ @ 1080 NONAME ; enum QNetworkAccessManager::NetworkAccessibility QNetworkAccessManager::networkAccessible(void) const
-	?setOption@QAuthenticator@@QAEXABVQString@@ABVQVariant@@@Z @ 1081 NONAME ; void QAuthenticator::setOption(class QString const &, class QVariant const &)
-	?trUtf8@QBearerEnginePlugin@@SA?AVQString@@PBD0H@Z @ 1082 NONAME ; class QString QBearerEnginePlugin::trUtf8(char const *, char const *, int)
-	?trUtf8@QNetworkConfigurationManager@@SA?AVQString@@PBD0@Z @ 1083 NONAME ; class QString QNetworkConfigurationManager::trUtf8(char const *, char const *)
-	?allConfigurations@QNetworkConfigurationManager@@QBE?AV?$QList@VQNetworkConfiguration@@@@V?$QFlags@W4StateFlag@QNetworkConfiguration@@@@@Z @ 1084 NONAME ; class QList<class QNetworkConfiguration> QNetworkConfigurationManager::allConfigurations(class QFlags<enum QNetworkConfiguration::StateFlag>) const
-	?requiresPolling@QBearerEngine@@UBE_NXZ @ 1085 NONAME ; bool QBearerEngine::requiresPolling(void) const
-	?priority@QNetworkRequest@@QBE?AW4Priority@1@XZ @ 1086 NONAME ; enum QNetworkRequest::Priority QNetworkRequest::priority(void) const
-	?networkAccessibleChanged@QNetworkAccessManager@@IAEXW4NetworkAccessibility@1@@Z @ 1087 NONAME ; void QNetworkAccessManager::networkAccessibleChanged(enum QNetworkAccessManager::NetworkAccessibility)
-	??8QNetworkConfiguration@@QBE_NABV0@@Z @ 1088 NONAME ; bool QNetworkConfiguration::operator==(class QNetworkConfiguration const &) const
-	?option@QAuthenticator@@QBE?AVQVariant@@ABVQString@@@Z @ 1089 NONAME ; class QVariant QAuthenticator::option(class QString const &) const
-	?tr@QBearerEnginePlugin@@SA?AVQString@@PBD0@Z @ 1090 NONAME ; class QString QBearerEnginePlugin::tr(char const *, char const *)
-	?configurationFromIdentifier@QNetworkConfigurationManager@@QBE?AVQNetworkConfiguration@@ABVQString@@@Z @ 1091 NONAME ; class QNetworkConfiguration QNetworkConfigurationManager::configurationFromIdentifier(class QString const &) const
-	??_EQBearerEnginePlugin@@UAE@I@Z @ 1092 NONAME ; QBearerEnginePlugin::~QBearerEnginePlugin(unsigned int)
-	?children@QNetworkConfiguration@@QBE?AV?$QList@VQNetworkConfiguration@@@@XZ @ 1093 NONAME ; class QList<class QNetworkConfiguration> QNetworkConfiguration::children(void) const
-	?activeConfiguration@QNetworkAccessManager@@QBE?AVQNetworkConfiguration@@XZ @ 1094 NONAME ; class QNetworkConfiguration QNetworkAccessManager::activeConfiguration(void) const
-	?defaultConfiguration@QNetworkConfigurationManagerPrivate@@QAE?AVQNetworkConfiguration@@XZ @ 1095 NONAME ; class QNetworkConfiguration QNetworkConfigurationManagerPrivate::defaultConfiguration(void)
-	?getStaticMetaObject@QNetworkSession@@SAABUQMetaObject@@XZ @ 1096 NONAME ; struct QMetaObject const & QNetworkSession::getStaticMetaObject(void)
-	?qt_metacast@QNetworkSession@@UAEPAXPBD@Z @ 1097 NONAME ; void * QNetworkSession::qt_metacast(char const *)
-	?updateCompleted@QBearerEngine@@IAEXXZ @ 1098 NONAME ; void QBearerEngine::updateCompleted(void)
-	?qt_metacall@QNetworkSessionPrivate@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1099 NONAME ; int QNetworkSessionPrivate::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?onlineStateChanged@QNetworkConfigurationManager@@IAEX_N@Z @ 1100 NONAME ; void QNetworkConfigurationManager::onlineStateChanged(bool)
-	?getStaticMetaObject@QNetworkConfigurationManager@@SAABUQMetaObject@@XZ @ 1101 NONAME ; struct QMetaObject const & QNetworkConfigurationManager::getStaticMetaObject(void)
-	??0QNetworkSessionPrivate@@QAE@XZ @ 1102 NONAME ; QNetworkSessionPrivate::QNetworkSessionPrivate(void)
-	?qt_metacast@QNetworkConfigurationManager@@UAEPAXPBD@Z @ 1103 NONAME ; void * QNetworkConfigurationManager::qt_metacast(char const *)
-	?configurationChanged@QNetworkConfigurationManagerPrivate@@IAEXABVQNetworkConfiguration@@@Z @ 1104 NONAME ; void QNetworkConfigurationManagerPrivate::configurationChanged(class QNetworkConfiguration const &)
-	?staticMetaObject@QBearerEnginePlugin@@2UQMetaObject@@B @ 1105 NONAME ; struct QMetaObject const QBearerEnginePlugin::staticMetaObject
-	?qt_metacast@QNetworkConfigurationManagerPrivate@@UAEPAXPBD@Z @ 1106 NONAME ; void * QNetworkConfigurationManagerPrivate::qt_metacast(char const *)
-	?newConfigurationActivated@QNetworkSessionPrivate@@IAEXXZ @ 1107 NONAME ; void QNetworkSessionPrivate::newConfigurationActivated(void)
-	?qt_metacast@QNetworkSessionPrivate@@UAEPAXPBD@Z @ 1108 NONAME ; void * QNetworkSessionPrivate::qt_metacast(char const *)
-	?startPolling@QNetworkConfigurationManagerPrivate@@QAEXXZ @ 1109 NONAME ; void QNetworkConfigurationManagerPrivate::startPolling(void)
-	?allConfigurations@QNetworkConfigurationManagerPrivate@@QAE?AV?$QList@VQNetworkConfiguration@@@@V?$QFlags@W4StateFlag@QNetworkConfiguration@@@@@Z @ 1110 NONAME ; class QList<class QNetworkConfiguration> QNetworkConfigurationManagerPrivate::allConfigurations(class QFlags<enum QNetworkConfiguration::StateFlag>)
-	?connectNotify@QNetworkSession@@MAEXPBD@Z @ 1111 NONAME ; void QNetworkSession::connectNotify(char const *)
-	?onlineStateChanged@QNetworkConfigurationManagerPrivate@@IAEX_N@Z @ 1112 NONAME ; void QNetworkConfigurationManagerPrivate::onlineStateChanged(bool)
-	?bytesWritten@QNetworkSession@@QBE_KXZ @ 1113 NONAME ; unsigned long long QNetworkSession::bytesWritten(void) const
-	?sendCustomRequest@QNetworkAccessManager@@QAEPAVQNetworkReply@@ABVQNetworkRequest@@ABVQByteArray@@PAVQIODevice@@@Z @ 1114 NONAME ; class QNetworkReply * QNetworkAccessManager::sendCustomRequest(class QNetworkRequest const &, class QByteArray const &, class QIODevice *)
-	?addPendingConnection@QTcpServer@@IAEXPAVQTcpSocket@@@Z @ 1115 NONAME ; void QTcpServer::addPendingConnection(class QTcpSocket *)
-	?ignore@QNetworkSession@@QAEXXZ @ 1116 NONAME ; void QNetworkSession::ignore(void)
-	?updateConfigurations@QNetworkConfigurationManager@@QAEXXZ @ 1117 NONAME ; void QNetworkConfigurationManager::updateConfigurations(void)
-	?stateChanged@QNetworkSessionPrivate@@IAEXW4State@QNetworkSession@@@Z @ 1118 NONAME ; void QNetworkSessionPrivate::stateChanged(enum QNetworkSession::State)
-	?setALREnabled@QNetworkSessionPrivate@@UAEX_N@Z @ 1119 NONAME ; void QNetworkSessionPrivate::setALREnabled(bool)
-	?configurationRemoved@QNetworkConfigurationManagerPrivate@@IAEXABVQNetworkConfiguration@@@Z @ 1120 NONAME ; void QNetworkConfigurationManagerPrivate::configurationRemoved(class QNetworkConfiguration const &)
-	?qt_metacall@QBearerEngine@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1121 NONAME ; int QBearerEngine::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?interface@QNetworkSession@@QBE?AVQNetworkInterface@@XZ @ 1122 NONAME ; class QNetworkInterface QNetworkSession::interface(void) const
-	?opened@QNetworkSession@@IAEXXZ @ 1123 NONAME ; void QNetworkSession::opened(void)
-	?type@QNetworkConfiguration@@QBE?AW4Type@1@XZ @ 1124 NONAME ; enum QNetworkConfiguration::Type QNetworkConfiguration::type(void) const
-	?migrate@QNetworkSession@@QAEXXZ @ 1125 NONAME ; void QNetworkSession::migrate(void)
-	?closed@QNetworkSession@@IAEXXZ @ 1126 NONAME ; void QNetworkSession::closed(void)
-	?pollEngines@QNetworkConfigurationManagerPrivate@@AAEXXZ @ 1127 NONAME ; void QNetworkConfigurationManagerPrivate::pollEngines(void)
-	?staticMetaObject@QNetworkConfigurationManagerPrivate@@2UQMetaObject@@B @ 1128 NONAME ; struct QMetaObject const QNetworkConfigurationManagerPrivate::staticMetaObject
-	?reject@QNetworkSession@@QAEXXZ @ 1129 NONAME ; void QNetworkSession::reject(void)
-	?options@QAuthenticator@@QBE?AV?$QHash@VQString@@VQVariant@@@@XZ @ 1130 NONAME ; class QHash<class QString, class QVariant> QAuthenticator::options(void) const
-	?purpose@QNetworkConfiguration@@QBE?AW4Purpose@1@XZ @ 1131 NONAME ; enum QNetworkConfiguration::Purpose QNetworkConfiguration::purpose(void) const
-	?configurationFromIdentifier@QNetworkConfigurationManagerPrivate@@QAE?AVQNetworkConfiguration@@ABVQString@@@Z @ 1132 NONAME ; class QNetworkConfiguration QNetworkConfigurationManagerPrivate::configurationFromIdentifier(class QString const &)
-	?abort@QNetworkConfigurationManagerPrivate@@IAEXXZ @ 1133 NONAME ; void QNetworkConfigurationManagerPrivate::abort(void)
-	?tr@QNetworkConfigurationManager@@SA?AVQString@@PBD0@Z @ 1134 NONAME ; class QString QNetworkConfigurationManager::tr(char const *, char const *)
-	?trUtf8@QNetworkSession@@SA?AVQString@@PBD0H@Z @ 1135 NONAME ; class QString QNetworkSession::trUtf8(char const *, char const *, int)
-	?trUtf8@QBearerEnginePlugin@@SA?AVQString@@PBD0@Z @ 1136 NONAME ; class QString QBearerEnginePlugin::trUtf8(char const *, char const *)
-	??_EQNetworkSessionPrivate@@UAE@I@Z @ 1137 NONAME ; QNetworkSessionPrivate::~QNetworkSessionPrivate(unsigned int)
-	?configurationUpdateComplete@QNetworkConfigurationManagerPrivate@@IAEXXZ @ 1138 NONAME ; void QNetworkConfigurationManagerPrivate::configurationUpdateComplete(void)
-	?metaObject@QNetworkConfigurationManager@@UBEPBUQMetaObject@@XZ @ 1139 NONAME ; struct QMetaObject const * QNetworkConfigurationManager::metaObject(void) const
-	?tr@QNetworkConfigurationManagerPrivate@@SA?AVQString@@PBD0@Z @ 1140 NONAME ; class QString QNetworkConfigurationManagerPrivate::tr(char const *, char const *)
-	?updateCompleted@QNetworkConfigurationManager@@IAEXXZ @ 1141 NONAME ; void QNetworkConfigurationManager::updateCompleted(void)
-	?setNetworkAccessible@QNetworkAccessManager@@QAEXW4NetworkAccessibility@1@@Z @ 1142 NONAME ; void QNetworkAccessManager::setNetworkAccessible(enum QNetworkAccessManager::NetworkAccessibility)
-	??_EQBearerEngineFactoryInterface@@UAE@I@Z @ 1143 NONAME ; QBearerEngineFactoryInterface::~QBearerEngineFactoryInterface(unsigned int)
-	?enablePolling@QNetworkConfigurationManagerPrivate@@QAEXXZ @ 1144 NONAME ; void QNetworkConfigurationManagerPrivate::enablePolling(void)
-	?bearerTypeName@QNetworkConfiguration@@QBE?AVQString@@XZ @ 1145 NONAME ; class QString QNetworkConfiguration::bearerTypeName(void) const
-	?bearerType@QNetworkConfiguration@@QBE?AW4BearerType@1@XZ @ 1146 NONAME ; enum QNetworkConfiguration::BearerType QNetworkConfiguration::bearerType(void) const
+	?bearerTypeName@QNetworkConfiguration@@QBE?AVQString@@XZ @ 1031 NONAME ; class QString QNetworkConfiguration::bearerTypeName(void) const
+	??0QNetworkConfigurationManagerPrivate@@QAE@XZ @ 1032 NONAME ; QNetworkConfigurationManagerPrivate::QNetworkConfigurationManagerPrivate(void)
+	?preferredConfigurationChanged@QNetworkSession@@IAEXABVQNetworkConfiguration@@_N@Z @ 1033 NONAME ; void QNetworkSession::preferredConfigurationChanged(class QNetworkConfiguration const &, bool)
+	?isValid@QNetworkConfiguration@@QBE_NXZ @ 1034 NONAME ; bool QNetworkConfiguration::isValid(void) const
+	?configurationAdded@QBearerEngine@@IAEXV?$QExplicitlySharedDataPointer@VQNetworkConfigurationPrivate@@@@@Z @ 1035 NONAME ; void QBearerEngine::configurationAdded(class QExplicitlySharedDataPointer<class QNetworkConfigurationPrivate>)
+	??1QNetworkSession@@UAE@XZ @ 1036 NONAME ; QNetworkSession::~QNetworkSession(void)
+	?qt_metacast@QBearerEnginePlugin@@UAEPAXPBD@Z @ 1037 NONAME ; void * QBearerEnginePlugin::qt_metacast(char const *)
+	??0QNetworkSession@@QAE@ABVQNetworkConfiguration@@PAVQObject@@@Z @ 1038 NONAME ; QNetworkSession::QNetworkSession(class QNetworkConfiguration const &, class QObject *)
+	?error@QNetworkSessionPrivate@@IAEXW4SessionError@QNetworkSession@@@Z @ 1039 NONAME ; void QNetworkSessionPrivate::error(enum QNetworkSession::SessionError)
+	?name@QNetworkConfiguration@@QBE?AVQString@@XZ @ 1040 NONAME ; class QString QNetworkConfiguration::name(void) const
+	?close@QNetworkSession@@QAEXXZ @ 1041 NONAME ; void QNetworkSession::close(void)
+	?sessionProperty@QNetworkSession@@QBE?AVQVariant@@ABVQString@@@Z @ 1042 NONAME ; class QVariant QNetworkSession::sessionProperty(class QString const &) const
+	?engines@QNetworkConfigurationManagerPrivate@@QAE?AV?$QList@PAVQBearerEngine@@@@XZ @ 1043 NONAME ; class QList<class QBearerEngine *> QNetworkConfigurationManagerPrivate::engines(void)
+	?isOnline@QNetworkConfigurationManager@@QBE_NXZ @ 1044 NONAME ; bool QNetworkConfigurationManager::isOnline(void) const
+	?capabilities@QNetworkConfigurationManager@@QBE?AV?$QFlags@W4Capability@QNetworkConfigurationManager@@@@XZ @ 1045 NONAME ; class QFlags<enum QNetworkConfigurationManager::Capability> QNetworkConfigurationManager::capabilities(void) const
+	?configurationRemoved@QNetworkConfigurationManagerPrivate@@AAEXV?$QExplicitlySharedDataPointer@VQNetworkConfigurationPrivate@@@@@Z @ 1046 NONAME ; void QNetworkConfigurationManagerPrivate::configurationRemoved(class QExplicitlySharedDataPointer<class QNetworkConfigurationPrivate>)
+	??0QNetworkConfiguration@@QAE@ABV0@@Z @ 1047 NONAME ; QNetworkConfiguration::QNetworkConfiguration(class QNetworkConfiguration const &)
+	?setPriority@QNetworkRequest@@QAEXW4Priority@1@@Z @ 1048 NONAME ; void QNetworkRequest::setPriority(enum QNetworkRequest::Priority)
+	?disconnectNotify@QNetworkSession@@MAEXPBD@Z @ 1049 NONAME ; void QNetworkSession::disconnectNotify(char const *)
+	?metaObject@QNetworkSession@@UBEPBUQMetaObject@@XZ @ 1050 NONAME ; struct QMetaObject const * QNetworkSession::metaObject(void) const
+	?trUtf8@QBearerEngine@@SA?AVQString@@PBD0H@Z @ 1051 NONAME ; class QString QBearerEngine::trUtf8(char const *, char const *, int)
+	?configuration@QNetworkSession@@QBE?AVQNetworkConfiguration@@XZ @ 1052 NONAME ; class QNetworkConfiguration QNetworkSession::configuration(void) const
+	?closed@QNetworkSessionPrivate@@IAEXXZ @ 1053 NONAME ; void QNetworkSessionPrivate::closed(void)
+	??1QNetworkSessionPrivate@@UAE@XZ @ 1054 NONAME ; QNetworkSessionPrivate::~QNetworkSessionPrivate(void)
+	?staticMetaObject@QNetworkConfigurationManager@@2UQMetaObject@@B @ 1055 NONAME ; struct QMetaObject const QNetworkConfigurationManager::staticMetaObject
+	?tr@QNetworkConfigurationManager@@SA?AVQString@@PBD0H@Z @ 1056 NONAME ; class QString QNetworkConfigurationManager::tr(char const *, char const *, int)
+	?tr@QNetworkConfigurationManagerPrivate@@SA?AVQString@@PBD0H@Z @ 1057 NONAME ; class QString QNetworkConfigurationManagerPrivate::tr(char const *, char const *, int)
+	?configurationChanged@QBearerEngine@@IAEXV?$QExplicitlySharedDataPointer@VQNetworkConfigurationPrivate@@@@@Z @ 1058 NONAME ; void QBearerEngine::configurationChanged(class QExplicitlySharedDataPointer<class QNetworkConfigurationPrivate>)
+	?tr@QBearerEngine@@SA?AVQString@@PBD0@Z @ 1059 NONAME ; class QString QBearerEngine::tr(char const *, char const *)
+	??0QNetworkConfiguration@@QAE@XZ @ 1060 NONAME ; QNetworkConfiguration::QNetworkConfiguration(void)
+	?configurationRemoved@QNetworkConfigurationManager@@IAEXABVQNetworkConfiguration@@@Z @ 1061 NONAME ; void QNetworkConfigurationManager::configurationRemoved(class QNetworkConfiguration const &)
+	?preferredConfigurationChanged@QNetworkSessionPrivate@@IAEXABVQNetworkConfiguration@@_N@Z @ 1062 NONAME ; void QNetworkSessionPrivate::preferredConfigurationChanged(class QNetworkConfiguration const &, bool)
+	??1QBearerEnginePlugin@@UAE@XZ @ 1063 NONAME ; QBearerEnginePlugin::~QBearerEnginePlugin(void)
+	?tr@QNetworkSession@@SA?AVQString@@PBD0@Z @ 1064 NONAME ; class QString QNetworkSession::tr(char const *, char const *)
+	??0QNetworkConfigurationManager@@QAE@PAVQObject@@@Z @ 1065 NONAME ; QNetworkConfigurationManager::QNetworkConfigurationManager(class QObject *)
+	?qt_metacall@QNetworkConfigurationManagerPrivate@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1066 NONAME ; int QNetworkConfigurationManagerPrivate::qt_metacall(enum QMetaObject::Call, int, void * *)
+	??_EQNetworkSession@@UAE@I@Z @ 1067 NONAME ; QNetworkSession::~QNetworkSession(unsigned int)
+	??9QNetworkConfiguration@@QBE_NABV0@@Z @ 1068 NONAME ; bool QNetworkConfiguration::operator!=(class QNetworkConfiguration const &) const
+	?configurationsInUse@QBearerEngine@@QBE_NXZ @ 1069 NONAME ; bool QBearerEngine::configurationsInUse(void) const
+	?tr@QBearerEngine@@SA?AVQString@@PBD0H@Z @ 1070 NONAME ; class QString QBearerEngine::tr(char const *, char const *, int)
+	?configuration@QNetworkAccessManager@@QBE?AVQNetworkConfiguration@@XZ @ 1071 NONAME ; class QNetworkConfiguration QNetworkAccessManager::configuration(void) const
+	?tr@QNetworkSessionPrivate@@SA?AVQString@@PBD0@Z @ 1072 NONAME ; class QString QNetworkSessionPrivate::tr(char const *, char const *)
+	?activeTime@QNetworkSession@@QBE_KXZ @ 1073 NONAME ; unsigned long long QNetworkSession::activeTime(void) const
+	?state@QNetworkSession@@QBE?AW4State@1@XZ @ 1074 NONAME ; enum QNetworkSession::State QNetworkSession::state(void) const
+	?disablePolling@QNetworkConfigurationManagerPrivate@@QAEXXZ @ 1075 NONAME ; void QNetworkConfigurationManagerPrivate::disablePolling(void)
+	?getStaticMetaObject@QNetworkSessionPrivate@@SAABUQMetaObject@@XZ @ 1076 NONAME ; struct QMetaObject const & QNetworkSessionPrivate::getStaticMetaObject(void)
+	?configurationAdded@QNetworkConfigurationManager@@IAEXABVQNetworkConfiguration@@@Z @ 1077 NONAME ; void QNetworkConfigurationManager::configurationAdded(class QNetworkConfiguration const &)
+	?tr@QNetworkSessionPrivate@@SA?AVQString@@PBD0H@Z @ 1078 NONAME ; class QString QNetworkSessionPrivate::tr(char const *, char const *, int)
+	?performAsyncConfigurationUpdate@QNetworkConfigurationManagerPrivate@@QAEXXZ @ 1079 NONAME ; void QNetworkConfigurationManagerPrivate::performAsyncConfigurationUpdate(void)
+	?trUtf8@QNetworkConfigurationManagerPrivate@@SA?AVQString@@PBD0@Z @ 1080 NONAME ; class QString QNetworkConfigurationManagerPrivate::trUtf8(char const *, char const *)
+	?networkAccessible@QNetworkAccessManager@@QBE?AW4NetworkAccessibility@1@XZ @ 1081 NONAME ; enum QNetworkAccessManager::NetworkAccessibility QNetworkAccessManager::networkAccessible(void) const
+	?setOption@QAuthenticator@@QAEXABVQString@@ABVQVariant@@@Z @ 1082 NONAME ; void QAuthenticator::setOption(class QString const &, class QVariant const &)
+	?trUtf8@QBearerEnginePlugin@@SA?AVQString@@PBD0H@Z @ 1083 NONAME ; class QString QBearerEnginePlugin::trUtf8(char const *, char const *, int)
+	?trUtf8@QNetworkConfigurationManager@@SA?AVQString@@PBD0@Z @ 1084 NONAME ; class QString QNetworkConfigurationManager::trUtf8(char const *, char const *)
+	?allConfigurations@QNetworkConfigurationManager@@QBE?AV?$QList@VQNetworkConfiguration@@@@V?$QFlags@W4StateFlag@QNetworkConfiguration@@@@@Z @ 1085 NONAME ; class QList<class QNetworkConfiguration> QNetworkConfigurationManager::allConfigurations(class QFlags<enum QNetworkConfiguration::StateFlag>) const
+	?requiresPolling@QBearerEngine@@UBE_NXZ @ 1086 NONAME ; bool QBearerEngine::requiresPolling(void) const
+	?bearerType@QNetworkConfiguration@@QBE?AW4BearerType@1@XZ @ 1087 NONAME ; enum QNetworkConfiguration::BearerType QNetworkConfiguration::bearerType(void) const
+	?priority@QNetworkRequest@@QBE?AW4Priority@1@XZ @ 1088 NONAME ; enum QNetworkRequest::Priority QNetworkRequest::priority(void) const
+	?networkAccessibleChanged@QNetworkAccessManager@@IAEXW4NetworkAccessibility@1@@Z @ 1089 NONAME ; void QNetworkAccessManager::networkAccessibleChanged(enum QNetworkAccessManager::NetworkAccessibility)
+	??8QNetworkConfiguration@@QBE_NABV0@@Z @ 1090 NONAME ; bool QNetworkConfiguration::operator==(class QNetworkConfiguration const &) const
+	?option@QAuthenticator@@QBE?AVQVariant@@ABVQString@@@Z @ 1091 NONAME ; class QVariant QAuthenticator::option(class QString const &) const
+	?tr@QBearerEnginePlugin@@SA?AVQString@@PBD0@Z @ 1092 NONAME ; class QString QBearerEnginePlugin::tr(char const *, char const *)
+	?configurationFromIdentifier@QNetworkConfigurationManager@@QBE?AVQNetworkConfiguration@@ABVQString@@@Z @ 1093 NONAME ; class QNetworkConfiguration QNetworkConfigurationManager::configurationFromIdentifier(class QString const &) const
+	??_EQBearerEnginePlugin@@UAE@I@Z @ 1094 NONAME ; QBearerEnginePlugin::~QBearerEnginePlugin(unsigned int)
+	?children@QNetworkConfiguration@@QBE?AV?$QList@VQNetworkConfiguration@@@@XZ @ 1095 NONAME ; class QList<class QNetworkConfiguration> QNetworkConfiguration::children(void) const
+	?activeConfiguration@QNetworkAccessManager@@QBE?AVQNetworkConfiguration@@XZ @ 1096 NONAME ; class QNetworkConfiguration QNetworkAccessManager::activeConfiguration(void) const
+	?defaultConfiguration@QNetworkConfigurationManagerPrivate@@QAE?AVQNetworkConfiguration@@XZ @ 1097 NONAME ; class QNetworkConfiguration QNetworkConfigurationManagerPrivate::defaultConfiguration(void)
+	?getStaticMetaObject@QNetworkSession@@SAABUQMetaObject@@XZ @ 1098 NONAME ; struct QMetaObject const & QNetworkSession::getStaticMetaObject(void)
+	?qt_metacast@QNetworkSession@@UAEPAXPBD@Z @ 1099 NONAME ; void * QNetworkSession::qt_metacast(char const *)
+	?updateCompleted@QBearerEngine@@IAEXXZ @ 1100 NONAME ; void QBearerEngine::updateCompleted(void)
+	?qt_metacall@QNetworkSessionPrivate@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1101 NONAME ; int QNetworkSessionPrivate::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?onlineStateChanged@QNetworkConfigurationManager@@IAEX_N@Z @ 1102 NONAME ; void QNetworkConfigurationManager::onlineStateChanged(bool)
+	?getStaticMetaObject@QNetworkConfigurationManager@@SAABUQMetaObject@@XZ @ 1103 NONAME ; struct QMetaObject const & QNetworkConfigurationManager::getStaticMetaObject(void)
+	??0QNetworkSessionPrivate@@QAE@XZ @ 1104 NONAME ; QNetworkSessionPrivate::QNetworkSessionPrivate(void)
+	?qt_metacast@QNetworkConfigurationManager@@UAEPAXPBD@Z @ 1105 NONAME ; void * QNetworkConfigurationManager::qt_metacast(char const *)
+	?configurationChanged@QNetworkConfigurationManagerPrivate@@IAEXABVQNetworkConfiguration@@@Z @ 1106 NONAME ; void QNetworkConfigurationManagerPrivate::configurationChanged(class QNetworkConfiguration const &)
+	?staticMetaObject@QBearerEnginePlugin@@2UQMetaObject@@B @ 1107 NONAME ; struct QMetaObject const QBearerEnginePlugin::staticMetaObject
+	?qt_metacast@QNetworkConfigurationManagerPrivate@@UAEPAXPBD@Z @ 1108 NONAME ; void * QNetworkConfigurationManagerPrivate::qt_metacast(char const *)
+	?newConfigurationActivated@QNetworkSessionPrivate@@IAEXXZ @ 1109 NONAME ; void QNetworkSessionPrivate::newConfigurationActivated(void)
+	?qt_metacast@QNetworkSessionPrivate@@UAEPAXPBD@Z @ 1110 NONAME ; void * QNetworkSessionPrivate::qt_metacast(char const *)
+	?startPolling@QNetworkConfigurationManagerPrivate@@QAEXXZ @ 1111 NONAME ; void QNetworkConfigurationManagerPrivate::startPolling(void)
+	?allConfigurations@QNetworkConfigurationManagerPrivate@@QAE?AV?$QList@VQNetworkConfiguration@@@@V?$QFlags@W4StateFlag@QNetworkConfiguration@@@@@Z @ 1112 NONAME ; class QList<class QNetworkConfiguration> QNetworkConfigurationManagerPrivate::allConfigurations(class QFlags<enum QNetworkConfiguration::StateFlag>)
+	?connectNotify@QNetworkSession@@MAEXPBD@Z @ 1113 NONAME ; void QNetworkSession::connectNotify(char const *)
+	?onlineStateChanged@QNetworkConfigurationManagerPrivate@@IAEX_N@Z @ 1114 NONAME ; void QNetworkConfigurationManagerPrivate::onlineStateChanged(bool)
+	?bytesWritten@QNetworkSession@@QBE_KXZ @ 1115 NONAME ; unsigned long long QNetworkSession::bytesWritten(void) const
+	?sendCustomRequest@QNetworkAccessManager@@QAEPAVQNetworkReply@@ABVQNetworkRequest@@ABVQByteArray@@PAVQIODevice@@@Z @ 1116 NONAME ; class QNetworkReply * QNetworkAccessManager::sendCustomRequest(class QNetworkRequest const &, class QByteArray const &, class QIODevice *)
+	?addPendingConnection@QTcpServer@@IAEXPAVQTcpSocket@@@Z @ 1117 NONAME ; void QTcpServer::addPendingConnection(class QTcpSocket *)
+	?ignore@QNetworkSession@@QAEXXZ @ 1118 NONAME ; void QNetworkSession::ignore(void)
+	?updateConfigurations@QNetworkConfigurationManager@@QAEXXZ @ 1119 NONAME ; void QNetworkConfigurationManager::updateConfigurations(void)
+	?stateChanged@QNetworkSessionPrivate@@IAEXW4State@QNetworkSession@@@Z @ 1120 NONAME ; void QNetworkSessionPrivate::stateChanged(enum QNetworkSession::State)
+	?setALREnabled@QNetworkSessionPrivate@@UAEX_N@Z @ 1121 NONAME ; void QNetworkSessionPrivate::setALREnabled(bool)
+	?configurationRemoved@QNetworkConfigurationManagerPrivate@@IAEXABVQNetworkConfiguration@@@Z @ 1122 NONAME ; void QNetworkConfigurationManagerPrivate::configurationRemoved(class QNetworkConfiguration const &)
+	?qt_metacall@QBearerEngine@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1123 NONAME ; int QBearerEngine::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?interface@QNetworkSession@@QBE?AVQNetworkInterface@@XZ @ 1124 NONAME ; class QNetworkInterface QNetworkSession::interface(void) const
+	?opened@QNetworkSession@@IAEXXZ @ 1125 NONAME ; void QNetworkSession::opened(void)
+	?type@QNetworkConfiguration@@QBE?AW4Type@1@XZ @ 1126 NONAME ; enum QNetworkConfiguration::Type QNetworkConfiguration::type(void) const
+	?migrate@QNetworkSession@@QAEXXZ @ 1127 NONAME ; void QNetworkSession::migrate(void)
+	?closed@QNetworkSession@@IAEXXZ @ 1128 NONAME ; void QNetworkSession::closed(void)
+	?pollEngines@QNetworkConfigurationManagerPrivate@@AAEXXZ @ 1129 NONAME ; void QNetworkConfigurationManagerPrivate::pollEngines(void)
+	?staticMetaObject@QNetworkConfigurationManagerPrivate@@2UQMetaObject@@B @ 1130 NONAME ; struct QMetaObject const QNetworkConfigurationManagerPrivate::staticMetaObject
+	?reject@QNetworkSession@@QAEXXZ @ 1131 NONAME ; void QNetworkSession::reject(void)
+	?options@QAuthenticator@@QBE?AV?$QHash@VQString@@VQVariant@@@@XZ @ 1132 NONAME ; class QHash<class QString, class QVariant> QAuthenticator::options(void) const
+	?purpose@QNetworkConfiguration@@QBE?AW4Purpose@1@XZ @ 1133 NONAME ; enum QNetworkConfiguration::Purpose QNetworkConfiguration::purpose(void) const
+	?configurationFromIdentifier@QNetworkConfigurationManagerPrivate@@QAE?AVQNetworkConfiguration@@ABVQString@@@Z @ 1134 NONAME ; class QNetworkConfiguration QNetworkConfigurationManagerPrivate::configurationFromIdentifier(class QString const &)
+	?abort@QNetworkConfigurationManagerPrivate@@IAEXXZ @ 1135 NONAME ; void QNetworkConfigurationManagerPrivate::abort(void)
+	?tr@QNetworkConfigurationManager@@SA?AVQString@@PBD0@Z @ 1136 NONAME ; class QString QNetworkConfigurationManager::tr(char const *, char const *)
+	?trUtf8@QNetworkSession@@SA?AVQString@@PBD0H@Z @ 1137 NONAME ; class QString QNetworkSession::trUtf8(char const *, char const *, int)
+	?trUtf8@QBearerEnginePlugin@@SA?AVQString@@PBD0@Z @ 1138 NONAME ; class QString QBearerEnginePlugin::trUtf8(char const *, char const *)
+	??_EQNetworkSessionPrivate@@UAE@I@Z @ 1139 NONAME ; QNetworkSessionPrivate::~QNetworkSessionPrivate(unsigned int)
+	?configurationUpdateComplete@QNetworkConfigurationManagerPrivate@@IAEXXZ @ 1140 NONAME ; void QNetworkConfigurationManagerPrivate::configurationUpdateComplete(void)
+	?metaObject@QNetworkConfigurationManager@@UBEPBUQMetaObject@@XZ @ 1141 NONAME ; struct QMetaObject const * QNetworkConfigurationManager::metaObject(void) const
+	?tr@QNetworkConfigurationManagerPrivate@@SA?AVQString@@PBD0@Z @ 1142 NONAME ; class QString QNetworkConfigurationManagerPrivate::tr(char const *, char const *)
+	?updateCompleted@QNetworkConfigurationManager@@IAEXXZ @ 1143 NONAME ; void QNetworkConfigurationManager::updateCompleted(void)
+	?setNetworkAccessible@QNetworkAccessManager@@QAEXW4NetworkAccessibility@1@@Z @ 1144 NONAME ; void QNetworkAccessManager::setNetworkAccessible(enum QNetworkAccessManager::NetworkAccessibility)
+	??_EQBearerEngineFactoryInterface@@UAE@I@Z @ 1145 NONAME ; QBearerEngineFactoryInterface::~QBearerEngineFactoryInterface(unsigned int)
+	?enablePolling@QNetworkConfigurationManagerPrivate@@QAEXXZ @ 1146 NONAME ; void QNetworkConfigurationManagerPrivate::enablePolling(void)
 
diff --git a/src/s60installs/bwins/QtOpenVGu.def b/src/s60installs/bwins/QtOpenVGu.def
index 1452383..a67725e 100644
--- a/src/s60installs/bwins/QtOpenVGu.def
+++ b/src/s60installs/bwins/QtOpenVGu.def
@@ -171,4 +171,8 @@ EXPORTS
 	?drawCachedGlyphs@QVGPaintEngine@@QAE_NHPBIABVQFont@@PAVQFontEngine@@ABVQPointF@@PBUQFixedPoint@@@Z @ 170 NONAME ; bool QVGPaintEngine::drawCachedGlyphs(int, unsigned int const *, class QFont const &, class QFontEngine *, class QPointF const &, struct QFixedPoint const *)
 	?drawPixmapFragments@QVGPaintEngine@@UAEXPBVPixmapFragment@QPainter@@HABVQPixmap@@V?$QFlags@W4PixmapFragmentHint@QPainter@@@@@Z @ 171 NONAME ; void QVGPaintEngine::drawPixmapFragments(class QPainter::PixmapFragment const *, int, class QPixmap const &, class QFlags<enum QPainter::PixmapFragmentHint>)
 	?drawStaticTextItem@QVGPaintEngine@@UAEXPAVQStaticTextItem@@@Z @ 172 NONAME ; void QVGPaintEngine::drawStaticTextItem(class QStaticTextItem *)
+	?fromFile@QVGPixmapData@@UAE_NABVQString@@PBDV?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 173 NONAME ; bool QVGPixmapData::fromFile(class QString const &, char const *, class QFlags<enum Qt::ImageConversionFlag>)
+	?createPixmapForImage@QVGPixmapData@@IAEXAAVQImage@@V?$QFlags@W4ImageConversionFlag@Qt@@@@_N@Z @ 174 NONAME ; void QVGPixmapData::createPixmapForImage(class QImage &, class QFlags<enum Qt::ImageConversionFlag>, bool)
+	?fromData@QVGPixmapData@@UAE_NPBEIPBDV?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 175 NONAME ; bool QVGPixmapData::fromData(unsigned char const *, unsigned int, char const *, class QFlags<enum Qt::ImageConversionFlag>)
+	?fromImageReader@QVGPixmapData@@UAEXPAVQImageReader@@V?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 176 NONAME ; void QVGPixmapData::fromImageReader(class QImageReader *, class QFlags<enum Qt::ImageConversionFlag>)
 
diff --git a/src/s60installs/bwins/QtScriptu.def b/src/s60installs/bwins/QtScriptu.def
index fbf0d3b..9d998ca 100644
--- a/src/s60installs/bwins/QtScriptu.def
+++ b/src/s60installs/bwins/QtScriptu.def
@@ -370,37 +370,37 @@ EXPORTS
 	?staticMetaObject@QScriptExtensionPlugin@@2UQMetaObject@@B @ 369 NONAME ; struct QMetaObject const QScriptExtensionPlugin::staticMetaObject
 	?staticMetaObject@QScriptEngine@@2UQMetaObject@@B @ 370 NONAME ; struct QMetaObject const QScriptEngine::staticMetaObject
 	?isQObject@QScriptDeclarativeClass@@UBE_NXZ @ 371 NONAME ; bool QScriptDeclarativeClass::isQObject(void) const
-	??0Value@QScriptDeclarativeClass@@QAE@ABV01@@Z @ 372 NONAME ; QScriptDeclarativeClass::Value::Value(class QScriptDeclarativeClass::Value const &)
-	??0Value@QScriptDeclarativeClass@@QAE@PAVQScriptContext@@ABVQScriptValue@@@Z @ 373 NONAME ; QScriptDeclarativeClass::Value::Value(class QScriptContext *, class QScriptValue const &)
-	??0Value@QScriptDeclarativeClass@@QAE@PAVQScriptContext@@ABVQString@@@Z @ 374 NONAME ; QScriptDeclarativeClass::Value::Value(class QScriptContext *, class QString const &)
-	??0Value@QScriptDeclarativeClass@@QAE@PAVQScriptContext@@H@Z @ 375 NONAME ; QScriptDeclarativeClass::Value::Value(class QScriptContext *, int)
-	??0Value@QScriptDeclarativeClass@@QAE@PAVQScriptContext@@I@Z @ 376 NONAME ; QScriptDeclarativeClass::Value::Value(class QScriptContext *, unsigned int)
-	??0Value@QScriptDeclarativeClass@@QAE@PAVQScriptContext@@M@Z @ 377 NONAME ; QScriptDeclarativeClass::Value::Value(class QScriptContext *, float)
-	??0Value@QScriptDeclarativeClass@@QAE@PAVQScriptContext@@N@Z @ 378 NONAME ; QScriptDeclarativeClass::Value::Value(class QScriptContext *, double)
-	??0Value@QScriptDeclarativeClass@@QAE@PAVQScriptContext@@_N@Z @ 379 NONAME ; QScriptDeclarativeClass::Value::Value(class QScriptContext *, bool)
+	?toScriptValue@Value@QScriptDeclarativeClass@@QBE?AVQScriptValue@@PAVQScriptEngine@@@Z @ 372 NONAME ; class QScriptValue QScriptDeclarativeClass::Value::toScriptValue(class QScriptEngine *) const
+	??0Value@QScriptDeclarativeClass@@QAE@PAVQScriptContext@@N@Z @ 373 NONAME ; QScriptDeclarativeClass::Value::Value(class QScriptContext *, double)
+	?newStaticScopeObject@QScriptDeclarativeClass@@SA?AVQScriptValue@@PAVQScriptEngine@@@Z @ 374 NONAME ; class QScriptValue QScriptDeclarativeClass::newStaticScopeObject(class QScriptEngine *)
+	?call@QScriptDeclarativeClass@@UAE?AVValue@1@PAUObject@1@PAVQScriptContext@@@Z @ 375 NONAME ; class QScriptDeclarativeClass::Value QScriptDeclarativeClass::call(struct QScriptDeclarativeClass::Object *, class QScriptContext *)
+	??0Value@QScriptDeclarativeClass@@QAE@XZ @ 376 NONAME ; QScriptDeclarativeClass::Value::Value(void)
+	??0Value@QScriptDeclarativeClass@@QAE@PAVQScriptContext@@I@Z @ 377 NONAME ; QScriptDeclarativeClass::Value::Value(class QScriptContext *, unsigned int)
+	??1Value@QScriptDeclarativeClass@@QAE@XZ @ 378 NONAME ; QScriptDeclarativeClass::Value::~Value(void)
+	?newObjectValue@QScriptDeclarativeClass@@SA?AVValue@1@PAVQScriptEngine@@PAV1@PAUObject@1@@Z @ 379 NONAME ; class QScriptDeclarativeClass::Value QScriptDeclarativeClass::newObjectValue(class QScriptEngine *, class QScriptDeclarativeClass *, struct QScriptDeclarativeClass::Object *)
 	??0Value@QScriptDeclarativeClass@@QAE@PAVQScriptEngine@@ABVQScriptValue@@@Z @ 380 NONAME ; QScriptDeclarativeClass::Value::Value(class QScriptEngine *, class QScriptValue const &)
-	??0Value@QScriptDeclarativeClass@@QAE@PAVQScriptEngine@@ABVQString@@@Z @ 381 NONAME ; QScriptDeclarativeClass::Value::Value(class QScriptEngine *, class QString const &)
-	??0Value@QScriptDeclarativeClass@@QAE@PAVQScriptEngine@@H@Z @ 382 NONAME ; QScriptDeclarativeClass::Value::Value(class QScriptEngine *, int)
-	??0Value@QScriptDeclarativeClass@@QAE@PAVQScriptEngine@@I@Z @ 383 NONAME ; QScriptDeclarativeClass::Value::Value(class QScriptEngine *, unsigned int)
-	??0Value@QScriptDeclarativeClass@@QAE@PAVQScriptEngine@@M@Z @ 384 NONAME ; QScriptDeclarativeClass::Value::Value(class QScriptEngine *, float)
-	??0Value@QScriptDeclarativeClass@@QAE@PAVQScriptEngine@@N@Z @ 385 NONAME ; QScriptDeclarativeClass::Value::Value(class QScriptEngine *, double)
-	??0Value@QScriptDeclarativeClass@@QAE@PAVQScriptEngine@@_N@Z @ 386 NONAME ; QScriptDeclarativeClass::Value::Value(class QScriptEngine *, bool)
-	??0Value@QScriptDeclarativeClass@@QAE@XZ @ 387 NONAME ; QScriptDeclarativeClass::Value::Value(void)
-	??1Value@QScriptDeclarativeClass@@QAE@XZ @ 388 NONAME ; QScriptDeclarativeClass::Value::~Value(void)
-	?call@QScriptDeclarativeClass@@UAE?AVValue@1@PAUObject@1@PAVQScriptContext@@@Z @ 389 NONAME ; class QScriptDeclarativeClass::Value QScriptDeclarativeClass::call(struct QScriptDeclarativeClass::Object *, class QScriptContext *)
-	?functionValue@QScriptDeclarativeClass@@SA?AVValue@1@ABVQScriptValue@@ABQAX@Z @ 390 NONAME ; class QScriptDeclarativeClass::Value QScriptDeclarativeClass::functionValue(class QScriptValue const &, void * const const &)
-	?newObjectValue@QScriptDeclarativeClass@@SA?AVValue@1@PAVQScriptEngine@@PAV1@PAUObject@1@@Z @ 391 NONAME ; class QScriptDeclarativeClass::Value QScriptDeclarativeClass::newObjectValue(class QScriptEngine *, class QScriptDeclarativeClass *, struct QScriptDeclarativeClass::Object *)
-	?property@QScriptDeclarativeClass@@UAE?AVValue@1@PAUObject@1@ABQAX@Z @ 392 NONAME ; class QScriptDeclarativeClass::Value QScriptDeclarativeClass::property(struct QScriptDeclarativeClass::Object *, void * const const &)
-	?propertyValue@QScriptDeclarativeClass@@SA?AVValue@1@ABVQScriptValue@@ABQAX@Z @ 393 NONAME ; class QScriptDeclarativeClass::Value QScriptDeclarativeClass::propertyValue(class QScriptValue const &, void * const const &)
-	?setSupportsCall@QScriptDeclarativeClass@@QAEX_N@Z @ 394 NONAME ; void QScriptDeclarativeClass::setSupportsCall(bool)
-	?supportsCall@QScriptDeclarativeClass@@QBE_NXZ @ 395 NONAME ; bool QScriptDeclarativeClass::supportsCall(void) const
-	?toScriptValue@Value@QScriptDeclarativeClass@@QBE?AVQScriptValue@@PAVQScriptEngine@@@Z @ 396 NONAME ; class QScriptValue QScriptDeclarativeClass::Value::toScriptValue(class QScriptEngine *) const
-	??0PersistentIdentifier@QScriptDeclarativeClass@@AAE@PAVQScriptEnginePrivate@@@Z @ 397 NONAME ; QScriptDeclarativeClass::PersistentIdentifier::PersistentIdentifier(class QScriptEnginePrivate *)
-	?atStatement@QScriptEngineAgentPrivate@@UAEXABVDebuggerCallFrame@QTJSC@@HH@Z @ 398 NONAME ; void QScriptEngineAgentPrivate::atStatement(class QTJSC::DebuggerCallFrame const &, int, int)
-	?compare@QScriptDeclarativeClass@@UAE_NPAUObject@1@0@Z @ 399 NONAME ; bool QScriptDeclarativeClass::compare(struct QScriptDeclarativeClass::Object *, struct QScriptDeclarativeClass::Object *)
-	?didReachBreakpoint@QScriptEngineAgentPrivate@@UAEXABVDebuggerCallFrame@QTJSC@@HH@Z @ 400 NONAME ; void QScriptEngineAgentPrivate::didReachBreakpoint(class QTJSC::DebuggerCallFrame const &, int, int)
-	?exception@QScriptEngineAgentPrivate@@UAEXABVDebuggerCallFrame@QTJSC@@HH_N@Z @ 401 NONAME ; void QScriptEngineAgentPrivate::exception(class QTJSC::DebuggerCallFrame const &, int, int, bool)
-	?reportAdditionalMemoryCost@QScriptEngine@@QAEXH@Z @ 402 NONAME ; void QScriptEngine::reportAdditionalMemoryCost(int)
-	?newStaticScopeObject@QScriptDeclarativeClass@@SA?AVQScriptValue@@PAVQScriptEngine@@@Z @ 403 NONAME ; class QScriptValue QScriptDeclarativeClass::newStaticScopeObject(class QScriptEngine *)
-	?newStaticScopeObject@QScriptDeclarativeClass@@SA?AVQScriptValue@@PAVQScriptEngine@@HPBVQString@@PBV2@PBV?$QFlags@W4PropertyFlag@QScriptValue@@@@@Z @ 404 NONAME ; class QScriptValue QScriptDeclarativeClass::newStaticScopeObject(class QScriptEngine *, int, class QString const *, class QScriptValue const *, class QFlags<enum QScriptValue::PropertyFlag> const *)
+	?atStatement@QScriptEngineAgentPrivate@@UAEXABVDebuggerCallFrame@QTJSC@@HH@Z @ 381 NONAME ; void QScriptEngineAgentPrivate::atStatement(class QTJSC::DebuggerCallFrame const &, int, int)
+	?exception@QScriptEngineAgentPrivate@@UAEXABVDebuggerCallFrame@QTJSC@@HH_N@Z @ 382 NONAME ; void QScriptEngineAgentPrivate::exception(class QTJSC::DebuggerCallFrame const &, int, int, bool)
+	??0Value@QScriptDeclarativeClass@@QAE@PAVQScriptEngine@@M@Z @ 383 NONAME ; QScriptDeclarativeClass::Value::Value(class QScriptEngine *, float)
+	??0Value@QScriptDeclarativeClass@@QAE@PAVQScriptEngine@@H@Z @ 384 NONAME ; QScriptDeclarativeClass::Value::Value(class QScriptEngine *, int)
+	?functionValue@QScriptDeclarativeClass@@SA?AVValue@1@ABVQScriptValue@@ABQAX@Z @ 385 NONAME ; class QScriptDeclarativeClass::Value QScriptDeclarativeClass::functionValue(class QScriptValue const &, void * const const &)
+	?setSupportsCall@QScriptDeclarativeClass@@QAEX_N@Z @ 386 NONAME ; void QScriptDeclarativeClass::setSupportsCall(bool)
+	?property@QScriptDeclarativeClass@@UAE?AVValue@1@PAUObject@1@ABQAX@Z @ 387 NONAME ; class QScriptDeclarativeClass::Value QScriptDeclarativeClass::property(struct QScriptDeclarativeClass::Object *, void * const const &)
+	??0Value@QScriptDeclarativeClass@@QAE@PAVQScriptEngine@@_N@Z @ 388 NONAME ; QScriptDeclarativeClass::Value::Value(class QScriptEngine *, bool)
+	?newStaticScopeObject@QScriptDeclarativeClass@@SA?AVQScriptValue@@PAVQScriptEngine@@HPBVQString@@PBV2@PBV?$QFlags@W4PropertyFlag@QScriptValue@@@@@Z @ 389 NONAME ; class QScriptValue QScriptDeclarativeClass::newStaticScopeObject(class QScriptEngine *, int, class QString const *, class QScriptValue const *, class QFlags<enum QScriptValue::PropertyFlag> const *)
+	??0Value@QScriptDeclarativeClass@@QAE@PAVQScriptEngine@@ABVQString@@@Z @ 390 NONAME ; QScriptDeclarativeClass::Value::Value(class QScriptEngine *, class QString const &)
+	??0Value@QScriptDeclarativeClass@@QAE@PAVQScriptEngine@@N@Z @ 391 NONAME ; QScriptDeclarativeClass::Value::Value(class QScriptEngine *, double)
+	?supportsCall@QScriptDeclarativeClass@@QBE_NXZ @ 392 NONAME ; bool QScriptDeclarativeClass::supportsCall(void) const
+	??0Value@QScriptDeclarativeClass@@QAE@PAVQScriptEngine@@I@Z @ 393 NONAME ; QScriptDeclarativeClass::Value::Value(class QScriptEngine *, unsigned int)
+	??0Value@QScriptDeclarativeClass@@QAE@PAVQScriptContext@@_N@Z @ 394 NONAME ; QScriptDeclarativeClass::Value::Value(class QScriptContext *, bool)
+	?didReachBreakpoint@QScriptEngineAgentPrivate@@UAEXABVDebuggerCallFrame@QTJSC@@HH@Z @ 395 NONAME ; void QScriptEngineAgentPrivate::didReachBreakpoint(class QTJSC::DebuggerCallFrame const &, int, int)
+	??0Value@QScriptDeclarativeClass@@QAE@PAVQScriptContext@@ABVQScriptValue@@@Z @ 396 NONAME ; QScriptDeclarativeClass::Value::Value(class QScriptContext *, class QScriptValue const &)
+	??0Value@QScriptDeclarativeClass@@QAE@PAVQScriptContext@@ABVQString@@@Z @ 397 NONAME ; QScriptDeclarativeClass::Value::Value(class QScriptContext *, class QString const &)
+	?propertyValue@QScriptDeclarativeClass@@SA?AVValue@1@ABVQScriptValue@@ABQAX@Z @ 398 NONAME ; class QScriptDeclarativeClass::Value QScriptDeclarativeClass::propertyValue(class QScriptValue const &, void * const const &)
+	??0Value@QScriptDeclarativeClass@@QAE@ABV01@@Z @ 399 NONAME ; QScriptDeclarativeClass::Value::Value(class QScriptDeclarativeClass::Value const &)
+	??0Value@QScriptDeclarativeClass@@QAE@PAVQScriptContext@@M@Z @ 400 NONAME ; QScriptDeclarativeClass::Value::Value(class QScriptContext *, float)
+	?reportAdditionalMemoryCost@QScriptEngine@@QAEXH@Z @ 401 NONAME ; void QScriptEngine::reportAdditionalMemoryCost(int)
+	??0Value@QScriptDeclarativeClass@@QAE@PAVQScriptContext@@H@Z @ 402 NONAME ; QScriptDeclarativeClass::Value::Value(class QScriptContext *, int)
+	??0PersistentIdentifier@QScriptDeclarativeClass@@AAE@PAVQScriptEnginePrivate@@@Z @ 403 NONAME ; QScriptDeclarativeClass::PersistentIdentifier::PersistentIdentifier(class QScriptEnginePrivate *)
+	?compare@QScriptDeclarativeClass@@UAE_NPAUObject@1@0@Z @ 404 NONAME ; bool QScriptDeclarativeClass::compare(struct QScriptDeclarativeClass::Object *, struct QScriptDeclarativeClass::Object *)
 
diff --git a/src/s60installs/bwins/QtTestu.def b/src/s60installs/bwins/QtTestu.def
index 47198e2..a7bb9cd 100644
--- a/src/s60installs/bwins/QtTestu.def
+++ b/src/s60installs/bwins/QtTestu.def
@@ -75,6 +75,6 @@ EXPORTS
 	?trUtf8@QTestEventLoop@@SA?AVQString@@PBD0@Z @ 74 NONAME ; class QString QTestEventLoop::trUtf8(char const *, char const *)
 	?trUtf8@QTestEventLoop@@SA?AVQString@@PBD0H@Z @ 75 NONAME ; class QString QTestEventLoop::trUtf8(char const *, char const *, int)
 	?staticMetaObject@QTestEventLoop@@2UQMetaObject@@B @ 76 NONAME ; struct QMetaObject const QTestEventLoop::staticMetaObject
-	?endBenchmarkMeasurement@QTest@@YA_KXZ @ 77 NONAME ; unsigned long long QTest::endBenchmarkMeasurement(void)
-	?setBenchmarkResult@QTest@@YAXMW4QBenchmarkMetric@1@@Z @ 78 NONAME ; void QTest::setBenchmarkResult(float, enum QTest::QBenchmarkMetric)
+	?setBenchmarkResult@QTest@@YAXMW4QBenchmarkMetric@1@@Z @ 77 NONAME ; void QTest::setBenchmarkResult(float, enum QTest::QBenchmarkMetric)
+	?endBenchmarkMeasurement@QTest@@YA_KXZ @ 78 NONAME ; unsigned long long QTest::endBenchmarkMeasurement(void)
 
diff --git a/src/s60installs/bwins/phononu.def b/src/s60installs/bwins/phononu.def
index cc4c083..fe80e12 100644
--- a/src/s60installs/bwins/phononu.def
+++ b/src/s60installs/bwins/phononu.def
@@ -514,60 +514,60 @@ EXPORTS
 	?staticMetaObject@AudioOutput@Phonon@@2UQMetaObject@@B @ 513 NONAME ; struct QMetaObject const Phonon::AudioOutput::staticMetaObject
 	?staticMetaObject@VideoWidget@Phonon@@2UQMetaObject@@B @ 514 NONAME ; struct QMetaObject const Phonon::VideoWidget::staticMetaObject
 	?staticMetaObject@SeekSlider@Phonon@@2UQMetaObject@@B @ 515 NONAME ; struct QMetaObject const Phonon::SeekSlider::staticMetaObject
-	??0AudioDataOutput@Phonon@@QAE@PAVQObject@@@Z @ 516 NONAME ; Phonon::AudioDataOutput::AudioDataOutput(class QObject *)
-	??0PulseSupport@Phonon@@AAE@XZ @ 517 NONAME ; Phonon::PulseSupport::PulseSupport(void)
-	??1AudioDataOutput@Phonon@@UAE@XZ @ 518 NONAME ; Phonon::AudioDataOutput::~AudioDataOutput(void)
-	??1PulseSupport@Phonon@@EAE@XZ @ 519 NONAME ; Phonon::PulseSupport::~PulseSupport(void)
-	??_EAudioDataOutput@Phonon@@UAE@I@Z @ 520 NONAME ; Phonon::AudioDataOutput::~AudioDataOutput(unsigned int)
-	??_EPulseSupport@Phonon@@UAE@I@Z @ 521 NONAME ; Phonon::PulseSupport::~PulseSupport(unsigned int)
-	?clearStreamCache@PulseSupport@Phonon@@QAEXVQString@@@Z @ 522 NONAME ; void Phonon::PulseSupport::clearStreamCache(class QString)
+	?tr@PulseSupport@Phonon@@SA?AVQString@@PBD0H@Z @ 516 NONAME ; class QString Phonon::PulseSupport::tr(char const *, char const *, int)
+	?setHideAdvancedDevices@GlobalConfig@Phonon@@QAEX_N@Z @ 517 NONAME ; void Phonon::GlobalConfig::setHideAdvancedDevices(bool)
+	??_EAudioDataOutput@Phonon@@UAE@I@Z @ 518 NONAME ; Phonon::AudioDataOutput::~AudioDataOutput(unsigned int)
+	?tr@AudioDataOutput@Phonon@@SA?AVQString@@PBD0@Z @ 519 NONAME ; class QString Phonon::AudioDataOutput::tr(char const *, char const *)
+	?setDataSize@AudioDataOutput@Phonon@@QAEXH@Z @ 520 NONAME ; void Phonon::AudioDataOutput::setDataSize(int)
+	?qt_metacall@AudioDataOutput@Phonon@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 521 NONAME ; int Phonon::AudioDataOutput::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?getStaticMetaObject@AudioDataOutput@Phonon@@SAABUQMetaObject@@XZ @ 522 NONAME ; struct QMetaObject const & Phonon::AudioDataOutput::getStaticMetaObject(void)
 	?createAudioDataOutput@Factory@Phonon@@YAPAVQObject@@PAV3@@Z @ 523 NONAME ; class QObject * Phonon::Factory::createAudioDataOutput(class QObject *)
-	?dataReady@AudioDataOutput@Phonon@@IAEXABV?$QMap@W4Channel@AudioDataOutput@Phonon@@V?$QVector@F@@@@@Z @ 524 NONAME ; void Phonon::AudioDataOutput::dataReady(class QMap<enum Phonon::AudioDataOutput::Channel, class QVector<short> > const &)
-	?dataSize@AudioDataOutput@Phonon@@QBEHXZ @ 525 NONAME ; int Phonon::AudioDataOutput::dataSize(void) const
-	?emitObjectDescriptionChanged@PulseSupport@Phonon@@QAEXW4ObjectDescriptionType@2@@Z @ 526 NONAME ; void Phonon::PulseSupport::emitObjectDescriptionChanged(enum Phonon::ObjectDescriptionType)
-	?emitUsingDevice@PulseSupport@Phonon@@QAEXVQString@@H@Z @ 527 NONAME ; void Phonon::PulseSupport::emitUsingDevice(class QString, int)
-	?enable@PulseSupport@Phonon@@QAEX_N@Z @ 528 NONAME ; void Phonon::PulseSupport::enable(bool)
-	?endOfMedia@AudioDataOutput@Phonon@@IAEXH@Z @ 529 NONAME ; void Phonon::AudioDataOutput::endOfMedia(int)
-	?getInstance@PulseSupport@Phonon@@SAPAV12@XZ @ 530 NONAME ; class Phonon::PulseSupport * Phonon::PulseSupport::getInstance(void)
-	?getStaticMetaObject@AudioDataOutput@Phonon@@SAABUQMetaObject@@XZ @ 531 NONAME ; struct QMetaObject const & Phonon::AudioDataOutput::getStaticMetaObject(void)
-	?getStaticMetaObject@PulseSupport@Phonon@@SAABUQMetaObject@@XZ @ 532 NONAME ; struct QMetaObject const & Phonon::PulseSupport::getStaticMetaObject(void)
-	?hideAdvancedDevices@GlobalConfig@Phonon@@QBE_NXZ @ 533 NONAME ; bool Phonon::GlobalConfig::hideAdvancedDevices(void) const
-	?isActive@PulseSupport@Phonon@@QAE_NXZ @ 534 NONAME ; bool Phonon::PulseSupport::isActive(void)
-	?k_func@AudioDataOutput@Phonon@@AAEPAVAudioDataOutputPrivate@2@XZ @ 535 NONAME ; class Phonon::AudioDataOutputPrivate * Phonon::AudioDataOutput::k_func(void)
-	?k_func@AudioDataOutput@Phonon@@ABEPBVAudioDataOutputPrivate@2@XZ @ 536 NONAME ; class Phonon::AudioDataOutputPrivate const * Phonon::AudioDataOutput::k_func(void) const
-	?k_func@GlobalConfig@Phonon@@AAEPAVGlobalConfigPrivate@2@XZ @ 537 NONAME ; class Phonon::GlobalConfigPrivate * Phonon::GlobalConfig::k_func(void)
-	?k_func@GlobalConfig@Phonon@@ABEPBVGlobalConfigPrivate@2@XZ @ 538 NONAME ; class Phonon::GlobalConfigPrivate const * Phonon::GlobalConfig::k_func(void) const
-	?metaObject@AudioDataOutput@Phonon@@UBEPBUQMetaObject@@XZ @ 539 NONAME ; struct QMetaObject const * Phonon::AudioDataOutput::metaObject(void) const
-	?metaObject@PulseSupport@Phonon@@UBEPBUQMetaObject@@XZ @ 540 NONAME ; struct QMetaObject const * Phonon::PulseSupport::metaObject(void) const
-	?objectDescriptionChanged@PulseSupport@Phonon@@IAEXW4ObjectDescriptionType@2@@Z @ 541 NONAME ; void Phonon::PulseSupport::objectDescriptionChanged(enum Phonon::ObjectDescriptionType)
-	?objectDescriptionIndexes@PulseSupport@Phonon@@QBE?AV?$QList@H@@W4ObjectDescriptionType@2@@Z @ 542 NONAME ; class QList<int> Phonon::PulseSupport::objectDescriptionIndexes(enum Phonon::ObjectDescriptionType) const
-	?objectDescriptionProperties@PulseSupport@Phonon@@QBE?AV?$QHash@VQByteArray@@VQVariant@@@@W4ObjectDescriptionType@2@H@Z @ 543 NONAME ; class QHash<class QByteArray, class QVariant> Phonon::PulseSupport::objectDescriptionProperties(enum Phonon::ObjectDescriptionType, int) const
-	?objectIndexesByCategory@PulseSupport@Phonon@@QBE?AV?$QList@H@@W4ObjectDescriptionType@2@W4Category@2@@Z @ 544 NONAME ; class QList<int> Phonon::PulseSupport::objectIndexesByCategory(enum Phonon::ObjectDescriptionType, enum Phonon::Category) const
-	?qt_metacall@AudioDataOutput@Phonon@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 545 NONAME ; int Phonon::AudioDataOutput::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?qt_metacall@PulseSupport@Phonon@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 546 NONAME ; int Phonon::PulseSupport::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?qt_metacast@AudioDataOutput@Phonon@@UAEPAXPBD@Z @ 547 NONAME ; void * Phonon::AudioDataOutput::qt_metacast(char const *)
-	?qt_metacast@PulseSupport@Phonon@@UAEPAXPBD@Z @ 548 NONAME ; void * Phonon::PulseSupport::qt_metacast(char const *)
-	?sampleRate@AudioDataOutput@Phonon@@QBEHXZ @ 549 NONAME ; int Phonon::AudioDataOutput::sampleRate(void) const
+	?trUtf8@PulseSupport@Phonon@@SA?AVQString@@PBD0@Z @ 524 NONAME ; class QString Phonon::PulseSupport::trUtf8(char const *, char const *)
+	??1AudioDataOutput@Phonon@@UAE@XZ @ 525 NONAME ; Phonon::AudioDataOutput::~AudioDataOutput(void)
+	?trUtf8@AudioDataOutput@Phonon@@SA?AVQString@@PBD0H@Z @ 526 NONAME ; class QString Phonon::AudioDataOutput::trUtf8(char const *, char const *, int)
+	?staticMetaObject@PulseSupport@Phonon@@2UQMetaObject@@B @ 527 NONAME ; struct QMetaObject const Phonon::PulseSupport::staticMetaObject
+	??1PulseSupport@Phonon@@EAE@XZ @ 528 NONAME ; Phonon::PulseSupport::~PulseSupport(void)
+	?metaObject@PulseSupport@Phonon@@UBEPBUQMetaObject@@XZ @ 529 NONAME ; struct QMetaObject const * Phonon::PulseSupport::metaObject(void) const
+	?emitObjectDescriptionChanged@PulseSupport@Phonon@@QAEXW4ObjectDescriptionType@2@@Z @ 530 NONAME ; void Phonon::PulseSupport::emitObjectDescriptionChanged(enum Phonon::ObjectDescriptionType)
+	?tr@AudioDataOutput@Phonon@@SA?AVQString@@PBD0H@Z @ 531 NONAME ; class QString Phonon::AudioDataOutput::tr(char const *, char const *, int)
+	?sampleRate@AudioDataOutput@Phonon@@QBEHXZ @ 532 NONAME ; int Phonon::AudioDataOutput::sampleRate(void) const
+	?qt_metacast@PulseSupport@Phonon@@UAEPAXPBD@Z @ 533 NONAME ; void * Phonon::PulseSupport::qt_metacast(char const *)
+	?trUtf8@PulseSupport@Phonon@@SA?AVQString@@PBD0H@Z @ 534 NONAME ; class QString Phonon::PulseSupport::trUtf8(char const *, char const *, int)
+	?enable@PulseSupport@Phonon@@QAEX_N@Z @ 535 NONAME ; void Phonon::PulseSupport::enable(bool)
+	?staticMetaObject@AudioDataOutput@Phonon@@2UQMetaObject@@B @ 536 NONAME ; struct QMetaObject const Phonon::AudioDataOutput::staticMetaObject
+	?hideAdvancedDevices@GlobalConfig@Phonon@@QBE_NXZ @ 537 NONAME ; bool Phonon::GlobalConfig::hideAdvancedDevices(void) const
+	?setOutputDevicePriorityForCategory@PulseSupport@Phonon@@QAEXW4Category@2@V?$QList@H@@@Z @ 538 NONAME ; void Phonon::PulseSupport::setOutputDevicePriorityForCategory(enum Phonon::Category, class QList<int>)
+	??0AudioDataOutput@Phonon@@QAE@PAVQObject@@@Z @ 539 NONAME ; Phonon::AudioDataOutput::AudioDataOutput(class QObject *)
+	?dataSize@AudioDataOutput@Phonon@@QBEHXZ @ 540 NONAME ; int Phonon::AudioDataOutput::dataSize(void) const
+	?shutdown@PulseSupport@Phonon@@SAXXZ @ 541 NONAME ; void Phonon::PulseSupport::shutdown(void)
+	?emitUsingDevice@PulseSupport@Phonon@@QAEXVQString@@H@Z @ 542 NONAME ; void Phonon::PulseSupport::emitUsingDevice(class QString, int)
+	?isActive@PulseSupport@Phonon@@QAE_NXZ @ 543 NONAME ; bool Phonon::PulseSupport::isActive(void)
+	?getStaticMetaObject@PulseSupport@Phonon@@SAABUQMetaObject@@XZ @ 544 NONAME ; struct QMetaObject const & Phonon::PulseSupport::getStaticMetaObject(void)
+	??0PulseSupport@Phonon@@AAE@XZ @ 545 NONAME ; Phonon::PulseSupport::PulseSupport(void)
+	??_EPulseSupport@Phonon@@UAE@I@Z @ 546 NONAME ; Phonon::PulseSupport::~PulseSupport(unsigned int)
+	?setCaptureDevice@PulseSupport@Phonon@@QAE_NVQString@@H@Z @ 547 NONAME ; bool Phonon::PulseSupport::setCaptureDevice(class QString, int)
+	?setCaptureDevicePriorityForCategory@PulseSupport@Phonon@@QAEXW4Category@2@V?$QList@H@@@Z @ 548 NONAME ; void Phonon::PulseSupport::setCaptureDevicePriorityForCategory(enum Phonon::Category, class QList<int>)
+	?trUtf8@AudioDataOutput@Phonon@@SA?AVQString@@PBD0@Z @ 549 NONAME ; class QString Phonon::AudioDataOutput::trUtf8(char const *, char const *)
 	?setAudioCaptureDeviceListFor@GlobalConfig@Phonon@@QAEXW4Category@2@V?$QList@H@@@Z @ 550 NONAME ; void Phonon::GlobalConfig::setAudioCaptureDeviceListFor(enum Phonon::Category, class QList<int>)
-	?setAudioOutputDeviceListFor@GlobalConfig@Phonon@@QAEXW4Category@2@V?$QList@H@@@Z @ 551 NONAME ; void Phonon::GlobalConfig::setAudioOutputDeviceListFor(enum Phonon::Category, class QList<int>)
-	?setCaptureDevice@PulseSupport@Phonon@@QAE_NVQString@@H@Z @ 552 NONAME ; bool Phonon::PulseSupport::setCaptureDevice(class QString, int)
-	?setCaptureDevicePriorityForCategory@PulseSupport@Phonon@@QAEXW4Category@2@V?$QList@H@@@Z @ 553 NONAME ; void Phonon::PulseSupport::setCaptureDevicePriorityForCategory(enum Phonon::Category, class QList<int>)
-	?setDataSize@AudioDataOutput@Phonon@@QAEXH@Z @ 554 NONAME ; void Phonon::AudioDataOutput::setDataSize(int)
-	?setHideAdvancedDevices@GlobalConfig@Phonon@@QAEX_N@Z @ 555 NONAME ; void Phonon::GlobalConfig::setHideAdvancedDevices(bool)
-	?setOutputDevice@PulseSupport@Phonon@@QAE_NVQString@@H@Z @ 556 NONAME ; bool Phonon::PulseSupport::setOutputDevice(class QString, int)
-	?setOutputDevicePriorityForCategory@PulseSupport@Phonon@@QAEXW4Category@2@V?$QList@H@@@Z @ 557 NONAME ; void Phonon::PulseSupport::setOutputDevicePriorityForCategory(enum Phonon::Category, class QList<int>)
+	?metaObject@AudioDataOutput@Phonon@@UBEPBUQMetaObject@@XZ @ 551 NONAME ; struct QMetaObject const * Phonon::AudioDataOutput::metaObject(void) const
+	?k_func@AudioDataOutput@Phonon@@AAEPAVAudioDataOutputPrivate@2@XZ @ 552 NONAME ; class Phonon::AudioDataOutputPrivate * Phonon::AudioDataOutput::k_func(void)
+	?setAudioOutputDeviceListFor@GlobalConfig@Phonon@@QAEXW4Category@2@V?$QList@H@@@Z @ 553 NONAME ; void Phonon::GlobalConfig::setAudioOutputDeviceListFor(enum Phonon::Category, class QList<int>)
+	?dataReady@AudioDataOutput@Phonon@@IAEXABV?$QMap@W4Channel@AudioDataOutput@Phonon@@V?$QVector@F@@@@@Z @ 554 NONAME ; void Phonon::AudioDataOutput::dataReady(class QMap<enum Phonon::AudioDataOutput::Channel, class QVector<short> > const &)
+	?qt_metacall@PulseSupport@Phonon@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 555 NONAME ; int Phonon::PulseSupport::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?k_func@GlobalConfig@Phonon@@ABEPBVGlobalConfigPrivate@2@XZ @ 556 NONAME ; class Phonon::GlobalConfigPrivate const * Phonon::GlobalConfig::k_func(void) const
+	?tr@PulseSupport@Phonon@@SA?AVQString@@PBD0@Z @ 557 NONAME ; class QString Phonon::PulseSupport::tr(char const *, char const *)
 	?setStreamPropList@PulseSupport@Phonon@@QAEXW4Category@2@VQString@@@Z @ 558 NONAME ; void Phonon::PulseSupport::setStreamPropList(enum Phonon::Category, class QString)
-	?shutdown@PulseSupport@Phonon@@SAXXZ @ 559 NONAME ; void Phonon::PulseSupport::shutdown(void)
-	?snapshot@VideoWidget@Phonon@@QBE?AVQImage@@XZ @ 560 NONAME ; class QImage Phonon::VideoWidget::snapshot(void) const
-	?tr@AudioDataOutput@Phonon@@SA?AVQString@@PBD0@Z @ 561 NONAME ; class QString Phonon::AudioDataOutput::tr(char const *, char const *)
-	?tr@AudioDataOutput@Phonon@@SA?AVQString@@PBD0H@Z @ 562 NONAME ; class QString Phonon::AudioDataOutput::tr(char const *, char const *, int)
-	?tr@PulseSupport@Phonon@@SA?AVQString@@PBD0@Z @ 563 NONAME ; class QString Phonon::PulseSupport::tr(char const *, char const *)
-	?tr@PulseSupport@Phonon@@SA?AVQString@@PBD0H@Z @ 564 NONAME ; class QString Phonon::PulseSupport::tr(char const *, char const *, int)
-	?trUtf8@AudioDataOutput@Phonon@@SA?AVQString@@PBD0@Z @ 565 NONAME ; class QString Phonon::AudioDataOutput::trUtf8(char const *, char const *)
-	?trUtf8@AudioDataOutput@Phonon@@SA?AVQString@@PBD0H@Z @ 566 NONAME ; class QString Phonon::AudioDataOutput::trUtf8(char const *, char const *, int)
-	?trUtf8@PulseSupport@Phonon@@SA?AVQString@@PBD0@Z @ 567 NONAME ; class QString Phonon::PulseSupport::trUtf8(char const *, char const *)
-	?trUtf8@PulseSupport@Phonon@@SA?AVQString@@PBD0H@Z @ 568 NONAME ; class QString Phonon::PulseSupport::trUtf8(char const *, char const *, int)
-	?usingDevice@PulseSupport@Phonon@@IAEXVQString@@H@Z @ 569 NONAME ; void Phonon::PulseSupport::usingDevice(class QString, int)
-	?staticMetaObject@PulseSupport@Phonon@@2UQMetaObject@@B @ 570 NONAME ; struct QMetaObject const Phonon::PulseSupport::staticMetaObject
-	?staticMetaObject@AudioDataOutput@Phonon@@2UQMetaObject@@B @ 571 NONAME ; struct QMetaObject const Phonon::AudioDataOutput::staticMetaObject
+	?k_func@GlobalConfig@Phonon@@AAEPAVGlobalConfigPrivate@2@XZ @ 559 NONAME ; class Phonon::GlobalConfigPrivate * Phonon::GlobalConfig::k_func(void)
+	?objectDescriptionChanged@PulseSupport@Phonon@@IAEXW4ObjectDescriptionType@2@@Z @ 560 NONAME ; void Phonon::PulseSupport::objectDescriptionChanged(enum Phonon::ObjectDescriptionType)
+	?k_func@AudioDataOutput@Phonon@@ABEPBVAudioDataOutputPrivate@2@XZ @ 561 NONAME ; class Phonon::AudioDataOutputPrivate const * Phonon::AudioDataOutput::k_func(void) const
+	?objectDescriptionIndexes@PulseSupport@Phonon@@QBE?AV?$QList@H@@W4ObjectDescriptionType@2@@Z @ 562 NONAME ; class QList<int> Phonon::PulseSupport::objectDescriptionIndexes(enum Phonon::ObjectDescriptionType) const
+	?getInstance@PulseSupport@Phonon@@SAPAV12@XZ @ 563 NONAME ; class Phonon::PulseSupport * Phonon::PulseSupport::getInstance(void)
+	?usingDevice@PulseSupport@Phonon@@IAEXVQString@@H@Z @ 564 NONAME ; void Phonon::PulseSupport::usingDevice(class QString, int)
+	?snapshot@VideoWidget@Phonon@@QBE?AVQImage@@XZ @ 565 NONAME ; class QImage Phonon::VideoWidget::snapshot(void) const
+	?objectIndexesByCategory@PulseSupport@Phonon@@QBE?AV?$QList@H@@W4ObjectDescriptionType@2@W4Category@2@@Z @ 566 NONAME ; class QList<int> Phonon::PulseSupport::objectIndexesByCategory(enum Phonon::ObjectDescriptionType, enum Phonon::Category) const
+	?endOfMedia@AudioDataOutput@Phonon@@IAEXH@Z @ 567 NONAME ; void Phonon::AudioDataOutput::endOfMedia(int)
+	?objectDescriptionProperties@PulseSupport@Phonon@@QBE?AV?$QHash@VQByteArray@@VQVariant@@@@W4ObjectDescriptionType@2@H@Z @ 568 NONAME ; class QHash<class QByteArray, class QVariant> Phonon::PulseSupport::objectDescriptionProperties(enum Phonon::ObjectDescriptionType, int) const
+	?setOutputDevice@PulseSupport@Phonon@@QAE_NVQString@@H@Z @ 569 NONAME ; bool Phonon::PulseSupport::setOutputDevice(class QString, int)
+	?qt_metacast@AudioDataOutput@Phonon@@UAEPAXPBD@Z @ 570 NONAME ; void * Phonon::AudioDataOutput::qt_metacast(char const *)
+	?clearStreamCache@PulseSupport@Phonon@@QAEXVQString@@@Z @ 571 NONAME ; void Phonon::PulseSupport::clearStreamCache(class QString)
 
diff --git a/src/s60installs/eabi/QtCoreu.def b/src/s60installs/eabi/QtCoreu.def
index 46c4885..01679be 100644
--- a/src/s60installs/eabi/QtCoreu.def
+++ b/src/s60installs/eabi/QtCoreu.def
@@ -3667,48 +3667,48 @@ EXPORTS
 	_ZN13QElapsedTimer5startEv @ 3666 NONAME
 	_ZN13QElapsedTimer7restartEv @ 3667 NONAME
 	_ZN13QElapsedTimer9clockTypeEv @ 3668 NONAME
-	_ZN23QCoreApplicationPrivate11symbianInitEv @ 3669 NONAME
-	_ZN23QEventDispatcherSymbian11qt_metacallEN11QMetaObject4CallEiPPv @ 3670 NONAME
-	_ZN23QEventDispatcherSymbian11qt_metacastEPKc @ 3671 NONAME
-	_ZN23QEventDispatcherSymbian12selectThreadEv @ 3672 NONAME
-	_ZN23QEventDispatcherSymbian16staticMetaObjectE @ 3673 NONAME DATA 16
-	_ZN23QEventDispatcherSymbian19getStaticMetaObjectEv @ 3674 NONAME
-	_ZN24QAbstractDeclarativeData13parentChangedE @ 3675 NONAME DATA 4
-	_ZN24QAbstractDeclarativeData9destroyedE @ 3676 NONAME DATA 4
-	_ZN7QString10setRawDataEPK5QChari @ 3677 NONAME
-	_ZN7QStringC1EPK5QChar @ 3678 NONAME
-	_ZN7QStringC2EPK5QChar @ 3679 NONAME
-	_ZN8QVariantC1ERK12QEasingCurve @ 3680 NONAME
-	_ZN8QVariantC2ERK12QEasingCurve @ 3681 NONAME
-	_ZN9QDateTime18currentDateTimeUtcEv @ 3682 NONAME
-	_ZN9QDateTime18setMSecsSinceEpochEx @ 3683 NONAME
-	_ZN9QDateTime19fromMSecsSinceEpochEx @ 3684 NONAME
-	_ZN9QDateTime22currentMSecsSinceEpochEv @ 3685 NONAME
-	_ZN9QListData11detach_growEPii @ 3686 NONAME
-	_ZN9QListData6appendEi @ 3687 NONAME
-	_ZN9QListData6detachEi @ 3688 NONAME
-	_ZN9QMetaType15registerTypedefEPKci @ 3689 NONAME
-	_ZN9QMetaType23registerStreamOperatorsEiPFvR11QDataStreamPKvEPFvS1_PvE @ 3690 NONAME
-	_ZNK10QTextCodec11makeDecoderE6QFlagsINS_14ConversionFlagEE @ 3691 NONAME
-	_ZNK10QTextCodec11makeEncoderE6QFlagsINS_14ConversionFlagEE @ 3692 NONAME
-	_ZNK13QElapsedTimer10hasExpiredEx @ 3693 NONAME
-	_ZNK13QElapsedTimer19msecsSinceReferenceEv @ 3694 NONAME
-	_ZNK13QElapsedTimer6secsToERKS_ @ 3695 NONAME
-	_ZNK13QElapsedTimer7elapsedEv @ 3696 NONAME
-	_ZNK13QElapsedTimer7isValidEv @ 3697 NONAME
-	_ZNK13QElapsedTimer7msecsToERKS_ @ 3698 NONAME
-	_ZNK23QEventDispatcherSymbian10metaObjectEv @ 3699 NONAME
-	_ZNK6QState11transitionsEv @ 3700 NONAME
-	_ZNK8QVariant13toEasingCurveEv @ 3701 NONAME
-	_ZNK9QDateTime17toMSecsSinceEpochEv @ 3702 NONAME
-	_ZNK9QDateTime7msecsToERKS_ @ 3703 NONAME
-	_ZlsR11QDataStreamRK12QEasingCurve @ 3704 NONAME
-	_ZltRK13QElapsedTimerS1_ @ 3705 NONAME
-	_ZrsR11QDataStreamR12QEasingCurve @ 3706 NONAME
-	_ZNK7QLocale13textDirectionEv @ 3707 NONAME
-	_ZNK7QString13isRightToLeftEv @ 3708 NONAME
-	_ZN16QIODevicePrivate4peekEPcx @ 3709 NONAME
-	_ZN16QIODevicePrivate4peekEx @ 3710 NONAME
-	_ZN8QProcess18setNativeArgumentsERK7QString @ 3711 NONAME
-	_ZNK8QProcess15nativeArgumentsEv @ 3712 NONAME
+	_ZN16QIODevicePrivate4peekEPcx @ 3669 NONAME
+	_ZN16QIODevicePrivate4peekEx @ 3670 NONAME
+	_ZN23QCoreApplicationPrivate11symbianInitEv @ 3671 NONAME
+	_ZN23QEventDispatcherSymbian11qt_metacallEN11QMetaObject4CallEiPPv @ 3672 NONAME
+	_ZN23QEventDispatcherSymbian11qt_metacastEPKc @ 3673 NONAME
+	_ZN23QEventDispatcherSymbian12selectThreadEv @ 3674 NONAME
+	_ZN23QEventDispatcherSymbian16staticMetaObjectE @ 3675 NONAME DATA 16
+	_ZN23QEventDispatcherSymbian19getStaticMetaObjectEv @ 3676 NONAME
+	_ZN24QAbstractDeclarativeData13parentChangedE @ 3677 NONAME DATA 4
+	_ZN24QAbstractDeclarativeData9destroyedE @ 3678 NONAME DATA 4
+	_ZN7QString10setRawDataEPK5QChari @ 3679 NONAME
+	_ZN7QStringC1EPK5QChar @ 3680 NONAME
+	_ZN7QStringC2EPK5QChar @ 3681 NONAME
+	_ZN8QProcess18setNativeArgumentsERK7QString @ 3682 NONAME
+	_ZN8QVariantC1ERK12QEasingCurve @ 3683 NONAME
+	_ZN8QVariantC2ERK12QEasingCurve @ 3684 NONAME
+	_ZN9QDateTime18currentDateTimeUtcEv @ 3685 NONAME
+	_ZN9QDateTime18setMSecsSinceEpochEx @ 3686 NONAME
+	_ZN9QDateTime19fromMSecsSinceEpochEx @ 3687 NONAME
+	_ZN9QDateTime22currentMSecsSinceEpochEv @ 3688 NONAME
+	_ZN9QListData11detach_growEPii @ 3689 NONAME
+	_ZN9QListData6appendEi @ 3690 NONAME
+	_ZN9QListData6detachEi @ 3691 NONAME
+	_ZN9QMetaType15registerTypedefEPKci @ 3692 NONAME
+	_ZN9QMetaType23registerStreamOperatorsEiPFvR11QDataStreamPKvEPFvS1_PvE @ 3693 NONAME
+	_ZNK10QTextCodec11makeDecoderE6QFlagsINS_14ConversionFlagEE @ 3694 NONAME
+	_ZNK10QTextCodec11makeEncoderE6QFlagsINS_14ConversionFlagEE @ 3695 NONAME
+	_ZNK13QElapsedTimer10hasExpiredEx @ 3696 NONAME
+	_ZNK13QElapsedTimer19msecsSinceReferenceEv @ 3697 NONAME
+	_ZNK13QElapsedTimer6secsToERKS_ @ 3698 NONAME
+	_ZNK13QElapsedTimer7elapsedEv @ 3699 NONAME
+	_ZNK13QElapsedTimer7isValidEv @ 3700 NONAME
+	_ZNK13QElapsedTimer7msecsToERKS_ @ 3701 NONAME
+	_ZNK23QEventDispatcherSymbian10metaObjectEv @ 3702 NONAME
+	_ZNK6QState11transitionsEv @ 3703 NONAME
+	_ZNK7QLocale13textDirectionEv @ 3704 NONAME
+	_ZNK7QString13isRightToLeftEv @ 3705 NONAME
+	_ZNK8QProcess15nativeArgumentsEv @ 3706 NONAME
+	_ZNK8QVariant13toEasingCurveEv @ 3707 NONAME
+	_ZNK9QDateTime17toMSecsSinceEpochEv @ 3708 NONAME
+	_ZNK9QDateTime7msecsToERKS_ @ 3709 NONAME
+	_ZlsR11QDataStreamRK12QEasingCurve @ 3710 NONAME
+	_ZltRK13QElapsedTimerS1_ @ 3711 NONAME
+	_ZrsR11QDataStreamR12QEasingCurve @ 3712 NONAME
 
diff --git a/src/s60installs/eabi/QtDeclarativeu.def b/src/s60installs/eabi/QtDeclarativeu.def
index 723f2ae..2a14abe 100644
--- a/src/s60installs/eabi/QtDeclarativeu.def
+++ b/src/s60installs/eabi/QtDeclarativeu.def
@@ -44,762 +44,762 @@ EXPORTS
 	_ZN16QDeclarativeInfoD1Ev @ 43 NONAME
 	_ZN16QDeclarativeInfoD2Ev @ 44 NONAME
 	_ZN16QDeclarativeItem10classBeginEv @ 45 NONAME
-	_ZN16QDeclarativeItem10forceFocusEv @ 46 NONAME ABSENT
-	_ZN16QDeclarativeItem10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 47 NONAME
-	_ZN16QDeclarativeItem10resetWidthEv @ 48 NONAME
-	_ZN16QDeclarativeItem10sceneEventEP6QEvent @ 49 NONAME
-	_ZN16QDeclarativeItem11clipChangedEb @ 50 NONAME
-	_ZN16QDeclarativeItem11qt_metacallEN11QMetaObject4CallEiPPv @ 51 NONAME
-	_ZN16QDeclarativeItem11qt_metacastEPKc @ 52 NONAME
-	_ZN16QDeclarativeItem11resetHeightEv @ 53 NONAME
-	_ZN16QDeclarativeItem12childrenRectEv @ 54 NONAME
-	_ZN16QDeclarativeItem12focusChangedEb @ 55 NONAME
-	_ZN16QDeclarativeItem12stateChangedERK7QString @ 56 NONAME
-	_ZN16QDeclarativeItem13keyPressEventEP9QKeyEvent @ 57 NONAME
-	_ZN16QDeclarativeItem13parentChangedEPS_ @ 58 NONAME
-	_ZN16QDeclarativeItem13setParentItemEPS_ @ 59 NONAME
-	_ZN16QDeclarativeItem13smoothChangedEb @ 60 NONAME
-	_ZN16QDeclarativeItem15childrenChangedEv @ 61 NONAME ABSENT
-	_ZN16QDeclarativeItem15geometryChangedERK6QRectFS2_ @ 62 NONAME
-	_ZN16QDeclarativeItem15keyReleaseEventEP9QKeyEvent @ 63 NONAME
-	_ZN16QDeclarativeItem16inputMethodEventEP17QInputMethodEvent @ 64 NONAME
-	_ZN16QDeclarativeItem16setImplicitWidthEf @ 65 NONAME
-	_ZN16QDeclarativeItem16setKeepMouseGrabEb @ 66 NONAME
-	_ZN16QDeclarativeItem16staticMetaObjectE @ 67 NONAME DATA 16
-	_ZN16QDeclarativeItem17componentCompleteEv @ 68 NONAME
-	_ZN16QDeclarativeItem17setBaselineOffsetEf @ 69 NONAME
-	_ZN16QDeclarativeItem17setImplicitHeightEf @ 70 NONAME
-	_ZN16QDeclarativeItem17wantsFocusChangedEb @ 71 NONAME ABSENT
-	_ZN16QDeclarativeItem18keyPressPreHandlerEP9QKeyEvent @ 72 NONAME
-	_ZN16QDeclarativeItem18setTransformOriginENS_15TransformOriginE @ 73 NONAME
-	_ZN16QDeclarativeItem19childrenRectChangedERK6QRectF @ 74 NONAME
-	_ZN16QDeclarativeItem19getStaticMetaObjectEv @ 75 NONAME
-	_ZN16QDeclarativeItem20keyReleasePreHandlerEP9QKeyEvent @ 76 NONAME
-	_ZN16QDeclarativeItem21baselineOffsetChangedEf @ 77 NONAME
-	_ZN16QDeclarativeItem21inputMethodPreHandlerEP17QInputMethodEvent @ 78 NONAME
-	_ZN16QDeclarativeItem22transformOriginChangedENS_15TransformOriginE @ 79 NONAME
-	_ZN16QDeclarativeItem5eventEP6QEvent @ 80 NONAME
-	_ZN16QDeclarativeItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 81 NONAME
-	_ZN16QDeclarativeItem7setClipEb @ 82 NONAME
-	_ZN16QDeclarativeItem7setSizeERK6QSizeF @ 83 NONAME
-	_ZN16QDeclarativeItem8setFocusEb @ 84 NONAME
-	_ZN16QDeclarativeItem8setWidthEf @ 85 NONAME
-	_ZN16QDeclarativeItem9setHeightEf @ 86 NONAME
-	_ZN16QDeclarativeItem9setSmoothEb @ 87 NONAME
-	_ZN16QDeclarativeItem9transformEv @ 88 NONAME
-	_ZN16QDeclarativeItemC1EPS_ @ 89 NONAME
-	_ZN16QDeclarativeItemC1ER23QDeclarativeItemPrivatePS_ @ 90 NONAME
-	_ZN16QDeclarativeItemC2EPS_ @ 91 NONAME
-	_ZN16QDeclarativeItemC2ER23QDeclarativeItemPrivatePS_ @ 92 NONAME
-	_ZN16QDeclarativeItemD0Ev @ 93 NONAME
-	_ZN16QDeclarativeItemD1Ev @ 94 NONAME
-	_ZN16QDeclarativeItemD2Ev @ 95 NONAME
-	_ZN16QDeclarativeText11fontChangedERK5QFont @ 96 NONAME
-	_ZN16QDeclarativeText11qt_metacallEN11QMetaObject4CallEiPPv @ 97 NONAME
-	_ZN16QDeclarativeText11qt_metacastEPKc @ 98 NONAME
-	_ZN16QDeclarativeText11setWrapModeENS_8WrapModeE @ 99 NONAME
-	_ZN16QDeclarativeText11textChangedERK7QString @ 100 NONAME
-	_ZN16QDeclarativeText12colorChangedERK6QColor @ 101 NONAME
-	_ZN16QDeclarativeText12setElideModeENS_13TextElideModeE @ 102 NONAME
-	_ZN16QDeclarativeText12styleChangedENS_9TextStyleE @ 103 NONAME
-	_ZN16QDeclarativeText13linkActivatedERK7QString @ 104 NONAME
-	_ZN16QDeclarativeText13setStyleColorERK6QColor @ 105 NONAME
-	_ZN16QDeclarativeText13setTextFormatENS_10TextFormatE @ 106 NONAME
-	_ZN16QDeclarativeText15geometryChangedERK6QRectFS2_ @ 107 NONAME
-	_ZN16QDeclarativeText15mousePressEventEP24QGraphicsSceneMouseEvent @ 108 NONAME
-	_ZN16QDeclarativeText15wrapModeChangedEv @ 109 NONAME
-	_ZN16QDeclarativeText16elideModeChangedENS_13TextElideModeE @ 110 NONAME
-	_ZN16QDeclarativeText16staticMetaObjectE @ 111 NONAME DATA 16
-	_ZN16QDeclarativeText17componentCompleteEv @ 112 NONAME
-	_ZN16QDeclarativeText17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 113 NONAME
-	_ZN16QDeclarativeText17styleColorChangedERK6QColor @ 114 NONAME
-	_ZN16QDeclarativeText17textFormatChangedENS_10TextFormatE @ 115 NONAME
-	_ZN16QDeclarativeText18paintedSizeChangedEv @ 116 NONAME
-	_ZN16QDeclarativeText19getStaticMetaObjectEv @ 117 NONAME
-	_ZN16QDeclarativeText19reloadWithResourcesEv @ 118 NONAME ABSENT
-	_ZN16QDeclarativeText24verticalAlignmentChangedENS_10VAlignmentE @ 119 NONAME
-	_ZN16QDeclarativeText26horizontalAlignmentChangedENS_10HAlignmentE @ 120 NONAME
-	_ZN16QDeclarativeText5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 121 NONAME
-	_ZN16QDeclarativeText7setFontERK5QFont @ 122 NONAME
-	_ZN16QDeclarativeText7setTextERK7QString @ 123 NONAME
-	_ZN16QDeclarativeText8setColorERK6QColor @ 124 NONAME
-	_ZN16QDeclarativeText8setStyleENS_9TextStyleE @ 125 NONAME
-	_ZN16QDeclarativeText9setHAlignENS_10HAlignmentE @ 126 NONAME
-	_ZN16QDeclarativeText9setVAlignENS_10VAlignmentE @ 127 NONAME
-	_ZN16QDeclarativeTextC1EP16QDeclarativeItem @ 128 NONAME
-	_ZN16QDeclarativeTextC2EP16QDeclarativeItem @ 129 NONAME
-	_ZN16QDeclarativeTextD0Ev @ 130 NONAME
-	_ZN16QDeclarativeTextD1Ev @ 131 NONAME
-	_ZN16QDeclarativeTextD2Ev @ 132 NONAME
-	_ZN16QDeclarativeTypeC1EiRKN19QDeclarativePrivate12RegisterTypeE @ 133 NONAME
-	_ZN16QDeclarativeTypeC1EiRKN19QDeclarativePrivate17RegisterInterfaceE @ 134 NONAME
-	_ZN16QDeclarativeTypeC2EiRKN19QDeclarativePrivate12RegisterTypeE @ 135 NONAME
-	_ZN16QDeclarativeTypeC2EiRKN19QDeclarativePrivate17RegisterInterfaceE @ 136 NONAME
-	_ZN16QDeclarativeTypeD1Ev @ 137 NONAME
-	_ZN16QDeclarativeTypeD2Ev @ 138 NONAME
-	_ZN16QDeclarativeView10paintEventEP11QPaintEvent @ 139 NONAME
-	_ZN16QDeclarativeView10timerEventEP11QTimerEvent @ 140 NONAME
-	_ZN16QDeclarativeView11eventFilterEP7QObjectP6QEvent @ 141 NONAME
-	_ZN16QDeclarativeView11qt_metacallEN11QMetaObject4CallEiPPv @ 142 NONAME
-	_ZN16QDeclarativeView11qt_metacastEPKc @ 143 NONAME
-	_ZN16QDeclarativeView11resizeEventEP12QResizeEvent @ 144 NONAME
-	_ZN16QDeclarativeView11rootContextEv @ 145 NONAME ABSENT
-	_ZN16QDeclarativeView12sceneResizedE5QSize @ 146 NONAME
-	_ZN16QDeclarativeView13setResizeModeENS_10ResizeModeE @ 147 NONAME
-	_ZN16QDeclarativeView13setRootObjectEP7QObject @ 148 NONAME
-	_ZN16QDeclarativeView13statusChangedENS_6StatusE @ 149 NONAME
-	_ZN16QDeclarativeView15continueExecuteEv @ 150 NONAME
-	_ZN16QDeclarativeView16staticMetaObjectE @ 151 NONAME DATA 16
-	_ZN16QDeclarativeView19getStaticMetaObjectEv @ 152 NONAME
-	_ZN16QDeclarativeView6engineEv @ 153 NONAME ABSENT
-	_ZN16QDeclarativeView9setSourceERK4QUrl @ 154 NONAME
-	_ZN16QDeclarativeViewC1EP7QWidget @ 155 NONAME
-	_ZN16QDeclarativeViewC1ERK4QUrlP7QWidget @ 156 NONAME
-	_ZN16QDeclarativeViewC2EP7QWidget @ 157 NONAME
-	_ZN16QDeclarativeViewC2ERK4QUrlP7QWidget @ 158 NONAME
-	_ZN16QDeclarativeViewD0Ev @ 159 NONAME
-	_ZN16QDeclarativeViewD1Ev @ 160 NONAME
-	_ZN16QDeclarativeViewD2Ev @ 161 NONAME
-	_ZN16QMetaEnumBuilder6addKeyERK10QByteArrayi @ 162 NONAME
-	_ZN16QMetaEnumBuilder9removeKeyEi @ 163 NONAME
-	_ZN16QMetaEnumBuilder9setIsFlagEb @ 164 NONAME
-	_ZN17QDeclarativeError14setDescriptionERK7QString @ 165 NONAME
-	_ZN17QDeclarativeError6setUrlERK4QUrl @ 166 NONAME
-	_ZN17QDeclarativeError7setLineEi @ 167 NONAME
-	_ZN17QDeclarativeError9setColumnEi @ 168 NONAME
-	_ZN17QDeclarativeErrorC1ERKS_ @ 169 NONAME
-	_ZN17QDeclarativeErrorC1Ev @ 170 NONAME
-	_ZN17QDeclarativeErrorC2ERKS_ @ 171 NONAME
-	_ZN17QDeclarativeErrorC2Ev @ 172 NONAME
-	_ZN17QDeclarativeErrorD1Ev @ 173 NONAME
-	_ZN17QDeclarativeErrorD2Ev @ 174 NONAME
-	_ZN17QDeclarativeErroraSERKS_ @ 175 NONAME
-	_ZN17QDeclarativeState10setExtendsERK7QString @ 176 NONAME
-	_ZN17QDeclarativeState11qt_metacallEN11QMetaObject4CallEiPPv @ 177 NONAME
-	_ZN17QDeclarativeState11qt_metacastEPKc @ 178 NONAME
-	_ZN17QDeclarativeState13setStateGroupEP22QDeclarativeStateGroup @ 179 NONAME
-	_ZN17QDeclarativeState16staticMetaObjectE @ 180 NONAME DATA 16
-	_ZN17QDeclarativeState19getStaticMetaObjectEv @ 181 NONAME
-	_ZN17QDeclarativeState5applyEP22QDeclarativeStateGroupP22QDeclarativeTransitionPS_ @ 182 NONAME
-	_ZN17QDeclarativeState6cancelEv @ 183 NONAME
-	_ZN17QDeclarativeState7changesEv @ 184 NONAME
-	_ZN17QDeclarativeState7setNameERK7QString @ 185 NONAME
-	_ZN17QDeclarativeState7setWhenEP19QDeclarativeBinding @ 186 NONAME
-	_ZN17QDeclarativeState9completedEv @ 187 NONAME
-	_ZN17QDeclarativeStateC1EP7QObject @ 188 NONAME
-	_ZN17QDeclarativeStateC2EP7QObject @ 189 NONAME
-	_ZN17QDeclarativeStateD0Ev @ 190 NONAME
-	_ZN17QDeclarativeStateD1Ev @ 191 NONAME
-	_ZN17QDeclarativeStateD2Ev @ 192 NONAME
-	_ZN17QDeclarativeStatelsEP26QDeclarativeStateOperation @ 193 NONAME
-	_ZN18QDeclarativeAction17deleteFromBindingEv @ 194 NONAME
-	_ZN18QDeclarativeActionC1EP7QObjectRK7QStringP19QDeclarativeContextRK8QVariant @ 195 NONAME
-	_ZN18QDeclarativeActionC1EP7QObjectRK7QStringRK8QVariant @ 196 NONAME
-	_ZN18QDeclarativeActionC1Ev @ 197 NONAME
-	_ZN18QDeclarativeActionC2EP7QObjectRK7QStringP19QDeclarativeContextRK8QVariant @ 198 NONAME
-	_ZN18QDeclarativeActionC2EP7QObjectRK7QStringRK8QVariant @ 199 NONAME
-	_ZN18QDeclarativeActionC2Ev @ 200 NONAME
-	_ZN18QDeclarativeEngine10setBaseUrlERK4QUrl @ 201 NONAME
-	_ZN18QDeclarativeEngine11qt_metacallEN11QMetaObject4CallEiPPv @ 202 NONAME
-	_ZN18QDeclarativeEngine11qt_metacastEPKc @ 203 NONAME
-	_ZN18QDeclarativeEngine11rootContextEv @ 204 NONAME ABSENT
-	_ZN18QDeclarativeEngine12importPluginERK7QStringS2_PS0_ @ 205 NONAME
-	_ZN18QDeclarativeEngine13addImportPathERK7QString @ 206 NONAME
-	_ZN18QDeclarativeEngine13addPluginPathERK7QString @ 207 NONAME
-	_ZN18QDeclarativeEngine15objectOwnershipEP7QObject @ 208 NONAME
-	_ZN18QDeclarativeEngine16addImageProviderERK7QStringP25QDeclarativeImageProvider @ 209 NONAME
-	_ZN18QDeclarativeEngine16contextForObjectEPK7QObject @ 210 NONAME
-	_ZN18QDeclarativeEngine16staticMetaObjectE @ 211 NONAME DATA 16
-	_ZN18QDeclarativeEngine17setImportPathListERK11QStringList @ 212 NONAME
-	_ZN18QDeclarativeEngine17setPluginPathListERK11QStringList @ 213 NONAME
-	_ZN18QDeclarativeEngine18setObjectOwnershipEP7QObjectNS_15ObjectOwnershipE @ 214 NONAME
-	_ZN18QDeclarativeEngine19clearComponentCacheEv @ 215 NONAME
-	_ZN18QDeclarativeEngine19getStaticMetaObjectEv @ 216 NONAME
-	_ZN18QDeclarativeEngine19removeImageProviderERK7QString @ 217 NONAME
-	_ZN18QDeclarativeEngine19setContextForObjectEP7QObjectP19QDeclarativeContext @ 218 NONAME
-	_ZN18QDeclarativeEngine21setOfflineStoragePathERK7QString @ 219 NONAME
-	_ZN18QDeclarativeEngine30setNetworkAccessManagerFactoryEP39QDeclarativeNetworkAccessManagerFactory @ 220 NONAME
-	_ZN18QDeclarativeEngine32setOutputWarningsToStandardErrorEb @ 221 NONAME
-	_ZN18QDeclarativeEngine4quitEv @ 222 NONAME
-	_ZN18QDeclarativeEngine8warningsERK5QListI17QDeclarativeErrorE @ 223 NONAME
-	_ZN18QDeclarativeEngineC1EP7QObject @ 224 NONAME
-	_ZN18QDeclarativeEngineC2EP7QObject @ 225 NONAME
-	_ZN18QDeclarativeEngineD0Ev @ 226 NONAME
-	_ZN18QDeclarativeEngineD1Ev @ 227 NONAME
-	_ZN18QDeclarativeEngineD2Ev @ 228 NONAME
-	_ZN18QDeclarativeParser7VariantC1ERK7QString @ 229 NONAME
-	_ZN18QDeclarativeParser7VariantC1ERK7QStringPN14QDeclarativeJS3AST4NodeE @ 230 NONAME
-	_ZN18QDeclarativeParser7VariantC1ERKS0_ @ 231 NONAME
-	_ZN18QDeclarativeParser7VariantC1Eb @ 232 NONAME
-	_ZN18QDeclarativeParser7VariantC1EdRK7QString @ 233 NONAME
-	_ZN18QDeclarativeParser7VariantC1Ev @ 234 NONAME
-	_ZN18QDeclarativeParser7VariantC2ERK7QString @ 235 NONAME
-	_ZN18QDeclarativeParser7VariantC2ERK7QStringPN14QDeclarativeJS3AST4NodeE @ 236 NONAME
-	_ZN18QDeclarativeParser7VariantC2ERKS0_ @ 237 NONAME
-	_ZN18QDeclarativeParser7VariantC2Eb @ 238 NONAME
-	_ZN18QDeclarativeParser7VariantC2EdRK7QString @ 239 NONAME
-	_ZN18QDeclarativeParser7VariantC2Ev @ 240 NONAME
-	_ZN18QDeclarativeParser7VariantaSERKS0_ @ 241 NONAME
-	_ZN18QMetaMethodBuilder13setAttributesEi @ 242 NONAME
-	_ZN18QMetaMethodBuilder13setReturnTypeERK10QByteArray @ 243 NONAME
-	_ZN18QMetaMethodBuilder17setParameterNamesERK5QListI10QByteArrayE @ 244 NONAME
-	_ZN18QMetaMethodBuilder6setTagERK10QByteArray @ 245 NONAME
-	_ZN18QMetaMethodBuilder9setAccessEN11QMetaMethod6AccessE @ 246 NONAME
-	_ZN18QMetaObjectBuilder11addPropertyERK10QByteArrayS2_i @ 247 NONAME
-	_ZN18QMetaObjectBuilder11addPropertyERK13QMetaProperty @ 248 NONAME
-	_ZN18QMetaObjectBuilder11deserializeER11QDataStreamRK4QMapI10QByteArrayPK11QMetaObjectE @ 249 NONAME
-	_ZN18QMetaObjectBuilder11indexOfSlotERK10QByteArray @ 250 NONAME
-	_ZN18QMetaObjectBuilder12addClassInfoERK10QByteArrayS2_ @ 251 NONAME
-	_ZN18QMetaObjectBuilder12removeMethodEi @ 252 NONAME
-	_ZN18QMetaObjectBuilder12setClassNameERK10QByteArray @ 253 NONAME
-	_ZN18QMetaObjectBuilder13addEnumeratorERK10QByteArray @ 254 NONAME
-	_ZN18QMetaObjectBuilder13addEnumeratorERK9QMetaEnum @ 255 NONAME
-	_ZN18QMetaObjectBuilder13addMetaObjectEPK11QMetaObject6QFlagsINS_9AddMemberEE @ 256 NONAME
-	_ZN18QMetaObjectBuilder13indexOfMethodERK10QByteArray @ 257 NONAME
-	_ZN18QMetaObjectBuilder13indexOfSignalERK10QByteArray @ 258 NONAME
-	_ZN18QMetaObjectBuilder13setSuperClassEPK11QMetaObject @ 259 NONAME
-	_ZN18QMetaObjectBuilder14addConstructorERK10QByteArray @ 260 NONAME
-	_ZN18QMetaObjectBuilder14addConstructorERK11QMetaMethod @ 261 NONAME
-	_ZN18QMetaObjectBuilder14removePropertyEi @ 262 NONAME
-	_ZN18QMetaObjectBuilder15indexOfPropertyERK10QByteArray @ 263 NONAME
-	_ZN18QMetaObjectBuilder15removeClassInfoEi @ 264 NONAME
-	_ZN18QMetaObjectBuilder16indexOfClassInfoERK10QByteArray @ 265 NONAME
-	_ZN18QMetaObjectBuilder16removeEnumeratorEi @ 266 NONAME
-	_ZN18QMetaObjectBuilder17indexOfEnumeratorERK10QByteArray @ 267 NONAME
-	_ZN18QMetaObjectBuilder17removeConstructorEi @ 268 NONAME
-	_ZN18QMetaObjectBuilder18indexOfConstructorERK10QByteArray @ 269 NONAME
-	_ZN18QMetaObjectBuilder19fromRelocatableDataEP11QMetaObjectPKS0_RK10QByteArray @ 270 NONAME
-	_ZN18QMetaObjectBuilder20addRelatedMetaObjectERKPFRK11QMetaObjectvE @ 271 NONAME
-	_ZN18QMetaObjectBuilder23removeRelatedMetaObjectEi @ 272 NONAME
-	_ZN18QMetaObjectBuilder25setStaticMetacallFunctionEPFiN11QMetaObject4CallEiPPvE @ 273 NONAME
-	_ZN18QMetaObjectBuilder7addSlotERK10QByteArray @ 274 NONAME
-	_ZN18QMetaObjectBuilder8setFlagsE6QFlagsINS_14MetaObjectFlagEE @ 275 NONAME
-	_ZN18QMetaObjectBuilder9addMethodERK10QByteArray @ 276 NONAME
-	_ZN18QMetaObjectBuilder9addMethodERK10QByteArrayS2_ @ 277 NONAME
-	_ZN18QMetaObjectBuilder9addMethodERK11QMetaMethod @ 278 NONAME
-	_ZN18QMetaObjectBuilder9addSignalERK10QByteArray @ 279 NONAME
-	_ZN18QMetaObjectBuilderC1EPK11QMetaObject6QFlagsINS_9AddMemberEE @ 280 NONAME
-	_ZN18QMetaObjectBuilderC1Ev @ 281 NONAME
-	_ZN18QMetaObjectBuilderC2EPK11QMetaObject6QFlagsINS_9AddMemberEE @ 282 NONAME
-	_ZN18QMetaObjectBuilderC2Ev @ 283 NONAME
-	_ZN18QMetaObjectBuilderD0Ev @ 284 NONAME
-	_ZN18QMetaObjectBuilderD1Ev @ 285 NONAME
-	_ZN18QMetaObjectBuilderD2Ev @ 286 NONAME
-	_ZN19QDeclarativeAnchors10classBeginEv @ 287 NONAME
-	_ZN19QDeclarativeAnchors10resetRightEv @ 288 NONAME
-	_ZN19QDeclarativeAnchors10setMarginsEf @ 289 NONAME
-	_ZN19QDeclarativeAnchors10topChangedEv @ 290 NONAME
-	_ZN19QDeclarativeAnchors11fillChangedEv @ 291 NONAME
-	_ZN19QDeclarativeAnchors11leftChangedEv @ 292 NONAME
-	_ZN19QDeclarativeAnchors11qt_metacallEN11QMetaObject4CallEiPPv @ 293 NONAME
-	_ZN19QDeclarativeAnchors11qt_metacastEPKc @ 294 NONAME
-	_ZN19QDeclarativeAnchors11resetBottomEv @ 295 NONAME
-	_ZN19QDeclarativeAnchors11setBaselineERK22QDeclarativeAnchorLine @ 296 NONAME
-	_ZN19QDeclarativeAnchors11setCenterInEP15QGraphicsObject @ 297 NONAME
-	_ZN19QDeclarativeAnchors12rightChangedEv @ 298 NONAME
-	_ZN19QDeclarativeAnchors12setTopMarginEf @ 299 NONAME
-	_ZN19QDeclarativeAnchors13bottomChangedEv @ 300 NONAME
-	_ZN19QDeclarativeAnchors13resetBaselineEv @ 301 NONAME
-	_ZN19QDeclarativeAnchors13resetCenterInEv @ 302 NONAME
-	_ZN19QDeclarativeAnchors13setLeftMarginEf @ 303 NONAME
-	_ZN19QDeclarativeAnchors14marginsChangedEv @ 304 NONAME
-	_ZN19QDeclarativeAnchors14setRightMarginEf @ 305 NONAME
-	_ZN19QDeclarativeAnchors15baselineChangedEv @ 306 NONAME
-	_ZN19QDeclarativeAnchors15centerInChangedEv @ 307 NONAME
-	_ZN19QDeclarativeAnchors15setBottomMarginEf @ 308 NONAME
-	_ZN19QDeclarativeAnchors16staticMetaObjectE @ 309 NONAME DATA 16
-	_ZN19QDeclarativeAnchors16topMarginChangedEv @ 310 NONAME
-	_ZN19QDeclarativeAnchors17componentCompleteEv @ 311 NONAME
-	_ZN19QDeclarativeAnchors17leftMarginChangedEv @ 312 NONAME
-	_ZN19QDeclarativeAnchors17setBaselineOffsetEf @ 313 NONAME
-	_ZN19QDeclarativeAnchors17setVerticalCenterERK22QDeclarativeAnchorLine @ 314 NONAME
-	_ZN19QDeclarativeAnchors18rightMarginChangedEv @ 315 NONAME
-	_ZN19QDeclarativeAnchors19bottomMarginChangedEv @ 316 NONAME
-	_ZN19QDeclarativeAnchors19getStaticMetaObjectEv @ 317 NONAME
-	_ZN19QDeclarativeAnchors19resetVerticalCenterEv @ 318 NONAME
-	_ZN19QDeclarativeAnchors19setHorizontalCenterERK22QDeclarativeAnchorLine @ 319 NONAME
-	_ZN19QDeclarativeAnchors21baselineOffsetChangedEv @ 320 NONAME
-	_ZN19QDeclarativeAnchors21resetHorizontalCenterEv @ 321 NONAME
-	_ZN19QDeclarativeAnchors21verticalCenterChangedEv @ 322 NONAME
-	_ZN19QDeclarativeAnchors23horizontalCenterChangedEv @ 323 NONAME
-	_ZN19QDeclarativeAnchors23setVerticalCenterOffsetEf @ 324 NONAME
-	_ZN19QDeclarativeAnchors25setHorizontalCenterOffsetEf @ 325 NONAME
-	_ZN19QDeclarativeAnchors27verticalCenterOffsetChangedEv @ 326 NONAME
-	_ZN19QDeclarativeAnchors29horizontalCenterOffsetChangedEv @ 327 NONAME
-	_ZN19QDeclarativeAnchors6setTopERK22QDeclarativeAnchorLine @ 328 NONAME
-	_ZN19QDeclarativeAnchors7setFillEP15QGraphicsObject @ 329 NONAME
-	_ZN19QDeclarativeAnchors7setLeftERK22QDeclarativeAnchorLine @ 330 NONAME
-	_ZN19QDeclarativeAnchors8resetTopEv @ 331 NONAME
-	_ZN19QDeclarativeAnchors8setRightERK22QDeclarativeAnchorLine @ 332 NONAME
-	_ZN19QDeclarativeAnchors9resetFillEv @ 333 NONAME
-	_ZN19QDeclarativeAnchors9resetLeftEv @ 334 NONAME
-	_ZN19QDeclarativeAnchors9setBottomERK22QDeclarativeAnchorLine @ 335 NONAME
-	_ZN19QDeclarativeAnchorsC1EP15QGraphicsObjectP7QObject @ 336 NONAME
-	_ZN19QDeclarativeAnchorsC1EP7QObject @ 337 NONAME
-	_ZN19QDeclarativeAnchorsC2EP15QGraphicsObjectP7QObject @ 338 NONAME
-	_ZN19QDeclarativeAnchorsC2EP7QObject @ 339 NONAME
-	_ZN19QDeclarativeAnchorsD0Ev @ 340 NONAME
-	_ZN19QDeclarativeAnchorsD1Ev @ 341 NONAME
-	_ZN19QDeclarativeAnchorsD2Ev @ 342 NONAME
-	_ZN19QDeclarativeBinding10setEnabledEb6QFlagsIN27QDeclarativePropertyPrivate9WriteFlagEE @ 343 NONAME
-	_ZN19QDeclarativeBinding11qt_metacallEN11QMetaObject4CallEiPPv @ 344 NONAME
-	_ZN19QDeclarativeBinding11qt_metacastEPKc @ 345 NONAME
-	_ZN19QDeclarativeBinding13propertyIndexEv @ 346 NONAME
-	_ZN19QDeclarativeBinding16staticMetaObjectE @ 347 NONAME DATA 16
-	_ZN19QDeclarativeBinding19getStaticMetaObjectEv @ 348 NONAME
-	_ZN19QDeclarativeBinding6updateE6QFlagsIN27QDeclarativePropertyPrivate9WriteFlagEE @ 349 NONAME
-	_ZN19QDeclarativeBinding9setTargetERK20QDeclarativeProperty @ 350 NONAME
-	_ZN19QDeclarativeBindingC1EPvP20QDeclarativeRefCountP7QObjectP23QDeclarativeContextDataRK7QStringiS4_ @ 351 NONAME
-	_ZN19QDeclarativeBindingC1ERK7QStringP7QObjectP19QDeclarativeContextS4_ @ 352 NONAME
-	_ZN19QDeclarativeBindingC1ERK7QStringP7QObjectP23QDeclarativeContextDataS4_ @ 353 NONAME
-	_ZN19QDeclarativeBindingC2EPvP20QDeclarativeRefCountP7QObjectP23QDeclarativeContextDataRK7QStringiS4_ @ 354 NONAME
-	_ZN19QDeclarativeBindingC2ERK7QStringP7QObjectP19QDeclarativeContextS4_ @ 355 NONAME
-	_ZN19QDeclarativeBindingC2ERK7QStringP7QObjectP23QDeclarativeContextDataS4_ @ 356 NONAME
-	_ZN19QDeclarativeBindingD0Ev @ 357 NONAME
-	_ZN19QDeclarativeBindingD1Ev @ 358 NONAME
-	_ZN19QDeclarativeBindingD2Ev @ 359 NONAME
-	_ZN19QDeclarativeContext10setBaseUrlERK4QUrl @ 360 NONAME
-	_ZN19QDeclarativeContext11qt_metacallEN11QMetaObject4CallEiPPv @ 361 NONAME
-	_ZN19QDeclarativeContext11qt_metacastEPKc @ 362 NONAME
-	_ZN19QDeclarativeContext11resolvedUrlERK4QUrl @ 363 NONAME
-	_ZN19QDeclarativeContext16setContextObjectEP7QObject @ 364 NONAME
-	_ZN19QDeclarativeContext16staticMetaObjectE @ 365 NONAME DATA 16
-	_ZN19QDeclarativeContext18setContextPropertyERK7QStringP7QObject @ 366 NONAME
-	_ZN19QDeclarativeContext18setContextPropertyERK7QStringRK8QVariant @ 367 NONAME
-	_ZN19QDeclarativeContext19getStaticMetaObjectEv @ 368 NONAME
-	_ZN19QDeclarativeContextC1EP18QDeclarativeEngineP7QObject @ 369 NONAME
-	_ZN19QDeclarativeContextC1EP18QDeclarativeEngineb @ 370 NONAME
-	_ZN19QDeclarativeContextC1EP23QDeclarativeContextData @ 371 NONAME
-	_ZN19QDeclarativeContextC1EPS_P7QObject @ 372 NONAME
-	_ZN19QDeclarativeContextC2EP18QDeclarativeEngineP7QObject @ 373 NONAME
-	_ZN19QDeclarativeContextC2EP18QDeclarativeEngineb @ 374 NONAME
-	_ZN19QDeclarativeContextC2EP23QDeclarativeContextData @ 375 NONAME
-	_ZN19QDeclarativeContextC2EPS_P7QObject @ 376 NONAME
-	_ZN19QDeclarativeContextD0Ev @ 377 NONAME
-	_ZN19QDeclarativeContextD1Ev @ 378 NONAME
-	_ZN19QDeclarativeContextD2Ev @ 379 NONAME
-	_ZN19QDeclarativeDomListC1ERKS_ @ 380 NONAME
-	_ZN19QDeclarativeDomListC1Ev @ 381 NONAME
-	_ZN19QDeclarativeDomListC2ERKS_ @ 382 NONAME
-	_ZN19QDeclarativeDomListC2Ev @ 383 NONAME
-	_ZN19QDeclarativeDomListD1Ev @ 384 NONAME
-	_ZN19QDeclarativeDomListD2Ev @ 385 NONAME
-	_ZN19QDeclarativeDomListaSERKS_ @ 386 NONAME
-	_ZN19QDeclarativePrivate12registerTypeERKNS_12RegisterTypeE @ 387 NONAME ABSENT
-	_ZN19QDeclarativePrivate12registerTypeERKNS_17RegisterInterfaceE @ 388 NONAME ABSENT
-	_ZN19QDeclarativePrivate26registerAutoParentFunctionEPFNS_16AutoParentResultEP7QObjectS2_E @ 389 NONAME ABSENT
-	_ZN19QDeclarativePrivate30qdeclarativeelement_destructorEP7QObject @ 390 NONAME
-	_ZN19QListModelInterface10itemsMovedEiii @ 391 NONAME
-	_ZN19QListModelInterface11qt_metacallEN11QMetaObject4CallEiPPv @ 392 NONAME
-	_ZN19QListModelInterface11qt_metacastEPKc @ 393 NONAME
-	_ZN19QListModelInterface12itemsChangedEiiRK5QListIiE @ 394 NONAME
-	_ZN19QListModelInterface12itemsRemovedEii @ 395 NONAME
-	_ZN19QListModelInterface13itemsInsertedEii @ 396 NONAME
-	_ZN19QListModelInterface16staticMetaObjectE @ 397 NONAME DATA 16
-	_ZN19QListModelInterface19getStaticMetaObjectEv @ 398 NONAME
-	_ZN20QDeclarativeBehavior10setEnabledEb @ 399 NONAME
-	_ZN20QDeclarativeBehavior11qt_metacallEN11QMetaObject4CallEiPPv @ 400 NONAME
-	_ZN20QDeclarativeBehavior11qt_metacastEPKc @ 401 NONAME
-	_ZN20QDeclarativeBehavior12setAnimationEP29QDeclarativeAbstractAnimation @ 402 NONAME
-	_ZN20QDeclarativeBehavior14enabledChangedEv @ 403 NONAME
-	_ZN20QDeclarativeBehavior16staticMetaObjectE @ 404 NONAME DATA 16
-	_ZN20QDeclarativeBehavior18componentFinalizedEv @ 405 NONAME
-	_ZN20QDeclarativeBehavior19getStaticMetaObjectEv @ 406 NONAME
-	_ZN20QDeclarativeBehavior5writeERK8QVariant @ 407 NONAME
-	_ZN20QDeclarativeBehavior9animationEv @ 408 NONAME
-	_ZN20QDeclarativeBehavior9setTargetERK20QDeclarativeProperty @ 409 NONAME
-	_ZN20QDeclarativeBehaviorC1EP7QObject @ 410 NONAME
-	_ZN20QDeclarativeBehaviorC2EP7QObject @ 411 NONAME
-	_ZN20QDeclarativeBehaviorD0Ev @ 412 NONAME
-	_ZN20QDeclarativeBehaviorD1Ev @ 413 NONAME
-	_ZN20QDeclarativeBehaviorD2Ev @ 414 NONAME
-	_ZN20QDeclarativeDomValueC1ERKS_ @ 415 NONAME
-	_ZN20QDeclarativeDomValueC1Ev @ 416 NONAME
-	_ZN20QDeclarativeDomValueC2ERKS_ @ 417 NONAME
-	_ZN20QDeclarativeDomValueC2Ev @ 418 NONAME
-	_ZN20QDeclarativeDomValueD1Ev @ 419 NONAME
-	_ZN20QDeclarativeDomValueD2Ev @ 420 NONAME
-	_ZN20QDeclarativeDomValueaSERKS_ @ 421 NONAME
-	_ZN20QDeclarativeMetaType11isInterfaceEi @ 422 NONAME
-	_ZN20QDeclarativeMetaType12interfaceIIdEi @ 423 NONAME
-	_ZN20QDeclarativeMetaType12qmlTypeNamesEv @ 424 NONAME
-	_ZN20QDeclarativeMetaType12typeCategoryEi @ 425 NONAME
-	_ZN20QDeclarativeMetaType13defaultMethodEP7QObject @ 426 NONAME
-	_ZN20QDeclarativeMetaType13defaultMethodEPK11QMetaObject @ 427 NONAME
-	_ZN20QDeclarativeMetaType15defaultPropertyEP7QObject @ 428 NONAME
-	_ZN20QDeclarativeMetaType15defaultPropertyEPK11QMetaObject @ 429 NONAME
-	_ZN20QDeclarativeMetaType15parentFunctionsEv @ 430 NONAME
-	_ZN20QDeclarativeMetaType21customStringConverterEi @ 431 NONAME
-	_ZN20QDeclarativeMetaType24attachedPropertiesFuncIdEPK11QMetaObject @ 432 NONAME
-	_ZN20QDeclarativeMetaType26attachedPropertiesFuncByIdEi @ 433 NONAME
-	_ZN20QDeclarativeMetaType29registerCustomStringConverterEiPF8QVariantRK7QStringE @ 434 NONAME
-	_ZN20QDeclarativeMetaType4copyEiPvPKv @ 435 NONAME
-	_ZN20QDeclarativeMetaType6isListEi @ 436 NONAME
-	_ZN20QDeclarativeMetaType7qmlTypeEPK11QMetaObject @ 437 NONAME
-	_ZN20QDeclarativeMetaType7qmlTypeERK10QByteArrayii @ 438 NONAME
-	_ZN20QDeclarativeMetaType7qmlTypeEi @ 439 NONAME
-	_ZN20QDeclarativeMetaType8isModuleERK10QByteArrayii @ 440 NONAME
-	_ZN20QDeclarativeMetaType8listTypeEi @ 441 NONAME
-	_ZN20QDeclarativeMetaType8qmlTypesEv @ 442 NONAME
-	_ZN20QDeclarativeMetaType9isQObjectEi @ 443 NONAME
-	_ZN20QDeclarativeMetaType9toQObjectERK8QVariantPb @ 444 NONAME
-	_ZN20QDeclarativeProperty4readEP7QObjectRK7QString @ 445 NONAME
-	_ZN20QDeclarativeProperty4readEP7QObjectRK7QStringP18QDeclarativeEngine @ 446 NONAME
-	_ZN20QDeclarativeProperty4readEP7QObjectRK7QStringP19QDeclarativeContext @ 447 NONAME
-	_ZN20QDeclarativeProperty5writeEP7QObjectRK7QStringRK8QVariant @ 448 NONAME
-	_ZN20QDeclarativeProperty5writeEP7QObjectRK7QStringRK8QVariantP18QDeclarativeEngine @ 449 NONAME
-	_ZN20QDeclarativeProperty5writeEP7QObjectRK7QStringRK8QVariantP19QDeclarativeContext @ 450 NONAME
-	_ZN20QDeclarativePropertyC1EP7QObject @ 451 NONAME
-	_ZN20QDeclarativePropertyC1EP7QObjectP18QDeclarativeEngine @ 452 NONAME
-	_ZN20QDeclarativePropertyC1EP7QObjectP19QDeclarativeContext @ 453 NONAME
-	_ZN20QDeclarativePropertyC1EP7QObjectRK7QString @ 454 NONAME
-	_ZN20QDeclarativePropertyC1EP7QObjectRK7QStringP18QDeclarativeEngine @ 455 NONAME
-	_ZN20QDeclarativePropertyC1EP7QObjectRK7QStringP19QDeclarativeContext @ 456 NONAME
-	_ZN20QDeclarativePropertyC1ERKS_ @ 457 NONAME
-	_ZN20QDeclarativePropertyC1Ev @ 458 NONAME
-	_ZN20QDeclarativePropertyC2EP7QObject @ 459 NONAME
-	_ZN20QDeclarativePropertyC2EP7QObjectP18QDeclarativeEngine @ 460 NONAME
-	_ZN20QDeclarativePropertyC2EP7QObjectP19QDeclarativeContext @ 461 NONAME
-	_ZN20QDeclarativePropertyC2EP7QObjectRK7QString @ 462 NONAME
-	_ZN20QDeclarativePropertyC2EP7QObjectRK7QStringP18QDeclarativeEngine @ 463 NONAME
-	_ZN20QDeclarativePropertyC2EP7QObjectRK7QStringP19QDeclarativeContext @ 464 NONAME
-	_ZN20QDeclarativePropertyC2ERKS_ @ 465 NONAME
-	_ZN20QDeclarativePropertyC2Ev @ 466 NONAME
-	_ZN20QDeclarativePropertyD1Ev @ 467 NONAME
-	_ZN20QDeclarativePropertyD2Ev @ 468 NONAME
-	_ZN20QDeclarativePropertyaSERKS_ @ 469 NONAME
-	_ZN20QMetaPropertyBuilder10setDynamicEb @ 470 NONAME
-	_ZN20QMetaPropertyBuilder11setEditableEb @ 471 NONAME
-	_ZN20QMetaPropertyBuilder11setReadableEb @ 472 NONAME
-	_ZN20QMetaPropertyBuilder11setWritableEb @ 473 NONAME
-	_ZN20QMetaPropertyBuilder12setStdCppSetEb @ 474 NONAME
-	_ZN20QMetaPropertyBuilder13setDesignableEb @ 475 NONAME
-	_ZN20QMetaPropertyBuilder13setEnumOrFlagEb @ 476 NONAME
-	_ZN20QMetaPropertyBuilder13setResettableEb @ 477 NONAME
-	_ZN20QMetaPropertyBuilder13setScriptableEb @ 478 NONAME
-	_ZN20QMetaPropertyBuilder15setNotifySignalERK18QMetaMethodBuilder @ 479 NONAME
-	_ZN20QMetaPropertyBuilder18removeNotifySignalEv @ 480 NONAME
-	_ZN20QMetaPropertyBuilder7setUserEb @ 481 NONAME
-	_ZN20QMetaPropertyBuilder9setStoredEb @ 482 NONAME
-	_ZN21QDeclarativeComponent11beginCreateEP19QDeclarativeContext @ 483 NONAME
-	_ZN21QDeclarativeComponent11qt_metacallEN11QMetaObject4CallEiPPv @ 484 NONAME
-	_ZN21QDeclarativeComponent11qt_metacastEPKc @ 485 NONAME
-	_ZN21QDeclarativeComponent12createObjectEP7QObject @ 486 NONAME
-	_ZN21QDeclarativeComponent13statusChangedENS_6StatusE @ 487 NONAME
-	_ZN21QDeclarativeComponent14completeCreateEv @ 488 NONAME
-	_ZN21QDeclarativeComponent15progressChangedEf @ 489 NONAME
-	_ZN21QDeclarativeComponent16staticMetaObjectE @ 490 NONAME DATA 16
-	_ZN21QDeclarativeComponent19getStaticMetaObjectEv @ 491 NONAME
-	_ZN21QDeclarativeComponent21qmlAttachedPropertiesEP7QObject @ 492 NONAME
-	_ZN21QDeclarativeComponent6createEP19QDeclarativeContext @ 493 NONAME
-	_ZN21QDeclarativeComponent7loadUrlERK4QUrl @ 494 NONAME
-	_ZN21QDeclarativeComponent7setDataERK10QByteArrayRK4QUrl @ 495 NONAME
-	_ZN21QDeclarativeComponentC1EP18QDeclarativeEngineP24QDeclarativeCompiledDataiiP7QObject @ 496 NONAME
-	_ZN21QDeclarativeComponentC1EP18QDeclarativeEngineP7QObject @ 497 NONAME
-	_ZN21QDeclarativeComponentC1EP18QDeclarativeEngineRK4QUrlP7QObject @ 498 NONAME
-	_ZN21QDeclarativeComponentC1EP18QDeclarativeEngineRK7QStringP7QObject @ 499 NONAME
-	_ZN21QDeclarativeComponentC1EP7QObject @ 500 NONAME
-	_ZN21QDeclarativeComponentC1ER28QDeclarativeComponentPrivateP7QObject @ 501 NONAME
-	_ZN21QDeclarativeComponentC2EP18QDeclarativeEngineP24QDeclarativeCompiledDataiiP7QObject @ 502 NONAME
-	_ZN21QDeclarativeComponentC2EP18QDeclarativeEngineP7QObject @ 503 NONAME
-	_ZN21QDeclarativeComponentC2EP18QDeclarativeEngineRK4QUrlP7QObject @ 504 NONAME
-	_ZN21QDeclarativeComponentC2EP18QDeclarativeEngineRK7QStringP7QObject @ 505 NONAME
-	_ZN21QDeclarativeComponentC2EP7QObject @ 506 NONAME
-	_ZN21QDeclarativeComponentC2ER28QDeclarativeComponentPrivateP7QObject @ 507 NONAME
-	_ZN21QDeclarativeComponentD0Ev @ 508 NONAME
-	_ZN21QDeclarativeComponentD1Ev @ 509 NONAME
-	_ZN21QDeclarativeComponentD2Ev @ 510 NONAME
-	_ZN21QDeclarativeDomImportC1ERKS_ @ 511 NONAME
-	_ZN21QDeclarativeDomImportC1Ev @ 512 NONAME
-	_ZN21QDeclarativeDomImportC2ERKS_ @ 513 NONAME
-	_ZN21QDeclarativeDomImportC2Ev @ 514 NONAME
-	_ZN21QDeclarativeDomImportD1Ev @ 515 NONAME
-	_ZN21QDeclarativeDomImportD2Ev @ 516 NONAME
-	_ZN21QDeclarativeDomImportaSERKS_ @ 517 NONAME
-	_ZN21QDeclarativeDomObjectC1ERKS_ @ 518 NONAME
-	_ZN21QDeclarativeDomObjectC1Ev @ 519 NONAME
-	_ZN21QDeclarativeDomObjectC2ERKS_ @ 520 NONAME
-	_ZN21QDeclarativeDomObjectC2Ev @ 521 NONAME
-	_ZN21QDeclarativeDomObjectD1Ev @ 522 NONAME
-	_ZN21QDeclarativeDomObjectD2Ev @ 523 NONAME
-	_ZN21QDeclarativeDomObjectaSERKS_ @ 524 NONAME
-	_ZN21QDeclarativeListModel11qt_metacallEN11QMetaObject4CallEiPPv @ 525 NONAME
-	_ZN21QDeclarativeListModel11qt_metacastEPKc @ 526 NONAME
-	_ZN21QDeclarativeListModel11setPropertyEiRK7QStringRK8QVariant @ 527 NONAME
-	_ZN21QDeclarativeListModel12countChangedEv @ 528 NONAME
-	_ZN21QDeclarativeListModel16staticMetaObjectE @ 529 NONAME DATA 16
-	_ZN21QDeclarativeListModel19getStaticMetaObjectEv @ 530 NONAME
-	_ZN21QDeclarativeListModel3setEiRK12QScriptValue @ 531 NONAME
-	_ZN21QDeclarativeListModel4moveEiii @ 532 NONAME
-	_ZN21QDeclarativeListModel4syncEv @ 533 NONAME
-	_ZN21QDeclarativeListModel5agentEv @ 534 NONAME
-	_ZN21QDeclarativeListModel5clearEv @ 535 NONAME
-	_ZN21QDeclarativeListModel6appendERK12QScriptValue @ 536 NONAME
-	_ZN21QDeclarativeListModel6insertEiRK12QScriptValue @ 537 NONAME
-	_ZN21QDeclarativeListModel6removeEi @ 538 NONAME
-	_ZN21QDeclarativeListModel7flattenEv @ 539 NONAME
-	_ZN21QDeclarativeListModelC1EP7QObject @ 540 NONAME
-	_ZN21QDeclarativeListModelC1EbP7QObject @ 541 NONAME
-	_ZN21QDeclarativeListModelC2EP7QObject @ 542 NONAME
-	_ZN21QDeclarativeListModelC2EbP7QObject @ 543 NONAME
-	_ZN21QDeclarativeListModelD0Ev @ 544 NONAME
-	_ZN21QDeclarativeListModelD1Ev @ 545 NONAME
-	_ZN21QDeclarativeListModelD2Ev @ 546 NONAME
-	_ZN21QDeclarativeRectangle11qt_metacallEN11QMetaObject4CallEiPPv @ 547 NONAME
-	_ZN21QDeclarativeRectangle11qt_metacastEPKc @ 548 NONAME
-	_ZN21QDeclarativeRectangle11setGradientEP20QDeclarativeGradient @ 549 NONAME
-	_ZN21QDeclarativeRectangle12colorChangedEv @ 550 NONAME
-	_ZN21QDeclarativeRectangle13radiusChangedEv @ 551 NONAME
-	_ZN21QDeclarativeRectangle16staticMetaObjectE @ 552 NONAME DATA 16
-	_ZN21QDeclarativeRectangle19generateRoundedRectEv @ 553 NONAME
-	_ZN21QDeclarativeRectangle19getStaticMetaObjectEv @ 554 NONAME
-	_ZN21QDeclarativeRectangle20generateBorderedRectEv @ 555 NONAME
-	_ZN21QDeclarativeRectangle5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 556 NONAME
-	_ZN21QDeclarativeRectangle6borderEv @ 557 NONAME
-	_ZN21QDeclarativeRectangle8doUpdateEv @ 558 NONAME
-	_ZN21QDeclarativeRectangle8drawRectER8QPainter @ 559 NONAME
-	_ZN21QDeclarativeRectangle8setColorERK6QColor @ 560 NONAME
-	_ZN21QDeclarativeRectangle9setRadiusEf @ 561 NONAME
-	_ZN21QDeclarativeRectangleC1EP16QDeclarativeItem @ 562 NONAME
-	_ZN21QDeclarativeRectangleC2EP16QDeclarativeItem @ 563 NONAME
-	_ZN21QDeclarativeScaleGrid11qt_metacallEN11QMetaObject4CallEiPPv @ 564 NONAME
-	_ZN21QDeclarativeScaleGrid11qt_metacastEPKc @ 565 NONAME
-	_ZN21QDeclarativeScaleGrid13borderChangedEv @ 566 NONAME
-	_ZN21QDeclarativeScaleGrid16staticMetaObjectE @ 567 NONAME DATA 16
-	_ZN21QDeclarativeScaleGrid19getStaticMetaObjectEv @ 568 NONAME
-	_ZN21QDeclarativeScaleGrid6setTopEi @ 569 NONAME
-	_ZN21QDeclarativeScaleGrid7setLeftEi @ 570 NONAME
-	_ZN21QDeclarativeScaleGrid8setRightEi @ 571 NONAME
-	_ZN21QDeclarativeScaleGrid9setBottomEi @ 572 NONAME
-	_ZN21QDeclarativeScaleGridC1EP7QObject @ 573 NONAME
-	_ZN21QDeclarativeScaleGridC2EP7QObject @ 574 NONAME
-	_ZN21QDeclarativeScaleGridD0Ev @ 575 NONAME
-	_ZN21QDeclarativeScaleGridD1Ev @ 576 NONAME
-	_ZN21QDeclarativeScaleGridD2Ev @ 577 NONAME
-	_ZN21QDeclarativeValueType11qt_metacallEN11QMetaObject4CallEiPPv @ 578 NONAME
-	_ZN21QDeclarativeValueType11qt_metacastEPKc @ 579 NONAME
-	_ZN21QDeclarativeValueType16staticMetaObjectE @ 580 NONAME DATA 16
-	_ZN21QDeclarativeValueType19getStaticMetaObjectEv @ 581 NONAME
-	_ZN21QDeclarativeValueTypeC2EP7QObject @ 582 NONAME
-	_ZN22QDeclarativeDebugQuery11qt_metacallEN11QMetaObject4CallEiPPv @ 583 NONAME
-	_ZN22QDeclarativeDebugQuery11qt_metacastEPKc @ 584 NONAME
-	_ZN22QDeclarativeDebugQuery12stateChangedENS_5StateE @ 585 NONAME
-	_ZN22QDeclarativeDebugQuery16staticMetaObjectE @ 586 NONAME DATA 16
-	_ZN22QDeclarativeDebugQuery19getStaticMetaObjectEv @ 587 NONAME
-	_ZN22QDeclarativeDebugQuery8setStateENS_5StateE @ 588 NONAME
-	_ZN22QDeclarativeDebugQueryC1EP7QObject @ 589 NONAME
-	_ZN22QDeclarativeDebugQueryC2EP7QObject @ 590 NONAME
-	_ZN22QDeclarativeDebugWatch11qt_metacallEN11QMetaObject4CallEiPPv @ 591 NONAME
-	_ZN22QDeclarativeDebugWatch11qt_metacastEPKc @ 592 NONAME
-	_ZN22QDeclarativeDebugWatch12stateChangedENS_5StateE @ 593 NONAME
-	_ZN22QDeclarativeDebugWatch12valueChangedERK10QByteArrayRK8QVariant @ 594 NONAME
-	_ZN22QDeclarativeDebugWatch16staticMetaObjectE @ 595 NONAME DATA 16
-	_ZN22QDeclarativeDebugWatch19getStaticMetaObjectEv @ 596 NONAME
-	_ZN22QDeclarativeDebugWatch8setStateENS_5StateE @ 597 NONAME
-	_ZN22QDeclarativeDebugWatchC1EP7QObject @ 598 NONAME
-	_ZN22QDeclarativeDebugWatchC2EP7QObject @ 599 NONAME
-	_ZN22QDeclarativeDebugWatchD0Ev @ 600 NONAME
-	_ZN22QDeclarativeDebugWatchD1Ev @ 601 NONAME
-	_ZN22QDeclarativeDebugWatchD2Ev @ 602 NONAME
-	_ZN22QDeclarativeExpression10clearErrorEv @ 603 NONAME
-	_ZN22QDeclarativeExpression11qt_metacallEN11QMetaObject4CallEiPPv @ 604 NONAME
-	_ZN22QDeclarativeExpression11qt_metacastEPKc @ 605 NONAME
-	_ZN22QDeclarativeExpression12valueChangedEv @ 606 NONAME
-	_ZN22QDeclarativeExpression13setExpressionERK7QString @ 607 NONAME
-	_ZN22QDeclarativeExpression16staticMetaObjectE @ 608 NONAME DATA 16
-	_ZN22QDeclarativeExpression17setSourceLocationERK7QStringi @ 609 NONAME
-	_ZN22QDeclarativeExpression19getStaticMetaObjectEv @ 610 NONAME
-	_ZN22QDeclarativeExpression23setNotifyOnValueChangedEb @ 611 NONAME
-	_ZN22QDeclarativeExpression8evaluateEPb @ 612 NONAME
-	_ZN22QDeclarativeExpressionC1EP19QDeclarativeContextP7QObjectRK7QStringS3_ @ 613 NONAME
-	_ZN22QDeclarativeExpressionC1EP23QDeclarativeContextDataP7QObjectRK7QString @ 614 NONAME
-	_ZN22QDeclarativeExpressionC1EP23QDeclarativeContextDataP7QObjectRK7QStringR29QDeclarativeExpressionPrivate @ 615 NONAME
-	_ZN22QDeclarativeExpressionC1EP23QDeclarativeContextDataPvP20QDeclarativeRefCountP7QObjectRK7QStringiR29QDeclarativeExpressionPrivate @ 616 NONAME
-	_ZN22QDeclarativeExpressionC1Ev @ 617 NONAME
-	_ZN22QDeclarativeExpressionC2EP19QDeclarativeContextP7QObjectRK7QStringS3_ @ 618 NONAME
-	_ZN22QDeclarativeExpressionC2EP23QDeclarativeContextDataP7QObjectRK7QString @ 619 NONAME
-	_ZN22QDeclarativeExpressionC2EP23QDeclarativeContextDataP7QObjectRK7QStringR29QDeclarativeExpressionPrivate @ 620 NONAME
-	_ZN22QDeclarativeExpressionC2EP23QDeclarativeContextDataPvP20QDeclarativeRefCountP7QObjectRK7QStringiR29QDeclarativeExpressionPrivate @ 621 NONAME
-	_ZN22QDeclarativeExpressionC2Ev @ 622 NONAME
-	_ZN22QDeclarativeExpressionD0Ev @ 623 NONAME
-	_ZN22QDeclarativeExpressionD1Ev @ 624 NONAME
-	_ZN22QDeclarativeExpressionD2Ev @ 625 NONAME
-	_ZN22QDeclarativeStateGroup10classBeginEv @ 626 NONAME
-	_ZN22QDeclarativeStateGroup11qt_metacallEN11QMetaObject4CallEiPPv @ 627 NONAME
-	_ZN22QDeclarativeStateGroup11qt_metacastEPKc @ 628 NONAME
-	_ZN22QDeclarativeStateGroup11removeStateEP17QDeclarativeState @ 629 NONAME
-	_ZN22QDeclarativeStateGroup12stateChangedERK7QString @ 630 NONAME
-	_ZN22QDeclarativeStateGroup14statesPropertyEv @ 631 NONAME
-	_ZN22QDeclarativeStateGroup15updateAutoStateEv @ 632 NONAME
-	_ZN22QDeclarativeStateGroup16staticMetaObjectE @ 633 NONAME DATA 16
-	_ZN22QDeclarativeStateGroup17componentCompleteEv @ 634 NONAME
-	_ZN22QDeclarativeStateGroup19getStaticMetaObjectEv @ 635 NONAME
-	_ZN22QDeclarativeStateGroup19transitionsPropertyEv @ 636 NONAME
-	_ZN22QDeclarativeStateGroup8setStateERK7QString @ 637 NONAME
-	_ZN22QDeclarativeStateGroupC1EP7QObject @ 638 NONAME
-	_ZN22QDeclarativeStateGroupC2EP7QObject @ 639 NONAME
-	_ZN22QDeclarativeStateGroupD0Ev @ 640 NONAME
-	_ZN22QDeclarativeStateGroupD1Ev @ 641 NONAME
-	_ZN22QDeclarativeStateGroupD2Ev @ 642 NONAME
-	_ZN22QDeclarativeTransition10animationsEv @ 643 NONAME
-	_ZN22QDeclarativeTransition10setToStateERK7QString @ 644 NONAME
-	_ZN22QDeclarativeTransition11fromChangedEv @ 645 NONAME
-	_ZN22QDeclarativeTransition11qt_metacallEN11QMetaObject4CallEiPPv @ 646 NONAME
-	_ZN22QDeclarativeTransition11qt_metacastEPKc @ 647 NONAME
-	_ZN22QDeclarativeTransition11setReversedEb @ 648 NONAME
-	_ZN22QDeclarativeTransition12setFromStateERK7QString @ 649 NONAME
-	_ZN22QDeclarativeTransition13setReversibleEb @ 650 NONAME
-	_ZN22QDeclarativeTransition16staticMetaObjectE @ 651 NONAME DATA 16
-	_ZN22QDeclarativeTransition17reversibleChangedEv @ 652 NONAME
-	_ZN22QDeclarativeTransition19getStaticMetaObjectEv @ 653 NONAME
-	_ZN22QDeclarativeTransition4stopEv @ 654 NONAME
-	_ZN22QDeclarativeTransition7prepareER5QListI18QDeclarativeActionERS0_I20QDeclarativePropertyEP29QDeclarativeTransitionManager @ 655 NONAME
-	_ZN22QDeclarativeTransition9toChangedEv @ 656 NONAME
-	_ZN22QDeclarativeTransitionC1EP7QObject @ 657 NONAME
-	_ZN22QDeclarativeTransitionC2EP7QObject @ 658 NONAME
-	_ZN22QDeclarativeTransitionD0Ev @ 659 NONAME
-	_ZN22QDeclarativeTransitionD1Ev @ 660 NONAME
-	_ZN22QDeclarativeTransitionD2Ev @ 661 NONAME
-	_ZN23QDeclarativeDebugClient10setEnabledEb @ 662 NONAME
-	_ZN23QDeclarativeDebugClient11qt_metacallEN11QMetaObject4CallEiPPv @ 663 NONAME
-	_ZN23QDeclarativeDebugClient11qt_metacastEPKc @ 664 NONAME
-	_ZN23QDeclarativeDebugClient11sendMessageERK10QByteArray @ 665 NONAME
-	_ZN23QDeclarativeDebugClient15messageReceivedERK10QByteArray @ 666 NONAME
-	_ZN23QDeclarativeDebugClient16staticMetaObjectE @ 667 NONAME DATA 16
-	_ZN23QDeclarativeDebugClient19getStaticMetaObjectEv @ 668 NONAME
-	_ZN23QDeclarativeDebugClientC1ERK7QStringP27QDeclarativeDebugConnection @ 669 NONAME
-	_ZN23QDeclarativeDebugClientC2ERK7QStringP27QDeclarativeDebugConnection @ 670 NONAME
-	_ZN23QDeclarativeDomDocument4loadEP18QDeclarativeEngineRK10QByteArrayRK4QUrl @ 671 NONAME
-	_ZN23QDeclarativeDomDocumentC1ERKS_ @ 672 NONAME
-	_ZN23QDeclarativeDomDocumentC1Ev @ 673 NONAME
-	_ZN23QDeclarativeDomDocumentC2ERKS_ @ 674 NONAME
-	_ZN23QDeclarativeDomDocumentC2Ev @ 675 NONAME
-	_ZN23QDeclarativeDomDocumentD1Ev @ 676 NONAME
-	_ZN23QDeclarativeDomDocumentD2Ev @ 677 NONAME
-	_ZN23QDeclarativeDomDocumentaSERKS_ @ 678 NONAME
-	_ZN23QDeclarativeDomPropertyC1ERKS_ @ 679 NONAME
-	_ZN23QDeclarativeDomPropertyC1Ev @ 680 NONAME
-	_ZN23QDeclarativeDomPropertyC2ERKS_ @ 681 NONAME
-	_ZN23QDeclarativeDomPropertyC2Ev @ 682 NONAME
-	_ZN23QDeclarativeDomPropertyD1Ev @ 683 NONAME
-	_ZN23QDeclarativeDomPropertyD2Ev @ 684 NONAME
-	_ZN23QDeclarativeDomPropertyaSERKS_ @ 685 NONAME
-	_ZN23QDeclarativeEngineDebug11qt_metacallEN11QMetaObject4CallEiPPv @ 686 NONAME
-	_ZN23QDeclarativeEngineDebug11qt_metacastEPKc @ 687 NONAME
-	_ZN23QDeclarativeEngineDebug11queryObjectERK32QDeclarativeDebugObjectReferenceP7QObject @ 688 NONAME
-	_ZN23QDeclarativeEngineDebug11removeWatchEP22QDeclarativeDebugWatch @ 689 NONAME
-	_ZN23QDeclarativeEngineDebug16staticMetaObjectE @ 690 NONAME DATA 16
-	_ZN23QDeclarativeEngineDebug17queryRootContextsERK32QDeclarativeDebugEngineReferenceP7QObject @ 691 NONAME
-	_ZN23QDeclarativeEngineDebug19getStaticMetaObjectEv @ 692 NONAME
-	_ZN23QDeclarativeEngineDebug19setBindingForObjectEiRK7QStringRK8QVariantbP7QObject @ 693 NONAME ABSENT
-	_ZN23QDeclarativeEngineDebug20queryObjectRecursiveERK32QDeclarativeDebugObjectReferenceP7QObject @ 694 NONAME
-	_ZN23QDeclarativeEngineDebug21queryAvailableEnginesEP7QObject @ 695 NONAME
-	_ZN23QDeclarativeEngineDebug21queryExpressionResultEiRK7QStringP7QObject @ 696 NONAME
-	_ZN23QDeclarativeEngineDebug8addWatchERK30QDeclarativeDebugFileReferenceP7QObject @ 697 NONAME
-	_ZN23QDeclarativeEngineDebug8addWatchERK32QDeclarativeDebugObjectReferenceP7QObject @ 698 NONAME
-	_ZN23QDeclarativeEngineDebug8addWatchERK32QDeclarativeDebugObjectReferenceRK7QStringP7QObject @ 699 NONAME
-	_ZN23QDeclarativeEngineDebug8addWatchERK33QDeclarativeDebugContextReferenceRK7QStringP7QObject @ 700 NONAME
-	_ZN23QDeclarativeEngineDebug8addWatchERK34QDeclarativeDebugPropertyReferenceP7QObject @ 701 NONAME
-	_ZN23QDeclarativeEngineDebugC1EP27QDeclarativeDebugConnectionP7QObject @ 702 NONAME
-	_ZN23QDeclarativeEngineDebugC2EP27QDeclarativeDebugConnectionP7QObject @ 703 NONAME
-	_ZN23QDeclarativeItemPrivate10resetWidthEv @ 704 NONAME
-	_ZN23QDeclarativeItemPrivate11data_appendEP24QDeclarativeListPropertyI7QObjectEPS1_ @ 705 NONAME
-	_ZN23QDeclarativeItemPrivate11resetHeightEv @ 706 NONAME
-	_ZN23QDeclarativeItemPrivate11transitionsEv @ 707 NONAME
-	_ZN23QDeclarativeItemPrivate12focusChangedEb @ 708 NONAME
-	_ZN23QDeclarativeItemPrivate12resources_atEP24QDeclarativeListPropertyI7QObjectEi @ 709 NONAME
-	_ZN23QDeclarativeItemPrivate12transform_atEP24QDeclarativeListPropertyI18QGraphicsTransformEi @ 710 NONAME
-	_ZN23QDeclarativeItemPrivate14consistentTimeE @ 711 NONAME DATA 8
-	_ZN23QDeclarativeItemPrivate14parentPropertyEP7QObjectPvP28QDeclarativeNotifierEndpoint @ 712 NONAME
-	_ZN23QDeclarativeItemPrivate15resources_countEP24QDeclarativeListPropertyI7QObjectE @ 713 NONAME
-	_ZN23QDeclarativeItemPrivate15transform_clearEP24QDeclarativeListPropertyI18QGraphicsTransformE @ 714 NONAME
-	_ZN23QDeclarativeItemPrivate15transform_countEP24QDeclarativeListPropertyI18QGraphicsTransformE @ 715 NONAME
-	_ZN23QDeclarativeItemPrivate16resources_appendEP24QDeclarativeListPropertyI7QObjectEPS1_ @ 716 NONAME
-	_ZN23QDeclarativeItemPrivate16transformChangedEv @ 717 NONAME
-	_ZN23QDeclarativeItemPrivate16transform_appendEP24QDeclarativeListPropertyI18QGraphicsTransformEPS1_ @ 718 NONAME
-	_ZN23QDeclarativeItemPrivate17setConsistentTimeEx @ 719 NONAME
-	_ZN23QDeclarativeItemPrivate24removeItemChangeListenerEP30QDeclarativeItemChangeListener6QFlagsINS_10ChangeTypeEE @ 720 NONAME
-	_ZN23QDeclarativeItemPrivate4dataEv @ 721 NONAME
-	_ZN23QDeclarativeItemPrivate5startER13QElapsedTimer @ 722 NONAME
-	_ZN23QDeclarativeItemPrivate6statesEv @ 723 NONAME
-	_ZN23QDeclarativeItemPrivate7_statesEv @ 724 NONAME
-	_ZN23QDeclarativeItemPrivate7elapsedER13QElapsedTimer @ 725 NONAME
-	_ZN23QDeclarativeItemPrivate7restartER13QElapsedTimer @ 726 NONAME
-	_ZN23QDeclarativeItemPrivate8setStateERK7QString @ 727 NONAME
-	_ZN23QDeclarativeItemPrivate8setWidthEf @ 728 NONAME
-	_ZN23QDeclarativeItemPrivate9resourcesEv @ 729 NONAME
-	_ZN23QDeclarativeItemPrivate9setHeightEf @ 730 NONAME
-	_ZN23QDeclarativePixmapCache15pendingRequestsEv @ 731 NONAME ABSENT
-	_ZN23QDeclarativePixmapCache3getERK4QUrlP7QPixmapP7QStringP5QSizebii @ 732 NONAME ABSENT
-	_ZN23QDeclarativePixmapCache6cancelERK4QUrlP7QObject @ 733 NONAME ABSENT
-	_ZN23QDeclarativePixmapCache7requestEP18QDeclarativeEngineRK4QUrlii @ 734 NONAME ABSENT
-	_ZN23QDeclarativePixmapReply10setLoadingEv @ 735 NONAME ABSENT
-	_ZN23QDeclarativePixmapReply11qt_metacallEN11QMetaObject4CallEiPPv @ 736 NONAME ABSENT
-	_ZN23QDeclarativePixmapReply11qt_metacastEPKc @ 737 NONAME ABSENT
-	_ZN23QDeclarativePixmapReply16downloadProgressExx @ 738 NONAME ABSENT
-	_ZN23QDeclarativePixmapReply16staticMetaObjectE @ 739 NONAME DATA 16 ABSENT
-	_ZN23QDeclarativePixmapReply19getStaticMetaObjectEv @ 740 NONAME ABSENT
-	_ZN23QDeclarativePixmapReply5eventEP6QEvent @ 741 NONAME ABSENT
-	_ZN23QDeclarativePixmapReply6addRefEv @ 742 NONAME ABSENT
-	_ZN23QDeclarativePixmapReply7releaseEb @ 743 NONAME ABSENT
-	_ZN23QDeclarativePixmapReply8finishedEv @ 744 NONAME ABSENT
-	_ZN23QDeclarativePixmapReplyC1EP23QDeclarativeImageReaderRK4QUrlii @ 745 NONAME ABSENT
-	_ZN23QDeclarativePixmapReplyC2EP23QDeclarativeImageReaderRK4QUrlii @ 746 NONAME ABSENT
-	_ZN23QDeclarativePixmapReplyD0Ev @ 747 NONAME ABSENT
-	_ZN23QDeclarativePixmapReplyD1Ev @ 748 NONAME ABSENT
-	_ZN23QDeclarativePixmapReplyD2Ev @ 749 NONAME ABSENT
-	_ZN23QDeclarativePropertyMap11qt_metacallEN11QMetaObject4CallEiPPv @ 750 NONAME
-	_ZN23QDeclarativePropertyMap11qt_metacastEPKc @ 751 NONAME
-	_ZN23QDeclarativePropertyMap12valueChangedERK7QStringRK8QVariant @ 752 NONAME
-	_ZN23QDeclarativePropertyMap16staticMetaObjectE @ 753 NONAME DATA 16
-	_ZN23QDeclarativePropertyMap19getStaticMetaObjectEv @ 754 NONAME
-	_ZN23QDeclarativePropertyMap5clearERK7QString @ 755 NONAME
-	_ZN23QDeclarativePropertyMap6insertERK7QStringRK8QVariant @ 756 NONAME
-	_ZN23QDeclarativePropertyMapC1EP7QObject @ 757 NONAME
-	_ZN23QDeclarativePropertyMapC2EP7QObject @ 758 NONAME
-	_ZN23QDeclarativePropertyMapD0Ev @ 759 NONAME
-	_ZN23QDeclarativePropertyMapD1Ev @ 760 NONAME
-	_ZN23QDeclarativePropertyMapD2Ev @ 761 NONAME
-	_ZN23QDeclarativePropertyMapixERK7QString @ 762 NONAME
-	_ZN24QDeclarativeCustomParser11clearErrorsEv @ 763 NONAME
-	_ZN24QDeclarativeCustomParser5errorERK28QDeclarativeCustomParserNodeRK7QString @ 764 NONAME
-	_ZN24QDeclarativeCustomParser5errorERK32QDeclarativeCustomParserPropertyRK7QString @ 765 NONAME
-	_ZN24QDeclarativeCustomParser5errorERK7QString @ 766 NONAME
-	_ZN24QDeclarativeDebugService11idForObjectEP7QObject @ 767 NONAME
-	_ZN24QDeclarativeDebugService11objectForIdEi @ 768 NONAME
-	_ZN24QDeclarativeDebugService11qt_metacallEN11QMetaObject4CallEiPPv @ 769 NONAME
-	_ZN24QDeclarativeDebugService11qt_metacastEPKc @ 770 NONAME
-	_ZN24QDeclarativeDebugService11sendMessageERK10QByteArray @ 771 NONAME
-	_ZN24QDeclarativeDebugService14enabledChangedEb @ 772 NONAME
-	_ZN24QDeclarativeDebugService14objectToStringEP7QObject @ 773 NONAME
-	_ZN24QDeclarativeDebugService15messageReceivedERK10QByteArray @ 774 NONAME
-	_ZN24QDeclarativeDebugService16staticMetaObjectE @ 775 NONAME DATA 16
-	_ZN24QDeclarativeDebugService18hasDebuggingClientEv @ 776 NONAME
-	_ZN24QDeclarativeDebugService18isDebuggingEnabledEv @ 777 NONAME
-	_ZN24QDeclarativeDebugService19getStaticMetaObjectEv @ 778 NONAME
-	_ZN24QDeclarativeDebugServiceC1ERK7QStringP7QObject @ 779 NONAME
-	_ZN24QDeclarativeDebugServiceC2ERK7QStringP7QObject @ 780 NONAME
-	_ZN24QDeclarativeDomComponentC1ERKS_ @ 781 NONAME
-	_ZN24QDeclarativeDomComponentC1Ev @ 782 NONAME
-	_ZN24QDeclarativeDomComponentC2ERKS_ @ 783 NONAME
-	_ZN24QDeclarativeDomComponentC2Ev @ 784 NONAME
-	_ZN24QDeclarativeDomComponentD1Ev @ 785 NONAME
-	_ZN24QDeclarativeDomComponentD2Ev @ 786 NONAME
-	_ZN24QDeclarativeDomComponentaSERKS_ @ 787 NONAME
-	_ZN24QDeclarativeParserStatusC2Ev @ 788 NONAME
-	_ZN24QDeclarativeParserStatusD0Ev @ 789 NONAME
-	_ZN24QDeclarativeParserStatusD1Ev @ 790 NONAME
-	_ZN24QDeclarativeParserStatusD2Ev @ 791 NONAME
-	_ZN24QDeclarativeScriptString10setContextEP19QDeclarativeContext @ 792 NONAME
-	_ZN24QDeclarativeScriptString14setScopeObjectEP7QObject @ 793 NONAME
-	_ZN24QDeclarativeScriptString9setScriptERK7QString @ 794 NONAME
-	_ZN24QDeclarativeScriptStringC1ERKS_ @ 795 NONAME
-	_ZN24QDeclarativeScriptStringC1Ev @ 796 NONAME
-	_ZN24QDeclarativeScriptStringC2ERKS_ @ 797 NONAME
-	_ZN24QDeclarativeScriptStringC2Ev @ 798 NONAME
-	_ZN24QDeclarativeScriptStringD1Ev @ 799 NONAME
-	_ZN24QDeclarativeScriptStringD2Ev @ 800 NONAME
-	_ZN24QDeclarativeScriptStringaSERKS_ @ 801 NONAME
+	_ZN16QDeclarativeItem10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 46 NONAME
+	_ZN16QDeclarativeItem10resetWidthEv @ 47 NONAME
+	_ZN16QDeclarativeItem10sceneEventEP6QEvent @ 48 NONAME
+	_ZN16QDeclarativeItem11clipChangedEb @ 49 NONAME
+	_ZN16QDeclarativeItem11qt_metacallEN11QMetaObject4CallEiPPv @ 50 NONAME
+	_ZN16QDeclarativeItem11qt_metacastEPKc @ 51 NONAME
+	_ZN16QDeclarativeItem11resetHeightEv @ 52 NONAME
+	_ZN16QDeclarativeItem12childrenRectEv @ 53 NONAME
+	_ZN16QDeclarativeItem12focusChangedEb @ 54 NONAME
+	_ZN16QDeclarativeItem12stateChangedERK7QString @ 55 NONAME
+	_ZN16QDeclarativeItem13keyPressEventEP9QKeyEvent @ 56 NONAME
+	_ZN16QDeclarativeItem13parentChangedEPS_ @ 57 NONAME
+	_ZN16QDeclarativeItem13setParentItemEPS_ @ 58 NONAME
+	_ZN16QDeclarativeItem13smoothChangedEb @ 59 NONAME
+	_ZN16QDeclarativeItem15geometryChangedERK6QRectFS2_ @ 60 NONAME
+	_ZN16QDeclarativeItem15keyReleaseEventEP9QKeyEvent @ 61 NONAME
+	_ZN16QDeclarativeItem16forceActiveFocusEv @ 62 NONAME
+	_ZN16QDeclarativeItem16inputMethodEventEP17QInputMethodEvent @ 63 NONAME
+	_ZN16QDeclarativeItem16setImplicitWidthEf @ 64 NONAME
+	_ZN16QDeclarativeItem16setKeepMouseGrabEb @ 65 NONAME
+	_ZN16QDeclarativeItem16staticMetaObjectE @ 66 NONAME DATA 16
+	_ZN16QDeclarativeItem17componentCompleteEv @ 67 NONAME
+	_ZN16QDeclarativeItem17setBaselineOffsetEf @ 68 NONAME
+	_ZN16QDeclarativeItem17setImplicitHeightEf @ 69 NONAME
+	_ZN16QDeclarativeItem18activeFocusChangedEb @ 70 NONAME
+	_ZN16QDeclarativeItem18keyPressPreHandlerEP9QKeyEvent @ 71 NONAME
+	_ZN16QDeclarativeItem18setTransformOriginENS_15TransformOriginE @ 72 NONAME
+	_ZN16QDeclarativeItem19childrenRectChangedERK6QRectF @ 73 NONAME
+	_ZN16QDeclarativeItem19getStaticMetaObjectEv @ 74 NONAME
+	_ZN16QDeclarativeItem20keyReleasePreHandlerEP9QKeyEvent @ 75 NONAME
+	_ZN16QDeclarativeItem21baselineOffsetChangedEf @ 76 NONAME
+	_ZN16QDeclarativeItem21inputMethodPreHandlerEP17QInputMethodEvent @ 77 NONAME
+	_ZN16QDeclarativeItem22transformOriginChangedENS_15TransformOriginE @ 78 NONAME
+	_ZN16QDeclarativeItem5eventEP6QEvent @ 79 NONAME
+	_ZN16QDeclarativeItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 80 NONAME
+	_ZN16QDeclarativeItem7setClipEb @ 81 NONAME
+	_ZN16QDeclarativeItem7setSizeERK6QSizeF @ 82 NONAME
+	_ZN16QDeclarativeItem8setFocusEb @ 83 NONAME
+	_ZN16QDeclarativeItem8setWidthEf @ 84 NONAME
+	_ZN16QDeclarativeItem9setHeightEf @ 85 NONAME
+	_ZN16QDeclarativeItem9setSmoothEb @ 86 NONAME
+	_ZN16QDeclarativeItem9transformEv @ 87 NONAME
+	_ZN16QDeclarativeItemC1EPS_ @ 88 NONAME
+	_ZN16QDeclarativeItemC1ER23QDeclarativeItemPrivatePS_ @ 89 NONAME
+	_ZN16QDeclarativeItemC2EPS_ @ 90 NONAME
+	_ZN16QDeclarativeItemC2ER23QDeclarativeItemPrivatePS_ @ 91 NONAME
+	_ZN16QDeclarativeItemD0Ev @ 92 NONAME
+	_ZN16QDeclarativeItemD1Ev @ 93 NONAME
+	_ZN16QDeclarativeItemD2Ev @ 94 NONAME
+	_ZN16QDeclarativeText11fontChangedERK5QFont @ 95 NONAME
+	_ZN16QDeclarativeText11qt_metacallEN11QMetaObject4CallEiPPv @ 96 NONAME
+	_ZN16QDeclarativeText11qt_metacastEPKc @ 97 NONAME
+	_ZN16QDeclarativeText11setWrapModeENS_8WrapModeE @ 98 NONAME
+	_ZN16QDeclarativeText11textChangedERK7QString @ 99 NONAME
+	_ZN16QDeclarativeText12colorChangedERK6QColor @ 100 NONAME
+	_ZN16QDeclarativeText12setElideModeENS_13TextElideModeE @ 101 NONAME
+	_ZN16QDeclarativeText12styleChangedENS_9TextStyleE @ 102 NONAME
+	_ZN16QDeclarativeText13linkActivatedERK7QString @ 103 NONAME
+	_ZN16QDeclarativeText13setStyleColorERK6QColor @ 104 NONAME
+	_ZN16QDeclarativeText13setTextFormatENS_10TextFormatE @ 105 NONAME
+	_ZN16QDeclarativeText15geometryChangedERK6QRectFS2_ @ 106 NONAME
+	_ZN16QDeclarativeText15mousePressEventEP24QGraphicsSceneMouseEvent @ 107 NONAME
+	_ZN16QDeclarativeText15wrapModeChangedEv @ 108 NONAME
+	_ZN16QDeclarativeText16elideModeChangedENS_13TextElideModeE @ 109 NONAME
+	_ZN16QDeclarativeText16staticMetaObjectE @ 110 NONAME DATA 16
+	_ZN16QDeclarativeText17componentCompleteEv @ 111 NONAME
+	_ZN16QDeclarativeText17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 112 NONAME
+	_ZN16QDeclarativeText17styleColorChangedERK6QColor @ 113 NONAME
+	_ZN16QDeclarativeText17textFormatChangedENS_10TextFormatE @ 114 NONAME
+	_ZN16QDeclarativeText18paintedSizeChangedEv @ 115 NONAME
+	_ZN16QDeclarativeText19getStaticMetaObjectEv @ 116 NONAME
+	_ZN16QDeclarativeText24verticalAlignmentChangedENS_10VAlignmentE @ 117 NONAME
+	_ZN16QDeclarativeText26horizontalAlignmentChangedENS_10HAlignmentE @ 118 NONAME
+	_ZN16QDeclarativeText5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 119 NONAME
+	_ZN16QDeclarativeText7setFontERK5QFont @ 120 NONAME
+	_ZN16QDeclarativeText7setTextERK7QString @ 121 NONAME
+	_ZN16QDeclarativeText8setColorERK6QColor @ 122 NONAME
+	_ZN16QDeclarativeText8setStyleENS_9TextStyleE @ 123 NONAME
+	_ZN16QDeclarativeText9setHAlignENS_10HAlignmentE @ 124 NONAME
+	_ZN16QDeclarativeText9setVAlignENS_10VAlignmentE @ 125 NONAME
+	_ZN16QDeclarativeTextC1EP16QDeclarativeItem @ 126 NONAME
+	_ZN16QDeclarativeTextC2EP16QDeclarativeItem @ 127 NONAME
+	_ZN16QDeclarativeTextD0Ev @ 128 NONAME
+	_ZN16QDeclarativeTextD1Ev @ 129 NONAME
+	_ZN16QDeclarativeTextD2Ev @ 130 NONAME
+	_ZN16QDeclarativeTypeC1EiRKN19QDeclarativePrivate12RegisterTypeE @ 131 NONAME
+	_ZN16QDeclarativeTypeC1EiRKN19QDeclarativePrivate17RegisterInterfaceE @ 132 NONAME
+	_ZN16QDeclarativeTypeC2EiRKN19QDeclarativePrivate12RegisterTypeE @ 133 NONAME
+	_ZN16QDeclarativeTypeC2EiRKN19QDeclarativePrivate17RegisterInterfaceE @ 134 NONAME
+	_ZN16QDeclarativeTypeD1Ev @ 135 NONAME
+	_ZN16QDeclarativeTypeD2Ev @ 136 NONAME
+	_ZN16QDeclarativeView10paintEventEP11QPaintEvent @ 137 NONAME
+	_ZN16QDeclarativeView10timerEventEP11QTimerEvent @ 138 NONAME
+	_ZN16QDeclarativeView11eventFilterEP7QObjectP6QEvent @ 139 NONAME
+	_ZN16QDeclarativeView11qt_metacallEN11QMetaObject4CallEiPPv @ 140 NONAME
+	_ZN16QDeclarativeView11qt_metacastEPKc @ 141 NONAME
+	_ZN16QDeclarativeView11resizeEventEP12QResizeEvent @ 142 NONAME
+	_ZN16QDeclarativeView12sceneResizedE5QSize @ 143 NONAME
+	_ZN16QDeclarativeView13setResizeModeENS_10ResizeModeE @ 144 NONAME
+	_ZN16QDeclarativeView13setRootObjectEP7QObject @ 145 NONAME
+	_ZN16QDeclarativeView13statusChangedENS_6StatusE @ 146 NONAME
+	_ZN16QDeclarativeView15continueExecuteEv @ 147 NONAME
+	_ZN16QDeclarativeView16staticMetaObjectE @ 148 NONAME DATA 16
+	_ZN16QDeclarativeView19getStaticMetaObjectEv @ 149 NONAME
+	_ZN16QDeclarativeView9setSourceERK4QUrl @ 150 NONAME
+	_ZN16QDeclarativeViewC1EP7QWidget @ 151 NONAME
+	_ZN16QDeclarativeViewC1ERK4QUrlP7QWidget @ 152 NONAME
+	_ZN16QDeclarativeViewC2EP7QWidget @ 153 NONAME
+	_ZN16QDeclarativeViewC2ERK4QUrlP7QWidget @ 154 NONAME
+	_ZN16QDeclarativeViewD0Ev @ 155 NONAME
+	_ZN16QDeclarativeViewD1Ev @ 156 NONAME
+	_ZN16QDeclarativeViewD2Ev @ 157 NONAME
+	_ZN16QMetaEnumBuilder6addKeyERK10QByteArrayi @ 158 NONAME
+	_ZN16QMetaEnumBuilder9removeKeyEi @ 159 NONAME
+	_ZN16QMetaEnumBuilder9setIsFlagEb @ 160 NONAME
+	_ZN17QDeclarativeError14setDescriptionERK7QString @ 161 NONAME
+	_ZN17QDeclarativeError6setUrlERK4QUrl @ 162 NONAME
+	_ZN17QDeclarativeError7setLineEi @ 163 NONAME
+	_ZN17QDeclarativeError9setColumnEi @ 164 NONAME
+	_ZN17QDeclarativeErrorC1ERKS_ @ 165 NONAME
+	_ZN17QDeclarativeErrorC1Ev @ 166 NONAME
+	_ZN17QDeclarativeErrorC2ERKS_ @ 167 NONAME
+	_ZN17QDeclarativeErrorC2Ev @ 168 NONAME
+	_ZN17QDeclarativeErrorD1Ev @ 169 NONAME
+	_ZN17QDeclarativeErrorD2Ev @ 170 NONAME
+	_ZN17QDeclarativeErroraSERKS_ @ 171 NONAME
+	_ZN17QDeclarativeState10setExtendsERK7QString @ 172 NONAME
+	_ZN17QDeclarativeState11qt_metacallEN11QMetaObject4CallEiPPv @ 173 NONAME
+	_ZN17QDeclarativeState11qt_metacastEPKc @ 174 NONAME
+	_ZN17QDeclarativeState13setStateGroupEP22QDeclarativeStateGroup @ 175 NONAME
+	_ZN17QDeclarativeState16staticMetaObjectE @ 176 NONAME DATA 16
+	_ZN17QDeclarativeState19getStaticMetaObjectEv @ 177 NONAME
+	_ZN17QDeclarativeState5applyEP22QDeclarativeStateGroupP22QDeclarativeTransitionPS_ @ 178 NONAME
+	_ZN17QDeclarativeState6cancelEv @ 179 NONAME
+	_ZN17QDeclarativeState7changesEv @ 180 NONAME
+	_ZN17QDeclarativeState7setNameERK7QString @ 181 NONAME
+	_ZN17QDeclarativeState7setWhenEP19QDeclarativeBinding @ 182 NONAME
+	_ZN17QDeclarativeState9completedEv @ 183 NONAME
+	_ZN17QDeclarativeStateC1EP7QObject @ 184 NONAME
+	_ZN17QDeclarativeStateC2EP7QObject @ 185 NONAME
+	_ZN17QDeclarativeStateD0Ev @ 186 NONAME
+	_ZN17QDeclarativeStateD1Ev @ 187 NONAME
+	_ZN17QDeclarativeStateD2Ev @ 188 NONAME
+	_ZN17QDeclarativeStatelsEP26QDeclarativeStateOperation @ 189 NONAME
+	_ZN18QDeclarativeAction17deleteFromBindingEv @ 190 NONAME
+	_ZN18QDeclarativeActionC1EP7QObjectRK7QStringP19QDeclarativeContextRK8QVariant @ 191 NONAME
+	_ZN18QDeclarativeActionC1EP7QObjectRK7QStringRK8QVariant @ 192 NONAME
+	_ZN18QDeclarativeActionC1Ev @ 193 NONAME
+	_ZN18QDeclarativeActionC2EP7QObjectRK7QStringP19QDeclarativeContextRK8QVariant @ 194 NONAME
+	_ZN18QDeclarativeActionC2EP7QObjectRK7QStringRK8QVariant @ 195 NONAME
+	_ZN18QDeclarativeActionC2Ev @ 196 NONAME
+	_ZN18QDeclarativeEngine10setBaseUrlERK4QUrl @ 197 NONAME
+	_ZN18QDeclarativeEngine11qt_metacallEN11QMetaObject4CallEiPPv @ 198 NONAME
+	_ZN18QDeclarativeEngine11qt_metacastEPKc @ 199 NONAME
+	_ZN18QDeclarativeEngine12importPluginERK7QStringS2_PS0_ @ 200 NONAME
+	_ZN18QDeclarativeEngine13addImportPathERK7QString @ 201 NONAME
+	_ZN18QDeclarativeEngine13addPluginPathERK7QString @ 202 NONAME
+	_ZN18QDeclarativeEngine15objectOwnershipEP7QObject @ 203 NONAME
+	_ZN18QDeclarativeEngine16addImageProviderERK7QStringP25QDeclarativeImageProvider @ 204 NONAME
+	_ZN18QDeclarativeEngine16contextForObjectEPK7QObject @ 205 NONAME
+	_ZN18QDeclarativeEngine16staticMetaObjectE @ 206 NONAME DATA 16
+	_ZN18QDeclarativeEngine17setImportPathListERK11QStringList @ 207 NONAME
+	_ZN18QDeclarativeEngine17setPluginPathListERK11QStringList @ 208 NONAME
+	_ZN18QDeclarativeEngine18setObjectOwnershipEP7QObjectNS_15ObjectOwnershipE @ 209 NONAME
+	_ZN18QDeclarativeEngine19clearComponentCacheEv @ 210 NONAME
+	_ZN18QDeclarativeEngine19getStaticMetaObjectEv @ 211 NONAME
+	_ZN18QDeclarativeEngine19removeImageProviderERK7QString @ 212 NONAME
+	_ZN18QDeclarativeEngine19setContextForObjectEP7QObjectP19QDeclarativeContext @ 213 NONAME
+	_ZN18QDeclarativeEngine21setOfflineStoragePathERK7QString @ 214 NONAME
+	_ZN18QDeclarativeEngine30setNetworkAccessManagerFactoryEP39QDeclarativeNetworkAccessManagerFactory @ 215 NONAME
+	_ZN18QDeclarativeEngine32setOutputWarningsToStandardErrorEb @ 216 NONAME
+	_ZN18QDeclarativeEngine4quitEv @ 217 NONAME
+	_ZN18QDeclarativeEngine8warningsERK5QListI17QDeclarativeErrorE @ 218 NONAME
+	_ZN18QDeclarativeEngineC1EP7QObject @ 219 NONAME
+	_ZN18QDeclarativeEngineC2EP7QObject @ 220 NONAME
+	_ZN18QDeclarativeEngineD0Ev @ 221 NONAME
+	_ZN18QDeclarativeEngineD1Ev @ 222 NONAME
+	_ZN18QDeclarativeEngineD2Ev @ 223 NONAME
+	_ZN18QDeclarativeParser7VariantC1ERK7QString @ 224 NONAME
+	_ZN18QDeclarativeParser7VariantC1ERK7QStringPN14QDeclarativeJS3AST4NodeE @ 225 NONAME
+	_ZN18QDeclarativeParser7VariantC1ERKS0_ @ 226 NONAME
+	_ZN18QDeclarativeParser7VariantC1Eb @ 227 NONAME
+	_ZN18QDeclarativeParser7VariantC1EdRK7QString @ 228 NONAME
+	_ZN18QDeclarativeParser7VariantC1Ev @ 229 NONAME
+	_ZN18QDeclarativeParser7VariantC2ERK7QString @ 230 NONAME
+	_ZN18QDeclarativeParser7VariantC2ERK7QStringPN14QDeclarativeJS3AST4NodeE @ 231 NONAME
+	_ZN18QDeclarativeParser7VariantC2ERKS0_ @ 232 NONAME
+	_ZN18QDeclarativeParser7VariantC2Eb @ 233 NONAME
+	_ZN18QDeclarativeParser7VariantC2EdRK7QString @ 234 NONAME
+	_ZN18QDeclarativeParser7VariantC2Ev @ 235 NONAME
+	_ZN18QDeclarativeParser7VariantaSERKS0_ @ 236 NONAME
+	_ZN18QDeclarativePixmap15connectFinishedEP7QObjectPKc @ 237 NONAME
+	_ZN18QDeclarativePixmap15connectFinishedEP7QObjecti @ 238 NONAME
+	_ZN18QDeclarativePixmap23connectDownloadProgressEP7QObjectPKc @ 239 NONAME
+	_ZN18QDeclarativePixmap23connectDownloadProgressEP7QObjecti @ 240 NONAME
+	_ZN18QDeclarativePixmap4loadEP18QDeclarativeEngineRK4QUrl @ 241 NONAME
+	_ZN18QDeclarativePixmap4loadEP18QDeclarativeEngineRK4QUrlRK5QSize @ 242 NONAME
+	_ZN18QDeclarativePixmap4loadEP18QDeclarativeEngineRK4QUrlRK5QSizeb @ 243 NONAME
+	_ZN18QDeclarativePixmap4loadEP18QDeclarativeEngineRK4QUrlb @ 244 NONAME
+	_ZN18QDeclarativePixmap5clearEP7QObject @ 245 NONAME
+	_ZN18QDeclarativePixmap5clearEv @ 246 NONAME
+	_ZN18QDeclarativePixmap9setPixmapERK7QPixmap @ 247 NONAME
+	_ZN18QDeclarativePixmapC1EP18QDeclarativeEngineRK4QUrl @ 248 NONAME
+	_ZN18QDeclarativePixmapC1EP18QDeclarativeEngineRK4QUrlRK5QSize @ 249 NONAME
+	_ZN18QDeclarativePixmapC1Ev @ 250 NONAME
+	_ZN18QDeclarativePixmapC2EP18QDeclarativeEngineRK4QUrl @ 251 NONAME
+	_ZN18QDeclarativePixmapC2EP18QDeclarativeEngineRK4QUrlRK5QSize @ 252 NONAME
+	_ZN18QDeclarativePixmapC2Ev @ 253 NONAME
+	_ZN18QDeclarativePixmapD1Ev @ 254 NONAME
+	_ZN18QDeclarativePixmapD2Ev @ 255 NONAME
+	_ZN18QMetaMethodBuilder13setAttributesEi @ 256 NONAME
+	_ZN18QMetaMethodBuilder13setReturnTypeERK10QByteArray @ 257 NONAME
+	_ZN18QMetaMethodBuilder17setParameterNamesERK5QListI10QByteArrayE @ 258 NONAME
+	_ZN18QMetaMethodBuilder6setTagERK10QByteArray @ 259 NONAME
+	_ZN18QMetaMethodBuilder9setAccessEN11QMetaMethod6AccessE @ 260 NONAME
+	_ZN18QMetaObjectBuilder11addPropertyERK10QByteArrayS2_i @ 261 NONAME
+	_ZN18QMetaObjectBuilder11addPropertyERK13QMetaProperty @ 262 NONAME
+	_ZN18QMetaObjectBuilder11deserializeER11QDataStreamRK4QMapI10QByteArrayPK11QMetaObjectE @ 263 NONAME
+	_ZN18QMetaObjectBuilder11indexOfSlotERK10QByteArray @ 264 NONAME
+	_ZN18QMetaObjectBuilder12addClassInfoERK10QByteArrayS2_ @ 265 NONAME
+	_ZN18QMetaObjectBuilder12removeMethodEi @ 266 NONAME
+	_ZN18QMetaObjectBuilder12setClassNameERK10QByteArray @ 267 NONAME
+	_ZN18QMetaObjectBuilder13addEnumeratorERK10QByteArray @ 268 NONAME
+	_ZN18QMetaObjectBuilder13addEnumeratorERK9QMetaEnum @ 269 NONAME
+	_ZN18QMetaObjectBuilder13addMetaObjectEPK11QMetaObject6QFlagsINS_9AddMemberEE @ 270 NONAME
+	_ZN18QMetaObjectBuilder13indexOfMethodERK10QByteArray @ 271 NONAME
+	_ZN18QMetaObjectBuilder13indexOfSignalERK10QByteArray @ 272 NONAME
+	_ZN18QMetaObjectBuilder13setSuperClassEPK11QMetaObject @ 273 NONAME
+	_ZN18QMetaObjectBuilder14addConstructorERK10QByteArray @ 274 NONAME
+	_ZN18QMetaObjectBuilder14addConstructorERK11QMetaMethod @ 275 NONAME
+	_ZN18QMetaObjectBuilder14removePropertyEi @ 276 NONAME
+	_ZN18QMetaObjectBuilder15indexOfPropertyERK10QByteArray @ 277 NONAME
+	_ZN18QMetaObjectBuilder15removeClassInfoEi @ 278 NONAME
+	_ZN18QMetaObjectBuilder16indexOfClassInfoERK10QByteArray @ 279 NONAME
+	_ZN18QMetaObjectBuilder16removeEnumeratorEi @ 280 NONAME
+	_ZN18QMetaObjectBuilder17indexOfEnumeratorERK10QByteArray @ 281 NONAME
+	_ZN18QMetaObjectBuilder17removeConstructorEi @ 282 NONAME
+	_ZN18QMetaObjectBuilder18indexOfConstructorERK10QByteArray @ 283 NONAME
+	_ZN18QMetaObjectBuilder19fromRelocatableDataEP11QMetaObjectPKS0_RK10QByteArray @ 284 NONAME
+	_ZN18QMetaObjectBuilder20addRelatedMetaObjectERKPFRK11QMetaObjectvE @ 285 NONAME
+	_ZN18QMetaObjectBuilder23removeRelatedMetaObjectEi @ 286 NONAME
+	_ZN18QMetaObjectBuilder25setStaticMetacallFunctionEPFiN11QMetaObject4CallEiPPvE @ 287 NONAME
+	_ZN18QMetaObjectBuilder7addSlotERK10QByteArray @ 288 NONAME
+	_ZN18QMetaObjectBuilder8setFlagsE6QFlagsINS_14MetaObjectFlagEE @ 289 NONAME
+	_ZN18QMetaObjectBuilder9addMethodERK10QByteArray @ 290 NONAME
+	_ZN18QMetaObjectBuilder9addMethodERK10QByteArrayS2_ @ 291 NONAME
+	_ZN18QMetaObjectBuilder9addMethodERK11QMetaMethod @ 292 NONAME
+	_ZN18QMetaObjectBuilder9addSignalERK10QByteArray @ 293 NONAME
+	_ZN18QMetaObjectBuilderC1EPK11QMetaObject6QFlagsINS_9AddMemberEE @ 294 NONAME
+	_ZN18QMetaObjectBuilderC1Ev @ 295 NONAME
+	_ZN18QMetaObjectBuilderC2EPK11QMetaObject6QFlagsINS_9AddMemberEE @ 296 NONAME
+	_ZN18QMetaObjectBuilderC2Ev @ 297 NONAME
+	_ZN18QMetaObjectBuilderD0Ev @ 298 NONAME
+	_ZN18QMetaObjectBuilderD1Ev @ 299 NONAME
+	_ZN18QMetaObjectBuilderD2Ev @ 300 NONAME
+	_ZN19QDeclarativeAnchors10classBeginEv @ 301 NONAME
+	_ZN19QDeclarativeAnchors10resetRightEv @ 302 NONAME
+	_ZN19QDeclarativeAnchors10setMarginsEf @ 303 NONAME
+	_ZN19QDeclarativeAnchors10topChangedEv @ 304 NONAME
+	_ZN19QDeclarativeAnchors11fillChangedEv @ 305 NONAME
+	_ZN19QDeclarativeAnchors11leftChangedEv @ 306 NONAME
+	_ZN19QDeclarativeAnchors11qt_metacallEN11QMetaObject4CallEiPPv @ 307 NONAME
+	_ZN19QDeclarativeAnchors11qt_metacastEPKc @ 308 NONAME
+	_ZN19QDeclarativeAnchors11resetBottomEv @ 309 NONAME
+	_ZN19QDeclarativeAnchors11setBaselineERK22QDeclarativeAnchorLine @ 310 NONAME
+	_ZN19QDeclarativeAnchors11setCenterInEP15QGraphicsObject @ 311 NONAME
+	_ZN19QDeclarativeAnchors12rightChangedEv @ 312 NONAME
+	_ZN19QDeclarativeAnchors12setTopMarginEf @ 313 NONAME
+	_ZN19QDeclarativeAnchors13bottomChangedEv @ 314 NONAME
+	_ZN19QDeclarativeAnchors13resetBaselineEv @ 315 NONAME
+	_ZN19QDeclarativeAnchors13resetCenterInEv @ 316 NONAME
+	_ZN19QDeclarativeAnchors13setLeftMarginEf @ 317 NONAME
+	_ZN19QDeclarativeAnchors14marginsChangedEv @ 318 NONAME
+	_ZN19QDeclarativeAnchors14setRightMarginEf @ 319 NONAME
+	_ZN19QDeclarativeAnchors15baselineChangedEv @ 320 NONAME
+	_ZN19QDeclarativeAnchors15centerInChangedEv @ 321 NONAME
+	_ZN19QDeclarativeAnchors15setBottomMarginEf @ 322 NONAME
+	_ZN19QDeclarativeAnchors16staticMetaObjectE @ 323 NONAME DATA 16
+	_ZN19QDeclarativeAnchors16topMarginChangedEv @ 324 NONAME
+	_ZN19QDeclarativeAnchors17componentCompleteEv @ 325 NONAME
+	_ZN19QDeclarativeAnchors17leftMarginChangedEv @ 326 NONAME
+	_ZN19QDeclarativeAnchors17setBaselineOffsetEf @ 327 NONAME
+	_ZN19QDeclarativeAnchors17setVerticalCenterERK22QDeclarativeAnchorLine @ 328 NONAME
+	_ZN19QDeclarativeAnchors18rightMarginChangedEv @ 329 NONAME
+	_ZN19QDeclarativeAnchors19bottomMarginChangedEv @ 330 NONAME
+	_ZN19QDeclarativeAnchors19getStaticMetaObjectEv @ 331 NONAME
+	_ZN19QDeclarativeAnchors19resetVerticalCenterEv @ 332 NONAME
+	_ZN19QDeclarativeAnchors19setHorizontalCenterERK22QDeclarativeAnchorLine @ 333 NONAME
+	_ZN19QDeclarativeAnchors21baselineOffsetChangedEv @ 334 NONAME
+	_ZN19QDeclarativeAnchors21resetHorizontalCenterEv @ 335 NONAME
+	_ZN19QDeclarativeAnchors21verticalCenterChangedEv @ 336 NONAME
+	_ZN19QDeclarativeAnchors23horizontalCenterChangedEv @ 337 NONAME
+	_ZN19QDeclarativeAnchors23setVerticalCenterOffsetEf @ 338 NONAME
+	_ZN19QDeclarativeAnchors25setHorizontalCenterOffsetEf @ 339 NONAME
+	_ZN19QDeclarativeAnchors27verticalCenterOffsetChangedEv @ 340 NONAME
+	_ZN19QDeclarativeAnchors29horizontalCenterOffsetChangedEv @ 341 NONAME
+	_ZN19QDeclarativeAnchors6setTopERK22QDeclarativeAnchorLine @ 342 NONAME
+	_ZN19QDeclarativeAnchors7setFillEP15QGraphicsObject @ 343 NONAME
+	_ZN19QDeclarativeAnchors7setLeftERK22QDeclarativeAnchorLine @ 344 NONAME
+	_ZN19QDeclarativeAnchors8resetTopEv @ 345 NONAME
+	_ZN19QDeclarativeAnchors8setRightERK22QDeclarativeAnchorLine @ 346 NONAME
+	_ZN19QDeclarativeAnchors9resetFillEv @ 347 NONAME
+	_ZN19QDeclarativeAnchors9resetLeftEv @ 348 NONAME
+	_ZN19QDeclarativeAnchors9setBottomERK22QDeclarativeAnchorLine @ 349 NONAME
+	_ZN19QDeclarativeAnchorsC1EP15QGraphicsObjectP7QObject @ 350 NONAME
+	_ZN19QDeclarativeAnchorsC1EP7QObject @ 351 NONAME
+	_ZN19QDeclarativeAnchorsC2EP15QGraphicsObjectP7QObject @ 352 NONAME
+	_ZN19QDeclarativeAnchorsC2EP7QObject @ 353 NONAME
+	_ZN19QDeclarativeAnchorsD0Ev @ 354 NONAME
+	_ZN19QDeclarativeAnchorsD1Ev @ 355 NONAME
+	_ZN19QDeclarativeAnchorsD2Ev @ 356 NONAME
+	_ZN19QDeclarativeBinding10setEnabledEb6QFlagsIN27QDeclarativePropertyPrivate9WriteFlagEE @ 357 NONAME
+	_ZN19QDeclarativeBinding11qt_metacallEN11QMetaObject4CallEiPPv @ 358 NONAME
+	_ZN19QDeclarativeBinding11qt_metacastEPKc @ 359 NONAME
+	_ZN19QDeclarativeBinding13propertyIndexEv @ 360 NONAME
+	_ZN19QDeclarativeBinding16staticMetaObjectE @ 361 NONAME DATA 16
+	_ZN19QDeclarativeBinding19getStaticMetaObjectEv @ 362 NONAME
+	_ZN19QDeclarativeBinding6updateE6QFlagsIN27QDeclarativePropertyPrivate9WriteFlagEE @ 363 NONAME
+	_ZN19QDeclarativeBinding9setTargetERK20QDeclarativeProperty @ 364 NONAME
+	_ZN19QDeclarativeBindingC1EPvP20QDeclarativeRefCountP7QObjectP23QDeclarativeContextDataRK7QStringiS4_ @ 365 NONAME
+	_ZN19QDeclarativeBindingC1ERK7QStringP7QObjectP19QDeclarativeContextS4_ @ 366 NONAME
+	_ZN19QDeclarativeBindingC1ERK7QStringP7QObjectP23QDeclarativeContextDataS4_ @ 367 NONAME
+	_ZN19QDeclarativeBindingC2EPvP20QDeclarativeRefCountP7QObjectP23QDeclarativeContextDataRK7QStringiS4_ @ 368 NONAME
+	_ZN19QDeclarativeBindingC2ERK7QStringP7QObjectP19QDeclarativeContextS4_ @ 369 NONAME
+	_ZN19QDeclarativeBindingC2ERK7QStringP7QObjectP23QDeclarativeContextDataS4_ @ 370 NONAME
+	_ZN19QDeclarativeBindingD0Ev @ 371 NONAME
+	_ZN19QDeclarativeBindingD1Ev @ 372 NONAME
+	_ZN19QDeclarativeBindingD2Ev @ 373 NONAME
+	_ZN19QDeclarativeContext10setBaseUrlERK4QUrl @ 374 NONAME
+	_ZN19QDeclarativeContext11qt_metacallEN11QMetaObject4CallEiPPv @ 375 NONAME
+	_ZN19QDeclarativeContext11qt_metacastEPKc @ 376 NONAME
+	_ZN19QDeclarativeContext11resolvedUrlERK4QUrl @ 377 NONAME
+	_ZN19QDeclarativeContext16setContextObjectEP7QObject @ 378 NONAME
+	_ZN19QDeclarativeContext16staticMetaObjectE @ 379 NONAME DATA 16
+	_ZN19QDeclarativeContext18setContextPropertyERK7QStringP7QObject @ 380 NONAME
+	_ZN19QDeclarativeContext18setContextPropertyERK7QStringRK8QVariant @ 381 NONAME
+	_ZN19QDeclarativeContext19getStaticMetaObjectEv @ 382 NONAME
+	_ZN19QDeclarativeContextC1EP18QDeclarativeEngineP7QObject @ 383 NONAME
+	_ZN19QDeclarativeContextC1EP18QDeclarativeEngineb @ 384 NONAME
+	_ZN19QDeclarativeContextC1EP23QDeclarativeContextData @ 385 NONAME
+	_ZN19QDeclarativeContextC1EPS_P7QObject @ 386 NONAME
+	_ZN19QDeclarativeContextC2EP18QDeclarativeEngineP7QObject @ 387 NONAME
+	_ZN19QDeclarativeContextC2EP18QDeclarativeEngineb @ 388 NONAME
+	_ZN19QDeclarativeContextC2EP23QDeclarativeContextData @ 389 NONAME
+	_ZN19QDeclarativeContextC2EPS_P7QObject @ 390 NONAME
+	_ZN19QDeclarativeContextD0Ev @ 391 NONAME
+	_ZN19QDeclarativeContextD1Ev @ 392 NONAME
+	_ZN19QDeclarativeContextD2Ev @ 393 NONAME
+	_ZN19QDeclarativeDomListC1ERKS_ @ 394 NONAME
+	_ZN19QDeclarativeDomListC1Ev @ 395 NONAME
+	_ZN19QDeclarativeDomListC2ERKS_ @ 396 NONAME
+	_ZN19QDeclarativeDomListC2Ev @ 397 NONAME
+	_ZN19QDeclarativeDomListD1Ev @ 398 NONAME
+	_ZN19QDeclarativeDomListD2Ev @ 399 NONAME
+	_ZN19QDeclarativeDomListaSERKS_ @ 400 NONAME
+	_ZN19QDeclarativePrivate11qmlregisterENS_16RegistrationTypeEPv @ 401 NONAME
+	_ZN19QDeclarativePrivate30qdeclarativeelement_destructorEP7QObject @ 402 NONAME
+	_ZN19QListModelInterface10itemsMovedEiii @ 403 NONAME
+	_ZN19QListModelInterface11qt_metacallEN11QMetaObject4CallEiPPv @ 404 NONAME
+	_ZN19QListModelInterface11qt_metacastEPKc @ 405 NONAME
+	_ZN19QListModelInterface12itemsChangedEiiRK5QListIiE @ 406 NONAME
+	_ZN19QListModelInterface12itemsRemovedEii @ 407 NONAME
+	_ZN19QListModelInterface13itemsInsertedEii @ 408 NONAME
+	_ZN19QListModelInterface16staticMetaObjectE @ 409 NONAME DATA 16
+	_ZN19QListModelInterface19getStaticMetaObjectEv @ 410 NONAME
+	_ZN20QDeclarativeBehavior10setEnabledEb @ 411 NONAME
+	_ZN20QDeclarativeBehavior11qt_metacallEN11QMetaObject4CallEiPPv @ 412 NONAME
+	_ZN20QDeclarativeBehavior11qt_metacastEPKc @ 413 NONAME
+	_ZN20QDeclarativeBehavior12setAnimationEP29QDeclarativeAbstractAnimation @ 414 NONAME
+	_ZN20QDeclarativeBehavior14enabledChangedEv @ 415 NONAME
+	_ZN20QDeclarativeBehavior16staticMetaObjectE @ 416 NONAME DATA 16
+	_ZN20QDeclarativeBehavior18componentFinalizedEv @ 417 NONAME
+	_ZN20QDeclarativeBehavior19getStaticMetaObjectEv @ 418 NONAME
+	_ZN20QDeclarativeBehavior23qtAnimationStateChangedEN18QAbstractAnimation5StateES1_ @ 419 NONAME
+	_ZN20QDeclarativeBehavior5writeERK8QVariant @ 420 NONAME
+	_ZN20QDeclarativeBehavior9animationEv @ 421 NONAME
+	_ZN20QDeclarativeBehavior9setTargetERK20QDeclarativeProperty @ 422 NONAME
+	_ZN20QDeclarativeBehaviorC1EP7QObject @ 423 NONAME
+	_ZN20QDeclarativeBehaviorC2EP7QObject @ 424 NONAME
+	_ZN20QDeclarativeBehaviorD0Ev @ 425 NONAME
+	_ZN20QDeclarativeBehaviorD1Ev @ 426 NONAME
+	_ZN20QDeclarativeBehaviorD2Ev @ 427 NONAME
+	_ZN20QDeclarativeDomValueC1ERKS_ @ 428 NONAME
+	_ZN20QDeclarativeDomValueC1Ev @ 429 NONAME
+	_ZN20QDeclarativeDomValueC2ERKS_ @ 430 NONAME
+	_ZN20QDeclarativeDomValueC2Ev @ 431 NONAME
+	_ZN20QDeclarativeDomValueD1Ev @ 432 NONAME
+	_ZN20QDeclarativeDomValueD2Ev @ 433 NONAME
+	_ZN20QDeclarativeDomValueaSERKS_ @ 434 NONAME
+	_ZN20QDeclarativeMetaType11isInterfaceEi @ 435 NONAME
+	_ZN20QDeclarativeMetaType12interfaceIIdEi @ 436 NONAME
+	_ZN20QDeclarativeMetaType12qmlTypeNamesEv @ 437 NONAME
+	_ZN20QDeclarativeMetaType12typeCategoryEi @ 438 NONAME
+	_ZN20QDeclarativeMetaType13defaultMethodEP7QObject @ 439 NONAME
+	_ZN20QDeclarativeMetaType13defaultMethodEPK11QMetaObject @ 440 NONAME
+	_ZN20QDeclarativeMetaType15defaultPropertyEP7QObject @ 441 NONAME
+	_ZN20QDeclarativeMetaType15defaultPropertyEPK11QMetaObject @ 442 NONAME
+	_ZN20QDeclarativeMetaType15parentFunctionsEv @ 443 NONAME
+	_ZN20QDeclarativeMetaType21customStringConverterEi @ 444 NONAME
+	_ZN20QDeclarativeMetaType24attachedPropertiesFuncIdEPK11QMetaObject @ 445 NONAME
+	_ZN20QDeclarativeMetaType26attachedPropertiesFuncByIdEi @ 446 NONAME
+	_ZN20QDeclarativeMetaType29registerCustomStringConverterEiPF8QVariantRK7QStringE @ 447 NONAME
+	_ZN20QDeclarativeMetaType4copyEiPvPKv @ 448 NONAME
+	_ZN20QDeclarativeMetaType6isListEi @ 449 NONAME
+	_ZN20QDeclarativeMetaType7qmlTypeEPK11QMetaObject @ 450 NONAME
+	_ZN20QDeclarativeMetaType7qmlTypeERK10QByteArrayii @ 451 NONAME
+	_ZN20QDeclarativeMetaType7qmlTypeEi @ 452 NONAME
+	_ZN20QDeclarativeMetaType8isModuleERK10QByteArrayii @ 453 NONAME
+	_ZN20QDeclarativeMetaType8listTypeEi @ 454 NONAME
+	_ZN20QDeclarativeMetaType8qmlTypesEv @ 455 NONAME
+	_ZN20QDeclarativeMetaType9isQObjectEi @ 456 NONAME
+	_ZN20QDeclarativeMetaType9toQObjectERK8QVariantPb @ 457 NONAME
+	_ZN20QDeclarativeProperty4readEP7QObjectRK7QString @ 458 NONAME
+	_ZN20QDeclarativeProperty4readEP7QObjectRK7QStringP18QDeclarativeEngine @ 459 NONAME
+	_ZN20QDeclarativeProperty4readEP7QObjectRK7QStringP19QDeclarativeContext @ 460 NONAME
+	_ZN20QDeclarativeProperty5writeEP7QObjectRK7QStringRK8QVariant @ 461 NONAME
+	_ZN20QDeclarativeProperty5writeEP7QObjectRK7QStringRK8QVariantP18QDeclarativeEngine @ 462 NONAME
+	_ZN20QDeclarativeProperty5writeEP7QObjectRK7QStringRK8QVariantP19QDeclarativeContext @ 463 NONAME
+	_ZN20QDeclarativePropertyC1EP7QObject @ 464 NONAME
+	_ZN20QDeclarativePropertyC1EP7QObjectP18QDeclarativeEngine @ 465 NONAME
+	_ZN20QDeclarativePropertyC1EP7QObjectP19QDeclarativeContext @ 466 NONAME
+	_ZN20QDeclarativePropertyC1EP7QObjectRK7QString @ 467 NONAME
+	_ZN20QDeclarativePropertyC1EP7QObjectRK7QStringP18QDeclarativeEngine @ 468 NONAME
+	_ZN20QDeclarativePropertyC1EP7QObjectRK7QStringP19QDeclarativeContext @ 469 NONAME
+	_ZN20QDeclarativePropertyC1ERKS_ @ 470 NONAME
+	_ZN20QDeclarativePropertyC1Ev @ 471 NONAME
+	_ZN20QDeclarativePropertyC2EP7QObject @ 472 NONAME
+	_ZN20QDeclarativePropertyC2EP7QObjectP18QDeclarativeEngine @ 473 NONAME
+	_ZN20QDeclarativePropertyC2EP7QObjectP19QDeclarativeContext @ 474 NONAME
+	_ZN20QDeclarativePropertyC2EP7QObjectRK7QString @ 475 NONAME
+	_ZN20QDeclarativePropertyC2EP7QObjectRK7QStringP18QDeclarativeEngine @ 476 NONAME
+	_ZN20QDeclarativePropertyC2EP7QObjectRK7QStringP19QDeclarativeContext @ 477 NONAME
+	_ZN20QDeclarativePropertyC2ERKS_ @ 478 NONAME
+	_ZN20QDeclarativePropertyC2Ev @ 479 NONAME
+	_ZN20QDeclarativePropertyD1Ev @ 480 NONAME
+	_ZN20QDeclarativePropertyD2Ev @ 481 NONAME
+	_ZN20QDeclarativePropertyaSERKS_ @ 482 NONAME
+	_ZN20QMetaPropertyBuilder10setDynamicEb @ 483 NONAME
+	_ZN20QMetaPropertyBuilder11setEditableEb @ 484 NONAME
+	_ZN20QMetaPropertyBuilder11setReadableEb @ 485 NONAME
+	_ZN20QMetaPropertyBuilder11setWritableEb @ 486 NONAME
+	_ZN20QMetaPropertyBuilder12setStdCppSetEb @ 487 NONAME
+	_ZN20QMetaPropertyBuilder13setDesignableEb @ 488 NONAME
+	_ZN20QMetaPropertyBuilder13setEnumOrFlagEb @ 489 NONAME
+	_ZN20QMetaPropertyBuilder13setResettableEb @ 490 NONAME
+	_ZN20QMetaPropertyBuilder13setScriptableEb @ 491 NONAME
+	_ZN20QMetaPropertyBuilder15setNotifySignalERK18QMetaMethodBuilder @ 492 NONAME
+	_ZN20QMetaPropertyBuilder18removeNotifySignalEv @ 493 NONAME
+	_ZN20QMetaPropertyBuilder7setUserEb @ 494 NONAME
+	_ZN20QMetaPropertyBuilder9setStoredEb @ 495 NONAME
+	_ZN21QDeclarativeComponent11beginCreateEP19QDeclarativeContext @ 496 NONAME
+	_ZN21QDeclarativeComponent11qt_metacallEN11QMetaObject4CallEiPPv @ 497 NONAME
+	_ZN21QDeclarativeComponent11qt_metacastEPKc @ 498 NONAME
+	_ZN21QDeclarativeComponent12createObjectEP7QObject @ 499 NONAME
+	_ZN21QDeclarativeComponent13statusChangedENS_6StatusE @ 500 NONAME
+	_ZN21QDeclarativeComponent14completeCreateEv @ 501 NONAME
+	_ZN21QDeclarativeComponent15progressChangedEf @ 502 NONAME
+	_ZN21QDeclarativeComponent16staticMetaObjectE @ 503 NONAME DATA 16
+	_ZN21QDeclarativeComponent19getStaticMetaObjectEv @ 504 NONAME
+	_ZN21QDeclarativeComponent21qmlAttachedPropertiesEP7QObject @ 505 NONAME
+	_ZN21QDeclarativeComponent6createEP19QDeclarativeContext @ 506 NONAME
+	_ZN21QDeclarativeComponent7loadUrlERK4QUrl @ 507 NONAME
+	_ZN21QDeclarativeComponent7setDataERK10QByteArrayRK4QUrl @ 508 NONAME
+	_ZN21QDeclarativeComponentC1EP18QDeclarativeEngineP24QDeclarativeCompiledDataiiP7QObject @ 509 NONAME
+	_ZN21QDeclarativeComponentC1EP18QDeclarativeEngineP7QObject @ 510 NONAME
+	_ZN21QDeclarativeComponentC1EP18QDeclarativeEngineRK4QUrlP7QObject @ 511 NONAME
+	_ZN21QDeclarativeComponentC1EP18QDeclarativeEngineRK7QStringP7QObject @ 512 NONAME
+	_ZN21QDeclarativeComponentC1EP7QObject @ 513 NONAME
+	_ZN21QDeclarativeComponentC1ER28QDeclarativeComponentPrivateP7QObject @ 514 NONAME
+	_ZN21QDeclarativeComponentC2EP18QDeclarativeEngineP24QDeclarativeCompiledDataiiP7QObject @ 515 NONAME
+	_ZN21QDeclarativeComponentC2EP18QDeclarativeEngineP7QObject @ 516 NONAME
+	_ZN21QDeclarativeComponentC2EP18QDeclarativeEngineRK4QUrlP7QObject @ 517 NONAME
+	_ZN21QDeclarativeComponentC2EP18QDeclarativeEngineRK7QStringP7QObject @ 518 NONAME
+	_ZN21QDeclarativeComponentC2EP7QObject @ 519 NONAME
+	_ZN21QDeclarativeComponentC2ER28QDeclarativeComponentPrivateP7QObject @ 520 NONAME
+	_ZN21QDeclarativeComponentD0Ev @ 521 NONAME
+	_ZN21QDeclarativeComponentD1Ev @ 522 NONAME
+	_ZN21QDeclarativeComponentD2Ev @ 523 NONAME
+	_ZN21QDeclarativeDomImportC1ERKS_ @ 524 NONAME
+	_ZN21QDeclarativeDomImportC1Ev @ 525 NONAME
+	_ZN21QDeclarativeDomImportC2ERKS_ @ 526 NONAME
+	_ZN21QDeclarativeDomImportC2Ev @ 527 NONAME
+	_ZN21QDeclarativeDomImportD1Ev @ 528 NONAME
+	_ZN21QDeclarativeDomImportD2Ev @ 529 NONAME
+	_ZN21QDeclarativeDomImportaSERKS_ @ 530 NONAME
+	_ZN21QDeclarativeDomObjectC1ERKS_ @ 531 NONAME
+	_ZN21QDeclarativeDomObjectC1Ev @ 532 NONAME
+	_ZN21QDeclarativeDomObjectC2ERKS_ @ 533 NONAME
+	_ZN21QDeclarativeDomObjectC2Ev @ 534 NONAME
+	_ZN21QDeclarativeDomObjectD1Ev @ 535 NONAME
+	_ZN21QDeclarativeDomObjectD2Ev @ 536 NONAME
+	_ZN21QDeclarativeDomObjectaSERKS_ @ 537 NONAME
+	_ZN21QDeclarativeListModel11qt_metacallEN11QMetaObject4CallEiPPv @ 538 NONAME
+	_ZN21QDeclarativeListModel11qt_metacastEPKc @ 539 NONAME
+	_ZN21QDeclarativeListModel11setPropertyEiRK7QStringRK8QVariant @ 540 NONAME
+	_ZN21QDeclarativeListModel12countChangedEv @ 541 NONAME
+	_ZN21QDeclarativeListModel16staticMetaObjectE @ 542 NONAME DATA 16
+	_ZN21QDeclarativeListModel19getStaticMetaObjectEv @ 543 NONAME
+	_ZN21QDeclarativeListModel3setEiRK12QScriptValue @ 544 NONAME
+	_ZN21QDeclarativeListModel4moveEiii @ 545 NONAME
+	_ZN21QDeclarativeListModel4syncEv @ 546 NONAME
+	_ZN21QDeclarativeListModel5agentEv @ 547 NONAME
+	_ZN21QDeclarativeListModel5clearEv @ 548 NONAME
+	_ZN21QDeclarativeListModel6appendERK12QScriptValue @ 549 NONAME
+	_ZN21QDeclarativeListModel6insertEiRK12QScriptValue @ 550 NONAME
+	_ZN21QDeclarativeListModel6removeEi @ 551 NONAME
+	_ZN21QDeclarativeListModel7flattenEv @ 552 NONAME
+	_ZN21QDeclarativeListModelC1EP7QObject @ 553 NONAME
+	_ZN21QDeclarativeListModelC1EbP7QObject @ 554 NONAME
+	_ZN21QDeclarativeListModelC2EP7QObject @ 555 NONAME
+	_ZN21QDeclarativeListModelC2EbP7QObject @ 556 NONAME
+	_ZN21QDeclarativeListModelD0Ev @ 557 NONAME
+	_ZN21QDeclarativeListModelD1Ev @ 558 NONAME
+	_ZN21QDeclarativeListModelD2Ev @ 559 NONAME
+	_ZN21QDeclarativeRectangle11qt_metacallEN11QMetaObject4CallEiPPv @ 560 NONAME
+	_ZN21QDeclarativeRectangle11qt_metacastEPKc @ 561 NONAME
+	_ZN21QDeclarativeRectangle11setGradientEP20QDeclarativeGradient @ 562 NONAME
+	_ZN21QDeclarativeRectangle12colorChangedEv @ 563 NONAME
+	_ZN21QDeclarativeRectangle13radiusChangedEv @ 564 NONAME
+	_ZN21QDeclarativeRectangle16staticMetaObjectE @ 565 NONAME DATA 16
+	_ZN21QDeclarativeRectangle19generateRoundedRectEv @ 566 NONAME
+	_ZN21QDeclarativeRectangle19getStaticMetaObjectEv @ 567 NONAME
+	_ZN21QDeclarativeRectangle20generateBorderedRectEv @ 568 NONAME
+	_ZN21QDeclarativeRectangle5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 569 NONAME
+	_ZN21QDeclarativeRectangle6borderEv @ 570 NONAME
+	_ZN21QDeclarativeRectangle8doUpdateEv @ 571 NONAME
+	_ZN21QDeclarativeRectangle8drawRectER8QPainter @ 572 NONAME
+	_ZN21QDeclarativeRectangle8setColorERK6QColor @ 573 NONAME
+	_ZN21QDeclarativeRectangle9setRadiusEf @ 574 NONAME
+	_ZN21QDeclarativeRectangleC1EP16QDeclarativeItem @ 575 NONAME
+	_ZN21QDeclarativeRectangleC2EP16QDeclarativeItem @ 576 NONAME
+	_ZN21QDeclarativeScaleGrid11qt_metacallEN11QMetaObject4CallEiPPv @ 577 NONAME
+	_ZN21QDeclarativeScaleGrid11qt_metacastEPKc @ 578 NONAME
+	_ZN21QDeclarativeScaleGrid13borderChangedEv @ 579 NONAME
+	_ZN21QDeclarativeScaleGrid16staticMetaObjectE @ 580 NONAME DATA 16
+	_ZN21QDeclarativeScaleGrid19getStaticMetaObjectEv @ 581 NONAME
+	_ZN21QDeclarativeScaleGrid6setTopEi @ 582 NONAME
+	_ZN21QDeclarativeScaleGrid7setLeftEi @ 583 NONAME
+	_ZN21QDeclarativeScaleGrid8setRightEi @ 584 NONAME
+	_ZN21QDeclarativeScaleGrid9setBottomEi @ 585 NONAME
+	_ZN21QDeclarativeScaleGridC1EP7QObject @ 586 NONAME
+	_ZN21QDeclarativeScaleGridC2EP7QObject @ 587 NONAME
+	_ZN21QDeclarativeScaleGridD0Ev @ 588 NONAME
+	_ZN21QDeclarativeScaleGridD1Ev @ 589 NONAME
+	_ZN21QDeclarativeScaleGridD2Ev @ 590 NONAME
+	_ZN21QDeclarativeValueType11qt_metacallEN11QMetaObject4CallEiPPv @ 591 NONAME
+	_ZN21QDeclarativeValueType11qt_metacastEPKc @ 592 NONAME
+	_ZN21QDeclarativeValueType16staticMetaObjectE @ 593 NONAME DATA 16
+	_ZN21QDeclarativeValueType19getStaticMetaObjectEv @ 594 NONAME
+	_ZN21QDeclarativeValueTypeC2EP7QObject @ 595 NONAME
+	_ZN22QDeclarativeDebugQuery11qt_metacallEN11QMetaObject4CallEiPPv @ 596 NONAME
+	_ZN22QDeclarativeDebugQuery11qt_metacastEPKc @ 597 NONAME
+	_ZN22QDeclarativeDebugQuery12stateChangedENS_5StateE @ 598 NONAME
+	_ZN22QDeclarativeDebugQuery16staticMetaObjectE @ 599 NONAME DATA 16
+	_ZN22QDeclarativeDebugQuery19getStaticMetaObjectEv @ 600 NONAME
+	_ZN22QDeclarativeDebugQuery8setStateENS_5StateE @ 601 NONAME
+	_ZN22QDeclarativeDebugQueryC1EP7QObject @ 602 NONAME
+	_ZN22QDeclarativeDebugQueryC2EP7QObject @ 603 NONAME
+	_ZN22QDeclarativeDebugWatch11qt_metacallEN11QMetaObject4CallEiPPv @ 604 NONAME
+	_ZN22QDeclarativeDebugWatch11qt_metacastEPKc @ 605 NONAME
+	_ZN22QDeclarativeDebugWatch12stateChangedENS_5StateE @ 606 NONAME
+	_ZN22QDeclarativeDebugWatch12valueChangedERK10QByteArrayRK8QVariant @ 607 NONAME
+	_ZN22QDeclarativeDebugWatch16staticMetaObjectE @ 608 NONAME DATA 16
+	_ZN22QDeclarativeDebugWatch19getStaticMetaObjectEv @ 609 NONAME
+	_ZN22QDeclarativeDebugWatch8setStateENS_5StateE @ 610 NONAME
+	_ZN22QDeclarativeDebugWatchC1EP7QObject @ 611 NONAME
+	_ZN22QDeclarativeDebugWatchC2EP7QObject @ 612 NONAME
+	_ZN22QDeclarativeDebugWatchD0Ev @ 613 NONAME
+	_ZN22QDeclarativeDebugWatchD1Ev @ 614 NONAME
+	_ZN22QDeclarativeDebugWatchD2Ev @ 615 NONAME
+	_ZN22QDeclarativeExpression10clearErrorEv @ 616 NONAME
+	_ZN22QDeclarativeExpression11qt_metacallEN11QMetaObject4CallEiPPv @ 617 NONAME
+	_ZN22QDeclarativeExpression11qt_metacastEPKc @ 618 NONAME
+	_ZN22QDeclarativeExpression12valueChangedEv @ 619 NONAME
+	_ZN22QDeclarativeExpression13setExpressionERK7QString @ 620 NONAME
+	_ZN22QDeclarativeExpression16staticMetaObjectE @ 621 NONAME DATA 16
+	_ZN22QDeclarativeExpression17setSourceLocationERK7QStringi @ 622 NONAME
+	_ZN22QDeclarativeExpression19getStaticMetaObjectEv @ 623 NONAME
+	_ZN22QDeclarativeExpression23setNotifyOnValueChangedEb @ 624 NONAME
+	_ZN22QDeclarativeExpression8evaluateEPb @ 625 NONAME
+	_ZN22QDeclarativeExpressionC1EP19QDeclarativeContextP7QObjectRK7QStringS3_ @ 626 NONAME
+	_ZN22QDeclarativeExpressionC1EP23QDeclarativeContextDataP7QObjectRK7QString @ 627 NONAME
+	_ZN22QDeclarativeExpressionC1EP23QDeclarativeContextDataP7QObjectRK7QStringR29QDeclarativeExpressionPrivate @ 628 NONAME
+	_ZN22QDeclarativeExpressionC1EP23QDeclarativeContextDataPvP20QDeclarativeRefCountP7QObjectRK7QStringiR29QDeclarativeExpressionPrivate @ 629 NONAME
+	_ZN22QDeclarativeExpressionC1Ev @ 630 NONAME
+	_ZN22QDeclarativeExpressionC2EP19QDeclarativeContextP7QObjectRK7QStringS3_ @ 631 NONAME
+	_ZN22QDeclarativeExpressionC2EP23QDeclarativeContextDataP7QObjectRK7QString @ 632 NONAME
+	_ZN22QDeclarativeExpressionC2EP23QDeclarativeContextDataP7QObjectRK7QStringR29QDeclarativeExpressionPrivate @ 633 NONAME
+	_ZN22QDeclarativeExpressionC2EP23QDeclarativeContextDataPvP20QDeclarativeRefCountP7QObjectRK7QStringiR29QDeclarativeExpressionPrivate @ 634 NONAME
+	_ZN22QDeclarativeExpressionC2Ev @ 635 NONAME
+	_ZN22QDeclarativeExpressionD0Ev @ 636 NONAME
+	_ZN22QDeclarativeExpressionD1Ev @ 637 NONAME
+	_ZN22QDeclarativeExpressionD2Ev @ 638 NONAME
+	_ZN22QDeclarativeStateGroup10classBeginEv @ 639 NONAME
+	_ZN22QDeclarativeStateGroup11qt_metacallEN11QMetaObject4CallEiPPv @ 640 NONAME
+	_ZN22QDeclarativeStateGroup11qt_metacastEPKc @ 641 NONAME
+	_ZN22QDeclarativeStateGroup11removeStateEP17QDeclarativeState @ 642 NONAME
+	_ZN22QDeclarativeStateGroup12stateChangedERK7QString @ 643 NONAME
+	_ZN22QDeclarativeStateGroup14statesPropertyEv @ 644 NONAME
+	_ZN22QDeclarativeStateGroup15updateAutoStateEv @ 645 NONAME
+	_ZN22QDeclarativeStateGroup16staticMetaObjectE @ 646 NONAME DATA 16
+	_ZN22QDeclarativeStateGroup17componentCompleteEv @ 647 NONAME
+	_ZN22QDeclarativeStateGroup19getStaticMetaObjectEv @ 648 NONAME
+	_ZN22QDeclarativeStateGroup19transitionsPropertyEv @ 649 NONAME
+	_ZN22QDeclarativeStateGroup8setStateERK7QString @ 650 NONAME
+	_ZN22QDeclarativeStateGroupC1EP7QObject @ 651 NONAME
+	_ZN22QDeclarativeStateGroupC2EP7QObject @ 652 NONAME
+	_ZN22QDeclarativeStateGroupD0Ev @ 653 NONAME
+	_ZN22QDeclarativeStateGroupD1Ev @ 654 NONAME
+	_ZN22QDeclarativeStateGroupD2Ev @ 655 NONAME
+	_ZN22QDeclarativeTransition10animationsEv @ 656 NONAME
+	_ZN22QDeclarativeTransition10setToStateERK7QString @ 657 NONAME
+	_ZN22QDeclarativeTransition11fromChangedEv @ 658 NONAME
+	_ZN22QDeclarativeTransition11qt_metacallEN11QMetaObject4CallEiPPv @ 659 NONAME
+	_ZN22QDeclarativeTransition11qt_metacastEPKc @ 660 NONAME
+	_ZN22QDeclarativeTransition11setReversedEb @ 661 NONAME
+	_ZN22QDeclarativeTransition12setFromStateERK7QString @ 662 NONAME
+	_ZN22QDeclarativeTransition13setReversibleEb @ 663 NONAME
+	_ZN22QDeclarativeTransition16staticMetaObjectE @ 664 NONAME DATA 16
+	_ZN22QDeclarativeTransition17reversibleChangedEv @ 665 NONAME
+	_ZN22QDeclarativeTransition19getStaticMetaObjectEv @ 666 NONAME
+	_ZN22QDeclarativeTransition4stopEv @ 667 NONAME
+	_ZN22QDeclarativeTransition7prepareER5QListI18QDeclarativeActionERS0_I20QDeclarativePropertyEP29QDeclarativeTransitionManager @ 668 NONAME
+	_ZN22QDeclarativeTransition9toChangedEv @ 669 NONAME
+	_ZN22QDeclarativeTransitionC1EP7QObject @ 670 NONAME
+	_ZN22QDeclarativeTransitionC2EP7QObject @ 671 NONAME
+	_ZN22QDeclarativeTransitionD0Ev @ 672 NONAME
+	_ZN22QDeclarativeTransitionD1Ev @ 673 NONAME
+	_ZN22QDeclarativeTransitionD2Ev @ 674 NONAME
+	_ZN23QDeclarativeDebugClient10setEnabledEb @ 675 NONAME
+	_ZN23QDeclarativeDebugClient11qt_metacallEN11QMetaObject4CallEiPPv @ 676 NONAME
+	_ZN23QDeclarativeDebugClient11qt_metacastEPKc @ 677 NONAME
+	_ZN23QDeclarativeDebugClient11sendMessageERK10QByteArray @ 678 NONAME
+	_ZN23QDeclarativeDebugClient15messageReceivedERK10QByteArray @ 679 NONAME
+	_ZN23QDeclarativeDebugClient16staticMetaObjectE @ 680 NONAME DATA 16
+	_ZN23QDeclarativeDebugClient19getStaticMetaObjectEv @ 681 NONAME
+	_ZN23QDeclarativeDebugClientC1ERK7QStringP27QDeclarativeDebugConnection @ 682 NONAME
+	_ZN23QDeclarativeDebugClientC2ERK7QStringP27QDeclarativeDebugConnection @ 683 NONAME
+	_ZN23QDeclarativeDomDocument4loadEP18QDeclarativeEngineRK10QByteArrayRK4QUrl @ 684 NONAME
+	_ZN23QDeclarativeDomDocumentC1ERKS_ @ 685 NONAME
+	_ZN23QDeclarativeDomDocumentC1Ev @ 686 NONAME
+	_ZN23QDeclarativeDomDocumentC2ERKS_ @ 687 NONAME
+	_ZN23QDeclarativeDomDocumentC2Ev @ 688 NONAME
+	_ZN23QDeclarativeDomDocumentD1Ev @ 689 NONAME
+	_ZN23QDeclarativeDomDocumentD2Ev @ 690 NONAME
+	_ZN23QDeclarativeDomDocumentaSERKS_ @ 691 NONAME
+	_ZN23QDeclarativeDomPropertyC1ERKS_ @ 692 NONAME
+	_ZN23QDeclarativeDomPropertyC1Ev @ 693 NONAME
+	_ZN23QDeclarativeDomPropertyC2ERKS_ @ 694 NONAME
+	_ZN23QDeclarativeDomPropertyC2Ev @ 695 NONAME
+	_ZN23QDeclarativeDomPropertyD1Ev @ 696 NONAME
+	_ZN23QDeclarativeDomPropertyD2Ev @ 697 NONAME
+	_ZN23QDeclarativeDomPropertyaSERKS_ @ 698 NONAME
+	_ZN23QDeclarativeEngineDebug11qt_metacallEN11QMetaObject4CallEiPPv @ 699 NONAME
+	_ZN23QDeclarativeEngineDebug11qt_metacastEPKc @ 700 NONAME
+	_ZN23QDeclarativeEngineDebug11queryObjectERK32QDeclarativeDebugObjectReferenceP7QObject @ 701 NONAME
+	_ZN23QDeclarativeEngineDebug11removeWatchEP22QDeclarativeDebugWatch @ 702 NONAME
+	_ZN23QDeclarativeEngineDebug13setMethodBodyEiRK7QStringS2_ @ 703 NONAME
+	_ZN23QDeclarativeEngineDebug16staticMetaObjectE @ 704 NONAME DATA 16
+	_ZN23QDeclarativeEngineDebug17queryRootContextsERK32QDeclarativeDebugEngineReferenceP7QObject @ 705 NONAME
+	_ZN23QDeclarativeEngineDebug19getStaticMetaObjectEv @ 706 NONAME
+	_ZN23QDeclarativeEngineDebug19setBindingForObjectEiRK7QStringRK8QVariantb @ 707 NONAME
+	_ZN23QDeclarativeEngineDebug20queryObjectRecursiveERK32QDeclarativeDebugObjectReferenceP7QObject @ 708 NONAME
+	_ZN23QDeclarativeEngineDebug21queryAvailableEnginesEP7QObject @ 709 NONAME
+	_ZN23QDeclarativeEngineDebug21queryExpressionResultEiRK7QStringP7QObject @ 710 NONAME
+	_ZN23QDeclarativeEngineDebug21resetBindingForObjectEiRK7QString @ 711 NONAME
+	_ZN23QDeclarativeEngineDebug8addWatchERK30QDeclarativeDebugFileReferenceP7QObject @ 712 NONAME
+	_ZN23QDeclarativeEngineDebug8addWatchERK32QDeclarativeDebugObjectReferenceP7QObject @ 713 NONAME
+	_ZN23QDeclarativeEngineDebug8addWatchERK32QDeclarativeDebugObjectReferenceRK7QStringP7QObject @ 714 NONAME
+	_ZN23QDeclarativeEngineDebug8addWatchERK33QDeclarativeDebugContextReferenceRK7QStringP7QObject @ 715 NONAME
+	_ZN23QDeclarativeEngineDebug8addWatchERK34QDeclarativeDebugPropertyReferenceP7QObject @ 716 NONAME
+	_ZN23QDeclarativeEngineDebugC1EP27QDeclarativeDebugConnectionP7QObject @ 717 NONAME
+	_ZN23QDeclarativeEngineDebugC2EP27QDeclarativeDebugConnectionP7QObject @ 718 NONAME
+	_ZN23QDeclarativeItemPrivate10resetWidthEv @ 719 NONAME
+	_ZN23QDeclarativeItemPrivate11data_appendEP24QDeclarativeListPropertyI7QObjectEPS1_ @ 720 NONAME
+	_ZN23QDeclarativeItemPrivate11resetHeightEv @ 721 NONAME
+	_ZN23QDeclarativeItemPrivate11transitionsEv @ 722 NONAME
+	_ZN23QDeclarativeItemPrivate12focusChangedEb @ 723 NONAME
+	_ZN23QDeclarativeItemPrivate12resources_atEP24QDeclarativeListPropertyI7QObjectEi @ 724 NONAME
+	_ZN23QDeclarativeItemPrivate12transform_atEP24QDeclarativeListPropertyI18QGraphicsTransformEi @ 725 NONAME
+	_ZN23QDeclarativeItemPrivate14consistentTimeE @ 726 NONAME DATA 8
+	_ZN23QDeclarativeItemPrivate14parentPropertyEP7QObjectPvP28QDeclarativeNotifierEndpoint @ 727 NONAME
+	_ZN23QDeclarativeItemPrivate15resources_countEP24QDeclarativeListPropertyI7QObjectE @ 728 NONAME
+	_ZN23QDeclarativeItemPrivate15transform_clearEP24QDeclarativeListPropertyI18QGraphicsTransformE @ 729 NONAME
+	_ZN23QDeclarativeItemPrivate15transform_countEP24QDeclarativeListPropertyI18QGraphicsTransformE @ 730 NONAME
+	_ZN23QDeclarativeItemPrivate16resources_appendEP24QDeclarativeListPropertyI7QObjectEPS1_ @ 731 NONAME
+	_ZN23QDeclarativeItemPrivate16transformChangedEv @ 732 NONAME
+	_ZN23QDeclarativeItemPrivate16transform_appendEP24QDeclarativeListPropertyI18QGraphicsTransformEPS1_ @ 733 NONAME
+	_ZN23QDeclarativeItemPrivate17setConsistentTimeEx @ 734 NONAME
+	_ZN23QDeclarativeItemPrivate24removeItemChangeListenerEP30QDeclarativeItemChangeListener6QFlagsINS_10ChangeTypeEE @ 735 NONAME
+	_ZN23QDeclarativeItemPrivate4dataEv @ 736 NONAME
+	_ZN23QDeclarativeItemPrivate5startER13QElapsedTimer @ 737 NONAME
+	_ZN23QDeclarativeItemPrivate6statesEv @ 738 NONAME
+	_ZN23QDeclarativeItemPrivate7_statesEv @ 739 NONAME
+	_ZN23QDeclarativeItemPrivate7elapsedER13QElapsedTimer @ 740 NONAME
+	_ZN23QDeclarativeItemPrivate7restartER13QElapsedTimer @ 741 NONAME
+	_ZN23QDeclarativeItemPrivate8setStateERK7QString @ 742 NONAME
+	_ZN23QDeclarativeItemPrivate8setWidthEf @ 743 NONAME
+	_ZN23QDeclarativeItemPrivate9resourcesEv @ 744 NONAME
+	_ZN23QDeclarativeItemPrivate9setHeightEf @ 745 NONAME
+	_ZN23QDeclarativePropertyMap11qt_metacallEN11QMetaObject4CallEiPPv @ 746 NONAME
+	_ZN23QDeclarativePropertyMap11qt_metacastEPKc @ 747 NONAME
+	_ZN23QDeclarativePropertyMap12valueChangedERK7QStringRK8QVariant @ 748 NONAME
+	_ZN23QDeclarativePropertyMap16staticMetaObjectE @ 749 NONAME DATA 16
+	_ZN23QDeclarativePropertyMap19getStaticMetaObjectEv @ 750 NONAME
+	_ZN23QDeclarativePropertyMap5clearERK7QString @ 751 NONAME
+	_ZN23QDeclarativePropertyMap6insertERK7QStringRK8QVariant @ 752 NONAME
+	_ZN23QDeclarativePropertyMapC1EP7QObject @ 753 NONAME
+	_ZN23QDeclarativePropertyMapC2EP7QObject @ 754 NONAME
+	_ZN23QDeclarativePropertyMapD0Ev @ 755 NONAME
+	_ZN23QDeclarativePropertyMapD1Ev @ 756 NONAME
+	_ZN23QDeclarativePropertyMapD2Ev @ 757 NONAME
+	_ZN23QDeclarativePropertyMapixERK7QString @ 758 NONAME
+	_ZN24QDeclarativeCustomParser11clearErrorsEv @ 759 NONAME
+	_ZN24QDeclarativeCustomParser5errorERK28QDeclarativeCustomParserNodeRK7QString @ 760 NONAME
+	_ZN24QDeclarativeCustomParser5errorERK32QDeclarativeCustomParserPropertyRK7QString @ 761 NONAME
+	_ZN24QDeclarativeCustomParser5errorERK7QString @ 762 NONAME
+	_ZN24QDeclarativeDebugService11idForObjectEP7QObject @ 763 NONAME
+	_ZN24QDeclarativeDebugService11objectForIdEi @ 764 NONAME
+	_ZN24QDeclarativeDebugService11qt_metacallEN11QMetaObject4CallEiPPv @ 765 NONAME
+	_ZN24QDeclarativeDebugService11qt_metacastEPKc @ 766 NONAME
+	_ZN24QDeclarativeDebugService11sendMessageERK10QByteArray @ 767 NONAME
+	_ZN24QDeclarativeDebugService14enabledChangedEb @ 768 NONAME
+	_ZN24QDeclarativeDebugService14objectToStringEP7QObject @ 769 NONAME
+	_ZN24QDeclarativeDebugService15messageReceivedERK10QByteArray @ 770 NONAME
+	_ZN24QDeclarativeDebugService16staticMetaObjectE @ 771 NONAME DATA 16
+	_ZN24QDeclarativeDebugService18hasDebuggingClientEv @ 772 NONAME
+	_ZN24QDeclarativeDebugService18isDebuggingEnabledEv @ 773 NONAME
+	_ZN24QDeclarativeDebugService19getStaticMetaObjectEv @ 774 NONAME
+	_ZN24QDeclarativeDebugServiceC1ERK7QStringP7QObject @ 775 NONAME
+	_ZN24QDeclarativeDebugServiceC2ERK7QStringP7QObject @ 776 NONAME
+	_ZN24QDeclarativeDomComponentC1ERKS_ @ 777 NONAME
+	_ZN24QDeclarativeDomComponentC1Ev @ 778 NONAME
+	_ZN24QDeclarativeDomComponentC2ERKS_ @ 779 NONAME
+	_ZN24QDeclarativeDomComponentC2Ev @ 780 NONAME
+	_ZN24QDeclarativeDomComponentD1Ev @ 781 NONAME
+	_ZN24QDeclarativeDomComponentD2Ev @ 782 NONAME
+	_ZN24QDeclarativeDomComponentaSERKS_ @ 783 NONAME
+	_ZN24QDeclarativeParserStatusC2Ev @ 784 NONAME
+	_ZN24QDeclarativeParserStatusD0Ev @ 785 NONAME
+	_ZN24QDeclarativeParserStatusD1Ev @ 786 NONAME
+	_ZN24QDeclarativeParserStatusD2Ev @ 787 NONAME
+	_ZN24QDeclarativeScriptString10setContextEP19QDeclarativeContext @ 788 NONAME
+	_ZN24QDeclarativeScriptString14setScopeObjectEP7QObject @ 789 NONAME
+	_ZN24QDeclarativeScriptString9setScriptERK7QString @ 790 NONAME
+	_ZN24QDeclarativeScriptStringC1ERKS_ @ 791 NONAME
+	_ZN24QDeclarativeScriptStringC1Ev @ 792 NONAME
+	_ZN24QDeclarativeScriptStringC2ERKS_ @ 793 NONAME
+	_ZN24QDeclarativeScriptStringC2Ev @ 794 NONAME
+	_ZN24QDeclarativeScriptStringD1Ev @ 795 NONAME
+	_ZN24QDeclarativeScriptStringD2Ev @ 796 NONAME
+	_ZN24QDeclarativeScriptStringaSERKS_ @ 797 NONAME
+	_ZN25QDeclarativeImageProvider12requestImageERK7QStringP5QSizeRKS3_ @ 798 NONAME
+	_ZN25QDeclarativeImageProvider13requestPixmapERK7QStringP5QSizeRKS3_ @ 799 NONAME
+	_ZN25QDeclarativeImageProviderC1ENS_9ImageTypeE @ 800 NONAME
+	_ZN25QDeclarativeImageProviderC2ENS_9ImageTypeE @ 801 NONAME
 	_ZN25QDeclarativeImageProviderD0Ev @ 802 NONAME
 	_ZN25QDeclarativeImageProviderD1Ev @ 803 NONAME
 	_ZN25QDeclarativeImageProviderD2Ev @ 804 NONAME
@@ -1075,14 +1075,14 @@ EXPORTS
 	_ZNK15QPacketProtocol17maximumPacketSizeEv @ 1074 NONAME
 	_ZNK16QDeclarativeItem10metaObjectEv @ 1075 NONAME
 	_ZNK16QDeclarativeItem10parentItemEv @ 1076 NONAME
-	_ZNK16QDeclarativeItem10wantsFocusEv @ 1077 NONAME ABSENT
-	_ZNK16QDeclarativeItem10widthValidEv @ 1078 NONAME
-	_ZNK16QDeclarativeItem11heightValidEv @ 1079 NONAME
-	_ZNK16QDeclarativeItem11mapFromItemERK12QScriptValueff @ 1080 NONAME
-	_ZNK16QDeclarativeItem12boundingRectEv @ 1081 NONAME
-	_ZNK16QDeclarativeItem13implicitWidthEv @ 1082 NONAME
-	_ZNK16QDeclarativeItem13keepMouseGrabEv @ 1083 NONAME
-	_ZNK16QDeclarativeItem14baselineOffsetEv @ 1084 NONAME
+	_ZNK16QDeclarativeItem10widthValidEv @ 1077 NONAME
+	_ZNK16QDeclarativeItem11heightValidEv @ 1078 NONAME
+	_ZNK16QDeclarativeItem11mapFromItemERK12QScriptValueff @ 1079 NONAME
+	_ZNK16QDeclarativeItem12boundingRectEv @ 1080 NONAME
+	_ZNK16QDeclarativeItem13implicitWidthEv @ 1081 NONAME
+	_ZNK16QDeclarativeItem13keepMouseGrabEv @ 1082 NONAME
+	_ZNK16QDeclarativeItem14baselineOffsetEv @ 1083 NONAME
+	_ZNK16QDeclarativeItem14hasActiveFocusEv @ 1084 NONAME
 	_ZNK16QDeclarativeItem14implicitHeightEv @ 1085 NONAME
 	_ZNK16QDeclarativeItem15transformOriginEv @ 1086 NONAME
 	_ZNK16QDeclarativeItem16inputMethodQueryEN2Qt16InputMethodQueryE @ 1087 NONAME
@@ -1138,581 +1138,541 @@ EXPORTS
 	_ZNK16QDeclarativeView10resizeModeEv @ 1137 NONAME
 	_ZNK16QDeclarativeView10rootObjectEv @ 1138 NONAME
 	_ZNK16QDeclarativeView11initialSizeEv @ 1139 NONAME
-	_ZNK16QDeclarativeView6errorsEv @ 1140 NONAME
-	_ZNK16QDeclarativeView6sourceEv @ 1141 NONAME
-	_ZNK16QDeclarativeView6statusEv @ 1142 NONAME
-	_ZNK16QDeclarativeView8sizeHintEv @ 1143 NONAME
-	_ZNK16QMetaEnumBuilder3keyEi @ 1144 NONAME
-	_ZNK16QMetaEnumBuilder4nameEv @ 1145 NONAME
-	_ZNK16QMetaEnumBuilder5valueEi @ 1146 NONAME
-	_ZNK16QMetaEnumBuilder6d_funcEv @ 1147 NONAME
-	_ZNK16QMetaEnumBuilder6isFlagEv @ 1148 NONAME
-	_ZNK16QMetaEnumBuilder8keyCountEv @ 1149 NONAME
-	_ZNK17QDeclarativeError11descriptionEv @ 1150 NONAME
-	_ZNK17QDeclarativeError3urlEv @ 1151 NONAME
-	_ZNK17QDeclarativeError4lineEv @ 1152 NONAME
-	_ZNK17QDeclarativeError6columnEv @ 1153 NONAME
-	_ZNK17QDeclarativeError7isValidEv @ 1154 NONAME
-	_ZNK17QDeclarativeError8toStringEv @ 1155 NONAME
-	_ZNK17QDeclarativeState10metaObjectEv @ 1156 NONAME
-	_ZNK17QDeclarativeState10stateGroupEv @ 1157 NONAME
-	_ZNK17QDeclarativeState11isWhenKnownEv @ 1158 NONAME
-	_ZNK17QDeclarativeState11operationAtEi @ 1159 NONAME
-	_ZNK17QDeclarativeState14operationCountEv @ 1160 NONAME
-	_ZNK17QDeclarativeState4nameEv @ 1161 NONAME
-	_ZNK17QDeclarativeState4whenEv @ 1162 NONAME
-	_ZNK17QDeclarativeState7extendsEv @ 1163 NONAME
-	_ZNK17QDeclarativeState7isNamedEv @ 1164 NONAME
-	_ZNK18QDeclarativeEngine10metaObjectEv @ 1165 NONAME
-	_ZNK18QDeclarativeEngine13imageProviderERK7QString @ 1166 NONAME
-	_ZNK18QDeclarativeEngine14importPathListEv @ 1167 NONAME
-	_ZNK18QDeclarativeEngine14pluginPathListEv @ 1168 NONAME
-	_ZNK18QDeclarativeEngine18offlineStoragePathEv @ 1169 NONAME
-	_ZNK18QDeclarativeEngine20networkAccessManagerEv @ 1170 NONAME
-	_ZNK18QDeclarativeEngine27networkAccessManagerFactoryEv @ 1171 NONAME
-	_ZNK18QDeclarativeEngine29outputWarningsToStandardErrorEv @ 1172 NONAME
-	_ZNK18QDeclarativeEngine7baseUrlEv @ 1173 NONAME
-	_ZNK18QDeclarativeParser7Variant12asStringListEv @ 1174 NONAME
-	_ZNK18QDeclarativeParser7Variant12isStringListEv @ 1175 NONAME
-	_ZNK18QDeclarativeParser7Variant4typeEv @ 1176 NONAME
-	_ZNK18QDeclarativeParser7Variant5asASTEv @ 1177 NONAME
-	_ZNK18QDeclarativeParser7Variant8asNumberEv @ 1178 NONAME
-	_ZNK18QDeclarativeParser7Variant8asScriptEv @ 1179 NONAME
-	_ZNK18QDeclarativeParser7Variant8asStringEv @ 1180 NONAME
-	_ZNK18QDeclarativeParser7Variant9asBooleanEv @ 1181 NONAME
-	_ZNK18QMetaMethodBuilder10attributesEv @ 1182 NONAME
-	_ZNK18QMetaMethodBuilder10methodTypeEv @ 1183 NONAME
-	_ZNK18QMetaMethodBuilder10returnTypeEv @ 1184 NONAME
-	_ZNK18QMetaMethodBuilder14parameterNamesEv @ 1185 NONAME
-	_ZNK18QMetaMethodBuilder3tagEv @ 1186 NONAME
-	_ZNK18QMetaMethodBuilder5indexEv @ 1187 NONAME
-	_ZNK18QMetaMethodBuilder6accessEv @ 1188 NONAME
-	_ZNK18QMetaMethodBuilder6d_funcEv @ 1189 NONAME
-	_ZNK18QMetaMethodBuilder9signatureEv @ 1190 NONAME
-	_ZNK18QMetaObjectBuilder10enumeratorEi @ 1191 NONAME
-	_ZNK18QMetaObjectBuilder10superClassEv @ 1192 NONAME
-	_ZNK18QMetaObjectBuilder11constructorEi @ 1193 NONAME
-	_ZNK18QMetaObjectBuilder11methodCountEv @ 1194 NONAME
-	_ZNK18QMetaObjectBuilder12toMetaObjectEv @ 1195 NONAME
-	_ZNK18QMetaObjectBuilder13classInfoNameEi @ 1196 NONAME
-	_ZNK18QMetaObjectBuilder13propertyCountEv @ 1197 NONAME
-	_ZNK18QMetaObjectBuilder14classInfoCountEv @ 1198 NONAME
-	_ZNK18QMetaObjectBuilder14classInfoValueEi @ 1199 NONAME
-	_ZNK18QMetaObjectBuilder15enumeratorCountEv @ 1200 NONAME
-	_ZNK18QMetaObjectBuilder16constructorCountEv @ 1201 NONAME
-	_ZNK18QMetaObjectBuilder17relatedMetaObjectEi @ 1202 NONAME
-	_ZNK18QMetaObjectBuilder17toRelocatableDataEPb @ 1203 NONAME
-	_ZNK18QMetaObjectBuilder22relatedMetaObjectCountEv @ 1204 NONAME
-	_ZNK18QMetaObjectBuilder22staticMetacallFunctionEv @ 1205 NONAME
-	_ZNK18QMetaObjectBuilder5flagsEv @ 1206 NONAME
-	_ZNK18QMetaObjectBuilder6methodEi @ 1207 NONAME
-	_ZNK18QMetaObjectBuilder8propertyEi @ 1208 NONAME
-	_ZNK18QMetaObjectBuilder9classNameEv @ 1209 NONAME
-	_ZNK18QMetaObjectBuilder9serializeER11QDataStream @ 1210 NONAME
-	_ZNK19QDeclarativeAnchors10leftMarginEv @ 1211 NONAME
-	_ZNK19QDeclarativeAnchors10metaObjectEv @ 1212 NONAME
-	_ZNK19QDeclarativeAnchors11rightMarginEv @ 1213 NONAME
-	_ZNK19QDeclarativeAnchors11usedAnchorsEv @ 1214 NONAME
-	_ZNK19QDeclarativeAnchors12bottomMarginEv @ 1215 NONAME
-	_ZNK19QDeclarativeAnchors14baselineOffsetEv @ 1216 NONAME
-	_ZNK19QDeclarativeAnchors14verticalCenterEv @ 1217 NONAME
-	_ZNK19QDeclarativeAnchors16horizontalCenterEv @ 1218 NONAME
-	_ZNK19QDeclarativeAnchors20verticalCenterOffsetEv @ 1219 NONAME
-	_ZNK19QDeclarativeAnchors22horizontalCenterOffsetEv @ 1220 NONAME
-	_ZNK19QDeclarativeAnchors3topEv @ 1221 NONAME
-	_ZNK19QDeclarativeAnchors4fillEv @ 1222 NONAME
-	_ZNK19QDeclarativeAnchors4leftEv @ 1223 NONAME
-	_ZNK19QDeclarativeAnchors5rightEv @ 1224 NONAME
-	_ZNK19QDeclarativeAnchors6bottomEv @ 1225 NONAME
-	_ZNK19QDeclarativeAnchors7marginsEv @ 1226 NONAME
-	_ZNK19QDeclarativeAnchors8baselineEv @ 1227 NONAME
-	_ZNK19QDeclarativeAnchors8centerInEv @ 1228 NONAME
-	_ZNK19QDeclarativeAnchors9topMarginEv @ 1229 NONAME
-	_ZNK19QDeclarativeBinding10expressionEv @ 1230 NONAME
-	_ZNK19QDeclarativeBinding10metaObjectEv @ 1231 NONAME
-	_ZNK19QDeclarativeBinding7enabledEv @ 1232 NONAME
-	_ZNK19QDeclarativeBinding8propertyEv @ 1233 NONAME
-	_ZNK19QDeclarativeContext10metaObjectEv @ 1234 NONAME
-	_ZNK19QDeclarativeContext13contextObjectEv @ 1235 NONAME
-	_ZNK19QDeclarativeContext13parentContextEv @ 1236 NONAME
-	_ZNK19QDeclarativeContext15contextPropertyERK7QString @ 1237 NONAME
-	_ZNK19QDeclarativeContext6engineEv @ 1238 NONAME
-	_ZNK19QDeclarativeContext7baseUrlEv @ 1239 NONAME
-	_ZNK19QDeclarativeContext7isValidEv @ 1240 NONAME
-	_ZNK19QDeclarativeDomList14commaPositionsEv @ 1241 NONAME
-	_ZNK19QDeclarativeDomList6lengthEv @ 1242 NONAME
-	_ZNK19QDeclarativeDomList6valuesEv @ 1243 NONAME
-	_ZNK19QDeclarativeDomList8positionEv @ 1244 NONAME
-	_ZNK19QListModelInterface10metaObjectEv @ 1245 NONAME
-	_ZNK20QDeclarativeBehavior10metaObjectEv @ 1246 NONAME
-	_ZNK20QDeclarativeBehavior7enabledEv @ 1247 NONAME
-	_ZNK20QDeclarativeDomValue13isValueSourceEv @ 1248 NONAME
-	_ZNK20QDeclarativeDomValue13toValueSourceEv @ 1249 NONAME
-	_ZNK20QDeclarativeDomValue18isValueInterceptorEv @ 1250 NONAME
-	_ZNK20QDeclarativeDomValue18toValueInterceptorEv @ 1251 NONAME
-	_ZNK20QDeclarativeDomValue4typeEv @ 1252 NONAME
-	_ZNK20QDeclarativeDomValue6isListEv @ 1253 NONAME
-	_ZNK20QDeclarativeDomValue6lengthEv @ 1254 NONAME
-	_ZNK20QDeclarativeDomValue6toListEv @ 1255 NONAME
-	_ZNK20QDeclarativeDomValue8isObjectEv @ 1256 NONAME
-	_ZNK20QDeclarativeDomValue8positionEv @ 1257 NONAME
-	_ZNK20QDeclarativeDomValue8toObjectEv @ 1258 NONAME
-	_ZNK20QDeclarativeDomValue9isBindingEv @ 1259 NONAME
-	_ZNK20QDeclarativeDomValue9isInvalidEv @ 1260 NONAME
-	_ZNK20QDeclarativeDomValue9isLiteralEv @ 1261 NONAME
-	_ZNK20QDeclarativeDomValue9toBindingEv @ 1262 NONAME
-	_ZNK20QDeclarativeDomValue9toLiteralEv @ 1263 NONAME
-	_ZNK20QDeclarativeProperty10isPropertyEv @ 1264 NONAME
-	_ZNK20QDeclarativeProperty10isWritableEv @ 1265 NONAME
-	_ZNK20QDeclarativeProperty12isDesignableEv @ 1266 NONAME
-	_ZNK20QDeclarativeProperty12isResettableEv @ 1267 NONAME
-	_ZNK20QDeclarativeProperty12propertyTypeEv @ 1268 NONAME
-	_ZNK20QDeclarativeProperty15hasNotifySignalEv @ 1269 NONAME
-	_ZNK20QDeclarativeProperty16isSignalPropertyEv @ 1270 NONAME
-	_ZNK20QDeclarativeProperty16propertyTypeNameEv @ 1271 NONAME
-	_ZNK20QDeclarativeProperty17needsNotifySignalEv @ 1272 NONAME
-	_ZNK20QDeclarativeProperty19connectNotifySignalEP7QObjectPKc @ 1273 NONAME
-	_ZNK20QDeclarativeProperty19connectNotifySignalEP7QObjecti @ 1274 NONAME
-	_ZNK20QDeclarativeProperty20propertyTypeCategoryEv @ 1275 NONAME
-	_ZNK20QDeclarativeProperty4nameEv @ 1276 NONAME
-	_ZNK20QDeclarativeProperty4readEv @ 1277 NONAME
-	_ZNK20QDeclarativeProperty4typeEv @ 1278 NONAME
-	_ZNK20QDeclarativeProperty5indexEv @ 1279 NONAME
-	_ZNK20QDeclarativeProperty5resetEv @ 1280 NONAME
-	_ZNK20QDeclarativeProperty5writeERK8QVariant @ 1281 NONAME
-	_ZNK20QDeclarativeProperty6methodEv @ 1282 NONAME
-	_ZNK20QDeclarativeProperty6objectEv @ 1283 NONAME
-	_ZNK20QDeclarativeProperty7isValidEv @ 1284 NONAME
-	_ZNK20QDeclarativeProperty8propertyEv @ 1285 NONAME
-	_ZNK20QDeclarativePropertyeqERKS_ @ 1286 NONAME
-	_ZNK20QMetaPropertyBuilder10isEditableEv @ 1287 NONAME
-	_ZNK20QMetaPropertyBuilder10isReadableEv @ 1288 NONAME
-	_ZNK20QMetaPropertyBuilder10isWritableEv @ 1289 NONAME
-	_ZNK20QMetaPropertyBuilder12hasStdCppSetEv @ 1290 NONAME
-	_ZNK20QMetaPropertyBuilder12isDesignableEv @ 1291 NONAME
-	_ZNK20QMetaPropertyBuilder12isEnumOrFlagEv @ 1292 NONAME
-	_ZNK20QMetaPropertyBuilder12isResettableEv @ 1293 NONAME
-	_ZNK20QMetaPropertyBuilder12isScriptableEv @ 1294 NONAME
-	_ZNK20QMetaPropertyBuilder12notifySignalEv @ 1295 NONAME
-	_ZNK20QMetaPropertyBuilder15hasNotifySignalEv @ 1296 NONAME
-	_ZNK20QMetaPropertyBuilder4nameEv @ 1297 NONAME
-	_ZNK20QMetaPropertyBuilder4typeEv @ 1298 NONAME
-	_ZNK20QMetaPropertyBuilder6d_funcEv @ 1299 NONAME
-	_ZNK20QMetaPropertyBuilder6isUserEv @ 1300 NONAME
-	_ZNK20QMetaPropertyBuilder8isStoredEv @ 1301 NONAME
-	_ZNK20QMetaPropertyBuilder9isDynamicEv @ 1302 NONAME
-	_ZNK21QDeclarativeComponent10metaObjectEv @ 1303 NONAME
-	_ZNK21QDeclarativeComponent11errorStringEv @ 1304 NONAME
-	_ZNK21QDeclarativeComponent15creationContextEv @ 1305 NONAME
-	_ZNK21QDeclarativeComponent3urlEv @ 1306 NONAME
-	_ZNK21QDeclarativeComponent6errorsEv @ 1307 NONAME
-	_ZNK21QDeclarativeComponent6isNullEv @ 1308 NONAME
-	_ZNK21QDeclarativeComponent6statusEv @ 1309 NONAME
-	_ZNK21QDeclarativeComponent7isErrorEv @ 1310 NONAME
-	_ZNK21QDeclarativeComponent7isReadyEv @ 1311 NONAME
-	_ZNK21QDeclarativeComponent8progressEv @ 1312 NONAME
-	_ZNK21QDeclarativeComponent9isLoadingEv @ 1313 NONAME
-	_ZNK21QDeclarativeDomImport3uriEv @ 1314 NONAME
-	_ZNK21QDeclarativeDomImport4typeEv @ 1315 NONAME
-	_ZNK21QDeclarativeDomImport7versionEv @ 1316 NONAME
-	_ZNK21QDeclarativeDomImport9qualifierEv @ 1317 NONAME
-	_ZNK21QDeclarativeDomObject10objectTypeEv @ 1318 NONAME
-	_ZNK21QDeclarativeDomObject10propertiesEv @ 1319 NONAME
-	_ZNK21QDeclarativeDomObject11isComponentEv @ 1320 NONAME
-	_ZNK21QDeclarativeDomObject11toComponentEv @ 1321 NONAME
-	_ZNK21QDeclarativeDomObject12isCustomTypeEv @ 1322 NONAME
-	_ZNK21QDeclarativeDomObject14customTypeDataEv @ 1323 NONAME
-	_ZNK21QDeclarativeDomObject15dynamicPropertyERK10QByteArray @ 1324 NONAME
-	_ZNK21QDeclarativeDomObject15objectClassNameEv @ 1325 NONAME
-	_ZNK21QDeclarativeDomObject17dynamicPropertiesEv @ 1326 NONAME
-	_ZNK21QDeclarativeDomObject22objectTypeMajorVersionEv @ 1327 NONAME
-	_ZNK21QDeclarativeDomObject22objectTypeMinorVersionEv @ 1328 NONAME
-	_ZNK21QDeclarativeDomObject3urlEv @ 1329 NONAME
-	_ZNK21QDeclarativeDomObject6lengthEv @ 1330 NONAME
-	_ZNK21QDeclarativeDomObject7isValidEv @ 1331 NONAME
-	_ZNK21QDeclarativeDomObject8objectIdEv @ 1332 NONAME
-	_ZNK21QDeclarativeDomObject8positionEv @ 1333 NONAME
-	_ZNK21QDeclarativeDomObject8propertyERK10QByteArray @ 1334 NONAME
-	_ZNK21QDeclarativeListModel10metaObjectEv @ 1335 NONAME
-	_ZNK21QDeclarativeListModel3getEi @ 1336 NONAME
-	_ZNK21QDeclarativeListModel4dataEiRK5QListIiE @ 1337 NONAME
-	_ZNK21QDeclarativeListModel4dataEii @ 1338 NONAME
-	_ZNK21QDeclarativeListModel5countEv @ 1339 NONAME
-	_ZNK21QDeclarativeListModel5rolesEv @ 1340 NONAME
-	_ZNK21QDeclarativeListModel8toStringEi @ 1341 NONAME
-	_ZNK21QDeclarativeRectangle10metaObjectEv @ 1342 NONAME
-	_ZNK21QDeclarativeRectangle12boundingRectEv @ 1343 NONAME
-	_ZNK21QDeclarativeRectangle5colorEv @ 1344 NONAME
-	_ZNK21QDeclarativeRectangle6radiusEv @ 1345 NONAME
-	_ZNK21QDeclarativeRectangle8gradientEv @ 1346 NONAME
-	_ZNK21QDeclarativeScaleGrid10metaObjectEv @ 1347 NONAME
-	_ZNK21QDeclarativeScaleGrid6isNullEv @ 1348 NONAME
-	_ZNK21QDeclarativeValueType10metaObjectEv @ 1349 NONAME
-	_ZNK22QDeclarativeDebugQuery10metaObjectEv @ 1350 NONAME
-	_ZNK22QDeclarativeDebugQuery5stateEv @ 1351 NONAME
-	_ZNK22QDeclarativeDebugQuery9isWaitingEv @ 1352 NONAME
-	_ZNK22QDeclarativeDebugWatch10metaObjectEv @ 1353 NONAME
-	_ZNK22QDeclarativeDebugWatch13objectDebugIdEv @ 1354 NONAME
-	_ZNK22QDeclarativeDebugWatch5stateEv @ 1355 NONAME
-	_ZNK22QDeclarativeDebugWatch7queryIdEv @ 1356 NONAME
-	_ZNK22QDeclarativeExpression10expressionEv @ 1357 NONAME
-	_ZNK22QDeclarativeExpression10lineNumberEv @ 1358 NONAME
-	_ZNK22QDeclarativeExpression10metaObjectEv @ 1359 NONAME
-	_ZNK22QDeclarativeExpression10sourceFileEv @ 1360 NONAME
-	_ZNK22QDeclarativeExpression11scopeObjectEv @ 1361 NONAME
-	_ZNK22QDeclarativeExpression20notifyOnValueChangedEv @ 1362 NONAME
-	_ZNK22QDeclarativeExpression5errorEv @ 1363 NONAME
-	_ZNK22QDeclarativeExpression6engineEv @ 1364 NONAME
-	_ZNK22QDeclarativeExpression7contextEv @ 1365 NONAME
-	_ZNK22QDeclarativeExpression8hasErrorEv @ 1366 NONAME
-	_ZNK22QDeclarativeStateGroup10metaObjectEv @ 1367 NONAME
-	_ZNK22QDeclarativeStateGroup5stateEv @ 1368 NONAME
-	_ZNK22QDeclarativeStateGroup6statesEv @ 1369 NONAME
-	_ZNK22QDeclarativeStateGroup9findStateERK7QString @ 1370 NONAME
-	_ZNK22QDeclarativeTransition10metaObjectEv @ 1371 NONAME
-	_ZNK22QDeclarativeTransition10reversibleEv @ 1372 NONAME
-	_ZNK22QDeclarativeTransition7toStateEv @ 1373 NONAME
-	_ZNK22QDeclarativeTransition9fromStateEv @ 1374 NONAME
-	_ZNK23QDeclarativeDebugClient10metaObjectEv @ 1375 NONAME
-	_ZNK23QDeclarativeDebugClient11isConnectedEv @ 1376 NONAME
-	_ZNK23QDeclarativeDebugClient4nameEv @ 1377 NONAME
-	_ZNK23QDeclarativeDebugClient9isEnabledEv @ 1378 NONAME
-	_ZNK23QDeclarativeDomDocument10rootObjectEv @ 1379 NONAME
-	_ZNK23QDeclarativeDomDocument6errorsEv @ 1380 NONAME
-	_ZNK23QDeclarativeDomDocument7importsEv @ 1381 NONAME
-	_ZNK23QDeclarativeDomProperty12propertyNameEv @ 1382 NONAME
-	_ZNK23QDeclarativeDomProperty17isDefaultPropertyEv @ 1383 NONAME
-	_ZNK23QDeclarativeDomProperty17propertyNamePartsEv @ 1384 NONAME
-	_ZNK23QDeclarativeDomProperty5valueEv @ 1385 NONAME
-	_ZNK23QDeclarativeDomProperty6lengthEv @ 1386 NONAME
-	_ZNK23QDeclarativeDomProperty7isValidEv @ 1387 NONAME
-	_ZNK23QDeclarativeDomProperty8positionEv @ 1388 NONAME
-	_ZNK23QDeclarativeEngineDebug10metaObjectEv @ 1389 NONAME
-	_ZNK23QDeclarativeItemPrivate14verticalCenterEv @ 1390 NONAME
-	_ZNK23QDeclarativeItemPrivate16horizontalCenterEv @ 1391 NONAME
-	_ZNK23QDeclarativeItemPrivate22computeTransformOriginEv @ 1392 NONAME
-	_ZNK23QDeclarativeItemPrivate3topEv @ 1393 NONAME
-	_ZNK23QDeclarativeItemPrivate4leftEv @ 1394 NONAME
-	_ZNK23QDeclarativeItemPrivate5rightEv @ 1395 NONAME
-	_ZNK23QDeclarativeItemPrivate5stateEv @ 1396 NONAME
-	_ZNK23QDeclarativeItemPrivate5widthEv @ 1397 NONAME
-	_ZNK23QDeclarativeItemPrivate6bottomEv @ 1398 NONAME
-	_ZNK23QDeclarativeItemPrivate6heightEv @ 1399 NONAME
-	_ZNK23QDeclarativeItemPrivate8baselineEv @ 1400 NONAME
-	_ZNK23QDeclarativePixmapReply10metaObjectEv @ 1401 NONAME ABSENT
-	_ZNK23QDeclarativePixmapReply11errorStringEv @ 1402 NONAME ABSENT
-	_ZNK23QDeclarativePixmapReply11forcedWidthEv @ 1403 NONAME ABSENT
-	_ZNK23QDeclarativePixmapReply12forcedHeightEv @ 1404 NONAME ABSENT
-	_ZNK23QDeclarativePixmapReply12implicitSizeEv @ 1405 NONAME ABSENT
-	_ZNK23QDeclarativePixmapReply3urlEv @ 1406 NONAME ABSENT
-	_ZNK23QDeclarativePixmapReply6statusEv @ 1407 NONAME ABSENT
-	_ZNK23QDeclarativePixmapReply9isLoadingEv @ 1408 NONAME ABSENT
-	_ZNK23QDeclarativePropertyMap10metaObjectEv @ 1409 NONAME
-	_ZNK23QDeclarativePropertyMap4keysEv @ 1410 NONAME
-	_ZNK23QDeclarativePropertyMap4sizeEv @ 1411 NONAME
-	_ZNK23QDeclarativePropertyMap5countEv @ 1412 NONAME
-	_ZNK23QDeclarativePropertyMap5valueERK7QString @ 1413 NONAME
-	_ZNK23QDeclarativePropertyMap7isEmptyEv @ 1414 NONAME
-	_ZNK23QDeclarativePropertyMap8containsERK7QString @ 1415 NONAME
-	_ZNK23QDeclarativePropertyMapixERK7QString @ 1416 NONAME
-	_ZNK24QDeclarativeCustomParser11resolveTypeERK10QByteArray @ 1417 NONAME
-	_ZNK24QDeclarativeCustomParser12evaluateEnumERK10QByteArray @ 1418 NONAME
-	_ZNK24QDeclarativeDebugService10metaObjectEv @ 1419 NONAME
-	_ZNK24QDeclarativeDebugService4nameEv @ 1420 NONAME
-	_ZNK24QDeclarativeDebugService9isEnabledEv @ 1421 NONAME
-	_ZNK24QDeclarativeDomComponent13componentRootEv @ 1422 NONAME
-	_ZNK24QDeclarativeScriptString11scopeObjectEv @ 1423 NONAME
-	_ZNK24QDeclarativeScriptString6scriptEv @ 1424 NONAME
-	_ZNK24QDeclarativeScriptString7contextEv @ 1425 NONAME
-	_ZNK25QDeclarativeListReference15listElementTypeEv @ 1426 NONAME
-	_ZNK25QDeclarativeListReference2atEi @ 1427 NONAME
-	_ZNK25QDeclarativeListReference5canAtEv @ 1428 NONAME
-	_ZNK25QDeclarativeListReference5clearEv @ 1429 NONAME
-	_ZNK25QDeclarativeListReference5countEv @ 1430 NONAME
-	_ZNK25QDeclarativeListReference6appendEP7QObject @ 1431 NONAME
-	_ZNK25QDeclarativeListReference6objectEv @ 1432 NONAME
-	_ZNK25QDeclarativeListReference7isValidEv @ 1433 NONAME
-	_ZNK25QDeclarativeListReference8canClearEv @ 1434 NONAME
-	_ZNK25QDeclarativeListReference8canCountEv @ 1435 NONAME
-	_ZNK25QDeclarativeListReference9canAppendEv @ 1436 NONAME
-	_ZNK26QDeclarativeOpenMetaObject4nameEi @ 1437 NONAME
-	_ZNK26QDeclarativeOpenMetaObject4typeEv @ 1438 NONAME
-	_ZNK26QDeclarativeOpenMetaObject5countEv @ 1439 NONAME
-	_ZNK26QDeclarativeOpenMetaObject5valueERK10QByteArray @ 1440 NONAME
-	_ZNK26QDeclarativeOpenMetaObject5valueEi @ 1441 NONAME
-	_ZNK26QDeclarativeOpenMetaObject6objectEv @ 1442 NONAME
-	_ZNK26QDeclarativeOpenMetaObject6parentEv @ 1443 NONAME
-	_ZNK26QDeclarativeStateOperation10metaObjectEv @ 1444 NONAME
-	_ZNK27QDeclarativeAbstractBinding10expressionEv @ 1445 NONAME
-	_ZNK27QDeclarativeDebugConnection10metaObjectEv @ 1446 NONAME
-	_ZNK27QDeclarativeDebugConnection11isConnectedEv @ 1447 NONAME
-	_ZNK27QDeclarativeDomValueBinding7bindingEv @ 1448 NONAME
-	_ZNK27QDeclarativeDomValueLiteral7literalEv @ 1449 NONAME
-	_ZNK27QDeclarativeExtensionPlugin10metaObjectEv @ 1450 NONAME
-	_ZNK27QDeclarativeGridScaledImage10gridBottomEv @ 1451 NONAME
-	_ZNK27QDeclarativeGridScaledImage7gridTopEv @ 1452 NONAME
-	_ZNK27QDeclarativeGridScaledImage7isValidEv @ 1453 NONAME
-	_ZNK27QDeclarativeGridScaledImage8gridLeftEv @ 1454 NONAME
-	_ZNK27QDeclarativeGridScaledImage9gridRightEv @ 1455 NONAME
-	_ZNK27QDeclarativeGridScaledImage9pixmapUrlEv @ 1456 NONAME
-	_ZNK27QDeclarativePropertyPrivate11isValueTypeEv @ 1457 NONAME
-	_ZNK27QDeclarativePropertyPrivate12propertyTypeEv @ 1458 NONAME
-	_ZNK27QDeclarativePropertyPrivate20propertyTypeCategoryEv @ 1459 NONAME
-	_ZNK28QDeclarativeCustomParserNode10propertiesEv @ 1460 NONAME
-	_ZNK28QDeclarativeCustomParserNode4nameEv @ 1461 NONAME
-	_ZNK28QDeclarativeCustomParserNode8locationEv @ 1462 NONAME
-	_ZNK28QDeclarativeDebugObjectQuery10metaObjectEv @ 1463 NONAME
-	_ZNK28QDeclarativeDebugObjectQuery6objectEv @ 1464 NONAME
-	_ZNK29QDeclarativeDebugEnginesQuery10metaObjectEv @ 1465 NONAME
-	_ZNK29QDeclarativeDebugEnginesQuery7enginesEv @ 1466 NONAME
-	_ZNK30QDeclarativeDebugFileReference10lineNumberEv @ 1467 NONAME
-	_ZNK30QDeclarativeDebugFileReference12columnNumberEv @ 1468 NONAME
-	_ZNK30QDeclarativeDebugFileReference3urlEv @ 1469 NONAME
-	_ZNK30QDeclarativeDebugPropertyWatch10metaObjectEv @ 1470 NONAME
-	_ZNK30QDeclarativeDebugPropertyWatch4nameEv @ 1471 NONAME
-	_ZNK30QDeclarativeDomDynamicProperty12defaultValueEv @ 1472 NONAME
-	_ZNK30QDeclarativeDomDynamicProperty12propertyNameEv @ 1473 NONAME
-	_ZNK30QDeclarativeDomDynamicProperty12propertyTypeEv @ 1474 NONAME
-	_ZNK30QDeclarativeDomDynamicProperty16propertyTypeNameEv @ 1475 NONAME
-	_ZNK30QDeclarativeDomDynamicProperty17isDefaultPropertyEv @ 1476 NONAME
-	_ZNK30QDeclarativeDomDynamicProperty6lengthEv @ 1477 NONAME
-	_ZNK30QDeclarativeDomDynamicProperty7isAliasEv @ 1478 NONAME
-	_ZNK30QDeclarativeDomDynamicProperty7isValidEv @ 1479 NONAME
-	_ZNK30QDeclarativeDomDynamicProperty8positionEv @ 1480 NONAME
-	_ZNK30QDeclarativeOpenMetaObjectType12signalOffsetEv @ 1481 NONAME
-	_ZNK30QDeclarativeOpenMetaObjectType14propertyOffsetEv @ 1482 NONAME
-	_ZNK31QDeclarativeDomValueValueSource6objectEv @ 1483 NONAME
-	_ZNK32QDeclarativeCustomParserProperty14assignedValuesEv @ 1484 NONAME
-	_ZNK32QDeclarativeCustomParserProperty4nameEv @ 1485 NONAME
-	_ZNK32QDeclarativeCustomParserProperty6isListEv @ 1486 NONAME
-	_ZNK32QDeclarativeCustomParserProperty8locationEv @ 1487 NONAME
-	_ZNK32QDeclarativeDebugEngineReference4nameEv @ 1488 NONAME
-	_ZNK32QDeclarativeDebugEngineReference7debugIdEv @ 1489 NONAME
-	_ZNK32QDeclarativeDebugExpressionQuery10expressionEv @ 1490 NONAME
-	_ZNK32QDeclarativeDebugExpressionQuery10metaObjectEv @ 1491 NONAME
-	_ZNK32QDeclarativeDebugExpressionQuery6resultEv @ 1492 NONAME
-	_ZNK32QDeclarativeDebugObjectReference10propertiesEv @ 1493 NONAME
-	_ZNK32QDeclarativeDebugObjectReference14contextDebugIdEv @ 1494 NONAME
-	_ZNK32QDeclarativeDebugObjectReference4nameEv @ 1495 NONAME
-	_ZNK32QDeclarativeDebugObjectReference6sourceEv @ 1496 NONAME
-	_ZNK32QDeclarativeDebugObjectReference7debugIdEv @ 1497 NONAME
-	_ZNK32QDeclarativeDebugObjectReference8childrenEv @ 1498 NONAME
-	_ZNK32QDeclarativeDebugObjectReference8idStringEv @ 1499 NONAME
-	_ZNK32QDeclarativeDebugObjectReference9classNameEv @ 1500 NONAME
-	_ZNK33QDeclarativeDebugContextReference4nameEv @ 1501 NONAME
-	_ZNK33QDeclarativeDebugContextReference7debugIdEv @ 1502 NONAME
-	_ZNK33QDeclarativeDebugContextReference7objectsEv @ 1503 NONAME
-	_ZNK33QDeclarativeDebugContextReference8contextsEv @ 1504 NONAME
-	_ZNK33QDeclarativeDebugRootContextQuery10metaObjectEv @ 1505 NONAME
-	_ZNK33QDeclarativeDebugRootContextQuery11rootContextEv @ 1506 NONAME
-	_ZNK34QDeclarativeDebugPropertyReference13objectDebugIdEv @ 1507 NONAME
-	_ZNK34QDeclarativeDebugPropertyReference13valueTypeNameEv @ 1508 NONAME
-	_ZNK34QDeclarativeDebugPropertyReference15hasNotifySignalEv @ 1509 NONAME
-	_ZNK34QDeclarativeDebugPropertyReference4nameEv @ 1510 NONAME
-	_ZNK34QDeclarativeDebugPropertyReference5valueEv @ 1511 NONAME
-	_ZNK34QDeclarativeDebugPropertyReference7bindingEv @ 1512 NONAME
-	_ZNK36QDeclarativeDomValueValueInterceptor6objectEv @ 1513 NONAME
-	_ZNK38QDeclarativeDebugObjectExpressionWatch10expressionEv @ 1514 NONAME
-	_ZNK38QDeclarativeDebugObjectExpressionWatch10metaObjectEv @ 1515 NONAME
-	_ZNK7QPacket7isEmptyEv @ 1516 NONAME
-	_ZTI15QDeclarativePen @ 1517 NONAME
-	_ZTI15QPacketAutoSend @ 1518 NONAME
-	_ZTI15QPacketProtocol @ 1519 NONAME
-	_ZTI16QDeclarativeItem @ 1520 NONAME
-	_ZTI16QDeclarativeText @ 1521 NONAME
-	_ZTI16QDeclarativeView @ 1522 NONAME
-	_ZTI17QDeclarativeState @ 1523 NONAME
-	_ZTI18QDeclarativeEngine @ 1524 NONAME
-	_ZTI18QMetaObjectBuilder @ 1525 NONAME
-	_ZTI19QDeclarativeAnchors @ 1526 NONAME
-	_ZTI19QDeclarativeBinding @ 1527 NONAME
-	_ZTI19QDeclarativeContext @ 1528 NONAME
-	_ZTI19QListModelInterface @ 1529 NONAME
-	_ZTI20QDeclarativeBehavior @ 1530 NONAME
-	_ZTI21QDeclarativeComponent @ 1531 NONAME
-	_ZTI21QDeclarativeListModel @ 1532 NONAME
-	_ZTI21QDeclarativeRectangle @ 1533 NONAME
-	_ZTI21QDeclarativeScaleGrid @ 1534 NONAME
-	_ZTI21QDeclarativeValueType @ 1535 NONAME
-	_ZTI22QDeclarativeDebugQuery @ 1536 NONAME
-	_ZTI22QDeclarativeDebugWatch @ 1537 NONAME
-	_ZTI22QDeclarativeExpression @ 1538 NONAME
-	_ZTI22QDeclarativeStateGroup @ 1539 NONAME
-	_ZTI22QDeclarativeTransition @ 1540 NONAME
-	_ZTI23QDeclarativeDebugClient @ 1541 NONAME
-	_ZTI23QDeclarativeEngineDebug @ 1542 NONAME
-	_ZTI23QDeclarativeItemPrivate @ 1543 NONAME
-	_ZTI23QDeclarativePixmapReply @ 1544 NONAME ABSENT
-	_ZTI23QDeclarativePropertyMap @ 1545 NONAME
-	_ZTI24QDeclarativeCustomParser @ 1546 NONAME
-	_ZTI24QDeclarativeDebugService @ 1547 NONAME
-	_ZTI24QDeclarativeParserStatus @ 1548 NONAME
-	_ZTI25QDeclarativeImageProvider @ 1549 NONAME
-	_ZTI26QDeclarativeDebuggerStatus @ 1550 NONAME
-	_ZTI26QDeclarativeOpenMetaObject @ 1551 NONAME
-	_ZTI26QDeclarativeStateOperation @ 1552 NONAME
-	_ZTI27QDeclarativeAbstractBinding @ 1553 NONAME
-	_ZTI27QDeclarativeDebugConnection @ 1554 NONAME
-	_ZTI27QDeclarativeExtensionPlugin @ 1555 NONAME
-	_ZTI28QDeclarativeDebugObjectQuery @ 1556 NONAME
-	_ZTI29QDeclarativeDebugEnginesQuery @ 1557 NONAME
-	_ZTI30QDeclarativeDebugPropertyWatch @ 1558 NONAME
-	_ZTI30QDeclarativeExtensionInterface @ 1559 NONAME
-	_ZTI30QDeclarativeOpenMetaObjectType @ 1560 NONAME
-	_ZTI31QDeclarativePropertyValueSource @ 1561 NONAME
-	_ZTI32QDeclarativeDebugExpressionQuery @ 1562 NONAME
-	_ZTI33QDeclarativeDebugRootContextQuery @ 1563 NONAME
-	_ZTI36QDeclarativePropertyValueInterceptor @ 1564 NONAME
-	_ZTI38QDeclarativeDebugObjectExpressionWatch @ 1565 NONAME
-	_ZTI39QDeclarativeNetworkAccessManagerFactory @ 1566 NONAME
-	_ZTI7QPacket @ 1567 NONAME
-	_ZTV15QDeclarativePen @ 1568 NONAME
-	_ZTV15QPacketAutoSend @ 1569 NONAME
-	_ZTV15QPacketProtocol @ 1570 NONAME
-	_ZTV16QDeclarativeItem @ 1571 NONAME
-	_ZTV16QDeclarativeText @ 1572 NONAME
-	_ZTV16QDeclarativeView @ 1573 NONAME
-	_ZTV17QDeclarativeState @ 1574 NONAME
-	_ZTV18QDeclarativeEngine @ 1575 NONAME
-	_ZTV18QMetaObjectBuilder @ 1576 NONAME
-	_ZTV19QDeclarativeAnchors @ 1577 NONAME
-	_ZTV19QDeclarativeBinding @ 1578 NONAME
-	_ZTV19QDeclarativeContext @ 1579 NONAME
-	_ZTV19QListModelInterface @ 1580 NONAME
-	_ZTV20QDeclarativeBehavior @ 1581 NONAME
-	_ZTV21QDeclarativeComponent @ 1582 NONAME
-	_ZTV21QDeclarativeListModel @ 1583 NONAME
-	_ZTV21QDeclarativeRectangle @ 1584 NONAME
-	_ZTV21QDeclarativeScaleGrid @ 1585 NONAME
-	_ZTV21QDeclarativeValueType @ 1586 NONAME
-	_ZTV22QDeclarativeDebugQuery @ 1587 NONAME
-	_ZTV22QDeclarativeDebugWatch @ 1588 NONAME
-	_ZTV22QDeclarativeExpression @ 1589 NONAME
-	_ZTV22QDeclarativeStateGroup @ 1590 NONAME
-	_ZTV22QDeclarativeTransition @ 1591 NONAME
-	_ZTV23QDeclarativeDebugClient @ 1592 NONAME
-	_ZTV23QDeclarativeEngineDebug @ 1593 NONAME
-	_ZTV23QDeclarativeItemPrivate @ 1594 NONAME
-	_ZTV23QDeclarativePixmapReply @ 1595 NONAME ABSENT
-	_ZTV23QDeclarativePropertyMap @ 1596 NONAME
-	_ZTV24QDeclarativeCustomParser @ 1597 NONAME
-	_ZTV24QDeclarativeDebugService @ 1598 NONAME
-	_ZTV24QDeclarativeParserStatus @ 1599 NONAME
-	_ZTV25QDeclarativeImageProvider @ 1600 NONAME
-	_ZTV26QDeclarativeDebuggerStatus @ 1601 NONAME
-	_ZTV26QDeclarativeOpenMetaObject @ 1602 NONAME
-	_ZTV26QDeclarativeStateOperation @ 1603 NONAME
-	_ZTV27QDeclarativeAbstractBinding @ 1604 NONAME
-	_ZTV27QDeclarativeDebugConnection @ 1605 NONAME
-	_ZTV27QDeclarativeExtensionPlugin @ 1606 NONAME
-	_ZTV28QDeclarativeDebugObjectQuery @ 1607 NONAME
-	_ZTV29QDeclarativeDebugEnginesQuery @ 1608 NONAME
-	_ZTV30QDeclarativeDebugPropertyWatch @ 1609 NONAME
-	_ZTV30QDeclarativeOpenMetaObjectType @ 1610 NONAME
-	_ZTV31QDeclarativePropertyValueSource @ 1611 NONAME
-	_ZTV32QDeclarativeDebugExpressionQuery @ 1612 NONAME
-	_ZTV33QDeclarativeDebugRootContextQuery @ 1613 NONAME
-	_ZTV36QDeclarativePropertyValueInterceptor @ 1614 NONAME
-	_ZTV38QDeclarativeDebugObjectExpressionWatch @ 1615 NONAME
-	_ZTV39QDeclarativeNetworkAccessManagerFactory @ 1616 NONAME
-	_ZTV7QPacket @ 1617 NONAME
-	_ZThn16_N16QDeclarativeItem10classBeginEv @ 1618 NONAME
-	_ZThn16_N16QDeclarativeItem17componentCompleteEv @ 1619 NONAME
-	_ZThn16_N16QDeclarativeItemD0Ev @ 1620 NONAME
-	_ZThn16_N16QDeclarativeItemD1Ev @ 1621 NONAME
-	_ZThn16_N16QDeclarativeText17componentCompleteEv @ 1622 NONAME
-	_ZThn16_N16QDeclarativeTextD0Ev @ 1623 NONAME
-	_ZThn16_N16QDeclarativeTextD1Ev @ 1624 NONAME
-	_ZThn8_N16QDeclarativeItem10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 1625 NONAME
-	_ZThn8_N16QDeclarativeItem10sceneEventEP6QEvent @ 1626 NONAME
-	_ZThn8_N16QDeclarativeItem13keyPressEventEP9QKeyEvent @ 1627 NONAME
-	_ZThn8_N16QDeclarativeItem15keyReleaseEventEP9QKeyEvent @ 1628 NONAME
-	_ZThn8_N16QDeclarativeItem16inputMethodEventEP17QInputMethodEvent @ 1629 NONAME
-	_ZThn8_N16QDeclarativeItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 1630 NONAME
-	_ZThn8_N16QDeclarativeItemD0Ev @ 1631 NONAME
-	_ZThn8_N16QDeclarativeItemD1Ev @ 1632 NONAME
-	_ZThn8_N16QDeclarativeText15mousePressEventEP24QGraphicsSceneMouseEvent @ 1633 NONAME
-	_ZThn8_N16QDeclarativeText17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 1634 NONAME
-	_ZThn8_N16QDeclarativeText5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 1635 NONAME
-	_ZThn8_N16QDeclarativeTextD0Ev @ 1636 NONAME
-	_ZThn8_N16QDeclarativeTextD1Ev @ 1637 NONAME
-	_ZThn8_N16QDeclarativeViewD0Ev @ 1638 NONAME
-	_ZThn8_N16QDeclarativeViewD1Ev @ 1639 NONAME
-	_ZThn8_N19QDeclarativeBinding10setEnabledEb6QFlagsIN27QDeclarativePropertyPrivate9WriteFlagEE @ 1640 NONAME
-	_ZThn8_N19QDeclarativeBinding13propertyIndexEv @ 1641 NONAME
-	_ZThn8_N19QDeclarativeBinding6updateE6QFlagsIN27QDeclarativePropertyPrivate9WriteFlagEE @ 1642 NONAME
-	_ZThn8_N19QDeclarativeBindingD0Ev @ 1643 NONAME
-	_ZThn8_N19QDeclarativeBindingD1Ev @ 1644 NONAME
-	_ZThn8_N20QDeclarativeBehavior5writeERK8QVariant @ 1645 NONAME
-	_ZThn8_N20QDeclarativeBehavior9setTargetERK20QDeclarativeProperty @ 1646 NONAME
-	_ZThn8_N20QDeclarativeBehaviorD0Ev @ 1647 NONAME
-	_ZThn8_N20QDeclarativeBehaviorD1Ev @ 1648 NONAME
-	_ZThn8_N21QDeclarativeRectangle5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 1649 NONAME
-	_ZThn8_N22QDeclarativeStateGroup10classBeginEv @ 1650 NONAME
-	_ZThn8_N22QDeclarativeStateGroup17componentCompleteEv @ 1651 NONAME
-	_ZThn8_N22QDeclarativeStateGroupD0Ev @ 1652 NONAME
-	_ZThn8_N22QDeclarativeStateGroupD1Ev @ 1653 NONAME
-	_ZThn8_N27QDeclarativeExtensionPlugin16initializeEngineEP18QDeclarativeEnginePKc @ 1654 NONAME
-	_ZThn8_N27QDeclarativeExtensionPluginD0Ev @ 1655 NONAME
-	_ZThn8_N27QDeclarativeExtensionPluginD1Ev @ 1656 NONAME
-	_ZThn8_NK16QDeclarativeItem12boundingRectEv @ 1657 NONAME
-	_ZThn8_NK16QDeclarativeItem16inputMethodQueryEN2Qt16InputMethodQueryE @ 1658 NONAME
-	_ZThn8_NK16QDeclarativeText12boundingRectEv @ 1659 NONAME
-	_ZThn8_NK19QDeclarativeBinding10expressionEv @ 1660 NONAME
-	_ZThn8_NK21QDeclarativeRectangle12boundingRectEv @ 1661 NONAME
-	_Zls6QDebugP16QDeclarativeItem @ 1662 NONAME
-	_Zls6QDebugRK17QDeclarativeError @ 1663 NONAME
-	_ZlsR11QDataStreamRKN29QDeclarativeEngineDebugServer22QDeclarativeObjectDataE @ 1664 NONAME
-	_ZlsR11QDataStreamRKN29QDeclarativeEngineDebugServer26QDeclarativeObjectPropertyE @ 1665 NONAME
-	_ZrsR11QDataStreamRN29QDeclarativeEngineDebugServer22QDeclarativeObjectDataE @ 1666 NONAME
-	_ZrsR11QDataStreamRN29QDeclarativeEngineDebugServer26QDeclarativeObjectPropertyE @ 1667 NONAME
-	_ZN18QDeclarativePixmap15connectFinishedEP7QObjectPKc @ 1668 NONAME
-	_ZN18QDeclarativePixmap15connectFinishedEP7QObjecti @ 1669 NONAME
-	_ZN18QDeclarativePixmap23connectDownloadProgressEP7QObjectPKc @ 1670 NONAME
-	_ZN18QDeclarativePixmap23connectDownloadProgressEP7QObjecti @ 1671 NONAME
-	_ZN18QDeclarativePixmap4loadEP18QDeclarativeEngineRK4QUrl @ 1672 NONAME
-	_ZN18QDeclarativePixmap4loadEP18QDeclarativeEngineRK4QUrlRK5QSize @ 1673 NONAME
-	_ZN18QDeclarativePixmap4loadEP18QDeclarativeEngineRK4QUrlRK5QSizeb @ 1674 NONAME
-	_ZN18QDeclarativePixmap4loadEP18QDeclarativeEngineRK4QUrlb @ 1675 NONAME
-	_ZN18QDeclarativePixmap5clearEP7QObject @ 1676 NONAME
-	_ZN18QDeclarativePixmap5clearEv @ 1677 NONAME
-	_ZN18QDeclarativePixmap9setPixmapERK7QPixmap @ 1678 NONAME
-	_ZN18QDeclarativePixmapC1EP18QDeclarativeEngineRK4QUrl @ 1679 NONAME
-	_ZN18QDeclarativePixmapC1EP18QDeclarativeEngineRK4QUrlRK5QSize @ 1680 NONAME
-	_ZN18QDeclarativePixmapC1Ev @ 1681 NONAME
-	_ZN18QDeclarativePixmapC2EP18QDeclarativeEngineRK4QUrl @ 1682 NONAME
-	_ZN18QDeclarativePixmapC2EP18QDeclarativeEngineRK4QUrlRK5QSize @ 1683 NONAME
-	_ZN18QDeclarativePixmapC2Ev @ 1684 NONAME
-	_ZN18QDeclarativePixmapD1Ev @ 1685 NONAME
-	_ZN18QDeclarativePixmapD2Ev @ 1686 NONAME
-	_ZNK18QDeclarativePixmap11requestSizeEv @ 1687 NONAME
-	_ZNK18QDeclarativePixmap12implicitSizeEv @ 1688 NONAME
-	_ZNK18QDeclarativePixmap3urlEv @ 1689 NONAME
-	_ZNK18QDeclarativePixmap4rectEv @ 1690 NONAME
-	_ZNK18QDeclarativePixmap5errorEv @ 1691 NONAME
-	_ZNK18QDeclarativePixmap5widthEv @ 1692 NONAME
-	_ZNK18QDeclarativePixmap6heightEv @ 1693 NONAME
-	_ZNK18QDeclarativePixmap6isNullEv @ 1694 NONAME
-	_ZNK18QDeclarativePixmap6pixmapEv @ 1695 NONAME
-	_ZNK18QDeclarativePixmap6statusEv @ 1696 NONAME
-	_ZNK18QDeclarativePixmap7isErrorEv @ 1697 NONAME
-	_ZNK18QDeclarativePixmap7isReadyEv @ 1698 NONAME
-	_ZNK18QDeclarativePixmap9isLoadingEv @ 1699 NONAME
-	_ZN20QDeclarativeBehavior23qtAnimationStateChangedEN18QAbstractAnimation5StateES1_ @ 1700 NONAME
-	_ZN23QDeclarativeEngineDebug13setMethodBodyEiRK7QStringS2_ @ 1701 NONAME
-	_ZN23QDeclarativeEngineDebug19setBindingForObjectEiRK7QStringRK8QVariantb @ 1702 NONAME
-	_ZN25QDeclarativeImageProvider12requestImageERK7QStringP5QSizeRKS3_ @ 1703 NONAME
-	_ZN25QDeclarativeImageProvider13requestPixmapERK7QStringP5QSizeRKS3_ @ 1704 NONAME
-	_ZN25QDeclarativeImageProviderC1ENS_9ImageTypeE @ 1705 NONAME
-	_ZN25QDeclarativeImageProviderC2ENS_9ImageTypeE @ 1706 NONAME
-	_ZNK25QDeclarativeImageProvider9imageTypeEv @ 1707 NONAME
-	_ZN23QDeclarativeEngineDebug21resetBindingForObjectEiRK7QString @ 1708 NONAME
-	_ZN16QDeclarativeItem16forceActiveFocusEv @ 1709 NONAME
-	_ZN16QDeclarativeItem18activeFocusChangedEb @ 1710 NONAME
-	_ZNK16QDeclarativeItem14hasActiveFocusEv @ 1711 NONAME
-	_ZNK16QDeclarativeView11rootContextEv @ 1712 NONAME
-	_ZNK16QDeclarativeView6engineEv @ 1713 NONAME
-	_ZNK18QDeclarativeEngine11rootContextEv @ 1714 NONAME
-	_ZN19QDeclarativePrivate11qmlregisterENS_16RegistrationTypeEPv @ 1715 NONAME
-	_ZNK26QDeclarativeOpenMetaObject8hasValueEi @ 1716 NONAME
+	_ZNK16QDeclarativeView11rootContextEv @ 1140 NONAME
+	_ZNK16QDeclarativeView6engineEv @ 1141 NONAME
+	_ZNK16QDeclarativeView6errorsEv @ 1142 NONAME
+	_ZNK16QDeclarativeView6sourceEv @ 1143 NONAME
+	_ZNK16QDeclarativeView6statusEv @ 1144 NONAME
+	_ZNK16QDeclarativeView8sizeHintEv @ 1145 NONAME
+	_ZNK16QMetaEnumBuilder3keyEi @ 1146 NONAME
+	_ZNK16QMetaEnumBuilder4nameEv @ 1147 NONAME
+	_ZNK16QMetaEnumBuilder5valueEi @ 1148 NONAME
+	_ZNK16QMetaEnumBuilder6d_funcEv @ 1149 NONAME
+	_ZNK16QMetaEnumBuilder6isFlagEv @ 1150 NONAME
+	_ZNK16QMetaEnumBuilder8keyCountEv @ 1151 NONAME
+	_ZNK17QDeclarativeError11descriptionEv @ 1152 NONAME
+	_ZNK17QDeclarativeError3urlEv @ 1153 NONAME
+	_ZNK17QDeclarativeError4lineEv @ 1154 NONAME
+	_ZNK17QDeclarativeError6columnEv @ 1155 NONAME
+	_ZNK17QDeclarativeError7isValidEv @ 1156 NONAME
+	_ZNK17QDeclarativeError8toStringEv @ 1157 NONAME
+	_ZNK17QDeclarativeState10metaObjectEv @ 1158 NONAME
+	_ZNK17QDeclarativeState10stateGroupEv @ 1159 NONAME
+	_ZNK17QDeclarativeState11isWhenKnownEv @ 1160 NONAME
+	_ZNK17QDeclarativeState11operationAtEi @ 1161 NONAME
+	_ZNK17QDeclarativeState14operationCountEv @ 1162 NONAME
+	_ZNK17QDeclarativeState4nameEv @ 1163 NONAME
+	_ZNK17QDeclarativeState4whenEv @ 1164 NONAME
+	_ZNK17QDeclarativeState7extendsEv @ 1165 NONAME
+	_ZNK17QDeclarativeState7isNamedEv @ 1166 NONAME
+	_ZNK18QDeclarativeEngine10metaObjectEv @ 1167 NONAME
+	_ZNK18QDeclarativeEngine11rootContextEv @ 1168 NONAME
+	_ZNK18QDeclarativeEngine13imageProviderERK7QString @ 1169 NONAME
+	_ZNK18QDeclarativeEngine14importPathListEv @ 1170 NONAME
+	_ZNK18QDeclarativeEngine14pluginPathListEv @ 1171 NONAME
+	_ZNK18QDeclarativeEngine18offlineStoragePathEv @ 1172 NONAME
+	_ZNK18QDeclarativeEngine20networkAccessManagerEv @ 1173 NONAME
+	_ZNK18QDeclarativeEngine27networkAccessManagerFactoryEv @ 1174 NONAME
+	_ZNK18QDeclarativeEngine29outputWarningsToStandardErrorEv @ 1175 NONAME
+	_ZNK18QDeclarativeEngine7baseUrlEv @ 1176 NONAME
+	_ZNK18QDeclarativeParser7Variant12asStringListEv @ 1177 NONAME
+	_ZNK18QDeclarativeParser7Variant12isStringListEv @ 1178 NONAME
+	_ZNK18QDeclarativeParser7Variant4typeEv @ 1179 NONAME
+	_ZNK18QDeclarativeParser7Variant5asASTEv @ 1180 NONAME
+	_ZNK18QDeclarativeParser7Variant8asNumberEv @ 1181 NONAME
+	_ZNK18QDeclarativeParser7Variant8asScriptEv @ 1182 NONAME
+	_ZNK18QDeclarativeParser7Variant8asStringEv @ 1183 NONAME
+	_ZNK18QDeclarativeParser7Variant9asBooleanEv @ 1184 NONAME
+	_ZNK18QDeclarativePixmap11requestSizeEv @ 1185 NONAME
+	_ZNK18QDeclarativePixmap12implicitSizeEv @ 1186 NONAME
+	_ZNK18QDeclarativePixmap3urlEv @ 1187 NONAME
+	_ZNK18QDeclarativePixmap4rectEv @ 1188 NONAME
+	_ZNK18QDeclarativePixmap5errorEv @ 1189 NONAME
+	_ZNK18QDeclarativePixmap5widthEv @ 1190 NONAME
+	_ZNK18QDeclarativePixmap6heightEv @ 1191 NONAME
+	_ZNK18QDeclarativePixmap6isNullEv @ 1192 NONAME
+	_ZNK18QDeclarativePixmap6pixmapEv @ 1193 NONAME
+	_ZNK18QDeclarativePixmap6statusEv @ 1194 NONAME
+	_ZNK18QDeclarativePixmap7isErrorEv @ 1195 NONAME
+	_ZNK18QDeclarativePixmap7isReadyEv @ 1196 NONAME
+	_ZNK18QDeclarativePixmap9isLoadingEv @ 1197 NONAME
+	_ZNK18QMetaMethodBuilder10attributesEv @ 1198 NONAME
+	_ZNK18QMetaMethodBuilder10methodTypeEv @ 1199 NONAME
+	_ZNK18QMetaMethodBuilder10returnTypeEv @ 1200 NONAME
+	_ZNK18QMetaMethodBuilder14parameterNamesEv @ 1201 NONAME
+	_ZNK18QMetaMethodBuilder3tagEv @ 1202 NONAME
+	_ZNK18QMetaMethodBuilder5indexEv @ 1203 NONAME
+	_ZNK18QMetaMethodBuilder6accessEv @ 1204 NONAME
+	_ZNK18QMetaMethodBuilder6d_funcEv @ 1205 NONAME
+	_ZNK18QMetaMethodBuilder9signatureEv @ 1206 NONAME
+	_ZNK18QMetaObjectBuilder10enumeratorEi @ 1207 NONAME
+	_ZNK18QMetaObjectBuilder10superClassEv @ 1208 NONAME
+	_ZNK18QMetaObjectBuilder11constructorEi @ 1209 NONAME
+	_ZNK18QMetaObjectBuilder11methodCountEv @ 1210 NONAME
+	_ZNK18QMetaObjectBuilder12toMetaObjectEv @ 1211 NONAME
+	_ZNK18QMetaObjectBuilder13classInfoNameEi @ 1212 NONAME
+	_ZNK18QMetaObjectBuilder13propertyCountEv @ 1213 NONAME
+	_ZNK18QMetaObjectBuilder14classInfoCountEv @ 1214 NONAME
+	_ZNK18QMetaObjectBuilder14classInfoValueEi @ 1215 NONAME
+	_ZNK18QMetaObjectBuilder15enumeratorCountEv @ 1216 NONAME
+	_ZNK18QMetaObjectBuilder16constructorCountEv @ 1217 NONAME
+	_ZNK18QMetaObjectBuilder17relatedMetaObjectEi @ 1218 NONAME
+	_ZNK18QMetaObjectBuilder17toRelocatableDataEPb @ 1219 NONAME
+	_ZNK18QMetaObjectBuilder22relatedMetaObjectCountEv @ 1220 NONAME
+	_ZNK18QMetaObjectBuilder22staticMetacallFunctionEv @ 1221 NONAME
+	_ZNK18QMetaObjectBuilder5flagsEv @ 1222 NONAME
+	_ZNK18QMetaObjectBuilder6methodEi @ 1223 NONAME
+	_ZNK18QMetaObjectBuilder8propertyEi @ 1224 NONAME
+	_ZNK18QMetaObjectBuilder9classNameEv @ 1225 NONAME
+	_ZNK18QMetaObjectBuilder9serializeER11QDataStream @ 1226 NONAME
+	_ZNK19QDeclarativeAnchors10leftMarginEv @ 1227 NONAME
+	_ZNK19QDeclarativeAnchors10metaObjectEv @ 1228 NONAME
+	_ZNK19QDeclarativeAnchors11rightMarginEv @ 1229 NONAME
+	_ZNK19QDeclarativeAnchors11usedAnchorsEv @ 1230 NONAME
+	_ZNK19QDeclarativeAnchors12bottomMarginEv @ 1231 NONAME
+	_ZNK19QDeclarativeAnchors14baselineOffsetEv @ 1232 NONAME
+	_ZNK19QDeclarativeAnchors14verticalCenterEv @ 1233 NONAME
+	_ZNK19QDeclarativeAnchors16horizontalCenterEv @ 1234 NONAME
+	_ZNK19QDeclarativeAnchors20verticalCenterOffsetEv @ 1235 NONAME
+	_ZNK19QDeclarativeAnchors22horizontalCenterOffsetEv @ 1236 NONAME
+	_ZNK19QDeclarativeAnchors3topEv @ 1237 NONAME
+	_ZNK19QDeclarativeAnchors4fillEv @ 1238 NONAME
+	_ZNK19QDeclarativeAnchors4leftEv @ 1239 NONAME
+	_ZNK19QDeclarativeAnchors5rightEv @ 1240 NONAME
+	_ZNK19QDeclarativeAnchors6bottomEv @ 1241 NONAME
+	_ZNK19QDeclarativeAnchors7marginsEv @ 1242 NONAME
+	_ZNK19QDeclarativeAnchors8baselineEv @ 1243 NONAME
+	_ZNK19QDeclarativeAnchors8centerInEv @ 1244 NONAME
+	_ZNK19QDeclarativeAnchors9topMarginEv @ 1245 NONAME
+	_ZNK19QDeclarativeBinding10expressionEv @ 1246 NONAME
+	_ZNK19QDeclarativeBinding10metaObjectEv @ 1247 NONAME
+	_ZNK19QDeclarativeBinding7enabledEv @ 1248 NONAME
+	_ZNK19QDeclarativeBinding8propertyEv @ 1249 NONAME
+	_ZNK19QDeclarativeContext10metaObjectEv @ 1250 NONAME
+	_ZNK19QDeclarativeContext13contextObjectEv @ 1251 NONAME
+	_ZNK19QDeclarativeContext13parentContextEv @ 1252 NONAME
+	_ZNK19QDeclarativeContext15contextPropertyERK7QString @ 1253 NONAME
+	_ZNK19QDeclarativeContext6engineEv @ 1254 NONAME
+	_ZNK19QDeclarativeContext7baseUrlEv @ 1255 NONAME
+	_ZNK19QDeclarativeContext7isValidEv @ 1256 NONAME
+	_ZNK19QDeclarativeDomList14commaPositionsEv @ 1257 NONAME
+	_ZNK19QDeclarativeDomList6lengthEv @ 1258 NONAME
+	_ZNK19QDeclarativeDomList6valuesEv @ 1259 NONAME
+	_ZNK19QDeclarativeDomList8positionEv @ 1260 NONAME
+	_ZNK19QListModelInterface10metaObjectEv @ 1261 NONAME
+	_ZNK20QDeclarativeBehavior10metaObjectEv @ 1262 NONAME
+	_ZNK20QDeclarativeBehavior7enabledEv @ 1263 NONAME
+	_ZNK20QDeclarativeDomValue13isValueSourceEv @ 1264 NONAME
+	_ZNK20QDeclarativeDomValue13toValueSourceEv @ 1265 NONAME
+	_ZNK20QDeclarativeDomValue18isValueInterceptorEv @ 1266 NONAME
+	_ZNK20QDeclarativeDomValue18toValueInterceptorEv @ 1267 NONAME
+	_ZNK20QDeclarativeDomValue4typeEv @ 1268 NONAME
+	_ZNK20QDeclarativeDomValue6isListEv @ 1269 NONAME
+	_ZNK20QDeclarativeDomValue6lengthEv @ 1270 NONAME
+	_ZNK20QDeclarativeDomValue6toListEv @ 1271 NONAME
+	_ZNK20QDeclarativeDomValue8isObjectEv @ 1272 NONAME
+	_ZNK20QDeclarativeDomValue8positionEv @ 1273 NONAME
+	_ZNK20QDeclarativeDomValue8toObjectEv @ 1274 NONAME
+	_ZNK20QDeclarativeDomValue9isBindingEv @ 1275 NONAME
+	_ZNK20QDeclarativeDomValue9isInvalidEv @ 1276 NONAME
+	_ZNK20QDeclarativeDomValue9isLiteralEv @ 1277 NONAME
+	_ZNK20QDeclarativeDomValue9toBindingEv @ 1278 NONAME
+	_ZNK20QDeclarativeDomValue9toLiteralEv @ 1279 NONAME
+	_ZNK20QDeclarativeProperty10isPropertyEv @ 1280 NONAME
+	_ZNK20QDeclarativeProperty10isWritableEv @ 1281 NONAME
+	_ZNK20QDeclarativeProperty12isDesignableEv @ 1282 NONAME
+	_ZNK20QDeclarativeProperty12isResettableEv @ 1283 NONAME
+	_ZNK20QDeclarativeProperty12propertyTypeEv @ 1284 NONAME
+	_ZNK20QDeclarativeProperty15hasNotifySignalEv @ 1285 NONAME
+	_ZNK20QDeclarativeProperty16isSignalPropertyEv @ 1286 NONAME
+	_ZNK20QDeclarativeProperty16propertyTypeNameEv @ 1287 NONAME
+	_ZNK20QDeclarativeProperty17needsNotifySignalEv @ 1288 NONAME
+	_ZNK20QDeclarativeProperty19connectNotifySignalEP7QObjectPKc @ 1289 NONAME
+	_ZNK20QDeclarativeProperty19connectNotifySignalEP7QObjecti @ 1290 NONAME
+	_ZNK20QDeclarativeProperty20propertyTypeCategoryEv @ 1291 NONAME
+	_ZNK20QDeclarativeProperty4nameEv @ 1292 NONAME
+	_ZNK20QDeclarativeProperty4readEv @ 1293 NONAME
+	_ZNK20QDeclarativeProperty4typeEv @ 1294 NONAME
+	_ZNK20QDeclarativeProperty5indexEv @ 1295 NONAME
+	_ZNK20QDeclarativeProperty5resetEv @ 1296 NONAME
+	_ZNK20QDeclarativeProperty5writeERK8QVariant @ 1297 NONAME
+	_ZNK20QDeclarativeProperty6methodEv @ 1298 NONAME
+	_ZNK20QDeclarativeProperty6objectEv @ 1299 NONAME
+	_ZNK20QDeclarativeProperty7isValidEv @ 1300 NONAME
+	_ZNK20QDeclarativeProperty8propertyEv @ 1301 NONAME
+	_ZNK20QDeclarativePropertyeqERKS_ @ 1302 NONAME
+	_ZNK20QMetaPropertyBuilder10isEditableEv @ 1303 NONAME
+	_ZNK20QMetaPropertyBuilder10isReadableEv @ 1304 NONAME
+	_ZNK20QMetaPropertyBuilder10isWritableEv @ 1305 NONAME
+	_ZNK20QMetaPropertyBuilder12hasStdCppSetEv @ 1306 NONAME
+	_ZNK20QMetaPropertyBuilder12isDesignableEv @ 1307 NONAME
+	_ZNK20QMetaPropertyBuilder12isEnumOrFlagEv @ 1308 NONAME
+	_ZNK20QMetaPropertyBuilder12isResettableEv @ 1309 NONAME
+	_ZNK20QMetaPropertyBuilder12isScriptableEv @ 1310 NONAME
+	_ZNK20QMetaPropertyBuilder12notifySignalEv @ 1311 NONAME
+	_ZNK20QMetaPropertyBuilder15hasNotifySignalEv @ 1312 NONAME
+	_ZNK20QMetaPropertyBuilder4nameEv @ 1313 NONAME
+	_ZNK20QMetaPropertyBuilder4typeEv @ 1314 NONAME
+	_ZNK20QMetaPropertyBuilder6d_funcEv @ 1315 NONAME
+	_ZNK20QMetaPropertyBuilder6isUserEv @ 1316 NONAME
+	_ZNK20QMetaPropertyBuilder8isStoredEv @ 1317 NONAME
+	_ZNK20QMetaPropertyBuilder9isDynamicEv @ 1318 NONAME
+	_ZNK21QDeclarativeComponent10metaObjectEv @ 1319 NONAME
+	_ZNK21QDeclarativeComponent11errorStringEv @ 1320 NONAME
+	_ZNK21QDeclarativeComponent15creationContextEv @ 1321 NONAME
+	_ZNK21QDeclarativeComponent3urlEv @ 1322 NONAME
+	_ZNK21QDeclarativeComponent6errorsEv @ 1323 NONAME
+	_ZNK21QDeclarativeComponent6isNullEv @ 1324 NONAME
+	_ZNK21QDeclarativeComponent6statusEv @ 1325 NONAME
+	_ZNK21QDeclarativeComponent7isErrorEv @ 1326 NONAME
+	_ZNK21QDeclarativeComponent7isReadyEv @ 1327 NONAME
+	_ZNK21QDeclarativeComponent8progressEv @ 1328 NONAME
+	_ZNK21QDeclarativeComponent9isLoadingEv @ 1329 NONAME
+	_ZNK21QDeclarativeDomImport3uriEv @ 1330 NONAME
+	_ZNK21QDeclarativeDomImport4typeEv @ 1331 NONAME
+	_ZNK21QDeclarativeDomImport7versionEv @ 1332 NONAME
+	_ZNK21QDeclarativeDomImport9qualifierEv @ 1333 NONAME
+	_ZNK21QDeclarativeDomObject10objectTypeEv @ 1334 NONAME
+	_ZNK21QDeclarativeDomObject10propertiesEv @ 1335 NONAME
+	_ZNK21QDeclarativeDomObject11isComponentEv @ 1336 NONAME
+	_ZNK21QDeclarativeDomObject11toComponentEv @ 1337 NONAME
+	_ZNK21QDeclarativeDomObject12isCustomTypeEv @ 1338 NONAME
+	_ZNK21QDeclarativeDomObject14customTypeDataEv @ 1339 NONAME
+	_ZNK21QDeclarativeDomObject15dynamicPropertyERK10QByteArray @ 1340 NONAME
+	_ZNK21QDeclarativeDomObject15objectClassNameEv @ 1341 NONAME
+	_ZNK21QDeclarativeDomObject17dynamicPropertiesEv @ 1342 NONAME
+	_ZNK21QDeclarativeDomObject22objectTypeMajorVersionEv @ 1343 NONAME
+	_ZNK21QDeclarativeDomObject22objectTypeMinorVersionEv @ 1344 NONAME
+	_ZNK21QDeclarativeDomObject3urlEv @ 1345 NONAME
+	_ZNK21QDeclarativeDomObject6lengthEv @ 1346 NONAME
+	_ZNK21QDeclarativeDomObject7isValidEv @ 1347 NONAME
+	_ZNK21QDeclarativeDomObject8objectIdEv @ 1348 NONAME
+	_ZNK21QDeclarativeDomObject8positionEv @ 1349 NONAME
+	_ZNK21QDeclarativeDomObject8propertyERK10QByteArray @ 1350 NONAME
+	_ZNK21QDeclarativeListModel10metaObjectEv @ 1351 NONAME
+	_ZNK21QDeclarativeListModel3getEi @ 1352 NONAME
+	_ZNK21QDeclarativeListModel4dataEiRK5QListIiE @ 1353 NONAME
+	_ZNK21QDeclarativeListModel4dataEii @ 1354 NONAME
+	_ZNK21QDeclarativeListModel5countEv @ 1355 NONAME
+	_ZNK21QDeclarativeListModel5rolesEv @ 1356 NONAME
+	_ZNK21QDeclarativeListModel8toStringEi @ 1357 NONAME
+	_ZNK21QDeclarativeRectangle10metaObjectEv @ 1358 NONAME
+	_ZNK21QDeclarativeRectangle12boundingRectEv @ 1359 NONAME
+	_ZNK21QDeclarativeRectangle5colorEv @ 1360 NONAME
+	_ZNK21QDeclarativeRectangle6radiusEv @ 1361 NONAME
+	_ZNK21QDeclarativeRectangle8gradientEv @ 1362 NONAME
+	_ZNK21QDeclarativeScaleGrid10metaObjectEv @ 1363 NONAME
+	_ZNK21QDeclarativeScaleGrid6isNullEv @ 1364 NONAME
+	_ZNK21QDeclarativeValueType10metaObjectEv @ 1365 NONAME
+	_ZNK22QDeclarativeDebugQuery10metaObjectEv @ 1366 NONAME
+	_ZNK22QDeclarativeDebugQuery5stateEv @ 1367 NONAME
+	_ZNK22QDeclarativeDebugQuery9isWaitingEv @ 1368 NONAME
+	_ZNK22QDeclarativeDebugWatch10metaObjectEv @ 1369 NONAME
+	_ZNK22QDeclarativeDebugWatch13objectDebugIdEv @ 1370 NONAME
+	_ZNK22QDeclarativeDebugWatch5stateEv @ 1371 NONAME
+	_ZNK22QDeclarativeDebugWatch7queryIdEv @ 1372 NONAME
+	_ZNK22QDeclarativeExpression10expressionEv @ 1373 NONAME
+	_ZNK22QDeclarativeExpression10lineNumberEv @ 1374 NONAME
+	_ZNK22QDeclarativeExpression10metaObjectEv @ 1375 NONAME
+	_ZNK22QDeclarativeExpression10sourceFileEv @ 1376 NONAME
+	_ZNK22QDeclarativeExpression11scopeObjectEv @ 1377 NONAME
+	_ZNK22QDeclarativeExpression20notifyOnValueChangedEv @ 1378 NONAME
+	_ZNK22QDeclarativeExpression5errorEv @ 1379 NONAME
+	_ZNK22QDeclarativeExpression6engineEv @ 1380 NONAME
+	_ZNK22QDeclarativeExpression7contextEv @ 1381 NONAME
+	_ZNK22QDeclarativeExpression8hasErrorEv @ 1382 NONAME
+	_ZNK22QDeclarativeStateGroup10metaObjectEv @ 1383 NONAME
+	_ZNK22QDeclarativeStateGroup5stateEv @ 1384 NONAME
+	_ZNK22QDeclarativeStateGroup6statesEv @ 1385 NONAME
+	_ZNK22QDeclarativeStateGroup9findStateERK7QString @ 1386 NONAME
+	_ZNK22QDeclarativeTransition10metaObjectEv @ 1387 NONAME
+	_ZNK22QDeclarativeTransition10reversibleEv @ 1388 NONAME
+	_ZNK22QDeclarativeTransition7toStateEv @ 1389 NONAME
+	_ZNK22QDeclarativeTransition9fromStateEv @ 1390 NONAME
+	_ZNK23QDeclarativeDebugClient10metaObjectEv @ 1391 NONAME
+	_ZNK23QDeclarativeDebugClient11isConnectedEv @ 1392 NONAME
+	_ZNK23QDeclarativeDebugClient4nameEv @ 1393 NONAME
+	_ZNK23QDeclarativeDebugClient9isEnabledEv @ 1394 NONAME
+	_ZNK23QDeclarativeDomDocument10rootObjectEv @ 1395 NONAME
+	_ZNK23QDeclarativeDomDocument6errorsEv @ 1396 NONAME
+	_ZNK23QDeclarativeDomDocument7importsEv @ 1397 NONAME
+	_ZNK23QDeclarativeDomProperty12propertyNameEv @ 1398 NONAME
+	_ZNK23QDeclarativeDomProperty17isDefaultPropertyEv @ 1399 NONAME
+	_ZNK23QDeclarativeDomProperty17propertyNamePartsEv @ 1400 NONAME
+	_ZNK23QDeclarativeDomProperty5valueEv @ 1401 NONAME
+	_ZNK23QDeclarativeDomProperty6lengthEv @ 1402 NONAME
+	_ZNK23QDeclarativeDomProperty7isValidEv @ 1403 NONAME
+	_ZNK23QDeclarativeDomProperty8positionEv @ 1404 NONAME
+	_ZNK23QDeclarativeEngineDebug10metaObjectEv @ 1405 NONAME
+	_ZNK23QDeclarativeItemPrivate14verticalCenterEv @ 1406 NONAME
+	_ZNK23QDeclarativeItemPrivate16horizontalCenterEv @ 1407 NONAME
+	_ZNK23QDeclarativeItemPrivate22computeTransformOriginEv @ 1408 NONAME
+	_ZNK23QDeclarativeItemPrivate3topEv @ 1409 NONAME
+	_ZNK23QDeclarativeItemPrivate4leftEv @ 1410 NONAME
+	_ZNK23QDeclarativeItemPrivate5rightEv @ 1411 NONAME
+	_ZNK23QDeclarativeItemPrivate5stateEv @ 1412 NONAME
+	_ZNK23QDeclarativeItemPrivate5widthEv @ 1413 NONAME
+	_ZNK23QDeclarativeItemPrivate6bottomEv @ 1414 NONAME
+	_ZNK23QDeclarativeItemPrivate6heightEv @ 1415 NONAME
+	_ZNK23QDeclarativeItemPrivate8baselineEv @ 1416 NONAME
+	_ZNK23QDeclarativePropertyMap10metaObjectEv @ 1417 NONAME
+	_ZNK23QDeclarativePropertyMap4keysEv @ 1418 NONAME
+	_ZNK23QDeclarativePropertyMap4sizeEv @ 1419 NONAME
+	_ZNK23QDeclarativePropertyMap5countEv @ 1420 NONAME
+	_ZNK23QDeclarativePropertyMap5valueERK7QString @ 1421 NONAME
+	_ZNK23QDeclarativePropertyMap7isEmptyEv @ 1422 NONAME
+	_ZNK23QDeclarativePropertyMap8containsERK7QString @ 1423 NONAME
+	_ZNK23QDeclarativePropertyMapixERK7QString @ 1424 NONAME
+	_ZNK24QDeclarativeCustomParser11resolveTypeERK10QByteArray @ 1425 NONAME
+	_ZNK24QDeclarativeCustomParser12evaluateEnumERK10QByteArray @ 1426 NONAME
+	_ZNK24QDeclarativeDebugService10metaObjectEv @ 1427 NONAME
+	_ZNK24QDeclarativeDebugService4nameEv @ 1428 NONAME
+	_ZNK24QDeclarativeDebugService9isEnabledEv @ 1429 NONAME
+	_ZNK24QDeclarativeDomComponent13componentRootEv @ 1430 NONAME
+	_ZNK24QDeclarativeScriptString11scopeObjectEv @ 1431 NONAME
+	_ZNK24QDeclarativeScriptString6scriptEv @ 1432 NONAME
+	_ZNK24QDeclarativeScriptString7contextEv @ 1433 NONAME
+	_ZNK25QDeclarativeImageProvider9imageTypeEv @ 1434 NONAME
+	_ZNK25QDeclarativeListReference15listElementTypeEv @ 1435 NONAME
+	_ZNK25QDeclarativeListReference2atEi @ 1436 NONAME
+	_ZNK25QDeclarativeListReference5canAtEv @ 1437 NONAME
+	_ZNK25QDeclarativeListReference5clearEv @ 1438 NONAME
+	_ZNK25QDeclarativeListReference5countEv @ 1439 NONAME
+	_ZNK25QDeclarativeListReference6appendEP7QObject @ 1440 NONAME
+	_ZNK25QDeclarativeListReference6objectEv @ 1441 NONAME
+	_ZNK25QDeclarativeListReference7isValidEv @ 1442 NONAME
+	_ZNK25QDeclarativeListReference8canClearEv @ 1443 NONAME
+	_ZNK25QDeclarativeListReference8canCountEv @ 1444 NONAME
+	_ZNK25QDeclarativeListReference9canAppendEv @ 1445 NONAME
+	_ZNK26QDeclarativeOpenMetaObject4nameEi @ 1446 NONAME
+	_ZNK26QDeclarativeOpenMetaObject4typeEv @ 1447 NONAME
+	_ZNK26QDeclarativeOpenMetaObject5countEv @ 1448 NONAME
+	_ZNK26QDeclarativeOpenMetaObject5valueERK10QByteArray @ 1449 NONAME
+	_ZNK26QDeclarativeOpenMetaObject5valueEi @ 1450 NONAME
+	_ZNK26QDeclarativeOpenMetaObject6objectEv @ 1451 NONAME
+	_ZNK26QDeclarativeOpenMetaObject6parentEv @ 1452 NONAME
+	_ZNK26QDeclarativeOpenMetaObject8hasValueEi @ 1453 NONAME
+	_ZNK26QDeclarativeStateOperation10metaObjectEv @ 1454 NONAME
+	_ZNK27QDeclarativeAbstractBinding10expressionEv @ 1455 NONAME
+	_ZNK27QDeclarativeDebugConnection10metaObjectEv @ 1456 NONAME
+	_ZNK27QDeclarativeDebugConnection11isConnectedEv @ 1457 NONAME
+	_ZNK27QDeclarativeDomValueBinding7bindingEv @ 1458 NONAME
+	_ZNK27QDeclarativeDomValueLiteral7literalEv @ 1459 NONAME
+	_ZNK27QDeclarativeExtensionPlugin10metaObjectEv @ 1460 NONAME
+	_ZNK27QDeclarativeGridScaledImage10gridBottomEv @ 1461 NONAME
+	_ZNK27QDeclarativeGridScaledImage7gridTopEv @ 1462 NONAME
+	_ZNK27QDeclarativeGridScaledImage7isValidEv @ 1463 NONAME
+	_ZNK27QDeclarativeGridScaledImage8gridLeftEv @ 1464 NONAME
+	_ZNK27QDeclarativeGridScaledImage9gridRightEv @ 1465 NONAME
+	_ZNK27QDeclarativeGridScaledImage9pixmapUrlEv @ 1466 NONAME
+	_ZNK27QDeclarativePropertyPrivate11isValueTypeEv @ 1467 NONAME
+	_ZNK27QDeclarativePropertyPrivate12propertyTypeEv @ 1468 NONAME
+	_ZNK27QDeclarativePropertyPrivate20propertyTypeCategoryEv @ 1469 NONAME
+	_ZNK28QDeclarativeCustomParserNode10propertiesEv @ 1470 NONAME
+	_ZNK28QDeclarativeCustomParserNode4nameEv @ 1471 NONAME
+	_ZNK28QDeclarativeCustomParserNode8locationEv @ 1472 NONAME
+	_ZNK28QDeclarativeDebugObjectQuery10metaObjectEv @ 1473 NONAME
+	_ZNK28QDeclarativeDebugObjectQuery6objectEv @ 1474 NONAME
+	_ZNK29QDeclarativeDebugEnginesQuery10metaObjectEv @ 1475 NONAME
+	_ZNK29QDeclarativeDebugEnginesQuery7enginesEv @ 1476 NONAME
+	_ZNK30QDeclarativeDebugFileReference10lineNumberEv @ 1477 NONAME
+	_ZNK30QDeclarativeDebugFileReference12columnNumberEv @ 1478 NONAME
+	_ZNK30QDeclarativeDebugFileReference3urlEv @ 1479 NONAME
+	_ZNK30QDeclarativeDebugPropertyWatch10metaObjectEv @ 1480 NONAME
+	_ZNK30QDeclarativeDebugPropertyWatch4nameEv @ 1481 NONAME
+	_ZNK30QDeclarativeDomDynamicProperty12defaultValueEv @ 1482 NONAME
+	_ZNK30QDeclarativeDomDynamicProperty12propertyNameEv @ 1483 NONAME
+	_ZNK30QDeclarativeDomDynamicProperty12propertyTypeEv @ 1484 NONAME
+	_ZNK30QDeclarativeDomDynamicProperty16propertyTypeNameEv @ 1485 NONAME
+	_ZNK30QDeclarativeDomDynamicProperty17isDefaultPropertyEv @ 1486 NONAME
+	_ZNK30QDeclarativeDomDynamicProperty6lengthEv @ 1487 NONAME
+	_ZNK30QDeclarativeDomDynamicProperty7isAliasEv @ 1488 NONAME
+	_ZNK30QDeclarativeDomDynamicProperty7isValidEv @ 1489 NONAME
+	_ZNK30QDeclarativeDomDynamicProperty8positionEv @ 1490 NONAME
+	_ZNK30QDeclarativeOpenMetaObjectType12signalOffsetEv @ 1491 NONAME
+	_ZNK30QDeclarativeOpenMetaObjectType14propertyOffsetEv @ 1492 NONAME
+	_ZNK31QDeclarativeDomValueValueSource6objectEv @ 1493 NONAME
+	_ZNK32QDeclarativeCustomParserProperty14assignedValuesEv @ 1494 NONAME
+	_ZNK32QDeclarativeCustomParserProperty4nameEv @ 1495 NONAME
+	_ZNK32QDeclarativeCustomParserProperty6isListEv @ 1496 NONAME
+	_ZNK32QDeclarativeCustomParserProperty8locationEv @ 1497 NONAME
+	_ZNK32QDeclarativeDebugEngineReference4nameEv @ 1498 NONAME
+	_ZNK32QDeclarativeDebugEngineReference7debugIdEv @ 1499 NONAME
+	_ZNK32QDeclarativeDebugExpressionQuery10expressionEv @ 1500 NONAME
+	_ZNK32QDeclarativeDebugExpressionQuery10metaObjectEv @ 1501 NONAME
+	_ZNK32QDeclarativeDebugExpressionQuery6resultEv @ 1502 NONAME
+	_ZNK32QDeclarativeDebugObjectReference10propertiesEv @ 1503 NONAME
+	_ZNK32QDeclarativeDebugObjectReference14contextDebugIdEv @ 1504 NONAME
+	_ZNK32QDeclarativeDebugObjectReference4nameEv @ 1505 NONAME
+	_ZNK32QDeclarativeDebugObjectReference6sourceEv @ 1506 NONAME
+	_ZNK32QDeclarativeDebugObjectReference7debugIdEv @ 1507 NONAME
+	_ZNK32QDeclarativeDebugObjectReference8childrenEv @ 1508 NONAME
+	_ZNK32QDeclarativeDebugObjectReference8idStringEv @ 1509 NONAME
+	_ZNK32QDeclarativeDebugObjectReference9classNameEv @ 1510 NONAME
+	_ZNK33QDeclarativeDebugContextReference4nameEv @ 1511 NONAME
+	_ZNK33QDeclarativeDebugContextReference7debugIdEv @ 1512 NONAME
+	_ZNK33QDeclarativeDebugContextReference7objectsEv @ 1513 NONAME
+	_ZNK33QDeclarativeDebugContextReference8contextsEv @ 1514 NONAME
+	_ZNK33QDeclarativeDebugRootContextQuery10metaObjectEv @ 1515 NONAME
+	_ZNK33QDeclarativeDebugRootContextQuery11rootContextEv @ 1516 NONAME
+	_ZNK34QDeclarativeDebugPropertyReference13objectDebugIdEv @ 1517 NONAME
+	_ZNK34QDeclarativeDebugPropertyReference13valueTypeNameEv @ 1518 NONAME
+	_ZNK34QDeclarativeDebugPropertyReference15hasNotifySignalEv @ 1519 NONAME
+	_ZNK34QDeclarativeDebugPropertyReference4nameEv @ 1520 NONAME
+	_ZNK34QDeclarativeDebugPropertyReference5valueEv @ 1521 NONAME
+	_ZNK34QDeclarativeDebugPropertyReference7bindingEv @ 1522 NONAME
+	_ZNK36QDeclarativeDomValueValueInterceptor6objectEv @ 1523 NONAME
+	_ZNK38QDeclarativeDebugObjectExpressionWatch10expressionEv @ 1524 NONAME
+	_ZNK38QDeclarativeDebugObjectExpressionWatch10metaObjectEv @ 1525 NONAME
+	_ZNK7QPacket7isEmptyEv @ 1526 NONAME
+	_ZTI15QDeclarativePen @ 1527 NONAME
+	_ZTI15QPacketAutoSend @ 1528 NONAME
+	_ZTI15QPacketProtocol @ 1529 NONAME
+	_ZTI16QDeclarativeItem @ 1530 NONAME
+	_ZTI16QDeclarativeText @ 1531 NONAME
+	_ZTI16QDeclarativeView @ 1532 NONAME
+	_ZTI17QDeclarativeState @ 1533 NONAME
+	_ZTI18QDeclarativeEngine @ 1534 NONAME
+	_ZTI18QMetaObjectBuilder @ 1535 NONAME
+	_ZTI19QDeclarativeAnchors @ 1536 NONAME
+	_ZTI19QDeclarativeBinding @ 1537 NONAME
+	_ZTI19QDeclarativeContext @ 1538 NONAME
+	_ZTI19QListModelInterface @ 1539 NONAME
+	_ZTI20QDeclarativeBehavior @ 1540 NONAME
+	_ZTI21QDeclarativeComponent @ 1541 NONAME
+	_ZTI21QDeclarativeListModel @ 1542 NONAME
+	_ZTI21QDeclarativeRectangle @ 1543 NONAME
+	_ZTI21QDeclarativeScaleGrid @ 1544 NONAME
+	_ZTI21QDeclarativeValueType @ 1545 NONAME
+	_ZTI22QDeclarativeDebugQuery @ 1546 NONAME
+	_ZTI22QDeclarativeDebugWatch @ 1547 NONAME
+	_ZTI22QDeclarativeExpression @ 1548 NONAME
+	_ZTI22QDeclarativeStateGroup @ 1549 NONAME
+	_ZTI22QDeclarativeTransition @ 1550 NONAME
+	_ZTI23QDeclarativeDebugClient @ 1551 NONAME
+	_ZTI23QDeclarativeEngineDebug @ 1552 NONAME
+	_ZTI23QDeclarativeItemPrivate @ 1553 NONAME
+	_ZTI23QDeclarativePropertyMap @ 1554 NONAME
+	_ZTI24QDeclarativeCustomParser @ 1555 NONAME
+	_ZTI24QDeclarativeDebugService @ 1556 NONAME
+	_ZTI24QDeclarativeParserStatus @ 1557 NONAME
+	_ZTI25QDeclarativeImageProvider @ 1558 NONAME
+	_ZTI26QDeclarativeDebuggerStatus @ 1559 NONAME
+	_ZTI26QDeclarativeOpenMetaObject @ 1560 NONAME
+	_ZTI26QDeclarativeStateOperation @ 1561 NONAME
+	_ZTI27QDeclarativeAbstractBinding @ 1562 NONAME
+	_ZTI27QDeclarativeDebugConnection @ 1563 NONAME
+	_ZTI27QDeclarativeExtensionPlugin @ 1564 NONAME
+	_ZTI28QDeclarativeDebugObjectQuery @ 1565 NONAME
+	_ZTI29QDeclarativeDebugEnginesQuery @ 1566 NONAME
+	_ZTI30QDeclarativeDebugPropertyWatch @ 1567 NONAME
+	_ZTI30QDeclarativeExtensionInterface @ 1568 NONAME
+	_ZTI30QDeclarativeOpenMetaObjectType @ 1569 NONAME
+	_ZTI31QDeclarativePropertyValueSource @ 1570 NONAME
+	_ZTI32QDeclarativeDebugExpressionQuery @ 1571 NONAME
+	_ZTI33QDeclarativeDebugRootContextQuery @ 1572 NONAME
+	_ZTI36QDeclarativePropertyValueInterceptor @ 1573 NONAME
+	_ZTI38QDeclarativeDebugObjectExpressionWatch @ 1574 NONAME
+	_ZTI39QDeclarativeNetworkAccessManagerFactory @ 1575 NONAME
+	_ZTI7QPacket @ 1576 NONAME
+	_ZTV15QDeclarativePen @ 1577 NONAME
+	_ZTV15QPacketAutoSend @ 1578 NONAME
+	_ZTV15QPacketProtocol @ 1579 NONAME
+	_ZTV16QDeclarativeItem @ 1580 NONAME
+	_ZTV16QDeclarativeText @ 1581 NONAME
+	_ZTV16QDeclarativeView @ 1582 NONAME
+	_ZTV17QDeclarativeState @ 1583 NONAME
+	_ZTV18QDeclarativeEngine @ 1584 NONAME
+	_ZTV18QMetaObjectBuilder @ 1585 NONAME
+	_ZTV19QDeclarativeAnchors @ 1586 NONAME
+	_ZTV19QDeclarativeBinding @ 1587 NONAME
+	_ZTV19QDeclarativeContext @ 1588 NONAME
+	_ZTV19QListModelInterface @ 1589 NONAME
+	_ZTV20QDeclarativeBehavior @ 1590 NONAME
+	_ZTV21QDeclarativeComponent @ 1591 NONAME
+	_ZTV21QDeclarativeListModel @ 1592 NONAME
+	_ZTV21QDeclarativeRectangle @ 1593 NONAME
+	_ZTV21QDeclarativeScaleGrid @ 1594 NONAME
+	_ZTV21QDeclarativeValueType @ 1595 NONAME
+	_ZTV22QDeclarativeDebugQuery @ 1596 NONAME
+	_ZTV22QDeclarativeDebugWatch @ 1597 NONAME
+	_ZTV22QDeclarativeExpression @ 1598 NONAME
+	_ZTV22QDeclarativeStateGroup @ 1599 NONAME
+	_ZTV22QDeclarativeTransition @ 1600 NONAME
+	_ZTV23QDeclarativeDebugClient @ 1601 NONAME
+	_ZTV23QDeclarativeEngineDebug @ 1602 NONAME
+	_ZTV23QDeclarativeItemPrivate @ 1603 NONAME
+	_ZTV23QDeclarativePropertyMap @ 1604 NONAME
+	_ZTV24QDeclarativeCustomParser @ 1605 NONAME
+	_ZTV24QDeclarativeDebugService @ 1606 NONAME
+	_ZTV24QDeclarativeParserStatus @ 1607 NONAME
+	_ZTV25QDeclarativeImageProvider @ 1608 NONAME
+	_ZTV26QDeclarativeDebuggerStatus @ 1609 NONAME
+	_ZTV26QDeclarativeOpenMetaObject @ 1610 NONAME
+	_ZTV26QDeclarativeStateOperation @ 1611 NONAME
+	_ZTV27QDeclarativeAbstractBinding @ 1612 NONAME
+	_ZTV27QDeclarativeDebugConnection @ 1613 NONAME
+	_ZTV27QDeclarativeExtensionPlugin @ 1614 NONAME
+	_ZTV28QDeclarativeDebugObjectQuery @ 1615 NONAME
+	_ZTV29QDeclarativeDebugEnginesQuery @ 1616 NONAME
+	_ZTV30QDeclarativeDebugPropertyWatch @ 1617 NONAME
+	_ZTV30QDeclarativeOpenMetaObjectType @ 1618 NONAME
+	_ZTV31QDeclarativePropertyValueSource @ 1619 NONAME
+	_ZTV32QDeclarativeDebugExpressionQuery @ 1620 NONAME
+	_ZTV33QDeclarativeDebugRootContextQuery @ 1621 NONAME
+	_ZTV36QDeclarativePropertyValueInterceptor @ 1622 NONAME
+	_ZTV38QDeclarativeDebugObjectExpressionWatch @ 1623 NONAME
+	_ZTV39QDeclarativeNetworkAccessManagerFactory @ 1624 NONAME
+	_ZTV7QPacket @ 1625 NONAME
+	_ZThn16_N16QDeclarativeItem10classBeginEv @ 1626 NONAME
+	_ZThn16_N16QDeclarativeItem17componentCompleteEv @ 1627 NONAME
+	_ZThn16_N16QDeclarativeItemD0Ev @ 1628 NONAME
+	_ZThn16_N16QDeclarativeItemD1Ev @ 1629 NONAME
+	_ZThn16_N16QDeclarativeText17componentCompleteEv @ 1630 NONAME
+	_ZThn16_N16QDeclarativeTextD0Ev @ 1631 NONAME
+	_ZThn16_N16QDeclarativeTextD1Ev @ 1632 NONAME
+	_ZThn8_N16QDeclarativeItem10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 1633 NONAME
+	_ZThn8_N16QDeclarativeItem10sceneEventEP6QEvent @ 1634 NONAME
+	_ZThn8_N16QDeclarativeItem13keyPressEventEP9QKeyEvent @ 1635 NONAME
+	_ZThn8_N16QDeclarativeItem15keyReleaseEventEP9QKeyEvent @ 1636 NONAME
+	_ZThn8_N16QDeclarativeItem16inputMethodEventEP17QInputMethodEvent @ 1637 NONAME
+	_ZThn8_N16QDeclarativeItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 1638 NONAME
+	_ZThn8_N16QDeclarativeItemD0Ev @ 1639 NONAME
+	_ZThn8_N16QDeclarativeItemD1Ev @ 1640 NONAME
+	_ZThn8_N16QDeclarativeText15mousePressEventEP24QGraphicsSceneMouseEvent @ 1641 NONAME
+	_ZThn8_N16QDeclarativeText17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 1642 NONAME
+	_ZThn8_N16QDeclarativeText5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 1643 NONAME
+	_ZThn8_N16QDeclarativeTextD0Ev @ 1644 NONAME
+	_ZThn8_N16QDeclarativeTextD1Ev @ 1645 NONAME
+	_ZThn8_N16QDeclarativeViewD0Ev @ 1646 NONAME
+	_ZThn8_N16QDeclarativeViewD1Ev @ 1647 NONAME
+	_ZThn8_N19QDeclarativeBinding10setEnabledEb6QFlagsIN27QDeclarativePropertyPrivate9WriteFlagEE @ 1648 NONAME
+	_ZThn8_N19QDeclarativeBinding13propertyIndexEv @ 1649 NONAME
+	_ZThn8_N19QDeclarativeBinding6updateE6QFlagsIN27QDeclarativePropertyPrivate9WriteFlagEE @ 1650 NONAME
+	_ZThn8_N19QDeclarativeBindingD0Ev @ 1651 NONAME
+	_ZThn8_N19QDeclarativeBindingD1Ev @ 1652 NONAME
+	_ZThn8_N20QDeclarativeBehavior5writeERK8QVariant @ 1653 NONAME
+	_ZThn8_N20QDeclarativeBehavior9setTargetERK20QDeclarativeProperty @ 1654 NONAME
+	_ZThn8_N20QDeclarativeBehaviorD0Ev @ 1655 NONAME
+	_ZThn8_N20QDeclarativeBehaviorD1Ev @ 1656 NONAME
+	_ZThn8_N21QDeclarativeRectangle5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 1657 NONAME
+	_ZThn8_N22QDeclarativeStateGroup10classBeginEv @ 1658 NONAME
+	_ZThn8_N22QDeclarativeStateGroup17componentCompleteEv @ 1659 NONAME
+	_ZThn8_N22QDeclarativeStateGroupD0Ev @ 1660 NONAME
+	_ZThn8_N22QDeclarativeStateGroupD1Ev @ 1661 NONAME
+	_ZThn8_N27QDeclarativeExtensionPlugin16initializeEngineEP18QDeclarativeEnginePKc @ 1662 NONAME
+	_ZThn8_N27QDeclarativeExtensionPluginD0Ev @ 1663 NONAME
+	_ZThn8_N27QDeclarativeExtensionPluginD1Ev @ 1664 NONAME
+	_ZThn8_NK16QDeclarativeItem12boundingRectEv @ 1665 NONAME
+	_ZThn8_NK16QDeclarativeItem16inputMethodQueryEN2Qt16InputMethodQueryE @ 1666 NONAME
+	_ZThn8_NK16QDeclarativeText12boundingRectEv @ 1667 NONAME
+	_ZThn8_NK19QDeclarativeBinding10expressionEv @ 1668 NONAME
+	_ZThn8_NK21QDeclarativeRectangle12boundingRectEv @ 1669 NONAME
+	_Zls6QDebugP16QDeclarativeItem @ 1670 NONAME
+	_Zls6QDebugRK17QDeclarativeError @ 1671 NONAME
+	_ZlsR11QDataStreamRKN29QDeclarativeEngineDebugServer22QDeclarativeObjectDataE @ 1672 NONAME
+	_ZlsR11QDataStreamRKN29QDeclarativeEngineDebugServer26QDeclarativeObjectPropertyE @ 1673 NONAME
+	_ZrsR11QDataStreamRN29QDeclarativeEngineDebugServer22QDeclarativeObjectDataE @ 1674 NONAME
+	_ZrsR11QDataStreamRN29QDeclarativeEngineDebugServer26QDeclarativeObjectPropertyE @ 1675 NONAME
+	_ZN23QDeclarativeEngineDebug10newObjectsEv @ 1676 NONAME
 
diff --git a/src/s60installs/eabi/QtGuiu.def b/src/s60installs/eabi/QtGuiu.def
index c4ad848..c6d9ddb 100644
--- a/src/s60installs/eabi/QtGuiu.def
+++ b/src/s60installs/eabi/QtGuiu.def
@@ -5957,7 +5957,7 @@ EXPORTS
 	_ZN7QDialog16staticMetaObjectE @ 5956 NONAME DATA 16
 	_ZN7QDialog18setSizeGripEnabledEb @ 5957 NONAME
 	_ZN7QDialog19getStaticMetaObjectEv @ 5958 NONAME
-	_ZN7QDialog23symbianAdjustedPositionEv @ 5959 NONAME
+	_ZN7QDialog19s60AdjustedPositionEv @ 5959 NONAME ABSENT
 	_ZN7QDialog4doneEi @ 5960 NONAME
 	_ZN7QDialog4execEv @ 5961 NONAME
 	_ZN7QDialog4openEv @ 5962 NONAME
@@ -11821,275 +11821,276 @@ EXPORTS
 	_ZN24QImagePixmapCleanupHooks13isImageCachedERK6QImage @ 11820 NONAME
 	_ZN24QImagePixmapCleanupHooks14isPixmapCachedERK7QPixmap @ 11821 NONAME
 	_Z14qt_draw_glyphsP8QPainterPKjPK7QPointFi @ 11822 NONAME
-	_ZN10QZipReader5closeEv @ 11823 NONAME
-	_ZN10QZipReader8FileInfoC1ERKS0_ @ 11824 NONAME
-	_ZN10QZipReader8FileInfoC1Ev @ 11825 NONAME
-	_ZN10QZipReader8FileInfoC2ERKS0_ @ 11826 NONAME
-	_ZN10QZipReader8FileInfoC2Ev @ 11827 NONAME
-	_ZN10QZipReader8FileInfoD1Ev @ 11828 NONAME
-	_ZN10QZipReader8FileInfoD2Ev @ 11829 NONAME
-	_ZN10QZipReader8FileInfoaSERKS0_ @ 11830 NONAME
-	_ZN10QZipReaderC1EP9QIODevice @ 11831 NONAME
-	_ZN10QZipReaderC1ERK7QString6QFlagsIN9QIODevice12OpenModeFlagEE @ 11832 NONAME
-	_ZN10QZipReaderC2EP9QIODevice @ 11833 NONAME
-	_ZN10QZipReaderC2ERK7QString6QFlagsIN9QIODevice12OpenModeFlagEE @ 11834 NONAME
-	_ZN10QZipReaderD1Ev @ 11835 NONAME
-	_ZN10QZipReaderD2Ev @ 11836 NONAME
-	_ZN11QStaticText12setTextWidthEf @ 11837 NONAME
-	_ZN11QStaticText13setTextFormatEN2Qt10TextFormatE @ 11838 NONAME
-	_ZN11QStaticText18setPerformanceHintENS_15PerformanceHintE @ 11839 NONAME
-	_ZN11QStaticText6detachEv @ 11840 NONAME
-	_ZN11QStaticText7prepareERK10QTransformRK5QFont @ 11841 NONAME
-	_ZN11QStaticText7setTextERK7QString @ 11842 NONAME
-	_ZN11QStaticTextC1ERK7QString @ 11843 NONAME
-	_ZN11QStaticTextC1ERKS_ @ 11844 NONAME
-	_ZN11QStaticTextC1Ev @ 11845 NONAME
-	_ZN11QStaticTextC2ERK7QString @ 11846 NONAME
-	_ZN11QStaticTextC2ERKS_ @ 11847 NONAME
-	_ZN11QStaticTextC2Ev @ 11848 NONAME
-	_ZN11QStaticTextD1Ev @ 11849 NONAME
-	_ZN11QStaticTextD2Ev @ 11850 NONAME
-	_ZN11QStaticTextaSERKS_ @ 11851 NONAME
-	_ZN12QKeySequence6assignERK7QStringNS_14SequenceFormatE @ 11852 NONAME
-	_ZN12QKeySequenceC1ERK7QStringNS_14SequenceFormatE @ 11853 NONAME
-	_ZN12QKeySequenceC2ERK7QStringNS_14SequenceFormatE @ 11854 NONAME
-	_ZN12QLineControl5pasteEN10QClipboard4ModeE @ 11855 NONAME
-	_ZN12QPixmapCache10allPixmapsEv @ 11856 NONAME
-	_ZN12QPixmapCache20flushDetachedPixmapsEv @ 11857 NONAME
-	_ZN12QPixmapCache9totalUsedEv @ 11858 NONAME
-	_ZN12QTextControl5pasteEN10QClipboard4ModeE @ 11859 NONAME
-	_ZN13QGraphicsItem16updateMicroFocusEv @ 11860 NONAME
-	_ZN13QIconEngineV28iconNameEv @ 11861 NONAME
-	_ZN13QTextDocument19clearUndoRedoStacksENS_6StacksE @ 11862 NONAME
-	_ZN14QEglProperties13setDeviceTypeEi @ 11863 NONAME
-	_ZN14QPaintEngineEx19drawPixmapFragmentsEPKN8QPainter14PixmapFragmentEiRK7QPixmap6QFlagsINS0_18PixmapFragmentHintEE @ 11864 NONAME
-	_ZN14QWidgetPrivate6renderEP12QPaintDeviceRK6QPointRK7QRegion6QFlagsIN7QWidget10RenderFlagEEb @ 11865 NONAME
-	_ZN14QWindowSurface23setPartialUpdateSupportEb @ 11866 NONAME
-	_ZN15QGraphicsObject12widthChangedEv @ 11867 NONAME
-	_ZN15QGraphicsObject13heightChangedEv @ 11868 NONAME
-	_ZN15QGraphicsObject15childrenChangedEv @ 11869 NONAME
-	_ZN15QGraphicsObject16updateMicroFocusEv @ 11870 NONAME
-	_ZN15QGraphicsWidget13layoutChangedEv @ 11871 NONAME
-	_ZN15QGraphicsWidget15geometryChangedEv @ 11872 NONAME
-	_ZN15QGraphicsWidget21setAutoFillBackgroundEb @ 11873 NONAME
-	_ZN15QSplitterHandle11resizeEventEP12QResizeEvent @ 11874 NONAME
-	_ZN16QFileSystemModel15directoryLoadedERK7QString @ 11875 NONAME
-	_ZN16QPainterReplayer15processCommandsERK12QPaintBufferP8QPainterii @ 11876 NONAME
-	_ZN18QTextureGlyphCache8populateEP11QFontEngineiPKjPK11QFixedPoint @ 11877 NONAME
-	_ZN19QApplicationPrivate15getPixmapCursorEN2Qt11CursorShapeE @ 11878 NONAME
-	_ZN20QGraphicsItemPrivate10resetWidthEv @ 11879 NONAME
-	_ZN20QGraphicsItemPrivate11children_atEP24QDeclarativeListPropertyI15QGraphicsObjectEi @ 11880 NONAME
-	_ZN20QGraphicsItemPrivate11resetHeightEv @ 11881 NONAME
-	_ZN20QGraphicsItemPrivate12childrenListEv @ 11882 NONAME
-	_ZN20QGraphicsItemPrivate14children_countEP24QDeclarativeListPropertyI15QGraphicsObjectE @ 11883 NONAME
-	_ZN20QGraphicsItemPrivate15children_appendEP24QDeclarativeListPropertyI15QGraphicsObjectEPS1_ @ 11884 NONAME
-	_ZN20QGraphicsItemPrivate24prependGraphicsTransformEP18QGraphicsTransform @ 11885 NONAME
-	_ZN20QGraphicsItemPrivate30updatePaintedViewBoundingRectsEb @ 11886 NONAME
-	_ZN20QGraphicsItemPrivate8setWidthEf @ 11887 NONAME
-	_ZN20QGraphicsItemPrivate9setHeightEf @ 11888 NONAME
-	_ZN20QGraphicsViewPrivate10centerViewEN13QGraphicsView14ViewportAnchorE @ 11889 NONAME
-	_ZN20QGraphicsViewPrivate10updateRectERK5QRect @ 11890 NONAME
-	_ZN20QGraphicsViewPrivate12updateRegionERK6QRectFRK10QTransform @ 11891 NONAME
-	_ZN20QGraphicsViewPrivate12updateScrollEv @ 11892 NONAME
-	_ZN20QGraphicsViewPrivate13setUpdateClipEP13QGraphicsItem @ 11893 NONAME
-	_ZN20QGraphicsViewPrivate15storeMouseEventEP11QMouseEvent @ 11894 NONAME
-	_ZN20QGraphicsViewPrivate18storeDragDropEventEPK27QGraphicsSceneDragDropEvent @ 11895 NONAME
-	_ZN20QGraphicsViewPrivate19translateTouchEventEPS_P11QTouchEvent @ 11896 NONAME
-	_ZN20QGraphicsViewPrivate20_q_setViewportCursorERK7QCursor @ 11897 NONAME
-	_ZN20QGraphicsViewPrivate20replayLastMouseEventEv @ 11898 NONAME
-	_ZN20QGraphicsViewPrivate21freeStyleOptionsArrayEP24QStyleOptionGraphicsItem @ 11899 NONAME
-	_ZN20QGraphicsViewPrivate21mouseMoveEventHandlerEP11QMouseEvent @ 11900 NONAME
-	_ZN20QGraphicsViewPrivate21processPendingUpdatesEv @ 11901 NONAME
-	_ZN20QGraphicsViewPrivate21updateLastCenterPointEv @ 11902 NONAME
-	_ZN20QGraphicsViewPrivate22_q_unsetViewportCursorEv @ 11903 NONAME
-	_ZN20QGraphicsViewPrivate22allocStyleOptionsArrayEi @ 11904 NONAME
-	_ZN20QGraphicsViewPrivate22recalculateContentSizeEv @ 11905 NONAME
-	_ZN20QGraphicsViewPrivate26populateSceneDragDropEventEP27QGraphicsSceneDragDropEventP10QDropEvent @ 11906 NONAME
-	_ZN20QGraphicsViewPrivate28updateInputMethodSensitivityEv @ 11907 NONAME
-	_ZN20QGraphicsViewPrivateC1Ev @ 11908 NONAME
-	_ZN20QGraphicsViewPrivateC2Ev @ 11909 NONAME
-	_ZN23QImageTextureGlyphCache11fillTextureERKN18QTextureGlyphCache5CoordEj @ 11910 NONAME
-	_ZN23QImageTextureGlyphCache17createTextureDataEii @ 11911 NONAME
-	_ZN23QImageTextureGlyphCache17resizeTextureDataEii @ 11912 NONAME
-	_ZN26QAbstractScrollAreaPrivate14layoutChildrenEv @ 11913 NONAME
-	_ZN26QAbstractScrollAreaPrivate16replaceScrollBarEP10QScrollBarN2Qt11OrientationE @ 11914 NONAME
-	_ZN26QAbstractScrollAreaPrivate23_q_showOrHideScrollBarsEv @ 11915 NONAME
-	_ZN26QAbstractScrollAreaPrivate4initEv @ 11916 NONAME
-	_ZN26QAbstractScrollAreaPrivate9_q_hslideEi @ 11917 NONAME
-	_ZN26QAbstractScrollAreaPrivate9_q_vslideEi @ 11918 NONAME
-	_ZN26QAbstractScrollAreaPrivateC1Ev @ 11919 NONAME
-	_ZN26QAbstractScrollAreaPrivateC2Ev @ 11920 NONAME
-	_ZN4QEgl10extensionsEv @ 11921 NONAME
-	_ZN4QEgl11errorStringEi @ 11922 NONAME
-	_ZN4QEgl12chooseConfigEPK14QEglPropertiesNS_16PixelFormatMatchE @ 11923 NONAME
-	_ZN4QEgl12hasExtensionEPKc @ 11924 NONAME
-	_ZN4QEgl12nativePixmapEP7QPixmap @ 11925 NONAME
-	_ZN4QEgl12nativeWindowEP7QWidget @ 11926 NONAME
-	_ZN4QEgl13createSurfaceEP12QPaintDeviceiPK14QEglProperties @ 11927 NONAME
-	_ZN4QEgl13defaultConfigEiNS_3APIE6QFlagsINS_12ConfigOptionEE @ 11928 NONAME
-	_ZN4QEgl13nativeDisplayEv @ 11929 NONAME
-	_ZN4QEgl14dumpAllConfigsEv @ 11930 NONAME
-	_ZN4QEgl17eglCreateImageKHREiiiiPKi @ 11931 NONAME
-	_ZN4QEgl18eglDestroyImageKHREii @ 11932 NONAME
-	_ZN4QEgl7displayEv @ 11933 NONAME
-	_ZN6QColor12isValidColorERK7QString @ 11934 NONAME
-	_ZN6QColor18setColorFromStringERK7QString @ 11935 NONAME
-	_ZN6QLabel12setSelectionEii @ 11936 NONAME
-	_ZN7QPixmap16convertFromImageERK6QImage6QFlagsIN2Qt19ImageConversionFlagEE @ 11937 NONAME
-	_ZN7QWizard11pageRemovedEi @ 11938 NONAME
-	_ZN7QWizard13setSideWidgetEP7QWidget @ 11939 NONAME
-	_ZN7QWizard9pageAddedEi @ 11940 NONAME
-	_ZN8QPainter14PixmapFragment6createERK7QPointFRK6QRectFffff @ 11941 NONAME
-	_ZN8QPainter14drawStaticTextERK7QPointFRK11QStaticText @ 11942 NONAME
-	_ZN8QPainter19drawPixmapFragmentsEPKNS_14PixmapFragmentEiRK7QPixmap6QFlagsINS_18PixmapFragmentHintEE @ 11943 NONAME
-	_ZN8QToolBar17visibilityChangedEb @ 11944 NONAME
-	_ZN9QLineEdit18setPlaceholderTextERK7QString @ 11945 NONAME
-	_ZNK10QZipReader10extractAllERK7QString @ 11946 NONAME
-	_ZNK10QZipReader10isReadableEv @ 11947 NONAME
-	_ZNK10QZipReader11entryInfoAtEi @ 11948 NONAME
-	_ZNK10QZipReader12fileInfoListEv @ 11949 NONAME
-	_ZNK10QZipReader5countEv @ 11950 NONAME
-	_ZNK10QZipReader6deviceEv @ 11951 NONAME
-	_ZNK10QZipReader6existsEv @ 11952 NONAME
-	_ZNK10QZipReader6statusEv @ 11953 NONAME
-	_ZNK10QZipReader8FileInfo7isValidEv @ 11954 NONAME
-	_ZNK10QZipReader8fileDataERK7QString @ 11955 NONAME
-	_ZNK11QEglContext12configAttribEi @ 11956 NONAME
-	_ZNK11QStaticText10textFormatEv @ 11957 NONAME
-	_ZNK11QStaticText15performanceHintEv @ 11958 NONAME
-	_ZNK11QStaticText4sizeEv @ 11959 NONAME
-	_ZNK11QStaticText4textEv @ 11960 NONAME
-	_ZNK11QStaticText9textWidthEv @ 11961 NONAME
-	_ZNK11QStaticTexteqERKS_ @ 11962 NONAME
-	_ZNK11QStaticTextneERKS_ @ 11963 NONAME
-	_ZNK11QTextCursor15positionInBlockEv @ 11964 NONAME
-	_ZNK12QPaintBuffer13frameEndIndexEi @ 11965 NONAME
-	_ZNK12QPaintBuffer15frameStartIndexEi @ 11966 NONAME
-	_ZNK12QPaintBuffer15processCommandsEP8QPainterii @ 11967 NONAME
-	_ZNK12QPaintBuffer18commandDescriptionEi @ 11968 NONAME
-	_ZNK13QIntValidator5fixupER7QString @ 11969 NONAME
-	_ZNK14QPlainTextEdit8anchorAtERK6QPoint @ 11970 NONAME
-	_ZNK14QWindowSurface23hasPartialUpdateSupportEv @ 11971 NONAME
-	_ZNK15QGraphicsWidget18autoFillBackgroundEv @ 11972 NONAME
-	_ZNK19QItemSelectionRange7isEmptyEv @ 11973 NONAME
-	_ZNK20QGraphicsItemPrivate5widthEv @ 11974 NONAME
-	_ZNK20QGraphicsItemPrivate6heightEv @ 11975 NONAME
-	_ZNK20QGraphicsViewPrivate10mapToSceneERK6QRectF @ 11976 NONAME
-	_ZNK20QGraphicsViewPrivate10mapToSceneERK7QPointF @ 11977 NONAME
-	_ZNK20QGraphicsViewPrivate13mapToViewRectEPK13QGraphicsItemRK6QRectF @ 11978 NONAME
-	_ZNK20QGraphicsViewPrivate14mapRectToSceneERK5QRect @ 11979 NONAME
-	_ZNK20QGraphicsViewPrivate14verticalScrollEv @ 11980 NONAME
-	_ZNK20QGraphicsViewPrivate15mapToViewRegionEPK13QGraphicsItemRK6QRectF @ 11981 NONAME
-	_ZNK20QGraphicsViewPrivate16horizontalScrollEv @ 11982 NONAME
-	_ZNK20QGraphicsViewPrivate16mapRectFromSceneERK6QRectF @ 11983 NONAME
-	_ZNK20QGraphicsViewPrivate16rubberBandRegionEPK7QWidgetRK5QRect @ 11984 NONAME
-	_ZNK20QGraphicsViewPrivate9findItemsERK7QRegionPbRK10QTransform @ 11985 NONAME
-	_ZNK23QImageTextureGlyphCache11glyphMarginEv @ 11986 NONAME
-	_ZNK26QAbstractScrollAreaPrivate14contentsOffsetEv @ 11987 NONAME
-	_ZNK5QIcon4nameEv @ 11988 NONAME
-	_ZNK6QImage13bitPlaneCountEv @ 11989 NONAME
-	_ZNK6QImage13constScanLineEi @ 11990 NONAME
-	_ZNK6QImage9constBitsEv @ 11991 NONAME
-	_ZNK6QLabel12selectedTextEv @ 11992 NONAME
-	_ZNK6QLabel14selectionStartEv @ 11993 NONAME
-	_ZNK6QLabel15hasSelectedTextEv @ 11994 NONAME
-	_ZNK7QBezier11getSubRangeEff @ 11995 NONAME
-	_ZNK7QBezier12addToPolygonEP9QPolygonFf @ 11996 NONAME
-	_ZNK7QBezier5mapByERK10QTransform @ 11997 NONAME
-	_ZNK7QBezier9toPolygonEf @ 11998 NONAME
-	_ZNK7QWizard10sideWidgetEv @ 11999 NONAME
-	_ZNK9QLineEdit15placeholderTextEv @ 12000 NONAME
-	_ZNK9QTextLine17horizontalAdvanceEv @ 12001 NONAME
-	_ZTI20QGraphicsViewPrivate @ 12002 NONAME
-	_ZTI23QImageTextureGlyphCache @ 12003 NONAME
-	_ZTI26QAbstractScrollAreaPrivate @ 12004 NONAME
-	_ZTV20QGraphicsViewPrivate @ 12005 NONAME
-	_ZTV23QImageTextureGlyphCache @ 12006 NONAME
-	_ZTV26QAbstractScrollAreaPrivate @ 12007 NONAME
-	_ZN11QTextCursor20setVerticalMovementXEi @ 12008 NONAME
-	_ZN11QTextCursor23setKeepPositionOnInsertEb @ 12009 NONAME
-	_ZN19QApplicationPrivate23runtime_graphics_systemE @ 12010 NONAME DATA 1
-	_ZNK11QTextCursor17verticalMovementXEv @ 12011 NONAME
-	_ZNK11QTextCursor20keepPositionOnInsertEv @ 12012 NONAME
-	_ZNK12QFontMetrics5widthERK7QStringii @ 12013 NONAME
-	_ZN11QStaticText13setTextOptionERK11QTextOption @ 12014 NONAME
-	_ZNK10QTextBlock13textDirectionEv @ 12015 NONAME
+	_ZN10QImageData14convertInPlaceEN6QImage6FormatE6QFlagsIN2Qt19ImageConversionFlagEE @ 11823 NONAME
+	_ZN10QZipReader5closeEv @ 11824 NONAME
+	_ZN10QZipReader8FileInfoC1ERKS0_ @ 11825 NONAME
+	_ZN10QZipReader8FileInfoC1Ev @ 11826 NONAME
+	_ZN10QZipReader8FileInfoC2ERKS0_ @ 11827 NONAME
+	_ZN10QZipReader8FileInfoC2Ev @ 11828 NONAME
+	_ZN10QZipReader8FileInfoD1Ev @ 11829 NONAME
+	_ZN10QZipReader8FileInfoD2Ev @ 11830 NONAME
+	_ZN10QZipReader8FileInfoaSERKS0_ @ 11831 NONAME
+	_ZN10QZipReaderC1EP9QIODevice @ 11832 NONAME
+	_ZN10QZipReaderC1ERK7QString6QFlagsIN9QIODevice12OpenModeFlagEE @ 11833 NONAME
+	_ZN10QZipReaderC2EP9QIODevice @ 11834 NONAME
+	_ZN10QZipReaderC2ERK7QString6QFlagsIN9QIODevice12OpenModeFlagEE @ 11835 NONAME
+	_ZN10QZipReaderD1Ev @ 11836 NONAME
+	_ZN10QZipReaderD2Ev @ 11837 NONAME
+	_ZN11QEglContext21swapBuffersRegion2NOKEiPK7QRegion @ 11838 NONAME
+	_ZN11QPixmapData15fromImageReaderEP12QImageReader6QFlagsIN2Qt19ImageConversionFlagEE @ 11839 NONAME
+	_ZN11QStaticText12setTextWidthEf @ 11840 NONAME
+	_ZN11QStaticText13setTextFormatEN2Qt10TextFormatE @ 11841 NONAME
+	_ZN11QStaticText13setTextOptionERK11QTextOption @ 11842 NONAME
+	_ZN11QStaticText18setPerformanceHintENS_15PerformanceHintE @ 11843 NONAME
+	_ZN11QStaticText6detachEv @ 11844 NONAME
+	_ZN11QStaticText7prepareERK10QTransformRK5QFont @ 11845 NONAME
+	_ZN11QStaticText7setTextERK7QString @ 11846 NONAME
+	_ZN11QStaticTextC1ERK7QString @ 11847 NONAME
+	_ZN11QStaticTextC1ERKS_ @ 11848 NONAME
+	_ZN11QStaticTextC1Ev @ 11849 NONAME
+	_ZN11QStaticTextC2ERK7QString @ 11850 NONAME
+	_ZN11QStaticTextC2ERKS_ @ 11851 NONAME
+	_ZN11QStaticTextC2Ev @ 11852 NONAME
+	_ZN11QStaticTextD1Ev @ 11853 NONAME
+	_ZN11QStaticTextD2Ev @ 11854 NONAME
+	_ZN11QStaticTextaSERKS_ @ 11855 NONAME
+	_ZN11QTextCursor20setVerticalMovementXEi @ 11856 NONAME
+	_ZN11QTextCursor23setKeepPositionOnInsertEb @ 11857 NONAME
+	_ZN12QKeySequence6assignERK7QStringNS_14SequenceFormatE @ 11858 NONAME
+	_ZN12QKeySequenceC1ERK7QStringNS_14SequenceFormatE @ 11859 NONAME
+	_ZN12QKeySequenceC2ERK7QStringNS_14SequenceFormatE @ 11860 NONAME
+	_ZN12QLineControl5pasteEN10QClipboard4ModeE @ 11861 NONAME
+	_ZN12QPixmapCache10allPixmapsEv @ 11862 NONAME
+	_ZN12QPixmapCache20flushDetachedPixmapsEv @ 11863 NONAME
+	_ZN12QPixmapCache9totalUsedEv @ 11864 NONAME
+	_ZN12QTextControl5pasteEN10QClipboard4ModeE @ 11865 NONAME
+	_ZN13QGraphicsItem16updateMicroFocusEv @ 11866 NONAME
+	_ZN13QIconEngineV28iconNameEv @ 11867 NONAME
+	_ZN13QS60MainAppUi11HandleErrorEiRK14SExtendedErrorR6TDes16S4_ @ 11868 NONAME
+	_ZN13QS60MainAppUi13PrepareToExitEv @ 11869 NONAME
+	_ZN13QS60MainAppUi15MopSupplyObjectE8TTypeUid @ 11870 NONAME
+	_ZN13QS60MainAppUi15ProcessCommandLEi @ 11871 NONAME
+	_ZN13QS60MainAppUi18HandleSystemEventLERK8TWsEvent @ 11872 NONAME
+	_ZN13QS60MainAppUi19Reserved_MtsmObjectEv @ 11873 NONAME
+	_ZN13QS60MainAppUi21Reserved_MtsmPositionEv @ 11874 NONAME
+	_ZN13QS60MainAppUi22HandleForegroundEventLEi @ 11875 NONAME
+	_ZN13QS60MainAppUi22HandleViewDeactivationERK10TVwsViewIdS2_ @ 11876 NONAME
+	_ZN13QS60MainAppUi25HandleTouchPaneSizeChangeEv @ 11877 NONAME
+	_ZN13QS60MainAppUi26HandleScreenDeviceChangedLEv @ 11878 NONAME
+	_ZN13QS60MainAppUi31HandleApplicationSpecificEventLEiRK8TWsEvent @ 11879 NONAME
+	_ZN13QS60MainAppUi4ExitEv @ 11880 NONAME
+	_ZN13QS60MainAppUi9SetFadedLEi @ 11881 NONAME
+	_ZN13QTextDocument19clearUndoRedoStacksENS_6StacksE @ 11882 NONAME
+	_ZN14QEglProperties13setDeviceTypeEi @ 11883 NONAME
+	_ZN14QGraphicsScale13xScaleChangedEv @ 11884 NONAME
+	_ZN14QGraphicsScale13yScaleChangedEv @ 11885 NONAME
+	_ZN14QGraphicsScale13zScaleChangedEv @ 11886 NONAME
+	_ZN14QPaintEngineEx19drawPixmapFragmentsEPKN8QPainter14PixmapFragmentEiRK7QPixmap6QFlagsINS0_18PixmapFragmentHintEE @ 11887 NONAME
+	_ZN14QWidgetPrivate6renderEP12QPaintDeviceRK6QPointRK7QRegion6QFlagsIN7QWidget10RenderFlagEEb @ 11888 NONAME
+	_ZN14QWindowSurface23setPartialUpdateSupportEb @ 11889 NONAME
+	_ZN15QGraphicsObject12widthChangedEv @ 11890 NONAME
+	_ZN15QGraphicsObject13heightChangedEv @ 11891 NONAME
+	_ZN15QGraphicsObject15childrenChangedEv @ 11892 NONAME
+	_ZN15QGraphicsObject16updateMicroFocusEv @ 11893 NONAME
+	_ZN15QGraphicsSystem16createPixmapDataEP11QPixmapData @ 11894 NONAME
+	_ZN15QGraphicsWidget13layoutChangedEv @ 11895 NONAME
+	_ZN15QGraphicsWidget15geometryChangedEv @ 11896 NONAME
+	_ZN15QGraphicsWidget21setAutoFillBackgroundEb @ 11897 NONAME
+	_ZN15QSplitterHandle11resizeEventEP12QResizeEvent @ 11898 NONAME
+	_ZN16QFileSystemModel15directoryLoadedERK7QString @ 11899 NONAME
+	_ZN16QPainterReplayer15processCommandsERK12QPaintBufferP8QPainterii @ 11900 NONAME
+	_ZN16QS60MainDocument9OpenFileLERP10CFileStoreR5RFile @ 11901 NONAME
+	_ZN16QS60MainDocument9OpenFileLEiRK7TDesC16R3RFs @ 11902 NONAME
+	_ZN17QRasterPixmapData15fromImageReaderEP12QImageReader6QFlagsIN2Qt19ImageConversionFlagEE @ 11903 NONAME
+	_ZN17QRasterPixmapData20createPixmapForImageER6QImage6QFlagsIN2Qt19ImageConversionFlagEEb @ 11904 NONAME
+	_ZN17QRasterPixmapData4copyEPK11QPixmapDataRK5QRect @ 11905 NONAME
+	_ZN17QRasterPixmapData8fromDataEPKhjPKc6QFlagsIN2Qt19ImageConversionFlagEE @ 11906 NONAME
+	_ZN18QRuntimePixmapData12readBackInfoEv @ 11907 NONAME
+	_ZN18QRuntimePixmapData12toNativeTypeEN11QPixmapData10NativeTypeE @ 11908 NONAME
+	_ZN18QRuntimePixmapData14fromNativeTypeEPvN11QPixmapData10NativeTypeE @ 11909 NONAME
+	_ZN18QRuntimePixmapData15setAlphaChannelERK7QPixmap @ 11910 NONAME
+	_ZN18QRuntimePixmapData4copyEPK11QPixmapDataRK5QRect @ 11911 NONAME
+	_ZN18QRuntimePixmapData4fillERK6QColor @ 11912 NONAME
+	_ZN18QRuntimePixmapData6bufferEv @ 11913 NONAME
+	_ZN18QRuntimePixmapData6resizeEii @ 11914 NONAME
+	_ZN18QRuntimePixmapData6scrollEiiRK5QRect @ 11915 NONAME
+	_ZN18QRuntimePixmapData7setMaskERK7QBitmap @ 11916 NONAME
+	_ZN18QRuntimePixmapData8fromDataEPKhjPKc6QFlagsIN2Qt19ImageConversionFlagEE @ 11917 NONAME
+	_ZN18QRuntimePixmapData8fromFileERK7QStringPKc6QFlagsIN2Qt19ImageConversionFlagEE @ 11918 NONAME
+	_ZN18QRuntimePixmapData9fromImageERK6QImage6QFlagsIN2Qt19ImageConversionFlagEE @ 11919 NONAME
+	_ZN18QRuntimePixmapDataC1EPK22QRuntimeGraphicsSystemN11QPixmapData9PixelTypeE @ 11920 NONAME
+	_ZN18QRuntimePixmapDataC2EPK22QRuntimeGraphicsSystemN11QPixmapData9PixelTypeE @ 11921 NONAME
+	_ZN18QRuntimePixmapDataD0Ev @ 11922 NONAME
+	_ZN18QRuntimePixmapDataD1Ev @ 11923 NONAME
+	_ZN18QRuntimePixmapDataD2Ev @ 11924 NONAME
+	_ZN18QTextureGlyphCache8populateEP11QFontEngineiPKjPK11QFixedPoint @ 11925 NONAME
+	_ZN19QApplicationPrivate14_q_aboutToQuitEv @ 11926 NONAME
+	_ZN19QApplicationPrivate15getPixmapCursorEN2Qt11CursorShapeE @ 11927 NONAME
+	_ZN19QApplicationPrivate23runtime_graphics_systemE @ 11928 NONAME DATA 1
+	_ZN19QS60MainApplication13NewAppServerLERP13CApaAppServer @ 11929 NONAME
+	_ZN19QS60MainApplication16PreDocConstructLEv @ 11930 NONAME
+	_ZN20QGraphicsItemPrivate10resetWidthEv @ 11931 NONAME
+	_ZN20QGraphicsItemPrivate11children_atEP24QDeclarativeListPropertyI15QGraphicsObjectEi @ 11932 NONAME
+	_ZN20QGraphicsItemPrivate11resetHeightEv @ 11933 NONAME
+	_ZN20QGraphicsItemPrivate12childrenListEv @ 11934 NONAME
+	_ZN20QGraphicsItemPrivate14children_countEP24QDeclarativeListPropertyI15QGraphicsObjectE @ 11935 NONAME
+	_ZN20QGraphicsItemPrivate15children_appendEP24QDeclarativeListPropertyI15QGraphicsObjectEPS1_ @ 11936 NONAME
+	_ZN20QGraphicsItemPrivate20focusScopeItemChangeEb @ 11937 NONAME
+	_ZN20QGraphicsItemPrivate24prependGraphicsTransformEP18QGraphicsTransform @ 11938 NONAME
+	_ZN20QGraphicsItemPrivate30updatePaintedViewBoundingRectsEb @ 11939 NONAME
+	_ZN20QGraphicsItemPrivate8setWidthEf @ 11940 NONAME
+	_ZN20QGraphicsItemPrivate9setHeightEf @ 11941 NONAME
+	_ZN20QGraphicsViewPrivate10centerViewEN13QGraphicsView14ViewportAnchorE @ 11942 NONAME
+	_ZN20QGraphicsViewPrivate10updateRectERK5QRect @ 11943 NONAME
+	_ZN20QGraphicsViewPrivate12updateRegionERK6QRectFRK10QTransform @ 11944 NONAME
+	_ZN20QGraphicsViewPrivate12updateScrollEv @ 11945 NONAME
+	_ZN20QGraphicsViewPrivate13setUpdateClipEP13QGraphicsItem @ 11946 NONAME
+	_ZN20QGraphicsViewPrivate15storeMouseEventEP11QMouseEvent @ 11947 NONAME
+	_ZN20QGraphicsViewPrivate18storeDragDropEventEPK27QGraphicsSceneDragDropEvent @ 11948 NONAME
+	_ZN20QGraphicsViewPrivate19translateTouchEventEPS_P11QTouchEvent @ 11949 NONAME
+	_ZN20QGraphicsViewPrivate20_q_setViewportCursorERK7QCursor @ 11950 NONAME
+	_ZN20QGraphicsViewPrivate20replayLastMouseEventEv @ 11951 NONAME
+	_ZN20QGraphicsViewPrivate21freeStyleOptionsArrayEP24QStyleOptionGraphicsItem @ 11952 NONAME
+	_ZN20QGraphicsViewPrivate21mouseMoveEventHandlerEP11QMouseEvent @ 11953 NONAME
+	_ZN20QGraphicsViewPrivate21processPendingUpdatesEv @ 11954 NONAME
+	_ZN20QGraphicsViewPrivate21updateLastCenterPointEv @ 11955 NONAME
+	_ZN20QGraphicsViewPrivate22_q_unsetViewportCursorEv @ 11956 NONAME
+	_ZN20QGraphicsViewPrivate22allocStyleOptionsArrayEi @ 11957 NONAME
+	_ZN20QGraphicsViewPrivate22recalculateContentSizeEv @ 11958 NONAME
+	_ZN20QGraphicsViewPrivate26populateSceneDragDropEventEP27QGraphicsSceneDragDropEventP10QDropEvent @ 11959 NONAME
+	_ZN20QGraphicsViewPrivate28updateInputMethodSensitivityEv @ 11960 NONAME
+	_ZN20QGraphicsViewPrivateC1Ev @ 11961 NONAME
+	_ZN20QGraphicsViewPrivateC2Ev @ 11962 NONAME
+	_ZN23QImageTextureGlyphCache11fillTextureERKN18QTextureGlyphCache5CoordEj @ 11963 NONAME
+	_ZN23QImageTextureGlyphCache17createTextureDataEii @ 11964 NONAME
+	_ZN23QImageTextureGlyphCache17resizeTextureDataEii @ 11965 NONAME
+	_ZN26QAbstractScrollAreaPrivate14layoutChildrenEv @ 11966 NONAME
+	_ZN26QAbstractScrollAreaPrivate16replaceScrollBarEP10QScrollBarN2Qt11OrientationE @ 11967 NONAME
+	_ZN26QAbstractScrollAreaPrivate23_q_showOrHideScrollBarsEv @ 11968 NONAME
+	_ZN26QAbstractScrollAreaPrivate4initEv @ 11969 NONAME
+	_ZN26QAbstractScrollAreaPrivate9_q_hslideEi @ 11970 NONAME
+	_ZN26QAbstractScrollAreaPrivate9_q_vslideEi @ 11971 NONAME
+	_ZN26QAbstractScrollAreaPrivateC1Ev @ 11972 NONAME
+	_ZN26QAbstractScrollAreaPrivateC2Ev @ 11973 NONAME
+	_ZN4QEgl10extensionsEv @ 11974 NONAME
+	_ZN4QEgl11errorStringEi @ 11975 NONAME
+	_ZN4QEgl12chooseConfigEPK14QEglPropertiesNS_16PixelFormatMatchE @ 11976 NONAME
+	_ZN4QEgl12hasExtensionEPKc @ 11977 NONAME
+	_ZN4QEgl12nativePixmapEP7QPixmap @ 11978 NONAME
+	_ZN4QEgl12nativeWindowEP7QWidget @ 11979 NONAME
+	_ZN4QEgl13createSurfaceEP12QPaintDeviceiPK14QEglProperties @ 11980 NONAME
+	_ZN4QEgl13defaultConfigEiNS_3APIE6QFlagsINS_12ConfigOptionEE @ 11981 NONAME
+	_ZN4QEgl13nativeDisplayEv @ 11982 NONAME
+	_ZN4QEgl14dumpAllConfigsEv @ 11983 NONAME
+	_ZN4QEgl17eglCreateImageKHREiiiiPKi @ 11984 NONAME
+	_ZN4QEgl18eglDestroyImageKHREii @ 11985 NONAME
+	_ZN4QEgl24eglSwapBuffersRegion2NOKEiiiPKi @ 11986 NONAME
+	_ZN4QEgl7displayEv @ 11987 NONAME
+	_ZN6QColor12isValidColorERK7QString @ 11988 NONAME
+	_ZN6QColor18setColorFromStringERK7QString @ 11989 NONAME
+	_ZN6QLabel12setSelectionEii @ 11990 NONAME
+	_ZN7QDialog23symbianAdjustedPositionEv @ 11991 NONAME
+	_ZN7QPixmap15fromImageReaderEP12QImageReader6QFlagsIN2Qt19ImageConversionFlagEE @ 11992 NONAME
+	_ZN7QPixmap16convertFromImageERK6QImage6QFlagsIN2Qt19ImageConversionFlagEE @ 11993 NONAME
+	_ZN7QWizard11pageRemovedEi @ 11994 NONAME
+	_ZN7QWizard13setSideWidgetEP7QWidget @ 11995 NONAME
+	_ZN7QWizard9pageAddedEi @ 11996 NONAME
+	_ZN8QPainter14PixmapFragment6createERK7QPointFRK6QRectFffff @ 11997 NONAME
+	_ZN8QPainter14drawStaticTextERK7QPointFRK11QStaticText @ 11998 NONAME
+	_ZN8QPainter19drawPixmapFragmentsEPKNS_14PixmapFragmentEiRK7QPixmap6QFlagsINS_18PixmapFragmentHintEE @ 11999 NONAME
+	_ZN8QToolBar17visibilityChangedEb @ 12000 NONAME
+	_ZN9QLineEdit18setPlaceholderTextERK7QString @ 12001 NONAME
+	_ZNK10QTextBlock13textDirectionEv @ 12002 NONAME
+	_ZNK10QZipReader10extractAllERK7QString @ 12003 NONAME
+	_ZNK10QZipReader10isReadableEv @ 12004 NONAME
+	_ZNK10QZipReader11entryInfoAtEi @ 12005 NONAME
+	_ZNK10QZipReader12fileInfoListEv @ 12006 NONAME
+	_ZNK10QZipReader5countEv @ 12007 NONAME
+	_ZNK10QZipReader6deviceEv @ 12008 NONAME
+	_ZNK10QZipReader6existsEv @ 12009 NONAME
+	_ZNK10QZipReader6statusEv @ 12010 NONAME
+	_ZNK10QZipReader8FileInfo7isValidEv @ 12011 NONAME
+	_ZNK10QZipReader8fileDataERK7QString @ 12012 NONAME
+	_ZNK11QEglContext12configAttribEi @ 12013 NONAME
+	_ZNK11QPixmapData7toImageERK5QRect @ 12014 NONAME
+	_ZNK11QStaticText10textFormatEv @ 12015 NONAME
 	_ZNK11QStaticText10textOptionEv @ 12016 NONAME
-	_ZNK11QTextEngine13isRightToLeftEv @ 12017 NONAME
-	_ZNK14QWidgetPrivate22childAtRecursiveHelperERK6QPointbb @ 12018 NONAME
-	_ZN10QImageData14convertInPlaceEN6QImage6FormatE6QFlagsIN2Qt19ImageConversionFlagEE @ 12019 NONAME
-	_ZN17QRasterPixmapData20createPixmapForImageER6QImage6QFlagsIN2Qt19ImageConversionFlagEEb @ 12020 NONAME
-	_ZN17QRasterPixmapData8fromDataEPKhjPKc6QFlagsIN2Qt19ImageConversionFlagEE @ 12021 NONAME
-	_ZN15QGraphicsSystem16createPixmapDataEP11QPixmapData @ 12022 NONAME
-	_ZN17QRasterPixmapData4copyEPK11QPixmapDataRK5QRect @ 12023 NONAME
-	_ZNK11QPixmapData7toImageERK5QRect @ 12024 NONAME
-	_ZNK17QRasterPixmapData7toImageERK5QRect @ 12025 NONAME
-	_ZTV15QGraphicsSystem @ 12026 NONAME
-	_ZN11QPixmapData15fromImageReaderEP12QImageReader6QFlagsIN2Qt19ImageConversionFlagEE @ 12027 NONAME
-	_ZN17QRasterPixmapData15fromImageReaderEP12QImageReader6QFlagsIN2Qt19ImageConversionFlagEE @ 12028 NONAME
-	_ZN18QRuntimePixmapData12readBackInfoEv @ 12029 NONAME
-	_ZN18QRuntimePixmapData12toNativeTypeEN11QPixmapData10NativeTypeE @ 12030 NONAME
-	_ZN18QRuntimePixmapData14fromNativeTypeEPvN11QPixmapData10NativeTypeE @ 12031 NONAME
-	_ZN18QRuntimePixmapData15setAlphaChannelERK7QPixmap @ 12032 NONAME
-	_ZN18QRuntimePixmapData4copyEPK11QPixmapDataRK5QRect @ 12033 NONAME
-	_ZN18QRuntimePixmapData4fillERK6QColor @ 12034 NONAME
-	_ZN18QRuntimePixmapData6bufferEv @ 12035 NONAME
-	_ZN18QRuntimePixmapData6resizeEii @ 12036 NONAME
-	_ZN18QRuntimePixmapData6scrollEiiRK5QRect @ 12037 NONAME
-	_ZN18QRuntimePixmapData7setMaskERK7QBitmap @ 12038 NONAME
-	_ZN18QRuntimePixmapData8fromDataEPKhjPKc6QFlagsIN2Qt19ImageConversionFlagEE @ 12039 NONAME
-	_ZN18QRuntimePixmapData8fromFileERK7QStringPKc6QFlagsIN2Qt19ImageConversionFlagEE @ 12040 NONAME
-	_ZN18QRuntimePixmapData9fromImageERK6QImage6QFlagsIN2Qt19ImageConversionFlagEE @ 12041 NONAME
-	_ZN18QRuntimePixmapDataC1EPK22QRuntimeGraphicsSystemN11QPixmapData9PixelTypeE @ 12042 NONAME
-	_ZN18QRuntimePixmapDataC2EPK22QRuntimeGraphicsSystemN11QPixmapData9PixelTypeE @ 12043 NONAME
-	_ZN18QRuntimePixmapDataD0Ev @ 12044 NONAME
-	_ZN18QRuntimePixmapDataD1Ev @ 12045 NONAME
-	_ZN18QRuntimePixmapDataD2Ev @ 12046 NONAME
-	_ZN7QPixmap15fromImageReaderEP12QImageReader6QFlagsIN2Qt19ImageConversionFlagEE @ 12047 NONAME
-	_ZNK18QRuntimePixmapData11memoryUsageEv @ 12048 NONAME ABSENT
-	_ZNK18QRuntimePixmapData11paintEngineEv @ 12049 NONAME
-	_ZNK18QRuntimePixmapData11runtimeDataEv @ 12050 NONAME
-	_ZNK18QRuntimePixmapData11transformedERK10QTransformN2Qt18TransformationModeE @ 12051 NONAME
-	_ZNK18QRuntimePixmapData12alphaChannelEv @ 12052 NONAME
-	_ZNK18QRuntimePixmapData15hasAlphaChannelEv @ 12053 NONAME
-	_ZNK18QRuntimePixmapData26createCompatiblePixmapDataEv @ 12054 NONAME
-	_ZNK18QRuntimePixmapData4maskEv @ 12055 NONAME
-	_ZNK18QRuntimePixmapData6metricEN12QPaintDevice17PaintDeviceMetricE @ 12056 NONAME
-	_ZNK18QRuntimePixmapData7toImageEv @ 12057 NONAME
-	_ZTI18QRuntimePixmapData @ 12058 NONAME
-	_ZTV18QRuntimePixmapData @ 12059 NONAME
-	_ZN11QEglContext21swapBuffersRegion2NOKEiPK7QRegion @ 12060 NONAME
-	_ZN4QEgl24eglSwapBuffersRegion2NOKEiiiPKi @ 12061 NONAME
-	_ZN13QS60MainAppUi11HandleErrorEiRK14SExtendedErrorR6TDes16S4_ @ 12062 NONAME
-	_ZN13QS60MainAppUi13PrepareToExitEv @ 12063 NONAME
-	_ZN13QS60MainAppUi15MopSupplyObjectE8TTypeUid @ 12064 NONAME
-	_ZN13QS60MainAppUi15ProcessCommandLEi @ 12065 NONAME
-	_ZN13QS60MainAppUi18HandleSystemEventLERK8TWsEvent @ 12066 NONAME
-	_ZN13QS60MainAppUi19Reserved_MtsmObjectEv @ 12067 NONAME
-	_ZN13QS60MainAppUi21Reserved_MtsmPositionEv @ 12068 NONAME
-	_ZN13QS60MainAppUi22HandleForegroundEventLEi @ 12069 NONAME
-	_ZN13QS60MainAppUi22HandleViewDeactivationERK10TVwsViewIdS2_ @ 12070 NONAME
-	_ZN13QS60MainAppUi25HandleTouchPaneSizeChangeEv @ 12071 NONAME
-	_ZN13QS60MainAppUi26HandleScreenDeviceChangedLEv @ 12072 NONAME
-	_ZN13QS60MainAppUi31HandleApplicationSpecificEventLEiRK8TWsEvent @ 12073 NONAME
-	_ZN13QS60MainAppUi4ExitEv @ 12074 NONAME
-	_ZN13QS60MainAppUi9SetFadedLEi @ 12075 NONAME
-	_ZN16QS60MainDocument9OpenFileLERP10CFileStoreR5RFile @ 12076 NONAME
-	_ZN16QS60MainDocument9OpenFileLEiRK7TDesC16R3RFs @ 12077 NONAME
-	_ZN19QS60MainApplication13NewAppServerLERP13CApaAppServer @ 12078 NONAME
-	_ZN19QS60MainApplication16PreDocConstructLEv @ 12079 NONAME
-	_ZNK13QS60MainAppUi15ApplicationRectEv @ 12080 NONAME
-	_ZNK19QS60MainApplication13OpenIniFileLCER3RFs @ 12081 NONAME
-	_ZThn100_N13QS60MainAppUi25HandleTouchPaneSizeChangeEv @ 12082 NONAME
-	_ZThn24_N13QS60MainAppUi15ProcessCommandLEi @ 12083 NONAME
-	_ZThn40_N13QS60MainAppUi15MopSupplyObjectE8TTypeUid @ 12084 NONAME
-	_ZThn92_N13QS60MainAppUi22HandleViewDeactivationERK10TVwsViewIdS2_ @ 12085 NONAME
-	_ZN18QTapAndHoldGesture10setTimeoutEi @ 12086 NONAME
-	_ZN18QTapAndHoldGesture7timeoutEv @ 12087 NONAME
-	_ZN20QGraphicsItemPrivate20focusScopeItemChangeEb @ 12088 NONAME
-	_ZN20QGraphicsItemPrivate26childrenBoundingRectHelperEP10QTransformP6QRectFb @ 12089 NONAME
-	_ZN14QGraphicsScale13xScaleChangedEv @ 12090 NONAME
-	_ZN14QGraphicsScale13yScaleChangedEv @ 12091 NONAME
-	_ZN14QGraphicsScale13zScaleChangedEv @ 12092 NONAME
-	_ZN19QApplicationPrivate14_q_aboutToQuitEv @ 12093 NONAME
+	_ZNK11QStaticText15performanceHintEv @ 12017 NONAME
+	_ZNK11QStaticText4sizeEv @ 12018 NONAME
+	_ZNK11QStaticText4textEv @ 12019 NONAME
+	_ZNK11QStaticText9textWidthEv @ 12020 NONAME
+	_ZNK11QStaticTexteqERKS_ @ 12021 NONAME
+	_ZNK11QStaticTextneERKS_ @ 12022 NONAME
+	_ZNK11QTextCursor15positionInBlockEv @ 12023 NONAME
+	_ZNK11QTextCursor17verticalMovementXEv @ 12024 NONAME
+	_ZNK11QTextCursor20keepPositionOnInsertEv @ 12025 NONAME
+	_ZNK11QTextEngine13isRightToLeftEv @ 12026 NONAME
+	_ZNK12QFontMetrics5widthERK7QStringii @ 12027 NONAME
+	_ZNK12QPaintBuffer13frameEndIndexEi @ 12028 NONAME
+	_ZNK12QPaintBuffer15frameStartIndexEi @ 12029 NONAME
+	_ZNK12QPaintBuffer15processCommandsEP8QPainterii @ 12030 NONAME
+	_ZNK12QPaintBuffer18commandDescriptionEi @ 12031 NONAME
+	_ZNK13QIntValidator5fixupER7QString @ 12032 NONAME
+	_ZNK13QS60MainAppUi15ApplicationRectEv @ 12033 NONAME
+	_ZNK14QPlainTextEdit8anchorAtERK6QPoint @ 12034 NONAME
+	_ZNK14QWidgetPrivate22childAtRecursiveHelperERK6QPointbb @ 12035 NONAME
+	_ZNK14QWindowSurface23hasPartialUpdateSupportEv @ 12036 NONAME
+	_ZNK15QGraphicsWidget18autoFillBackgroundEv @ 12037 NONAME
+	_ZNK17QRasterPixmapData7toImageERK5QRect @ 12038 NONAME
+	_ZNK18QRuntimePixmapData11paintEngineEv @ 12039 NONAME
+	_ZNK18QRuntimePixmapData11runtimeDataEv @ 12040 NONAME
+	_ZNK18QRuntimePixmapData11transformedERK10QTransformN2Qt18TransformationModeE @ 12041 NONAME
+	_ZNK18QRuntimePixmapData12alphaChannelEv @ 12042 NONAME
+	_ZNK18QRuntimePixmapData15hasAlphaChannelEv @ 12043 NONAME
+	_ZNK18QRuntimePixmapData26createCompatiblePixmapDataEv @ 12044 NONAME
+	_ZNK18QRuntimePixmapData4maskEv @ 12045 NONAME
+	_ZNK18QRuntimePixmapData6metricEN12QPaintDevice17PaintDeviceMetricE @ 12046 NONAME
+	_ZNK18QRuntimePixmapData7toImageEv @ 12047 NONAME
+	_ZNK19QItemSelectionRange7isEmptyEv @ 12048 NONAME
+	_ZNK19QS60MainApplication13OpenIniFileLCER3RFs @ 12049 NONAME
+	_ZNK20QGraphicsItemPrivate5widthEv @ 12050 NONAME
+	_ZNK20QGraphicsItemPrivate6heightEv @ 12051 NONAME
+	_ZNK20QGraphicsViewPrivate10mapToSceneERK6QRectF @ 12052 NONAME
+	_ZNK20QGraphicsViewPrivate10mapToSceneERK7QPointF @ 12053 NONAME
+	_ZNK20QGraphicsViewPrivate13mapToViewRectEPK13QGraphicsItemRK6QRectF @ 12054 NONAME
+	_ZNK20QGraphicsViewPrivate14mapRectToSceneERK5QRect @ 12055 NONAME
+	_ZNK20QGraphicsViewPrivate14verticalScrollEv @ 12056 NONAME
+	_ZNK20QGraphicsViewPrivate15mapToViewRegionEPK13QGraphicsItemRK6QRectF @ 12057 NONAME
+	_ZNK20QGraphicsViewPrivate16horizontalScrollEv @ 12058 NONAME
+	_ZNK20QGraphicsViewPrivate16mapRectFromSceneERK6QRectF @ 12059 NONAME
+	_ZNK20QGraphicsViewPrivate16rubberBandRegionEPK7QWidgetRK5QRect @ 12060 NONAME
+	_ZNK20QGraphicsViewPrivate9findItemsERK7QRegionPbRK10QTransform @ 12061 NONAME
+	_ZNK23QImageTextureGlyphCache11glyphMarginEv @ 12062 NONAME
+	_ZNK26QAbstractScrollAreaPrivate14contentsOffsetEv @ 12063 NONAME
+	_ZNK5QIcon4nameEv @ 12064 NONAME
+	_ZNK6QImage13bitPlaneCountEv @ 12065 NONAME
+	_ZNK6QImage13constScanLineEi @ 12066 NONAME
+	_ZNK6QImage9constBitsEv @ 12067 NONAME
+	_ZNK6QLabel12selectedTextEv @ 12068 NONAME
+	_ZNK6QLabel14selectionStartEv @ 12069 NONAME
+	_ZNK6QLabel15hasSelectedTextEv @ 12070 NONAME
+	_ZNK7QBezier11getSubRangeEff @ 12071 NONAME
+	_ZNK7QBezier12addToPolygonEP9QPolygonFf @ 12072 NONAME
+	_ZNK7QBezier5mapByERK10QTransform @ 12073 NONAME
+	_ZNK7QBezier9toPolygonEf @ 12074 NONAME
+	_ZNK7QWizard10sideWidgetEv @ 12075 NONAME
+	_ZNK9QLineEdit15placeholderTextEv @ 12076 NONAME
+	_ZNK9QTextLine17horizontalAdvanceEv @ 12077 NONAME
+	_ZTI18QRuntimePixmapData @ 12078 NONAME
+	_ZTI20QGraphicsViewPrivate @ 12079 NONAME
+	_ZTI23QImageTextureGlyphCache @ 12080 NONAME
+	_ZTI26QAbstractScrollAreaPrivate @ 12081 NONAME
+	_ZTV15QGraphicsSystem @ 12082 NONAME
+	_ZTV18QRuntimePixmapData @ 12083 NONAME
+	_ZTV20QGraphicsViewPrivate @ 12084 NONAME
+	_ZTV23QImageTextureGlyphCache @ 12085 NONAME
+	_ZTV26QAbstractScrollAreaPrivate @ 12086 NONAME
+	_ZThn100_N13QS60MainAppUi25HandleTouchPaneSizeChangeEv @ 12087 NONAME
+	_ZThn24_N13QS60MainAppUi15ProcessCommandLEi @ 12088 NONAME
+	_ZThn40_N13QS60MainAppUi15MopSupplyObjectE8TTypeUid @ 12089 NONAME
+	_ZThn92_N13QS60MainAppUi22HandleViewDeactivationERK10TVwsViewIdS2_ @ 12090 NONAME
+	_ZN11QFontEngine16lastRightBearingERK12QGlyphLayoutb @ 12091 NONAME
+	_ZN18QTapAndHoldGesture10setTimeoutEi @ 12092 NONAME
+	_ZN18QTapAndHoldGesture7timeoutEv @ 12093 NONAME
+	_ZN20QGraphicsItemPrivate26childrenBoundingRectHelperEP10QTransformP6QRectFb @ 12094 NONAME
 
diff --git a/src/s60installs/eabi/QtNetworku.def b/src/s60installs/eabi/QtNetworku.def
index 6b34a19..f13fab3 100644
--- a/src/s60installs/eabi/QtNetworku.def
+++ b/src/s60installs/eabi/QtNetworku.def
@@ -1009,164 +1009,163 @@ EXPORTS
 	_ZN13QBearerEngineD0Ev @ 1008 NONAME
 	_ZN13QBearerEngineD1Ev @ 1009 NONAME
 	_ZN13QBearerEngineD2Ev @ 1010 NONAME
-	_ZN15QNetworkRequest11setPriorityENS_8PriorityE @ 1011 NONAME
-	_ZN15QNetworkSession11qt_metacallEN11QMetaObject4CallEiPPv @ 1012 NONAME
-	_ZN15QNetworkSession11qt_metacastEPKc @ 1013 NONAME
-	_ZN15QNetworkSession12stateChangedENS_5StateE @ 1014 NONAME
-	_ZN15QNetworkSession13connectNotifyEPKc @ 1015 NONAME
-	_ZN15QNetworkSession13waitForOpenedEi @ 1016 NONAME
-	_ZN15QNetworkSession16disconnectNotifyEPKc @ 1017 NONAME
-	_ZN15QNetworkSession16staticMetaObjectE @ 1018 NONAME DATA 16
-	_ZN15QNetworkSession18setSessionPropertyERK7QStringRK8QVariant @ 1019 NONAME
-	_ZN15QNetworkSession19getStaticMetaObjectEv @ 1020 NONAME
-	_ZN15QNetworkSession25newConfigurationActivatedEv @ 1021 NONAME
-	_ZN15QNetworkSession29preferredConfigurationChangedERK21QNetworkConfigurationb @ 1022 NONAME
-	_ZN15QNetworkSession4openEv @ 1023 NONAME
-	_ZN15QNetworkSession4stopEv @ 1024 NONAME
-	_ZN15QNetworkSession5closeEv @ 1025 NONAME
-	_ZN15QNetworkSession5errorENS_12SessionErrorE @ 1026 NONAME
-	_ZN15QNetworkSession6acceptEv @ 1027 NONAME
-	_ZN15QNetworkSession6closedEv @ 1028 NONAME
-	_ZN15QNetworkSession6ignoreEv @ 1029 NONAME
-	_ZN15QNetworkSession6openedEv @ 1030 NONAME
-	_ZN15QNetworkSession6rejectEv @ 1031 NONAME
-	_ZN15QNetworkSession7migrateEv @ 1032 NONAME
-	_ZN15QNetworkSessionC1ERK21QNetworkConfigurationP7QObject @ 1033 NONAME
-	_ZN15QNetworkSessionC2ERK21QNetworkConfigurationP7QObject @ 1034 NONAME
-	_ZN15QNetworkSessionD0Ev @ 1035 NONAME
-	_ZN15QNetworkSessionD1Ev @ 1036 NONAME
-	_ZN15QNetworkSessionD2Ev @ 1037 NONAME
-	_ZN19QBearerEnginePlugin11qt_metacallEN11QMetaObject4CallEiPPv @ 1038 NONAME
-	_ZN19QBearerEnginePlugin11qt_metacastEPKc @ 1039 NONAME
-	_ZN19QBearerEnginePlugin16staticMetaObjectE @ 1040 NONAME DATA 16
-	_ZN19QBearerEnginePlugin19getStaticMetaObjectEv @ 1041 NONAME
-	_ZN19QBearerEnginePluginC2EP7QObject @ 1042 NONAME
-	_ZN19QBearerEnginePluginD0Ev @ 1043 NONAME
-	_ZN19QBearerEnginePluginD1Ev @ 1044 NONAME
-	_ZN19QBearerEnginePluginD2Ev @ 1045 NONAME
-	_ZN21QNetworkAccessManager16setConfigurationERK21QNetworkConfiguration @ 1046 NONAME
-	_ZN21QNetworkAccessManager17sendCustomRequestERK15QNetworkRequestRK10QByteArrayP9QIODevice @ 1047 NONAME
-	_ZN21QNetworkAccessManager20setNetworkAccessibleENS_20NetworkAccessibilityE @ 1048 NONAME
-	_ZN21QNetworkAccessManager23networkSessionConnectedEv @ 1049 NONAME
-	_ZN21QNetworkAccessManager24networkAccessibleChangedENS_20NetworkAccessibilityE @ 1050 NONAME
-	_ZN21QNetworkConfigurationC1ERKS_ @ 1051 NONAME
-	_ZN21QNetworkConfigurationC1Ev @ 1052 NONAME
-	_ZN21QNetworkConfigurationC2ERKS_ @ 1053 NONAME
-	_ZN21QNetworkConfigurationC2Ev @ 1054 NONAME
-	_ZN21QNetworkConfigurationD1Ev @ 1055 NONAME
-	_ZN21QNetworkConfigurationD2Ev @ 1056 NONAME
-	_ZN21QNetworkConfigurationaSERKS_ @ 1057 NONAME
-	_ZN22QNetworkSessionPrivate11qt_metacallEN11QMetaObject4CallEiPPv @ 1058 NONAME
-	_ZN22QNetworkSessionPrivate11qt_metacastEPKc @ 1059 NONAME
-	_ZN22QNetworkSessionPrivate12stateChangedEN15QNetworkSession5StateE @ 1060 NONAME
-	_ZN22QNetworkSessionPrivate16staticMetaObjectE @ 1061 NONAME DATA 16
-	_ZN22QNetworkSessionPrivate19getStaticMetaObjectEv @ 1062 NONAME
-	_ZN22QNetworkSessionPrivate25newConfigurationActivatedEv @ 1063 NONAME
-	_ZN22QNetworkSessionPrivate25quitPendingWaitsForOpenedEv @ 1064 NONAME
-	_ZN22QNetworkSessionPrivate29preferredConfigurationChangedERK21QNetworkConfigurationb @ 1065 NONAME
-	_ZN22QNetworkSessionPrivate5errorEN15QNetworkSession12SessionErrorE @ 1066 NONAME
-	_ZN22QNetworkSessionPrivate6closedEv @ 1067 NONAME
-	_ZN28QNetworkConfigurationManager11qt_metacallEN11QMetaObject4CallEiPPv @ 1068 NONAME
-	_ZN28QNetworkConfigurationManager11qt_metacastEPKc @ 1069 NONAME
-	_ZN28QNetworkConfigurationManager15updateCompletedEv @ 1070 NONAME
-	_ZN28QNetworkConfigurationManager16staticMetaObjectE @ 1071 NONAME DATA 16
-	_ZN28QNetworkConfigurationManager18configurationAddedERK21QNetworkConfiguration @ 1072 NONAME
-	_ZN28QNetworkConfigurationManager18onlineStateChangedEb @ 1073 NONAME
-	_ZN28QNetworkConfigurationManager19getStaticMetaObjectEv @ 1074 NONAME
-	_ZN28QNetworkConfigurationManager20configurationChangedERK21QNetworkConfiguration @ 1075 NONAME
-	_ZN28QNetworkConfigurationManager20configurationRemovedERK21QNetworkConfiguration @ 1076 NONAME
-	_ZN28QNetworkConfigurationManager20updateConfigurationsEv @ 1077 NONAME
-	_ZN28QNetworkConfigurationManagerC1EP7QObject @ 1078 NONAME
-	_ZN28QNetworkConfigurationManagerC2EP7QObject @ 1079 NONAME
-	_ZN28QNetworkConfigurationManagerD0Ev @ 1080 NONAME
-	_ZN28QNetworkConfigurationManagerD1Ev @ 1081 NONAME
-	_ZN28QNetworkConfigurationManagerD2Ev @ 1082 NONAME
-	_ZN35QNetworkConfigurationManagerPrivate11pollEnginesEv @ 1083 NONAME
-	_ZN35QNetworkConfigurationManagerPrivate11qt_metacallEN11QMetaObject4CallEiPPv @ 1084 NONAME
-	_ZN35QNetworkConfigurationManagerPrivate11qt_metacastEPKc @ 1085 NONAME
-	_ZN35QNetworkConfigurationManagerPrivate12capabilitiesEv @ 1086 NONAME
-	_ZN35QNetworkConfigurationManagerPrivate12startPollingEv @ 1087 NONAME
-	_ZN35QNetworkConfigurationManagerPrivate13enablePollingEv @ 1088 NONAME
-	_ZN35QNetworkConfigurationManagerPrivate14disablePollingEv @ 1089 NONAME
-	_ZN35QNetworkConfigurationManagerPrivate16staticMetaObjectE @ 1090 NONAME DATA 16
-	_ZN35QNetworkConfigurationManagerPrivate17allConfigurationsE6QFlagsIN21QNetworkConfiguration9StateFlagEE @ 1091 NONAME
-	_ZN35QNetworkConfigurationManagerPrivate18configurationAddedE28QExplicitlySharedDataPointerI28QNetworkConfigurationPrivateE @ 1092 NONAME
-	_ZN35QNetworkConfigurationManagerPrivate18configurationAddedERK21QNetworkConfiguration @ 1093 NONAME
-	_ZN35QNetworkConfigurationManagerPrivate18onlineStateChangedEb @ 1094 NONAME
-	_ZN35QNetworkConfigurationManagerPrivate19getStaticMetaObjectEv @ 1095 NONAME
-	_ZN35QNetworkConfigurationManagerPrivate20configurationChangedE28QExplicitlySharedDataPointerI28QNetworkConfigurationPrivateE @ 1096 NONAME
-	_ZN35QNetworkConfigurationManagerPrivate20configurationChangedERK21QNetworkConfiguration @ 1097 NONAME
-	_ZN35QNetworkConfigurationManagerPrivate20configurationRemovedE28QExplicitlySharedDataPointerI28QNetworkConfigurationPrivateE @ 1098 NONAME
-	_ZN35QNetworkConfigurationManagerPrivate20configurationRemovedERK21QNetworkConfiguration @ 1099 NONAME
-	_ZN35QNetworkConfigurationManagerPrivate20defaultConfigurationEv @ 1100 NONAME
-	_ZN35QNetworkConfigurationManagerPrivate20updateConfigurationsEv @ 1101 NONAME
-	_ZN35QNetworkConfigurationManagerPrivate27configurationFromIdentifierERK7QString @ 1102 NONAME
-	_ZN35QNetworkConfigurationManagerPrivate27configurationUpdateCompleteEv @ 1103 NONAME
-	_ZN35QNetworkConfigurationManagerPrivate31performAsyncConfigurationUpdateEv @ 1104 NONAME
-	_ZN35QNetworkConfigurationManagerPrivate5abortEv @ 1105 NONAME
-	_ZN35QNetworkConfigurationManagerPrivate7enginesEv @ 1106 NONAME
-	_ZN35QNetworkConfigurationManagerPrivate8isOnlineEv @ 1107 NONAME
-	_ZN35QNetworkConfigurationManagerPrivateC1Ev @ 1108 NONAME
-	_ZN35QNetworkConfigurationManagerPrivateC2Ev @ 1109 NONAME
-	_ZN35QNetworkConfigurationManagerPrivateD0Ev @ 1110 NONAME
-	_ZN35QNetworkConfigurationManagerPrivateD1Ev @ 1111 NONAME
-	_ZN35QNetworkConfigurationManagerPrivateD2Ev @ 1112 NONAME
-	_ZNK13QBearerEngine10metaObjectEv @ 1113 NONAME
-	_ZNK13QBearerEngine15requiresPollingEv @ 1114 NONAME
-	_ZNK13QBearerEngine19configurationsInUseEv @ 1115 NONAME
-	_ZNK13QNetworkReply14rawHeaderPairsEv @ 1116 NONAME
-	_ZNK15QNetworkRequest8priorityEv @ 1117 NONAME
-	_ZNK15QNetworkSession10activeTimeEv @ 1118 NONAME
-	_ZNK15QNetworkSession10metaObjectEv @ 1119 NONAME
-	_ZNK15QNetworkSession11errorStringEv @ 1120 NONAME
-	_ZNK15QNetworkSession12bytesWrittenEv @ 1121 NONAME
-	_ZNK15QNetworkSession13bytesReceivedEv @ 1122 NONAME
-	_ZNK15QNetworkSession13configurationEv @ 1123 NONAME
-	_ZNK15QNetworkSession15sessionPropertyERK7QString @ 1124 NONAME
-	_ZNK15QNetworkSession5errorEv @ 1125 NONAME
-	_ZNK15QNetworkSession5stateEv @ 1126 NONAME
-	_ZNK15QNetworkSession6isOpenEv @ 1127 NONAME
-	_ZNK15QNetworkSession9interfaceEv @ 1128 NONAME
-	_ZNK19QBearerEnginePlugin10metaObjectEv @ 1129 NONAME
-	_ZNK21QNetworkAccessManager13configurationEv @ 1130 NONAME
-	_ZNK21QNetworkAccessManager17networkAccessibleEv @ 1131 NONAME
-	_ZNK21QNetworkAccessManager19activeConfigurationEv @ 1132 NONAME
-	_ZNK21QNetworkConfiguration10bearerNameEv @ 1133 NONAME ABSENT
-	_ZNK21QNetworkConfiguration10identifierEv @ 1134 NONAME
-	_ZNK21QNetworkConfiguration18isRoamingAvailableEv @ 1135 NONAME
-	_ZNK21QNetworkConfiguration4nameEv @ 1136 NONAME
-	_ZNK21QNetworkConfiguration4typeEv @ 1137 NONAME
-	_ZNK21QNetworkConfiguration5stateEv @ 1138 NONAME
-	_ZNK21QNetworkConfiguration7isValidEv @ 1139 NONAME
-	_ZNK21QNetworkConfiguration7purposeEv @ 1140 NONAME
-	_ZNK21QNetworkConfiguration8childrenEv @ 1141 NONAME
-	_ZNK21QNetworkConfigurationeqERKS_ @ 1142 NONAME
-	_ZNK22QNetworkSessionPrivate10metaObjectEv @ 1143 NONAME
-	_ZNK28QNetworkConfigurationManager10metaObjectEv @ 1144 NONAME
-	_ZNK28QNetworkConfigurationManager12capabilitiesEv @ 1145 NONAME
-	_ZNK28QNetworkConfigurationManager17allConfigurationsE6QFlagsIN21QNetworkConfiguration9StateFlagEE @ 1146 NONAME
-	_ZNK28QNetworkConfigurationManager20defaultConfigurationEv @ 1147 NONAME
-	_ZNK28QNetworkConfigurationManager27configurationFromIdentifierERK7QString @ 1148 NONAME
-	_ZNK28QNetworkConfigurationManager8isOnlineEv @ 1149 NONAME
-	_ZNK35QNetworkConfigurationManagerPrivate10metaObjectEv @ 1150 NONAME
-	_ZTI13QBearerEngine @ 1151 NONAME
-	_ZTI15QNetworkSession @ 1152 NONAME
-	_ZTI19QBearerEnginePlugin @ 1153 NONAME
-	_ZTI22QNetworkSessionPrivate @ 1154 NONAME
-	_ZTI28QNetworkConfigurationManager @ 1155 NONAME
-	_ZTI29QBearerEngineFactoryInterface @ 1156 NONAME
-	_ZTI35QNetworkConfigurationManagerPrivate @ 1157 NONAME
-	_ZTV13QBearerEngine @ 1158 NONAME
-	_ZTV15QNetworkSession @ 1159 NONAME
-	_ZTV19QBearerEnginePlugin @ 1160 NONAME
-	_ZTV22QNetworkSessionPrivate @ 1161 NONAME
-	_ZTV28QNetworkConfigurationManager @ 1162 NONAME
-	_ZTV35QNetworkConfigurationManagerPrivate @ 1163 NONAME
-	_ZThn8_N19QBearerEnginePluginD0Ev @ 1164 NONAME
-	_ZThn8_N19QBearerEnginePluginD1Ev @ 1165 NONAME
-	_ZN14QAuthenticator9setOptionERK7QStringRK8QVariant @ 1166 NONAME
-	_ZNK14QAuthenticator6optionERK7QString @ 1167 NONAME
-	_ZNK14QAuthenticator7optionsEv @ 1168 NONAME
-	_ZNK21QNetworkConfiguration10bearerTypeEv @ 1169 NONAME
-	_ZNK21QNetworkConfiguration14bearerTypeNameEv @ 1170 NONAME
+	_ZN14QAuthenticator9setOptionERK7QStringRK8QVariant @ 1011 NONAME
+	_ZN15QNetworkRequest11setPriorityENS_8PriorityE @ 1012 NONAME
+	_ZN15QNetworkSession11qt_metacallEN11QMetaObject4CallEiPPv @ 1013 NONAME
+	_ZN15QNetworkSession11qt_metacastEPKc @ 1014 NONAME
+	_ZN15QNetworkSession12stateChangedENS_5StateE @ 1015 NONAME
+	_ZN15QNetworkSession13connectNotifyEPKc @ 1016 NONAME
+	_ZN15QNetworkSession13waitForOpenedEi @ 1017 NONAME
+	_ZN15QNetworkSession16disconnectNotifyEPKc @ 1018 NONAME
+	_ZN15QNetworkSession16staticMetaObjectE @ 1019 NONAME DATA 16
+	_ZN15QNetworkSession18setSessionPropertyERK7QStringRK8QVariant @ 1020 NONAME
+	_ZN15QNetworkSession19getStaticMetaObjectEv @ 1021 NONAME
+	_ZN15QNetworkSession25newConfigurationActivatedEv @ 1022 NONAME
+	_ZN15QNetworkSession29preferredConfigurationChangedERK21QNetworkConfigurationb @ 1023 NONAME
+	_ZN15QNetworkSession4openEv @ 1024 NONAME
+	_ZN15QNetworkSession4stopEv @ 1025 NONAME
+	_ZN15QNetworkSession5closeEv @ 1026 NONAME
+	_ZN15QNetworkSession5errorENS_12SessionErrorE @ 1027 NONAME
+	_ZN15QNetworkSession6acceptEv @ 1028 NONAME
+	_ZN15QNetworkSession6closedEv @ 1029 NONAME
+	_ZN15QNetworkSession6ignoreEv @ 1030 NONAME
+	_ZN15QNetworkSession6openedEv @ 1031 NONAME
+	_ZN15QNetworkSession6rejectEv @ 1032 NONAME
+	_ZN15QNetworkSession7migrateEv @ 1033 NONAME
+	_ZN15QNetworkSessionC1ERK21QNetworkConfigurationP7QObject @ 1034 NONAME
+	_ZN15QNetworkSessionC2ERK21QNetworkConfigurationP7QObject @ 1035 NONAME
+	_ZN15QNetworkSessionD0Ev @ 1036 NONAME
+	_ZN15QNetworkSessionD1Ev @ 1037 NONAME
+	_ZN15QNetworkSessionD2Ev @ 1038 NONAME
+	_ZN19QBearerEnginePlugin11qt_metacallEN11QMetaObject4CallEiPPv @ 1039 NONAME
+	_ZN19QBearerEnginePlugin11qt_metacastEPKc @ 1040 NONAME
+	_ZN19QBearerEnginePlugin16staticMetaObjectE @ 1041 NONAME DATA 16
+	_ZN19QBearerEnginePlugin19getStaticMetaObjectEv @ 1042 NONAME
+	_ZN19QBearerEnginePluginC2EP7QObject @ 1043 NONAME
+	_ZN19QBearerEnginePluginD0Ev @ 1044 NONAME
+	_ZN19QBearerEnginePluginD1Ev @ 1045 NONAME
+	_ZN19QBearerEnginePluginD2Ev @ 1046 NONAME
+	_ZN21QNetworkAccessManager16setConfigurationERK21QNetworkConfiguration @ 1047 NONAME
+	_ZN21QNetworkAccessManager17sendCustomRequestERK15QNetworkRequestRK10QByteArrayP9QIODevice @ 1048 NONAME
+	_ZN21QNetworkAccessManager20setNetworkAccessibleENS_20NetworkAccessibilityE @ 1049 NONAME
+	_ZN21QNetworkAccessManager23networkSessionConnectedEv @ 1050 NONAME
+	_ZN21QNetworkAccessManager24networkAccessibleChangedENS_20NetworkAccessibilityE @ 1051 NONAME
+	_ZN21QNetworkConfigurationC1ERKS_ @ 1052 NONAME
+	_ZN21QNetworkConfigurationC1Ev @ 1053 NONAME
+	_ZN21QNetworkConfigurationC2ERKS_ @ 1054 NONAME
+	_ZN21QNetworkConfigurationC2Ev @ 1055 NONAME
+	_ZN21QNetworkConfigurationD1Ev @ 1056 NONAME
+	_ZN21QNetworkConfigurationD2Ev @ 1057 NONAME
+	_ZN21QNetworkConfigurationaSERKS_ @ 1058 NONAME
+	_ZN22QNetworkSessionPrivate11qt_metacallEN11QMetaObject4CallEiPPv @ 1059 NONAME
+	_ZN22QNetworkSessionPrivate11qt_metacastEPKc @ 1060 NONAME
+	_ZN22QNetworkSessionPrivate12stateChangedEN15QNetworkSession5StateE @ 1061 NONAME
+	_ZN22QNetworkSessionPrivate16staticMetaObjectE @ 1062 NONAME DATA 16
+	_ZN22QNetworkSessionPrivate19getStaticMetaObjectEv @ 1063 NONAME
+	_ZN22QNetworkSessionPrivate25newConfigurationActivatedEv @ 1064 NONAME
+	_ZN22QNetworkSessionPrivate25quitPendingWaitsForOpenedEv @ 1065 NONAME
+	_ZN22QNetworkSessionPrivate29preferredConfigurationChangedERK21QNetworkConfigurationb @ 1066 NONAME
+	_ZN22QNetworkSessionPrivate5errorEN15QNetworkSession12SessionErrorE @ 1067 NONAME
+	_ZN22QNetworkSessionPrivate6closedEv @ 1068 NONAME
+	_ZN28QNetworkConfigurationManager11qt_metacallEN11QMetaObject4CallEiPPv @ 1069 NONAME
+	_ZN28QNetworkConfigurationManager11qt_metacastEPKc @ 1070 NONAME
+	_ZN28QNetworkConfigurationManager15updateCompletedEv @ 1071 NONAME
+	_ZN28QNetworkConfigurationManager16staticMetaObjectE @ 1072 NONAME DATA 16
+	_ZN28QNetworkConfigurationManager18configurationAddedERK21QNetworkConfiguration @ 1073 NONAME
+	_ZN28QNetworkConfigurationManager18onlineStateChangedEb @ 1074 NONAME
+	_ZN28QNetworkConfigurationManager19getStaticMetaObjectEv @ 1075 NONAME
+	_ZN28QNetworkConfigurationManager20configurationChangedERK21QNetworkConfiguration @ 1076 NONAME
+	_ZN28QNetworkConfigurationManager20configurationRemovedERK21QNetworkConfiguration @ 1077 NONAME
+	_ZN28QNetworkConfigurationManager20updateConfigurationsEv @ 1078 NONAME
+	_ZN28QNetworkConfigurationManagerC1EP7QObject @ 1079 NONAME
+	_ZN28QNetworkConfigurationManagerC2EP7QObject @ 1080 NONAME
+	_ZN28QNetworkConfigurationManagerD0Ev @ 1081 NONAME
+	_ZN28QNetworkConfigurationManagerD1Ev @ 1082 NONAME
+	_ZN28QNetworkConfigurationManagerD2Ev @ 1083 NONAME
+	_ZN35QNetworkConfigurationManagerPrivate11pollEnginesEv @ 1084 NONAME
+	_ZN35QNetworkConfigurationManagerPrivate11qt_metacallEN11QMetaObject4CallEiPPv @ 1085 NONAME
+	_ZN35QNetworkConfigurationManagerPrivate11qt_metacastEPKc @ 1086 NONAME
+	_ZN35QNetworkConfigurationManagerPrivate12capabilitiesEv @ 1087 NONAME
+	_ZN35QNetworkConfigurationManagerPrivate12startPollingEv @ 1088 NONAME
+	_ZN35QNetworkConfigurationManagerPrivate13enablePollingEv @ 1089 NONAME
+	_ZN35QNetworkConfigurationManagerPrivate14disablePollingEv @ 1090 NONAME
+	_ZN35QNetworkConfigurationManagerPrivate16staticMetaObjectE @ 1091 NONAME DATA 16
+	_ZN35QNetworkConfigurationManagerPrivate17allConfigurationsE6QFlagsIN21QNetworkConfiguration9StateFlagEE @ 1092 NONAME
+	_ZN35QNetworkConfigurationManagerPrivate18configurationAddedE28QExplicitlySharedDataPointerI28QNetworkConfigurationPrivateE @ 1093 NONAME
+	_ZN35QNetworkConfigurationManagerPrivate18configurationAddedERK21QNetworkConfiguration @ 1094 NONAME
+	_ZN35QNetworkConfigurationManagerPrivate18onlineStateChangedEb @ 1095 NONAME
+	_ZN35QNetworkConfigurationManagerPrivate19getStaticMetaObjectEv @ 1096 NONAME
+	_ZN35QNetworkConfigurationManagerPrivate20configurationChangedE28QExplicitlySharedDataPointerI28QNetworkConfigurationPrivateE @ 1097 NONAME
+	_ZN35QNetworkConfigurationManagerPrivate20configurationChangedERK21QNetworkConfiguration @ 1098 NONAME
+	_ZN35QNetworkConfigurationManagerPrivate20configurationRemovedE28QExplicitlySharedDataPointerI28QNetworkConfigurationPrivateE @ 1099 NONAME
+	_ZN35QNetworkConfigurationManagerPrivate20configurationRemovedERK21QNetworkConfiguration @ 1100 NONAME
+	_ZN35QNetworkConfigurationManagerPrivate20defaultConfigurationEv @ 1101 NONAME
+	_ZN35QNetworkConfigurationManagerPrivate20updateConfigurationsEv @ 1102 NONAME
+	_ZN35QNetworkConfigurationManagerPrivate27configurationFromIdentifierERK7QString @ 1103 NONAME
+	_ZN35QNetworkConfigurationManagerPrivate27configurationUpdateCompleteEv @ 1104 NONAME
+	_ZN35QNetworkConfigurationManagerPrivate31performAsyncConfigurationUpdateEv @ 1105 NONAME
+	_ZN35QNetworkConfigurationManagerPrivate5abortEv @ 1106 NONAME
+	_ZN35QNetworkConfigurationManagerPrivate7enginesEv @ 1107 NONAME
+	_ZN35QNetworkConfigurationManagerPrivate8isOnlineEv @ 1108 NONAME
+	_ZN35QNetworkConfigurationManagerPrivateC1Ev @ 1109 NONAME
+	_ZN35QNetworkConfigurationManagerPrivateC2Ev @ 1110 NONAME
+	_ZN35QNetworkConfigurationManagerPrivateD0Ev @ 1111 NONAME
+	_ZN35QNetworkConfigurationManagerPrivateD1Ev @ 1112 NONAME
+	_ZN35QNetworkConfigurationManagerPrivateD2Ev @ 1113 NONAME
+	_ZNK13QBearerEngine10metaObjectEv @ 1114 NONAME
+	_ZNK13QBearerEngine15requiresPollingEv @ 1115 NONAME
+	_ZNK13QBearerEngine19configurationsInUseEv @ 1116 NONAME
+	_ZNK13QNetworkReply14rawHeaderPairsEv @ 1117 NONAME
+	_ZNK14QAuthenticator6optionERK7QString @ 1118 NONAME
+	_ZNK14QAuthenticator7optionsEv @ 1119 NONAME
+	_ZNK15QNetworkRequest8priorityEv @ 1120 NONAME
+	_ZNK15QNetworkSession10activeTimeEv @ 1121 NONAME
+	_ZNK15QNetworkSession10metaObjectEv @ 1122 NONAME
+	_ZNK15QNetworkSession11errorStringEv @ 1123 NONAME
+	_ZNK15QNetworkSession12bytesWrittenEv @ 1124 NONAME
+	_ZNK15QNetworkSession13bytesReceivedEv @ 1125 NONAME
+	_ZNK15QNetworkSession13configurationEv @ 1126 NONAME
+	_ZNK15QNetworkSession15sessionPropertyERK7QString @ 1127 NONAME
+	_ZNK15QNetworkSession5errorEv @ 1128 NONAME
+	_ZNK15QNetworkSession5stateEv @ 1129 NONAME
+	_ZNK15QNetworkSession6isOpenEv @ 1130 NONAME
+	_ZNK15QNetworkSession9interfaceEv @ 1131 NONAME
+	_ZNK19QBearerEnginePlugin10metaObjectEv @ 1132 NONAME
+	_ZNK21QNetworkAccessManager13configurationEv @ 1133 NONAME
+	_ZNK21QNetworkAccessManager17networkAccessibleEv @ 1134 NONAME
+	_ZNK21QNetworkAccessManager19activeConfigurationEv @ 1135 NONAME
+	_ZNK21QNetworkConfiguration10bearerTypeEv @ 1136 NONAME
+	_ZNK21QNetworkConfiguration10identifierEv @ 1137 NONAME
+	_ZNK21QNetworkConfiguration14bearerTypeNameEv @ 1138 NONAME
+	_ZNK21QNetworkConfiguration18isRoamingAvailableEv @ 1139 NONAME
+	_ZNK21QNetworkConfiguration4nameEv @ 1140 NONAME
+	_ZNK21QNetworkConfiguration4typeEv @ 1141 NONAME
+	_ZNK21QNetworkConfiguration5stateEv @ 1142 NONAME
+	_ZNK21QNetworkConfiguration7isValidEv @ 1143 NONAME
+	_ZNK21QNetworkConfiguration7purposeEv @ 1144 NONAME
+	_ZNK21QNetworkConfiguration8childrenEv @ 1145 NONAME
+	_ZNK21QNetworkConfigurationeqERKS_ @ 1146 NONAME
+	_ZNK22QNetworkSessionPrivate10metaObjectEv @ 1147 NONAME
+	_ZNK28QNetworkConfigurationManager10metaObjectEv @ 1148 NONAME
+	_ZNK28QNetworkConfigurationManager12capabilitiesEv @ 1149 NONAME
+	_ZNK28QNetworkConfigurationManager17allConfigurationsE6QFlagsIN21QNetworkConfiguration9StateFlagEE @ 1150 NONAME
+	_ZNK28QNetworkConfigurationManager20defaultConfigurationEv @ 1151 NONAME
+	_ZNK28QNetworkConfigurationManager27configurationFromIdentifierERK7QString @ 1152 NONAME
+	_ZNK28QNetworkConfigurationManager8isOnlineEv @ 1153 NONAME
+	_ZNK35QNetworkConfigurationManagerPrivate10metaObjectEv @ 1154 NONAME
+	_ZTI13QBearerEngine @ 1155 NONAME
+	_ZTI15QNetworkSession @ 1156 NONAME
+	_ZTI19QBearerEnginePlugin @ 1157 NONAME
+	_ZTI22QNetworkSessionPrivate @ 1158 NONAME
+	_ZTI28QNetworkConfigurationManager @ 1159 NONAME
+	_ZTI29QBearerEngineFactoryInterface @ 1160 NONAME
+	_ZTI35QNetworkConfigurationManagerPrivate @ 1161 NONAME
+	_ZTV13QBearerEngine @ 1162 NONAME
+	_ZTV15QNetworkSession @ 1163 NONAME
+	_ZTV19QBearerEnginePlugin @ 1164 NONAME
+	_ZTV22QNetworkSessionPrivate @ 1165 NONAME
+	_ZTV28QNetworkConfigurationManager @ 1166 NONAME
+	_ZTV35QNetworkConfigurationManagerPrivate @ 1167 NONAME
+	_ZThn8_N19QBearerEnginePluginD0Ev @ 1168 NONAME
+	_ZThn8_N19QBearerEnginePluginD1Ev @ 1169 NONAME
 
diff --git a/src/s60installs/eabi/QtOpenVGu.def b/src/s60installs/eabi/QtOpenVGu.def
index 15fda9a..99942b8 100644
--- a/src/s60installs/eabi/QtOpenVGu.def
+++ b/src/s60installs/eabi/QtOpenVGu.def
@@ -201,4 +201,8 @@ EXPORTS
 	_ZN14QVGPaintEngine16drawCachedGlyphsEiPKjRK5QFontP11QFontEngineRK7QPointFPK11QFixedPoint @ 200 NONAME
 	_ZN14QVGPaintEngine18drawStaticTextItemEP15QStaticTextItem @ 201 NONAME
 	_ZN14QVGPaintEngine19drawPixmapFragmentsEPKN8QPainter14PixmapFragmentEiRK7QPixmap6QFlagsINS0_18PixmapFragmentHintEE @ 202 NONAME
+	_ZN13QVGPixmapData15fromImageReaderEP12QImageReader6QFlagsIN2Qt19ImageConversionFlagEE @ 203 NONAME
+	_ZN13QVGPixmapData20createPixmapForImageER6QImage6QFlagsIN2Qt19ImageConversionFlagEEb @ 204 NONAME
+	_ZN13QVGPixmapData8fromDataEPKhjPKc6QFlagsIN2Qt19ImageConversionFlagEE @ 205 NONAME
+	_ZN13QVGPixmapData8fromFileERK7QStringPKc6QFlagsIN2Qt19ImageConversionFlagEE @ 206 NONAME
 
diff --git a/src/s60installs/eabi/QtScriptu.def b/src/s60installs/eabi/QtScriptu.def
index 288b3ab..b26f9c7 100644
--- a/src/s60installs/eabi/QtScriptu.def
+++ b/src/s60installs/eabi/QtScriptu.def
@@ -394,51 +394,51 @@ EXPORTS
 	_ZTI23QScriptDeclarativeClass @ 393 NONAME
 	_ZTV23QScriptDeclarativeClass @ 394 NONAME
 	_ZNK23QScriptDeclarativeClass9isQObjectEv @ 395 NONAME
-	_ZN23QScriptDeclarativeClass13functionValueERK12QScriptValueRKPv @ 396 NONAME
-	_ZN23QScriptDeclarativeClass13propertyValueERK12QScriptValueRKPv @ 397 NONAME
-	_ZN23QScriptDeclarativeClass14newObjectValueEP13QScriptEnginePS_PNS_6ObjectE @ 398 NONAME
-	_ZN23QScriptDeclarativeClass15setSupportsCallEb @ 399 NONAME
-	_ZN23QScriptDeclarativeClass4callEPNS_6ObjectEP14QScriptContext @ 400 NONAME
-	_ZN23QScriptDeclarativeClass5ValueC1EP13QScriptEngineRK12QScriptValue @ 401 NONAME
-	_ZN23QScriptDeclarativeClass5ValueC1EP13QScriptEngineRK7QString @ 402 NONAME
-	_ZN23QScriptDeclarativeClass5ValueC1EP13QScriptEngineb @ 403 NONAME
-	_ZN23QScriptDeclarativeClass5ValueC1EP13QScriptEngined @ 404 NONAME
-	_ZN23QScriptDeclarativeClass5ValueC1EP13QScriptEnginef @ 405 NONAME
-	_ZN23QScriptDeclarativeClass5ValueC1EP13QScriptEnginei @ 406 NONAME
-	_ZN23QScriptDeclarativeClass5ValueC1EP13QScriptEnginej @ 407 NONAME
-	_ZN23QScriptDeclarativeClass5ValueC1EP14QScriptContextRK12QScriptValue @ 408 NONAME
-	_ZN23QScriptDeclarativeClass5ValueC1EP14QScriptContextRK7QString @ 409 NONAME
-	_ZN23QScriptDeclarativeClass5ValueC1EP14QScriptContextb @ 410 NONAME
-	_ZN23QScriptDeclarativeClass5ValueC1EP14QScriptContextd @ 411 NONAME
-	_ZN23QScriptDeclarativeClass5ValueC1EP14QScriptContextf @ 412 NONAME
-	_ZN23QScriptDeclarativeClass5ValueC1EP14QScriptContexti @ 413 NONAME
-	_ZN23QScriptDeclarativeClass5ValueC1EP14QScriptContextj @ 414 NONAME
-	_ZN23QScriptDeclarativeClass5ValueC1ERKS0_ @ 415 NONAME
-	_ZN23QScriptDeclarativeClass5ValueC1Ev @ 416 NONAME
-	_ZN23QScriptDeclarativeClass5ValueC2EP13QScriptEngineRK12QScriptValue @ 417 NONAME
-	_ZN23QScriptDeclarativeClass5ValueC2EP13QScriptEngineRK7QString @ 418 NONAME
-	_ZN23QScriptDeclarativeClass5ValueC2EP13QScriptEngineb @ 419 NONAME
-	_ZN23QScriptDeclarativeClass5ValueC2EP13QScriptEngined @ 420 NONAME
-	_ZN23QScriptDeclarativeClass5ValueC2EP13QScriptEnginef @ 421 NONAME
-	_ZN23QScriptDeclarativeClass5ValueC2EP13QScriptEnginei @ 422 NONAME
-	_ZN23QScriptDeclarativeClass5ValueC2EP13QScriptEnginej @ 423 NONAME
-	_ZN23QScriptDeclarativeClass5ValueC2EP14QScriptContextRK12QScriptValue @ 424 NONAME
-	_ZN23QScriptDeclarativeClass5ValueC2EP14QScriptContextRK7QString @ 425 NONAME
-	_ZN23QScriptDeclarativeClass5ValueC2EP14QScriptContextb @ 426 NONAME
-	_ZN23QScriptDeclarativeClass5ValueC2EP14QScriptContextd @ 427 NONAME
-	_ZN23QScriptDeclarativeClass5ValueC2EP14QScriptContextf @ 428 NONAME
-	_ZN23QScriptDeclarativeClass5ValueC2EP14QScriptContexti @ 429 NONAME
-	_ZN23QScriptDeclarativeClass5ValueC2EP14QScriptContextj @ 430 NONAME
-	_ZN23QScriptDeclarativeClass5ValueC2ERKS0_ @ 431 NONAME
-	_ZN23QScriptDeclarativeClass5ValueC2Ev @ 432 NONAME
-	_ZN23QScriptDeclarativeClass5ValueD1Ev @ 433 NONAME
-	_ZN23QScriptDeclarativeClass5ValueD2Ev @ 434 NONAME
-	_ZNK23QScriptDeclarativeClass12supportsCallEv @ 435 NONAME
-	_ZNK23QScriptDeclarativeClass5Value13toScriptValueEP13QScriptEngine @ 436 NONAME
-	_ZN13QScriptEngine26reportAdditionalMemoryCostEi @ 437 NONAME
+	_ZN13QScriptEngine26reportAdditionalMemoryCostEi @ 396 NONAME
+	_ZN23QScriptDeclarativeClass13functionValueERK12QScriptValueRKPv @ 397 NONAME
+	_ZN23QScriptDeclarativeClass13propertyValueERK12QScriptValueRKPv @ 398 NONAME
+	_ZN23QScriptDeclarativeClass14newObjectValueEP13QScriptEnginePS_PNS_6ObjectE @ 399 NONAME
+	_ZN23QScriptDeclarativeClass15setSupportsCallEb @ 400 NONAME
+	_ZN23QScriptDeclarativeClass20newStaticScopeObjectEP13QScriptEngine @ 401 NONAME
+	_ZN23QScriptDeclarativeClass20newStaticScopeObjectEP13QScriptEngineiPK7QStringPK12QScriptValuePK6QFlagsINS5_12PropertyFlagEE @ 402 NONAME
+	_ZN23QScriptDeclarativeClass4callEPNS_6ObjectEP14QScriptContext @ 403 NONAME
+	_ZN23QScriptDeclarativeClass5ValueC1EP13QScriptEngineRK12QScriptValue @ 404 NONAME
+	_ZN23QScriptDeclarativeClass5ValueC1EP13QScriptEngineRK7QString @ 405 NONAME
+	_ZN23QScriptDeclarativeClass5ValueC1EP13QScriptEngineb @ 406 NONAME
+	_ZN23QScriptDeclarativeClass5ValueC1EP13QScriptEngined @ 407 NONAME
+	_ZN23QScriptDeclarativeClass5ValueC1EP13QScriptEnginef @ 408 NONAME
+	_ZN23QScriptDeclarativeClass5ValueC1EP13QScriptEnginei @ 409 NONAME
+	_ZN23QScriptDeclarativeClass5ValueC1EP13QScriptEnginej @ 410 NONAME
+	_ZN23QScriptDeclarativeClass5ValueC1EP14QScriptContextRK12QScriptValue @ 411 NONAME
+	_ZN23QScriptDeclarativeClass5ValueC1EP14QScriptContextRK7QString @ 412 NONAME
+	_ZN23QScriptDeclarativeClass5ValueC1EP14QScriptContextb @ 413 NONAME
+	_ZN23QScriptDeclarativeClass5ValueC1EP14QScriptContextd @ 414 NONAME
+	_ZN23QScriptDeclarativeClass5ValueC1EP14QScriptContextf @ 415 NONAME
+	_ZN23QScriptDeclarativeClass5ValueC1EP14QScriptContexti @ 416 NONAME
+	_ZN23QScriptDeclarativeClass5ValueC1EP14QScriptContextj @ 417 NONAME
+	_ZN23QScriptDeclarativeClass5ValueC1ERKS0_ @ 418 NONAME
+	_ZN23QScriptDeclarativeClass5ValueC1Ev @ 419 NONAME
+	_ZN23QScriptDeclarativeClass5ValueC2EP13QScriptEngineRK12QScriptValue @ 420 NONAME
+	_ZN23QScriptDeclarativeClass5ValueC2EP13QScriptEngineRK7QString @ 421 NONAME
+	_ZN23QScriptDeclarativeClass5ValueC2EP13QScriptEngineb @ 422 NONAME
+	_ZN23QScriptDeclarativeClass5ValueC2EP13QScriptEngined @ 423 NONAME
+	_ZN23QScriptDeclarativeClass5ValueC2EP13QScriptEnginef @ 424 NONAME
+	_ZN23QScriptDeclarativeClass5ValueC2EP13QScriptEnginei @ 425 NONAME
+	_ZN23QScriptDeclarativeClass5ValueC2EP13QScriptEnginej @ 426 NONAME
+	_ZN23QScriptDeclarativeClass5ValueC2EP14QScriptContextRK12QScriptValue @ 427 NONAME
+	_ZN23QScriptDeclarativeClass5ValueC2EP14QScriptContextRK7QString @ 428 NONAME
+	_ZN23QScriptDeclarativeClass5ValueC2EP14QScriptContextb @ 429 NONAME
+	_ZN23QScriptDeclarativeClass5ValueC2EP14QScriptContextd @ 430 NONAME
+	_ZN23QScriptDeclarativeClass5ValueC2EP14QScriptContextf @ 431 NONAME
+	_ZN23QScriptDeclarativeClass5ValueC2EP14QScriptContexti @ 432 NONAME
+	_ZN23QScriptDeclarativeClass5ValueC2EP14QScriptContextj @ 433 NONAME
+	_ZN23QScriptDeclarativeClass5ValueC2ERKS0_ @ 434 NONAME
+	_ZN23QScriptDeclarativeClass5ValueC2Ev @ 435 NONAME
+	_ZN23QScriptDeclarativeClass5ValueD1Ev @ 436 NONAME
+	_ZN23QScriptDeclarativeClass5ValueD2Ev @ 437 NONAME
 	_ZN23QScriptDeclarativeClass7compareEPNS_6ObjectES1_ @ 438 NONAME
 	_ZN25QScriptEngineAgentPrivate11atStatementERKN5QTJSC17DebuggerCallFrameEii @ 439 NONAME
 	_ZN25QScriptEngineAgentPrivate18didReachBreakpointERKN5QTJSC17DebuggerCallFrameEii @ 440 NONAME
-	_ZN23QScriptDeclarativeClass20newStaticScopeObjectEP13QScriptEngine @ 441 NONAME
-	_ZN23QScriptDeclarativeClass20newStaticScopeObjectEP13QScriptEngineiPK7QStringPK12QScriptValuePK6QFlagsINS5_12PropertyFlagEE @ 442 NONAME
+	_ZNK23QScriptDeclarativeClass12supportsCallEv @ 441 NONAME
+	_ZNK23QScriptDeclarativeClass5Value13toScriptValueEP13QScriptEngine @ 442 NONAME
 
-- 
cgit v0.12


From 525593a49472ebe412ee0c7b5a53547f372ad05e Mon Sep 17 00:00:00 2001
From: Joona Petrell <joona.t.petrell@nokia.com>
Date: Thu, 9 Sep 2010 15:43:39 +1000
Subject: Re-add quit button to declarative Twitter demo

Task-number:
Reviewed-by: Bea Lam
---
 demos/declarative/twitter/TwitterCore/TitleBar.qml | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/demos/declarative/twitter/TwitterCore/TitleBar.qml b/demos/declarative/twitter/TwitterCore/TitleBar.qml
index 145c189..70de81d 100644
--- a/demos/declarative/twitter/TwitterCore/TitleBar.qml
+++ b/demos/declarative/twitter/TwitterCore/TitleBar.qml
@@ -94,10 +94,21 @@ Item {
             }
         }
 
+        Image {
+            id: quitButton
+            x: 5
+            anchors.verticalCenter: parent.verticalCenter
+            source: "images/quit.png"
+            MouseArea {
+                anchors.fill: parent
+                onClicked: Qt.quit()
+            }
+        }
+
         Text {
             id: categoryText
             anchors {
-                left: imageBox.right; right: parent.right; leftMargin: 10; rightMargin: 10
+                left: quitButton.right; right: parent.right; leftMargin: 10; rightMargin: 10
                 verticalCenter: parent.verticalCenter
             }
             elide: Text.ElideLeft
-- 
cgit v0.12


From 8d130f26d9ef1e3acd76c0c158b41b8d2b3c1b44 Mon Sep 17 00:00:00 2001
From: Alan Alpert <alan.alpert@nokia.com>
Date: Thu, 9 Sep 2010 15:50:02 +1000
Subject: Fix reversingModes of QDeclarativeSmoothedAnimation

None of them actually worked. The updated visual test now shows the
correct behavior.

Task-number: QTBUG-13513
---
 src/declarative/util/qdeclarativesmoothedanimation.cpp | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/declarative/util/qdeclarativesmoothedanimation.cpp b/src/declarative/util/qdeclarativesmoothedanimation.cpp
index b2f02e6..c3fa7cf 100644
--- a/src/declarative/util/qdeclarativesmoothedanimation.cpp
+++ b/src/declarative/util/qdeclarativesmoothedanimation.cpp
@@ -214,22 +214,23 @@ void QSmoothedAnimation::init()
     }
 
     bool hasReversed = trackVelocity != 0. &&
-                      ((trackVelocity > 0) == ((initialValue - to) > 0));
+                      ((!invert) == ((initialValue - to) > 0));
 
     if (hasReversed) {
         switch (reversingMode) {
             default:
             case QDeclarativeSmoothedAnimation::Eased:
+                initialVelocity = -trackVelocity;
                 break;
             case QDeclarativeSmoothedAnimation::Sync:
                 QDeclarativePropertyPrivate::write(target, to,
                                                    QDeclarativePropertyPrivate::BypassInterceptor
                                                    | QDeclarativePropertyPrivate::DontRemoveBinding);
+                trackVelocity = 0;
                 stop();
                 return;
             case QDeclarativeSmoothedAnimation::Immediate:
                 initialVelocity = 0;
-                delayedStop();
                 break;
         }
     }
-- 
cgit v0.12


From e69c998f65a9cfe800d71cca4524bce4c16a661f Mon Sep 17 00:00:00 2001
From: Joona Petrell <joona.t.petrell@nokia.com>
Date: Thu, 9 Sep 2010 16:43:07 +1000
Subject: Fix qdeclarativeimageprovider autotest compilation on Symbian

Task-number:
Reviewed-by: Michael Brasser
---
 .../qdeclarativeimageprovider/qdeclarativeimageprovider.pro         | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/tests/auto/declarative/qdeclarativeimageprovider/qdeclarativeimageprovider.pro b/tests/auto/declarative/qdeclarativeimageprovider/qdeclarativeimageprovider.pro
index bdb6423..3bf0ea1 100644
--- a/tests/auto/declarative/qdeclarativeimageprovider/qdeclarativeimageprovider.pro
+++ b/tests/auto/declarative/qdeclarativeimageprovider/qdeclarativeimageprovider.pro
@@ -8,11 +8,7 @@ SOURCES += tst_qdeclarativeimageprovider.cpp
 # QMAKE_CXXFLAGS = -fprofile-arcs -ftest-coverage
 # LIBS += -lgcov
 
-symbian: {
-    importFiles.sources = data
-    importFiles.path = .
-    DEPLOYMENT = importFiles
-} else {
+!symbian: {
     DEFINES += SRCDIR=\\\"$$PWD\\\"
 }
 
-- 
cgit v0.12


From e7831cacd42f84eecff287c8df0b049f41b45bb7 Mon Sep 17 00:00:00 2001
From: Alan Alpert <alan.alpert@nokia.com>
Date: Thu, 9 Sep 2010 17:33:05 +1000
Subject: Fix SmoothedAnimation test and docs

The SmoothedAnimation visual test was misleading, and has been expanded
to include more common use cases. The property documentation was also
slightly extended. This should help solve the confusion in the related
task.

Task-number: QTBUG-12114
---
 .../util/qdeclarativesmoothedanimation.cpp         |   8 +-
 .../data/smoothedfollow.0.png                      | Bin 0 -> 3692 bytes
 .../data/smoothedfollow.1.png                      | Bin 0 -> 3697 bytes
 .../data/smoothedfollow.2.png                      | Bin 0 -> 3696 bytes
 .../data/smoothedfollow.qml                        | 795 +++++++++++++++++++++
 .../smoothedfollow.qml                             | 100 ++-
 6 files changed, 896 insertions(+), 7 deletions(-)
 create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/smoothedfollow.0.png
 create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/smoothedfollow.1.png
 create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/smoothedfollow.2.png
 create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/smoothedfollow.qml

diff --git a/src/declarative/util/qdeclarativesmoothedanimation.cpp b/src/declarative/util/qdeclarativesmoothedanimation.cpp
index c3fa7cf..fbd0762 100644
--- a/src/declarative/util/qdeclarativesmoothedanimation.cpp
+++ b/src/declarative/util/qdeclarativesmoothedanimation.cpp
@@ -403,6 +403,9 @@ void QDeclarativeSmoothedAnimation::setReversingMode(ReversingMode m)
     This property holds the animation duration, in msecs, used when tracking the source.
 
     Setting this to -1 (the default) disables the duration value.
+
+    If the velocity value and the duration value are both enabled, then the animation will
+    use whichever gives the shorter duration.
 */
 int QDeclarativeSmoothedAnimation::duration() const
 {
@@ -432,6 +435,9 @@ qreal QDeclarativeSmoothedAnimation::velocity() const
     The default velocity of SmoothedAnimation is 200 units/second.
 
     Setting this to -1 disables the velocity value.
+
+    If the velocity value and the duration value are both enabled, then the animation will
+    use whichever gives the shorter duration.
 */
 void QDeclarativeSmoothedAnimation::setVelocity(qreal v)
 {
@@ -446,7 +452,7 @@ void QDeclarativeSmoothedAnimation::setVelocity(qreal v)
 /*!
     \qmlproperty int SmoothedAnimation::maximumEasingTime
 
-    This property specifies the maximum time, in msecs, an "eases" during the follow should take.
+    This property specifies the maximum time, in msecs, any "eases" during the follow should take.
     Setting this property causes the velocity to "level out" after at a time.  Setting
     a negative value reverts to the normal mode of easing over the entire animation
     duration.
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/smoothedfollow.0.png b/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/smoothedfollow.0.png
new file mode 100644
index 0000000..bf02e1a
Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/smoothedfollow.0.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/smoothedfollow.1.png b/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/smoothedfollow.1.png
new file mode 100644
index 0000000..ae71dc8
Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/smoothedfollow.1.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/smoothedfollow.2.png b/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/smoothedfollow.2.png
new file mode 100644
index 0000000..6f631b0
Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/smoothedfollow.2.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/smoothedfollow.qml b/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/smoothedfollow.qml
new file mode 100644
index 0000000..3124973
--- /dev/null
+++ b/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/smoothedfollow.qml
@@ -0,0 +1,795 @@
+import Qt.VisualTest 4.7
+
+VisualTest {
+    Frame {
+        msec: 0
+    }
+    Frame {
+        msec: 16
+        hash: "2c6600b50a18c415032fa95fe5089da6"
+    }
+    Frame {
+        msec: 32
+        hash: "aefd5a2570cc0252be102644ec1e49e3"
+    }
+    Frame {
+        msec: 48
+        hash: "6183d0554a8b812bee02719dc4df21d1"
+    }
+    Frame {
+        msec: 64
+        hash: "e1b3a94d033626338de0e04dba7b6df9"
+    }
+    Frame {
+        msec: 80
+        hash: "7d1a5a265fb20ac4d741d76ab7b3a41f"
+    }
+    Frame {
+        msec: 96
+        hash: "0ce7d2acda3e5ccb7b2364e2a7b409a4"
+    }
+    Frame {
+        msec: 112
+        hash: "21f3a66ee80fcb2dd4dce0d1666aa4dd"
+    }
+    Frame {
+        msec: 128
+        hash: "ea5b81ff2805210111cb388ab9be0d8f"
+    }
+    Frame {
+        msec: 144
+        hash: "a8a54a3c524dcf6777b71d99ae2d50bd"
+    }
+    Frame {
+        msec: 160
+        hash: "6b658c468af8a88e4a282d57fdcbc3b0"
+    }
+    Frame {
+        msec: 176
+        hash: "986121c9d928cc9ceb912a975f75760a"
+    }
+    Frame {
+        msec: 192
+        hash: "4bf3593d0edc4347cf77670a48ba4440"
+    }
+    Frame {
+        msec: 208
+        hash: "ea00f25295fb019f949930fb7109ceb4"
+    }
+    Frame {
+        msec: 224
+        hash: "ad6cc7563e2720c405842317d0ce731a"
+    }
+    Frame {
+        msec: 240
+        hash: "8a03a1207cdb5bd92f5227b25a7b638e"
+    }
+    Frame {
+        msec: 256
+        hash: "f355321aa47d18e8b6dde503565d0e97"
+    }
+    Frame {
+        msec: 272
+        hash: "e18f671cac8e68948f32a468bf2630cf"
+    }
+    Frame {
+        msec: 288
+        hash: "264bca92fba53f25439d240afef62880"
+    }
+    Frame {
+        msec: 304
+        hash: "a1a226c73fb97d5302ce683f901ee5c4"
+    }
+    Frame {
+        msec: 320
+        hash: "05578552476372fc58e463e84a147ddd"
+    }
+    Frame {
+        msec: 336
+        hash: "0a3e0a651f9eb3e6a44a55a6786e60ff"
+    }
+    Frame {
+        msec: 352
+        hash: "4ca362f079f96a01360ee8062fbb8238"
+    }
+    Frame {
+        msec: 368
+        hash: "ba512c117d97ce16ff92d03ce2b08056"
+    }
+    Frame {
+        msec: 384
+        hash: "8688355f0f97afe000d02f71c841d5dc"
+    }
+    Frame {
+        msec: 400
+        hash: "a2ea6ad008da95a67d3bc70e11e3811d"
+    }
+    Frame {
+        msec: 416
+        hash: "83bc9c444ab8618438dc2b8b14716f7b"
+    }
+    Frame {
+        msec: 432
+        hash: "fafbba34fc8f9d33b559e6fcd0c5f1c6"
+    }
+    Frame {
+        msec: 448
+        hash: "92d245951b759f74182602a7a337cb0f"
+    }
+    Frame {
+        msec: 464
+        hash: "e0634d25088a6855df8d86d84fe37cd7"
+    }
+    Frame {
+        msec: 480
+        hash: "7f4d05f4c3b1a365732e448f2c751740"
+    }
+    Frame {
+        msec: 496
+        hash: "fcd6f55929f753f77b1617c0984b8690"
+    }
+    Frame {
+        msec: 512
+        hash: "7e88f100a7012d739cd3c97c4e7f4b45"
+    }
+    Frame {
+        msec: 528
+        hash: "8f9d029b3850ee2f11cdf6630d100682"
+    }
+    Frame {
+        msec: 544
+        hash: "b915f712b24f187ee759b3337fb0df7a"
+    }
+    Frame {
+        msec: 560
+        hash: "eae400a0c72d38156f7ae0f16ab9ee66"
+    }
+    Frame {
+        msec: 576
+        hash: "e913a1e317cca355b06a393f44cc0243"
+    }
+    Frame {
+        msec: 592
+        hash: "abf075ea63a6f5cce43c38e20dbcdbb2"
+    }
+    Frame {
+        msec: 608
+        hash: "a6e85caa1eb933343a4605bc434e2841"
+    }
+    Frame {
+        msec: 624
+        hash: "8e33e2582dd127d3f04017bf493b0ac6"
+    }
+    Frame {
+        msec: 640
+        hash: "959e4062262bcc759abfc7b0bf3e10b6"
+    }
+    Frame {
+        msec: 656
+        hash: "9529e2241df0d90ea640fdb3752b0837"
+    }
+    Frame {
+        msec: 672
+        hash: "5595b64495996ce66b5f6892e9457456"
+    }
+    Frame {
+        msec: 688
+        hash: "532259c3577553622093eba907ae82d3"
+    }
+    Frame {
+        msec: 704
+        hash: "85c4332100b6f5256702b594c83f4eff"
+    }
+    Frame {
+        msec: 720
+        hash: "b96292d85b12fa8e68c5de3deb29b980"
+    }
+    Frame {
+        msec: 736
+        hash: "64febec9c8b58e2b93249f19c57b7aba"
+    }
+    Frame {
+        msec: 752
+        hash: "88e588af29131cf942e02b1080e564e5"
+    }
+    Frame {
+        msec: 768
+        hash: "07f911478be2f36d0c1b9cb878f4fe47"
+    }
+    Frame {
+        msec: 784
+        hash: "8ffbf2381efefcbca413f6e3455018fb"
+    }
+    Frame {
+        msec: 800
+        hash: "6e456af680e40799d3f38bdde29a85f9"
+    }
+    Frame {
+        msec: 816
+        hash: "48a8dbc64d7823164c992f55b270115d"
+    }
+    Frame {
+        msec: 832
+        hash: "a6d28eb1d0aafd387e35ca7b362bec53"
+    }
+    Frame {
+        msec: 848
+        hash: "2e9f2b2ebf1b24f01fc986ded320d7c9"
+    }
+    Frame {
+        msec: 864
+        hash: "d0cafd9be3263193c207c39eeb051bb8"
+    }
+    Frame {
+        msec: 880
+        hash: "8dee1a5365fa3ccd7036c8afa6a805cc"
+    }
+    Frame {
+        msec: 896
+        hash: "42f893afb80633f0ffb82f1725bb097f"
+    }
+    Frame {
+        msec: 912
+        hash: "f466a404940abcd4c8f3180696da1a29"
+    }
+    Frame {
+        msec: 928
+        hash: "e5746e33b3eb155a354bc5900b7593ee"
+    }
+    Frame {
+        msec: 944
+        hash: "a1c2eb7048356f4ebc803d9d5439db24"
+    }
+    Frame {
+        msec: 960
+        image: "smoothedfollow.0.png"
+    }
+    Frame {
+        msec: 976
+        hash: "338aec0e679a8f2e79f6a5503dfbd6c3"
+    }
+    Frame {
+        msec: 992
+        hash: "59321f1eb26c379e9e2a37b6890d922d"
+    }
+    Frame {
+        msec: 1008
+        hash: "f37a821b9cf9f67fd011c6790a2757f0"
+    }
+    Frame {
+        msec: 1024
+        hash: "c3f1b8722c616ecd55d8496e76a9bf06"
+    }
+    Frame {
+        msec: 1040
+        hash: "ca6aff9addda2e3ac51e5e2013393365"
+    }
+    Frame {
+        msec: 1056
+        hash: "17d1aa7821ce8169a3100a3cd3a0df2b"
+    }
+    Frame {
+        msec: 1072
+        hash: "d85dd272f35868d6832316e862db4ec1"
+    }
+    Frame {
+        msec: 1088
+        hash: "8bce5bdadfa974655dc7e020ad43edeb"
+    }
+    Frame {
+        msec: 1104
+        hash: "b97f71587a5187d5175e5d9f1409c00a"
+    }
+    Frame {
+        msec: 1120
+        hash: "53d438e601c25aebfd2ecb0064cdf5cc"
+    }
+    Frame {
+        msec: 1136
+        hash: "18c43dd35b3e0d8f9ab5c8de3e48886a"
+    }
+    Frame {
+        msec: 1152
+        hash: "e4ab585684d083de118b7862ef5cbd63"
+    }
+    Frame {
+        msec: 1168
+        hash: "48ab046a2e2ca1a1225574b94925482e"
+    }
+    Frame {
+        msec: 1184
+        hash: "c4bd06a5c329ef6975a60453f588bce7"
+    }
+    Frame {
+        msec: 1200
+        hash: "864393a984dce3e9dd2daec56ddb3fe7"
+    }
+    Frame {
+        msec: 1216
+        hash: "fcdf4cfcd8a6d8667868ba9633475fe0"
+    }
+    Frame {
+        msec: 1232
+        hash: "5ac2b96158045c9b9eb35f1cbabe5b1f"
+    }
+    Frame {
+        msec: 1248
+        hash: "83c409e5d3e6fe9e953d9ce14d731b3b"
+    }
+    Frame {
+        msec: 1264
+        hash: "01805526b04e17b89238e7b929be48dd"
+    }
+    Frame {
+        msec: 1280
+        hash: "4708345219b3732f9aaf8b40645f65d2"
+    }
+    Frame {
+        msec: 1296
+        hash: "12716f84b6f648df2cbe08cfea58764c"
+    }
+    Frame {
+        msec: 1312
+        hash: "6cce1e6354bd338f364bcca84a5fd081"
+    }
+    Frame {
+        msec: 1328
+        hash: "c5da6f6b00402e0de00490792b963cdf"
+    }
+    Frame {
+        msec: 1344
+        hash: "0eacadf69c0818e818abaf3aaf823aff"
+    }
+    Frame {
+        msec: 1360
+        hash: "c68cd79bf0d329a3c672896b9ce2044d"
+    }
+    Frame {
+        msec: 1376
+        hash: "26786f921ddddd9d2f975e1193943d2d"
+    }
+    Frame {
+        msec: 1392
+        hash: "68c7c1779bb19ee5cd9370b5c06f4ce7"
+    }
+    Frame {
+        msec: 1408
+        hash: "5e87c3e00ef7fab01c17d9e89c661aab"
+    }
+    Frame {
+        msec: 1424
+        hash: "0b459122be303c38d3564dd7fea53fc1"
+    }
+    Frame {
+        msec: 1440
+        hash: "3b13101a45b470fd04fa02f34548984b"
+    }
+    Frame {
+        msec: 1456
+        hash: "6308fa1ed015bb698251af0d1b9be084"
+    }
+    Frame {
+        msec: 1472
+        hash: "f219427d8fdf826f33351ba64db55d33"
+    }
+    Frame {
+        msec: 1488
+        hash: "0c9ad8c5224d3cdefb8ac793cac3ca79"
+    }
+    Frame {
+        msec: 1504
+        hash: "38438307162bceef76afb043c82b6a82"
+    }
+    Frame {
+        msec: 1520
+        hash: "78b367e6bab0463fe08f5e634cfbced2"
+    }
+    Frame {
+        msec: 1536
+        hash: "81e56f9d3bb9b360a07dc85697a59340"
+    }
+    Frame {
+        msec: 1552
+        hash: "cef4fdb8c12485d3590e598090312297"
+    }
+    Frame {
+        msec: 1568
+        hash: "8ea0c90a100c583558f92843030543cc"
+    }
+    Frame {
+        msec: 1584
+        hash: "0037f0f17a50bdfe3bf0de810ff837f1"
+    }
+    Frame {
+        msec: 1600
+        hash: "2b060ac0dfa045b916d3fd5ff6f84bfb"
+    }
+    Frame {
+        msec: 1616
+        hash: "b20705dcc6176efd83cff6927991ff0a"
+    }
+    Frame {
+        msec: 1632
+        hash: "0af69e490bdc54f27d3e50c1fdfd12a8"
+    }
+    Frame {
+        msec: 1648
+        hash: "8e4cceadc01de5b51082889efabcbb7e"
+    }
+    Frame {
+        msec: 1664
+        hash: "b64958786a7007686fb1734783d553f5"
+    }
+    Frame {
+        msec: 1680
+        hash: "e0b9d98bb3a596fd235d58b6a761a0e0"
+    }
+    Frame {
+        msec: 1696
+        hash: "1a5d7dc4dfd3ee86a36978d4effd299c"
+    }
+    Frame {
+        msec: 1712
+        hash: "4946561f008635599651bf24b9aa0594"
+    }
+    Frame {
+        msec: 1728
+        hash: "8427d33046af64c6e63939238c101e86"
+    }
+    Frame {
+        msec: 1744
+        hash: "cdcfab5cea86c33f276c3613d76067c4"
+    }
+    Frame {
+        msec: 1760
+        hash: "966005d62bd69b53d77459e5ab65116c"
+    }
+    Frame {
+        msec: 1776
+        hash: "8a3c4ff083a973325c4ab09e09027ef6"
+    }
+    Frame {
+        msec: 1792
+        hash: "737ffd6f52fa3d812ecaf835a30495af"
+    }
+    Frame {
+        msec: 1808
+        hash: "6731007c97ba3ba60e73ab50803868e5"
+    }
+    Frame {
+        msec: 1824
+        hash: "caa4ea08c5c330e77a7445cc1adf1666"
+    }
+    Frame {
+        msec: 1840
+        hash: "73778bfbae55a81557a128acb4a197c8"
+    }
+    Frame {
+        msec: 1856
+        hash: "7d8609f1336ddf4e25b505e54142114e"
+    }
+    Frame {
+        msec: 1872
+        hash: "d8b4514d2bd77dbe67e27d400dc1a2f3"
+    }
+    Frame {
+        msec: 1888
+        hash: "ac3e7040f1e9fc680f52f46d25eb3faa"
+    }
+    Frame {
+        msec: 1904
+        hash: "509c21774f0fca9dde0657133a1cc363"
+    }
+    Frame {
+        msec: 1920
+        image: "smoothedfollow.1.png"
+    }
+    Frame {
+        msec: 1936
+        hash: "545bcb0c362a083ee698a5c8cd225014"
+    }
+    Frame {
+        msec: 1952
+        hash: "77370c9b2880c55fecf07457dd0d455b"
+    }
+    Frame {
+        msec: 1968
+        hash: "6c44209f31f5f010f1b3e05490468821"
+    }
+    Frame {
+        msec: 1984
+        hash: "2dffac0c44e52f2984525d3d3700e6ed"
+    }
+    Frame {
+        msec: 2000
+        hash: "d70f2db1b166b2de3bef74bc4bf94a80"
+    }
+    Frame {
+        msec: 2016
+        hash: "50e4f6a82f498066fc9b6588762f59f9"
+    }
+    Frame {
+        msec: 2032
+        hash: "956a7d7db9aef1b7abefac1a69622f02"
+    }
+    Frame {
+        msec: 2048
+        hash: "13f19d5baefb6c8c9f71c16163663a27"
+    }
+    Frame {
+        msec: 2064
+        hash: "076ff84405ddb29a12ed30d27cee558b"
+    }
+    Frame {
+        msec: 2080
+        hash: "6af0261639f809da8f7e4831559596d3"
+    }
+    Frame {
+        msec: 2096
+        hash: "a0500b18e99bfe3a48d52cc62b4a946b"
+    }
+    Frame {
+        msec: 2112
+        hash: "bb0ea576c9136fb70720d4540731d2ca"
+    }
+    Frame {
+        msec: 2128
+        hash: "d9b12ad9bf54d7db0ef1b36297a6dd6c"
+    }
+    Frame {
+        msec: 2144
+        hash: "2de77e082872f072a849ba9ea93e3aec"
+    }
+    Frame {
+        msec: 2160
+        hash: "69e186c3e8e6b2c75da2ca87043129da"
+    }
+    Frame {
+        msec: 2176
+        hash: "0c2f23b0cbedb45a68f0cbe6132b4820"
+    }
+    Frame {
+        msec: 2192
+        hash: "533bad00e5624611ea8a15d5fa98f0f2"
+    }
+    Frame {
+        msec: 2208
+        hash: "d9c60bc821205aa4ea38d846e5b00f3a"
+    }
+    Frame {
+        msec: 2224
+        hash: "d4de041edf15c6b6806d7f5992146711"
+    }
+    Frame {
+        msec: 2240
+        hash: "100145df5271efaaee1d619bd50b69fc"
+    }
+    Frame {
+        msec: 2256
+        hash: "22905b794fee24f3a25e4944d5505e96"
+    }
+    Frame {
+        msec: 2272
+        hash: "aeed7adea08fe6e8b60310082cf87b6c"
+    }
+    Frame {
+        msec: 2288
+        hash: "82bf8d40b6ed8aae9d6172eae76d1859"
+    }
+    Frame {
+        msec: 2304
+        hash: "b1881778936744db3df0898638e4b0df"
+    }
+    Frame {
+        msec: 2320
+        hash: "87195016996f8786a8a2430c54f13494"
+    }
+    Frame {
+        msec: 2336
+        hash: "56f99b14320662b90eb10e77845bba30"
+    }
+    Frame {
+        msec: 2352
+        hash: "69a84022d8d2b3cdb1d7eae6ce5ccef2"
+    }
+    Frame {
+        msec: 2368
+        hash: "578ca8c66da6aa64392b253ab6cccbc0"
+    }
+    Frame {
+        msec: 2384
+        hash: "4c2058e4708001f82f3bcb8110d6a54f"
+    }
+    Frame {
+        msec: 2400
+        hash: "a838be752168bc6feb3151327147bb23"
+    }
+    Frame {
+        msec: 2416
+        hash: "bf6cde06f0ee814cd4a23f3d43e7d270"
+    }
+    Frame {
+        msec: 2432
+        hash: "9162ec43bc84261c0eb9ea2425da0b8a"
+    }
+    Frame {
+        msec: 2448
+        hash: "7be19df0ee54f9bb31ebee2d786addc8"
+    }
+    Frame {
+        msec: 2464
+        hash: "542a4c004f5b1b8efa7588b27cc2ba43"
+    }
+    Frame {
+        msec: 2480
+        hash: "f9e2edd343be212a9679f1e2ad0e73b3"
+    }
+    Frame {
+        msec: 2496
+        hash: "b6d4e9169fc4446cdbd3a36f485b943b"
+    }
+    Frame {
+        msec: 2512
+        hash: "0d3b7a652a94162b71e88ed213559af4"
+    }
+    Frame {
+        msec: 2528
+        hash: "9d4a2383a4d43ac94ff0a344f217b22d"
+    }
+    Frame {
+        msec: 2544
+        hash: "719d402379c40de5cd6d4c8fa92f5472"
+    }
+    Frame {
+        msec: 2560
+        hash: "78fb55f5b9c2033a91e41100229e4465"
+    }
+    Frame {
+        msec: 2576
+        hash: "0a9ec91eee6c7c770ce2e414fa881229"
+    }
+    Frame {
+        msec: 2592
+        hash: "5d9f81f1becf486a09f086e15a64d1f0"
+    }
+    Frame {
+        msec: 2608
+        hash: "0f5e18af1eac31e6993ea2df51a143f0"
+    }
+    Frame {
+        msec: 2624
+        hash: "08a292373756b06c3a624b8f3bf06236"
+    }
+    Frame {
+        msec: 2640
+        hash: "f3c8101429753ce8f0ee094fe0db98ac"
+    }
+    Frame {
+        msec: 2656
+        hash: "1603ad220d68ae0a2f613687533c2ebc"
+    }
+    Frame {
+        msec: 2672
+        hash: "e2b8049d18fd36fff0180bd4bc199732"
+    }
+    Frame {
+        msec: 2688
+        hash: "d1bfeadaa9046ec5013734938a8f4af1"
+    }
+    Frame {
+        msec: 2704
+        hash: "3cb3a0e9dc73e76101288395ffeb2b7b"
+    }
+    Frame {
+        msec: 2720
+        hash: "104a10e6bd48dacfedf5c98cf641ae93"
+    }
+    Frame {
+        msec: 2736
+        hash: "f04a2985e7c203dd6fce46b60fcb23fc"
+    }
+    Frame {
+        msec: 2752
+        hash: "30cb747f4604c208d7dc697d5fe2af6b"
+    }
+    Frame {
+        msec: 2768
+        hash: "b9eca6ee8fe29351cadeb9a2caf36fa6"
+    }
+    Frame {
+        msec: 2784
+        hash: "7bc56e712d713a00a684e07cf3d09907"
+    }
+    Frame {
+        msec: 2800
+        hash: "0d7a5e2ff588b71e77abb72723c763b2"
+    }
+    Frame {
+        msec: 2816
+        hash: "0d961843e54cbe5ba76c11bcd634bc39"
+    }
+    Frame {
+        msec: 2832
+        hash: "6328b52965a002944c501d9888928caa"
+    }
+    Frame {
+        msec: 2848
+        hash: "63e668a7688167b604b641929843d0cf"
+    }
+    Frame {
+        msec: 2864
+        hash: "7f5e71332268be68de9dcb25f173d2e0"
+    }
+    Frame {
+        msec: 2880
+        image: "smoothedfollow.2.png"
+    }
+    Frame {
+        msec: 2896
+        hash: "dc6e83fcc5a403913a94c498f1571098"
+    }
+    Frame {
+        msec: 2912
+        hash: "8deb275bd08df9b3abdcf3e2796a0601"
+    }
+    Frame {
+        msec: 2928
+        hash: "6c08a25a442b97a8cb359792b6a01641"
+    }
+    Frame {
+        msec: 2944
+        hash: "5f7ccd5706c77f0b0ddced41ed6352d8"
+    }
+    Frame {
+        msec: 2960
+        hash: "6668d1936524f0fdc490720a962a3698"
+    }
+    Frame {
+        msec: 2976
+        hash: "e36f901fb4b8ad754592642a7575e4ee"
+    }
+    Frame {
+        msec: 2992
+        hash: "7453182980e458d827f3ff83aa3f2c88"
+    }
+    Frame {
+        msec: 3008
+        hash: "0e15d75b2a7f2e4a39906093b930d6a8"
+    }
+    Frame {
+        msec: 3024
+        hash: "822ccc6c629eabf38fd5ac56abb638f5"
+    }
+    Frame {
+        msec: 3040
+        hash: "331ef5b3e3dd5642f8532d337fd22def"
+    }
+    Frame {
+        msec: 3056
+        hash: "3c29aae83f28239f31125ef02f523d02"
+    }
+    Frame {
+        msec: 3072
+        hash: "56ed674bf2d345861eb235a4239078e2"
+    }
+    Frame {
+        msec: 3088
+        hash: "5412b9ad01a6780b67bc59b80a274cd5"
+    }
+    Frame {
+        msec: 3104
+        hash: "a6f9ae09a7386f06a84c251083660dd6"
+    }
+    Frame {
+        msec: 3120
+        hash: "83f07277c9bec7419dd6a4d40d8accf7"
+    }
+    Frame {
+        msec: 3136
+        hash: "e6cb74961dfef68a32f255176e0ebff3"
+    }
+    Frame {
+        msec: 3152
+        hash: "9e6c3ac0190beaf30754155a5d64b81c"
+    }
+}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/smoothedfollow.qml b/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/smoothedfollow.qml
index 0df727b..63dba47 100644
--- a/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/smoothedfollow.qml
+++ b/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/smoothedfollow.qml
@@ -1,15 +1,15 @@
 import Qt 4.7
 
 Rectangle {
-    width: 800; height: 240; color: "gray"
+    width: 800; height: 720; color: "gray"
 
     Rectangle {
         id: rect
         width: 50; height: 20; y: 30; color: "black"
         SequentialAnimation on x {
             loops: Animation.Infinite
-            NumberAnimation { from: 50; to: 700; duration: 2000 }
-            NumberAnimation { from: 700; to: 50; duration: 2000 }
+            NumberAnimation { from: 50; to: 700; duration: 1000 }
+            NumberAnimation { from: 700; to: 50; duration: 1000 }
         }
     }
 
@@ -25,16 +25,104 @@ Rectangle {
 
     Rectangle {
         width: 50; height: 20; x: rect.x; y: 120; color: "green"
-        Behavior on x { SmoothedAnimation { reversingMode: SmoothedAnimation.Sync } }
+        Behavior on x { SmoothedAnimation { velocity: 200; reversingMode: SmoothedAnimation.Sync } }
     }
 
     Rectangle {
         width: 50; height: 20; x: rect.x; y: 150; color: "purple"
-        Behavior on x { SmoothedAnimation { maximumEasingTime: 200 } }
+        Behavior on x { SmoothedAnimation { velocity: 200; maximumEasingTime: 100 } }
     }
 
     Rectangle {
         width: 50; height: 20; x: rect.x; y: 180; color: "blue"
-        Behavior on x { SmoothedAnimation { duration: 300 } }
+        Behavior on x { SmoothedAnimation { velocity: -1; duration: 300 } }
+    }
+
+    //rect2 has jerky movement, but the rects following it should be smooth
+    Rectangle {
+        id: rect2
+        property int dir: 1
+        width: 50; height: 20; x:50; y: 240; color: "black"
+        function advance(){
+            if(x >= 700)
+                dir = -1;
+            if(x <= 50)
+                dir = 1;
+            x += 130.0 * dir;
+        }
+    }
+    Timer{
+        interval: 200
+        running: true
+        repeat: true
+        onTriggered: rect2.advance();
+    }
+
+    Rectangle {
+        width: 50; height: 20; x: rect2.x; y: 270; color: "red"
+        Behavior on x { SmoothedAnimation { velocity: 400 } }
+    }
+
+    Rectangle {
+        width: 50; height: 20; x: rect2.x; y: 300; color: "yellow"
+        Behavior on x { SmoothedAnimation { velocity: 300; reversingMode: SmoothedAnimation.Immediate } }
+    }
+
+    Rectangle {
+        width: 50; height: 20; x: rect2.x; y: 330; color: "green"
+        Behavior on x { SmoothedAnimation { velocity: 200; reversingMode: SmoothedAnimation.Sync } }
+    }
+
+    Rectangle {
+        width: 50; height: 20; x: rect2.x; y: 360; color: "purple"
+        Behavior on x { SmoothedAnimation { velocity: 200; maximumEasingTime: 100 } }
+    }
+
+    Rectangle {
+        width: 50; height: 20; x: rect2.x; y: 390; color: "blue"
+        Behavior on x { SmoothedAnimation { velocity: -1; duration: 300 } }
+    }
+
+    //rect3 just jumps , but the rects following it should be smooth
+    Rectangle {
+        id: rect3
+        width: 50; height: 20; x:50; y: 480; color: "black"
+        function advance(){
+            if(x == 50)
+                x = 700;
+            else
+                x = 50;
+        }
+    }
+    Timer{
+        interval: 1000
+        running: true
+        repeat: true
+        onTriggered: rect3.advance();
+    }
+
+    Rectangle {
+        width: 50; height: 20; x: rect3.x; y: 510; color: "red"
+        Behavior on x { SmoothedAnimation { velocity: 400 } }
+    }
+
+    Rectangle {
+        width: 50; height: 20; x: rect3.x; y: 540; color: "yellow"
+        Behavior on x { SmoothedAnimation { velocity: 300; reversingMode: SmoothedAnimation.Immediate } }
+    }
+
+    Rectangle {
+        width: 50; height: 20; x: rect3.x; y: 570; color: "green"
+        Behavior on x { SmoothedAnimation { velocity: 200; reversingMode: SmoothedAnimation.Sync } }
+    }
+
+    Rectangle {
+        width: 50; height: 20; x: rect3.x; y: 600; color: "purple"
+        Behavior on x { SmoothedAnimation { velocity: 200; maximumEasingTime: 100 } }
+    }
+
+    Rectangle {
+        width: 50; height: 20; x: rect3.x; y: 630; color: "blue"
+        Behavior on x { SmoothedAnimation { velocity: -1; duration: 300 } }
     }
 }
-- 
cgit v0.12


From 5342be5ceffc84b56476fff57dd7d5e1bbfeb471 Mon Sep 17 00:00:00 2001
From: Juha Turunen <turunen@iki.fi>
Date: Thu, 9 Sep 2010 09:59:49 +0200
Subject: QSslSocketPrivate::systemCaCertificates() hangs sometimes on Symbian

The patch fixes the hanging issues on some Symbian devices that occurs while
retrieving certificates from the Symbian certificate store. The hanging was
caused by the certificate info array not being closed before exiting the
thread. This alone wouldn't make the existing implementation work, so the patch
replaces it with a pure Symbian style implementation which doesn't seem to be
affected (probably some OpenC threads issue).

Merge-request: 808
Reviewed-by: Shane Kearns
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
Task: QTBUG-13033
---
 src/network/ssl/qsslsocket_openssl.cpp | 193 ++++++++++++++++++---------------
 src/network/ssl/qsslsocket_openssl_p.h |  77 ++++++-------
 2 files changed, 136 insertions(+), 134 deletions(-)

diff --git a/src/network/ssl/qsslsocket_openssl.cpp b/src/network/ssl/qsslsocket_openssl.cpp
index 94b1568..5033393 100644
--- a/src/network/ssl/qsslsocket_openssl.cpp
+++ b/src/network/ssl/qsslsocket_openssl.cpp
@@ -71,6 +71,9 @@ QT_BEGIN_NAMESPACE
     PtrCertFindCertificateInStore QSslSocketPrivate::ptrCertFindCertificateInStore = 0;
     PtrCertCloseStore QSslSocketPrivate::ptrCertCloseStore = 0;
 #elif defined(Q_OS_SYMBIAN)
+#include <e32base.h>
+#include <e32std.h>
+#include <e32debug.h>
 #include <QtCore/private/qcore_symbian_p.h>
 #endif
 
@@ -570,120 +573,138 @@ void QSslSocketPrivate::resetDefaultCiphers()
 
 #if defined(Q_OS_SYMBIAN)
 
-QCertificateRetriever::QCertificateRetriever(QCertificateConsumer* parent)
-    : CActive(EPriorityStandard)
-    , certStore(0)
-    , certFilter(0)
-    , consumer(parent)
-    , currentCertificateIndex(0)
-    , certDescriptor(0, 0)
+CSymbianCertificateRetriever::CSymbianCertificateRetriever() : CActive(CActive::EPriorityStandard),
+        iSequenceError(KErrNone)
 {
-    CActiveScheduler::Add(this);
-    QT_TRAP_THROWING(certStore = CUnifiedCertStore::NewL(qt_s60GetRFs(), EFalse));
-    QT_TRAP_THROWING(certFilter = CCertAttributeFilter::NewL());
-    certFilter->SetFormat(EX509Certificate);
 }
 
-QCertificateRetriever::~QCertificateRetriever()
+CSymbianCertificateRetriever::~CSymbianCertificateRetriever()
 {
-    delete certFilter;
-    delete certStore;
-    Cancel();
+    iThread.Close();
 }
 
-void QCertificateRetriever::fetch()
+CSymbianCertificateRetriever* CSymbianCertificateRetriever::NewL()
 {
-    certStore->Initialize(iStatus);
-    state = Initializing;
-    SetActive();
+    CSymbianCertificateRetriever* self = new (ELeave) CSymbianCertificateRetriever();
+    CleanupStack::PushL(self);
+    self->ConstructL();
+    CleanupStack::Pop();
+    return self;
 }
 
-void QCertificateRetriever::list()
+int CSymbianCertificateRetriever::GetCertificates(QList<QByteArray> &certificates)
 {
-    certStore->List(certs, *certFilter, iStatus);
-    state = Listing;
-    SetActive();
+    iCertificates = &certificates;
+
+    TRequestStatus status;
+    iThread.Logon(status);
+    iThread.Resume();
+    User::WaitForRequest(status);
+    if (iThread.ExitType() == EExitKill)
+        return KErrDied;
+    else
+        return status.Int();    // Logon() completes with the thread's exit value
 }
 
-void QCertificateRetriever::retrieveNextCertificate()
+void CSymbianCertificateRetriever::doThreadEntryL()
 {
-    CCTCertInfo* cert = certs[currentCertificateIndex];
-    currentCertificate.resize(cert->Size());
-    certDescriptor.Set((TUint8*)currentCertificate.data(), 0, currentCertificate.size());
-    certStore->Retrieve(*cert, certDescriptor, iStatus);
-    state = RetrievingCertificates;
+    CActiveScheduler* activeScheduler = new (ELeave) CActiveScheduler;
+    CleanupStack::PushL(activeScheduler);
+    CActiveScheduler::Install(activeScheduler);
+
+    CActiveScheduler::Add(this);
+
+    // These aren't deleted in the destructor so leaving the to CS is ok
+    iCertStore = CUnifiedCertStore::NewLC(qt_s60GetRFs(), EFalse);
+    iCertFilter = CCertAttributeFilter::NewLC();
+
+    // Kick off the sequence by initializing the cert store
+    iState = Initializing;
+    iCertStore->Initialize(iStatus);
     SetActive();
-}
 
-void QCertificateRetriever::RunL()
-{
-    QT_TRYCATCH_LEAVING(run());
+    CActiveScheduler::Start();
+
+    // Sequence complete, clean up
+
+    // These MUST be cleaned up before the installed CActiveScheduler is destroyed and can't be left to the
+    // destructor of CSymbianCertificateRetriever. Otherwise the destructor of CActiveScheduler will get
+    // stuck.
+    iCertInfos.Close();
+    CleanupStack::PopAndDestroy(3);     // activeScheduler, iCertStore, iCertFilter
 }
 
-void QCertificateRetriever::run()
+
+TInt CSymbianCertificateRetriever::ThreadEntryPoint(TAny* aParams)
 {
-    switch (state) {
-    case Initializing:
-        list();
-        break;
-    case Listing:
-        currentCertificateIndex = 0;
-        retrieveNextCertificate();
-        break;
-    case RetrievingCertificates:
-        consumer->addEncodedCertificate(currentCertificate);
-        currentCertificate = QByteArray();
+    CTrapCleanup* cleanupStack = CTrapCleanup::New();
 
-        currentCertificateIndex++;
+    CSymbianCertificateRetriever* self = (CSymbianCertificateRetriever*) aParams;
+    TRAPD(err, self->doThreadEntryL());
+    delete cleanupStack;
 
-        if (currentCertificateIndex < certs.Count())
-            retrieveNextCertificate();
-        else
-            consumer->finish();
-        break;
-    }
+    // doThreadEntryL() can leave only before the retrieval sequence is started
+    if (err)
+        return err;
+    else
+        return self->iSequenceError;    // return any error that occured during the retrieval
 }
 
-void QCertificateRetriever::DoCancel()
+void CSymbianCertificateRetriever::ConstructL()
 {
-    switch (state) {
-    case Initializing:
-        certStore->CancelInitialize();
-        break;
-    case Listing:
-        certStore->CancelList();
-        break;
-    case RetrievingCertificates:
-        certStore->CancelRetrieve();
-        break;
-    }
+    User::LeaveIfError(iThread.Create(_L("CertWorkerThread"),
+        CSymbianCertificateRetriever::ThreadEntryPoint, 16384, NULL, this));
 }
 
-QCertificateConsumer::QCertificateConsumer(QObject* parent)
-    : QObject(parent)
-    , retriever(0)
+void CSymbianCertificateRetriever::DoCancel()
 {
+    // We never cancel the sequence
 }
 
-QCertificateConsumer::~QCertificateConsumer()
+TInt CSymbianCertificateRetriever::RunError(TInt aError)
 {
-    delete retriever;
+    // If something goes wrong in the sequence, abort the sequence
+    iSequenceError = aError;    // this gets reported to the client in the TRequestStatus
+    CActiveScheduler::Stop();
+    return KErrNone;
 }
 
-void QCertificateConsumer::finish()
+void CSymbianCertificateRetriever::GetCertificateL()
 {
-    delete retriever;
-    retriever = 0;
-    emit finished();
+    CCTCertInfo* certInfo = iCertInfos[iCurrentCertIndex];
+    iCertificateData.resize(certInfo->Size());
+    TPtr8 des((TUint8*)iCertificateData.data(), 0, iCertificateData.size());
+    iCertStore->Retrieve(*certInfo, des, iStatus);
+    iState = RetrievingCertificates;
+    SetActive();
 }
 
-void QCertificateConsumer::start()
+void CSymbianCertificateRetriever::RunL()
 {
-    retriever = new QCertificateRetriever(this);
-    Q_CHECK_PTR(retriever);
-    retriever->fetch();
-}
+    switch (iState) {
+    case Initializing:
+        iState = Listing;
+        iCertStore->List(iCertInfos, *iCertFilter, iStatus);
+        SetActive();
+        break;
 
+    case Listing:
+        iCurrentCertIndex = 0;
+        GetCertificateL();
+        break;
+
+    case RetrievingCertificates:
+        iCertificates->append(iCertificateData);
+        iCertificateData = QByteArray();
+        iCurrentCertIndex++;
+        if (iCurrentCertIndex < iCertInfos.Count())
+            GetCertificateL();
+        else
+            // Stop the scheduler to return to the thread entry function
+            CActiveScheduler::Stop();
+        break;
+    }
+}
 #endif // defined(Q_OS_SYMBIAN)
 
 QList<QSslCertificate> QSslSocketPrivate::systemCaCertificates()
@@ -760,23 +781,15 @@ QList<QSslCertificate> QSslSocketPrivate::systemCaCertificates()
     systemCerts.append(QSslCertificate::fromPath(QLatin1String("/usr/share/ssl/*.pem"), QSsl::Pem, QRegExp::Wildcard)); // Centos, Redhat, SuSE
     systemCerts.append(QSslCertificate::fromPath(QLatin1String("/usr/local/ssl/*.pem"), QSsl::Pem, QRegExp::Wildcard)); // Normal OpenSSL Tarball
 #elif defined(Q_OS_SYMBIAN)
-    QThread* certThread = new QThread;
+    QList<QByteArray> certs;
+    QScopedPointer<CSymbianCertificateRetriever> retriever(CSymbianCertificateRetriever::NewL());
 
-    QCertificateConsumer *consumer = new QCertificateConsumer();
-    consumer->moveToThread(certThread);
-    QObject::connect(certThread, SIGNAL(started()), consumer, SLOT(start()));
-    QObject::connect(consumer, SIGNAL(finished()), certThread, SLOT(quit()), Qt::DirectConnection);
-
-    certThread->start();
-    certThread->wait();
-    foreach (const QByteArray &encodedCert, consumer->encodedCertificates()) {
+    retriever->GetCertificates(certs);
+    foreach (const QByteArray &encodedCert, certs) {
         QSslCertificate cert(encodedCert, QSsl::Der);
         if (!cert.isNull())
             systemCerts.append(cert);
     }
-
-    delete consumer;
-    delete certThread;
 #endif
 
     return systemCerts;
diff --git a/src/network/ssl/qsslsocket_openssl_p.h b/src/network/ssl/qsslsocket_openssl_p.h
index 7a4e6b6..dec98ae 100644
--- a/src/network/ssl/qsslsocket_openssl_p.h
+++ b/src/network/ssl/qsslsocket_openssl_p.h
@@ -120,67 +120,56 @@ public:
 };
 
 #if defined(Q_OS_SYMBIAN)
+
+#include <QByteArray>
+#include <e32base.h>
+#include <f32file.h>
 #include <unifiedcertstore.h>     // link against certstore.lib
 #include <ccertattributefilter.h> // link against ctframework.lib
 
-class QCertificateRetriever;
+// The purpose of this class is to wrap the asynchronous API of Symbian certificate store to one
+// synchronizable call. The user of this class needs to provide a TRequestStatus object which can
+// be used with User::WaitForRequest() unlike with the calls of the certificate store API.
+// A thread is used instead of a CActiveSchedulerWait scheme, because that would make the call
+// asynchronous (other events might be processed during the call even though the call would be seemingly
+// synchronous).
 
-class QCertificateConsumer : public QObject
+class CSymbianCertificateRetriever : public CActive
 {
-    Q_OBJECT
 public:
-    QCertificateConsumer(QObject* parent = 0);
-    ~QCertificateConsumer();
-
-    void finish();
-
-    void addEncodedCertificate(const QByteArray& certificate)
-    { certificates.append(certificate); }
-    QList<QByteArray> encodedCertificates() const { return certificates; }
-
-public slots:
-    void start();
+    static CSymbianCertificateRetriever* NewL();
+    ~CSymbianCertificateRetriever();
 
-signals:
-    void finished();
+    int GetCertificates(QList<QByteArray> &aCertificates);
 
 private:
-    QList<QByteArray> certificates;
-    QCertificateRetriever *retriever;
-};
-
-
-class QCertificateRetriever : public CActive
-{
-public:
-    QCertificateRetriever(QCertificateConsumer* consumer);
-    ~QCertificateRetriever();
-
-    void fetch();
+    void ConstructL();
+    CSymbianCertificateRetriever();
+    static TInt ThreadEntryPoint(TAny* aParams);
+    void doThreadEntryL();
+    void GetCertificateL();
+    void DoCancel();
+    void RunL();
+    TInt RunError(TInt aError);
 
 private:
-    virtual void RunL();
-    virtual void DoCancel();
-
-    void run();
-    void list();
-    void retrieveNextCertificate();
-
     enum {
         Initializing,
         Listing,
         RetrievingCertificates
-    } state;
-
-    CUnifiedCertStore* certStore;
-    RMPointerArray<CCTCertInfo> certs;
-    CCertAttributeFilter* certFilter;
-    QCertificateConsumer* consumer;
-    int currentCertificateIndex;
-    QByteArray currentCertificate;
-    TPtr8 certDescriptor;
+    } iState;
+
+    RThread iThread;
+    CUnifiedCertStore* iCertStore;
+    RMPointerArray<CCTCertInfo> iCertInfos;
+    CCertAttributeFilter* iCertFilter;
+    TInt iCurrentCertIndex;
+    QByteArray iCertificateData;
+    QList<QByteArray>* iCertificates;
+    TInt iSequenceError;
 };
 
+
 #endif
 
 
-- 
cgit v0.12


From 01b1bb1ca1cd687b3bc276fc5374f8be8b3074b6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=B8rgen=20Lind?= <jorgen.lind@nokia.com>
Date: Thu, 9 Sep 2010 10:09:44 +0200
Subject: Removing Q_ENUMS declaration in QTransform

since QTransform does not inherit QObject its redundant

Reviewed-by: gunnar
---
 src/gui/painting/qtransform.h | 1 -
 1 file changed, 1 deletion(-)

diff --git a/src/gui/painting/qtransform.h b/src/gui/painting/qtransform.h
index 212a582..11f2673 100644
--- a/src/gui/painting/qtransform.h
+++ b/src/gui/painting/qtransform.h
@@ -64,7 +64,6 @@ class QVariant;
 
 class Q_GUI_EXPORT QTransform
 {
-    Q_ENUMS(TransformationType)
 public:
     enum TransformationType {
         TxNone      = 0x00,
-- 
cgit v0.12


From 3146eab715817e25abc3c43232ddaa6602f1aefb Mon Sep 17 00:00:00 2001
From: Alan Alpert <alan.alpert@nokia.com>
Date: Thu, 9 Sep 2010 18:11:09 +1000
Subject: Update running animations if a SmoothedAnimation is changed

This behavior is consistent with the other animations.

Task-number: QTBUG-12336
Reviewed-by: Leonardo Sobral Cunha
---
 .../util/qdeclarativesmoothedanimation.cpp           | 20 +++++++++++++++++++-
 .../util/qdeclarativesmoothedanimation_p_p.h         |  1 +
 2 files changed, 20 insertions(+), 1 deletion(-)

diff --git a/src/declarative/util/qdeclarativesmoothedanimation.cpp b/src/declarative/util/qdeclarativesmoothedanimation.cpp
index fbd0762..ca83c52 100644
--- a/src/declarative/util/qdeclarativesmoothedanimation.cpp
+++ b/src/declarative/util/qdeclarativesmoothedanimation.cpp
@@ -312,6 +312,17 @@ QDeclarativeSmoothedAnimationPrivate::QDeclarativeSmoothedAnimationPrivate()
     QDeclarative_setParent_noEvent(anim, q);
 }
 
+void QDeclarativeSmoothedAnimationPrivate::updateRunningAnimations()
+{
+    foreach(QSmoothedAnimation* ease, activeAnimations.values()){
+        ease->maximumEasingTime = anim->maximumEasingTime;
+        ease->reversingMode = anim->reversingMode;
+        ease->velocity = anim->velocity;
+        ease->userDuration = anim->userDuration;
+        ease->init();
+    }
+}
+
 QAbstractAnimation* QDeclarativeSmoothedAnimation::qtAnimation()
 {
     Q_D(QDeclarativeSmoothedAnimation);
@@ -341,7 +352,6 @@ void QDeclarativeSmoothedAnimation::transition(QDeclarativeStateActions &actions
             ease = d->activeAnimations.value((*d->actions)[i].property);
             needsRestart = true;
         }
-
         ease->target = (*d->actions)[i].property;
         ease->to = (*d->actions)[i].toValue.toReal();
 
@@ -395,6 +405,7 @@ void QDeclarativeSmoothedAnimation::setReversingMode(ReversingMode m)
 
     d->anim->reversingMode = m;
     emit reversingModeChanged();
+    d->updateRunningAnimations();
 }
 
 /*!
@@ -418,7 +429,10 @@ void QDeclarativeSmoothedAnimation::setDuration(int duration)
     Q_D(QDeclarativeSmoothedAnimation);
     if (duration != -1)
         QDeclarativeNumberAnimation::setDuration(duration);
+    if(duration == d->anim->userDuration)
+        return;
     d->anim->userDuration = duration;
+    d->updateRunningAnimations();
 }
 
 qreal QDeclarativeSmoothedAnimation::velocity() const
@@ -447,6 +461,7 @@ void QDeclarativeSmoothedAnimation::setVelocity(qreal v)
 
     d->anim->velocity = v;
     emit velocityChanged();
+    d->updateRunningAnimations();
 }
 
 /*!
@@ -468,8 +483,11 @@ int QDeclarativeSmoothedAnimation::maximumEasingTime() const
 void QDeclarativeSmoothedAnimation::setMaximumEasingTime(int v)
 {
     Q_D(QDeclarativeSmoothedAnimation);
+    if(v == d->anim->maximumEasingTime)
+        return;
     d->anim->maximumEasingTime = v;
     emit maximumEasingTimeChanged();
+    d->updateRunningAnimations();
 }
 
 QT_END_NAMESPACE
diff --git a/src/declarative/util/qdeclarativesmoothedanimation_p_p.h b/src/declarative/util/qdeclarativesmoothedanimation_p_p.h
index 8cdbea2..cb0f4c2 100644
--- a/src/declarative/util/qdeclarativesmoothedanimation_p_p.h
+++ b/src/declarative/util/qdeclarativesmoothedanimation_p_p.h
@@ -123,6 +123,7 @@ class QDeclarativeSmoothedAnimationPrivate : public QDeclarativePropertyAnimatio
     Q_DECLARE_PUBLIC(QDeclarativeSmoothedAnimation)
 public:
     QDeclarativeSmoothedAnimationPrivate();
+    void updateRunningAnimations();
 
     QParallelAnimationGroup *wrapperGroup;
     QSmoothedAnimation *anim;
-- 
cgit v0.12


From 647a3999bb073395ebb3df2137fb60e5b0435d16 Mon Sep 17 00:00:00 2001
From: Sami Merila <sami.merila@nokia.com>
Date: Thu, 9 Sep 2010 11:59:03 +0300
Subject: Cursor is misplaced in the editors text area

When QInputMethodEvent::Cursor with value 0 is sent to QLineEdit,
cursor is still visible.

QLineControl (text control widget inside QLineEdit) handles the
internal state of cursor visibility correctly and then promptly ignores
the state when drawing the text.

Issue is corrected by checking the cursor visibility state when drawing
the cursor into widget.

Task-number: QT-3670
Reviewed-by: axis
---
 src/gui/widgets/qlinecontrol.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/gui/widgets/qlinecontrol.cpp b/src/gui/widgets/qlinecontrol.cpp
index b6dfd13..4d47c82 100644
--- a/src/gui/widgets/qlinecontrol.cpp
+++ b/src/gui/widgets/qlinecontrol.cpp
@@ -527,7 +527,7 @@ void QLineControl::draw(QPainter *painter, const QPoint &offset, const QRect &cl
         int cursor = m_cursor;
         if (m_preeditCursor != -1)
             cursor += m_preeditCursor;
-        if(!m_blinkPeriod || m_blinkStatus)
+        if (!m_hideCursor && (!m_blinkPeriod || m_blinkStatus))
             m_textLayout.drawCursor(painter, offset, cursor, m_cursorWidth);
     }
 }
-- 
cgit v0.12


From 9d1361ab3affe34f1c3a08d3e4b83bd4e2c89eb8 Mon Sep 17 00:00:00 2001
From: Miikka Heikkinen <miikka.heikkinen@digia.com>
Date: Thu, 9 Sep 2010 13:38:07 +0300
Subject: Change RLibrary handle in QS60PluginResolver to be process wide

This fix enables Symbian version plugins to be accessed from all
threads of the process.

Task-number: QT-3895
Reviewed-by: Janne Koskinen
---
 src/corelib/kernel/qcore_symbian_p.cpp | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/corelib/kernel/qcore_symbian_p.cpp b/src/corelib/kernel/qcore_symbian_p.cpp
index 5afde9a..66296b0 100644
--- a/src/corelib/kernel/qcore_symbian_p.cpp
+++ b/src/corelib/kernel/qcore_symbian_p.cpp
@@ -131,7 +131,6 @@ public:
 private:
     void init()
     {
-#ifdef Q_OS_SYMBIAN
         _LIT(KLibName_3_1, "qts60plugin_3_1" QT_LIBINFIX_UNICODE L".dll");
         _LIT(KLibName_3_2, "qts60plugin_3_2" QT_LIBINFIX_UNICODE L".dll");
         _LIT(KLibName_5_0, "qts60plugin_5_0" QT_LIBINFIX_UNICODE L".dll");
@@ -157,7 +156,12 @@ private:
 
         TUidType libUid(KDynamicLibraryUid, KSharedLibraryUid, TUid::Uid(uidValue));
         lib.Load(libName, libUid);
-#endif
+
+        // Duplicate lib handle to enable process wide access to it. Since Duplicate overwrites
+        // existing handle without closing it, store original for subsequent closing.
+        RLibrary origHandleCloser = lib;
+        lib.Duplicate(RThread(), EOwnerProcess);
+        origHandleCloser.Close();
     }
 
     RLibrary lib;
-- 
cgit v0.12


From 8ed2b25f87bc632d0e7d375c3506fab1c59ca1a2 Mon Sep 17 00:00:00 2001
From: Sami Merila <sami.merila@nokia.com>
Date: Thu, 9 Sep 2010 14:36:32 +0300
Subject: Editable QComboBox popup immediately closes itself after a click

This is due that timer that blocks for while mouse release events
(blockMouseReleaseTimer) is not started. There is an optimization
in QComboBox that tries to avoid calling d->viewContainer() since
that method creates the viewContainter if it doesn't exist.
Unfortunately this optimization does not take into account if the
container is already created.

In this particular case, viewContainer is already created, but
since QComboBox creates a QLineEdit, it skips the timer start,
which leads to situation where combobox's popup menu receiving
mouse release event and thus closes itself.

As a fix, blockMouseReleaseTimer is started if the viewContainer is
already created.

Task-number: QTBUG-13231
Reviewed-by: axis
---
 src/gui/widgets/qcombobox.cpp | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/gui/widgets/qcombobox.cpp b/src/gui/widgets/qcombobox.cpp
index 917a325..96d2acd 100644
--- a/src/gui/widgets/qcombobox.cpp
+++ b/src/gui/widgets/qcombobox.cpp
@@ -2849,7 +2849,8 @@ void QComboBox::mousePressEvent(QMouseEvent *e)
         if (sc == QStyle::SC_ComboBoxArrow)
             d->updateArrow(QStyle::State_Sunken);
 #ifdef QT_KEYPAD_NAVIGATION
-        if (!d->lineEdit) {
+        //if the container already exists, then d->viewContainer() is safe to call
+        if (d->container) {
 #endif
             // We've restricted the next couple of lines, because by not calling
             // viewContainer(), we avoid creating the QComboBoxPrivateContainer.
-- 
cgit v0.12


From 7e9ac1bab3527de054552ff3f38ab70945f49512 Mon Sep 17 00:00:00 2001
From: Thierry Bastian <thierry.bastian@nokia.com>
Date: Thu, 9 Sep 2010 14:58:38 +0200
Subject: Fixed the scrolling of text in QLineEdit with right alignment

The scrolling internal member was not changed in cas the text was
bigger than the lineedit.

Task-number: QTBUG-13520
Reviewed-by: gabi
---
 src/gui/widgets/qlineedit.cpp          |  4 ++++
 tests/auto/qlineedit/tst_qlineedit.cpp | 19 +++++++++++++++++++
 2 files changed, 23 insertions(+)

diff --git a/src/gui/widgets/qlineedit.cpp b/src/gui/widgets/qlineedit.cpp
index 981e934..caaef68 100644
--- a/src/gui/widgets/qlineedit.cpp
+++ b/src/gui/widgets/qlineedit.cpp
@@ -1929,7 +1929,11 @@ void QLineEdit::paintEvent(QPaintEvent *)
         // text doesn't fit, text document is to the left of lineRect; align
         // right
         d->hscroll = widthUsed - lineRect.width() + 1;
+    } else {
+        //in case the text is bigger than the lineedit, the hscroll can never be negative
+        d->hscroll = qMax(0, d->hscroll);
     }
+
     // the y offset is there to keep the baseline constant in case we have script changes in the text.
     QPoint topLeft = lineRect.topLeft() - QPoint(d->hscroll, d->control->ascent() - fm.ascent());
 
diff --git a/tests/auto/qlineedit/tst_qlineedit.cpp b/tests/auto/qlineedit/tst_qlineedit.cpp
index 717b32d..bfa9406 100644
--- a/tests/auto/qlineedit/tst_qlineedit.cpp
+++ b/tests/auto/qlineedit/tst_qlineedit.cpp
@@ -275,6 +275,7 @@ private slots:
 #endif
     void taskQTBUG_7395_readOnlyShortcut();
     void QTBUG697_paletteCurrentColorGroup();
+    void QTBUG13520_textNotVisible();
 
 #ifdef QT3_SUPPORT
     void validateAndSet_data();
@@ -3034,6 +3035,8 @@ public:
     };
 
     State state;
+
+    friend class tst_QLineEdit;
 };
 
 Q_DECLARE_METATYPE(LineEdit::State);
@@ -3741,5 +3744,21 @@ void tst_QLineEdit::QTBUG697_paletteCurrentColorGroup()
     QCOMPARE(img.pixel(10, le.height()/2), QColor(Qt::red).rgb());
 }
 
+void tst_QLineEdit::QTBUG13520_textNotVisible()
+{
+    LineEdit le;
+    le.setAlignment( Qt::AlignRight | Qt::AlignVCenter);
+    le.show();
+    QTest::qWaitForWindowShown(&le);
+    le.setText("01-ST16-01SIL-MPL001wfgsdfgsdgsdfgsdfgsdfgsdfgsdfg");
+    le.setCursorPosition(0);
+    QTest::qWait(100); //just make sure we get he lineedit correcly painted
+
+    QVERIFY(le.cursorRect().center().x() < le.width() / 2);
+
+
+}
+
+
 QTEST_MAIN(tst_QLineEdit)
 #include "tst_qlineedit.moc"
-- 
cgit v0.12


From fe350ca756df6392b3d0b7840351fccc89f9ef6f Mon Sep 17 00:00:00 2001
From: Stephen Kelly <stephen@kdab.com>
Date: Thu, 9 Sep 2010 15:28:15 +0200
Subject: When a move is completed, report the source and destination
 correctly.

In rare cases source or destination is changed during the move, so
it must be corrected afterward before being reported in the signal.

Merge-request: 800
Reviewed-by: Olivier Goffart <olivier.goffart@nokia.com>
---
 src/corelib/kernel/qabstractitemmodel.cpp          | 40 ++++++++++++++++++----
 src/corelib/kernel/qabstractitemmodel_p.h          | 19 ++++++++--
 .../qabstractitemmodel/tst_qabstractitemmodel.cpp  |  6 ++--
 3 files changed, 55 insertions(+), 10 deletions(-)

diff --git a/src/corelib/kernel/qabstractitemmodel.cpp b/src/corelib/kernel/qabstractitemmodel.cpp
index e3fce18..9a99ea1 100644
--- a/src/corelib/kernel/qabstractitemmodel.cpp
+++ b/src/corelib/kernel/qabstractitemmodel.cpp
@@ -2603,9 +2603,13 @@ bool QAbstractItemModel::beginMoveRows(const QModelIndex &sourceParent, int sour
         return false;
     }
 
-    d->changes.push(QAbstractItemModelPrivate::Change(sourceParent, sourceFirst, sourceLast));
+    QAbstractItemModelPrivate::Change sourceChange(sourceParent, sourceFirst, sourceLast);
+    sourceChange.needsAdjust = sourceParent.isValid() && sourceParent.row() >= destinationChild && sourceParent.parent() == destinationParent;
+    d->changes.push(sourceChange);
     int destinationLast = destinationChild + (sourceLast - sourceFirst);
-    d->changes.push(QAbstractItemModelPrivate::Change(destinationParent, destinationChild, destinationLast));
+    QAbstractItemModelPrivate::Change destinationChange(destinationParent, destinationChild, destinationLast);
+    destinationChange.needsAdjust = destinationParent.isValid() && destinationParent.row() >= sourceLast && destinationParent.parent() == sourceParent;
+    d->changes.push(destinationChange);
 
     emit rowsAboutToBeMoved(sourceParent, sourceFirst, sourceLast, destinationParent, destinationChild);
     emit layoutAboutToBeChanged();
@@ -2635,7 +2639,17 @@ void QAbstractItemModel::endMoveRows()
 
     d->itemsMoved(removeChange.parent, removeChange.first, removeChange.last, insertChange.parent, insertChange.first, Qt::Vertical);
 
-    emit rowsMoved(removeChange.parent, removeChange.first, removeChange.last, insertChange.parent, insertChange.first);
+    QModelIndex adjustedSource = removeChange.parent;
+    QModelIndex adjustedDestination = insertChange.parent;
+
+    const int numMoved = removeChange.last - removeChange.first + 1;
+    if (insertChange.needsAdjust)
+      adjustedDestination = createIndex(adjustedDestination.row() - numMoved, adjustedDestination.column(), adjustedDestination.internalPointer());
+
+    if (removeChange.needsAdjust)
+      adjustedSource = createIndex(adjustedSource.row() + numMoved, adjustedSource.column(), adjustedSource.internalPointer());
+
+    emit rowsMoved(adjustedSource, removeChange.first, removeChange.last, adjustedDestination, insertChange.first);
     emit layoutChanged();
 }
 
@@ -2812,9 +2826,13 @@ bool QAbstractItemModel::beginMoveColumns(const QModelIndex &sourceParent, int s
         return false;
     }
 
-    d->changes.push(QAbstractItemModelPrivate::Change(sourceParent, sourceFirst, sourceLast));
+    QAbstractItemModelPrivate::Change sourceChange(sourceParent, sourceFirst, sourceLast);
+    sourceChange.needsAdjust = sourceParent.isValid() && sourceParent.row() >= destinationChild && sourceParent.parent() == destinationParent;
+    d->changes.push(sourceChange);
     int destinationLast = destinationChild + (sourceLast - sourceFirst);
-    d->changes.push(QAbstractItemModelPrivate::Change(destinationParent, destinationChild, destinationLast));
+    QAbstractItemModelPrivate::Change destinationChange(destinationParent, destinationChild, destinationLast);
+    destinationChange.needsAdjust = destinationParent.isValid() && destinationParent.row() >= sourceLast && destinationParent.parent() == sourceParent;
+    d->changes.push(destinationChange);
 
     d->itemsAboutToBeMoved(sourceParent, sourceFirst, sourceLast, destinationParent, destinationChild, Qt::Horizontal);
 
@@ -2845,7 +2863,17 @@ void QAbstractItemModel::endMoveColumns()
 
     d->itemsMoved(removeChange.parent, removeChange.first, removeChange.last, insertChange.parent, insertChange.first, Qt::Horizontal);
 
-    emit columnsMoved(removeChange.parent, removeChange.first, removeChange.last, insertChange.parent, insertChange.first);
+    QModelIndex adjustedSource = removeChange.parent;
+    QModelIndex adjustedDestination = insertChange.parent;
+
+    const int numMoved = removeChange.last - removeChange.first + 1;
+    if (insertChange.needsAdjust)
+      adjustedDestination = createIndex(adjustedDestination.row(), adjustedDestination.column() - numMoved, adjustedDestination.internalPointer());
+
+    if (removeChange.needsAdjust)
+      adjustedSource = createIndex(adjustedSource.row(), adjustedSource.column() + numMoved, adjustedSource.internalPointer());
+
+    emit columnsMoved(adjustedSource, removeChange.first, removeChange.last, adjustedDestination, insertChange.first);
     emit layoutChanged();
 }
 
diff --git a/src/corelib/kernel/qabstractitemmodel_p.h b/src/corelib/kernel/qabstractitemmodel_p.h
index 7844a10..3113dff 100644
--- a/src/corelib/kernel/qabstractitemmodel_p.h
+++ b/src/corelib/kernel/qabstractitemmodel_p.h
@@ -133,11 +133,26 @@ public:
 
     struct Change {
         Change() : first(-1), last(-1) {}
-        Change(const Change &c) : parent(c.parent), first(c.first), last(c.last) {}
-        Change(const QModelIndex &p, int f, int l) : parent(p), first(f), last(l) {}
+        Change(const Change &c) : parent(c.parent), first(c.first), last(c.last), needsAdjust(c.needsAdjust) {}
+        Change(const QModelIndex &p, int f, int l) : parent(p), first(f), last(l), needsAdjust(false) {}
         QModelIndex parent;
         int first, last;
 
+
+        // In cases such as this:
+        // - A
+        // - B
+        // - C
+        // - - D
+        // - - E
+        // - - F
+        //
+        // If B is moved to above E, C is the source parent in the signal and its row is 2. When the move is
+        // completed however, C is at row 1 and there is no row 2 at the same level in the model at all.
+        // The QModelIndex is adjusted to correct that in those cases before reporting it though the
+        // rowsMoved signal.
+        bool needsAdjust;
+
         bool isValid() { return first >= 0 && last >= 0; }
     };
     QStack<Change> changes;
diff --git a/tests/auto/qabstractitemmodel/tst_qabstractitemmodel.cpp b/tests/auto/qabstractitemmodel/tst_qabstractitemmodel.cpp
index 6f158f0..dbcccc9 100644
--- a/tests/auto/qabstractitemmodel/tst_qabstractitemmodel.cpp
+++ b/tests/auto/qabstractitemmodel/tst_qabstractitemmodel.cpp
@@ -1208,6 +1208,7 @@ void tst_QAbstractItemModel::testMoveToGrandParent()
     QSignalSpy beforeSpy(m_model, SIGNAL(rowsAboutToBeMoved(const QModelIndex &, int, int, const QModelIndex &, int)));
     QSignalSpy afterSpy(m_model, SIGNAL(rowsMoved(const QModelIndex &, int, int, const QModelIndex &, int)));
 
+    QPersistentModelIndex persistentSource = sourceIndex;
 
     ModelMoveCommand *moveCommand = new ModelMoveCommand(m_model, this);
     moveCommand->setAncestorRowNumbers(QList<int>() << 5);
@@ -1228,7 +1229,7 @@ void tst_QAbstractItemModel::testMoveToGrandParent()
     QCOMPARE(beforeSignal.at(4).toInt(), destRow);
 
     QCOMPARE(afterSignal.size(), 5);
-    QCOMPARE(afterSignal.at(0).value<QModelIndex>(), sourceIndex);
+    QCOMPARE(afterSignal.at(0).value<QModelIndex>(), static_cast<QModelIndex>(persistentSource));
     QCOMPARE(afterSignal.at(1).toInt(), startRow);
     QCOMPARE(afterSignal.at(2).toInt(), endRow);
     QCOMPARE(afterSignal.at(3).value<QModelIndex>(), QModelIndex());
@@ -1351,6 +1352,7 @@ void tst_QAbstractItemModel::testMoveToSibling()
     QSignalSpy beforeSpy(m_model, SIGNAL(rowsAboutToBeMoved(const QModelIndex &, int, int, const QModelIndex &, int)));
     QSignalSpy afterSpy(m_model, SIGNAL(rowsMoved(const QModelIndex &, int, int, const QModelIndex &, int)));
 
+    QPersistentModelIndex persistentDest = destIndex;
 
     ModelMoveCommand *moveCommand = new ModelMoveCommand(m_model, this);
     moveCommand->setNumCols(4);
@@ -1374,7 +1376,7 @@ void tst_QAbstractItemModel::testMoveToSibling()
     QCOMPARE(afterSignal.at(0).value<QModelIndex>(), sourceIndex);
     QCOMPARE(afterSignal.at(1).toInt(), startRow);
     QCOMPARE(afterSignal.at(2).toInt(), endRow);
-    QCOMPARE(afterSignal.at(3).value<QModelIndex>(), destIndex);
+    QCOMPARE(afterSignal.at(3).value<QModelIndex>(), static_cast<QModelIndex>(persistentDest));
     QCOMPARE(afterSignal.at(4).toInt(), destRow);
 
     for (int i = 0; i < indexList.size(); i++)
-- 
cgit v0.12


From 5b9479964baa2a8f4b1278a5894ec1dd181e611c Mon Sep 17 00:00:00 2001
From: Marc Mutz <marc.mutz@kdab.com>
Date: Tue, 31 Aug 2010 15:05:28 +0200
Subject: QList::toVector()/QVector::toStdVector()/QVector::fromStdVector():
 use reserve()

Reviewed-by: Olivier Goffart
Merge-request: 799
---
 src/corelib/tools/qvector.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/corelib/tools/qvector.h b/src/corelib/tools/qvector.h
index b762b8a..2b8d054 100644
--- a/src/corelib/tools/qvector.h
+++ b/src/corelib/tools/qvector.h
@@ -293,9 +293,9 @@ public:
 
 #ifndef QT_NO_STL
     static inline QVector<T> fromStdVector(const std::vector<T> &vector)
-    { QVector<T> tmp; qCopy(vector.begin(), vector.end(), std::back_inserter(tmp)); return tmp; }
+    { QVector<T> tmp; tmp.reserve(vector.size()); qCopy(vector.begin(), vector.end(), std::back_inserter(tmp)); return tmp; }
     inline std::vector<T> toStdVector() const
-    { std::vector<T> tmp; qCopy(constBegin(), constEnd(), std::back_inserter(tmp)); return tmp; }
+    { std::vector<T> tmp; tmp.reserve(size()); qCopy(constBegin(), constEnd(), std::back_inserter(tmp)); return tmp; }
 #endif
 
 private:
-- 
cgit v0.12


From 6b7f0bb52f10a03758b5625bd7112d214627812a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Samuel=20R=C3=B8dal?= <samuel.rodal@nokia.com>
Date: Thu, 9 Sep 2010 17:12:57 +0200
Subject: Some optimizations to the GL pixmap data.

- Don't use toImage() / fromImage() to copy when a render FBO is active.
- Use raster for rendering to small (< 32x32) pixmaps.

Reviewed-by: Trond
---
 .../gl2paintengineex/qpaintengineex_opengl2.cpp    |  6 ++++
 .../gl2paintengineex/qpaintengineex_opengl2_p.h    |  2 ++
 src/opengl/qpixmapdata_gl.cpp                      | 40 +++++++++++++++++++---
 src/opengl/qpixmapdata_gl_p.h                      |  2 +-
 4 files changed, 44 insertions(+), 6 deletions(-)

diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
index 18192e3..aa217f6 100644
--- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
+++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
@@ -591,6 +591,12 @@ void QGL2PaintEngineEx::endNativePainting()
     d->nativePaintingActive = false;
 }
 
+void QGL2PaintEngineEx::invalidateState()
+{
+    Q_D(QGL2PaintEngineEx);
+    d->needsSync = true;
+}
+
 bool QGL2PaintEngineEx::isNativePaintingActive() const {
     Q_D(const QGL2PaintEngineEx);
     return d->nativePaintingActive;
diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h b/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h
index 59b90d8..b255e75 100644
--- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h
+++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h
@@ -151,6 +151,8 @@ public:
     void beginNativePainting();
     void endNativePainting();
 
+    void invalidateState();
+
     QPixmapFilter *pixmapFilter(int type, const QPixmapFilter *prototype);
 
     void setRenderTextActive(bool);
diff --git a/src/opengl/qpixmapdata_gl.cpp b/src/opengl/qpixmapdata_gl.cpp
index 1efd398..89000bb 100644
--- a/src/opengl/qpixmapdata_gl.cpp
+++ b/src/opengl/qpixmapdata_gl.cpp
@@ -472,13 +472,42 @@ bool QGLPixmapData::scroll(int dx, int dy, const QRect &rect)
 
 void QGLPixmapData::copy(const QPixmapData *data, const QRect &rect)
 {
-    if (data->classId() != QPixmapData::OpenGLClass) {
+    if (data->classId() != QPixmapData::OpenGLClass || !static_cast<const QGLPixmapData *>(data)->useFramebufferObjects()) {
         QPixmapData::copy(data, rect);
         return;
     }
 
-    // can be optimized to do a framebuffer blit or similar ...
-    QPixmapData::copy(data, rect);
+    const QGLPixmapData *other = static_cast<const QGLPixmapData *>(data);
+    if (other->m_renderFbo) {
+        QGLShareContextScope ctx(qt_gl_share_widget()->context());
+
+        resize(rect.width(), rect.height());
+        m_hasAlpha = other->m_hasAlpha;
+        ensureCreated();
+
+        if (!ctx->d_ptr->fbo)
+            glGenFramebuffers(1, &ctx->d_ptr->fbo);
+
+        glBindFramebuffer(GL_DRAW_FRAMEBUFFER_EXT, ctx->d_ptr->fbo);
+        glFramebufferTexture2D(GL_DRAW_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT0_EXT,
+                GL_TEXTURE_2D, m_texture.id, 0);
+
+        if (!other->m_renderFbo->isBound())
+            glBindFramebuffer(GL_READ_FRAMEBUFFER_EXT, other->m_renderFbo->handle());
+
+        glDisable(GL_SCISSOR_TEST);
+        if (ctx->d_ptr->active_engine && ctx->d_ptr->active_engine->type() == QPaintEngine::OpenGL2)
+            static_cast<QGL2PaintEngineEx *>(ctx->d_ptr->active_engine)->invalidateState();
+
+        glBlitFramebufferEXT(rect.x(), rect.y(), rect.x() + rect.width(), rect.y() + rect.height(),
+                0, 0, w, h,
+                GL_COLOR_BUFFER_BIT,
+                GL_NEAREST);
+
+        glBindFramebuffer(GL_FRAMEBUFFER_EXT, ctx->d_ptr->current_fbo);
+    } else {
+        QPixmapData::copy(data, rect);
+    }
 }
 
 void QGLPixmapData::fill(const QColor &color)
@@ -623,11 +652,12 @@ void QGLPixmapData::copyBackFromRenderFbo(bool keepCurrentFboBound) const
     }
 }
 
-bool QGLPixmapData::useFramebufferObjects()
+bool QGLPixmapData::useFramebufferObjects() const
 {
     return QGLFramebufferObject::hasOpenGLFramebufferObjects()
            && QGLFramebufferObject::hasOpenGLFramebufferBlit()
-           && qt_gl_preferGL2Engine();
+           && qt_gl_preferGL2Engine()
+           && (w * h > 32*32); // avoid overhead of FBOs for small pixmaps
 }
 
 QPaintEngine* QGLPixmapData::paintEngine() const
diff --git a/src/opengl/qpixmapdata_gl_p.h b/src/opengl/qpixmapdata_gl_p.h
index 736a28e..4cb67b0 100644
--- a/src/opengl/qpixmapdata_gl_p.h
+++ b/src/opengl/qpixmapdata_gl_p.h
@@ -145,7 +145,7 @@ private:
     void copyBackFromRenderFbo(bool keepCurrentFboBound) const;
     QSize size() const { return QSize(w, h); }
 
-    static bool useFramebufferObjects();
+    bool useFramebufferObjects() const;
 
     QImage fillImage(const QColor &color) const;
 
-- 
cgit v0.12


From 7670e34120843c08de70f3a5db0816aeeff9dcc8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Samuel=20R=C3=B8dal?= <samuel.rodal@nokia.com>
Date: Thu, 9 Sep 2010 17:31:28 +0200
Subject: Make sure we blit to the correct FBO in the GL window surface.

Reviewed-by: Trond
---
 src/opengl/qwindowsurface_gl.cpp | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/opengl/qwindowsurface_gl.cpp b/src/opengl/qwindowsurface_gl.cpp
index d602000..e84bc29 100644
--- a/src/opengl/qwindowsurface_gl.cpp
+++ b/src/opengl/qwindowsurface_gl.cpp
@@ -574,7 +574,9 @@ void QGLWindowSurface::flush(QWidget *widget, const QRegion &rgn, const QPoint &
         const int ty1 = parent->height() - rect.top();
 
         if (window() == parent || d_ptr->fbo->format().samples() <= 1) {
-            // glBindFramebuffer(GL_DRAW_FRAMEBUFFER_EXT, 0);
+            if (ctx->d_ptr->current_fbo != 0)
+                glBindFramebuffer(GL_DRAW_FRAMEBUFFER_EXT, 0);
+
             glBindFramebuffer(GL_READ_FRAMEBUFFER_EXT, d_ptr->fbo->handle());
 
             glBlitFramebufferEXT(sx0, sy0, sx1, sy1,
@@ -607,6 +609,8 @@ void QGLWindowSurface::flush(QWidget *widget, const QRegion &rgn, const QPoint &
 
             qgl_fbo_pool()->release(temp);
         }
+
+        ctx->d_ptr->current_fbo = 0;
     }
 #if !defined(QT_OPENGL_ES_2)
     else {
-- 
cgit v0.12


From f11e2ef009c7e39f927c28d8d9d37b9dabf29f80 Mon Sep 17 00:00:00 2001
From: Yann Bodson <yann.bodson@nokia.com>
Date: Wed, 8 Sep 2010 15:17:09 +1000
Subject: Changing the Image 'source' should not go through the 'Loading' state
 if the image is cached.

Task-number: QTBUG-13454
Reviewed-by: Martin Jones
---
 .../graphicsitems/qdeclarativeimagebase.cpp        | 23 ++++++++++++----------
 1 file changed, 13 insertions(+), 10 deletions(-)

diff --git a/src/declarative/graphicsitems/qdeclarativeimagebase.cpp b/src/declarative/graphicsitems/qdeclarativeimagebase.cpp
index f0293d6..02b4807 100644
--- a/src/declarative/graphicsitems/qdeclarativeimagebase.cpp
+++ b/src/declarative/graphicsitems/qdeclarativeimagebase.cpp
@@ -129,27 +129,25 @@ QSize QDeclarativeImageBase::sourceSize() const
 void QDeclarativeImageBase::load()
 {
     Q_D(QDeclarativeImageBase);
-    if (d->progress != 0.0) {
-        d->progress = 0.0;
-        emit progressChanged(d->progress);
-    }
 
     if (d->url.isEmpty()) {
         d->pix.clear();
         d->status = Null;
+        d->progress = 0.0;
         setImplicitWidth(0);
         setImplicitHeight(0);
+        emit progressChanged(d->progress);
         emit statusChanged(d->status);
         pixmapChange();
         update();
     } else {
-
-        d->status = Loading;
-        emit statusChanged(d->status);
-
         d->pix.load(qmlEngine(this), d->url, d->sourcesize, d->async);
 
         if (d->pix.isLoading()) {
+            d->progress = 0.0;
+            d->status = Loading;
+            emit progressChanged(d->progress);
+            emit statusChanged(d->status);
 
             static int thisRequestProgress = -1;
             static int thisRequestFinished = -1;
@@ -173,6 +171,9 @@ void QDeclarativeImageBase::requestFinished()
 {
     Q_D(QDeclarativeImageBase);
 
+    QDeclarativeImageBase::Status oldStatus = d->status;
+    qreal oldProgress = d->progress;
+
     if (d->pix.isError()) {
         d->status = Error;
         qmlInfo(this) << d->pix.error();
@@ -191,8 +192,10 @@ void QDeclarativeImageBase::requestFinished()
         emit sourceSizeChanged();
     }
 
-    emit statusChanged(d->status);
-    emit progressChanged(d->progress);
+    if (d->status != oldStatus)
+        emit statusChanged(d->status);
+    if (d->progress != oldProgress)
+        emit progressChanged(d->progress);
     pixmapChange();
     update();
 }
-- 
cgit v0.12


From 4c62387c530787b0db8b159b8a535401a5bb7310 Mon Sep 17 00:00:00 2001
From: Yann Bodson <yann.bodson@nokia.com>
Date: Fri, 10 Sep 2010 14:25:19 +1000
Subject: Autotest for QTBUG-13454.

---
 .../graphicsitems/qdeclarativeimagebase_p.h        |  3 +-
 .../qdeclarativeimage/tst_qdeclarativeimage.cpp    | 68 +++++++++++++++++-----
 2 files changed, 55 insertions(+), 16 deletions(-)

diff --git a/src/declarative/graphicsitems/qdeclarativeimagebase_p.h b/src/declarative/graphicsitems/qdeclarativeimagebase_p.h
index f5896b1..68eb8d0 100644
--- a/src/declarative/graphicsitems/qdeclarativeimagebase_p.h
+++ b/src/declarative/graphicsitems/qdeclarativeimagebase_p.h
@@ -58,7 +58,6 @@ class Q_AUTOTEST_EXPORT QDeclarativeImageBase : public QDeclarativeItem
     Q_PROPERTY(QUrl source READ source WRITE setSource NOTIFY sourceChanged)
     Q_PROPERTY(qreal progress READ progress NOTIFY progressChanged)
     Q_PROPERTY(bool asynchronous READ asynchronous WRITE setAsynchronous NOTIFY asynchronousChanged)
-
     Q_PROPERTY(QSize sourceSize READ sourceSize WRITE setSourceSize NOTIFY sourceSizeChanged)
 
 public:
@@ -79,7 +78,7 @@ public:
 Q_SIGNALS:
     void sourceChanged(const QUrl &);
     void sourceSizeChanged();
-    void statusChanged(Status);
+    void statusChanged(QDeclarativeImageBase::Status);
     void progressChanged(qreal progress);
     void asynchronousChanged();
 
diff --git a/tests/auto/declarative/qdeclarativeimage/tst_qdeclarativeimage.cpp b/tests/auto/declarative/qdeclarativeimage/tst_qdeclarativeimage.cpp
index 8cfb487..2686127 100644
--- a/tests/auto/declarative/qdeclarativeimage/tst_qdeclarativeimage.cpp
+++ b/tests/auto/declarative/qdeclarativeimage/tst_qdeclarativeimage.cpp
@@ -52,7 +52,9 @@
 #include <private/qdeclarativeloader_p.h>
 #include <QtDeclarative/qdeclarativecontext.h>
 #include <QtDeclarative/qdeclarativeexpression.h>
+#include <QtTest/QSignalSpy>
 
+#include "../../../shared/util.h"
 #include "../shared/testhttpserver.h"
 
 #ifdef Q_OS_SYMBIAN
@@ -63,18 +65,7 @@
 #define SERVER_PORT 14451
 #define SERVER_ADDR "http://127.0.0.1:14451"
 
-#define TRY_WAIT(expr) \
-    do { \
-        for (int ii = 0; ii < 60; ++ii) { \
-            if ((expr)) break; \
-            QTest::qWait(50); \
-        } \
-        QVERIFY((expr)); \
-    } while (false)
-
-
 class tst_qdeclarativeimage : public QObject
-
 {
     Q_OBJECT
 public:
@@ -91,6 +82,7 @@ private slots:
     void svg();
     void big();
     void tiling_QTBUG_6716();
+    void noLoading();
 
 private:
     template<typename T>
@@ -173,18 +165,18 @@ void tst_qdeclarativeimage::imageSource()
         QVERIFY(obj->asynchronous() == true);
 
     if (remote || async)
-        TRY_WAIT(obj->status() == QDeclarativeImage::Loading);
+        QTRY_VERIFY(obj->status() == QDeclarativeImage::Loading);
 
     QCOMPARE(obj->source(), remote ? source : QUrl(source));
 
     if (error.isEmpty()) {
-        TRY_WAIT(obj->status() == QDeclarativeImage::Ready);
+        QTRY_VERIFY(obj->status() == QDeclarativeImage::Ready);
         QCOMPARE(obj->width(), qreal(width));
         QCOMPARE(obj->height(), qreal(height));
         QCOMPARE(obj->fillMode(), QDeclarativeImage::Stretch);
         QCOMPARE(obj->progress(), 1.0);
     } else {
-        TRY_WAIT(obj->status() == QDeclarativeImage::Error);
+        QTRY_VERIFY(obj->status() == QDeclarativeImage::Error);
     }
 
     delete obj;
@@ -355,6 +347,54 @@ void tst_qdeclarativeimage::tiling_QTBUG_6716()
     }
 }
 
+void tst_qdeclarativeimage::noLoading()
+{
+    TestHTTPServer server(SERVER_PORT);
+    QVERIFY(server.isValid());
+    server.serveDirectory(SRCDIR "/data");
+    server.addRedirect("oldcolors.png", SERVER_ADDR "/colors.png");
+
+    QString componentStr = "import Qt 4.7\nImage { source: srcImage }";
+    QDeclarativeContext *ctxt = engine.rootContext();
+    ctxt->setContextProperty("srcImage", QUrl::fromLocalFile(SRCDIR "/data/heart.png"));
+    QDeclarativeComponent component(&engine);
+    component.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+    QDeclarativeImage *obj = qobject_cast<QDeclarativeImage*>(component.create());
+    QVERIFY(obj != 0);
+    QVERIFY(obj->status() == QDeclarativeImage::Ready);
+
+    QSignalSpy sourceSpy(obj, SIGNAL(sourceChanged(const QUrl &)));
+    QSignalSpy progressSpy(obj, SIGNAL(progressChanged(qreal)));
+    QSignalSpy statusSpy(obj, SIGNAL(statusChanged(QDeclarativeImageBase::Status)));
+
+    // Loading local file
+    ctxt->setContextProperty("srcImage", QUrl::fromLocalFile(SRCDIR "/data/colors.png"));
+    QTRY_VERIFY(obj->status() == QDeclarativeImage::Ready);
+    QTRY_VERIFY(obj->progress() == 1.0);
+    QTRY_COMPARE(sourceSpy.count(), 1);
+    QTRY_COMPARE(progressSpy.count(), 0);
+    QTRY_COMPARE(statusSpy.count(), 0);
+
+    // Loading remote file
+    ctxt->setContextProperty("srcImage", QString(SERVER_ADDR) + "/oldcolors.png");
+    QTRY_VERIFY(obj->status() == QDeclarativeImage::Loading);
+    QTRY_VERIFY(obj->progress() == 0.0);
+    QTRY_VERIFY(obj->status() == QDeclarativeImage::Ready);
+    QTRY_VERIFY(obj->progress() == 1.0);
+    QTRY_COMPARE(sourceSpy.count(), 2);
+    QTRY_COMPARE(progressSpy.count(), 2);
+    QTRY_COMPARE(statusSpy.count(), 2);
+
+    // Loading remote file again - should not go through 'Loading' state.
+    ctxt->setContextProperty("srcImage", QUrl::fromLocalFile(SRCDIR "/data/colors.png"));
+    ctxt->setContextProperty("srcImage", QString(SERVER_ADDR) + "/oldcolors.png");
+    QTRY_VERIFY(obj->status() == QDeclarativeImage::Ready);
+    QTRY_VERIFY(obj->progress() == 1.0);
+    QTRY_COMPARE(sourceSpy.count(), 4);
+    QTRY_COMPARE(progressSpy.count(), 2);
+    QTRY_COMPARE(statusSpy.count(), 2);
+}
+
 /*
    Find an item with the specified objectName.  If index is supplied then the
    item must also evaluate the {index} expression equal to index
-- 
cgit v0.12


From acb704241e752217bd2197a9884ade740db16d30 Mon Sep 17 00:00:00 2001
From: Andy Shaw <qt-info@nokia.com>
Date: Fri, 10 Sep 2010 09:09:16 +0200
Subject: Read the data when the stream passed in is of type CArchiveStream

When the stream is of type CArchiveStream then Stat() is not implemented
and therefore it will not try to read the data.  Therefore if this is
not implemented then we try to read the data in chunks instead until
there is no more to read or it fails.

Reviewed-by: Volker Hilsheimer
---
 src/activeqt/control/qaxserverbase.cpp | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/src/activeqt/control/qaxserverbase.cpp b/src/activeqt/control/qaxserverbase.cpp
index ca16b39..d8e7ea3 100644
--- a/src/activeqt/control/qaxserverbase.cpp
+++ b/src/activeqt/control/qaxserverbase.cpp
@@ -2730,6 +2730,19 @@ HRESULT WINAPI QAxServerBase::Load(IStream *pStm)
 	qtarray.resize(stat.cbSize.LowPart);
         ULONG read;
 	pStm->Read(qtarray.data(), stat.cbSize.LowPart, &read);
+    } else if (hres == E_NOTIMPL) {
+        ULONG read = 0;
+        while (hres != S_FALSE) {
+            QByteArray arrayRead;
+            arrayRead.resize(4098);
+            hres = pStm->Read(arrayRead.data(), arrayRead.size(), &read);
+            if (hres != S_OK && hres != S_FALSE) {
+                qtarray.resize(0);
+                break;
+            } else if (read == 0)
+                break;
+            qtarray.append(arrayRead);
+        }
     }
     const QMetaObject *mo = qt.object->metaObject();
 
-- 
cgit v0.12


From 003d09ab22f4d53995efc2d390c451e60afbe8c9 Mon Sep 17 00:00:00 2001
From: Yann Bodson <yann.bodson@nokia.com>
Date: Fri, 10 Sep 2010 17:33:23 +1000
Subject: Autotests cleanup.

---
 .../tst_qdeclarativeanimatedimage.cpp              | 17 ++----
 .../tst_qdeclarativeborderimage.cpp                | 23 +++-----
 .../tst_qdeclarativeecmascript.cpp                 | 16 ++----
 .../tst_qdeclarativeimageprovider.cpp              | 21 ++-----
 .../qdeclarativeloader/tst_qdeclarativeloader.cpp  | 15 +----
 .../tst_qdeclarativexmlhttprequest.cpp             | 67 ++++++++++------------
 6 files changed, 52 insertions(+), 107 deletions(-)

diff --git a/tests/auto/declarative/qdeclarativeanimatedimage/tst_qdeclarativeanimatedimage.cpp b/tests/auto/declarative/qdeclarativeanimatedimage/tst_qdeclarativeanimatedimage.cpp
index 1001278..da15a85 100644
--- a/tests/auto/declarative/qdeclarativeanimatedimage/tst_qdeclarativeanimatedimage.cpp
+++ b/tests/auto/declarative/qdeclarativeanimatedimage/tst_qdeclarativeanimatedimage.cpp
@@ -47,22 +47,13 @@
 #include <private/qdeclarativeanimatedimage_p.h>
 
 #include "../shared/testhttpserver.h"
+#include "../../../shared/util.h"
 
 #ifdef Q_OS_SYMBIAN
 // In Symbian OS test data is located in applications private dir
 #define SRCDIR "."
 #endif
 
-#define TRY_WAIT(expr) \
-    do { \
-        for (int ii = 0; ii < 6; ++ii) { \
-            if ((expr)) break; \
-            QTest::qWait(50); \
-        } \
-        QVERIFY((expr)); \
-    } while (false)
-
-
 class tst_qdeclarativeanimatedimage : public QObject
 {
     Q_OBJECT
@@ -152,14 +143,14 @@ void tst_qdeclarativeanimatedimage::remote()
 
     QDeclarativeEngine engine;
     QDeclarativeComponent component(&engine, QUrl("http://127.0.0.1:14449/" + fileName));
-    TRY_WAIT(component.isReady());
+    QTRY_VERIFY(component.isReady());
 
     QDeclarativeAnimatedImage *anim = qobject_cast<QDeclarativeAnimatedImage *>(component.create());
     QVERIFY(anim);
 
-    TRY_WAIT(anim->isPlaying());
+    QTRY_VERIFY(anim->isPlaying());
     if (paused) {
-        TRY_WAIT(anim->isPaused());
+        QTRY_VERIFY(anim->isPaused());
         QCOMPARE(anim->currentFrame(), 2);
     }
     QVERIFY(anim->status() != QDeclarativeAnimatedImage::Error);
diff --git a/tests/auto/declarative/qdeclarativeborderimage/tst_qdeclarativeborderimage.cpp b/tests/auto/declarative/qdeclarativeborderimage/tst_qdeclarativeborderimage.cpp
index 1b73cf7..c77d395 100644
--- a/tests/auto/declarative/qdeclarativeborderimage/tst_qdeclarativeborderimage.cpp
+++ b/tests/auto/declarative/qdeclarativeborderimage/tst_qdeclarativeborderimage.cpp
@@ -53,6 +53,7 @@
 #include <QtDeclarative/qdeclarativecontext.h>
 
 #include "../shared/testhttpserver.h"
+#include "../../../shared/util.h"
 
 #ifdef Q_OS_SYMBIAN
 // In Symbian OS test data is located in applications private dir
@@ -62,16 +63,6 @@
 #define SERVER_PORT 14446
 #define SERVER_ADDR "http://127.0.0.1:14446"
 
-#define TRY_WAIT(expr) \
-    do { \
-        for (int ii = 0; ii < 60; ++ii) { \
-            if ((expr)) break; \
-            QTest::qWait(50); \
-        } \
-        QVERIFY((expr)); \
-    } while (false)
-
-
 class tst_qdeclarativeborderimage : public QObject
 
 {
@@ -154,18 +145,18 @@ void tst_qdeclarativeborderimage::imageSource()
     QVERIFY(obj != 0);
 
     if (remote)
-        TRY_WAIT(obj->status() == QDeclarativeBorderImage::Loading);
+        QTRY_VERIFY(obj->status() == QDeclarativeBorderImage::Loading);
 
     QCOMPARE(obj->source(), remote ? source : QUrl(source));
 
     if (error.isEmpty()) {
-        TRY_WAIT(obj->status() == QDeclarativeBorderImage::Ready);
+        QTRY_VERIFY(obj->status() == QDeclarativeBorderImage::Ready);
         QCOMPARE(obj->width(), 120.);
         QCOMPARE(obj->height(), 120.);
         QCOMPARE(obj->horizontalTileMode(), QDeclarativeBorderImage::Stretch);
         QCOMPARE(obj->verticalTileMode(), QDeclarativeBorderImage::Stretch);
     } else {
-        TRY_WAIT(obj->status() == QDeclarativeBorderImage::Error);
+        QTRY_VERIFY(obj->status() == QDeclarativeBorderImage::Error);
     }
 
     delete obj;
@@ -273,14 +264,14 @@ void tst_qdeclarativeborderimage::sciSource()
     QVERIFY(obj != 0);
 
     if (remote)
-        TRY_WAIT(obj->status() == QDeclarativeBorderImage::Loading);
+        QTRY_VERIFY(obj->status() == QDeclarativeBorderImage::Loading);
 
     QCOMPARE(obj->source(), remote ? source : QUrl(source));
     QCOMPARE(obj->width(), 300.);
     QCOMPARE(obj->height(), 300.);
 
     if (valid) {
-        TRY_WAIT(obj->status() == QDeclarativeBorderImage::Ready);
+        QTRY_VERIFY(obj->status() == QDeclarativeBorderImage::Ready);
         QCOMPARE(obj->border()->left(), 10);
         QCOMPARE(obj->border()->top(), 20);
         QCOMPARE(obj->border()->right(), 30);
@@ -288,7 +279,7 @@ void tst_qdeclarativeborderimage::sciSource()
         QCOMPARE(obj->horizontalTileMode(), QDeclarativeBorderImage::Round);
         QCOMPARE(obj->verticalTileMode(), QDeclarativeBorderImage::Repeat);
     } else {
-        TRY_WAIT(obj->status() == QDeclarativeBorderImage::Error);
+        QTRY_VERIFY(obj->status() == QDeclarativeBorderImage::Error);
     }
 
     delete obj;
diff --git a/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp b/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp
index 33bf7ea..c10a110 100644
--- a/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp
+++ b/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp
@@ -52,6 +52,7 @@
 #include <private/qdeclarativeglobalscriptclass_p.h>
 #include "testtypes.h"
 #include "testhttpserver.h"
+#include "../../../shared/util.h"
 
 #ifdef Q_OS_SYMBIAN
 // In Symbian OS test data is located in applications private dir
@@ -2416,15 +2417,6 @@ void tst_qdeclarativeecmascript::function()
     delete o;
 }
 
-#define TRY_WAIT(expr) \
-    do { \
-        for (int ii = 0; ii < 6; ++ii) { \
-            if ((expr)) break; \
-            QTest::qWait(50); \
-        } \
-        QVERIFY((expr)); \
-    } while (false) 
-
 // Test the "Qt.include" method
 void tst_qdeclarativeecmascript::include()
 {
@@ -2496,8 +2488,8 @@ void tst_qdeclarativeecmascript::include()
     QObject *o = component.create();
     QVERIFY(o != 0);
 
-    TRY_WAIT(o->property("done").toBool() == true);
-    TRY_WAIT(o->property("done2").toBool() == true);
+    QTRY_VERIFY(o->property("done").toBool() == true);
+    QTRY_VERIFY(o->property("done2").toBool() == true);
 
     QCOMPARE(o->property("test1").toBool(), true);
     QCOMPARE(o->property("test2").toBool(), true);
@@ -2524,7 +2516,7 @@ void tst_qdeclarativeecmascript::include()
     QObject *o = component.create();
     QVERIFY(o != 0);
 
-    TRY_WAIT(o->property("done").toBool() == true);
+    QTRY_VERIFY(o->property("done").toBool() == true);
 
     QCOMPARE(o->property("test1").toBool(), true);
     QCOMPARE(o->property("test2").toBool(), true);
diff --git a/tests/auto/declarative/qdeclarativeimageprovider/tst_qdeclarativeimageprovider.cpp b/tests/auto/declarative/qdeclarativeimageprovider/tst_qdeclarativeimageprovider.cpp
index d0afc8a..d38160d 100644
--- a/tests/auto/declarative/qdeclarativeimageprovider/tst_qdeclarativeimageprovider.cpp
+++ b/tests/auto/declarative/qdeclarativeimageprovider/tst_qdeclarativeimageprovider.cpp
@@ -45,26 +45,15 @@
 #include <private/qdeclarativeimage_p.h>
 #include <QImageReader>
 #include <QWaitCondition>
+#include "../../../shared/util.h"
 
 #ifdef Q_OS_SYMBIAN
 // In Symbian OS test data is located in applications private dir
 #define SRCDIR "."
 #endif
 
-// QDeclarativeImageProvider::request() is run in an idle thread where possible
-// Be generous in our timeout.
-#define TRY_WAIT(expr) \
-    do { \
-        for (int ii = 0; ii < 10; ++ii) { \
-            if ((expr)) break; \
-            QTest::qWait(100); \
-        } \
-        QVERIFY((expr)); \
-    } while (false)
-
 Q_DECLARE_METATYPE(QDeclarativeImageProvider*);
 
-
 class tst_qdeclarativeimageprovider : public QObject
 {
     Q_OBJECT
@@ -212,13 +201,13 @@ void tst_qdeclarativeimageprovider::runTest(bool async, QDeclarativeImageProvide
     QVERIFY(obj != 0);
 
     if (async) 
-        TRY_WAIT(obj->status() == QDeclarativeImage::Loading);
+        QTRY_VERIFY(obj->status() == QDeclarativeImage::Loading);
 
     QCOMPARE(obj->source(), QUrl(source));
 
     if (error.isEmpty()) {
         if (async)
-            TRY_WAIT(obj->status() == QDeclarativeImage::Ready);
+            QTRY_VERIFY(obj->status() == QDeclarativeImage::Ready);
         else
             QVERIFY(obj->status() == QDeclarativeImage::Ready);
         QCOMPARE(obj->width(), qreal(size.width()));
@@ -229,7 +218,7 @@ void tst_qdeclarativeimageprovider::runTest(bool async, QDeclarativeImageProvide
         QCOMPARE(obj->progress(), 1.0);
     } else {
         if (async)
-            TRY_WAIT(obj->status() == QDeclarativeImage::Error);
+            QTRY_VERIFY(obj->status() == QDeclarativeImage::Error);
         else
             QVERIFY(obj->status() == QDeclarativeImage::Error);
     }
@@ -391,7 +380,7 @@ void tst_qdeclarativeimageprovider::threadTest()
     provider->cond.wakeAll();
     QTest::qWait(250);
     foreach(QDeclarativeImage *img, images) {
-        TRY_WAIT(img->status() == QDeclarativeImage::Ready);
+        QTRY_VERIFY(img->status() == QDeclarativeImage::Ready);
     }
 }
 
diff --git a/tests/auto/declarative/qdeclarativeloader/tst_qdeclarativeloader.cpp b/tests/auto/declarative/qdeclarativeloader/tst_qdeclarativeloader.cpp
index 3baf848..b62392d 100644
--- a/tests/auto/declarative/qdeclarativeloader/tst_qdeclarativeloader.cpp
+++ b/tests/auto/declarative/qdeclarativeloader/tst_qdeclarativeloader.cpp
@@ -61,15 +61,6 @@ inline QUrl TEST_FILE(const QString &filename)
     return QUrl::fromLocalFile(QLatin1String(SRCDIR) + QLatin1String("/data/") + filename);
 }
 
-#define TRY_WAIT(expr) \
-    do { \
-        for (int ii = 0; ii < 6; ++ii) { \
-            if ((expr)) break; \
-            QTest::qWait(50); \
-        } \
-        QVERIFY((expr)); \
-    } while (false)
-
 class tst_QDeclarativeLoader : public QObject
 
 {
@@ -460,7 +451,7 @@ void tst_QDeclarativeLoader::networkRequestUrl()
     QDeclarativeLoader *loader = qobject_cast<QDeclarativeLoader*>(component.create());
     QVERIFY(loader != 0);
 
-    TRY_WAIT(loader->status() == QDeclarativeLoader::Ready);
+    QTRY_VERIFY(loader->status() == QDeclarativeLoader::Ready);
 
     QVERIFY(loader->item());
     QCOMPARE(loader->progress(), 1.0);
@@ -491,7 +482,7 @@ void tst_QDeclarativeLoader::networkComponent()
 
     QDeclarativeLoader *loader = qobject_cast<QDeclarativeLoader*>(item->QGraphicsObject::children().at(1)); 
     QVERIFY(loader);
-    TRY_WAIT(loader->status() == QDeclarativeLoader::Ready);
+    QTRY_VERIFY(loader->status() == QDeclarativeLoader::Ready);
 
     QVERIFY(loader->item());
     QCOMPARE(loader->progress(), 1.0);
@@ -515,7 +506,7 @@ void tst_QDeclarativeLoader::failNetworkRequest()
     QDeclarativeLoader *loader = qobject_cast<QDeclarativeLoader*>(component.create());
     QVERIFY(loader != 0);
 
-    TRY_WAIT(loader->status() == QDeclarativeLoader::Error);
+    QTRY_VERIFY(loader->status() == QDeclarativeLoader::Error);
 
     QVERIFY(loader->item() == 0);
     QCOMPARE(loader->progress(), 0.0);
diff --git a/tests/auto/declarative/qdeclarativexmlhttprequest/tst_qdeclarativexmlhttprequest.cpp b/tests/auto/declarative/qdeclarativexmlhttprequest/tst_qdeclarativexmlhttprequest.cpp
index ecce349..89252fb 100644
--- a/tests/auto/declarative/qdeclarativexmlhttprequest/tst_qdeclarativexmlhttprequest.cpp
+++ b/tests/auto/declarative/qdeclarativexmlhttprequest/tst_qdeclarativexmlhttprequest.cpp
@@ -45,6 +45,7 @@
 #include <QDebug>
 #include <QNetworkCookieJar>
 #include "testhttpserver.h"
+#include "../../../shared/util.h"
 
 #define SERVER_PORT 14445
 
@@ -156,16 +157,6 @@ void tst_qdeclarativexmlhttprequest::domExceptionCodes()
     delete object;
 }
 
-#define TRY_WAIT(expr) \
-    do { \
-        for (int ii = 0; ii < 6; ++ii) { \
-            if ((expr)) break; \
-            QTest::qWait(50); \
-        } \
-        QVERIFY((expr)); \
-    } while (false) 
-
-
 void tst_qdeclarativexmlhttprequest::callbackException_data()
 {
     QTest::addColumn<QString>("which");
@@ -193,7 +184,7 @@ void tst_qdeclarativexmlhttprequest::callbackException()
     object->setProperty("which", which);
     component.completeCreate();
 
-    TRY_WAIT(object->property("threw").toBool() == true);
+    QTRY_VERIFY(object->property("threw").toBool() == true);
 
     delete object;
 }
@@ -289,7 +280,7 @@ void tst_qdeclarativexmlhttprequest::open()
     QCOMPARE(object->property("responseText").toBool(), true);
     QCOMPARE(object->property("responseXML").toBool(), true);
 
-    TRY_WAIT(object->property("dataOK").toBool() == true);
+    QTRY_VERIFY(object->property("dataOK").toBool() == true);
 
     delete server;
     delete object;
@@ -372,7 +363,7 @@ void tst_qdeclarativexmlhttprequest::setRequestHeader()
     object->setProperty("url", "http://127.0.0.1:14445/testdocument.html");
     component.completeCreate();
 
-    TRY_WAIT(object->property("dataOK").toBool() == true);
+    QTRY_VERIFY(object->property("dataOK").toBool() == true);
 
     delete object;
 }
@@ -442,7 +433,7 @@ void tst_qdeclarativexmlhttprequest::setRequestHeader_illegalName()
     QCOMPARE(object->property("responseText").toBool(), true);
     QCOMPARE(object->property("responseXML").toBool(), true);
 
-    TRY_WAIT(object->property("dataOK").toBool() == true);
+    QTRY_VERIFY(object->property("dataOK").toBool() == true);
 
     delete object;
 }
@@ -464,7 +455,7 @@ void tst_qdeclarativexmlhttprequest::setRequestHeader_sent()
 
     QCOMPARE(object->property("test").toBool(), true);
     
-    TRY_WAIT(object->property("dataOK").toBool() == true);
+    QTRY_VERIFY(object->property("dataOK").toBool() == true);
 
     delete object;
 }
@@ -501,7 +492,7 @@ void tst_qdeclarativexmlhttprequest::send_alreadySent()
     QVERIFY(object != 0);
 
     QCOMPARE(object->property("test").toBool(), true);
-    TRY_WAIT(object->property("dataOK").toBool() == true);
+    QTRY_VERIFY(object->property("dataOK").toBool() == true);
 
     delete object;
 }
@@ -523,7 +514,7 @@ void tst_qdeclarativexmlhttprequest::send_ignoreData()
         object->setProperty("url", "http://127.0.0.1:14445/testdocument.html");
         component.completeCreate();
 
-        TRY_WAIT(object->property("dataOK").toBool() == true);
+        QTRY_VERIFY(object->property("dataOK").toBool() == true);
 
         delete object;
     }
@@ -542,7 +533,7 @@ void tst_qdeclarativexmlhttprequest::send_ignoreData()
         object->setProperty("url", "http://127.0.0.1:14445/testdocument.html");
         component.completeCreate();
 
-        TRY_WAIT(object->property("dataOK").toBool() == true);
+        QTRY_VERIFY(object->property("dataOK").toBool() == true);
 
         delete object;
     }
@@ -566,7 +557,7 @@ void tst_qdeclarativexmlhttprequest::send_withdata()
     object->setProperty("url", "http://127.0.0.1:14445/testdocument.html");
     component.completeCreate();
 
-    TRY_WAIT(object->property("dataOK").toBool() == true);
+    QTRY_VERIFY(object->property("dataOK").toBool() == true);
 
     delete object;
 }
@@ -601,7 +592,7 @@ void tst_qdeclarativexmlhttprequest::abort_unsent()
     QCOMPARE(object->property("responseText").toBool(), true);
     QCOMPARE(object->property("responseXML").toBool(), true);
 
-    TRY_WAIT(object->property("dataOK").toBool() == true);
+    QTRY_VERIFY(object->property("dataOK").toBool() == true);
 
     delete object;
 }
@@ -622,7 +613,7 @@ void tst_qdeclarativexmlhttprequest::abort_opened()
     QCOMPARE(object->property("responseText").toBool(), true);
     QCOMPARE(object->property("responseXML").toBool(), true);
 
-    TRY_WAIT(object->property("dataOK").toBool() == true);
+    QTRY_VERIFY(object->property("dataOK").toBool() == true);
 
     delete object;
 }
@@ -647,7 +638,7 @@ void tst_qdeclarativexmlhttprequest::abort()
     QCOMPARE(object->property("didNotSeeUnsent").toBool(), true);
     QCOMPARE(object->property("endStateUnsent").toBool(), true);
 
-    TRY_WAIT(object->property("dataOK").toBool() == true);
+    QTRY_VERIFY(object->property("dataOK").toBool() == true);
 
     delete object;
 }
@@ -674,7 +665,7 @@ void tst_qdeclarativexmlhttprequest::getResponseHeader()
     QCOMPARE(object->property("readyState").toBool(), true);
     QCOMPARE(object->property("openedState").toBool(), true);
 
-    TRY_WAIT(object->property("dataOK").toBool() == true);
+    QTRY_VERIFY(object->property("dataOK").toBool() == true);
 
     QCOMPARE(object->property("headersReceivedState").toBool(), true);
     QCOMPARE(object->property("headersReceivedNullHeader").toBool(), true);
@@ -722,7 +713,7 @@ void tst_qdeclarativexmlhttprequest::getResponseHeader_args()
     QObject *object = component.create();
     QVERIFY(object != 0);
 
-    TRY_WAIT(object->property("exceptionThrown").toBool() == true);
+    QTRY_VERIFY(object->property("exceptionThrown").toBool() == true);
 
     delete object;
 }
@@ -748,7 +739,7 @@ void tst_qdeclarativexmlhttprequest::getAllResponseHeaders()
     QCOMPARE(object->property("readyState").toBool(), true);
     QCOMPARE(object->property("openedState").toBool(), true);
 
-    TRY_WAIT(object->property("dataOK").toBool() == true);
+    QTRY_VERIFY(object->property("dataOK").toBool() == true);
 
     QCOMPARE(object->property("headersReceivedState").toBool(), true);
     QCOMPARE(object->property("headersReceivedHeader").toBool(), true);
@@ -790,7 +781,7 @@ void tst_qdeclarativexmlhttprequest::getAllResponseHeaders_args()
     QObject *object = component.create();
     QVERIFY(object != 0);
 
-    TRY_WAIT(object->property("exceptionThrown").toBool() == true);
+    QTRY_VERIFY(object->property("exceptionThrown").toBool() == true);
 
     delete object;
 }
@@ -813,7 +804,7 @@ void tst_qdeclarativexmlhttprequest::status()
     object->setProperty("expectedStatus", status);
     component.completeCreate();
 
-    TRY_WAIT(object->property("dataOK").toBool() == true);
+    QTRY_VERIFY(object->property("dataOK").toBool() == true);
 
     QCOMPARE(object->property("unsentException").toBool(), true);
     QCOMPARE(object->property("openedException").toBool(), true);
@@ -853,7 +844,7 @@ void tst_qdeclarativexmlhttprequest::statusText()
     object->setProperty("expectedStatus", statusText);
     component.completeCreate();
 
-    TRY_WAIT(object->property("dataOK").toBool() == true);
+    QTRY_VERIFY(object->property("dataOK").toBool() == true);
 
     QCOMPARE(object->property("unsentException").toBool(), true);
     QCOMPARE(object->property("openedException").toBool(), true);
@@ -894,7 +885,7 @@ void tst_qdeclarativexmlhttprequest::responseText()
     object->setProperty("expectedText", responseText);
     component.completeCreate();
 
-    TRY_WAIT(object->property("dataOK").toBool() == true);
+    QTRY_VERIFY(object->property("dataOK").toBool() == true);
 
     QCOMPARE(object->property("unsent").toBool(), true);
     QCOMPARE(object->property("opened").toBool(), true);
@@ -931,7 +922,7 @@ void tst_qdeclarativexmlhttprequest::nonUtf8()
     object->setProperty("fileName", fileName);
     QMetaObject::invokeMethod(object, "startRequest");
 
-    TRY_WAIT(object->property("dataOK").toBool() == true);
+    QTRY_VERIFY(object->property("dataOK").toBool() == true);
     
     QCOMPARE(object->property("responseText").toString(), responseText);
 
@@ -1000,7 +991,7 @@ void tst_qdeclarativexmlhttprequest::redirects()
         object->setProperty("expectedText", "");
         component.completeCreate();
 
-        TRY_WAIT(object->property("done").toBool() == true);
+        QTRY_VERIFY(object->property("done").toBool() == true);
         QCOMPARE(object->property("dataOK").toBool(), true);
 
         delete object;
@@ -1019,7 +1010,7 @@ void tst_qdeclarativexmlhttprequest::redirects()
         object->setProperty("expectedText", "");
         component.completeCreate();
 
-        TRY_WAIT(object->property("done").toBool() == true);
+        QTRY_VERIFY(object->property("done").toBool() == true);
         QCOMPARE(object->property("dataOK").toBool(), true);
 
         delete object;
@@ -1056,7 +1047,7 @@ void tst_qdeclarativexmlhttprequest::responseXML_invalid()
     QObject *object = component.create();
     QVERIFY(object != 0);
 
-    TRY_WAIT(object->property("dataOK").toBool() == true);
+    QTRY_VERIFY(object->property("dataOK").toBool() == true);
 
     QCOMPARE(object->property("xmlNull").toBool(), true);
 
@@ -1070,7 +1061,7 @@ void tst_qdeclarativexmlhttprequest::document()
     QObject *object = component.create();
     QVERIFY(object != 0);
 
-    TRY_WAIT(object->property("dataOK").toBool() == true);
+    QTRY_VERIFY(object->property("dataOK").toBool() == true);
 
     QCOMPARE(object->property("xmlTest").toBool(), true);
 
@@ -1084,7 +1075,7 @@ void tst_qdeclarativexmlhttprequest::element()
     QObject *object = component.create();
     QVERIFY(object != 0);
 
-    TRY_WAIT(object->property("dataOK").toBool() == true);
+    QTRY_VERIFY(object->property("dataOK").toBool() == true);
 
     QCOMPARE(object->property("xmlTest").toBool(), true);
 
@@ -1098,7 +1089,7 @@ void tst_qdeclarativexmlhttprequest::attr()
     QObject *object = component.create();
     QVERIFY(object != 0);
 
-    TRY_WAIT(object->property("dataOK").toBool() == true);
+    QTRY_VERIFY(object->property("dataOK").toBool() == true);
 
     QCOMPARE(object->property("xmlTest").toBool(), true);
 
@@ -1112,7 +1103,7 @@ void tst_qdeclarativexmlhttprequest::text()
     QObject *object = component.create();
     QVERIFY(object != 0);
 
-    TRY_WAIT(object->property("dataOK").toBool() == true);
+    QTRY_VERIFY(object->property("dataOK").toBool() == true);
 
     QCOMPARE(object->property("xmlTest").toBool(), true);
 
@@ -1126,7 +1117,7 @@ void tst_qdeclarativexmlhttprequest::cdata()
     QObject *object = component.create();
     QVERIFY(object != 0);
 
-    TRY_WAIT(object->property("dataOK").toBool() == true);
+    QTRY_VERIFY(object->property("dataOK").toBool() == true);
 
     QCOMPARE(object->property("xmlTest").toBool(), true);
 
-- 
cgit v0.12


From b664f8be580e252489d4db919ac660ecfe303e98 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Samuel=20R=C3=B8dal?= <samuel.rodal@nokia.com>
Date: Fri, 10 Sep 2010 09:54:43 +0200
Subject: Don't waste memory on the share widget in the GL window surface.

Reviewed-by: Trond
---
 src/opengl/qwindowsurface_gl.cpp | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/opengl/qwindowsurface_gl.cpp b/src/opengl/qwindowsurface_gl.cpp
index e84bc29..48c7deb 100644
--- a/src/opengl/qwindowsurface_gl.cpp
+++ b/src/opengl/qwindowsurface_gl.cpp
@@ -190,7 +190,10 @@ public:
     QGLWidget *shareWidget() {
         if (!initializing && !widget && !cleanedUp) {
             initializing = true;
-            widget = new QGLWidget;
+
+            widget = new QGLWidget(QGLFormat(QGL::SingleBuffer | QGL::NoDepthBuffer | QGL::NoStencilBuffer));
+            widget->resize(1, 1);
+
             // We dont need this internal widget to appear in QApplication::topLevelWidgets()
             if (QWidgetPrivate::allWidgets)
                 QWidgetPrivate::allWidgets->remove(widget);
-- 
cgit v0.12


From 101a63a6fd53e00eaa7e7a56d1ece33327a19bf8 Mon Sep 17 00:00:00 2001
From: Morten Engvoldsen <morten.engvoldsen@nokia.com>
Date: Fri, 10 Sep 2010 10:07:39 +0200
Subject: Revert "Doc: fixing page name bug caused by
 07bbace404078dcfd82eff717daa97299b8ba52c changing qml elements page" Doc:
 pulling back redundant fix that is breaking links -
 qmlelements.html/declarativeelements.html This reverts commit
 064b7fe6f97bcf214f749794c5ccab3b4cf0bcc7.

---
 doc/src/index.qdoc                          | 2 +-
 tools/qdoc3/test/qt-html-templates.qdocconf | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/doc/src/index.qdoc b/doc/src/index.qdoc
index edb4d1e..77856ec 100644
--- a/doc/src/index.qdoc
+++ b/doc/src/index.qdoc
@@ -77,7 +77,7 @@
                 <ul>
                     <li><a href="qtquick.html">Qt Quick</a></li>
                     <li><a href="qdeclarativeintroduction.html">Introduction to QML</a></li>
-                    <li><a href="qmlelements.html">QML Elements</a></li>
+                    <li><a href="qdeclarativeelements.html">QML Elements</a></li>
                     <li><a href="qdeclarativeexamples.html">QML Examples and Demos</a></li>
                 </ul>
               </div>
diff --git a/tools/qdoc3/test/qt-html-templates.qdocconf b/tools/qdoc3/test/qt-html-templates.qdocconf
index dc56ac9..1203357 100644
--- a/tools/qdoc3/test/qt-html-templates.qdocconf
+++ b/tools/qdoc3/test/qt-html-templates.qdocconf
@@ -89,7 +89,7 @@ HTML.postheader         = " <div class=\"header\" id=\"qtdocheader\">\n" \
 			  "              <li class=\"defaultLink\"><a href=\"modules.html\">Modules</a></li>\n" \
 			  "              <li class=\"defaultLink\"><a href=\"namespaces.html\">Namespaces</a></li>\n" \
 			  "              <li class=\"defaultLink\"><a href=\"qtglobal.html\">Global Declarations</a></li>\n" \
-			  "              <li class=\"defaultLink\"><a href=\"qmlelements.html\">QML elements</a></li>\n" \
+			  "              <li class=\"defaultLink\"><a href=\"qdeclarativeelements.html\">QML elements</a></li>\n" \
 			  "            </ul> \n" \
 			  "          </div>\n" \
 			  "        </div>\n" \
-- 
cgit v0.12


From 0b0aa7603b27447a5abe55c55d0514bc56b35f9e Mon Sep 17 00:00:00 2001
From: Thiago Macieira <thiago.macieira@nokia.com>
Date: Thu, 9 Sep 2010 10:10:30 +0200
Subject: Properly implement qobject_cast for const pointers.

Instead of using ugly const_cast in public headers and Q_UNUSED
(which expands to nothing in release builds), use a properly-const
method.

Reviewed-By: Bradley T. Hughes
---
 src/corelib/kernel/qmetaobject.cpp | 20 +++++++++++++++++++-
 src/corelib/kernel/qobject.h       |  6 +-----
 src/corelib/kernel/qobjectdefs.h   |  1 +
 3 files changed, 21 insertions(+), 6 deletions(-)

diff --git a/src/corelib/kernel/qmetaobject.cpp b/src/corelib/kernel/qmetaobject.cpp
index 9854e68..3b9b04a 100644
--- a/src/corelib/kernel/qmetaobject.cpp
+++ b/src/corelib/kernel/qmetaobject.cpp
@@ -266,7 +266,25 @@ QObject *QMetaObject::cast(QObject *obj) const
         const QMetaObject *m = obj->metaObject();
         do {
             if (m == this)
-                return const_cast<QObject*>(obj);
+                return obj;
+        } while ((m = m->d.superdata));
+    }
+    return 0;
+}
+
+/*!
+    \internal
+
+    Returns \a obj if object \a obj inherits from this
+    meta-object; otherwise returns 0.
+*/
+const QObject *QMetaObject::cast(const QObject *obj) const
+{
+    if (obj) {
+        const QMetaObject *m = obj->metaObject();
+        do {
+            if (m == this)
+                return obj;
         } while ((m = m->d.superdata));
     }
     return 0;
diff --git a/src/corelib/kernel/qobject.h b/src/corelib/kernel/qobject.h
index 1b613a6..c533fa1 100644
--- a/src/corelib/kernel/qobject.h
+++ b/src/corelib/kernel/qobject.h
@@ -458,14 +458,10 @@ inline T qobject_cast(QObject *object)
 template <class T>
 inline T qobject_cast(const QObject *object)
 {
-    // this will cause a compilation error if T is not const
-    register T ptr = static_cast<T>(object);
-    Q_UNUSED(ptr);
-
 #if !defined(QT_NO_MEMBER_TEMPLATES) && !defined(QT_NO_QOBJECT_CHECK)
     reinterpret_cast<T>(0)->qt_check_for_QOBJECT_macro(*reinterpret_cast<T>(const_cast<QObject *>(object)));
 #endif
-    return static_cast<T>(const_cast<QObject *>(reinterpret_cast<T>(0)->staticMetaObject.cast(const_cast<QObject *>(object))));
+    return static_cast<T>(reinterpret_cast<T>(0)->staticMetaObject.cast(object));
 }
 
 
diff --git a/src/corelib/kernel/qobjectdefs.h b/src/corelib/kernel/qobjectdefs.h
index 555a1f5..0d045dc 100644
--- a/src/corelib/kernel/qobjectdefs.h
+++ b/src/corelib/kernel/qobjectdefs.h
@@ -298,6 +298,7 @@ struct Q_CORE_EXPORT QMetaObject
     const QMetaObject *superClass() const;
 
     QObject *cast(QObject *obj) const;
+    const QObject *cast(const QObject *obj) const;
 
 #ifndef QT_NO_TRANSLATION
     // ### Qt 4: Merge overloads
-- 
cgit v0.12


From 16aeed255560b5e9479efe9b74517fb647922694 Mon Sep 17 00:00:00 2001
From: Thiago Macieira <thiago.macieira@nokia.com>
Date: Thu, 9 Sep 2010 10:51:23 +0200
Subject: Remove unsupported code from qobject.h for MSVC < .NET 2003

Reviewed-By: Joerg Bornemann <joerg.bornemann@nokia.com>
---
 src/corelib/kernel/qobject.h | 91 --------------------------------------------
 1 file changed, 91 deletions(-)

diff --git a/src/corelib/kernel/qobject.h b/src/corelib/kernel/qobject.h
index c533fa1..b5c772e 100644
--- a/src/corelib/kernel/qobject.h
+++ b/src/corelib/kernel/qobject.h
@@ -325,95 +325,6 @@ Q_CORE_EXPORT void qt_qFindChildren_helper(const QObject *parent, const QString
                                            const QMetaObject &mo, QList<void *> *list);
 Q_CORE_EXPORT QObject *qt_qFindChild_helper(const QObject *parent, const QString &name, const QMetaObject &mo);
 
-#if defined Q_CC_MSVC && _MSC_VER < 1300
-
-template<typename T>
-inline T qFindChild(const QObject *o, const QString &name, T)
-{ return static_cast<T>(qt_qFindChild_helper(o, name, ((T)0)->staticMetaObject)); }
-
-template<typename T>
-inline QList<T> qFindChildren(const QObject *o, const QString &name, T)
-{
-    QList<T> list;
-    union {
-        QList<T> *typedList;
-        QList<void *> *voidList;
-    } u;
-    u.typedList = &list;
-    qt_qFindChildren_helper(o, name, 0, ((T)0)->staticMetaObject, u.voidList);
-    return list;
-}
-
-template<typename T>
-inline T qFindChild(const QObject *o, const QString &name)
-{ return qFindChild<T>(o, name, T(0)); }
-
-template<typename T>
-inline T qFindChild(const QObject *o)
-{ return qFindChild<T>(o, QString(), T(0)); }
-
-template<typename T>
-inline QList<T> qFindChildren(const QObject *o, const QString &name)
-{ return qFindChildren<T>(o, name, T(0)); }
-
-template<typename T>
-inline QList<T> qFindChildren(const QObject *o)
-{ return qFindChildren<T>(o, QString(), T(0)); }
-
-#ifndef QT_NO_REGEXP
-template<typename T>
-inline QList<T> qFindChildren(const QObject *o, const QRegExp &re, T)
-{
-    QList<T> list;
-    union {
-        QList<T> *typedList;
-        QList<void *> *voidList;
-    } u;
-    u.typedList = &list;
-    qt_qFindChildren_helper(o, 0, &re, ((T)0)->staticMetaObject, u.voidList);
-    return list;
-}
-
-template<typename T>
-inline QList<T> qFindChildren(const QObject *o, const QRegExp &re)
-{ return qFindChildren<T>(o, re, T(0)); }
-
-#endif
-
-#ifdef Q_MOC_RUN
-# define Q_DECLARE_INTERFACE(IFace, IId) Q_DECLARE_INTERFACE(IFace, IId)
-#endif // Q_MOC_RUN
-
-
-template <class T> inline const char * qobject_interface_iid()
-{ return 0; }
-
-template <class T> inline T qobject_cast_helper(QObject *object, T)
-{ return static_cast<T>(((T)0)->staticMetaObject.cast(object)); }
-
-template <class T> inline T qobject_cast_helper(const QObject *object, T)
-{ return static_cast<T>(const_cast<const QObject *>(((T)0)->staticMetaObject.cast(const_cast<QObject *>(object)))); }
-
-template <class T>
-inline T qobject_cast(QObject *object)
-{ return qobject_cast_helper<T>(object, T(0)); }
-
-template <class T>
-inline T qobject_cast(const QObject *object)
-{ return qobject_cast_helper<T>(object, T(0)); }
-
-#ifndef Q_MOC_RUN
-#  define Q_DECLARE_INTERFACE(IFace, IId) \
-    template <> inline const char *qobject_interface_iid<IFace *>() \
-    { return IId; } \
-    template <> inline IFace *qobject_cast_helper<IFace *>(QObject *object, IFace *) \
-    { return (IFace *)(object ? object->qt_metacast(IId) : 0); } \
-    template <> inline IFace *qobject_cast_helper<IFace *>(const QObject *object, IFace *) \
-    { return (IFace *)(object ? const_cast<QObject *>(object)->qt_metacast(IId) : 0); }
-#endif // Q_MOC_RUN
-
-#else
-
 template<typename T>
 inline T qFindChild(const QObject *o, const QString &name)
 { return static_cast<T>(qt_qFindChild_helper(o, name, reinterpret_cast<T>(0)->staticMetaObject)); }
@@ -478,8 +389,6 @@ template <class T> inline const char * qobject_interface_iid()
     { return reinterpret_cast<IFace *>((object ? const_cast<QObject *>(object)->qt_metacast(IId) : 0)); }
 #endif // Q_MOC_RUN
 
-#endif
-
 #ifndef QT_NO_DEBUG_STREAM
 Q_CORE_EXPORT QDebug operator<<(QDebug, const QObject *);
 #endif
-- 
cgit v0.12


From ecac806359a092e2e09adb027e5a45d2cd993a9f Mon Sep 17 00:00:00 2001
From: Thiago Macieira <thiago.macieira@nokia.com>
Date: Tue, 7 Sep 2010 19:00:10 +0200
Subject: Update the error handling of invalid hostnames in QUrl.

This should let QUrl::errorString() show the original, invalid hostname
in the URL it reports to be invalid.

There may be a side-effect that QUrl::toEncoded() may include the broken
hostname on the first call, then miss it in the next calls. But since
QUrl::isValid() is returning false, we can consider that the result of
toEncoded() is undefined, so anything goes.

Reviewed-by: Olivier Goffart
---
 src/corelib/io/qurl.cpp      | 25 +++++++++++++++++++------
 tests/auto/qurl/tst_qurl.cpp | 10 ++++++++++
 2 files changed, 29 insertions(+), 6 deletions(-)

diff --git a/src/corelib/io/qurl.cpp b/src/corelib/io/qurl.cpp
index 74c24b5..d1fab2d 100644
--- a/src/corelib/io/qurl.cpp
+++ b/src/corelib/io/qurl.cpp
@@ -3417,9 +3417,8 @@ QString QUrlPrivate::canonicalHost() const
             that->host = host.toLower();
     } else {
         that->host = qt_ACE_do(host, NormalizeAce);
-        if (that->host.isNull())
-            that->isHostValid = false;
     }
+    that->isHostValid = !that->host.isNull();
     return that->host;
 }
 
@@ -3734,6 +3733,10 @@ void QUrlPrivate::validate() const
 
     QString auth = authority(); // causes the non-encoded forms to be valid
 
+    // authority() calls canonicalHost() which sets this
+    if (!isHostValid)
+        return;
+
     if (scheme == QLatin1String("mailto")) {
         if (!host.isEmpty() || port != -1 || !userName.isEmpty() || !password.isEmpty()) {
             that->isValid = false;
@@ -3907,9 +3910,10 @@ QByteArray QUrlPrivate::toEncoded(QUrl::FormattingOptions options) const
         url += scheme.toLatin1();
         url += ':';
     }
+    QString savedHost = host;  // pre-validation, may be invalid!
     QString auth = authority();
     bool doFileScheme = scheme == QLatin1String("file") && encodedPath.startsWith('/');
-    if ((options & QUrl::RemoveAuthority) != QUrl::RemoveAuthority && (!auth.isEmpty() || doFileScheme)) {
+    if ((options & QUrl::RemoveAuthority) != QUrl::RemoveAuthority && (!auth.isEmpty() || doFileScheme || !savedHost.isEmpty())) {
         if (doFileScheme && !encodedPath.startsWith('/'))
             url += '/';
         url += "//";
@@ -3935,6 +3939,12 @@ QByteArray QUrlPrivate::toEncoded(QUrl::FormattingOptions options) const
             url += '[';
             url += host.toLatin1();
             url += ']';
+        } else if (host.isEmpty() && !savedHost.isEmpty()) {
+            // this case is only possible with an invalid URL
+            // it's here only so that we can keep the original, invalid hostname
+            // in encodedOriginal.
+            // QUrl::isValid() will return false, so toEncoded() can be anything (it's not valid)
+            url += savedHost.toUtf8();
         } else {
             url += QUrl::toAce(host);
         }
@@ -4054,7 +4064,7 @@ const QByteArray &QUrlPrivate::normalized() const
 
 QString QUrlPrivate::createErrorString()
 {
-    if (isValid)
+    if (isValid && isHostValid)
         return QString();
 
     QString errorString(QLatin1String(QT_TRANSLATE_NOOP(QUrl, "Invalid URL \"")));
@@ -4078,7 +4088,10 @@ QString QUrlPrivate::createErrorString()
         errorString += QLatin1String(QT_TRANSLATE_NOOP(QUrl, "\'"));
     } else {
         errorString += QLatin1String(QT_TRANSLATE_NOOP(QUrl, ": "));
-        errorString += QLatin1String(errorInfo._message);
+        if (isHostValid)
+            errorString += QLatin1String(errorInfo._message);
+        else
+            errorString += QLatin1String(QT_TRANSLATE_NOOP(QUrl, "invalid hostname"));
     }
     if (errorInfo._found) {
         errorString += QLatin1String(QT_TRANSLATE_NOOP(QUrl, ", but found \'"));
@@ -4441,7 +4454,7 @@ void QUrl::setAuthority(const QString &authority)
 
     if (!QURL_HASFLAG(d->stateFlags, QUrlPrivate::Parsed)) d->parse();
     detach();
-    QURL_UNSETFLAG(d->stateFlags, QUrlPrivate::Validated | QUrlPrivate::Normalized);
+    QURL_UNSETFLAG(d->stateFlags, QUrlPrivate::Validated | QUrlPrivate::Normalized | QUrlPrivate::HostCanonicalized);
     d->setAuthority(authority);
 }
 
diff --git a/tests/auto/qurl/tst_qurl.cpp b/tests/auto/qurl/tst_qurl.cpp
index b5236e5..63f9721 100644
--- a/tests/auto/qurl/tst_qurl.cpp
+++ b/tests/auto/qurl/tst_qurl.cpp
@@ -2478,16 +2478,26 @@ void tst_QUrl::isValid()
         QUrl url = QUrl::fromEncoded("http://strange;hostname/here");
         QVERIFY(!url.isValid());
         QCOMPARE(url.path(), QString("/here"));
+        url.setAuthority("strange;hostname");
+        QVERIFY(!url.isValid());
         url.setAuthority("foobar@bar");
         QVERIFY(url.isValid());
+        url.setAuthority("strange;hostname");
+        QVERIFY(!url.isValid());
+        QVERIFY(url.errorString().contains("invalid hostname"));
     }
 
     {
         QUrl url = QUrl::fromEncoded("foo://stuff;1/g");
         QVERIFY(!url.isValid());
         QCOMPARE(url.path(), QString("/g"));
+        url.setHost("stuff;1");
+        QVERIFY(!url.isValid());
         url.setHost("stuff-1");
         QVERIFY(url.isValid());
+        url.setHost("stuff;1");
+        QVERIFY(!url.isValid());
+        QVERIFY(url.errorString().contains("invalid hostname"));
     }
 
 }
-- 
cgit v0.12


From 759c3c2a2a62648b0fc4b2970a1fdb3a52c488a7 Mon Sep 17 00:00:00 2001
From: Markus Goetz <Markus.Goetz@nokia.com>
Date: Fri, 10 Sep 2010 10:53:41 +0200
Subject: NTLM code: Save domain in different variable

Reviewed-by: Markus Goetz
---
 src/network/kernel/qauthenticator.cpp | 39 +++++++++++++++++++++++++++--------
 src/network/kernel/qauthenticator_p.h |  1 +
 2 files changed, 31 insertions(+), 9 deletions(-)

diff --git a/src/network/kernel/qauthenticator.cpp b/src/network/kernel/qauthenticator.cpp
index 18cc14e..f97d833 100644
--- a/src/network/kernel/qauthenticator.cpp
+++ b/src/network/kernel/qauthenticator.cpp
@@ -210,19 +210,38 @@ void QAuthenticator::setUser(const QString &user)
 
     switch(d->method) {
     case QAuthenticatorPrivate::DigestMd5:
-    case QAuthenticatorPrivate::Ntlm:
-        if((separatorPosn = user.indexOf(QLatin1String("\\"))) != -1)
-        {
+        if((separatorPosn = user.indexOf(QLatin1String("\\"))) != -1) {
             //domain name is present
+	    d->userDomain.clear();
             d->realm = user.left(separatorPosn);
             d->user = user.mid(separatorPosn + 1);
         } else if((separatorPosn = user.indexOf(QLatin1String("@"))) != -1) {
             //domain name is present
+	    d->userDomain.clear();
             d->realm = user.mid(separatorPosn + 1);
             d->user = user.left(separatorPosn);
         } else {
             d->user = user;
             d->realm.clear();
+            d->userDomain.clear();
+        }
+        break;
+
+    case QAuthenticatorPrivate::Ntlm:
+        if((separatorPosn = user.indexOf(QLatin1String("\\"))) != -1) {
+            //domain name is present
+            d->realm.clear();
+            d->userDomain = user.left(separatorPosn);
+            d->user = user.mid(separatorPosn + 1);
+        } else if((separatorPosn = user.indexOf(QLatin1String("@"))) != -1) {
+            //domain name is present
+            d->realm.clear();
+            d->userDomain = user.left(separatorPosn);
+            d->user = user.left(separatorPosn);
+        } else {
+            d->user = user;
+	    d->realm.clear();
+            d->userDomain.clear();
         }
         break;
     // For other auth mechanisms, domain name will be part of username
@@ -1178,7 +1197,7 @@ static QByteArray qCreatev2Hash(const QAuthenticatorPrivate *ctx,
         // Assuming the user and domain is always unicode in challenge
         QByteArray message =
                 qStringAsUcs2Le(ctx->user.toUpper()) +
-                qStringAsUcs2Le(ctx->realm);
+                qStringAsUcs2Le(phase3->domainStr);
 
         phase3->v2Hash = qEncodeHmacMd5(hashKey, message);
     }
@@ -1364,9 +1383,6 @@ static QByteArray qNtlmPhase3(QAuthenticatorPrivate *ctx, const QByteArray& phas
 
     bool unicode = ch.flags & NTLMSSP_NEGOTIATE_UNICODE;
 
-    if(ctx->realm.isEmpty())
-        ctx->realm = ch.targetNameStr;
-
     pb.flags = NTLMSSP_NEGOTIATE_NTLM;
     if (unicode)
         pb.flags |= NTLMSSP_NEGOTIATE_UNICODE;
@@ -1377,8 +1393,13 @@ static QByteArray qNtlmPhase3(QAuthenticatorPrivate *ctx, const QByteArray& phas
     int offset = QNtlmPhase3BlockBase::Size;
     Q_ASSERT(QNtlmPhase3BlockBase::Size == sizeof(QNtlmPhase3BlockBase));
     
-    offset = qEncodeNtlmString(pb.domain, offset, ctx->realm, unicode);
-    pb.domainStr = ctx->realm;
+    if(ctx->userDomain.isEmpty()) {
+        offset = qEncodeNtlmString(pb.domain, offset, ch.targetNameStr, unicode);
+        pb.domainStr = ch.targetNameStr;
+    } else {
+        offset = qEncodeNtlmString(pb.domain, offset, ctx->userDomain, unicode);
+        pb.domainStr = ctx->userDomain;
+    }
 
     offset = qEncodeNtlmString(pb.user, offset, ctx->user, unicode);
     pb.userStr = ctx->user;
diff --git a/src/network/kernel/qauthenticator_p.h b/src/network/kernel/qauthenticator_p.h
index 1096601..4e09360 100644
--- a/src/network/kernel/qauthenticator_p.h
+++ b/src/network/kernel/qauthenticator_p.h
@@ -91,6 +91,7 @@ public:
 
     // ntlm specific
     QString workstation;
+    QString userDomain;
 
     QByteArray calculateResponse(const QByteArray &method, const QByteArray &path);
 
-- 
cgit v0.12


From 839e2ed4746d748df67570934a0be9e0a9cd0c3d Mon Sep 17 00:00:00 2001
From: Harald Fernengel <harald.fernengel@nokia.com>
Date: Thu, 9 Sep 2010 16:03:45 +0200
Subject: Added private API to install an x11EventFilter

Some libs need to intercept X11 events without actually being able
to subclass QApplication, so add a private API to allow setting
event filter functions.

Reviewed By: Robert Griebl
---
 src/gui/kernel/qapplication_x11.cpp | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/src/gui/kernel/qapplication_x11.cpp b/src/gui/kernel/qapplication_x11.cpp
index 7495f6d..e7b7ed8 100644
--- a/src/gui/kernel/qapplication_x11.cpp
+++ b/src/gui/kernel/qapplication_x11.cpp
@@ -400,11 +400,39 @@ QTabletDeviceDataList *qt_tablet_devices()
 extern bool qt_tabletChokeMouse;
 #endif
 
+typedef bool(*QX11FilterFunction)(XEvent *event);
+
+Q_GLOBAL_STATIC(QList<QX11FilterFunction>, x11Filters)
+
+Q_GUI_EXPORT void qt_installX11EventFilter(QX11FilterFunction func)
+{
+    Q_ASSERT(func);
+
+    if (QList<QX11FilterFunction> *list = x11Filters())
+        list->append(func);
+}
+
+Q_GUI_EXPORT void qt_removeX11EventFilter(QX11FilterFunction func)
+{
+    Q_ASSERT(func);
+
+    if (QList<QX11FilterFunction> *list = x11Filters())
+        list->removeOne(func);
+}
+
+
 static bool qt_x11EventFilter(XEvent* ev)
 {
     long unused;
     if (qApp->filterEvent(ev, &unused))
         return true;
+    if (const QList<QX11FilterFunction> *list = x11Filters()) {
+        for (QList<QX11FilterFunction>::const_iterator it = list->constBegin(); it != list->constEnd(); ++it) {
+            if ((*it)(ev))
+                return true;
+        }
+    }
+
     return qApp->x11EventFilter(ev);
 }
 
-- 
cgit v0.12


From 60bfb40e3c398163fe17834c26cdf97579946cc2 Mon Sep 17 00:00:00 2001
From: Harald Fernengel <harald.fernengel@nokia.com>
Date: Fri, 10 Sep 2010 11:01:44 +0200
Subject: fix CRLF

---
 tests/auto/qlineedit/tst_qlineedit.cpp | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/tests/auto/qlineedit/tst_qlineedit.cpp b/tests/auto/qlineedit/tst_qlineedit.cpp
index bfa9406..93bd447 100644
--- a/tests/auto/qlineedit/tst_qlineedit.cpp
+++ b/tests/auto/qlineedit/tst_qlineedit.cpp
@@ -3747,15 +3747,15 @@ void tst_QLineEdit::QTBUG697_paletteCurrentColorGroup()
 void tst_QLineEdit::QTBUG13520_textNotVisible()
 {
     LineEdit le;
-    le.setAlignment( Qt::AlignRight | Qt::AlignVCenter);
-    le.show();
-    QTest::qWaitForWindowShown(&le);
-    le.setText("01-ST16-01SIL-MPL001wfgsdfgsdgsdfgsdfgsdfgsdfgsdfg");
-    le.setCursorPosition(0);
-    QTest::qWait(100); //just make sure we get he lineedit correcly painted
-
-    QVERIFY(le.cursorRect().center().x() < le.width() / 2);
-
+    le.setAlignment( Qt::AlignRight | Qt::AlignVCenter);
+    le.show();
+    QTest::qWaitForWindowShown(&le);
+    le.setText("01-ST16-01SIL-MPL001wfgsdfgsdgsdfgsdfgsdfgsdfgsdfg");
+    le.setCursorPosition(0);
+    QTest::qWait(100); //just make sure we get he lineedit correcly painted
+
+    QVERIFY(le.cursorRect().center().x() < le.width() / 2);
+
 
 }
 
-- 
cgit v0.12


From 5768bab92310ee553822de8a752f94b9137b23df Mon Sep 17 00:00:00 2001
From: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
Date: Fri, 10 Sep 2010 11:04:49 +0200
Subject: Fix crash when using unprintable chars in QStaticText

The assumption that the output glyph array and input glyph array is
of equal size is wrong when unprintable characters are used (and
discarded in getGlyphPositions())

Task-number: QTBUG-12614
Reviewed-by: Jiang Jiang
---
 src/gui/text/qstatictext.cpp               |  3 +--
 tests/auto/qstatictext/tst_qstatictext.cpp | 11 +++++++++++
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/src/gui/text/qstatictext.cpp b/src/gui/text/qstatictext.cpp
index b950b13..7a5dec4 100644
--- a/src/gui/text/qstatictext.cpp
+++ b/src/gui/text/qstatictext.cpp
@@ -448,7 +448,6 @@ namespace {
             currentItem.font = ti.font();
             currentItem.charOffset = m_chars.size();
             currentItem.numChars = ti.num_chars;
-            currentItem.numGlyphs = ti.glyphs.numGlyphs;
             currentItem.glyphOffset = m_glyphs.size(); // Store offset into glyph pool
             currentItem.positionOffset = m_glyphs.size(); // Offset into position pool
             currentItem.useBackendOptimizations = m_useBackendOptimizations;
@@ -463,8 +462,8 @@ namespace {
             ti.fontEngine->getGlyphPositions(ti.glyphs, matrix, ti.flags, glyphs, positions);
 
             int size = glyphs.size();
-            Q_ASSERT(size == ti.glyphs.numGlyphs);
             Q_ASSERT(size == positions.size());
+            currentItem.numGlyphs = size;
 
             m_glyphs.resize(m_glyphs.size() + size);
             m_positions.resize(m_glyphs.size());
diff --git a/tests/auto/qstatictext/tst_qstatictext.cpp b/tests/auto/qstatictext/tst_qstatictext.cpp
index 2a60e9e..68c3ea9 100644
--- a/tests/auto/qstatictext/tst_qstatictext.cpp
+++ b/tests/auto/qstatictext/tst_qstatictext.cpp
@@ -91,6 +91,8 @@ private slots:
     void drawStruckOutText();
     void drawOverlinedText();
     void drawUnderlinedText();
+
+    void unprintableCharacter_qtbug12614();
 };
 
 void tst_QStaticText::init()
@@ -753,5 +755,14 @@ void tst_QStaticText::drawUnderlinedText()
     QCOMPARE(imageDrawText, imageDrawStaticText);
 }
 
+void tst_QStaticText::unprintableCharacter_qtbug12614()
+{
+    QString s(QChar(0x200B)); // U+200B, ZERO WIDTH SPACE
+
+    QStaticText staticText(s);
+
+    QVERIFY(staticText.size().isValid()); // Force layout. Should not crash.
+}
+
 QTEST_MAIN(tst_QStaticText)
 #include "tst_qstatictext.moc"
-- 
cgit v0.12


From 5cef786a651c675d3428060a19bfd9d9ecee6083 Mon Sep 17 00:00:00 2001
From: axis <qt-info@nokia.com>
Date: Thu, 9 Sep 2010 13:48:58 +0200
Subject: Fixed crash in input methods when using symbols menu and numbers only

When inputting only numbers, the symbol menu should not do anything.
However in the old code the resource id of the symbol table was still
being set, so the symbol key on N97 would look up a table that was
not valid for the current input mode and crash.

Fixed by setting the symbol table id to zero under those conditions.

RevBy:    Sami Merila
Task:     QTBUG-13472
AutoTest: Included
---
 src/gui/inputmethod/qcoefepinputcontext_s60.cpp | 11 +++++++----
 tests/auto/qinputcontext/tst_qinputcontext.cpp  | 21 +++++++++++++++++++++
 2 files changed, 28 insertions(+), 4 deletions(-)

diff --git a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp
index b08b9a9..af86d77 100644
--- a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp
+++ b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp
@@ -382,6 +382,9 @@ void QCoeFepInputContext::applyHints(Qt::InputMethodHints hints)
     const bool anytextmodes = hints & (ImhUppercaseOnly | ImhLowercaseOnly | ImhEmailCharactersOnly | ImhUrlCharactersOnly);
     const bool numbersOnly = anynumbermodes && !anytextmodes;
     const bool noOnlys = !(hints & ImhExclusiveInputMask);
+    // if alphanumeric input, or if multiple incompatible number modes are selected;
+    // then make all symbols available in numeric mode too.
+    const bool needsCharMap= !numbersOnly || ((hints & ImhFormattedNumbersOnly) && (hints & ImhDialableCharactersOnly));
     TInt flags;
     Qt::InputMethodHints oldHints = hints;
 
@@ -481,9 +484,7 @@ void QCoeFepInputContext::applyHints(Qt::InputMethodHints hints)
     if (hints & ImhNoPredictiveText || hints & ImhHiddenText) {
         flags |= EAknEditorFlagNoT9;
     }
-    // if alphanumeric input, or if multiple incompatible number modes are selected;
-    // then make all symbols available in numeric mode too.
-    if (!numbersOnly || ((hints & ImhFormattedNumbersOnly) && (hints & ImhDialableCharactersOnly)))
+    if (needsCharMap)
         flags |= EAknEditorFlagUseSCTNumericCharmap;
     m_fepState->SetFlags(flags);
     ReportAknEdStateEvent(MAknEdStateObserver::EAknEdwinStateFlagsUpdate);
@@ -508,8 +509,10 @@ void QCoeFepInputContext::applyHints(Qt::InputMethodHints hints)
         m_fepState->SetSpecialCharacterTableResourceId(R_AVKON_URL_SPECIAL_CHARACTER_TABLE_DIALOG);
     } else if (hints & ImhEmailCharactersOnly) {
         m_fepState->SetSpecialCharacterTableResourceId(R_AVKON_EMAIL_ADDR_SPECIAL_CHARACTER_TABLE_DIALOG);
-    } else {
+    } else if (needsCharMap) {
         m_fepState->SetSpecialCharacterTableResourceId(R_AVKON_SPECIAL_CHARACTER_TABLE_DIALOG);
+    } else {
+        m_fepState->SetSpecialCharacterTableResourceId(0);
     }
 
     if (hints & ImhHiddenText) {
diff --git a/tests/auto/qinputcontext/tst_qinputcontext.cpp b/tests/auto/qinputcontext/tst_qinputcontext.cpp
index 52e655b..d077bc1 100644
--- a/tests/auto/qinputcontext/tst_qinputcontext.cpp
+++ b/tests/auto/qinputcontext/tst_qinputcontext.cpp
@@ -884,6 +884,27 @@ void tst_QInputContext::symbianTestCoeFepInputContext_data()
             << QString("44")
             << QString("");
     events.clear();
+
+    // Test that the symbol key successfully does nothing when in number-only mode.
+    events << FepReplayEvent(EEventKeyDown, EStdKeyLeftFunc, 0, 0, 0);
+    events << FepReplayEvent(EEventKeyUp, EStdKeyLeftFunc, 0, 0, 0);
+    QTest::newRow("Dead symbols key")
+            << true
+            << Qt::InputMethodHints(Qt::ImhDigitsOnly)
+            << 0
+            << QLineEdit::Normal
+            << events
+            << QString("")
+            << QString("");
+    QTest::newRow("Dead symbols key and password")
+            << true
+            << Qt::InputMethodHints(Qt::ImhDigitsOnly)
+            << 0
+            << QLineEdit::Password
+            << events
+            << QString("")
+            << QString("");
+    events.clear();
 #endif
 }
 
-- 
cgit v0.12


From 1ecd2d460896959cf3c5654f4cef7e4d3c8f5cf6 Mon Sep 17 00:00:00 2001
From: axis <qt-info@nokia.com>
Date: Thu, 9 Sep 2010 13:48:58 +0200
Subject: Fixed crash in input methods when using symbols menu and numbers only

When inputting only numbers, the symbol menu should not do anything.
However in the old code the resource id of the symbol table was still
being set, so the symbol key on N97 would look up a table that was
not valid for the current input mode and crash.

Fixed by setting the symbol table id to zero under those conditions.

RevBy:    Sami Merila
Task:     QTBUG-13472
AutoTest: Included
(cherry picked from commit 5cef786a651c675d3428060a19bfd9d9ecee6083)
---
 src/gui/inputmethod/qcoefepinputcontext_s60.cpp | 11 +++++++----
 tests/auto/qinputcontext/tst_qinputcontext.cpp  | 21 +++++++++++++++++++++
 2 files changed, 28 insertions(+), 4 deletions(-)

diff --git a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp
index ce0c9ff..02e0abb 100644
--- a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp
+++ b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp
@@ -364,6 +364,9 @@ void QCoeFepInputContext::applyHints(Qt::InputMethodHints hints)
     const bool anytextmodes = hints & (ImhUppercaseOnly | ImhLowercaseOnly | ImhEmailCharactersOnly | ImhUrlCharactersOnly);
     const bool numbersOnly = anynumbermodes && !anytextmodes;
     const bool noOnlys = !(hints & ImhExclusiveInputMask);
+    // if alphanumeric input, or if multiple incompatible number modes are selected;
+    // then make all symbols available in numeric mode too.
+    const bool needsCharMap= !numbersOnly || ((hints & ImhFormattedNumbersOnly) && (hints & ImhDialableCharactersOnly));
     TInt flags;
     Qt::InputMethodHints oldHints = hints;
 
@@ -463,9 +466,7 @@ void QCoeFepInputContext::applyHints(Qt::InputMethodHints hints)
     if (hints & ImhNoPredictiveText || hints & ImhHiddenText) {
         flags |= EAknEditorFlagNoT9;
     }
-    // if alphanumeric input, or if multiple incompatible number modes are selected;
-    // then make all symbols available in numeric mode too.
-    if (!numbersOnly || ((hints & ImhFormattedNumbersOnly) && (hints & ImhDialableCharactersOnly)))
+    if (needsCharMap)
         flags |= EAknEditorFlagUseSCTNumericCharmap;
     m_fepState->SetFlags(flags);
     ReportAknEdStateEvent(MAknEdStateObserver::EAknEdwinStateFlagsUpdate);
@@ -490,8 +491,10 @@ void QCoeFepInputContext::applyHints(Qt::InputMethodHints hints)
         m_fepState->SetSpecialCharacterTableResourceId(R_AVKON_URL_SPECIAL_CHARACTER_TABLE_DIALOG);
     } else if (hints & ImhEmailCharactersOnly) {
         m_fepState->SetSpecialCharacterTableResourceId(R_AVKON_EMAIL_ADDR_SPECIAL_CHARACTER_TABLE_DIALOG);
-    } else {
+    } else if (needsCharMap) {
         m_fepState->SetSpecialCharacterTableResourceId(R_AVKON_SPECIAL_CHARACTER_TABLE_DIALOG);
+    } else {
+        m_fepState->SetSpecialCharacterTableResourceId(0);
     }
 
     if (hints & ImhHiddenText) {
diff --git a/tests/auto/qinputcontext/tst_qinputcontext.cpp b/tests/auto/qinputcontext/tst_qinputcontext.cpp
index 8eef2cc..26b7b00 100644
--- a/tests/auto/qinputcontext/tst_qinputcontext.cpp
+++ b/tests/auto/qinputcontext/tst_qinputcontext.cpp
@@ -882,6 +882,27 @@ void tst_QInputContext::symbianTestCoeFepInputContext_data()
             << QString("44")
             << QString("");
     events.clear();
+
+    // Test that the symbol key successfully does nothing when in number-only mode.
+    events << FepReplayEvent(EEventKeyDown, EStdKeyLeftFunc, 0, 0, 0);
+    events << FepReplayEvent(EEventKeyUp, EStdKeyLeftFunc, 0, 0, 0);
+    QTest::newRow("Dead symbols key")
+            << true
+            << Qt::InputMethodHints(Qt::ImhDigitsOnly)
+            << 0
+            << QLineEdit::Normal
+            << events
+            << QString("")
+            << QString("");
+    QTest::newRow("Dead symbols key and password")
+            << true
+            << Qt::InputMethodHints(Qt::ImhDigitsOnly)
+            << 0
+            << QLineEdit::Password
+            << events
+            << QString("")
+            << QString("");
+    events.clear();
 #endif
 }
 
-- 
cgit v0.12


From a9bf68d69d30fc44264f09a75f5e33431bdf4616 Mon Sep 17 00:00:00 2001
From: Jiang Jiang <jiang.jiang@nokia.com>
Date: Wed, 25 Aug 2010 16:40:32 +0200
Subject: Fix cache_cost initialization of QFontEngineMultiWin

Originally, QFontEngineMultiWin does not set its cache_cost according to
the regular font engines it refers to, which makes cache management in
QFontCache useless because cache_cost is always 0, and garbage
collecting timerEvent can hardly be triggered. This patch solve part of
the problem by using cache_cost of the first font engine for
QFontEngineMultiWin.

However, if a font engine is loaded by QFontEngineMulti::loadEngine, the
cost is still not counted.

Task-number: QTBUG-12562
Reviewed-by: Eskil Abrahamsen Blomfeldt
---
 src/gui/text/qfontengine_win.cpp | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/gui/text/qfontengine_win.cpp b/src/gui/text/qfontengine_win.cpp
index 82de0d5..ef1b504 100644
--- a/src/gui/text/qfontengine_win.cpp
+++ b/src/gui/text/qfontengine_win.cpp
@@ -1296,6 +1296,7 @@ QFontEngineMultiWin::QFontEngineMultiWin(QFontEngineWin *first, const QStringLis
     engines[0] = first;
     first->ref.ref();
     fontDef = engines[0]->fontDef;
+    cache_cost = first->cache_cost;
 }
 
 void QFontEngineMultiWin::loadEngine(int at)
@@ -1317,6 +1318,8 @@ void QFontEngineMultiWin::loadEngine(int at)
     engines[at] = new QFontEngineWin(fam, hfont, stockFont, lf);
     engines[at]->ref.ref();
     engines[at]->fontDef = fontDef;
+
+    // TODO: increase cost in QFontCache for the font engine loaded here
 }
 
 QT_END_NAMESPACE
-- 
cgit v0.12


From 1c109b9e504b4b51707c97f443be49c88720b386 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Samuel=20R=C3=B8dal?= <samuel.rodal@nokia.com>
Date: Mon, 6 Sep 2010 08:58:18 +0200
Subject: Imported meego graphics system sources.

From http://www.gitorious.com/meego-graphics/meego-graphics
---
 .../graphicssystems/meego/meegographicssystem.pro  |  12 ++
 src/plugins/graphicssystems/meego/mextensions.cpp  | 102 ++++++++++
 src/plugins/graphicssystems/meego/mextensions.h    |  62 ++++++
 .../graphicssystems/meego/mgraphicssystem.cpp      | 221 +++++++++++++++++++++
 .../graphicssystems/meego/mgraphicssystem.h        |  58 ++++++
 .../meego/mgraphicssystemplugin.cpp                |  31 +++
 .../graphicssystems/meego/mgraphicssystemplugin.h  |  27 +++
 src/plugins/graphicssystems/meego/mpixmapdata.cpp  | 179 +++++++++++++++++
 src/plugins/graphicssystems/meego/mpixmapdata.h    |  46 +++++
 9 files changed, 738 insertions(+)
 create mode 100644 src/plugins/graphicssystems/meego/meegographicssystem.pro
 create mode 100644 src/plugins/graphicssystems/meego/mextensions.cpp
 create mode 100644 src/plugins/graphicssystems/meego/mextensions.h
 create mode 100644 src/plugins/graphicssystems/meego/mgraphicssystem.cpp
 create mode 100644 src/plugins/graphicssystems/meego/mgraphicssystem.h
 create mode 100644 src/plugins/graphicssystems/meego/mgraphicssystemplugin.cpp
 create mode 100644 src/plugins/graphicssystems/meego/mgraphicssystemplugin.h
 create mode 100644 src/plugins/graphicssystems/meego/mpixmapdata.cpp
 create mode 100644 src/plugins/graphicssystems/meego/mpixmapdata.h

diff --git a/src/plugins/graphicssystems/meego/meegographicssystem.pro b/src/plugins/graphicssystems/meego/meegographicssystem.pro
new file mode 100644
index 0000000..80a974e
--- /dev/null
+++ b/src/plugins/graphicssystems/meego/meegographicssystem.pro
@@ -0,0 +1,12 @@
+TEMPLATE = lib
+QT += gui opengl
+INCLUDEPATH += '../'
+HEADERS = mgraphicssystem.h mpixmapdata.h mextensions.h
+SOURCES = mgraphicssystem.cpp mgraphicssystem.h mgraphicssystemplugin.h mgraphicssystemplugin.cpp mpixmapdata.h mpixmapdata.cpp mextensions.h mextensions.cpp
+CONFIG += GLESv2 EGL X11 debug plugin
+LIBS += -lGLESv2
+TARGET = meegographicssystem
+
+target.path = $$[QT_INSTALL_PLUGINS]/graphicssystems
+
+INSTALLS += target 
diff --git a/src/plugins/graphicssystems/meego/mextensions.cpp b/src/plugins/graphicssystems/meego/mextensions.cpp
new file mode 100644
index 0000000..814532f
--- /dev/null
+++ b/src/plugins/graphicssystems/meego/mextensions.cpp
@@ -0,0 +1,102 @@
+/***************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation
+**
+** This library is free software; you can redistribute it and/or
+** modify it under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation
+** and appearing in the file LICENSE.LGPL included in the packaging
+** of this file.
+**
+****************************************************************************/
+
+#include "mextensions.h"
+#include "../private/qeglcontext_p.h"
+#include "../private/qpixmapdata_gl_p.h"
+
+bool MExtensions::initialized = false;
+bool MExtensions::hasImageShared = false;
+bool MExtensions::hasSurfaceScaling = false;
+
+/* Extension funcs */
+
+typedef EGLBoolean (EGLAPIENTRY *eglQueryImageNOKFunc)(EGLDisplay, EGLImageKHR, EGLint, EGLint*);
+typedef EGLNativeSharedImageTypeNOK (EGLAPIENTRY *eglCreateSharedImageNOKFunc)(EGLDisplay, EGLImageKHR, EGLint*);
+typedef EGLBoolean (EGLAPIENTRY *eglDestroySharedImageNOKFunc)(EGLDisplay, EGLNativeSharedImageTypeNOK);
+typedef EGLBoolean (EGLAPIENTRY *eglSetSurfaceScalingNOKFunc)(EGLDisplay, EGLSurface, EGLint, EGLint, EGLint, EGLint);
+
+static eglQueryImageNOKFunc _eglQueryImageNOK = 0;
+static eglCreateSharedImageNOKFunc _eglCreateSharedImageNOK = 0;
+static eglDestroySharedImageNOKFunc _eglDestroySharedImageNOK = 0;
+static eglSetSurfaceScalingNOKFunc _eglSetSurfaceScalingNOK = 0;
+
+/* Public */
+
+void MExtensions::ensureInitialized()
+{
+    if (!initialized)
+        initialize();
+
+    initialized = true;
+}
+
+EGLNativeSharedImageTypeNOK MExtensions::eglCreateSharedImageNOK(EGLDisplay dpy, EGLImageKHR image, EGLint *props)
+{
+    if (! hasImageShared)
+        qFatal("EGL_NOK_image_shared not found but trying to use capability!");
+        
+    return _eglCreateSharedImageNOK(dpy, image, props);
+}
+
+bool MExtensions::eglQueryImageNOK(EGLDisplay dpy, EGLImageKHR image, EGLint prop, EGLint *v)
+{
+    if (! hasImageShared)
+        qFatal("EGL_NOK_image_shared not found but trying to use capability!");
+
+    return _eglQueryImageNOK(dpy, image, prop, v);
+}
+
+bool MExtensions::eglDestroySharedImageNOK(EGLDisplay dpy, EGLNativeSharedImageTypeNOK img)
+{
+    if (! hasImageShared)
+        qFatal("EGL_NOK_image_shared not found but trying to use capability!");
+
+    return _eglDestroySharedImageNOK(dpy, img);
+}
+
+bool MExtensions::eglSetSurfaceScalingNOK(EGLDisplay dpy, EGLSurface surface, int x, int y, int width, int height)
+{
+    if (! hasSurfaceScaling)
+        qFatal("EGL_NOK_surface_scaling not found but trying to use capability!");
+
+   return _eglSetSurfaceScalingNOK(dpy, surface, x, y, width, height);
+}
+
+/* Private */
+
+void MExtensions::initialize()
+{
+    QGLContext *ctx = (QGLContext *) QGLContext::currentContext();
+    qt_resolve_eglimage_gl_extensions(ctx);
+    
+    if (QEgl::hasExtension("EGL_NOK_image_shared")) {
+        qDebug("MeegoGraphics: found EGL_NOK_image_shared");
+        _eglQueryImageNOK = (eglQueryImageNOKFunc) eglGetProcAddress("eglQueryImageNOK");
+        _eglCreateSharedImageNOK = (eglCreateSharedImageNOKFunc) eglGetProcAddress("eglCreateSharedImageNOK");
+        _eglDestroySharedImageNOK = (eglDestroySharedImageNOKFunc) eglGetProcAddress("eglDestroySharedImageNOK");
+        
+        Q_ASSERT(_eglQueryImageNOK && _eglCreateSharedImageNOK && _eglDestroySharedImageNOK);
+        hasImageShared = true;
+    }
+    
+    if (QEgl::hasExtension("EGL_NOK_surface_scaling")) {
+        qDebug("MeegoGraphics: found EGL_NOK_surface_scaling");
+        _eglSetSurfaceScalingNOK = (eglSetSurfaceScalingNOKFunc) eglGetProcAddress("eglSetSurfaceScalingNOK");
+        
+        Q_ASSERT(_eglSetSurfaceScalingNOK);
+        hasSurfaceScaling = true;
+    }
+}
+
diff --git a/src/plugins/graphicssystems/meego/mextensions.h b/src/plugins/graphicssystems/meego/mextensions.h
new file mode 100644
index 0000000..9506c50
--- /dev/null
+++ b/src/plugins/graphicssystems/meego/mextensions.h
@@ -0,0 +1,62 @@
+/***************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation
+**
+** This library is free software; you can redistribute it and/or
+** modify it under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation
+** and appearing in the file LICENSE.LGPL included in the packaging
+** of this file.
+**
+****************************************************************************/
+
+#ifndef MEXTENSIONS_H
+#define MEXTENSIONS_H
+
+#include <EGL/egl.h>
+#include <EGL/eglext.h>
+#include <GLES2/gl2.h>
+#include <GLES2/gl2ext.h>
+#include "../private/qgl_p.h"
+#include "../private/qeglcontext_p.h"
+#include "../private/qpixmapdata_gl_p.h"
+
+/* Extensions decls */
+
+#ifndef EGL_SHARED_IMAGE_NOK
+#define EGL_SHARED_IMAGE_NOK 0x30DA
+typedef void* EGLNativeSharedImageTypeNOK;
+#endif
+
+#ifndef EGL_GL_TEXTURE_2D_KHR
+#define EGL_GL_TEXTURE_2D_KHR 0x30B1
+#endif
+
+#ifndef EGL_FIXED_WIDTH_NOK
+#define EGL_FIXED_WIDTH_NOK 0x30DB
+#define EGL_FIXED_HEIGHT_NOK 0x30DC
+#endif
+
+/* Class */
+
+class MExtensions 
+{
+public:
+    static void ensureInitialized();
+
+    static EGLNativeSharedImageTypeNOK eglCreateSharedImageNOK(EGLDisplay dpy, EGLImageKHR image, EGLint *props);
+    static bool eglQueryImageNOK(EGLDisplay dpy, EGLImageKHR image, EGLint prop, EGLint *v);
+    static bool eglDestroySharedImageNOK(EGLDisplay dpy, EGLNativeSharedImageTypeNOK img);
+    static bool eglSetSurfaceScalingNOK(EGLDisplay dpy, EGLSurface surface, int x, int y, int width, int height);
+
+private:
+    static void initialize();
+
+    static bool initialized;
+    static bool hasImageShared;
+    static bool hasSurfaceScaling;
+};
+
+#endif
diff --git a/src/plugins/graphicssystems/meego/mgraphicssystem.cpp b/src/plugins/graphicssystems/meego/mgraphicssystem.cpp
new file mode 100644
index 0000000..e4a8210
--- /dev/null
+++ b/src/plugins/graphicssystems/meego/mgraphicssystem.cpp
@@ -0,0 +1,221 @@
+/***************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation
+**
+** This library is free software; you can redistribute it and/or
+** modify it under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation
+** and appearing in the file LICENSE.LGPL included in the packaging
+** of this file.
+**
+****************************************************************************/
+
+#include <QDebug>
+#include "../private/qpixmap_raster_p.h"
+#include "../private/qwindowsurface_gl_p.h"
+#include "../private/qegl_p.h"
+#include "../private/qglextensions_p.h"
+#include "../private/qgl_p.h"
+#include "../private/qimagepixmapcleanuphooks_p.h"
+#include "../private/qapplication_p.h"
+#include "../private/qgraphicssystem_runtime_p.h"
+#include "../private/qimage_p.h"
+#include "../private/qeglproperties_p.h"
+#include "../private/qeglcontext_p.h"
+
+#include "mpixmapdata.h"
+#include "mgraphicssystem.h"
+#include "mextensions.h"
+
+bool MGraphicsSystem::surfaceWasCreated = false;
+
+MGraphicsSystem::MGraphicsSystem()
+{
+    qDebug("Using the meego graphics system");
+}
+
+MGraphicsSystem::~MGraphicsSystem()
+{
+    qDebug("Meego graphics system destroyed");
+    qt_destroy_gl_share_widget();
+}
+
+QWindowSurface* MGraphicsSystem::createWindowSurface(QWidget *widget) const
+{
+    MGraphicsSystem::surfaceWasCreated = true;
+    QWindowSurface *surface = new QGLWindowSurface(widget);
+    surface->window()->setAttribute(Qt::WA_NoSystemBackground);
+    return surface;
+}
+
+QPixmapData *MGraphicsSystem::createPixmapData(QPixmapData::PixelType type) const
+{
+    // Long story short: without this it's possible to hit an 
+    // unitialized paintDevice due to a Qt bug too complex to even 
+    // explain here... not to mention fix without going crazy. 
+    // MDK
+    QGLShareContextScope ctx(qt_gl_share_widget()->context());
+ 
+    return new QRasterPixmapData(type);
+}
+
+QPixmapData *MGraphicsSystem::createPixmapData(QPixmapData *origin)
+{
+    // If the pixmap is a raster type...
+    // and if the pixmap pointer matches our mapping...
+    // create a shared image instead with the given handle.
+
+    if (origin->classId() == QPixmapData::RasterClass) {
+        QRasterPixmapData *rasterClass = static_cast <QRasterPixmapData *> (origin);
+        void *rawResource = static_cast <void *> (rasterClass->buffer()->data_ptr()->data);
+
+        if (MPixmapData::sharedImagesMap.contains(rawResource))
+            return new MPixmapData();
+    } 
+        
+    return new QRasterPixmapData(origin->pixelType());
+}
+
+QPixmapData* MGraphicsSystem::wrapPixmapData(QPixmapData *pmd)
+{
+    QString name = QApplicationPrivate::instance()->graphics_system_name;
+    if (name == "runtime") {
+        QRuntimeGraphicsSystem *rsystem = (QRuntimeGraphicsSystem *) QApplicationPrivate::instance()->graphics_system;
+        QRuntimePixmapData *rt = new QRuntimePixmapData(rsystem, pmd->pixelType());;
+        rt->m_data = pmd;
+        rt->readBackInfo();
+        rsystem->m_pixmapDatas << rt;
+        return rt;
+    } else
+        return pmd;
+}
+
+void MGraphicsSystem::setSurfaceFixedSize(int /*width*/, int /*height*/)
+{
+    if (MGraphicsSystem::surfaceWasCreated)
+        qWarning("Trying to set surface fixed size but surface already created!");
+
+#ifdef QT_WAS_PATCHED
+    QEglProperties *properties = new QEglProperties();
+    properties->setValue(EGL_FIXED_WIDTH_NOK, width);
+    properties->setValue(EGL_FIXED_HEIGHT_NOK, height);
+    QGLContextPrivate::setExtraWindowSurfaceCreationProps(properties);
+#endif
+}
+
+void MGraphicsSystem::setSurfaceScaling(int x, int y, int width, int height)
+{
+    MExtensions::ensureInitialized();
+    MExtensions::eglSetSurfaceScalingNOK(QEgl::display(), QEglContext::currentContext(QEgl::OpenGL)->currentSurface, x, y, width, height);
+}
+
+void MGraphicsSystem::setTranslucent(bool translucent)
+{
+    QGLWindowSurface::surfaceFormat.setSampleBuffers(false);
+    QGLWindowSurface::surfaceFormat.setSamples(0);
+    QGLWindowSurface::surfaceFormat.setAlpha(translucent);
+}
+
+QPixmapData *MGraphicsSystem::pixmapDataFromEGLSharedImage(Qt::HANDLE handle, const QImage &softImage)
+{
+    if (softImage.format() != QImage::Format_ARGB32_Premultiplied &&
+        softImage.format() != QImage::Format_ARGB32) {
+        qFatal("For egl shared images, the soft image has to be ARGB32 or ARGB32_Premultiplied");
+        return NULL;
+    }
+    
+    if (MGraphicsSystem::meegoRunning()) {
+        MPixmapData *pmd = new MPixmapData;
+        pmd->fromEGLSharedImage(handle, softImage);
+        return MGraphicsSystem::wrapPixmapData(pmd);
+    } else {
+        QRasterPixmapData *pmd = new QRasterPixmapData(QPixmapData::PixmapType);
+        pmd->fromImage(softImage, Qt::NoOpaqueDetection);
+
+        // Make sure that the image was not converted in any way
+        if (pmd->buffer()->data_ptr()->data !=
+            const_cast<QImage &>(softImage).data_ptr()->data)
+            qFatal("Iternal misalignment of raster data detected. Prolly a QImage copy fail.");
+
+        MPixmapData::registerSharedImage(handle, softImage);
+        return MGraphicsSystem::wrapPixmapData(pmd);
+    }
+}
+
+void MGraphicsSystem::updateEGLSharedImagePixmap(QPixmap *pixmap)
+{
+    MPixmapData *pmd = (MPixmapData *) pixmap->pixmapData();
+    
+    // Basic sanity check to make sure this is really a MPixmapData...
+    if (pmd->classId() != QPixmapData::OpenGLClass) 
+        qFatal("Trying to updated EGLSharedImage pixmap but it's not really a shared image pixmap!");
+
+    pmd->updateFromSoftImage();
+}
+
+QPixmapData *MGraphicsSystem::pixmapDataWithGLTexture(int w, int h)
+{
+    QGLPixmapData *pmd = new QGLPixmapData(QPixmapData::PixmapType);
+    pmd->resize(w, h);
+    return MGraphicsSystem::wrapPixmapData(pmd);
+}
+
+bool MGraphicsSystem::meegoRunning()
+{
+    if (! QApplicationPrivate::instance()) {
+        qWarning("Application not running just yet... hard to know what system running!");
+        return false;
+    }
+
+    QString name = QApplicationPrivate::instance()->graphics_system_name;
+    if (name == "runtime") {
+        QRuntimeGraphicsSystem *rsystem = (QRuntimeGraphicsSystem *) QApplicationPrivate::instance()->graphics_system;
+        name = rsystem->graphicsSystemName();
+    }
+
+    return (name == "meego");
+}
+
+/* C API */
+
+int m_image_to_egl_shared_image(const QImage &image)
+{
+    return MPixmapData::imageToEGLSharedImage(image);
+}
+
+QPixmapData* m_pixmapdata_from_egl_shared_image(Qt::HANDLE handle, const QImage &softImage)
+{
+    return MGraphicsSystem::pixmapDataFromEGLSharedImage(handle, softImage);
+}
+
+QPixmapData* m_pixmapdata_with_gl_texture(int w, int h)
+{
+    return MGraphicsSystem::pixmapDataWithGLTexture(w, h);
+}
+
+bool m_destroy_egl_shared_image(Qt::HANDLE handle)
+{
+    return MPixmapData::destroyEGLSharedImage(handle);
+}
+
+void m_set_surface_fixed_size(int width, int height)
+{
+    MGraphicsSystem::setSurfaceFixedSize(width, height);
+}
+
+void m_set_surface_scaling(int x, int y, int width, int height)
+{
+    MGraphicsSystem::setSurfaceScaling(x, y, width, height);
+}
+
+void m_set_translucent(bool translucent)
+{
+    MGraphicsSystem::setTranslucent(translucent);
+}
+
+void m_update_egl_shared_image_pixmap(QPixmap *pixmap)
+{
+    MGraphicsSystem::updateEGLSharedImagePixmap(pixmap);
+}
diff --git a/src/plugins/graphicssystems/meego/mgraphicssystem.h b/src/plugins/graphicssystems/meego/mgraphicssystem.h
new file mode 100644
index 0000000..c95d7ae
--- /dev/null
+++ b/src/plugins/graphicssystems/meego/mgraphicssystem.h
@@ -0,0 +1,58 @@
+/***************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation
+**
+** This library is free software; you can redistribute it and/or
+** modify it under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation
+** and appearing in the file LICENSE.LGPL included in the packaging
+** of this file.
+**
+****************************************************************************/
+
+#ifndef MGRAPHICSSYSTEM_H
+#define MGRAPHICSSYSTEM_H
+
+#include "../private/qgraphicssystem_p.h"
+
+class MGraphicsSystem : public QGraphicsSystem
+{
+public:
+    MGraphicsSystem();
+    ~MGraphicsSystem();
+    
+    virtual QWindowSurface *createWindowSurface(QWidget *widget) const;
+    virtual QPixmapData *createPixmapData(QPixmapData::PixelType) const;
+    virtual QPixmapData *createPixmapData(QPixmapData *origin);
+
+    static QPixmapData *wrapPixmapData(QPixmapData *pmd);
+    static void setSurfaceFixedSize(int width, int height);
+    static void setSurfaceScaling(int x, int y, int width, int height);
+    static void setTranslucent(bool translucent);
+
+    static QPixmapData *pixmapDataFromEGLSharedImage(Qt::HANDLE handle, const QImage &softImage);
+    static QPixmapData *pixmapDataWithGLTexture(int w, int h);
+    static void updateEGLSharedImagePixmap(QPixmap *pixmap);
+
+private:
+    static bool meegoRunning();
+    
+    static bool surfaceWasCreated;
+};
+
+/* C api */
+
+extern "C" {
+    int m_image_to_egl_shared_image(const QImage &image);
+    QPixmapData* m_pixmapdata_from_egl_shared_image(Qt::HANDLE handle, const QImage &softImage);
+    QPixmapData* m_pixmapdata_with_gl_texture(int w, int h);
+    void m_update_egl_shared_image_pixmap(QPixmap *pixmap);
+    bool m_destroy_egl_shared_image(Qt::HANDLE handle);
+    void m_set_surface_fixed_size(int width, int height);
+    void m_set_surface_scaling(int x, int y, int width, int height);
+    void m_set_translucent(bool translucent);
+}
+
+#endif 
diff --git a/src/plugins/graphicssystems/meego/mgraphicssystemplugin.cpp b/src/plugins/graphicssystems/meego/mgraphicssystemplugin.cpp
new file mode 100644
index 0000000..3bb7ffb
--- /dev/null
+++ b/src/plugins/graphicssystems/meego/mgraphicssystemplugin.cpp
@@ -0,0 +1,31 @@
+/***************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation
+**
+** This library is free software; you can redistribute it and/or
+** modify it under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation
+** and appearing in the file LICENSE.LGPL included in the packaging
+** of this file.
+**
+****************************************************************************/
+
+#include <QDebug>
+#include "mgraphicssystemplugin.h"
+#include "mgraphicssystem.h"
+
+QStringList MGraphicsSystemPlugin::keys() const
+{
+    QStringList list;
+    list << "meego";
+    return list;
+}
+
+QGraphicsSystem *MGraphicsSystemPlugin::create(const QString&)
+{
+    return new MGraphicsSystem;
+}
+
+Q_EXPORT_PLUGIN2(meego, MGraphicsSystemPlugin)
diff --git a/src/plugins/graphicssystems/meego/mgraphicssystemplugin.h b/src/plugins/graphicssystems/meego/mgraphicssystemplugin.h
new file mode 100644
index 0000000..84d4427
--- /dev/null
+++ b/src/plugins/graphicssystems/meego/mgraphicssystemplugin.h
@@ -0,0 +1,27 @@
+/***************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation
+**
+** This library is free software; you can redistribute it and/or
+** modify it under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation
+** and appearing in the file LICENSE.LGPL included in the packaging
+** of this file.
+**
+****************************************************************************/
+
+#ifndef MGRAPHICSSYSTEMPLUGIN_H
+#define MGRAPHICSSYSTEMPLUGIN_H
+
+#include "../private/qgraphicssystemplugin_p.h"
+
+class MGraphicsSystemPlugin : public QGraphicsSystemPlugin
+{
+public:
+    virtual QStringList keys() const;
+    virtual QGraphicsSystem *create(const QString&);
+};
+
+#endif
diff --git a/src/plugins/graphicssystems/meego/mpixmapdata.cpp b/src/plugins/graphicssystems/meego/mpixmapdata.cpp
new file mode 100644
index 0000000..b17adf3
--- /dev/null
+++ b/src/plugins/graphicssystems/meego/mpixmapdata.cpp
@@ -0,0 +1,179 @@
+/***************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation
+**
+** This library is free software; you can redistribute it and/or
+** modify it under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation
+** and appearing in the file LICENSE.LGPL included in the packaging
+** of this file.
+**
+****************************************************************************/
+
+#include "mpixmapdata.h"
+#include "mextensions.h"
+#include "../private/qimage_p.h"
+#include "../private/qwindowsurface_gl_p.h"
+#include "../private/qeglcontext_p.h"
+#include "../private/qapplication_p.h"
+#include "../private/qgraphicssystem_runtime_p.h"
+
+static EGLint preserved_image_attribs[] = { EGL_IMAGE_PRESERVED_KHR, EGL_TRUE, EGL_NONE };
+
+QHash <void*, MImageInfo*> MPixmapData::sharedImagesMap;
+
+/* Public */
+
+MPixmapData::MPixmapData() : QGLPixmapData(QPixmapData::PixmapType)
+{
+}
+
+void MPixmapData::fromTexture(GLuint textureId, int w, int h, bool alpha)
+{
+    resize(w, h); 
+    texture()->id = textureId;
+    m_hasAlpha = alpha;
+    softImage = QImage();
+}
+
+QImage MPixmapData::toImage() const
+{
+    return softImage;
+}
+
+void MPixmapData::fromImage(const QImage &image,
+                            Qt::ImageConversionFlags flags)
+{
+    void *rawResource = static_cast <void *> (((QImage &) image).data_ptr()->data);
+
+    if (sharedImagesMap.contains(rawResource)) {
+        MImageInfo *info = sharedImagesMap.value(rawResource);
+        fromEGLSharedImage(info->handle, image);
+    } else {
+        // This should *never* happen since the graphics system should never
+        // create a MPixmapData for an origin that doesn't contain a raster
+        // image we know about. But...
+        qWarning("MPixmapData::fromImage called on non-know resource. Falling back...");
+        QGLPixmapData::fromImage(image, flags);
+    }
+}
+
+void MPixmapData::fromEGLSharedImage(Qt::HANDLE handle, const QImage &si)
+{
+    if (si.isNull())
+        qFatal("Trying to build pixmap with an empty/null softimage!");
+        
+    QGLShareContextScope ctx(qt_gl_share_widget()->context());
+   
+    MExtensions::ensureInitialized();
+ 
+    bool textureIsBound = false;
+    GLuint newTextureId;
+    GLint newWidth, newHeight;
+
+    glGenTextures(1, &newTextureId);
+    glBindTexture(GL_TEXTURE_2D, newTextureId);
+    
+    glFinish();
+    EGLImageKHR image = QEgl::eglCreateImageKHR(QEgl::display(), EGL_NO_CONTEXT, EGL_SHARED_IMAGE_NOK,
+                                                (EGLClientBuffer)handle, preserved_image_attribs);
+
+    if (image != EGL_NO_IMAGE_KHR) {
+        glFinish();
+        glEGLImageTargetTexture2DOES(GL_TEXTURE_2D, image);
+        GLint err = glGetError();
+        if (err == GL_NO_ERROR)
+            textureIsBound = true;
+        
+        MExtensions::eglQueryImageNOK(QEgl::display(), image, EGL_WIDTH, &newWidth);
+        MExtensions::eglQueryImageNOK(QEgl::display(), image, EGL_HEIGHT, &newHeight);
+          
+        QEgl::eglDestroyImageKHR(QEgl::display(), image);
+        glFinish();
+    }
+        
+    if (textureIsBound) {
+        // FIXME Remove this ugly hasAlphaChannel check when Qt lands the NoOpaqueCheck flag fix
+        // for QGLPixmapData.
+        fromTexture(newTextureId, newWidth, newHeight, 
+                    (si.hasAlphaChannel() && const_cast<QImage &>(si).data_ptr()->checkForAlphaPixels()));
+        softImage = si;
+        MPixmapData::registerSharedImage(handle, softImage);
+    } else {
+        qWarning("Failed to create a texture from a shared image!");
+        glDeleteTextures(1, &newTextureId);
+    }
+}
+
+Qt::HANDLE MPixmapData::imageToEGLSharedImage(const QImage &image)
+{
+    QGLShareContextScope ctx(qt_gl_share_widget()->context());
+
+    MExtensions::ensureInitialized();
+
+    glFinish();
+    QGLPixmapData pixmapData(QPixmapData::PixmapType);
+    pixmapData.fromImage(image, 0);
+    GLuint textureId = pixmapData.bind();
+
+    glFinish();
+    EGLImageKHR eglimage = QEgl::eglCreateImageKHR(QEgl::display(), QEglContext::currentContext(QEgl::OpenGL)->context(),
+                                                                                                EGL_GL_TEXTURE_2D_KHR,
+                                                                                                (EGLClientBuffer) textureId,
+                                                                                                preserved_image_attribs);
+    glFinish();
+
+    if (eglimage) {
+        EGLNativeSharedImageTypeNOK handle = MExtensions::eglCreateSharedImageNOK(QEgl::display(), eglimage, NULL);
+        QEgl::eglDestroyImageKHR(QEgl::display(), eglimage);
+        glFinish();
+        return (Qt::HANDLE) handle;
+    } else {
+        qWarning("Failed to create shared image from pixmap/texture!");
+        return 0;
+    }
+}
+
+void MPixmapData::updateFromSoftImage()
+{
+    m_dirty = true;
+    m_source = softImage;
+    ensureCreated();
+    
+    if (softImage.width() != w || softImage.height() != h)
+        qWarning("Ooops, looks like softImage changed dimensions since last updated! Corruption ahead?!");
+}
+
+bool MPixmapData::destroyEGLSharedImage(Qt::HANDLE h)
+{
+    QGLShareContextScope ctx(qt_gl_share_widget()->context());   
+    MExtensions::ensureInitialized();
+
+    QMutableHashIterator <void*, MImageInfo*> i(sharedImagesMap);
+    while (i.hasNext()) {
+        i.next();
+        if (i.value()->handle == h)
+            i.remove();
+    }
+
+    return MExtensions::eglDestroySharedImageNOK(QEgl::display(), (EGLNativeSharedImageTypeNOK) h);
+}
+
+void MPixmapData::registerSharedImage(Qt::HANDLE handle, const QImage &si)
+{
+    void *raw = static_cast <void *> (((QImage) si).data_ptr()->data);
+    MImageInfo *info;
+    
+    if (! sharedImagesMap.contains(raw)) {
+        info = new MImageInfo;
+        info->handle = handle;
+        info->rawFormat = si.format();
+        sharedImagesMap.insert(raw, info);
+    } else {
+        info = sharedImagesMap.value(raw);
+        if (info->handle != handle || info->rawFormat != si.format())
+            qWarning("Inconsistency detected: overwriting entry in sharedImagesMap but handle/format different");
+    }
+}
diff --git a/src/plugins/graphicssystems/meego/mpixmapdata.h b/src/plugins/graphicssystems/meego/mpixmapdata.h
new file mode 100644
index 0000000..ae4ed6b
--- /dev/null
+++ b/src/plugins/graphicssystems/meego/mpixmapdata.h
@@ -0,0 +1,46 @@
+/***************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation
+**
+** This library is free software; you can redistribute it and/or
+** modify it under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation
+** and appearing in the file LICENSE.LGPL included in the packaging
+** of this file.
+**
+****************************************************************************/
+
+#ifndef MPIXMAPDATA_H
+#define MPIXMAPDATA_H
+
+#include "../private/qpixmapdata_gl_p.h"
+
+struct MImageInfo
+{
+    Qt::HANDLE handle;
+    QImage::Format rawFormat;
+};
+
+class MPixmapData : public QGLPixmapData
+{
+public:
+    MPixmapData();
+    void fromTexture(GLuint textureId, int w, int h, bool alpha);
+
+    virtual void fromEGLSharedImage(Qt::HANDLE handle, const QImage &softImage);
+    virtual void fromImage (const QImage &image, Qt::ImageConversionFlags flags);
+    virtual QImage toImage() const;
+    virtual void updateFromSoftImage();
+
+    QImage softImage;
+    
+    static QHash <void*, MImageInfo*> sharedImagesMap;
+    
+    static Qt::HANDLE imageToEGLSharedImage(const QImage &image);
+    static bool destroyEGLSharedImage(Qt::HANDLE h);
+    static void registerSharedImage(Qt::HANDLE handle, const QImage &si);
+};
+
+#endif
-- 
cgit v0.12


From 5d6ceabf3aa9d07f31f0a06d20b76c122973d3b9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Samuel=20R=C3=B8dal?= <samuel.rodal@nokia.com>
Date: Mon, 6 Sep 2010 09:54:02 +0200
Subject: Renamed meego graphics system files.

---
 src/plugins/graphicssystems/meego/meego.pro        |  12 ++
 .../graphicssystems/meego/meegographicssystem.pro  |  12 --
 src/plugins/graphicssystems/meego/mextensions.cpp  | 102 ----------
 src/plugins/graphicssystems/meego/mextensions.h    |  62 ------
 .../graphicssystems/meego/mgraphicssystem.cpp      | 221 ---------------------
 .../graphicssystems/meego/mgraphicssystem.h        |  58 ------
 .../meego/mgraphicssystemplugin.cpp                |  31 ---
 .../graphicssystems/meego/mgraphicssystemplugin.h  |  27 ---
 src/plugins/graphicssystems/meego/mpixmapdata.cpp  | 179 -----------------
 src/plugins/graphicssystems/meego/mpixmapdata.h    |  46 -----
 .../graphicssystems/meego/qmeegoextensions.cpp     | 102 ++++++++++
 .../graphicssystems/meego/qmeegoextensions.h       |  62 ++++++
 .../graphicssystems/meego/qmeegographicssystem.cpp | 221 +++++++++++++++++++++
 .../graphicssystems/meego/qmeegographicssystem.h   |  58 ++++++
 .../meego/qmeegographicssystemplugin.cpp           |  31 +++
 .../meego/qmeegographicssystemplugin.h             |  27 +++
 .../graphicssystems/meego/qmeegopixmapdata.cpp     | 179 +++++++++++++++++
 .../graphicssystems/meego/qmeegopixmapdata.h       |  46 +++++
 18 files changed, 738 insertions(+), 738 deletions(-)
 create mode 100644 src/plugins/graphicssystems/meego/meego.pro
 delete mode 100644 src/plugins/graphicssystems/meego/meegographicssystem.pro
 delete mode 100644 src/plugins/graphicssystems/meego/mextensions.cpp
 delete mode 100644 src/plugins/graphicssystems/meego/mextensions.h
 delete mode 100644 src/plugins/graphicssystems/meego/mgraphicssystem.cpp
 delete mode 100644 src/plugins/graphicssystems/meego/mgraphicssystem.h
 delete mode 100644 src/plugins/graphicssystems/meego/mgraphicssystemplugin.cpp
 delete mode 100644 src/plugins/graphicssystems/meego/mgraphicssystemplugin.h
 delete mode 100644 src/plugins/graphicssystems/meego/mpixmapdata.cpp
 delete mode 100644 src/plugins/graphicssystems/meego/mpixmapdata.h
 create mode 100644 src/plugins/graphicssystems/meego/qmeegoextensions.cpp
 create mode 100644 src/plugins/graphicssystems/meego/qmeegoextensions.h
 create mode 100644 src/plugins/graphicssystems/meego/qmeegographicssystem.cpp
 create mode 100644 src/plugins/graphicssystems/meego/qmeegographicssystem.h
 create mode 100644 src/plugins/graphicssystems/meego/qmeegographicssystemplugin.cpp
 create mode 100644 src/plugins/graphicssystems/meego/qmeegographicssystemplugin.h
 create mode 100644 src/plugins/graphicssystems/meego/qmeegopixmapdata.cpp
 create mode 100644 src/plugins/graphicssystems/meego/qmeegopixmapdata.h

diff --git a/src/plugins/graphicssystems/meego/meego.pro b/src/plugins/graphicssystems/meego/meego.pro
new file mode 100644
index 0000000..80a974e
--- /dev/null
+++ b/src/plugins/graphicssystems/meego/meego.pro
@@ -0,0 +1,12 @@
+TEMPLATE = lib
+QT += gui opengl
+INCLUDEPATH += '../'
+HEADERS = mgraphicssystem.h mpixmapdata.h mextensions.h
+SOURCES = mgraphicssystem.cpp mgraphicssystem.h mgraphicssystemplugin.h mgraphicssystemplugin.cpp mpixmapdata.h mpixmapdata.cpp mextensions.h mextensions.cpp
+CONFIG += GLESv2 EGL X11 debug plugin
+LIBS += -lGLESv2
+TARGET = meegographicssystem
+
+target.path = $$[QT_INSTALL_PLUGINS]/graphicssystems
+
+INSTALLS += target 
diff --git a/src/plugins/graphicssystems/meego/meegographicssystem.pro b/src/plugins/graphicssystems/meego/meegographicssystem.pro
deleted file mode 100644
index 80a974e..0000000
--- a/src/plugins/graphicssystems/meego/meegographicssystem.pro
+++ /dev/null
@@ -1,12 +0,0 @@
-TEMPLATE = lib
-QT += gui opengl
-INCLUDEPATH += '../'
-HEADERS = mgraphicssystem.h mpixmapdata.h mextensions.h
-SOURCES = mgraphicssystem.cpp mgraphicssystem.h mgraphicssystemplugin.h mgraphicssystemplugin.cpp mpixmapdata.h mpixmapdata.cpp mextensions.h mextensions.cpp
-CONFIG += GLESv2 EGL X11 debug plugin
-LIBS += -lGLESv2
-TARGET = meegographicssystem
-
-target.path = $$[QT_INSTALL_PLUGINS]/graphicssystems
-
-INSTALLS += target 
diff --git a/src/plugins/graphicssystems/meego/mextensions.cpp b/src/plugins/graphicssystems/meego/mextensions.cpp
deleted file mode 100644
index 814532f..0000000
--- a/src/plugins/graphicssystems/meego/mextensions.cpp
+++ /dev/null
@@ -1,102 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation
-**
-** This library is free software; you can redistribute it and/or
-** modify it under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation
-** and appearing in the file LICENSE.LGPL included in the packaging
-** of this file.
-**
-****************************************************************************/
-
-#include "mextensions.h"
-#include "../private/qeglcontext_p.h"
-#include "../private/qpixmapdata_gl_p.h"
-
-bool MExtensions::initialized = false;
-bool MExtensions::hasImageShared = false;
-bool MExtensions::hasSurfaceScaling = false;
-
-/* Extension funcs */
-
-typedef EGLBoolean (EGLAPIENTRY *eglQueryImageNOKFunc)(EGLDisplay, EGLImageKHR, EGLint, EGLint*);
-typedef EGLNativeSharedImageTypeNOK (EGLAPIENTRY *eglCreateSharedImageNOKFunc)(EGLDisplay, EGLImageKHR, EGLint*);
-typedef EGLBoolean (EGLAPIENTRY *eglDestroySharedImageNOKFunc)(EGLDisplay, EGLNativeSharedImageTypeNOK);
-typedef EGLBoolean (EGLAPIENTRY *eglSetSurfaceScalingNOKFunc)(EGLDisplay, EGLSurface, EGLint, EGLint, EGLint, EGLint);
-
-static eglQueryImageNOKFunc _eglQueryImageNOK = 0;
-static eglCreateSharedImageNOKFunc _eglCreateSharedImageNOK = 0;
-static eglDestroySharedImageNOKFunc _eglDestroySharedImageNOK = 0;
-static eglSetSurfaceScalingNOKFunc _eglSetSurfaceScalingNOK = 0;
-
-/* Public */
-
-void MExtensions::ensureInitialized()
-{
-    if (!initialized)
-        initialize();
-
-    initialized = true;
-}
-
-EGLNativeSharedImageTypeNOK MExtensions::eglCreateSharedImageNOK(EGLDisplay dpy, EGLImageKHR image, EGLint *props)
-{
-    if (! hasImageShared)
-        qFatal("EGL_NOK_image_shared not found but trying to use capability!");
-        
-    return _eglCreateSharedImageNOK(dpy, image, props);
-}
-
-bool MExtensions::eglQueryImageNOK(EGLDisplay dpy, EGLImageKHR image, EGLint prop, EGLint *v)
-{
-    if (! hasImageShared)
-        qFatal("EGL_NOK_image_shared not found but trying to use capability!");
-
-    return _eglQueryImageNOK(dpy, image, prop, v);
-}
-
-bool MExtensions::eglDestroySharedImageNOK(EGLDisplay dpy, EGLNativeSharedImageTypeNOK img)
-{
-    if (! hasImageShared)
-        qFatal("EGL_NOK_image_shared not found but trying to use capability!");
-
-    return _eglDestroySharedImageNOK(dpy, img);
-}
-
-bool MExtensions::eglSetSurfaceScalingNOK(EGLDisplay dpy, EGLSurface surface, int x, int y, int width, int height)
-{
-    if (! hasSurfaceScaling)
-        qFatal("EGL_NOK_surface_scaling not found but trying to use capability!");
-
-   return _eglSetSurfaceScalingNOK(dpy, surface, x, y, width, height);
-}
-
-/* Private */
-
-void MExtensions::initialize()
-{
-    QGLContext *ctx = (QGLContext *) QGLContext::currentContext();
-    qt_resolve_eglimage_gl_extensions(ctx);
-    
-    if (QEgl::hasExtension("EGL_NOK_image_shared")) {
-        qDebug("MeegoGraphics: found EGL_NOK_image_shared");
-        _eglQueryImageNOK = (eglQueryImageNOKFunc) eglGetProcAddress("eglQueryImageNOK");
-        _eglCreateSharedImageNOK = (eglCreateSharedImageNOKFunc) eglGetProcAddress("eglCreateSharedImageNOK");
-        _eglDestroySharedImageNOK = (eglDestroySharedImageNOKFunc) eglGetProcAddress("eglDestroySharedImageNOK");
-        
-        Q_ASSERT(_eglQueryImageNOK && _eglCreateSharedImageNOK && _eglDestroySharedImageNOK);
-        hasImageShared = true;
-    }
-    
-    if (QEgl::hasExtension("EGL_NOK_surface_scaling")) {
-        qDebug("MeegoGraphics: found EGL_NOK_surface_scaling");
-        _eglSetSurfaceScalingNOK = (eglSetSurfaceScalingNOKFunc) eglGetProcAddress("eglSetSurfaceScalingNOK");
-        
-        Q_ASSERT(_eglSetSurfaceScalingNOK);
-        hasSurfaceScaling = true;
-    }
-}
-
diff --git a/src/plugins/graphicssystems/meego/mextensions.h b/src/plugins/graphicssystems/meego/mextensions.h
deleted file mode 100644
index 9506c50..0000000
--- a/src/plugins/graphicssystems/meego/mextensions.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation
-**
-** This library is free software; you can redistribute it and/or
-** modify it under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation
-** and appearing in the file LICENSE.LGPL included in the packaging
-** of this file.
-**
-****************************************************************************/
-
-#ifndef MEXTENSIONS_H
-#define MEXTENSIONS_H
-
-#include <EGL/egl.h>
-#include <EGL/eglext.h>
-#include <GLES2/gl2.h>
-#include <GLES2/gl2ext.h>
-#include "../private/qgl_p.h"
-#include "../private/qeglcontext_p.h"
-#include "../private/qpixmapdata_gl_p.h"
-
-/* Extensions decls */
-
-#ifndef EGL_SHARED_IMAGE_NOK
-#define EGL_SHARED_IMAGE_NOK 0x30DA
-typedef void* EGLNativeSharedImageTypeNOK;
-#endif
-
-#ifndef EGL_GL_TEXTURE_2D_KHR
-#define EGL_GL_TEXTURE_2D_KHR 0x30B1
-#endif
-
-#ifndef EGL_FIXED_WIDTH_NOK
-#define EGL_FIXED_WIDTH_NOK 0x30DB
-#define EGL_FIXED_HEIGHT_NOK 0x30DC
-#endif
-
-/* Class */
-
-class MExtensions 
-{
-public:
-    static void ensureInitialized();
-
-    static EGLNativeSharedImageTypeNOK eglCreateSharedImageNOK(EGLDisplay dpy, EGLImageKHR image, EGLint *props);
-    static bool eglQueryImageNOK(EGLDisplay dpy, EGLImageKHR image, EGLint prop, EGLint *v);
-    static bool eglDestroySharedImageNOK(EGLDisplay dpy, EGLNativeSharedImageTypeNOK img);
-    static bool eglSetSurfaceScalingNOK(EGLDisplay dpy, EGLSurface surface, int x, int y, int width, int height);
-
-private:
-    static void initialize();
-
-    static bool initialized;
-    static bool hasImageShared;
-    static bool hasSurfaceScaling;
-};
-
-#endif
diff --git a/src/plugins/graphicssystems/meego/mgraphicssystem.cpp b/src/plugins/graphicssystems/meego/mgraphicssystem.cpp
deleted file mode 100644
index e4a8210..0000000
--- a/src/plugins/graphicssystems/meego/mgraphicssystem.cpp
+++ /dev/null
@@ -1,221 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation
-**
-** This library is free software; you can redistribute it and/or
-** modify it under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation
-** and appearing in the file LICENSE.LGPL included in the packaging
-** of this file.
-**
-****************************************************************************/
-
-#include <QDebug>
-#include "../private/qpixmap_raster_p.h"
-#include "../private/qwindowsurface_gl_p.h"
-#include "../private/qegl_p.h"
-#include "../private/qglextensions_p.h"
-#include "../private/qgl_p.h"
-#include "../private/qimagepixmapcleanuphooks_p.h"
-#include "../private/qapplication_p.h"
-#include "../private/qgraphicssystem_runtime_p.h"
-#include "../private/qimage_p.h"
-#include "../private/qeglproperties_p.h"
-#include "../private/qeglcontext_p.h"
-
-#include "mpixmapdata.h"
-#include "mgraphicssystem.h"
-#include "mextensions.h"
-
-bool MGraphicsSystem::surfaceWasCreated = false;
-
-MGraphicsSystem::MGraphicsSystem()
-{
-    qDebug("Using the meego graphics system");
-}
-
-MGraphicsSystem::~MGraphicsSystem()
-{
-    qDebug("Meego graphics system destroyed");
-    qt_destroy_gl_share_widget();
-}
-
-QWindowSurface* MGraphicsSystem::createWindowSurface(QWidget *widget) const
-{
-    MGraphicsSystem::surfaceWasCreated = true;
-    QWindowSurface *surface = new QGLWindowSurface(widget);
-    surface->window()->setAttribute(Qt::WA_NoSystemBackground);
-    return surface;
-}
-
-QPixmapData *MGraphicsSystem::createPixmapData(QPixmapData::PixelType type) const
-{
-    // Long story short: without this it's possible to hit an 
-    // unitialized paintDevice due to a Qt bug too complex to even 
-    // explain here... not to mention fix without going crazy. 
-    // MDK
-    QGLShareContextScope ctx(qt_gl_share_widget()->context());
- 
-    return new QRasterPixmapData(type);
-}
-
-QPixmapData *MGraphicsSystem::createPixmapData(QPixmapData *origin)
-{
-    // If the pixmap is a raster type...
-    // and if the pixmap pointer matches our mapping...
-    // create a shared image instead with the given handle.
-
-    if (origin->classId() == QPixmapData::RasterClass) {
-        QRasterPixmapData *rasterClass = static_cast <QRasterPixmapData *> (origin);
-        void *rawResource = static_cast <void *> (rasterClass->buffer()->data_ptr()->data);
-
-        if (MPixmapData::sharedImagesMap.contains(rawResource))
-            return new MPixmapData();
-    } 
-        
-    return new QRasterPixmapData(origin->pixelType());
-}
-
-QPixmapData* MGraphicsSystem::wrapPixmapData(QPixmapData *pmd)
-{
-    QString name = QApplicationPrivate::instance()->graphics_system_name;
-    if (name == "runtime") {
-        QRuntimeGraphicsSystem *rsystem = (QRuntimeGraphicsSystem *) QApplicationPrivate::instance()->graphics_system;
-        QRuntimePixmapData *rt = new QRuntimePixmapData(rsystem, pmd->pixelType());;
-        rt->m_data = pmd;
-        rt->readBackInfo();
-        rsystem->m_pixmapDatas << rt;
-        return rt;
-    } else
-        return pmd;
-}
-
-void MGraphicsSystem::setSurfaceFixedSize(int /*width*/, int /*height*/)
-{
-    if (MGraphicsSystem::surfaceWasCreated)
-        qWarning("Trying to set surface fixed size but surface already created!");
-
-#ifdef QT_WAS_PATCHED
-    QEglProperties *properties = new QEglProperties();
-    properties->setValue(EGL_FIXED_WIDTH_NOK, width);
-    properties->setValue(EGL_FIXED_HEIGHT_NOK, height);
-    QGLContextPrivate::setExtraWindowSurfaceCreationProps(properties);
-#endif
-}
-
-void MGraphicsSystem::setSurfaceScaling(int x, int y, int width, int height)
-{
-    MExtensions::ensureInitialized();
-    MExtensions::eglSetSurfaceScalingNOK(QEgl::display(), QEglContext::currentContext(QEgl::OpenGL)->currentSurface, x, y, width, height);
-}
-
-void MGraphicsSystem::setTranslucent(bool translucent)
-{
-    QGLWindowSurface::surfaceFormat.setSampleBuffers(false);
-    QGLWindowSurface::surfaceFormat.setSamples(0);
-    QGLWindowSurface::surfaceFormat.setAlpha(translucent);
-}
-
-QPixmapData *MGraphicsSystem::pixmapDataFromEGLSharedImage(Qt::HANDLE handle, const QImage &softImage)
-{
-    if (softImage.format() != QImage::Format_ARGB32_Premultiplied &&
-        softImage.format() != QImage::Format_ARGB32) {
-        qFatal("For egl shared images, the soft image has to be ARGB32 or ARGB32_Premultiplied");
-        return NULL;
-    }
-    
-    if (MGraphicsSystem::meegoRunning()) {
-        MPixmapData *pmd = new MPixmapData;
-        pmd->fromEGLSharedImage(handle, softImage);
-        return MGraphicsSystem::wrapPixmapData(pmd);
-    } else {
-        QRasterPixmapData *pmd = new QRasterPixmapData(QPixmapData::PixmapType);
-        pmd->fromImage(softImage, Qt::NoOpaqueDetection);
-
-        // Make sure that the image was not converted in any way
-        if (pmd->buffer()->data_ptr()->data !=
-            const_cast<QImage &>(softImage).data_ptr()->data)
-            qFatal("Iternal misalignment of raster data detected. Prolly a QImage copy fail.");
-
-        MPixmapData::registerSharedImage(handle, softImage);
-        return MGraphicsSystem::wrapPixmapData(pmd);
-    }
-}
-
-void MGraphicsSystem::updateEGLSharedImagePixmap(QPixmap *pixmap)
-{
-    MPixmapData *pmd = (MPixmapData *) pixmap->pixmapData();
-    
-    // Basic sanity check to make sure this is really a MPixmapData...
-    if (pmd->classId() != QPixmapData::OpenGLClass) 
-        qFatal("Trying to updated EGLSharedImage pixmap but it's not really a shared image pixmap!");
-
-    pmd->updateFromSoftImage();
-}
-
-QPixmapData *MGraphicsSystem::pixmapDataWithGLTexture(int w, int h)
-{
-    QGLPixmapData *pmd = new QGLPixmapData(QPixmapData::PixmapType);
-    pmd->resize(w, h);
-    return MGraphicsSystem::wrapPixmapData(pmd);
-}
-
-bool MGraphicsSystem::meegoRunning()
-{
-    if (! QApplicationPrivate::instance()) {
-        qWarning("Application not running just yet... hard to know what system running!");
-        return false;
-    }
-
-    QString name = QApplicationPrivate::instance()->graphics_system_name;
-    if (name == "runtime") {
-        QRuntimeGraphicsSystem *rsystem = (QRuntimeGraphicsSystem *) QApplicationPrivate::instance()->graphics_system;
-        name = rsystem->graphicsSystemName();
-    }
-
-    return (name == "meego");
-}
-
-/* C API */
-
-int m_image_to_egl_shared_image(const QImage &image)
-{
-    return MPixmapData::imageToEGLSharedImage(image);
-}
-
-QPixmapData* m_pixmapdata_from_egl_shared_image(Qt::HANDLE handle, const QImage &softImage)
-{
-    return MGraphicsSystem::pixmapDataFromEGLSharedImage(handle, softImage);
-}
-
-QPixmapData* m_pixmapdata_with_gl_texture(int w, int h)
-{
-    return MGraphicsSystem::pixmapDataWithGLTexture(w, h);
-}
-
-bool m_destroy_egl_shared_image(Qt::HANDLE handle)
-{
-    return MPixmapData::destroyEGLSharedImage(handle);
-}
-
-void m_set_surface_fixed_size(int width, int height)
-{
-    MGraphicsSystem::setSurfaceFixedSize(width, height);
-}
-
-void m_set_surface_scaling(int x, int y, int width, int height)
-{
-    MGraphicsSystem::setSurfaceScaling(x, y, width, height);
-}
-
-void m_set_translucent(bool translucent)
-{
-    MGraphicsSystem::setTranslucent(translucent);
-}
-
-void m_update_egl_shared_image_pixmap(QPixmap *pixmap)
-{
-    MGraphicsSystem::updateEGLSharedImagePixmap(pixmap);
-}
diff --git a/src/plugins/graphicssystems/meego/mgraphicssystem.h b/src/plugins/graphicssystems/meego/mgraphicssystem.h
deleted file mode 100644
index c95d7ae..0000000
--- a/src/plugins/graphicssystems/meego/mgraphicssystem.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation
-**
-** This library is free software; you can redistribute it and/or
-** modify it under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation
-** and appearing in the file LICENSE.LGPL included in the packaging
-** of this file.
-**
-****************************************************************************/
-
-#ifndef MGRAPHICSSYSTEM_H
-#define MGRAPHICSSYSTEM_H
-
-#include "../private/qgraphicssystem_p.h"
-
-class MGraphicsSystem : public QGraphicsSystem
-{
-public:
-    MGraphicsSystem();
-    ~MGraphicsSystem();
-    
-    virtual QWindowSurface *createWindowSurface(QWidget *widget) const;
-    virtual QPixmapData *createPixmapData(QPixmapData::PixelType) const;
-    virtual QPixmapData *createPixmapData(QPixmapData *origin);
-
-    static QPixmapData *wrapPixmapData(QPixmapData *pmd);
-    static void setSurfaceFixedSize(int width, int height);
-    static void setSurfaceScaling(int x, int y, int width, int height);
-    static void setTranslucent(bool translucent);
-
-    static QPixmapData *pixmapDataFromEGLSharedImage(Qt::HANDLE handle, const QImage &softImage);
-    static QPixmapData *pixmapDataWithGLTexture(int w, int h);
-    static void updateEGLSharedImagePixmap(QPixmap *pixmap);
-
-private:
-    static bool meegoRunning();
-    
-    static bool surfaceWasCreated;
-};
-
-/* C api */
-
-extern "C" {
-    int m_image_to_egl_shared_image(const QImage &image);
-    QPixmapData* m_pixmapdata_from_egl_shared_image(Qt::HANDLE handle, const QImage &softImage);
-    QPixmapData* m_pixmapdata_with_gl_texture(int w, int h);
-    void m_update_egl_shared_image_pixmap(QPixmap *pixmap);
-    bool m_destroy_egl_shared_image(Qt::HANDLE handle);
-    void m_set_surface_fixed_size(int width, int height);
-    void m_set_surface_scaling(int x, int y, int width, int height);
-    void m_set_translucent(bool translucent);
-}
-
-#endif 
diff --git a/src/plugins/graphicssystems/meego/mgraphicssystemplugin.cpp b/src/plugins/graphicssystems/meego/mgraphicssystemplugin.cpp
deleted file mode 100644
index 3bb7ffb..0000000
--- a/src/plugins/graphicssystems/meego/mgraphicssystemplugin.cpp
+++ /dev/null
@@ -1,31 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation
-**
-** This library is free software; you can redistribute it and/or
-** modify it under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation
-** and appearing in the file LICENSE.LGPL included in the packaging
-** of this file.
-**
-****************************************************************************/
-
-#include <QDebug>
-#include "mgraphicssystemplugin.h"
-#include "mgraphicssystem.h"
-
-QStringList MGraphicsSystemPlugin::keys() const
-{
-    QStringList list;
-    list << "meego";
-    return list;
-}
-
-QGraphicsSystem *MGraphicsSystemPlugin::create(const QString&)
-{
-    return new MGraphicsSystem;
-}
-
-Q_EXPORT_PLUGIN2(meego, MGraphicsSystemPlugin)
diff --git a/src/plugins/graphicssystems/meego/mgraphicssystemplugin.h b/src/plugins/graphicssystems/meego/mgraphicssystemplugin.h
deleted file mode 100644
index 84d4427..0000000
--- a/src/plugins/graphicssystems/meego/mgraphicssystemplugin.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation
-**
-** This library is free software; you can redistribute it and/or
-** modify it under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation
-** and appearing in the file LICENSE.LGPL included in the packaging
-** of this file.
-**
-****************************************************************************/
-
-#ifndef MGRAPHICSSYSTEMPLUGIN_H
-#define MGRAPHICSSYSTEMPLUGIN_H
-
-#include "../private/qgraphicssystemplugin_p.h"
-
-class MGraphicsSystemPlugin : public QGraphicsSystemPlugin
-{
-public:
-    virtual QStringList keys() const;
-    virtual QGraphicsSystem *create(const QString&);
-};
-
-#endif
diff --git a/src/plugins/graphicssystems/meego/mpixmapdata.cpp b/src/plugins/graphicssystems/meego/mpixmapdata.cpp
deleted file mode 100644
index b17adf3..0000000
--- a/src/plugins/graphicssystems/meego/mpixmapdata.cpp
+++ /dev/null
@@ -1,179 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation
-**
-** This library is free software; you can redistribute it and/or
-** modify it under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation
-** and appearing in the file LICENSE.LGPL included in the packaging
-** of this file.
-**
-****************************************************************************/
-
-#include "mpixmapdata.h"
-#include "mextensions.h"
-#include "../private/qimage_p.h"
-#include "../private/qwindowsurface_gl_p.h"
-#include "../private/qeglcontext_p.h"
-#include "../private/qapplication_p.h"
-#include "../private/qgraphicssystem_runtime_p.h"
-
-static EGLint preserved_image_attribs[] = { EGL_IMAGE_PRESERVED_KHR, EGL_TRUE, EGL_NONE };
-
-QHash <void*, MImageInfo*> MPixmapData::sharedImagesMap;
-
-/* Public */
-
-MPixmapData::MPixmapData() : QGLPixmapData(QPixmapData::PixmapType)
-{
-}
-
-void MPixmapData::fromTexture(GLuint textureId, int w, int h, bool alpha)
-{
-    resize(w, h); 
-    texture()->id = textureId;
-    m_hasAlpha = alpha;
-    softImage = QImage();
-}
-
-QImage MPixmapData::toImage() const
-{
-    return softImage;
-}
-
-void MPixmapData::fromImage(const QImage &image,
-                            Qt::ImageConversionFlags flags)
-{
-    void *rawResource = static_cast <void *> (((QImage &) image).data_ptr()->data);
-
-    if (sharedImagesMap.contains(rawResource)) {
-        MImageInfo *info = sharedImagesMap.value(rawResource);
-        fromEGLSharedImage(info->handle, image);
-    } else {
-        // This should *never* happen since the graphics system should never
-        // create a MPixmapData for an origin that doesn't contain a raster
-        // image we know about. But...
-        qWarning("MPixmapData::fromImage called on non-know resource. Falling back...");
-        QGLPixmapData::fromImage(image, flags);
-    }
-}
-
-void MPixmapData::fromEGLSharedImage(Qt::HANDLE handle, const QImage &si)
-{
-    if (si.isNull())
-        qFatal("Trying to build pixmap with an empty/null softimage!");
-        
-    QGLShareContextScope ctx(qt_gl_share_widget()->context());
-   
-    MExtensions::ensureInitialized();
- 
-    bool textureIsBound = false;
-    GLuint newTextureId;
-    GLint newWidth, newHeight;
-
-    glGenTextures(1, &newTextureId);
-    glBindTexture(GL_TEXTURE_2D, newTextureId);
-    
-    glFinish();
-    EGLImageKHR image = QEgl::eglCreateImageKHR(QEgl::display(), EGL_NO_CONTEXT, EGL_SHARED_IMAGE_NOK,
-                                                (EGLClientBuffer)handle, preserved_image_attribs);
-
-    if (image != EGL_NO_IMAGE_KHR) {
-        glFinish();
-        glEGLImageTargetTexture2DOES(GL_TEXTURE_2D, image);
-        GLint err = glGetError();
-        if (err == GL_NO_ERROR)
-            textureIsBound = true;
-        
-        MExtensions::eglQueryImageNOK(QEgl::display(), image, EGL_WIDTH, &newWidth);
-        MExtensions::eglQueryImageNOK(QEgl::display(), image, EGL_HEIGHT, &newHeight);
-          
-        QEgl::eglDestroyImageKHR(QEgl::display(), image);
-        glFinish();
-    }
-        
-    if (textureIsBound) {
-        // FIXME Remove this ugly hasAlphaChannel check when Qt lands the NoOpaqueCheck flag fix
-        // for QGLPixmapData.
-        fromTexture(newTextureId, newWidth, newHeight, 
-                    (si.hasAlphaChannel() && const_cast<QImage &>(si).data_ptr()->checkForAlphaPixels()));
-        softImage = si;
-        MPixmapData::registerSharedImage(handle, softImage);
-    } else {
-        qWarning("Failed to create a texture from a shared image!");
-        glDeleteTextures(1, &newTextureId);
-    }
-}
-
-Qt::HANDLE MPixmapData::imageToEGLSharedImage(const QImage &image)
-{
-    QGLShareContextScope ctx(qt_gl_share_widget()->context());
-
-    MExtensions::ensureInitialized();
-
-    glFinish();
-    QGLPixmapData pixmapData(QPixmapData::PixmapType);
-    pixmapData.fromImage(image, 0);
-    GLuint textureId = pixmapData.bind();
-
-    glFinish();
-    EGLImageKHR eglimage = QEgl::eglCreateImageKHR(QEgl::display(), QEglContext::currentContext(QEgl::OpenGL)->context(),
-                                                                                                EGL_GL_TEXTURE_2D_KHR,
-                                                                                                (EGLClientBuffer) textureId,
-                                                                                                preserved_image_attribs);
-    glFinish();
-
-    if (eglimage) {
-        EGLNativeSharedImageTypeNOK handle = MExtensions::eglCreateSharedImageNOK(QEgl::display(), eglimage, NULL);
-        QEgl::eglDestroyImageKHR(QEgl::display(), eglimage);
-        glFinish();
-        return (Qt::HANDLE) handle;
-    } else {
-        qWarning("Failed to create shared image from pixmap/texture!");
-        return 0;
-    }
-}
-
-void MPixmapData::updateFromSoftImage()
-{
-    m_dirty = true;
-    m_source = softImage;
-    ensureCreated();
-    
-    if (softImage.width() != w || softImage.height() != h)
-        qWarning("Ooops, looks like softImage changed dimensions since last updated! Corruption ahead?!");
-}
-
-bool MPixmapData::destroyEGLSharedImage(Qt::HANDLE h)
-{
-    QGLShareContextScope ctx(qt_gl_share_widget()->context());   
-    MExtensions::ensureInitialized();
-
-    QMutableHashIterator <void*, MImageInfo*> i(sharedImagesMap);
-    while (i.hasNext()) {
-        i.next();
-        if (i.value()->handle == h)
-            i.remove();
-    }
-
-    return MExtensions::eglDestroySharedImageNOK(QEgl::display(), (EGLNativeSharedImageTypeNOK) h);
-}
-
-void MPixmapData::registerSharedImage(Qt::HANDLE handle, const QImage &si)
-{
-    void *raw = static_cast <void *> (((QImage) si).data_ptr()->data);
-    MImageInfo *info;
-    
-    if (! sharedImagesMap.contains(raw)) {
-        info = new MImageInfo;
-        info->handle = handle;
-        info->rawFormat = si.format();
-        sharedImagesMap.insert(raw, info);
-    } else {
-        info = sharedImagesMap.value(raw);
-        if (info->handle != handle || info->rawFormat != si.format())
-            qWarning("Inconsistency detected: overwriting entry in sharedImagesMap but handle/format different");
-    }
-}
diff --git a/src/plugins/graphicssystems/meego/mpixmapdata.h b/src/plugins/graphicssystems/meego/mpixmapdata.h
deleted file mode 100644
index ae4ed6b..0000000
--- a/src/plugins/graphicssystems/meego/mpixmapdata.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation
-**
-** This library is free software; you can redistribute it and/or
-** modify it under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation
-** and appearing in the file LICENSE.LGPL included in the packaging
-** of this file.
-**
-****************************************************************************/
-
-#ifndef MPIXMAPDATA_H
-#define MPIXMAPDATA_H
-
-#include "../private/qpixmapdata_gl_p.h"
-
-struct MImageInfo
-{
-    Qt::HANDLE handle;
-    QImage::Format rawFormat;
-};
-
-class MPixmapData : public QGLPixmapData
-{
-public:
-    MPixmapData();
-    void fromTexture(GLuint textureId, int w, int h, bool alpha);
-
-    virtual void fromEGLSharedImage(Qt::HANDLE handle, const QImage &softImage);
-    virtual void fromImage (const QImage &image, Qt::ImageConversionFlags flags);
-    virtual QImage toImage() const;
-    virtual void updateFromSoftImage();
-
-    QImage softImage;
-    
-    static QHash <void*, MImageInfo*> sharedImagesMap;
-    
-    static Qt::HANDLE imageToEGLSharedImage(const QImage &image);
-    static bool destroyEGLSharedImage(Qt::HANDLE h);
-    static void registerSharedImage(Qt::HANDLE handle, const QImage &si);
-};
-
-#endif
diff --git a/src/plugins/graphicssystems/meego/qmeegoextensions.cpp b/src/plugins/graphicssystems/meego/qmeegoextensions.cpp
new file mode 100644
index 0000000..814532f
--- /dev/null
+++ b/src/plugins/graphicssystems/meego/qmeegoextensions.cpp
@@ -0,0 +1,102 @@
+/***************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation
+**
+** This library is free software; you can redistribute it and/or
+** modify it under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation
+** and appearing in the file LICENSE.LGPL included in the packaging
+** of this file.
+**
+****************************************************************************/
+
+#include "mextensions.h"
+#include "../private/qeglcontext_p.h"
+#include "../private/qpixmapdata_gl_p.h"
+
+bool MExtensions::initialized = false;
+bool MExtensions::hasImageShared = false;
+bool MExtensions::hasSurfaceScaling = false;
+
+/* Extension funcs */
+
+typedef EGLBoolean (EGLAPIENTRY *eglQueryImageNOKFunc)(EGLDisplay, EGLImageKHR, EGLint, EGLint*);
+typedef EGLNativeSharedImageTypeNOK (EGLAPIENTRY *eglCreateSharedImageNOKFunc)(EGLDisplay, EGLImageKHR, EGLint*);
+typedef EGLBoolean (EGLAPIENTRY *eglDestroySharedImageNOKFunc)(EGLDisplay, EGLNativeSharedImageTypeNOK);
+typedef EGLBoolean (EGLAPIENTRY *eglSetSurfaceScalingNOKFunc)(EGLDisplay, EGLSurface, EGLint, EGLint, EGLint, EGLint);
+
+static eglQueryImageNOKFunc _eglQueryImageNOK = 0;
+static eglCreateSharedImageNOKFunc _eglCreateSharedImageNOK = 0;
+static eglDestroySharedImageNOKFunc _eglDestroySharedImageNOK = 0;
+static eglSetSurfaceScalingNOKFunc _eglSetSurfaceScalingNOK = 0;
+
+/* Public */
+
+void MExtensions::ensureInitialized()
+{
+    if (!initialized)
+        initialize();
+
+    initialized = true;
+}
+
+EGLNativeSharedImageTypeNOK MExtensions::eglCreateSharedImageNOK(EGLDisplay dpy, EGLImageKHR image, EGLint *props)
+{
+    if (! hasImageShared)
+        qFatal("EGL_NOK_image_shared not found but trying to use capability!");
+        
+    return _eglCreateSharedImageNOK(dpy, image, props);
+}
+
+bool MExtensions::eglQueryImageNOK(EGLDisplay dpy, EGLImageKHR image, EGLint prop, EGLint *v)
+{
+    if (! hasImageShared)
+        qFatal("EGL_NOK_image_shared not found but trying to use capability!");
+
+    return _eglQueryImageNOK(dpy, image, prop, v);
+}
+
+bool MExtensions::eglDestroySharedImageNOK(EGLDisplay dpy, EGLNativeSharedImageTypeNOK img)
+{
+    if (! hasImageShared)
+        qFatal("EGL_NOK_image_shared not found but trying to use capability!");
+
+    return _eglDestroySharedImageNOK(dpy, img);
+}
+
+bool MExtensions::eglSetSurfaceScalingNOK(EGLDisplay dpy, EGLSurface surface, int x, int y, int width, int height)
+{
+    if (! hasSurfaceScaling)
+        qFatal("EGL_NOK_surface_scaling not found but trying to use capability!");
+
+   return _eglSetSurfaceScalingNOK(dpy, surface, x, y, width, height);
+}
+
+/* Private */
+
+void MExtensions::initialize()
+{
+    QGLContext *ctx = (QGLContext *) QGLContext::currentContext();
+    qt_resolve_eglimage_gl_extensions(ctx);
+    
+    if (QEgl::hasExtension("EGL_NOK_image_shared")) {
+        qDebug("MeegoGraphics: found EGL_NOK_image_shared");
+        _eglQueryImageNOK = (eglQueryImageNOKFunc) eglGetProcAddress("eglQueryImageNOK");
+        _eglCreateSharedImageNOK = (eglCreateSharedImageNOKFunc) eglGetProcAddress("eglCreateSharedImageNOK");
+        _eglDestroySharedImageNOK = (eglDestroySharedImageNOKFunc) eglGetProcAddress("eglDestroySharedImageNOK");
+        
+        Q_ASSERT(_eglQueryImageNOK && _eglCreateSharedImageNOK && _eglDestroySharedImageNOK);
+        hasImageShared = true;
+    }
+    
+    if (QEgl::hasExtension("EGL_NOK_surface_scaling")) {
+        qDebug("MeegoGraphics: found EGL_NOK_surface_scaling");
+        _eglSetSurfaceScalingNOK = (eglSetSurfaceScalingNOKFunc) eglGetProcAddress("eglSetSurfaceScalingNOK");
+        
+        Q_ASSERT(_eglSetSurfaceScalingNOK);
+        hasSurfaceScaling = true;
+    }
+}
+
diff --git a/src/plugins/graphicssystems/meego/qmeegoextensions.h b/src/plugins/graphicssystems/meego/qmeegoextensions.h
new file mode 100644
index 0000000..9506c50
--- /dev/null
+++ b/src/plugins/graphicssystems/meego/qmeegoextensions.h
@@ -0,0 +1,62 @@
+/***************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation
+**
+** This library is free software; you can redistribute it and/or
+** modify it under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation
+** and appearing in the file LICENSE.LGPL included in the packaging
+** of this file.
+**
+****************************************************************************/
+
+#ifndef MEXTENSIONS_H
+#define MEXTENSIONS_H
+
+#include <EGL/egl.h>
+#include <EGL/eglext.h>
+#include <GLES2/gl2.h>
+#include <GLES2/gl2ext.h>
+#include "../private/qgl_p.h"
+#include "../private/qeglcontext_p.h"
+#include "../private/qpixmapdata_gl_p.h"
+
+/* Extensions decls */
+
+#ifndef EGL_SHARED_IMAGE_NOK
+#define EGL_SHARED_IMAGE_NOK 0x30DA
+typedef void* EGLNativeSharedImageTypeNOK;
+#endif
+
+#ifndef EGL_GL_TEXTURE_2D_KHR
+#define EGL_GL_TEXTURE_2D_KHR 0x30B1
+#endif
+
+#ifndef EGL_FIXED_WIDTH_NOK
+#define EGL_FIXED_WIDTH_NOK 0x30DB
+#define EGL_FIXED_HEIGHT_NOK 0x30DC
+#endif
+
+/* Class */
+
+class MExtensions 
+{
+public:
+    static void ensureInitialized();
+
+    static EGLNativeSharedImageTypeNOK eglCreateSharedImageNOK(EGLDisplay dpy, EGLImageKHR image, EGLint *props);
+    static bool eglQueryImageNOK(EGLDisplay dpy, EGLImageKHR image, EGLint prop, EGLint *v);
+    static bool eglDestroySharedImageNOK(EGLDisplay dpy, EGLNativeSharedImageTypeNOK img);
+    static bool eglSetSurfaceScalingNOK(EGLDisplay dpy, EGLSurface surface, int x, int y, int width, int height);
+
+private:
+    static void initialize();
+
+    static bool initialized;
+    static bool hasImageShared;
+    static bool hasSurfaceScaling;
+};
+
+#endif
diff --git a/src/plugins/graphicssystems/meego/qmeegographicssystem.cpp b/src/plugins/graphicssystems/meego/qmeegographicssystem.cpp
new file mode 100644
index 0000000..e4a8210
--- /dev/null
+++ b/src/plugins/graphicssystems/meego/qmeegographicssystem.cpp
@@ -0,0 +1,221 @@
+/***************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation
+**
+** This library is free software; you can redistribute it and/or
+** modify it under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation
+** and appearing in the file LICENSE.LGPL included in the packaging
+** of this file.
+**
+****************************************************************************/
+
+#include <QDebug>
+#include "../private/qpixmap_raster_p.h"
+#include "../private/qwindowsurface_gl_p.h"
+#include "../private/qegl_p.h"
+#include "../private/qglextensions_p.h"
+#include "../private/qgl_p.h"
+#include "../private/qimagepixmapcleanuphooks_p.h"
+#include "../private/qapplication_p.h"
+#include "../private/qgraphicssystem_runtime_p.h"
+#include "../private/qimage_p.h"
+#include "../private/qeglproperties_p.h"
+#include "../private/qeglcontext_p.h"
+
+#include "mpixmapdata.h"
+#include "mgraphicssystem.h"
+#include "mextensions.h"
+
+bool MGraphicsSystem::surfaceWasCreated = false;
+
+MGraphicsSystem::MGraphicsSystem()
+{
+    qDebug("Using the meego graphics system");
+}
+
+MGraphicsSystem::~MGraphicsSystem()
+{
+    qDebug("Meego graphics system destroyed");
+    qt_destroy_gl_share_widget();
+}
+
+QWindowSurface* MGraphicsSystem::createWindowSurface(QWidget *widget) const
+{
+    MGraphicsSystem::surfaceWasCreated = true;
+    QWindowSurface *surface = new QGLWindowSurface(widget);
+    surface->window()->setAttribute(Qt::WA_NoSystemBackground);
+    return surface;
+}
+
+QPixmapData *MGraphicsSystem::createPixmapData(QPixmapData::PixelType type) const
+{
+    // Long story short: without this it's possible to hit an 
+    // unitialized paintDevice due to a Qt bug too complex to even 
+    // explain here... not to mention fix without going crazy. 
+    // MDK
+    QGLShareContextScope ctx(qt_gl_share_widget()->context());
+ 
+    return new QRasterPixmapData(type);
+}
+
+QPixmapData *MGraphicsSystem::createPixmapData(QPixmapData *origin)
+{
+    // If the pixmap is a raster type...
+    // and if the pixmap pointer matches our mapping...
+    // create a shared image instead with the given handle.
+
+    if (origin->classId() == QPixmapData::RasterClass) {
+        QRasterPixmapData *rasterClass = static_cast <QRasterPixmapData *> (origin);
+        void *rawResource = static_cast <void *> (rasterClass->buffer()->data_ptr()->data);
+
+        if (MPixmapData::sharedImagesMap.contains(rawResource))
+            return new MPixmapData();
+    } 
+        
+    return new QRasterPixmapData(origin->pixelType());
+}
+
+QPixmapData* MGraphicsSystem::wrapPixmapData(QPixmapData *pmd)
+{
+    QString name = QApplicationPrivate::instance()->graphics_system_name;
+    if (name == "runtime") {
+        QRuntimeGraphicsSystem *rsystem = (QRuntimeGraphicsSystem *) QApplicationPrivate::instance()->graphics_system;
+        QRuntimePixmapData *rt = new QRuntimePixmapData(rsystem, pmd->pixelType());;
+        rt->m_data = pmd;
+        rt->readBackInfo();
+        rsystem->m_pixmapDatas << rt;
+        return rt;
+    } else
+        return pmd;
+}
+
+void MGraphicsSystem::setSurfaceFixedSize(int /*width*/, int /*height*/)
+{
+    if (MGraphicsSystem::surfaceWasCreated)
+        qWarning("Trying to set surface fixed size but surface already created!");
+
+#ifdef QT_WAS_PATCHED
+    QEglProperties *properties = new QEglProperties();
+    properties->setValue(EGL_FIXED_WIDTH_NOK, width);
+    properties->setValue(EGL_FIXED_HEIGHT_NOK, height);
+    QGLContextPrivate::setExtraWindowSurfaceCreationProps(properties);
+#endif
+}
+
+void MGraphicsSystem::setSurfaceScaling(int x, int y, int width, int height)
+{
+    MExtensions::ensureInitialized();
+    MExtensions::eglSetSurfaceScalingNOK(QEgl::display(), QEglContext::currentContext(QEgl::OpenGL)->currentSurface, x, y, width, height);
+}
+
+void MGraphicsSystem::setTranslucent(bool translucent)
+{
+    QGLWindowSurface::surfaceFormat.setSampleBuffers(false);
+    QGLWindowSurface::surfaceFormat.setSamples(0);
+    QGLWindowSurface::surfaceFormat.setAlpha(translucent);
+}
+
+QPixmapData *MGraphicsSystem::pixmapDataFromEGLSharedImage(Qt::HANDLE handle, const QImage &softImage)
+{
+    if (softImage.format() != QImage::Format_ARGB32_Premultiplied &&
+        softImage.format() != QImage::Format_ARGB32) {
+        qFatal("For egl shared images, the soft image has to be ARGB32 or ARGB32_Premultiplied");
+        return NULL;
+    }
+    
+    if (MGraphicsSystem::meegoRunning()) {
+        MPixmapData *pmd = new MPixmapData;
+        pmd->fromEGLSharedImage(handle, softImage);
+        return MGraphicsSystem::wrapPixmapData(pmd);
+    } else {
+        QRasterPixmapData *pmd = new QRasterPixmapData(QPixmapData::PixmapType);
+        pmd->fromImage(softImage, Qt::NoOpaqueDetection);
+
+        // Make sure that the image was not converted in any way
+        if (pmd->buffer()->data_ptr()->data !=
+            const_cast<QImage &>(softImage).data_ptr()->data)
+            qFatal("Iternal misalignment of raster data detected. Prolly a QImage copy fail.");
+
+        MPixmapData::registerSharedImage(handle, softImage);
+        return MGraphicsSystem::wrapPixmapData(pmd);
+    }
+}
+
+void MGraphicsSystem::updateEGLSharedImagePixmap(QPixmap *pixmap)
+{
+    MPixmapData *pmd = (MPixmapData *) pixmap->pixmapData();
+    
+    // Basic sanity check to make sure this is really a MPixmapData...
+    if (pmd->classId() != QPixmapData::OpenGLClass) 
+        qFatal("Trying to updated EGLSharedImage pixmap but it's not really a shared image pixmap!");
+
+    pmd->updateFromSoftImage();
+}
+
+QPixmapData *MGraphicsSystem::pixmapDataWithGLTexture(int w, int h)
+{
+    QGLPixmapData *pmd = new QGLPixmapData(QPixmapData::PixmapType);
+    pmd->resize(w, h);
+    return MGraphicsSystem::wrapPixmapData(pmd);
+}
+
+bool MGraphicsSystem::meegoRunning()
+{
+    if (! QApplicationPrivate::instance()) {
+        qWarning("Application not running just yet... hard to know what system running!");
+        return false;
+    }
+
+    QString name = QApplicationPrivate::instance()->graphics_system_name;
+    if (name == "runtime") {
+        QRuntimeGraphicsSystem *rsystem = (QRuntimeGraphicsSystem *) QApplicationPrivate::instance()->graphics_system;
+        name = rsystem->graphicsSystemName();
+    }
+
+    return (name == "meego");
+}
+
+/* C API */
+
+int m_image_to_egl_shared_image(const QImage &image)
+{
+    return MPixmapData::imageToEGLSharedImage(image);
+}
+
+QPixmapData* m_pixmapdata_from_egl_shared_image(Qt::HANDLE handle, const QImage &softImage)
+{
+    return MGraphicsSystem::pixmapDataFromEGLSharedImage(handle, softImage);
+}
+
+QPixmapData* m_pixmapdata_with_gl_texture(int w, int h)
+{
+    return MGraphicsSystem::pixmapDataWithGLTexture(w, h);
+}
+
+bool m_destroy_egl_shared_image(Qt::HANDLE handle)
+{
+    return MPixmapData::destroyEGLSharedImage(handle);
+}
+
+void m_set_surface_fixed_size(int width, int height)
+{
+    MGraphicsSystem::setSurfaceFixedSize(width, height);
+}
+
+void m_set_surface_scaling(int x, int y, int width, int height)
+{
+    MGraphicsSystem::setSurfaceScaling(x, y, width, height);
+}
+
+void m_set_translucent(bool translucent)
+{
+    MGraphicsSystem::setTranslucent(translucent);
+}
+
+void m_update_egl_shared_image_pixmap(QPixmap *pixmap)
+{
+    MGraphicsSystem::updateEGLSharedImagePixmap(pixmap);
+}
diff --git a/src/plugins/graphicssystems/meego/qmeegographicssystem.h b/src/plugins/graphicssystems/meego/qmeegographicssystem.h
new file mode 100644
index 0000000..c95d7ae
--- /dev/null
+++ b/src/plugins/graphicssystems/meego/qmeegographicssystem.h
@@ -0,0 +1,58 @@
+/***************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation
+**
+** This library is free software; you can redistribute it and/or
+** modify it under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation
+** and appearing in the file LICENSE.LGPL included in the packaging
+** of this file.
+**
+****************************************************************************/
+
+#ifndef MGRAPHICSSYSTEM_H
+#define MGRAPHICSSYSTEM_H
+
+#include "../private/qgraphicssystem_p.h"
+
+class MGraphicsSystem : public QGraphicsSystem
+{
+public:
+    MGraphicsSystem();
+    ~MGraphicsSystem();
+    
+    virtual QWindowSurface *createWindowSurface(QWidget *widget) const;
+    virtual QPixmapData *createPixmapData(QPixmapData::PixelType) const;
+    virtual QPixmapData *createPixmapData(QPixmapData *origin);
+
+    static QPixmapData *wrapPixmapData(QPixmapData *pmd);
+    static void setSurfaceFixedSize(int width, int height);
+    static void setSurfaceScaling(int x, int y, int width, int height);
+    static void setTranslucent(bool translucent);
+
+    static QPixmapData *pixmapDataFromEGLSharedImage(Qt::HANDLE handle, const QImage &softImage);
+    static QPixmapData *pixmapDataWithGLTexture(int w, int h);
+    static void updateEGLSharedImagePixmap(QPixmap *pixmap);
+
+private:
+    static bool meegoRunning();
+    
+    static bool surfaceWasCreated;
+};
+
+/* C api */
+
+extern "C" {
+    int m_image_to_egl_shared_image(const QImage &image);
+    QPixmapData* m_pixmapdata_from_egl_shared_image(Qt::HANDLE handle, const QImage &softImage);
+    QPixmapData* m_pixmapdata_with_gl_texture(int w, int h);
+    void m_update_egl_shared_image_pixmap(QPixmap *pixmap);
+    bool m_destroy_egl_shared_image(Qt::HANDLE handle);
+    void m_set_surface_fixed_size(int width, int height);
+    void m_set_surface_scaling(int x, int y, int width, int height);
+    void m_set_translucent(bool translucent);
+}
+
+#endif 
diff --git a/src/plugins/graphicssystems/meego/qmeegographicssystemplugin.cpp b/src/plugins/graphicssystems/meego/qmeegographicssystemplugin.cpp
new file mode 100644
index 0000000..3bb7ffb
--- /dev/null
+++ b/src/plugins/graphicssystems/meego/qmeegographicssystemplugin.cpp
@@ -0,0 +1,31 @@
+/***************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation
+**
+** This library is free software; you can redistribute it and/or
+** modify it under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation
+** and appearing in the file LICENSE.LGPL included in the packaging
+** of this file.
+**
+****************************************************************************/
+
+#include <QDebug>
+#include "mgraphicssystemplugin.h"
+#include "mgraphicssystem.h"
+
+QStringList MGraphicsSystemPlugin::keys() const
+{
+    QStringList list;
+    list << "meego";
+    return list;
+}
+
+QGraphicsSystem *MGraphicsSystemPlugin::create(const QString&)
+{
+    return new MGraphicsSystem;
+}
+
+Q_EXPORT_PLUGIN2(meego, MGraphicsSystemPlugin)
diff --git a/src/plugins/graphicssystems/meego/qmeegographicssystemplugin.h b/src/plugins/graphicssystems/meego/qmeegographicssystemplugin.h
new file mode 100644
index 0000000..84d4427
--- /dev/null
+++ b/src/plugins/graphicssystems/meego/qmeegographicssystemplugin.h
@@ -0,0 +1,27 @@
+/***************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation
+**
+** This library is free software; you can redistribute it and/or
+** modify it under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation
+** and appearing in the file LICENSE.LGPL included in the packaging
+** of this file.
+**
+****************************************************************************/
+
+#ifndef MGRAPHICSSYSTEMPLUGIN_H
+#define MGRAPHICSSYSTEMPLUGIN_H
+
+#include "../private/qgraphicssystemplugin_p.h"
+
+class MGraphicsSystemPlugin : public QGraphicsSystemPlugin
+{
+public:
+    virtual QStringList keys() const;
+    virtual QGraphicsSystem *create(const QString&);
+};
+
+#endif
diff --git a/src/plugins/graphicssystems/meego/qmeegopixmapdata.cpp b/src/plugins/graphicssystems/meego/qmeegopixmapdata.cpp
new file mode 100644
index 0000000..b17adf3
--- /dev/null
+++ b/src/plugins/graphicssystems/meego/qmeegopixmapdata.cpp
@@ -0,0 +1,179 @@
+/***************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation
+**
+** This library is free software; you can redistribute it and/or
+** modify it under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation
+** and appearing in the file LICENSE.LGPL included in the packaging
+** of this file.
+**
+****************************************************************************/
+
+#include "mpixmapdata.h"
+#include "mextensions.h"
+#include "../private/qimage_p.h"
+#include "../private/qwindowsurface_gl_p.h"
+#include "../private/qeglcontext_p.h"
+#include "../private/qapplication_p.h"
+#include "../private/qgraphicssystem_runtime_p.h"
+
+static EGLint preserved_image_attribs[] = { EGL_IMAGE_PRESERVED_KHR, EGL_TRUE, EGL_NONE };
+
+QHash <void*, MImageInfo*> MPixmapData::sharedImagesMap;
+
+/* Public */
+
+MPixmapData::MPixmapData() : QGLPixmapData(QPixmapData::PixmapType)
+{
+}
+
+void MPixmapData::fromTexture(GLuint textureId, int w, int h, bool alpha)
+{
+    resize(w, h); 
+    texture()->id = textureId;
+    m_hasAlpha = alpha;
+    softImage = QImage();
+}
+
+QImage MPixmapData::toImage() const
+{
+    return softImage;
+}
+
+void MPixmapData::fromImage(const QImage &image,
+                            Qt::ImageConversionFlags flags)
+{
+    void *rawResource = static_cast <void *> (((QImage &) image).data_ptr()->data);
+
+    if (sharedImagesMap.contains(rawResource)) {
+        MImageInfo *info = sharedImagesMap.value(rawResource);
+        fromEGLSharedImage(info->handle, image);
+    } else {
+        // This should *never* happen since the graphics system should never
+        // create a MPixmapData for an origin that doesn't contain a raster
+        // image we know about. But...
+        qWarning("MPixmapData::fromImage called on non-know resource. Falling back...");
+        QGLPixmapData::fromImage(image, flags);
+    }
+}
+
+void MPixmapData::fromEGLSharedImage(Qt::HANDLE handle, const QImage &si)
+{
+    if (si.isNull())
+        qFatal("Trying to build pixmap with an empty/null softimage!");
+        
+    QGLShareContextScope ctx(qt_gl_share_widget()->context());
+   
+    MExtensions::ensureInitialized();
+ 
+    bool textureIsBound = false;
+    GLuint newTextureId;
+    GLint newWidth, newHeight;
+
+    glGenTextures(1, &newTextureId);
+    glBindTexture(GL_TEXTURE_2D, newTextureId);
+    
+    glFinish();
+    EGLImageKHR image = QEgl::eglCreateImageKHR(QEgl::display(), EGL_NO_CONTEXT, EGL_SHARED_IMAGE_NOK,
+                                                (EGLClientBuffer)handle, preserved_image_attribs);
+
+    if (image != EGL_NO_IMAGE_KHR) {
+        glFinish();
+        glEGLImageTargetTexture2DOES(GL_TEXTURE_2D, image);
+        GLint err = glGetError();
+        if (err == GL_NO_ERROR)
+            textureIsBound = true;
+        
+        MExtensions::eglQueryImageNOK(QEgl::display(), image, EGL_WIDTH, &newWidth);
+        MExtensions::eglQueryImageNOK(QEgl::display(), image, EGL_HEIGHT, &newHeight);
+          
+        QEgl::eglDestroyImageKHR(QEgl::display(), image);
+        glFinish();
+    }
+        
+    if (textureIsBound) {
+        // FIXME Remove this ugly hasAlphaChannel check when Qt lands the NoOpaqueCheck flag fix
+        // for QGLPixmapData.
+        fromTexture(newTextureId, newWidth, newHeight, 
+                    (si.hasAlphaChannel() && const_cast<QImage &>(si).data_ptr()->checkForAlphaPixels()));
+        softImage = si;
+        MPixmapData::registerSharedImage(handle, softImage);
+    } else {
+        qWarning("Failed to create a texture from a shared image!");
+        glDeleteTextures(1, &newTextureId);
+    }
+}
+
+Qt::HANDLE MPixmapData::imageToEGLSharedImage(const QImage &image)
+{
+    QGLShareContextScope ctx(qt_gl_share_widget()->context());
+
+    MExtensions::ensureInitialized();
+
+    glFinish();
+    QGLPixmapData pixmapData(QPixmapData::PixmapType);
+    pixmapData.fromImage(image, 0);
+    GLuint textureId = pixmapData.bind();
+
+    glFinish();
+    EGLImageKHR eglimage = QEgl::eglCreateImageKHR(QEgl::display(), QEglContext::currentContext(QEgl::OpenGL)->context(),
+                                                                                                EGL_GL_TEXTURE_2D_KHR,
+                                                                                                (EGLClientBuffer) textureId,
+                                                                                                preserved_image_attribs);
+    glFinish();
+
+    if (eglimage) {
+        EGLNativeSharedImageTypeNOK handle = MExtensions::eglCreateSharedImageNOK(QEgl::display(), eglimage, NULL);
+        QEgl::eglDestroyImageKHR(QEgl::display(), eglimage);
+        glFinish();
+        return (Qt::HANDLE) handle;
+    } else {
+        qWarning("Failed to create shared image from pixmap/texture!");
+        return 0;
+    }
+}
+
+void MPixmapData::updateFromSoftImage()
+{
+    m_dirty = true;
+    m_source = softImage;
+    ensureCreated();
+    
+    if (softImage.width() != w || softImage.height() != h)
+        qWarning("Ooops, looks like softImage changed dimensions since last updated! Corruption ahead?!");
+}
+
+bool MPixmapData::destroyEGLSharedImage(Qt::HANDLE h)
+{
+    QGLShareContextScope ctx(qt_gl_share_widget()->context());   
+    MExtensions::ensureInitialized();
+
+    QMutableHashIterator <void*, MImageInfo*> i(sharedImagesMap);
+    while (i.hasNext()) {
+        i.next();
+        if (i.value()->handle == h)
+            i.remove();
+    }
+
+    return MExtensions::eglDestroySharedImageNOK(QEgl::display(), (EGLNativeSharedImageTypeNOK) h);
+}
+
+void MPixmapData::registerSharedImage(Qt::HANDLE handle, const QImage &si)
+{
+    void *raw = static_cast <void *> (((QImage) si).data_ptr()->data);
+    MImageInfo *info;
+    
+    if (! sharedImagesMap.contains(raw)) {
+        info = new MImageInfo;
+        info->handle = handle;
+        info->rawFormat = si.format();
+        sharedImagesMap.insert(raw, info);
+    } else {
+        info = sharedImagesMap.value(raw);
+        if (info->handle != handle || info->rawFormat != si.format())
+            qWarning("Inconsistency detected: overwriting entry in sharedImagesMap but handle/format different");
+    }
+}
diff --git a/src/plugins/graphicssystems/meego/qmeegopixmapdata.h b/src/plugins/graphicssystems/meego/qmeegopixmapdata.h
new file mode 100644
index 0000000..ae4ed6b
--- /dev/null
+++ b/src/plugins/graphicssystems/meego/qmeegopixmapdata.h
@@ -0,0 +1,46 @@
+/***************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation
+**
+** This library is free software; you can redistribute it and/or
+** modify it under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation
+** and appearing in the file LICENSE.LGPL included in the packaging
+** of this file.
+**
+****************************************************************************/
+
+#ifndef MPIXMAPDATA_H
+#define MPIXMAPDATA_H
+
+#include "../private/qpixmapdata_gl_p.h"
+
+struct MImageInfo
+{
+    Qt::HANDLE handle;
+    QImage::Format rawFormat;
+};
+
+class MPixmapData : public QGLPixmapData
+{
+public:
+    MPixmapData();
+    void fromTexture(GLuint textureId, int w, int h, bool alpha);
+
+    virtual void fromEGLSharedImage(Qt::HANDLE handle, const QImage &softImage);
+    virtual void fromImage (const QImage &image, Qt::ImageConversionFlags flags);
+    virtual QImage toImage() const;
+    virtual void updateFromSoftImage();
+
+    QImage softImage;
+    
+    static QHash <void*, MImageInfo*> sharedImagesMap;
+    
+    static Qt::HANDLE imageToEGLSharedImage(const QImage &image);
+    static bool destroyEGLSharedImage(Qt::HANDLE h);
+    static void registerSharedImage(Qt::HANDLE handle, const QImage &si);
+};
+
+#endif
-- 
cgit v0.12


From dc61fc45601000626169409443fdeac6a3cd31af Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Samuel=20R=C3=B8dal?= <samuel.rodal@nokia.com>
Date: Mon, 6 Sep 2010 09:54:59 +0200
Subject: Fixed compilation and API of meego graphics system.

---
 src/gui/egl/qeglcontext_p.h                        |   3 +
 src/gui/painting/qgraphicssystem_runtime_p.h       |   1 +
 src/opengl/qpixmapdata_gl_p.h                      |   1 +
 src/plugins/graphicssystems/graphicssystems.pro    |   4 +
 src/plugins/graphicssystems/meego/meego.pro        |  19 ++--
 .../graphicssystems/meego/qmeegoextensions.cpp     |  24 ++--
 .../graphicssystems/meego/qmeegoextensions.h       |   8 +-
 .../graphicssystems/meego/qmeegographicssystem.cpp | 122 ++++++++++-----------
 .../graphicssystems/meego/qmeegographicssystem.h   |  30 ++---
 .../meego/qmeegographicssystemplugin.cpp           |  12 +-
 .../meego/qmeegographicssystemplugin.h             |   4 +-
 .../graphicssystems/meego/qmeegopixmapdata.cpp     |  64 +++++------
 .../graphicssystems/meego/qmeegopixmapdata.h       |  14 +--
 13 files changed, 158 insertions(+), 148 deletions(-)

diff --git a/src/gui/egl/qeglcontext_p.h b/src/gui/egl/qeglcontext_p.h
index cae8164..5bc8f09 100644
--- a/src/gui/egl/qeglcontext_p.h
+++ b/src/gui/egl/qeglcontext_p.h
@@ -107,6 +107,9 @@ private:
 
     static QEglContext *currentContext(QEgl::API api);
     static void setCurrentContext(QEgl::API api, QEglContext *context);
+
+    friend class QMeeGoGraphicsSystem;
+    friend class QMeeGoPixmapData;
 };
 
 QT_END_NAMESPACE
diff --git a/src/gui/painting/qgraphicssystem_runtime_p.h b/src/gui/painting/qgraphicssystem_runtime_p.h
index 0232241..421fbeb 100644
--- a/src/gui/painting/qgraphicssystem_runtime_p.h
+++ b/src/gui/painting/qgraphicssystem_runtime_p.h
@@ -177,6 +177,7 @@ private:
 
     friend class QRuntimePixmapData;
     friend class QRuntimeWindowSurface;
+    friend class QMeeGoGraphicsSystem;
 };
 
 QT_END_NAMESPACE
diff --git a/src/opengl/qpixmapdata_gl_p.h b/src/opengl/qpixmapdata_gl_p.h
index 4cb67b0..f000993 100644
--- a/src/opengl/qpixmapdata_gl_p.h
+++ b/src/opengl/qpixmapdata_gl_p.h
@@ -168,6 +168,7 @@ private:
     mutable QGLPixmapGLPaintDevice m_glDevice;
 
     friend class QGLPixmapGLPaintDevice;
+    friend class QMeeGoPixmapData;
 };
 
 QT_END_NAMESPACE
diff --git a/src/plugins/graphicssystems/graphicssystems.pro b/src/plugins/graphicssystems/graphicssystems.pro
index 0788933..29a1f34 100644
--- a/src/plugins/graphicssystems/graphicssystems.pro
+++ b/src/plugins/graphicssystems/graphicssystems.pro
@@ -7,3 +7,7 @@ contains(QT_CONFIG, shivavg) {
     # Only works under X11 at present
     !win32:!embedded:!mac:SUBDIRS += shivavg
 }
+
+!win32:!embedded:!mac:!symbian:CONFIG += x11
+
+x11:contains(QT_CONFIG, opengles2):contains(QT_CONFIG, egl):SUBDIRS += meego
diff --git a/src/plugins/graphicssystems/meego/meego.pro b/src/plugins/graphicssystems/meego/meego.pro
index 80a974e..d750d34 100644
--- a/src/plugins/graphicssystems/meego/meego.pro
+++ b/src/plugins/graphicssystems/meego/meego.pro
@@ -1,12 +1,13 @@
-TEMPLATE = lib
+TARGET = qmeegographicssystem
+include(../../qpluginbase.pri)
+
 QT += gui opengl
-INCLUDEPATH += '../'
-HEADERS = mgraphicssystem.h mpixmapdata.h mextensions.h
-SOURCES = mgraphicssystem.cpp mgraphicssystem.h mgraphicssystemplugin.h mgraphicssystemplugin.cpp mpixmapdata.h mpixmapdata.cpp mextensions.h mextensions.cpp
-CONFIG += GLESv2 EGL X11 debug plugin
-LIBS += -lGLESv2
-TARGET = meegographicssystem
 
-target.path = $$[QT_INSTALL_PLUGINS]/graphicssystems
+QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/graphicssystems
+
+HEADERS = qmeegographicssystem.h qmeegopixmapdata.h qmeegoextensions.h
+SOURCES = qmeegographicssystem.cpp qmeegographicssystem.h qmeegographicssystemplugin.h qmeegographicssystemplugin.cpp qmeegopixmapdata.h qmeegopixmapdata.cpp qmeegoextensions.h qmeegoextensions.cpp
+
+target.path += $$[QT_INSTALL_PLUGINS]/graphicssystems
+INSTALLS += target
 
-INSTALLS += target 
diff --git a/src/plugins/graphicssystems/meego/qmeegoextensions.cpp b/src/plugins/graphicssystems/meego/qmeegoextensions.cpp
index 814532f..f40fc43 100644
--- a/src/plugins/graphicssystems/meego/qmeegoextensions.cpp
+++ b/src/plugins/graphicssystems/meego/qmeegoextensions.cpp
@@ -12,13 +12,13 @@
 **
 ****************************************************************************/
 
-#include "mextensions.h"
-#include "../private/qeglcontext_p.h"
-#include "../private/qpixmapdata_gl_p.h"
+#include "qmeegoextensions.h"
+#include <private/qeglcontext_p.h>
+#include <private/qpixmapdata_gl_p.h>
 
-bool MExtensions::initialized = false;
-bool MExtensions::hasImageShared = false;
-bool MExtensions::hasSurfaceScaling = false;
+bool QMeeGoExtensions::initialized = false;
+bool QMeeGoExtensions::hasImageShared = false;
+bool QMeeGoExtensions::hasSurfaceScaling = false;
 
 /* Extension funcs */
 
@@ -34,7 +34,7 @@ static eglSetSurfaceScalingNOKFunc _eglSetSurfaceScalingNOK = 0;
 
 /* Public */
 
-void MExtensions::ensureInitialized()
+void QMeeGoExtensions::ensureInitialized()
 {
     if (!initialized)
         initialize();
@@ -42,7 +42,7 @@ void MExtensions::ensureInitialized()
     initialized = true;
 }
 
-EGLNativeSharedImageTypeNOK MExtensions::eglCreateSharedImageNOK(EGLDisplay dpy, EGLImageKHR image, EGLint *props)
+EGLNativeSharedImageTypeNOK QMeeGoExtensions::eglCreateSharedImageNOK(EGLDisplay dpy, EGLImageKHR image, EGLint *props)
 {
     if (! hasImageShared)
         qFatal("EGL_NOK_image_shared not found but trying to use capability!");
@@ -50,7 +50,7 @@ EGLNativeSharedImageTypeNOK MExtensions::eglCreateSharedImageNOK(EGLDisplay dpy,
     return _eglCreateSharedImageNOK(dpy, image, props);
 }
 
-bool MExtensions::eglQueryImageNOK(EGLDisplay dpy, EGLImageKHR image, EGLint prop, EGLint *v)
+bool QMeeGoExtensions::eglQueryImageNOK(EGLDisplay dpy, EGLImageKHR image, EGLint prop, EGLint *v)
 {
     if (! hasImageShared)
         qFatal("EGL_NOK_image_shared not found but trying to use capability!");
@@ -58,7 +58,7 @@ bool MExtensions::eglQueryImageNOK(EGLDisplay dpy, EGLImageKHR image, EGLint pro
     return _eglQueryImageNOK(dpy, image, prop, v);
 }
 
-bool MExtensions::eglDestroySharedImageNOK(EGLDisplay dpy, EGLNativeSharedImageTypeNOK img)
+bool QMeeGoExtensions::eglDestroySharedImageNOK(EGLDisplay dpy, EGLNativeSharedImageTypeNOK img)
 {
     if (! hasImageShared)
         qFatal("EGL_NOK_image_shared not found but trying to use capability!");
@@ -66,7 +66,7 @@ bool MExtensions::eglDestroySharedImageNOK(EGLDisplay dpy, EGLNativeSharedImageT
     return _eglDestroySharedImageNOK(dpy, img);
 }
 
-bool MExtensions::eglSetSurfaceScalingNOK(EGLDisplay dpy, EGLSurface surface, int x, int y, int width, int height)
+bool QMeeGoExtensions::eglSetSurfaceScalingNOK(EGLDisplay dpy, EGLSurface surface, int x, int y, int width, int height)
 {
     if (! hasSurfaceScaling)
         qFatal("EGL_NOK_surface_scaling not found but trying to use capability!");
@@ -76,7 +76,7 @@ bool MExtensions::eglSetSurfaceScalingNOK(EGLDisplay dpy, EGLSurface surface, in
 
 /* Private */
 
-void MExtensions::initialize()
+void QMeeGoExtensions::initialize()
 {
     QGLContext *ctx = (QGLContext *) QGLContext::currentContext();
     qt_resolve_eglimage_gl_extensions(ctx);
diff --git a/src/plugins/graphicssystems/meego/qmeegoextensions.h b/src/plugins/graphicssystems/meego/qmeegoextensions.h
index 9506c50..b8e6195 100644
--- a/src/plugins/graphicssystems/meego/qmeegoextensions.h
+++ b/src/plugins/graphicssystems/meego/qmeegoextensions.h
@@ -19,9 +19,9 @@
 #include <EGL/eglext.h>
 #include <GLES2/gl2.h>
 #include <GLES2/gl2ext.h>
-#include "../private/qgl_p.h"
-#include "../private/qeglcontext_p.h"
-#include "../private/qpixmapdata_gl_p.h"
+#include <private/qgl_p.h>
+#include <private/qeglcontext_p.h>
+#include <private/qpixmapdata_gl_p.h>
 
 /* Extensions decls */
 
@@ -41,7 +41,7 @@ typedef void* EGLNativeSharedImageTypeNOK;
 
 /* Class */
 
-class MExtensions 
+class QMeeGoExtensions
 {
 public:
     static void ensureInitialized();
diff --git a/src/plugins/graphicssystems/meego/qmeegographicssystem.cpp b/src/plugins/graphicssystems/meego/qmeegographicssystem.cpp
index e4a8210..e575cf3 100644
--- a/src/plugins/graphicssystems/meego/qmeegographicssystem.cpp
+++ b/src/plugins/graphicssystems/meego/qmeegographicssystem.cpp
@@ -13,44 +13,44 @@
 ****************************************************************************/
 
 #include <QDebug>
-#include "../private/qpixmap_raster_p.h"
-#include "../private/qwindowsurface_gl_p.h"
-#include "../private/qegl_p.h"
-#include "../private/qglextensions_p.h"
-#include "../private/qgl_p.h"
-#include "../private/qimagepixmapcleanuphooks_p.h"
-#include "../private/qapplication_p.h"
-#include "../private/qgraphicssystem_runtime_p.h"
-#include "../private/qimage_p.h"
-#include "../private/qeglproperties_p.h"
-#include "../private/qeglcontext_p.h"
-
-#include "mpixmapdata.h"
-#include "mgraphicssystem.h"
-#include "mextensions.h"
-
-bool MGraphicsSystem::surfaceWasCreated = false;
-
-MGraphicsSystem::MGraphicsSystem()
+#include <private/qpixmap_raster_p.h>
+#include <private/qwindowsurface_gl_p.h>
+#include <private/qegl_p.h>
+#include <private/qglextensions_p.h>
+#include <private/qgl_p.h>
+#include <private/qimagepixmapcleanuphooks_p.h>
+#include <private/qapplication_p.h>
+#include <private/qgraphicssystem_runtime_p.h>
+#include <private/qimage_p.h>
+#include <private/qeglproperties_p.h>
+#include <private/qeglcontext_p.h>
+
+#include "qmeegopixmapdata.h"
+#include "qmeegographicssystem.h"
+#include "qmeegoextensions.h"
+
+bool QMeeGoGraphicsSystem::surfaceWasCreated = false;
+
+QMeeGoGraphicsSystem::QMeeGoGraphicsSystem()
 {
     qDebug("Using the meego graphics system");
 }
 
-MGraphicsSystem::~MGraphicsSystem()
+QMeeGoGraphicsSystem::~QMeeGoGraphicsSystem()
 {
     qDebug("Meego graphics system destroyed");
     qt_destroy_gl_share_widget();
 }
 
-QWindowSurface* MGraphicsSystem::createWindowSurface(QWidget *widget) const
+QWindowSurface* QMeeGoGraphicsSystem::createWindowSurface(QWidget *widget) const
 {
-    MGraphicsSystem::surfaceWasCreated = true;
+    QMeeGoGraphicsSystem::surfaceWasCreated = true;
     QWindowSurface *surface = new QGLWindowSurface(widget);
     surface->window()->setAttribute(Qt::WA_NoSystemBackground);
     return surface;
 }
 
-QPixmapData *MGraphicsSystem::createPixmapData(QPixmapData::PixelType type) const
+QPixmapData *QMeeGoGraphicsSystem::createPixmapData(QPixmapData::PixelType type) const
 {
     // Long story short: without this it's possible to hit an 
     // unitialized paintDevice due to a Qt bug too complex to even 
@@ -61,7 +61,7 @@ QPixmapData *MGraphicsSystem::createPixmapData(QPixmapData::PixelType type) cons
     return new QRasterPixmapData(type);
 }
 
-QPixmapData *MGraphicsSystem::createPixmapData(QPixmapData *origin)
+QPixmapData *QMeeGoGraphicsSystem::createPixmapData(QPixmapData *origin)
 {
     // If the pixmap is a raster type...
     // and if the pixmap pointer matches our mapping...
@@ -71,14 +71,14 @@ QPixmapData *MGraphicsSystem::createPixmapData(QPixmapData *origin)
         QRasterPixmapData *rasterClass = static_cast <QRasterPixmapData *> (origin);
         void *rawResource = static_cast <void *> (rasterClass->buffer()->data_ptr()->data);
 
-        if (MPixmapData::sharedImagesMap.contains(rawResource))
-            return new MPixmapData();
+        if (QMeeGoPixmapData::sharedImagesMap.contains(rawResource))
+            return new QMeeGoPixmapData();
     } 
         
     return new QRasterPixmapData(origin->pixelType());
 }
 
-QPixmapData* MGraphicsSystem::wrapPixmapData(QPixmapData *pmd)
+QPixmapData* QMeeGoGraphicsSystem::wrapPixmapData(QPixmapData *pmd)
 {
     QString name = QApplicationPrivate::instance()->graphics_system_name;
     if (name == "runtime") {
@@ -92,9 +92,9 @@ QPixmapData* MGraphicsSystem::wrapPixmapData(QPixmapData *pmd)
         return pmd;
 }
 
-void MGraphicsSystem::setSurfaceFixedSize(int /*width*/, int /*height*/)
+void QMeeGoGraphicsSystem::setSurfaceFixedSize(int /*width*/, int /*height*/)
 {
-    if (MGraphicsSystem::surfaceWasCreated)
+    if (QMeeGoGraphicsSystem::surfaceWasCreated)
         qWarning("Trying to set surface fixed size but surface already created!");
 
 #ifdef QT_WAS_PATCHED
@@ -105,20 +105,20 @@ void MGraphicsSystem::setSurfaceFixedSize(int /*width*/, int /*height*/)
 #endif
 }
 
-void MGraphicsSystem::setSurfaceScaling(int x, int y, int width, int height)
+void QMeeGoGraphicsSystem::setSurfaceScaling(int x, int y, int width, int height)
 {
-    MExtensions::ensureInitialized();
-    MExtensions::eglSetSurfaceScalingNOK(QEgl::display(), QEglContext::currentContext(QEgl::OpenGL)->currentSurface, x, y, width, height);
+    QMeeGoExtensions::ensureInitialized();
+    QMeeGoExtensions::eglSetSurfaceScalingNOK(QEgl::display(), QEglContext::currentContext(QEgl::OpenGL)->currentSurface, x, y, width, height);
 }
 
-void MGraphicsSystem::setTranslucent(bool translucent)
+void QMeeGoGraphicsSystem::setTranslucent(bool translucent)
 {
     QGLWindowSurface::surfaceFormat.setSampleBuffers(false);
     QGLWindowSurface::surfaceFormat.setSamples(0);
     QGLWindowSurface::surfaceFormat.setAlpha(translucent);
 }
 
-QPixmapData *MGraphicsSystem::pixmapDataFromEGLSharedImage(Qt::HANDLE handle, const QImage &softImage)
+QPixmapData *QMeeGoGraphicsSystem::pixmapDataFromEGLSharedImage(Qt::HANDLE handle, const QImage &softImage)
 {
     if (softImage.format() != QImage::Format_ARGB32_Premultiplied &&
         softImage.format() != QImage::Format_ARGB32) {
@@ -126,10 +126,10 @@ QPixmapData *MGraphicsSystem::pixmapDataFromEGLSharedImage(Qt::HANDLE handle, co
         return NULL;
     }
     
-    if (MGraphicsSystem::meegoRunning()) {
-        MPixmapData *pmd = new MPixmapData;
+    if (QMeeGoGraphicsSystem::meeGoRunning()) {
+        QMeeGoPixmapData *pmd = new QMeeGoPixmapData;
         pmd->fromEGLSharedImage(handle, softImage);
-        return MGraphicsSystem::wrapPixmapData(pmd);
+        return QMeeGoGraphicsSystem::wrapPixmapData(pmd);
     } else {
         QRasterPixmapData *pmd = new QRasterPixmapData(QPixmapData::PixmapType);
         pmd->fromImage(softImage, Qt::NoOpaqueDetection);
@@ -139,30 +139,30 @@ QPixmapData *MGraphicsSystem::pixmapDataFromEGLSharedImage(Qt::HANDLE handle, co
             const_cast<QImage &>(softImage).data_ptr()->data)
             qFatal("Iternal misalignment of raster data detected. Prolly a QImage copy fail.");
 
-        MPixmapData::registerSharedImage(handle, softImage);
-        return MGraphicsSystem::wrapPixmapData(pmd);
+        QMeeGoPixmapData::registerSharedImage(handle, softImage);
+        return QMeeGoGraphicsSystem::wrapPixmapData(pmd);
     }
 }
 
-void MGraphicsSystem::updateEGLSharedImagePixmap(QPixmap *pixmap)
+void QMeeGoGraphicsSystem::updateEGLSharedImagePixmap(QPixmap *pixmap)
 {
-    MPixmapData *pmd = (MPixmapData *) pixmap->pixmapData();
+    QMeeGoPixmapData *pmd = (QMeeGoPixmapData *) pixmap->pixmapData();
     
-    // Basic sanity check to make sure this is really a MPixmapData...
+    // Basic sanity check to make sure this is really a QMeeGoPixmapData...
     if (pmd->classId() != QPixmapData::OpenGLClass) 
         qFatal("Trying to updated EGLSharedImage pixmap but it's not really a shared image pixmap!");
 
     pmd->updateFromSoftImage();
 }
 
-QPixmapData *MGraphicsSystem::pixmapDataWithGLTexture(int w, int h)
+QPixmapData *QMeeGoGraphicsSystem::pixmapDataWithGLTexture(int w, int h)
 {
     QGLPixmapData *pmd = new QGLPixmapData(QPixmapData::PixmapType);
     pmd->resize(w, h);
-    return MGraphicsSystem::wrapPixmapData(pmd);
+    return QMeeGoGraphicsSystem::wrapPixmapData(pmd);
 }
 
-bool MGraphicsSystem::meegoRunning()
+bool QMeeGoGraphicsSystem::meeGoRunning()
 {
     if (! QApplicationPrivate::instance()) {
         qWarning("Application not running just yet... hard to know what system running!");
@@ -180,42 +180,42 @@ bool MGraphicsSystem::meegoRunning()
 
 /* C API */
 
-int m_image_to_egl_shared_image(const QImage &image)
+int qt_meego_image_to_egl_shared_image(const QImage &image)
 {
-    return MPixmapData::imageToEGLSharedImage(image);
+    return QMeeGoPixmapData::imageToEGLSharedImage(image);
 }
 
-QPixmapData* m_pixmapdata_from_egl_shared_image(Qt::HANDLE handle, const QImage &softImage)
+QPixmapData* qt_meego_pixmapdata_from_egl_shared_image(Qt::HANDLE handle, const QImage &softImage)
 {
-    return MGraphicsSystem::pixmapDataFromEGLSharedImage(handle, softImage);
+    return QMeeGoGraphicsSystem::pixmapDataFromEGLSharedImage(handle, softImage);
 }
 
-QPixmapData* m_pixmapdata_with_gl_texture(int w, int h)
+QPixmapData* qt_meego_pixmapdata_with_gl_texture(int w, int h)
 {
-    return MGraphicsSystem::pixmapDataWithGLTexture(w, h);
+    return QMeeGoGraphicsSystem::pixmapDataWithGLTexture(w, h);
 }
 
-bool m_destroy_egl_shared_image(Qt::HANDLE handle)
+bool qt_meego_destroy_egl_shared_image(Qt::HANDLE handle)
 {
-    return MPixmapData::destroyEGLSharedImage(handle);
+    return QMeeGoPixmapData::destroyEGLSharedImage(handle);
 }
 
-void m_set_surface_fixed_size(int width, int height)
+void qt_meego_set_surface_fixed_size(int width, int height)
 {
-    MGraphicsSystem::setSurfaceFixedSize(width, height);
+    QMeeGoGraphicsSystem::setSurfaceFixedSize(width, height);
 }
 
-void m_set_surface_scaling(int x, int y, int width, int height)
+void qt_meego_set_surface_scaling(int x, int y, int width, int height)
 {
-    MGraphicsSystem::setSurfaceScaling(x, y, width, height);
+    QMeeGoGraphicsSystem::setSurfaceScaling(x, y, width, height);
 }
 
-void m_set_translucent(bool translucent)
+void qt_meego_set_translucent(bool translucent)
 {
-    MGraphicsSystem::setTranslucent(translucent);
+    QMeeGoGraphicsSystem::setTranslucent(translucent);
 }
 
-void m_update_egl_shared_image_pixmap(QPixmap *pixmap)
+void qt_meego_update_egl_shared_image_pixmap(QPixmap *pixmap)
 {
-    MGraphicsSystem::updateEGLSharedImagePixmap(pixmap);
+    QMeeGoGraphicsSystem::updateEGLSharedImagePixmap(pixmap);
 }
diff --git a/src/plugins/graphicssystems/meego/qmeegographicssystem.h b/src/plugins/graphicssystems/meego/qmeegographicssystem.h
index c95d7ae..8dc4f23 100644
--- a/src/plugins/graphicssystems/meego/qmeegographicssystem.h
+++ b/src/plugins/graphicssystems/meego/qmeegographicssystem.h
@@ -15,14 +15,14 @@
 #ifndef MGRAPHICSSYSTEM_H
 #define MGRAPHICSSYSTEM_H
 
-#include "../private/qgraphicssystem_p.h"
+#include <private/qgraphicssystem_p.h>
 
-class MGraphicsSystem : public QGraphicsSystem
+class QMeeGoGraphicsSystem : public QGraphicsSystem
 {
 public:
-    MGraphicsSystem();
-    ~MGraphicsSystem();
-    
+    QMeeGoGraphicsSystem();
+    ~QMeeGoGraphicsSystem();
+
     virtual QWindowSurface *createWindowSurface(QWidget *widget) const;
     virtual QPixmapData *createPixmapData(QPixmapData::PixelType) const;
     virtual QPixmapData *createPixmapData(QPixmapData *origin);
@@ -37,22 +37,22 @@ public:
     static void updateEGLSharedImagePixmap(QPixmap *pixmap);
 
 private:
-    static bool meegoRunning();
-    
+    static bool meeGoRunning();
+
     static bool surfaceWasCreated;
 };
 
 /* C api */
 
 extern "C" {
-    int m_image_to_egl_shared_image(const QImage &image);
-    QPixmapData* m_pixmapdata_from_egl_shared_image(Qt::HANDLE handle, const QImage &softImage);
-    QPixmapData* m_pixmapdata_with_gl_texture(int w, int h);
-    void m_update_egl_shared_image_pixmap(QPixmap *pixmap);
-    bool m_destroy_egl_shared_image(Qt::HANDLE handle);
-    void m_set_surface_fixed_size(int width, int height);
-    void m_set_surface_scaling(int x, int y, int width, int height);
-    void m_set_translucent(bool translucent);
+    int qt_meego_image_to_egl_shared_image(const QImage &image);
+    QPixmapData* qt_meego_pixmapdata_from_egl_shared_image(Qt::HANDLE handle, const QImage &softImage);
+    QPixmapData* qt_meego_pixmapdata_with_gl_texture(int w, int h);
+    void qt_meego_update_egl_shared_image_pixmap(QPixmap *pixmap);
+    bool qt_meego_destroy_egl_shared_image(Qt::HANDLE handle);
+    void qt_meego_set_surface_fixed_size(int width, int height);
+    void qt_meego_set_surface_scaling(int x, int y, int width, int height);
+    void qt_meego_set_translucent(bool translucent);
 }
 
 #endif 
diff --git a/src/plugins/graphicssystems/meego/qmeegographicssystemplugin.cpp b/src/plugins/graphicssystems/meego/qmeegographicssystemplugin.cpp
index 3bb7ffb..15c74a0 100644
--- a/src/plugins/graphicssystems/meego/qmeegographicssystemplugin.cpp
+++ b/src/plugins/graphicssystems/meego/qmeegographicssystemplugin.cpp
@@ -13,19 +13,19 @@
 ****************************************************************************/
 
 #include <QDebug>
-#include "mgraphicssystemplugin.h"
-#include "mgraphicssystem.h"
+#include "qmeegographicssystemplugin.h"
+#include "qmeegographicssystem.h"
 
-QStringList MGraphicsSystemPlugin::keys() const
+QStringList QMeeGoGraphicsSystemPlugin::keys() const
 {
     QStringList list;
     list << "meego";
     return list;
 }
 
-QGraphicsSystem *MGraphicsSystemPlugin::create(const QString&)
+QGraphicsSystem *QMeeGoGraphicsSystemPlugin::create(const QString&)
 {
-    return new MGraphicsSystem;
+    return new QMeeGoGraphicsSystem;
 }
 
-Q_EXPORT_PLUGIN2(meego, MGraphicsSystemPlugin)
+Q_EXPORT_PLUGIN2(meego, QMeeGoGraphicsSystemPlugin)
diff --git a/src/plugins/graphicssystems/meego/qmeegographicssystemplugin.h b/src/plugins/graphicssystems/meego/qmeegographicssystemplugin.h
index 84d4427..76e180a 100644
--- a/src/plugins/graphicssystems/meego/qmeegographicssystemplugin.h
+++ b/src/plugins/graphicssystems/meego/qmeegographicssystemplugin.h
@@ -15,9 +15,9 @@
 #ifndef MGRAPHICSSYSTEMPLUGIN_H
 #define MGRAPHICSSYSTEMPLUGIN_H
 
-#include "../private/qgraphicssystemplugin_p.h"
+#include <private/qgraphicssystemplugin_p.h>
 
-class MGraphicsSystemPlugin : public QGraphicsSystemPlugin
+class QMeeGoGraphicsSystemPlugin : public QGraphicsSystemPlugin
 {
 public:
     virtual QStringList keys() const;
diff --git a/src/plugins/graphicssystems/meego/qmeegopixmapdata.cpp b/src/plugins/graphicssystems/meego/qmeegopixmapdata.cpp
index b17adf3..b029761 100644
--- a/src/plugins/graphicssystems/meego/qmeegopixmapdata.cpp
+++ b/src/plugins/graphicssystems/meego/qmeegopixmapdata.cpp
@@ -12,25 +12,25 @@
 **
 ****************************************************************************/
 
-#include "mpixmapdata.h"
-#include "mextensions.h"
-#include "../private/qimage_p.h"
-#include "../private/qwindowsurface_gl_p.h"
-#include "../private/qeglcontext_p.h"
-#include "../private/qapplication_p.h"
-#include "../private/qgraphicssystem_runtime_p.h"
+#include "qmeegopixmapdata.h"
+#include "qmeegoextensions.h"
+#include <private/qimage_p.h>
+#include <private/qwindowsurface_gl_p.h>
+#include <private/qeglcontext_p.h>
+#include <private/qapplication_p.h>
+#include <private/qgraphicssystem_runtime_p.h>
 
 static EGLint preserved_image_attribs[] = { EGL_IMAGE_PRESERVED_KHR, EGL_TRUE, EGL_NONE };
 
-QHash <void*, MImageInfo*> MPixmapData::sharedImagesMap;
+QHash <void*, QMeeGoImageInfo*> QMeeGoPixmapData::sharedImagesMap;
 
 /* Public */
 
-MPixmapData::MPixmapData() : QGLPixmapData(QPixmapData::PixmapType)
+QMeeGoPixmapData::QMeeGoPixmapData() : QGLPixmapData(QPixmapData::PixmapType)
 {
 }
 
-void MPixmapData::fromTexture(GLuint textureId, int w, int h, bool alpha)
+void QMeeGoPixmapData::fromTexture(GLuint textureId, int w, int h, bool alpha)
 {
     resize(w, h); 
     texture()->id = textureId;
@@ -38,36 +38,36 @@ void MPixmapData::fromTexture(GLuint textureId, int w, int h, bool alpha)
     softImage = QImage();
 }
 
-QImage MPixmapData::toImage() const
+QImage QMeeGoPixmapData::toImage() const
 {
     return softImage;
 }
 
-void MPixmapData::fromImage(const QImage &image,
-                            Qt::ImageConversionFlags flags)
+void QMeeGoPixmapData::fromImage(const QImage &image,
+                                 Qt::ImageConversionFlags flags)
 {
     void *rawResource = static_cast <void *> (((QImage &) image).data_ptr()->data);
 
     if (sharedImagesMap.contains(rawResource)) {
-        MImageInfo *info = sharedImagesMap.value(rawResource);
+        QMeeGoImageInfo *info = sharedImagesMap.value(rawResource);
         fromEGLSharedImage(info->handle, image);
     } else {
         // This should *never* happen since the graphics system should never
-        // create a MPixmapData for an origin that doesn't contain a raster
+        // create a QMeeGoPixmapData for an origin that doesn't contain a raster
         // image we know about. But...
-        qWarning("MPixmapData::fromImage called on non-know resource. Falling back...");
+        qWarning("QMeeGoPixmapData::fromImage called on non-know resource. Falling back...");
         QGLPixmapData::fromImage(image, flags);
     }
 }
 
-void MPixmapData::fromEGLSharedImage(Qt::HANDLE handle, const QImage &si)
+void QMeeGoPixmapData::fromEGLSharedImage(Qt::HANDLE handle, const QImage &si)
 {
     if (si.isNull())
         qFatal("Trying to build pixmap with an empty/null softimage!");
         
     QGLShareContextScope ctx(qt_gl_share_widget()->context());
    
-    MExtensions::ensureInitialized();
+    QMeeGoExtensions::ensureInitialized();
  
     bool textureIsBound = false;
     GLuint newTextureId;
@@ -87,8 +87,8 @@ void MPixmapData::fromEGLSharedImage(Qt::HANDLE handle, const QImage &si)
         if (err == GL_NO_ERROR)
             textureIsBound = true;
         
-        MExtensions::eglQueryImageNOK(QEgl::display(), image, EGL_WIDTH, &newWidth);
-        MExtensions::eglQueryImageNOK(QEgl::display(), image, EGL_HEIGHT, &newHeight);
+        QMeeGoExtensions::eglQueryImageNOK(QEgl::display(), image, EGL_WIDTH, &newWidth);
+        QMeeGoExtensions::eglQueryImageNOK(QEgl::display(), image, EGL_HEIGHT, &newHeight);
           
         QEgl::eglDestroyImageKHR(QEgl::display(), image);
         glFinish();
@@ -100,18 +100,18 @@ void MPixmapData::fromEGLSharedImage(Qt::HANDLE handle, const QImage &si)
         fromTexture(newTextureId, newWidth, newHeight, 
                     (si.hasAlphaChannel() && const_cast<QImage &>(si).data_ptr()->checkForAlphaPixels()));
         softImage = si;
-        MPixmapData::registerSharedImage(handle, softImage);
+        QMeeGoPixmapData::registerSharedImage(handle, softImage);
     } else {
         qWarning("Failed to create a texture from a shared image!");
         glDeleteTextures(1, &newTextureId);
     }
 }
 
-Qt::HANDLE MPixmapData::imageToEGLSharedImage(const QImage &image)
+Qt::HANDLE QMeeGoPixmapData::imageToEGLSharedImage(const QImage &image)
 {
     QGLShareContextScope ctx(qt_gl_share_widget()->context());
 
-    MExtensions::ensureInitialized();
+    QMeeGoExtensions::ensureInitialized();
 
     glFinish();
     QGLPixmapData pixmapData(QPixmapData::PixmapType);
@@ -126,7 +126,7 @@ Qt::HANDLE MPixmapData::imageToEGLSharedImage(const QImage &image)
     glFinish();
 
     if (eglimage) {
-        EGLNativeSharedImageTypeNOK handle = MExtensions::eglCreateSharedImageNOK(QEgl::display(), eglimage, NULL);
+        EGLNativeSharedImageTypeNOK handle = QMeeGoExtensions::eglCreateSharedImageNOK(QEgl::display(), eglimage, NULL);
         QEgl::eglDestroyImageKHR(QEgl::display(), eglimage);
         glFinish();
         return (Qt::HANDLE) handle;
@@ -136,7 +136,7 @@ Qt::HANDLE MPixmapData::imageToEGLSharedImage(const QImage &image)
     }
 }
 
-void MPixmapData::updateFromSoftImage()
+void QMeeGoPixmapData::updateFromSoftImage()
 {
     m_dirty = true;
     m_source = softImage;
@@ -146,28 +146,28 @@ void MPixmapData::updateFromSoftImage()
         qWarning("Ooops, looks like softImage changed dimensions since last updated! Corruption ahead?!");
 }
 
-bool MPixmapData::destroyEGLSharedImage(Qt::HANDLE h)
+bool QMeeGoPixmapData::destroyEGLSharedImage(Qt::HANDLE h)
 {
     QGLShareContextScope ctx(qt_gl_share_widget()->context());   
-    MExtensions::ensureInitialized();
+    QMeeGoExtensions::ensureInitialized();
 
-    QMutableHashIterator <void*, MImageInfo*> i(sharedImagesMap);
+    QMutableHashIterator <void*, QMeeGoImageInfo*> i(sharedImagesMap);
     while (i.hasNext()) {
         i.next();
         if (i.value()->handle == h)
             i.remove();
     }
 
-    return MExtensions::eglDestroySharedImageNOK(QEgl::display(), (EGLNativeSharedImageTypeNOK) h);
+    return QMeeGoExtensions::eglDestroySharedImageNOK(QEgl::display(), (EGLNativeSharedImageTypeNOK) h);
 }
 
-void MPixmapData::registerSharedImage(Qt::HANDLE handle, const QImage &si)
+void QMeeGoPixmapData::registerSharedImage(Qt::HANDLE handle, const QImage &si)
 {
     void *raw = static_cast <void *> (((QImage) si).data_ptr()->data);
-    MImageInfo *info;
+    QMeeGoImageInfo *info;
     
     if (! sharedImagesMap.contains(raw)) {
-        info = new MImageInfo;
+        info = new QMeeGoImageInfo;
         info->handle = handle;
         info->rawFormat = si.format();
         sharedImagesMap.insert(raw, info);
diff --git a/src/plugins/graphicssystems/meego/qmeegopixmapdata.h b/src/plugins/graphicssystems/meego/qmeegopixmapdata.h
index ae4ed6b..5fb7f9f 100644
--- a/src/plugins/graphicssystems/meego/qmeegopixmapdata.h
+++ b/src/plugins/graphicssystems/meego/qmeegopixmapdata.h
@@ -15,18 +15,18 @@
 #ifndef MPIXMAPDATA_H
 #define MPIXMAPDATA_H
 
-#include "../private/qpixmapdata_gl_p.h"
+#include <private/qpixmapdata_gl_p.h>
 
-struct MImageInfo
+struct QMeeGoImageInfo
 {
     Qt::HANDLE handle;
     QImage::Format rawFormat;
 };
 
-class MPixmapData : public QGLPixmapData
+class QMeeGoPixmapData : public QGLPixmapData
 {
 public:
-    MPixmapData();
+    QMeeGoPixmapData();
     void fromTexture(GLuint textureId, int w, int h, bool alpha);
 
     virtual void fromEGLSharedImage(Qt::HANDLE handle, const QImage &softImage);
@@ -35,9 +35,9 @@ public:
     virtual void updateFromSoftImage();
 
     QImage softImage;
-    
-    static QHash <void*, MImageInfo*> sharedImagesMap;
-    
+
+    static QHash <void*, QMeeGoImageInfo*> sharedImagesMap;
+
     static Qt::HANDLE imageToEGLSharedImage(const QImage &image);
     static bool destroyEGLSharedImage(Qt::HANDLE h);
     static void registerSharedImage(Qt::HANDLE handle, const QImage &si);
-- 
cgit v0.12


From 06159e2dbe169e05d9fd3f450d2993208e6dd21d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Samuel=20R=C3=B8dal?= <samuel.rodal@nokia.com>
Date: Mon, 6 Sep 2010 09:58:09 +0200
Subject: Updated license headers for meego graphics system.

---
 .../graphicssystems/meego/qmeegoextensions.cpp     | 41 ++++++++++++++++++----
 .../graphicssystems/meego/qmeegoextensions.h       | 41 ++++++++++++++++++----
 .../graphicssystems/meego/qmeegographicssystem.cpp | 41 ++++++++++++++++++----
 .../graphicssystems/meego/qmeegographicssystem.h   | 41 ++++++++++++++++++----
 .../meego/qmeegographicssystemplugin.cpp           | 41 ++++++++++++++++++----
 .../meego/qmeegographicssystemplugin.h             | 41 ++++++++++++++++++----
 .../graphicssystems/meego/qmeegopixmapdata.cpp     | 41 ++++++++++++++++++----
 .../graphicssystems/meego/qmeegopixmapdata.h       | 41 ++++++++++++++++++----
 8 files changed, 272 insertions(+), 56 deletions(-)

diff --git a/src/plugins/graphicssystems/meego/qmeegoextensions.cpp b/src/plugins/graphicssystems/meego/qmeegoextensions.cpp
index f40fc43..e7f6439 100644
--- a/src/plugins/graphicssystems/meego/qmeegoextensions.cpp
+++ b/src/plugins/graphicssystems/meego/qmeegoextensions.cpp
@@ -1,14 +1,41 @@
-/***************************************************************************
+/****************************************************************************
 **
 ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
 ** All rights reserved.
-** Contact: Nokia Corporation
+** Contact: Nokia Corporation (qt-info@nokia.com)
 **
-** This library is free software; you can redistribute it and/or
-** modify it under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation
-** and appearing in the file LICENSE.LGPL included in the packaging
-** of this file.
+** This file is part of the plugins of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights.  These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
 **
 ****************************************************************************/
 
diff --git a/src/plugins/graphicssystems/meego/qmeegoextensions.h b/src/plugins/graphicssystems/meego/qmeegoextensions.h
index b8e6195..7f219de 100644
--- a/src/plugins/graphicssystems/meego/qmeegoextensions.h
+++ b/src/plugins/graphicssystems/meego/qmeegoextensions.h
@@ -1,14 +1,41 @@
-/***************************************************************************
+/****************************************************************************
 **
 ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
 ** All rights reserved.
-** Contact: Nokia Corporation
+** Contact: Nokia Corporation (qt-info@nokia.com)
 **
-** This library is free software; you can redistribute it and/or
-** modify it under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation
-** and appearing in the file LICENSE.LGPL included in the packaging
-** of this file.
+** This file is part of the plugins of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights.  These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
 **
 ****************************************************************************/
 
diff --git a/src/plugins/graphicssystems/meego/qmeegographicssystem.cpp b/src/plugins/graphicssystems/meego/qmeegographicssystem.cpp
index e575cf3..e2c8425 100644
--- a/src/plugins/graphicssystems/meego/qmeegographicssystem.cpp
+++ b/src/plugins/graphicssystems/meego/qmeegographicssystem.cpp
@@ -1,14 +1,41 @@
-/***************************************************************************
+/****************************************************************************
 **
 ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
 ** All rights reserved.
-** Contact: Nokia Corporation
+** Contact: Nokia Corporation (qt-info@nokia.com)
 **
-** This library is free software; you can redistribute it and/or
-** modify it under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation
-** and appearing in the file LICENSE.LGPL included in the packaging
-** of this file.
+** This file is part of the plugins of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights.  These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
 **
 ****************************************************************************/
 
diff --git a/src/plugins/graphicssystems/meego/qmeegographicssystem.h b/src/plugins/graphicssystems/meego/qmeegographicssystem.h
index 8dc4f23..59392ad 100644
--- a/src/plugins/graphicssystems/meego/qmeegographicssystem.h
+++ b/src/plugins/graphicssystems/meego/qmeegographicssystem.h
@@ -1,14 +1,41 @@
-/***************************************************************************
+/****************************************************************************
 **
 ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
 ** All rights reserved.
-** Contact: Nokia Corporation
+** Contact: Nokia Corporation (qt-info@nokia.com)
 **
-** This library is free software; you can redistribute it and/or
-** modify it under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation
-** and appearing in the file LICENSE.LGPL included in the packaging
-** of this file.
+** This file is part of the plugins of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights.  These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
 **
 ****************************************************************************/
 
diff --git a/src/plugins/graphicssystems/meego/qmeegographicssystemplugin.cpp b/src/plugins/graphicssystems/meego/qmeegographicssystemplugin.cpp
index 15c74a0..7c142eb 100644
--- a/src/plugins/graphicssystems/meego/qmeegographicssystemplugin.cpp
+++ b/src/plugins/graphicssystems/meego/qmeegographicssystemplugin.cpp
@@ -1,14 +1,41 @@
-/***************************************************************************
+/****************************************************************************
 **
 ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
 ** All rights reserved.
-** Contact: Nokia Corporation
+** Contact: Nokia Corporation (qt-info@nokia.com)
 **
-** This library is free software; you can redistribute it and/or
-** modify it under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation
-** and appearing in the file LICENSE.LGPL included in the packaging
-** of this file.
+** This file is part of the plugins of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights.  These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
 **
 ****************************************************************************/
 
diff --git a/src/plugins/graphicssystems/meego/qmeegographicssystemplugin.h b/src/plugins/graphicssystems/meego/qmeegographicssystemplugin.h
index 76e180a..336458f 100644
--- a/src/plugins/graphicssystems/meego/qmeegographicssystemplugin.h
+++ b/src/plugins/graphicssystems/meego/qmeegographicssystemplugin.h
@@ -1,14 +1,41 @@
-/***************************************************************************
+/****************************************************************************
 **
 ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
 ** All rights reserved.
-** Contact: Nokia Corporation
+** Contact: Nokia Corporation (qt-info@nokia.com)
 **
-** This library is free software; you can redistribute it and/or
-** modify it under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation
-** and appearing in the file LICENSE.LGPL included in the packaging
-** of this file.
+** This file is part of the plugins of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights.  These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
 **
 ****************************************************************************/
 
diff --git a/src/plugins/graphicssystems/meego/qmeegopixmapdata.cpp b/src/plugins/graphicssystems/meego/qmeegopixmapdata.cpp
index b029761..33611dc 100644
--- a/src/plugins/graphicssystems/meego/qmeegopixmapdata.cpp
+++ b/src/plugins/graphicssystems/meego/qmeegopixmapdata.cpp
@@ -1,14 +1,41 @@
-/***************************************************************************
+/****************************************************************************
 **
 ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
 ** All rights reserved.
-** Contact: Nokia Corporation
+** Contact: Nokia Corporation (qt-info@nokia.com)
 **
-** This library is free software; you can redistribute it and/or
-** modify it under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation
-** and appearing in the file LICENSE.LGPL included in the packaging
-** of this file.
+** This file is part of the plugins of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights.  These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
 **
 ****************************************************************************/
 
diff --git a/src/plugins/graphicssystems/meego/qmeegopixmapdata.h b/src/plugins/graphicssystems/meego/qmeegopixmapdata.h
index 5fb7f9f..8af33bd 100644
--- a/src/plugins/graphicssystems/meego/qmeegopixmapdata.h
+++ b/src/plugins/graphicssystems/meego/qmeegopixmapdata.h
@@ -1,14 +1,41 @@
-/***************************************************************************
+/****************************************************************************
 **
 ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
 ** All rights reserved.
-** Contact: Nokia Corporation
+** Contact: Nokia Corporation (qt-info@nokia.com)
 **
-** This library is free software; you can redistribute it and/or
-** modify it under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation
-** and appearing in the file LICENSE.LGPL included in the packaging
-** of this file.
+** This file is part of the plugins of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights.  These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
 **
 ****************************************************************************/
 
-- 
cgit v0.12


From 34c08ff7048419713464b28679ac15a250bd7dd1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Samuel=20R=C3=B8dal?= <samuel.rodal@nokia.com>
Date: Mon, 6 Sep 2010 13:14:30 +0200
Subject: Imported meego graphics system helper sources.

From http://www.gitorious.com/meego-graphics/meego-graphics
---
 .../meegographicssystemhelper.pro                  |  19 +++
 .../mgraphicssystemhelper.cpp                      | 106 +++++++++++++++
 .../mgraphicssystemhelper.h                        | 148 +++++++++++++++++++++
 tools/qmeegographicssystemhelper/mliveimage.cpp    |  88 ++++++++++++
 tools/qmeegographicssystemhelper/mliveimage.h      |  79 +++++++++++
 tools/qmeegographicssystemhelper/mliveimage_p.h    |  36 +++++
 tools/qmeegographicssystemhelper/mlivepixmap.cpp   | 136 +++++++++++++++++++
 tools/qmeegographicssystemhelper/mlivepixmap.h     |  71 ++++++++++
 tools/qmeegographicssystemhelper/mlivepixmap_p.h   |  39 ++++++
 .../qmeegographicssystemhelper/moverlaywidget.cpp  |  72 ++++++++++
 tools/qmeegographicssystemhelper/moverlaywidget.h  |  59 ++++++++
 tools/qmeegographicssystemhelper/mruntime.cpp      | 112 ++++++++++++++++
 tools/qmeegographicssystemhelper/mruntime.h        |  36 +++++
 13 files changed, 1001 insertions(+)
 create mode 100644 tools/qmeegographicssystemhelper/meegographicssystemhelper.pro
 create mode 100644 tools/qmeegographicssystemhelper/mgraphicssystemhelper.cpp
 create mode 100644 tools/qmeegographicssystemhelper/mgraphicssystemhelper.h
 create mode 100644 tools/qmeegographicssystemhelper/mliveimage.cpp
 create mode 100644 tools/qmeegographicssystemhelper/mliveimage.h
 create mode 100644 tools/qmeegographicssystemhelper/mliveimage_p.h
 create mode 100644 tools/qmeegographicssystemhelper/mlivepixmap.cpp
 create mode 100644 tools/qmeegographicssystemhelper/mlivepixmap.h
 create mode 100644 tools/qmeegographicssystemhelper/mlivepixmap_p.h
 create mode 100644 tools/qmeegographicssystemhelper/moverlaywidget.cpp
 create mode 100644 tools/qmeegographicssystemhelper/moverlaywidget.h
 create mode 100644 tools/qmeegographicssystemhelper/mruntime.cpp
 create mode 100644 tools/qmeegographicssystemhelper/mruntime.h

diff --git a/tools/qmeegographicssystemhelper/meegographicssystemhelper.pro b/tools/qmeegographicssystemhelper/meegographicssystemhelper.pro
new file mode 100644
index 0000000..cab096e
--- /dev/null
+++ b/tools/qmeegographicssystemhelper/meegographicssystemhelper.pro
@@ -0,0 +1,19 @@
+TEMPLATE = lib
+TARGET = meegographicssystemhelper 
+QT += gui
+INCLUDEPATH += '../'
+LIBS += -L../plugin
+CONFIG += debug
+VERSION = 0.1.9
+HEADERS = mgraphicssystemhelper.h moverlaywidget.h mlivepixmap.h mliveimage.h mruntime.h mliveimage_p.h mlivepixmap_p.h
+SOURCES = mgraphicssystemhelper.cpp mgraphicssystemhelper.h moverlaywidget.h moverlaywidget.cpp mruntime.cpp mruntime.h mlivepixmap.cpp mlivepixmap.h mliveimage.h mliveimage.cpp mliveimage_p.h mlivepixmap_p.h
+
+target.path = /usr/lib/
+
+headers.files =  mgraphicssystemhelper.h moverlaywidget.h mlivepixmap.h mliveimage.h 
+headers.path = /usr/include/meegographicssystemhelper/
+
+pkg.files = meegographicssystemhelper.pc
+pkg.path = /usr/lib/pkgconfig/
+
+INSTALLS += target headers pkg
diff --git a/tools/qmeegographicssystemhelper/mgraphicssystemhelper.cpp b/tools/qmeegographicssystemhelper/mgraphicssystemhelper.cpp
new file mode 100644
index 0000000..ff921fd
--- /dev/null
+++ b/tools/qmeegographicssystemhelper/mgraphicssystemhelper.cpp
@@ -0,0 +1,106 @@
+/***************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation
+**
+** This library is free software; you can redistribute it and/or
+** modify it under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation
+** and appearing in the file LICENSE.LGPL included in the packaging
+** of this file.
+**
+****************************************************************************/
+
+#define ENSURE_RUNNING_MEEGO {if (! MGraphicsSystemHelper::isRunningMeeGo()) { qFatal("Using meego functionality but not running meego graphics system!"); }}
+
+#include "mgraphicssystemhelper.h"
+#include "../private/qapplication_p.h"
+#include "../private/qgraphicssystem_runtime_p.h"
+#include "../private/qpixmap_raster_p.h"
+#include "mruntime.h"
+
+QString MGraphicsSystemHelper::runningGraphicsSystemName()
+{
+    if (! QApplicationPrivate::instance()) {
+        qWarning("Querying graphics system but application not running yet!");
+        return "";
+    }
+
+    QString name = QApplicationPrivate::instance()->graphics_system_name;
+    if (name == "runtime") {
+        QRuntimeGraphicsSystem *rsystem = (QRuntimeGraphicsSystem *) QApplicationPrivate::instance()->graphics_system;
+        name = rsystem->graphicsSystemName();
+    }
+
+    return name;
+}
+
+bool MGraphicsSystemHelper::isRunningMeeGo()
+{
+    return (runningGraphicsSystemName() == "meego");
+}
+
+void MGraphicsSystemHelper::switchToMeeGo()
+{
+    if (runningGraphicsSystemName() == "meego")
+        return;
+
+    if (QApplicationPrivate::instance()->graphics_system_name != "runtime")
+        qWarning("Can't switch to meego - switching only supported with 'runtime' graphics system.");
+    else {
+        QApplication *app = static_cast<QApplication *>(QCoreApplication::instance());
+        app->setGraphicsSystem("meego");
+    }
+}
+
+void MGraphicsSystemHelper::switchToRaster()
+{
+    if (runningGraphicsSystemName() == "raster")
+        return;
+
+    if (QApplicationPrivate::instance()->graphics_system_name != "runtime")
+        qWarning("Can't switch to raster - switching only supported with 'runtime' graphics system.");
+    else {
+        QApplication *app = static_cast<QApplication *>(QCoreApplication::instance());
+        app->setGraphicsSystem("raster");
+    }
+}
+
+Qt::HANDLE MGraphicsSystemHelper::imageToEGLSharedImage(const QImage &image)
+{
+    ENSURE_RUNNING_MEEGO;
+    return MRuntime::imageToEGLSharedImage(image);
+}
+
+QPixmap MGraphicsSystemHelper::pixmapFromEGLSharedImage(Qt::HANDLE handle, const QImage &softImage)
+{
+    // This function is supported when not running meego too. A raster-backed
+    // pixmap will be created... but when you switch back to 'meego', it'll 
+    // be replaced with a EGL shared image backing.
+    return MRuntime::pixmapFromEGLSharedImage(handle, softImage);
+}
+
+QPixmap MGraphicsSystemHelper::pixmapWithGLTexture(int w, int h)
+{
+    ENSURE_RUNNING_MEEGO;
+    return MRuntime::pixmapWithGLTexture(w, h);
+}
+
+bool MGraphicsSystemHelper::destroyEGLSharedImage(Qt::HANDLE handle)
+{
+    ENSURE_RUNNING_MEEGO;
+    return MRuntime::destroyEGLSharedImage(handle);
+}
+
+void MGraphicsSystemHelper::updateEGLSharedImagePixmap(QPixmap *p)
+{
+    ENSURE_RUNNING_MEEGO;
+    return MRuntime::updateEGLSharedImagePixmap(p);
+}
+
+void MGraphicsSystemHelper::setTranslucent(bool translucent)
+{
+    ENSURE_RUNNING_MEEGO;
+    MRuntime::setTranslucent(translucent);
+}
diff --git a/tools/qmeegographicssystemhelper/mgraphicssystemhelper.h b/tools/qmeegographicssystemhelper/mgraphicssystemhelper.h
new file mode 100644
index 0000000..1966648
--- /dev/null
+++ b/tools/qmeegographicssystemhelper/mgraphicssystemhelper.h
@@ -0,0 +1,148 @@
+/***************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation
+**
+** This library is free software; you can redistribute it and/or
+** modify it under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation
+** and appearing in the file LICENSE.LGPL included in the packaging
+** of this file.
+**
+****************************************************************************/
+
+#ifndef MGRAPHICSSYSTEMHELPER_H
+#define MGRAPHICSSYSTEMHELPER_H
+
+#include <QPixmap>
+#include <QImage>
+#include "mlivepixmap.h"
+
+class QLibrary;
+
+//! The base class for accressing special meego graphics system features. 
+/*!
+ This class is a helper class with static-only methods for accessing various
+ meego graphics system functionalities. The way it works is that the helper
+ dynamically calls-in to the loaded graphicssystem plugin... therefore, you're 
+ expected to make sure that you're indeed running with 'meego' before using any
+ of the specialized methods. 
+
+ In example:
+
+ \code
+ QPixmap p;
+ if (MGraphicsSystemHelper::isRunningMeeGo()) {
+    p = MGraphicsSystemHelper::pixmapWithGLTexture(64, 64);
+ } else {
+    p = QPixmap(64, 64);
+ }
+ \endcode
+
+ Calling any of the meego-specific features while not running meego might
+ give unpredictable results. The only functions safe to call at all times are:
+
+ \code
+ MGraphicsSystemHelper::isRunningMeeGo();
+ MGraphicsSystemHelper::runningGraphicsSystemName(); 
+ MGraphicsSystemHelper::switchToMeeGo();
+ MGraphicsSystemHelper::switchToRaster();
+ \endcode
+*/
+
+class MGraphicsSystemHelper 
+{
+public:
+    //! Returns true if running meego.
+    /*! 
+     Returns true if the currently active (running) system is 'meego' with OpenGL. 
+     This returns both true if the app was started with 'meego' or was started with
+     'runtime' graphics system and the currently active system through the runtime
+     switching is 'meego'.
+    */
+    static bool isRunningMeeGo();
+
+    //! Switches to meego graphics system. 
+    /*!
+     When running with the 'runtime' graphics system, sets the currently active 
+     system to 'meego'. The window surface and all the resources are automatically
+     migrated to OpenGL. Will fail if the active graphics system is not 'runtime'.
+    */
+    static void switchToMeeGo();
+
+    //! Switches to raster graphics system
+    /*!
+     When running with the 'runtime' graphics system, sets the currently active
+     system to 'raster'. The window surface and the graphics resources (including the 
+     EGL shared image resources) are automatically migrated back to the CPU. All OpenGL 
+     resources (surface, context, cache, font cache) are automaticall anihilated.
+    */
+    static void switchToRaster();
+
+    //! Returns the name of the active graphics system
+    /*!
+     Returns the name of the currently active system. If running with 'runtime' graphics 
+     system, returns the name of the active system inside the runtime graphics system
+    */
+    static QString runningGraphicsSystemName();
+
+    //! Creates a new EGL shared image.
+    /*! 
+     Creates a new EGL shared image from the given image. The EGL shared image wraps
+     a GL texture in the native format and can be easily accessed from other processes.
+    */
+    static Qt::HANDLE imageToEGLSharedImage(const QImage &image);
+
+    //! Creates a QPixmap from an EGL shared image
+    /*!
+     Creates a new QPixmap from the given EGL shared image handle. The QPixmap can be 
+     used for painting like any other pixmap. The softImage should point to an alternative, 
+     software version of the graphical resource -- ie. obtained from theme daemon. The 
+     softImage can be allocated on a QSharedMemory slice for easy sharing across processes
+     too. When the application is migrated ToRaster, this softImage will replace the
+     contents of the sharedImage.
+     
+     It's ok to call this function too when not running 'meego' graphics system. In this
+     case it'll create a QPixmap backed with a raster data (from softImage)... but when 
+     the system is switched back to 'meego', the QPixmap will be migrated to a EGL-shared image
+     backed storage (handle).
+    */
+    static QPixmap pixmapFromEGLSharedImage(Qt::HANDLE handle, const QImage &softImage);
+
+    //! Destroys an EGL shared image. 
+    /*!
+     Destroys an EGLSharedImage previously created with an ::imageToEGLSharedImage call.
+     Returns true if the image was found and the destruction was successfull. Notice that
+     this destroys the image for all processes using it. 
+    */
+    static bool destroyEGLSharedImage(Qt::HANDLE handle);
+    
+    //! Updates the QPixmap backed with an EGLShared image. 
+    /*! 
+     This function re-reads the softImage that was specified when creating the pixmap with
+     ::pixmapFromEGLSharedImage and updates the EGL Shared image contents. It can be used
+     to share cross-proccess mutable EGLShared images. 
+    */
+    static void updateEGLSharedImagePixmap(QPixmap *p);
+
+    //! Create a new QPixmap with a GL texture.
+    /*!
+     Creates a new QPixmap which is backed by an OpenGL local texture. Drawing to this
+     QPixmap will be accelerated by hardware -- unlike the normal (new QPixmap()) pixmaps, 
+     which are backed by a software engine and only migrated to GPU when used. Migrating those
+     GL-backed pixmaps when going ToRaster is expsensive (they need to be downloaded from 
+     GPU to CPU) so use wisely. 
+    */
+    static QPixmap pixmapWithGLTexture(int w, int h);
+    
+    //! Sets translucency (alpha) on the base window surface.
+    /*!
+     This function needs to be called *before* any widget/content is created. 
+     When called with true, the base window surface will be translucent and initialized
+     with QGLFormat.alpha == true.
+    */
+    static void setTranslucent(bool translucent);
+};
+
+#endif
diff --git a/tools/qmeegographicssystemhelper/mliveimage.cpp b/tools/qmeegographicssystemhelper/mliveimage.cpp
new file mode 100644
index 0000000..37ead21
--- /dev/null
+++ b/tools/qmeegographicssystemhelper/mliveimage.cpp
@@ -0,0 +1,88 @@
+/***************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation
+**
+** This library is free software; you can redistribute it and/or
+** modify it under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation
+** and appearing in the file LICENSE.LGPL included in the packaging
+** of this file.
+**
+****************************************************************************/
+
+#include "mliveimage.h"
+#include "mliveimage_p.h"
+#include "mlivepixmap.h"
+#include "mlivepixmap_p.h"
+
+/* MLiveImagePrivate */
+
+MLiveImagePrivate::MLiveImagePrivate()
+{
+}
+
+MLiveImagePrivate::~MLiveImagePrivate()
+{
+    if (attachedPixmaps.length() > 0)
+        qWarning("Destroying MLiveImage but it still has MLivePixmaps attached!");
+}
+
+void MLiveImagePrivate::attachPixmap(MLivePixmap* pixmap)
+{
+    attachedPixmaps << pixmap;
+}
+
+void MLiveImagePrivate::detachPixmap(MLivePixmap* pixmap)
+{
+    attachedPixmaps.removeAll(pixmap);
+}
+
+/* MLiveImage */
+
+MLiveImage* MLiveImage::liveImageWithSize(int w, int h, Format format, int buffers)
+{
+    if (format != Format_ARGB32_Premultiplied) {
+        qWarning("Only _ARGB32_Premultiplied format is supported for live images now!");
+        return 0;
+    }
+    
+    if (buffers != 1) {
+        qWarning("Only single-buffer streams are supported at the moment");
+        return 0;
+    }
+    
+    MLiveImage *liveImage = new MLiveImage(w, h);
+    return liveImage;
+}
+
+MLiveImage::MLiveImage(int w, int h) : QImage(w, h, QImage::Format_ARGB32_Premultiplied), d_ptr(new MLiveImagePrivate())
+{
+    Q_D(MLiveImage);
+    d->q_ptr = this;
+}
+
+MLiveImage::~MLiveImage()
+{
+}
+
+void MLiveImage::lock(int buffer)
+{
+    if (buffer != 0)
+        qWarning("Only locking 0 buffer is supported at the moment!");
+}
+
+void MLiveImage::release(int buffer)
+{
+    Q_D(MLiveImage);
+    
+    if (buffer != 0) {
+        qWarning("Only locking 0 buffer is supported at the moment!");
+        return;
+    }
+
+    // We need to copy the update image to all the client MLivePixmap's
+    foreach (MLivePixmap* livePixmap, d->attachedPixmaps) 
+        livePixmap->d_ptr->copyBackFrom((const void *) bits());
+}
\ No newline at end of file
diff --git a/tools/qmeegographicssystemhelper/mliveimage.h b/tools/qmeegographicssystemhelper/mliveimage.h
new file mode 100644
index 0000000..f945b34
--- /dev/null
+++ b/tools/qmeegographicssystemhelper/mliveimage.h
@@ -0,0 +1,79 @@
+/***************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation
+**
+** This library is free software; you can redistribute it and/or
+** modify it under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation
+** and appearing in the file LICENSE.LGPL included in the packaging
+** of this file.
+**
+****************************************************************************/
+
+#ifndef MLIVEIMAGE_H
+#define MLIVEIMAGE_H
+
+#include <QImage>
+
+class MLivePixmap;
+class MLiveImagePrivate;
+
+//! A streamable QImage subclass.
+/*!
+*/
+
+class MLiveImage : public QImage
+{
+public:
+    //! Format specifier.
+    /*! 
+     Used to specify the format of the underlying image data for MLiveImage. 
+    */
+    enum Format {
+        Format_ARGB32_Premultiplied //! 32bit, AARRGGBB format. The typical Qt format.
+    };
+    
+    //! Locks the access to the image. 
+    /*! 
+     All drawing/access to the underlying image data needs to happen between 
+     ::lock() and ::unlock() pairs.
+     */
+    void lock(int buffer = 0);
+    
+    //! Unlocks the access to the image. 
+    /*! 
+     All drawing/access to the underlying image data needs to happen between 
+     ::lock() and ::unlock() pairs.
+     */
+    void release(int buffer = 0);
+    
+    //! Destroys the image.
+    /*!
+      It's a mistake to destroy an image before destroying all the MLivePixmaps
+      built on top of it. You should first destroy all the MLivePixmaps.
+     */
+    virtual ~MLiveImage();
+    
+    //! Creates and returns a new live image with the given parameters.
+    /*!
+     The new image is created with the given width w and the given height h. 
+     The format specifies the color format used by the image. Optionally, a 
+     number of buffers can be specfied for a stream-like behavior.
+     */
+    static MLiveImage* liveImageWithSize(int w, int h, Format format, int buffers = 1);
+
+private:
+    MLiveImage(int w, int h); //! Private bits.
+    Q_DISABLE_COPY(MLiveImage)
+    Q_DECLARE_PRIVATE(MLiveImage)
+
+protected:
+    QScopedPointer<MLiveImagePrivate> d_ptr;
+
+    friend class MLivePixmap;
+    friend class MLivePixmapPrivate;
+};
+
+#endif
diff --git a/tools/qmeegographicssystemhelper/mliveimage_p.h b/tools/qmeegographicssystemhelper/mliveimage_p.h
new file mode 100644
index 0000000..0789b93
--- /dev/null
+++ b/tools/qmeegographicssystemhelper/mliveimage_p.h
@@ -0,0 +1,36 @@
+/***************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation
+**
+** This library is free software; you can redistribute it and/or
+** modify it under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation
+** and appearing in the file LICENSE.LGPL included in the packaging
+** of this file.
+**
+****************************************************************************/
+
+#include "mliveimage.h"
+
+#ifndef MLIVEIMAGE_P_H
+#define MLIVEIMAGE_P_H
+
+class MLiveImagePrivate
+{
+public:
+    Q_DECLARE_PUBLIC(MLiveImage);
+    MLiveImagePrivate();
+    virtual ~MLiveImagePrivate();
+    void attachPixmap(MLivePixmap* pixmap);
+    void detachPixmap(MLivePixmap* pixmap);
+        
+    QList <MLivePixmap*> attachedPixmaps;
+    MLiveImage *q_ptr;
+    
+    friend class MLivePixmap;
+    friend class MLivePixmapPrivate;
+};
+
+#endif
\ No newline at end of file
diff --git a/tools/qmeegographicssystemhelper/mlivepixmap.cpp b/tools/qmeegographicssystemhelper/mlivepixmap.cpp
new file mode 100644
index 0000000..2f7abd7
--- /dev/null
+++ b/tools/qmeegographicssystemhelper/mlivepixmap.cpp
@@ -0,0 +1,136 @@
+/***************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation
+**
+** This library is free software; you can redistribute it and/or
+** modify it under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation
+** and appearing in the file LICENSE.LGPL included in the packaging
+** of this file.
+**
+****************************************************************************/
+
+#include "mlivepixmap.h"
+#include "../private/qimage_p.h"
+#include "../private/qpixmap_raster_p.h"
+#include "mlivepixmap_p.h"
+#include "mliveimage_p.h"
+#include <QSharedMemory>
+
+/* MLivePixmapPrivate */
+
+MLivePixmapPrivate::MLivePixmapPrivate() : shm(0), shmSerial(0), owns(true), parentImage(0)
+{
+}
+
+void MLivePixmapPrivate::copyBackFrom(const void *raw)
+{
+    Q_Q(MLivePixmap);
+    
+    q->detach();
+    shm->lock();
+    uchar *dest = ((uchar *) shm->data()) + (2 * sizeof(int));
+    memcpy(dest, raw, q->width() * q->height() * 4);
+    shm->unlock();
+}
+
+MLivePixmapPrivate::~MLivePixmapPrivate()
+{
+    Q_Q(MLivePixmap);
+    
+    if (parentImage)
+        parentImage->d_ptr->detachPixmap(q);
+
+    if (shm)
+        shm->detach();
+        
+    if (owns)
+        delete shm;        
+}
+
+/* MLivePixmap */
+
+MLivePixmap::MLivePixmap(QPixmapData *p) : QPixmap(p), d_ptr(new MLivePixmapPrivate())
+{
+    Q_D(MLivePixmap);
+    d->q_ptr = this;
+}
+
+MLivePixmap* MLivePixmap::fromLiveImage(MLiveImage *liveImage)
+{
+    static int counter = 100;
+    QSharedMemory *shm = NULL;
+    uchar* imgData = NULL;
+    int *header = NULL;
+    int w = liveImage->width();
+    int h = liveImage->height();
+    
+    counter++;
+    shm = new QSharedMemory(QString("MLivePixmap%1").arg(counter));
+    shm->create((w * h * 4) + 2 * sizeof(int)); // +2 to store width & height
+    shm->attach();
+    
+    imgData = ((uchar *) shm->data()) + (2 * sizeof(int));
+    header = (int *) shm->data();
+    
+    header[0] = w;
+    header[1] = h;
+    
+    QImage img(imgData, w, h, QImage::Format_ARGB32_Premultiplied);
+    
+    QPixmapData *pmd = new QRasterPixmapData(QPixmapData::PixmapType);
+    pmd->fromImage(img, Qt::NoOpaqueDetection);
+    
+    MLivePixmap *livePixmap = new MLivePixmap(pmd);
+    livePixmap->d_ptr->shm = shm;
+    livePixmap->d_ptr->owns = true;
+    livePixmap->d_ptr->shmSerial = counter;
+    livePixmap->d_ptr->parentImage = liveImage;
+    
+    liveImage->d_ptr->attachPixmap(livePixmap);
+
+    return livePixmap;    
+}
+
+MLivePixmap* MLivePixmap::fromHandle(Qt::HANDLE handle)
+{
+    QSharedMemory *shm = NULL;
+    int *header;
+    int width;
+    int height;
+    uchar* imgData;
+    
+    shm = new QSharedMemory(QString("MLivePixmap%1").arg(handle));
+    shm->attach();
+    
+    shm->lock();
+    header = (int *) shm->data();
+    width = header[0];
+    height = header[1];
+    shm->unlock();
+    
+    imgData = ((uchar *) shm->data()) + (2 * sizeof(int));
+    QImage img(imgData, width, height, QImage::Format_ARGB32_Premultiplied);
+    
+    QPixmapData *pmd = new QRasterPixmapData(QPixmapData::PixmapType);
+    pmd->fromImage(img, Qt::NoOpaqueDetection);
+
+    MLivePixmap *livePixmap = new MLivePixmap(pmd);
+    livePixmap->d_ptr->shm = shm;
+    livePixmap->d_ptr->owns = false;
+    livePixmap->d_ptr->shmSerial = handle;
+
+    return livePixmap;
+}
+
+MLivePixmap::~MLivePixmap()
+{
+}
+
+Qt::HANDLE MLivePixmap::handle()
+{
+    Q_D(MLivePixmap);
+    return d->shmSerial;
+}
diff --git a/tools/qmeegographicssystemhelper/mlivepixmap.h b/tools/qmeegographicssystemhelper/mlivepixmap.h
new file mode 100644
index 0000000..dee4d2a
--- /dev/null
+++ b/tools/qmeegographicssystemhelper/mlivepixmap.h
@@ -0,0 +1,71 @@
+/***************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation
+**
+** This library is free software; you can redistribute it and/or
+** modify it under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation
+** and appearing in the file LICENSE.LGPL included in the packaging
+** of this file.
+**
+****************************************************************************/
+
+#ifndef MLIVEPIXMAP_H
+#define MLIVEPIXMAP_H
+
+#include <QPixmap>
+#include "mliveimage.h"
+
+class MLivePixmapPrivate;
+class QSharedMemory;
+class QImage;
+
+//! A pixmap representing streamed content.
+/*!
+*/
+
+class MLivePixmap : public QPixmap
+{
+public:
+    //! Creates new pixmap from the given MLiveImage.
+    /*! 
+     The created MLivePixmap will be attached to the given MLiveImage. 
+     Updates to the MLiveImage will be represented on this newly created
+     MLivePixmap.
+    */
+    static MLivePixmap* fromLiveImage(MLiveImage *liveImage);
+    
+    //! Creates a new MLivePixmap from the specified handle.
+    /*! 
+     The handle can be used to share MLivePixmap cross-process.
+    */
+    static MLivePixmap* fromHandle(Qt::HANDLE handle);
+    
+    //! Returns the handle for this MLivePixmap.
+    /*! 
+     The handle can be used to share MLivePixmap cross-process.
+    */
+    Qt::HANDLE handle();
+    
+    //! Destroys the MLivePixmap.
+    /*! 
+     All MLivePixmaps attached to a given MLiveImage have to be destroyed 
+     before the MLiveImage itself is destroyed.
+    */
+    virtual ~MLivePixmap();
+
+private:
+    MLivePixmap(QPixmapData *p);
+    Q_DISABLE_COPY(MLivePixmap)
+    Q_DECLARE_PRIVATE(MLivePixmap)
+
+protected:
+    QScopedPointer<MLivePixmapPrivate> d_ptr; //! Private bits.
+
+    friend class MLiveImage;
+    friend class MLiveImagePrivate;
+};
+
+#endif
diff --git a/tools/qmeegographicssystemhelper/mlivepixmap_p.h b/tools/qmeegographicssystemhelper/mlivepixmap_p.h
new file mode 100644
index 0000000..4ff64de
--- /dev/null
+++ b/tools/qmeegographicssystemhelper/mlivepixmap_p.h
@@ -0,0 +1,39 @@
+/***************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation
+**
+** This library is free software; you can redistribute it and/or
+** modify it under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation
+** and appearing in the file LICENSE.LGPL included in the packaging
+** of this file.
+**
+****************************************************************************/
+
+#include "mlivepixmap.h"
+
+#ifndef MLIVEPIXMAP_P_H
+#define MLIVEPIXMAP_P_H
+
+class MLivePixmapPrivate
+{
+public:
+    Q_DECLARE_PUBLIC(MLivePixmap);
+    MLivePixmapPrivate();
+    void copyBackFrom(const void *raw);
+    virtual ~MLivePixmapPrivate();
+    
+    QSharedMemory *shm;
+    int shmSerial;
+    bool owns;
+    MLiveImage *parentImage;
+    
+    MLivePixmap *q_ptr;
+    
+    friend class MLiveImage;
+    friend class MLiveImagePrivate;
+};
+
+#endif
\ No newline at end of file
diff --git a/tools/qmeegographicssystemhelper/moverlaywidget.cpp b/tools/qmeegographicssystemhelper/moverlaywidget.cpp
new file mode 100644
index 0000000..8f64b3f
--- /dev/null
+++ b/tools/qmeegographicssystemhelper/moverlaywidget.cpp
@@ -0,0 +1,72 @@
+/***************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation
+**
+** This library is free software; you can redistribute it and/or
+** modify it under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation
+** and appearing in the file LICENSE.LGPL included in the packaging
+** of this file.
+**
+****************************************************************************/
+
+#include <QDebug>
+#include <QEvent>
+#include <QMouseEvent>
+#include <QCoreApplication>
+#include "moverlaywidget.h"
+#include "mgraphicssystemhelper.h"
+#include "mruntime.h"
+
+MOverlayWidget::MOverlayWidget(int surfaceWidth, int surfaceHeight, QWidget *parent) : QWidget(parent, 0), 
+    sw(surfaceWidth), 
+    sh(surfaceHeight)
+{
+    if (! MGraphicsSystemHelper::isRunningMeeGo())
+        qFatal("MOverlayWidget can only be used when running with 'meego' graphics system!");
+
+    MRuntime::setSurfaceFixedSize(surfaceWidth, surfaceHeight);
+
+    scaleW = sw / 864.0;
+    scaleH = sh / 480.0;
+    installEventFilter(this);
+}
+
+QPoint MOverlayWidget::convertPoint(const QPoint &p)
+{
+    int x = p.x() * scaleW;
+    int y = p.y() * scaleH;
+    return QPoint(x, y);
+}
+
+void MOverlayWidget::showEvent(QShowEvent *event)
+{
+    MRuntime::setSurfaceScaling(0, 0, width(), height());
+}
+
+bool MOverlayWidget::eventFilter(QObject *obj, QEvent *event)
+{
+    if (event->spontaneous() == false)
+        return false;
+
+    switch(event->type()) {
+        case QEvent::MouseButtonPress:
+        case QEvent::MouseButtonRelease:
+        {
+            QMouseEvent *e = static_cast <QMouseEvent *>(event);
+            QMouseEvent newEvent = QMouseEvent(e->type(), 
+                                               convertPoint(e->pos()), 
+                                               convertPoint(e->globalPos()), 
+                                               e->button(), 
+                                               e->buttons(), 
+                                               e->modifiers());
+            QCoreApplication::sendEvent(this, &newEvent);
+            return true;
+        }
+
+        default:
+            return false;
+    }
+}
diff --git a/tools/qmeegographicssystemhelper/moverlaywidget.h b/tools/qmeegographicssystemhelper/moverlaywidget.h
new file mode 100644
index 0000000..f45a673
--- /dev/null
+++ b/tools/qmeegographicssystemhelper/moverlaywidget.h
@@ -0,0 +1,59 @@
+/***************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation
+**
+** This library is free software; you can redistribute it and/or
+** modify it under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation
+** and appearing in the file LICENSE.LGPL included in the packaging
+** of this file.
+**
+****************************************************************************/
+
+#ifndef MOVERLAYWIDGET_H
+#define MOVERLAYWIDGET_H
+
+#include <QWidget>
+
+//! A widget automatically scaling it's content.
+/*!
+*/
+
+class MOverlayWidget : public QWidget
+{
+public:
+    //! Constructs a new scaling widget.
+    /*!
+     The real surface used for this widget will have the specified
+     width and height.
+    */
+    MOverlayWidget(int surfaceWidth, int surfaceHeight, QWidget *parent = 0);
+
+
+    //! Event filtering function. 
+    /*!
+      Converts coordinates for mouse/touch event. Do not
+      call manually.
+    */
+    bool eventFilter(QObject *obj, QEvent *event);
+
+    //! Standard override.
+    /*!
+     The surface scaling on the target paint device is being
+     set when the widget is displayed for the first time.
+    */
+    virtual void showEvent(QShowEvent *event);
+
+private:
+    //! Converts coordinates between real & virtual area of the widget.
+    QPoint convertPoint(const QPoint &p);
+
+    int sw; /// Surface real width.
+    int sh; /// Surface real height.
+    float scaleW; /// Width scaling factor.
+    float scaleH; /// Height scaling factor.
+};
+
+#endif
diff --git a/tools/qmeegographicssystemhelper/mruntime.cpp b/tools/qmeegographicssystemhelper/mruntime.cpp
new file mode 100644
index 0000000..b1b0874
--- /dev/null
+++ b/tools/qmeegographicssystemhelper/mruntime.cpp
@@ -0,0 +1,112 @@
+/***************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation
+**
+** This library is free software; you can redistribute it and/or
+** modify it under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation
+** and appearing in the file LICENSE.LGPL included in the packaging
+** of this file.
+**
+****************************************************************************/
+
+#include "mruntime.h"
+
+#define ENSURE_INITIALIZED {if (!initialized) initialize();}
+
+QLibrary* MRuntime::library = NULL;
+bool MRuntime::initialized = false;
+
+typedef int (*MImageToEglSharedImageFunc) (const QImage&);
+typedef QPixmapData* (*MPixmapDataFromEglSharedImageFunc) (Qt::HANDLE handle, const QImage&);
+typedef QPixmapData* (*MPixmapDataWithGLTextureFunc) (int w, int h);
+typedef bool (*MDestroyEGLSharedImageFunc) (Qt::HANDLE handle);
+typedef void (*MUpdateEglSharedImagePixmapFunc) (QPixmap*);
+typedef void (*MSetSurfaceFixedSizeFunc) (int w, int h);
+typedef void (*MSetSurfaceScalingFunc) (int x, int y, int w, int h);
+typedef void (*MSetTranslucentFunc) (bool translucent);
+
+static MImageToEglSharedImageFunc m_image_to_egl_shared_image = NULL;
+static MPixmapDataFromEglSharedImageFunc m_pixmapdata_from_egl_shared_image = NULL;
+static MPixmapDataWithGLTextureFunc m_pixmapdata_with_gl_texture = NULL;
+static MDestroyEGLSharedImageFunc m_destroy_egl_shared_image = NULL;
+static MUpdateEglSharedImagePixmapFunc m_update_egl_shared_image_pixmap = NULL;
+static MSetSurfaceFixedSizeFunc m_set_surface_fixed_size = NULL;
+static MSetSurfaceScalingFunc m_set_surface_scaling = NULL;
+static MSetTranslucentFunc m_set_translucent = NULL;
+
+void MRuntime::initialize()
+{
+    library = new QLibrary("/usr/lib/qt4/plugins/graphicssystems/libmeegographicssystem.so");
+    Q_ASSERT(library);
+    
+    m_image_to_egl_shared_image = (MImageToEglSharedImageFunc) library->resolve("m_image_to_egl_shared_image");
+    m_pixmapdata_from_egl_shared_image = (MPixmapDataFromEglSharedImageFunc)  library->resolve("m_pixmapdata_from_egl_shared_image");
+    m_pixmapdata_with_gl_texture = (MPixmapDataWithGLTextureFunc) library->resolve("m_pixmapdata_with_gl_texture");
+    m_destroy_egl_shared_image = (MDestroyEGLSharedImageFunc) library->resolve("m_destroy_egl_shared_image");
+    m_update_egl_shared_image_pixmap = (MUpdateEglSharedImagePixmapFunc) library->resolve("m_update_egl_shared_image_pixmap");
+    m_set_surface_fixed_size = (MSetSurfaceFixedSizeFunc) library->resolve("m_set_surface_fixed_size");
+    m_set_surface_scaling = (MSetSurfaceScalingFunc) library->resolve("m_set_surface_scaling");
+    m_set_translucent = (MSetTranslucentFunc) library->resolve("m_set_translucent");
+    
+    
+    initialized = true;
+}
+
+Qt::HANDLE MRuntime::imageToEGLSharedImage(const QImage &image)
+{
+    ENSURE_INITIALIZED;
+    Q_ASSERT(m_image_to_egl_shared_image);
+    return m_image_to_egl_shared_image(image);
+}
+
+QPixmap MRuntime::pixmapFromEGLSharedImage(Qt::HANDLE handle, const QImage &softImage)
+{
+    ENSURE_INITIALIZED;
+    Q_ASSERT(m_pixmapdata_from_egl_shared_image);
+    return QPixmap(m_pixmapdata_from_egl_shared_image(handle, softImage));
+}
+
+QPixmap MRuntime::pixmapWithGLTexture(int w, int h)
+{
+    ENSURE_INITIALIZED;
+    Q_ASSERT(m_pixmapdata_with_gl_texture);
+    return QPixmap(m_pixmapdata_with_gl_texture(w, h));
+}
+
+bool MRuntime::destroyEGLSharedImage(Qt::HANDLE handle)
+{
+    ENSURE_INITIALIZED;
+    Q_ASSERT(m_destroy_egl_shared_image);
+    return m_destroy_egl_shared_image(handle);
+}
+
+void MRuntime::updateEGLSharedImagePixmap(QPixmap *p)
+{
+    ENSURE_INITIALIZED;
+    Q_ASSERT(m_update_egl_shared_image_pixmap);
+    return m_update_egl_shared_image_pixmap(p);
+}
+
+void MRuntime::setSurfaceFixedSize(int w, int h)
+{
+    ENSURE_INITIALIZED;
+    Q_ASSERT(m_set_surface_fixed_size);
+    m_set_surface_fixed_size(w, h);
+}
+
+void MRuntime::setSurfaceScaling(int x, int y, int w, int h)
+{
+    ENSURE_INITIALIZED;
+    Q_ASSERT(m_set_surface_scaling);
+    m_set_surface_scaling(x, y, w, h);
+}
+
+void MRuntime::setTranslucent(bool translucent)
+{
+    ENSURE_INITIALIZED;
+    Q_ASSERT(m_set_translucent);
+    m_set_translucent(translucent);
+}
diff --git a/tools/qmeegographicssystemhelper/mruntime.h b/tools/qmeegographicssystemhelper/mruntime.h
new file mode 100644
index 0000000..34474cc
--- /dev/null
+++ b/tools/qmeegographicssystemhelper/mruntime.h
@@ -0,0 +1,36 @@
+/***************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation
+**
+** This library is free software; you can redistribute it and/or
+** modify it under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation
+** and appearing in the file LICENSE.LGPL included in the packaging
+** of this file.
+**
+****************************************************************************/
+
+#include <QLibrary>
+#include <QPixmap>
+#include <QImage>
+
+class MRuntime
+{
+public:
+    static void initialize();
+    
+    static Qt::HANDLE imageToEGLSharedImage(const QImage &image);
+    static QPixmap pixmapFromEGLSharedImage(Qt::HANDLE handle, const QImage &softImage);
+    static QPixmap pixmapWithGLTexture(int w, int h);
+    static bool destroyEGLSharedImage(Qt::HANDLE handle);
+    static void updateEGLSharedImagePixmap(QPixmap *p);
+    static void setSurfaceFixedSize(int w, int h);
+    static void setSurfaceScaling(int x, int y, int w, int h);
+    static void setTranslucent(bool translucent);
+
+private:
+    static bool initialized;
+    static QLibrary *library;  
+};
\ No newline at end of file
-- 
cgit v0.12


From ca1a8a7f4ad1fb249f47085e6ad0cf133122c0f0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Samuel=20R=C3=B8dal?= <samuel.rodal@nokia.com>
Date: Mon, 6 Sep 2010 13:19:30 +0200
Subject: Renamed meego graphics system helper files.

---
 .../meegographicssystemhelper.pro                  |  19 ---
 .../mgraphicssystemhelper.cpp                      | 106 ---------------
 .../mgraphicssystemhelper.h                        | 148 ---------------------
 tools/qmeegographicssystemhelper/mliveimage.cpp    |  88 ------------
 tools/qmeegographicssystemhelper/mliveimage.h      |  79 -----------
 tools/qmeegographicssystemhelper/mliveimage_p.h    |  36 -----
 tools/qmeegographicssystemhelper/mlivepixmap.cpp   | 136 -------------------
 tools/qmeegographicssystemhelper/mlivepixmap.h     |  71 ----------
 tools/qmeegographicssystemhelper/mlivepixmap_p.h   |  39 ------
 .../qmeegographicssystemhelper/moverlaywidget.cpp  |  72 ----------
 tools/qmeegographicssystemhelper/moverlaywidget.h  |  59 --------
 tools/qmeegographicssystemhelper/mruntime.cpp      | 112 ----------------
 tools/qmeegographicssystemhelper/mruntime.h        |  36 -----
 .../qmeegographicssystemhelper.cpp                 | 106 +++++++++++++++
 .../qmeegographicssystemhelper.h                   | 148 +++++++++++++++++++++
 .../qmeegographicssystemhelper.pro                 |  19 +++
 .../qmeegographicssystemhelper/qmeegoliveimage.cpp |  88 ++++++++++++
 tools/qmeegographicssystemhelper/qmeegoliveimage.h |  79 +++++++++++
 .../qmeegographicssystemhelper/qmeegoliveimage_p.h |  36 +++++
 .../qmeegolivepixmap.cpp                           | 136 +++++++++++++++++++
 .../qmeegographicssystemhelper/qmeegolivepixmap.h  |  71 ++++++++++
 .../qmeegolivepixmap_p.h                           |  39 ++++++
 .../qmeegooverlaywidget.cpp                        |  72 ++++++++++
 .../qmeegooverlaywidget.h                          |  59 ++++++++
 tools/qmeegographicssystemhelper/qmeegoruntime.cpp | 112 ++++++++++++++++
 tools/qmeegographicssystemhelper/qmeegoruntime.h   |  36 +++++
 26 files changed, 1001 insertions(+), 1001 deletions(-)
 delete mode 100644 tools/qmeegographicssystemhelper/meegographicssystemhelper.pro
 delete mode 100644 tools/qmeegographicssystemhelper/mgraphicssystemhelper.cpp
 delete mode 100644 tools/qmeegographicssystemhelper/mgraphicssystemhelper.h
 delete mode 100644 tools/qmeegographicssystemhelper/mliveimage.cpp
 delete mode 100644 tools/qmeegographicssystemhelper/mliveimage.h
 delete mode 100644 tools/qmeegographicssystemhelper/mliveimage_p.h
 delete mode 100644 tools/qmeegographicssystemhelper/mlivepixmap.cpp
 delete mode 100644 tools/qmeegographicssystemhelper/mlivepixmap.h
 delete mode 100644 tools/qmeegographicssystemhelper/mlivepixmap_p.h
 delete mode 100644 tools/qmeegographicssystemhelper/moverlaywidget.cpp
 delete mode 100644 tools/qmeegographicssystemhelper/moverlaywidget.h
 delete mode 100644 tools/qmeegographicssystemhelper/mruntime.cpp
 delete mode 100644 tools/qmeegographicssystemhelper/mruntime.h
 create mode 100644 tools/qmeegographicssystemhelper/qmeegographicssystemhelper.cpp
 create mode 100644 tools/qmeegographicssystemhelper/qmeegographicssystemhelper.h
 create mode 100644 tools/qmeegographicssystemhelper/qmeegographicssystemhelper.pro
 create mode 100644 tools/qmeegographicssystemhelper/qmeegoliveimage.cpp
 create mode 100644 tools/qmeegographicssystemhelper/qmeegoliveimage.h
 create mode 100644 tools/qmeegographicssystemhelper/qmeegoliveimage_p.h
 create mode 100644 tools/qmeegographicssystemhelper/qmeegolivepixmap.cpp
 create mode 100644 tools/qmeegographicssystemhelper/qmeegolivepixmap.h
 create mode 100644 tools/qmeegographicssystemhelper/qmeegolivepixmap_p.h
 create mode 100644 tools/qmeegographicssystemhelper/qmeegooverlaywidget.cpp
 create mode 100644 tools/qmeegographicssystemhelper/qmeegooverlaywidget.h
 create mode 100644 tools/qmeegographicssystemhelper/qmeegoruntime.cpp
 create mode 100644 tools/qmeegographicssystemhelper/qmeegoruntime.h

diff --git a/tools/qmeegographicssystemhelper/meegographicssystemhelper.pro b/tools/qmeegographicssystemhelper/meegographicssystemhelper.pro
deleted file mode 100644
index cab096e..0000000
--- a/tools/qmeegographicssystemhelper/meegographicssystemhelper.pro
+++ /dev/null
@@ -1,19 +0,0 @@
-TEMPLATE = lib
-TARGET = meegographicssystemhelper 
-QT += gui
-INCLUDEPATH += '../'
-LIBS += -L../plugin
-CONFIG += debug
-VERSION = 0.1.9
-HEADERS = mgraphicssystemhelper.h moverlaywidget.h mlivepixmap.h mliveimage.h mruntime.h mliveimage_p.h mlivepixmap_p.h
-SOURCES = mgraphicssystemhelper.cpp mgraphicssystemhelper.h moverlaywidget.h moverlaywidget.cpp mruntime.cpp mruntime.h mlivepixmap.cpp mlivepixmap.h mliveimage.h mliveimage.cpp mliveimage_p.h mlivepixmap_p.h
-
-target.path = /usr/lib/
-
-headers.files =  mgraphicssystemhelper.h moverlaywidget.h mlivepixmap.h mliveimage.h 
-headers.path = /usr/include/meegographicssystemhelper/
-
-pkg.files = meegographicssystemhelper.pc
-pkg.path = /usr/lib/pkgconfig/
-
-INSTALLS += target headers pkg
diff --git a/tools/qmeegographicssystemhelper/mgraphicssystemhelper.cpp b/tools/qmeegographicssystemhelper/mgraphicssystemhelper.cpp
deleted file mode 100644
index ff921fd..0000000
--- a/tools/qmeegographicssystemhelper/mgraphicssystemhelper.cpp
+++ /dev/null
@@ -1,106 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation
-**
-** This library is free software; you can redistribute it and/or
-** modify it under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation
-** and appearing in the file LICENSE.LGPL included in the packaging
-** of this file.
-**
-****************************************************************************/
-
-#define ENSURE_RUNNING_MEEGO {if (! MGraphicsSystemHelper::isRunningMeeGo()) { qFatal("Using meego functionality but not running meego graphics system!"); }}
-
-#include "mgraphicssystemhelper.h"
-#include "../private/qapplication_p.h"
-#include "../private/qgraphicssystem_runtime_p.h"
-#include "../private/qpixmap_raster_p.h"
-#include "mruntime.h"
-
-QString MGraphicsSystemHelper::runningGraphicsSystemName()
-{
-    if (! QApplicationPrivate::instance()) {
-        qWarning("Querying graphics system but application not running yet!");
-        return "";
-    }
-
-    QString name = QApplicationPrivate::instance()->graphics_system_name;
-    if (name == "runtime") {
-        QRuntimeGraphicsSystem *rsystem = (QRuntimeGraphicsSystem *) QApplicationPrivate::instance()->graphics_system;
-        name = rsystem->graphicsSystemName();
-    }
-
-    return name;
-}
-
-bool MGraphicsSystemHelper::isRunningMeeGo()
-{
-    return (runningGraphicsSystemName() == "meego");
-}
-
-void MGraphicsSystemHelper::switchToMeeGo()
-{
-    if (runningGraphicsSystemName() == "meego")
-        return;
-
-    if (QApplicationPrivate::instance()->graphics_system_name != "runtime")
-        qWarning("Can't switch to meego - switching only supported with 'runtime' graphics system.");
-    else {
-        QApplication *app = static_cast<QApplication *>(QCoreApplication::instance());
-        app->setGraphicsSystem("meego");
-    }
-}
-
-void MGraphicsSystemHelper::switchToRaster()
-{
-    if (runningGraphicsSystemName() == "raster")
-        return;
-
-    if (QApplicationPrivate::instance()->graphics_system_name != "runtime")
-        qWarning("Can't switch to raster - switching only supported with 'runtime' graphics system.");
-    else {
-        QApplication *app = static_cast<QApplication *>(QCoreApplication::instance());
-        app->setGraphicsSystem("raster");
-    }
-}
-
-Qt::HANDLE MGraphicsSystemHelper::imageToEGLSharedImage(const QImage &image)
-{
-    ENSURE_RUNNING_MEEGO;
-    return MRuntime::imageToEGLSharedImage(image);
-}
-
-QPixmap MGraphicsSystemHelper::pixmapFromEGLSharedImage(Qt::HANDLE handle, const QImage &softImage)
-{
-    // This function is supported when not running meego too. A raster-backed
-    // pixmap will be created... but when you switch back to 'meego', it'll 
-    // be replaced with a EGL shared image backing.
-    return MRuntime::pixmapFromEGLSharedImage(handle, softImage);
-}
-
-QPixmap MGraphicsSystemHelper::pixmapWithGLTexture(int w, int h)
-{
-    ENSURE_RUNNING_MEEGO;
-    return MRuntime::pixmapWithGLTexture(w, h);
-}
-
-bool MGraphicsSystemHelper::destroyEGLSharedImage(Qt::HANDLE handle)
-{
-    ENSURE_RUNNING_MEEGO;
-    return MRuntime::destroyEGLSharedImage(handle);
-}
-
-void MGraphicsSystemHelper::updateEGLSharedImagePixmap(QPixmap *p)
-{
-    ENSURE_RUNNING_MEEGO;
-    return MRuntime::updateEGLSharedImagePixmap(p);
-}
-
-void MGraphicsSystemHelper::setTranslucent(bool translucent)
-{
-    ENSURE_RUNNING_MEEGO;
-    MRuntime::setTranslucent(translucent);
-}
diff --git a/tools/qmeegographicssystemhelper/mgraphicssystemhelper.h b/tools/qmeegographicssystemhelper/mgraphicssystemhelper.h
deleted file mode 100644
index 1966648..0000000
--- a/tools/qmeegographicssystemhelper/mgraphicssystemhelper.h
+++ /dev/null
@@ -1,148 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation
-**
-** This library is free software; you can redistribute it and/or
-** modify it under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation
-** and appearing in the file LICENSE.LGPL included in the packaging
-** of this file.
-**
-****************************************************************************/
-
-#ifndef MGRAPHICSSYSTEMHELPER_H
-#define MGRAPHICSSYSTEMHELPER_H
-
-#include <QPixmap>
-#include <QImage>
-#include "mlivepixmap.h"
-
-class QLibrary;
-
-//! The base class for accressing special meego graphics system features. 
-/*!
- This class is a helper class with static-only methods for accessing various
- meego graphics system functionalities. The way it works is that the helper
- dynamically calls-in to the loaded graphicssystem plugin... therefore, you're 
- expected to make sure that you're indeed running with 'meego' before using any
- of the specialized methods. 
-
- In example:
-
- \code
- QPixmap p;
- if (MGraphicsSystemHelper::isRunningMeeGo()) {
-    p = MGraphicsSystemHelper::pixmapWithGLTexture(64, 64);
- } else {
-    p = QPixmap(64, 64);
- }
- \endcode
-
- Calling any of the meego-specific features while not running meego might
- give unpredictable results. The only functions safe to call at all times are:
-
- \code
- MGraphicsSystemHelper::isRunningMeeGo();
- MGraphicsSystemHelper::runningGraphicsSystemName(); 
- MGraphicsSystemHelper::switchToMeeGo();
- MGraphicsSystemHelper::switchToRaster();
- \endcode
-*/
-
-class MGraphicsSystemHelper 
-{
-public:
-    //! Returns true if running meego.
-    /*! 
-     Returns true if the currently active (running) system is 'meego' with OpenGL. 
-     This returns both true if the app was started with 'meego' or was started with
-     'runtime' graphics system and the currently active system through the runtime
-     switching is 'meego'.
-    */
-    static bool isRunningMeeGo();
-
-    //! Switches to meego graphics system. 
-    /*!
-     When running with the 'runtime' graphics system, sets the currently active 
-     system to 'meego'. The window surface and all the resources are automatically
-     migrated to OpenGL. Will fail if the active graphics system is not 'runtime'.
-    */
-    static void switchToMeeGo();
-
-    //! Switches to raster graphics system
-    /*!
-     When running with the 'runtime' graphics system, sets the currently active
-     system to 'raster'. The window surface and the graphics resources (including the 
-     EGL shared image resources) are automatically migrated back to the CPU. All OpenGL 
-     resources (surface, context, cache, font cache) are automaticall anihilated.
-    */
-    static void switchToRaster();
-
-    //! Returns the name of the active graphics system
-    /*!
-     Returns the name of the currently active system. If running with 'runtime' graphics 
-     system, returns the name of the active system inside the runtime graphics system
-    */
-    static QString runningGraphicsSystemName();
-
-    //! Creates a new EGL shared image.
-    /*! 
-     Creates a new EGL shared image from the given image. The EGL shared image wraps
-     a GL texture in the native format and can be easily accessed from other processes.
-    */
-    static Qt::HANDLE imageToEGLSharedImage(const QImage &image);
-
-    //! Creates a QPixmap from an EGL shared image
-    /*!
-     Creates a new QPixmap from the given EGL shared image handle. The QPixmap can be 
-     used for painting like any other pixmap. The softImage should point to an alternative, 
-     software version of the graphical resource -- ie. obtained from theme daemon. The 
-     softImage can be allocated on a QSharedMemory slice for easy sharing across processes
-     too. When the application is migrated ToRaster, this softImage will replace the
-     contents of the sharedImage.
-     
-     It's ok to call this function too when not running 'meego' graphics system. In this
-     case it'll create a QPixmap backed with a raster data (from softImage)... but when 
-     the system is switched back to 'meego', the QPixmap will be migrated to a EGL-shared image
-     backed storage (handle).
-    */
-    static QPixmap pixmapFromEGLSharedImage(Qt::HANDLE handle, const QImage &softImage);
-
-    //! Destroys an EGL shared image. 
-    /*!
-     Destroys an EGLSharedImage previously created with an ::imageToEGLSharedImage call.
-     Returns true if the image was found and the destruction was successfull. Notice that
-     this destroys the image for all processes using it. 
-    */
-    static bool destroyEGLSharedImage(Qt::HANDLE handle);
-    
-    //! Updates the QPixmap backed with an EGLShared image. 
-    /*! 
-     This function re-reads the softImage that was specified when creating the pixmap with
-     ::pixmapFromEGLSharedImage and updates the EGL Shared image contents. It can be used
-     to share cross-proccess mutable EGLShared images. 
-    */
-    static void updateEGLSharedImagePixmap(QPixmap *p);
-
-    //! Create a new QPixmap with a GL texture.
-    /*!
-     Creates a new QPixmap which is backed by an OpenGL local texture. Drawing to this
-     QPixmap will be accelerated by hardware -- unlike the normal (new QPixmap()) pixmaps, 
-     which are backed by a software engine and only migrated to GPU when used. Migrating those
-     GL-backed pixmaps when going ToRaster is expsensive (they need to be downloaded from 
-     GPU to CPU) so use wisely. 
-    */
-    static QPixmap pixmapWithGLTexture(int w, int h);
-    
-    //! Sets translucency (alpha) on the base window surface.
-    /*!
-     This function needs to be called *before* any widget/content is created. 
-     When called with true, the base window surface will be translucent and initialized
-     with QGLFormat.alpha == true.
-    */
-    static void setTranslucent(bool translucent);
-};
-
-#endif
diff --git a/tools/qmeegographicssystemhelper/mliveimage.cpp b/tools/qmeegographicssystemhelper/mliveimage.cpp
deleted file mode 100644
index 37ead21..0000000
--- a/tools/qmeegographicssystemhelper/mliveimage.cpp
+++ /dev/null
@@ -1,88 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation
-**
-** This library is free software; you can redistribute it and/or
-** modify it under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation
-** and appearing in the file LICENSE.LGPL included in the packaging
-** of this file.
-**
-****************************************************************************/
-
-#include "mliveimage.h"
-#include "mliveimage_p.h"
-#include "mlivepixmap.h"
-#include "mlivepixmap_p.h"
-
-/* MLiveImagePrivate */
-
-MLiveImagePrivate::MLiveImagePrivate()
-{
-}
-
-MLiveImagePrivate::~MLiveImagePrivate()
-{
-    if (attachedPixmaps.length() > 0)
-        qWarning("Destroying MLiveImage but it still has MLivePixmaps attached!");
-}
-
-void MLiveImagePrivate::attachPixmap(MLivePixmap* pixmap)
-{
-    attachedPixmaps << pixmap;
-}
-
-void MLiveImagePrivate::detachPixmap(MLivePixmap* pixmap)
-{
-    attachedPixmaps.removeAll(pixmap);
-}
-
-/* MLiveImage */
-
-MLiveImage* MLiveImage::liveImageWithSize(int w, int h, Format format, int buffers)
-{
-    if (format != Format_ARGB32_Premultiplied) {
-        qWarning("Only _ARGB32_Premultiplied format is supported for live images now!");
-        return 0;
-    }
-    
-    if (buffers != 1) {
-        qWarning("Only single-buffer streams are supported at the moment");
-        return 0;
-    }
-    
-    MLiveImage *liveImage = new MLiveImage(w, h);
-    return liveImage;
-}
-
-MLiveImage::MLiveImage(int w, int h) : QImage(w, h, QImage::Format_ARGB32_Premultiplied), d_ptr(new MLiveImagePrivate())
-{
-    Q_D(MLiveImage);
-    d->q_ptr = this;
-}
-
-MLiveImage::~MLiveImage()
-{
-}
-
-void MLiveImage::lock(int buffer)
-{
-    if (buffer != 0)
-        qWarning("Only locking 0 buffer is supported at the moment!");
-}
-
-void MLiveImage::release(int buffer)
-{
-    Q_D(MLiveImage);
-    
-    if (buffer != 0) {
-        qWarning("Only locking 0 buffer is supported at the moment!");
-        return;
-    }
-
-    // We need to copy the update image to all the client MLivePixmap's
-    foreach (MLivePixmap* livePixmap, d->attachedPixmaps) 
-        livePixmap->d_ptr->copyBackFrom((const void *) bits());
-}
\ No newline at end of file
diff --git a/tools/qmeegographicssystemhelper/mliveimage.h b/tools/qmeegographicssystemhelper/mliveimage.h
deleted file mode 100644
index f945b34..0000000
--- a/tools/qmeegographicssystemhelper/mliveimage.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation
-**
-** This library is free software; you can redistribute it and/or
-** modify it under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation
-** and appearing in the file LICENSE.LGPL included in the packaging
-** of this file.
-**
-****************************************************************************/
-
-#ifndef MLIVEIMAGE_H
-#define MLIVEIMAGE_H
-
-#include <QImage>
-
-class MLivePixmap;
-class MLiveImagePrivate;
-
-//! A streamable QImage subclass.
-/*!
-*/
-
-class MLiveImage : public QImage
-{
-public:
-    //! Format specifier.
-    /*! 
-     Used to specify the format of the underlying image data for MLiveImage. 
-    */
-    enum Format {
-        Format_ARGB32_Premultiplied //! 32bit, AARRGGBB format. The typical Qt format.
-    };
-    
-    //! Locks the access to the image. 
-    /*! 
-     All drawing/access to the underlying image data needs to happen between 
-     ::lock() and ::unlock() pairs.
-     */
-    void lock(int buffer = 0);
-    
-    //! Unlocks the access to the image. 
-    /*! 
-     All drawing/access to the underlying image data needs to happen between 
-     ::lock() and ::unlock() pairs.
-     */
-    void release(int buffer = 0);
-    
-    //! Destroys the image.
-    /*!
-      It's a mistake to destroy an image before destroying all the MLivePixmaps
-      built on top of it. You should first destroy all the MLivePixmaps.
-     */
-    virtual ~MLiveImage();
-    
-    //! Creates and returns a new live image with the given parameters.
-    /*!
-     The new image is created with the given width w and the given height h. 
-     The format specifies the color format used by the image. Optionally, a 
-     number of buffers can be specfied for a stream-like behavior.
-     */
-    static MLiveImage* liveImageWithSize(int w, int h, Format format, int buffers = 1);
-
-private:
-    MLiveImage(int w, int h); //! Private bits.
-    Q_DISABLE_COPY(MLiveImage)
-    Q_DECLARE_PRIVATE(MLiveImage)
-
-protected:
-    QScopedPointer<MLiveImagePrivate> d_ptr;
-
-    friend class MLivePixmap;
-    friend class MLivePixmapPrivate;
-};
-
-#endif
diff --git a/tools/qmeegographicssystemhelper/mliveimage_p.h b/tools/qmeegographicssystemhelper/mliveimage_p.h
deleted file mode 100644
index 0789b93..0000000
--- a/tools/qmeegographicssystemhelper/mliveimage_p.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation
-**
-** This library is free software; you can redistribute it and/or
-** modify it under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation
-** and appearing in the file LICENSE.LGPL included in the packaging
-** of this file.
-**
-****************************************************************************/
-
-#include "mliveimage.h"
-
-#ifndef MLIVEIMAGE_P_H
-#define MLIVEIMAGE_P_H
-
-class MLiveImagePrivate
-{
-public:
-    Q_DECLARE_PUBLIC(MLiveImage);
-    MLiveImagePrivate();
-    virtual ~MLiveImagePrivate();
-    void attachPixmap(MLivePixmap* pixmap);
-    void detachPixmap(MLivePixmap* pixmap);
-        
-    QList <MLivePixmap*> attachedPixmaps;
-    MLiveImage *q_ptr;
-    
-    friend class MLivePixmap;
-    friend class MLivePixmapPrivate;
-};
-
-#endif
\ No newline at end of file
diff --git a/tools/qmeegographicssystemhelper/mlivepixmap.cpp b/tools/qmeegographicssystemhelper/mlivepixmap.cpp
deleted file mode 100644
index 2f7abd7..0000000
--- a/tools/qmeegographicssystemhelper/mlivepixmap.cpp
+++ /dev/null
@@ -1,136 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation
-**
-** This library is free software; you can redistribute it and/or
-** modify it under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation
-** and appearing in the file LICENSE.LGPL included in the packaging
-** of this file.
-**
-****************************************************************************/
-
-#include "mlivepixmap.h"
-#include "../private/qimage_p.h"
-#include "../private/qpixmap_raster_p.h"
-#include "mlivepixmap_p.h"
-#include "mliveimage_p.h"
-#include <QSharedMemory>
-
-/* MLivePixmapPrivate */
-
-MLivePixmapPrivate::MLivePixmapPrivate() : shm(0), shmSerial(0), owns(true), parentImage(0)
-{
-}
-
-void MLivePixmapPrivate::copyBackFrom(const void *raw)
-{
-    Q_Q(MLivePixmap);
-    
-    q->detach();
-    shm->lock();
-    uchar *dest = ((uchar *) shm->data()) + (2 * sizeof(int));
-    memcpy(dest, raw, q->width() * q->height() * 4);
-    shm->unlock();
-}
-
-MLivePixmapPrivate::~MLivePixmapPrivate()
-{
-    Q_Q(MLivePixmap);
-    
-    if (parentImage)
-        parentImage->d_ptr->detachPixmap(q);
-
-    if (shm)
-        shm->detach();
-        
-    if (owns)
-        delete shm;        
-}
-
-/* MLivePixmap */
-
-MLivePixmap::MLivePixmap(QPixmapData *p) : QPixmap(p), d_ptr(new MLivePixmapPrivate())
-{
-    Q_D(MLivePixmap);
-    d->q_ptr = this;
-}
-
-MLivePixmap* MLivePixmap::fromLiveImage(MLiveImage *liveImage)
-{
-    static int counter = 100;
-    QSharedMemory *shm = NULL;
-    uchar* imgData = NULL;
-    int *header = NULL;
-    int w = liveImage->width();
-    int h = liveImage->height();
-    
-    counter++;
-    shm = new QSharedMemory(QString("MLivePixmap%1").arg(counter));
-    shm->create((w * h * 4) + 2 * sizeof(int)); // +2 to store width & height
-    shm->attach();
-    
-    imgData = ((uchar *) shm->data()) + (2 * sizeof(int));
-    header = (int *) shm->data();
-    
-    header[0] = w;
-    header[1] = h;
-    
-    QImage img(imgData, w, h, QImage::Format_ARGB32_Premultiplied);
-    
-    QPixmapData *pmd = new QRasterPixmapData(QPixmapData::PixmapType);
-    pmd->fromImage(img, Qt::NoOpaqueDetection);
-    
-    MLivePixmap *livePixmap = new MLivePixmap(pmd);
-    livePixmap->d_ptr->shm = shm;
-    livePixmap->d_ptr->owns = true;
-    livePixmap->d_ptr->shmSerial = counter;
-    livePixmap->d_ptr->parentImage = liveImage;
-    
-    liveImage->d_ptr->attachPixmap(livePixmap);
-
-    return livePixmap;    
-}
-
-MLivePixmap* MLivePixmap::fromHandle(Qt::HANDLE handle)
-{
-    QSharedMemory *shm = NULL;
-    int *header;
-    int width;
-    int height;
-    uchar* imgData;
-    
-    shm = new QSharedMemory(QString("MLivePixmap%1").arg(handle));
-    shm->attach();
-    
-    shm->lock();
-    header = (int *) shm->data();
-    width = header[0];
-    height = header[1];
-    shm->unlock();
-    
-    imgData = ((uchar *) shm->data()) + (2 * sizeof(int));
-    QImage img(imgData, width, height, QImage::Format_ARGB32_Premultiplied);
-    
-    QPixmapData *pmd = new QRasterPixmapData(QPixmapData::PixmapType);
-    pmd->fromImage(img, Qt::NoOpaqueDetection);
-
-    MLivePixmap *livePixmap = new MLivePixmap(pmd);
-    livePixmap->d_ptr->shm = shm;
-    livePixmap->d_ptr->owns = false;
-    livePixmap->d_ptr->shmSerial = handle;
-
-    return livePixmap;
-}
-
-MLivePixmap::~MLivePixmap()
-{
-}
-
-Qt::HANDLE MLivePixmap::handle()
-{
-    Q_D(MLivePixmap);
-    return d->shmSerial;
-}
diff --git a/tools/qmeegographicssystemhelper/mlivepixmap.h b/tools/qmeegographicssystemhelper/mlivepixmap.h
deleted file mode 100644
index dee4d2a..0000000
--- a/tools/qmeegographicssystemhelper/mlivepixmap.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation
-**
-** This library is free software; you can redistribute it and/or
-** modify it under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation
-** and appearing in the file LICENSE.LGPL included in the packaging
-** of this file.
-**
-****************************************************************************/
-
-#ifndef MLIVEPIXMAP_H
-#define MLIVEPIXMAP_H
-
-#include <QPixmap>
-#include "mliveimage.h"
-
-class MLivePixmapPrivate;
-class QSharedMemory;
-class QImage;
-
-//! A pixmap representing streamed content.
-/*!
-*/
-
-class MLivePixmap : public QPixmap
-{
-public:
-    //! Creates new pixmap from the given MLiveImage.
-    /*! 
-     The created MLivePixmap will be attached to the given MLiveImage. 
-     Updates to the MLiveImage will be represented on this newly created
-     MLivePixmap.
-    */
-    static MLivePixmap* fromLiveImage(MLiveImage *liveImage);
-    
-    //! Creates a new MLivePixmap from the specified handle.
-    /*! 
-     The handle can be used to share MLivePixmap cross-process.
-    */
-    static MLivePixmap* fromHandle(Qt::HANDLE handle);
-    
-    //! Returns the handle for this MLivePixmap.
-    /*! 
-     The handle can be used to share MLivePixmap cross-process.
-    */
-    Qt::HANDLE handle();
-    
-    //! Destroys the MLivePixmap.
-    /*! 
-     All MLivePixmaps attached to a given MLiveImage have to be destroyed 
-     before the MLiveImage itself is destroyed.
-    */
-    virtual ~MLivePixmap();
-
-private:
-    MLivePixmap(QPixmapData *p);
-    Q_DISABLE_COPY(MLivePixmap)
-    Q_DECLARE_PRIVATE(MLivePixmap)
-
-protected:
-    QScopedPointer<MLivePixmapPrivate> d_ptr; //! Private bits.
-
-    friend class MLiveImage;
-    friend class MLiveImagePrivate;
-};
-
-#endif
diff --git a/tools/qmeegographicssystemhelper/mlivepixmap_p.h b/tools/qmeegographicssystemhelper/mlivepixmap_p.h
deleted file mode 100644
index 4ff64de..0000000
--- a/tools/qmeegographicssystemhelper/mlivepixmap_p.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation
-**
-** This library is free software; you can redistribute it and/or
-** modify it under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation
-** and appearing in the file LICENSE.LGPL included in the packaging
-** of this file.
-**
-****************************************************************************/
-
-#include "mlivepixmap.h"
-
-#ifndef MLIVEPIXMAP_P_H
-#define MLIVEPIXMAP_P_H
-
-class MLivePixmapPrivate
-{
-public:
-    Q_DECLARE_PUBLIC(MLivePixmap);
-    MLivePixmapPrivate();
-    void copyBackFrom(const void *raw);
-    virtual ~MLivePixmapPrivate();
-    
-    QSharedMemory *shm;
-    int shmSerial;
-    bool owns;
-    MLiveImage *parentImage;
-    
-    MLivePixmap *q_ptr;
-    
-    friend class MLiveImage;
-    friend class MLiveImagePrivate;
-};
-
-#endif
\ No newline at end of file
diff --git a/tools/qmeegographicssystemhelper/moverlaywidget.cpp b/tools/qmeegographicssystemhelper/moverlaywidget.cpp
deleted file mode 100644
index 8f64b3f..0000000
--- a/tools/qmeegographicssystemhelper/moverlaywidget.cpp
+++ /dev/null
@@ -1,72 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation
-**
-** This library is free software; you can redistribute it and/or
-** modify it under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation
-** and appearing in the file LICENSE.LGPL included in the packaging
-** of this file.
-**
-****************************************************************************/
-
-#include <QDebug>
-#include <QEvent>
-#include <QMouseEvent>
-#include <QCoreApplication>
-#include "moverlaywidget.h"
-#include "mgraphicssystemhelper.h"
-#include "mruntime.h"
-
-MOverlayWidget::MOverlayWidget(int surfaceWidth, int surfaceHeight, QWidget *parent) : QWidget(parent, 0), 
-    sw(surfaceWidth), 
-    sh(surfaceHeight)
-{
-    if (! MGraphicsSystemHelper::isRunningMeeGo())
-        qFatal("MOverlayWidget can only be used when running with 'meego' graphics system!");
-
-    MRuntime::setSurfaceFixedSize(surfaceWidth, surfaceHeight);
-
-    scaleW = sw / 864.0;
-    scaleH = sh / 480.0;
-    installEventFilter(this);
-}
-
-QPoint MOverlayWidget::convertPoint(const QPoint &p)
-{
-    int x = p.x() * scaleW;
-    int y = p.y() * scaleH;
-    return QPoint(x, y);
-}
-
-void MOverlayWidget::showEvent(QShowEvent *event)
-{
-    MRuntime::setSurfaceScaling(0, 0, width(), height());
-}
-
-bool MOverlayWidget::eventFilter(QObject *obj, QEvent *event)
-{
-    if (event->spontaneous() == false)
-        return false;
-
-    switch(event->type()) {
-        case QEvent::MouseButtonPress:
-        case QEvent::MouseButtonRelease:
-        {
-            QMouseEvent *e = static_cast <QMouseEvent *>(event);
-            QMouseEvent newEvent = QMouseEvent(e->type(), 
-                                               convertPoint(e->pos()), 
-                                               convertPoint(e->globalPos()), 
-                                               e->button(), 
-                                               e->buttons(), 
-                                               e->modifiers());
-            QCoreApplication::sendEvent(this, &newEvent);
-            return true;
-        }
-
-        default:
-            return false;
-    }
-}
diff --git a/tools/qmeegographicssystemhelper/moverlaywidget.h b/tools/qmeegographicssystemhelper/moverlaywidget.h
deleted file mode 100644
index f45a673..0000000
--- a/tools/qmeegographicssystemhelper/moverlaywidget.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation
-**
-** This library is free software; you can redistribute it and/or
-** modify it under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation
-** and appearing in the file LICENSE.LGPL included in the packaging
-** of this file.
-**
-****************************************************************************/
-
-#ifndef MOVERLAYWIDGET_H
-#define MOVERLAYWIDGET_H
-
-#include <QWidget>
-
-//! A widget automatically scaling it's content.
-/*!
-*/
-
-class MOverlayWidget : public QWidget
-{
-public:
-    //! Constructs a new scaling widget.
-    /*!
-     The real surface used for this widget will have the specified
-     width and height.
-    */
-    MOverlayWidget(int surfaceWidth, int surfaceHeight, QWidget *parent = 0);
-
-
-    //! Event filtering function. 
-    /*!
-      Converts coordinates for mouse/touch event. Do not
-      call manually.
-    */
-    bool eventFilter(QObject *obj, QEvent *event);
-
-    //! Standard override.
-    /*!
-     The surface scaling on the target paint device is being
-     set when the widget is displayed for the first time.
-    */
-    virtual void showEvent(QShowEvent *event);
-
-private:
-    //! Converts coordinates between real & virtual area of the widget.
-    QPoint convertPoint(const QPoint &p);
-
-    int sw; /// Surface real width.
-    int sh; /// Surface real height.
-    float scaleW; /// Width scaling factor.
-    float scaleH; /// Height scaling factor.
-};
-
-#endif
diff --git a/tools/qmeegographicssystemhelper/mruntime.cpp b/tools/qmeegographicssystemhelper/mruntime.cpp
deleted file mode 100644
index b1b0874..0000000
--- a/tools/qmeegographicssystemhelper/mruntime.cpp
+++ /dev/null
@@ -1,112 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation
-**
-** This library is free software; you can redistribute it and/or
-** modify it under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation
-** and appearing in the file LICENSE.LGPL included in the packaging
-** of this file.
-**
-****************************************************************************/
-
-#include "mruntime.h"
-
-#define ENSURE_INITIALIZED {if (!initialized) initialize();}
-
-QLibrary* MRuntime::library = NULL;
-bool MRuntime::initialized = false;
-
-typedef int (*MImageToEglSharedImageFunc) (const QImage&);
-typedef QPixmapData* (*MPixmapDataFromEglSharedImageFunc) (Qt::HANDLE handle, const QImage&);
-typedef QPixmapData* (*MPixmapDataWithGLTextureFunc) (int w, int h);
-typedef bool (*MDestroyEGLSharedImageFunc) (Qt::HANDLE handle);
-typedef void (*MUpdateEglSharedImagePixmapFunc) (QPixmap*);
-typedef void (*MSetSurfaceFixedSizeFunc) (int w, int h);
-typedef void (*MSetSurfaceScalingFunc) (int x, int y, int w, int h);
-typedef void (*MSetTranslucentFunc) (bool translucent);
-
-static MImageToEglSharedImageFunc m_image_to_egl_shared_image = NULL;
-static MPixmapDataFromEglSharedImageFunc m_pixmapdata_from_egl_shared_image = NULL;
-static MPixmapDataWithGLTextureFunc m_pixmapdata_with_gl_texture = NULL;
-static MDestroyEGLSharedImageFunc m_destroy_egl_shared_image = NULL;
-static MUpdateEglSharedImagePixmapFunc m_update_egl_shared_image_pixmap = NULL;
-static MSetSurfaceFixedSizeFunc m_set_surface_fixed_size = NULL;
-static MSetSurfaceScalingFunc m_set_surface_scaling = NULL;
-static MSetTranslucentFunc m_set_translucent = NULL;
-
-void MRuntime::initialize()
-{
-    library = new QLibrary("/usr/lib/qt4/plugins/graphicssystems/libmeegographicssystem.so");
-    Q_ASSERT(library);
-    
-    m_image_to_egl_shared_image = (MImageToEglSharedImageFunc) library->resolve("m_image_to_egl_shared_image");
-    m_pixmapdata_from_egl_shared_image = (MPixmapDataFromEglSharedImageFunc)  library->resolve("m_pixmapdata_from_egl_shared_image");
-    m_pixmapdata_with_gl_texture = (MPixmapDataWithGLTextureFunc) library->resolve("m_pixmapdata_with_gl_texture");
-    m_destroy_egl_shared_image = (MDestroyEGLSharedImageFunc) library->resolve("m_destroy_egl_shared_image");
-    m_update_egl_shared_image_pixmap = (MUpdateEglSharedImagePixmapFunc) library->resolve("m_update_egl_shared_image_pixmap");
-    m_set_surface_fixed_size = (MSetSurfaceFixedSizeFunc) library->resolve("m_set_surface_fixed_size");
-    m_set_surface_scaling = (MSetSurfaceScalingFunc) library->resolve("m_set_surface_scaling");
-    m_set_translucent = (MSetTranslucentFunc) library->resolve("m_set_translucent");
-    
-    
-    initialized = true;
-}
-
-Qt::HANDLE MRuntime::imageToEGLSharedImage(const QImage &image)
-{
-    ENSURE_INITIALIZED;
-    Q_ASSERT(m_image_to_egl_shared_image);
-    return m_image_to_egl_shared_image(image);
-}
-
-QPixmap MRuntime::pixmapFromEGLSharedImage(Qt::HANDLE handle, const QImage &softImage)
-{
-    ENSURE_INITIALIZED;
-    Q_ASSERT(m_pixmapdata_from_egl_shared_image);
-    return QPixmap(m_pixmapdata_from_egl_shared_image(handle, softImage));
-}
-
-QPixmap MRuntime::pixmapWithGLTexture(int w, int h)
-{
-    ENSURE_INITIALIZED;
-    Q_ASSERT(m_pixmapdata_with_gl_texture);
-    return QPixmap(m_pixmapdata_with_gl_texture(w, h));
-}
-
-bool MRuntime::destroyEGLSharedImage(Qt::HANDLE handle)
-{
-    ENSURE_INITIALIZED;
-    Q_ASSERT(m_destroy_egl_shared_image);
-    return m_destroy_egl_shared_image(handle);
-}
-
-void MRuntime::updateEGLSharedImagePixmap(QPixmap *p)
-{
-    ENSURE_INITIALIZED;
-    Q_ASSERT(m_update_egl_shared_image_pixmap);
-    return m_update_egl_shared_image_pixmap(p);
-}
-
-void MRuntime::setSurfaceFixedSize(int w, int h)
-{
-    ENSURE_INITIALIZED;
-    Q_ASSERT(m_set_surface_fixed_size);
-    m_set_surface_fixed_size(w, h);
-}
-
-void MRuntime::setSurfaceScaling(int x, int y, int w, int h)
-{
-    ENSURE_INITIALIZED;
-    Q_ASSERT(m_set_surface_scaling);
-    m_set_surface_scaling(x, y, w, h);
-}
-
-void MRuntime::setTranslucent(bool translucent)
-{
-    ENSURE_INITIALIZED;
-    Q_ASSERT(m_set_translucent);
-    m_set_translucent(translucent);
-}
diff --git a/tools/qmeegographicssystemhelper/mruntime.h b/tools/qmeegographicssystemhelper/mruntime.h
deleted file mode 100644
index 34474cc..0000000
--- a/tools/qmeegographicssystemhelper/mruntime.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation
-**
-** This library is free software; you can redistribute it and/or
-** modify it under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation
-** and appearing in the file LICENSE.LGPL included in the packaging
-** of this file.
-**
-****************************************************************************/
-
-#include <QLibrary>
-#include <QPixmap>
-#include <QImage>
-
-class MRuntime
-{
-public:
-    static void initialize();
-    
-    static Qt::HANDLE imageToEGLSharedImage(const QImage &image);
-    static QPixmap pixmapFromEGLSharedImage(Qt::HANDLE handle, const QImage &softImage);
-    static QPixmap pixmapWithGLTexture(int w, int h);
-    static bool destroyEGLSharedImage(Qt::HANDLE handle);
-    static void updateEGLSharedImagePixmap(QPixmap *p);
-    static void setSurfaceFixedSize(int w, int h);
-    static void setSurfaceScaling(int x, int y, int w, int h);
-    static void setTranslucent(bool translucent);
-
-private:
-    static bool initialized;
-    static QLibrary *library;  
-};
\ No newline at end of file
diff --git a/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.cpp b/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.cpp
new file mode 100644
index 0000000..ff921fd
--- /dev/null
+++ b/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.cpp
@@ -0,0 +1,106 @@
+/***************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation
+**
+** This library is free software; you can redistribute it and/or
+** modify it under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation
+** and appearing in the file LICENSE.LGPL included in the packaging
+** of this file.
+**
+****************************************************************************/
+
+#define ENSURE_RUNNING_MEEGO {if (! MGraphicsSystemHelper::isRunningMeeGo()) { qFatal("Using meego functionality but not running meego graphics system!"); }}
+
+#include "mgraphicssystemhelper.h"
+#include "../private/qapplication_p.h"
+#include "../private/qgraphicssystem_runtime_p.h"
+#include "../private/qpixmap_raster_p.h"
+#include "mruntime.h"
+
+QString MGraphicsSystemHelper::runningGraphicsSystemName()
+{
+    if (! QApplicationPrivate::instance()) {
+        qWarning("Querying graphics system but application not running yet!");
+        return "";
+    }
+
+    QString name = QApplicationPrivate::instance()->graphics_system_name;
+    if (name == "runtime") {
+        QRuntimeGraphicsSystem *rsystem = (QRuntimeGraphicsSystem *) QApplicationPrivate::instance()->graphics_system;
+        name = rsystem->graphicsSystemName();
+    }
+
+    return name;
+}
+
+bool MGraphicsSystemHelper::isRunningMeeGo()
+{
+    return (runningGraphicsSystemName() == "meego");
+}
+
+void MGraphicsSystemHelper::switchToMeeGo()
+{
+    if (runningGraphicsSystemName() == "meego")
+        return;
+
+    if (QApplicationPrivate::instance()->graphics_system_name != "runtime")
+        qWarning("Can't switch to meego - switching only supported with 'runtime' graphics system.");
+    else {
+        QApplication *app = static_cast<QApplication *>(QCoreApplication::instance());
+        app->setGraphicsSystem("meego");
+    }
+}
+
+void MGraphicsSystemHelper::switchToRaster()
+{
+    if (runningGraphicsSystemName() == "raster")
+        return;
+
+    if (QApplicationPrivate::instance()->graphics_system_name != "runtime")
+        qWarning("Can't switch to raster - switching only supported with 'runtime' graphics system.");
+    else {
+        QApplication *app = static_cast<QApplication *>(QCoreApplication::instance());
+        app->setGraphicsSystem("raster");
+    }
+}
+
+Qt::HANDLE MGraphicsSystemHelper::imageToEGLSharedImage(const QImage &image)
+{
+    ENSURE_RUNNING_MEEGO;
+    return MRuntime::imageToEGLSharedImage(image);
+}
+
+QPixmap MGraphicsSystemHelper::pixmapFromEGLSharedImage(Qt::HANDLE handle, const QImage &softImage)
+{
+    // This function is supported when not running meego too. A raster-backed
+    // pixmap will be created... but when you switch back to 'meego', it'll 
+    // be replaced with a EGL shared image backing.
+    return MRuntime::pixmapFromEGLSharedImage(handle, softImage);
+}
+
+QPixmap MGraphicsSystemHelper::pixmapWithGLTexture(int w, int h)
+{
+    ENSURE_RUNNING_MEEGO;
+    return MRuntime::pixmapWithGLTexture(w, h);
+}
+
+bool MGraphicsSystemHelper::destroyEGLSharedImage(Qt::HANDLE handle)
+{
+    ENSURE_RUNNING_MEEGO;
+    return MRuntime::destroyEGLSharedImage(handle);
+}
+
+void MGraphicsSystemHelper::updateEGLSharedImagePixmap(QPixmap *p)
+{
+    ENSURE_RUNNING_MEEGO;
+    return MRuntime::updateEGLSharedImagePixmap(p);
+}
+
+void MGraphicsSystemHelper::setTranslucent(bool translucent)
+{
+    ENSURE_RUNNING_MEEGO;
+    MRuntime::setTranslucent(translucent);
+}
diff --git a/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.h b/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.h
new file mode 100644
index 0000000..1966648
--- /dev/null
+++ b/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.h
@@ -0,0 +1,148 @@
+/***************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation
+**
+** This library is free software; you can redistribute it and/or
+** modify it under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation
+** and appearing in the file LICENSE.LGPL included in the packaging
+** of this file.
+**
+****************************************************************************/
+
+#ifndef MGRAPHICSSYSTEMHELPER_H
+#define MGRAPHICSSYSTEMHELPER_H
+
+#include <QPixmap>
+#include <QImage>
+#include "mlivepixmap.h"
+
+class QLibrary;
+
+//! The base class for accressing special meego graphics system features. 
+/*!
+ This class is a helper class with static-only methods for accessing various
+ meego graphics system functionalities. The way it works is that the helper
+ dynamically calls-in to the loaded graphicssystem plugin... therefore, you're 
+ expected to make sure that you're indeed running with 'meego' before using any
+ of the specialized methods. 
+
+ In example:
+
+ \code
+ QPixmap p;
+ if (MGraphicsSystemHelper::isRunningMeeGo()) {
+    p = MGraphicsSystemHelper::pixmapWithGLTexture(64, 64);
+ } else {
+    p = QPixmap(64, 64);
+ }
+ \endcode
+
+ Calling any of the meego-specific features while not running meego might
+ give unpredictable results. The only functions safe to call at all times are:
+
+ \code
+ MGraphicsSystemHelper::isRunningMeeGo();
+ MGraphicsSystemHelper::runningGraphicsSystemName(); 
+ MGraphicsSystemHelper::switchToMeeGo();
+ MGraphicsSystemHelper::switchToRaster();
+ \endcode
+*/
+
+class MGraphicsSystemHelper 
+{
+public:
+    //! Returns true if running meego.
+    /*! 
+     Returns true if the currently active (running) system is 'meego' with OpenGL. 
+     This returns both true if the app was started with 'meego' or was started with
+     'runtime' graphics system and the currently active system through the runtime
+     switching is 'meego'.
+    */
+    static bool isRunningMeeGo();
+
+    //! Switches to meego graphics system. 
+    /*!
+     When running with the 'runtime' graphics system, sets the currently active 
+     system to 'meego'. The window surface and all the resources are automatically
+     migrated to OpenGL. Will fail if the active graphics system is not 'runtime'.
+    */
+    static void switchToMeeGo();
+
+    //! Switches to raster graphics system
+    /*!
+     When running with the 'runtime' graphics system, sets the currently active
+     system to 'raster'. The window surface and the graphics resources (including the 
+     EGL shared image resources) are automatically migrated back to the CPU. All OpenGL 
+     resources (surface, context, cache, font cache) are automaticall anihilated.
+    */
+    static void switchToRaster();
+
+    //! Returns the name of the active graphics system
+    /*!
+     Returns the name of the currently active system. If running with 'runtime' graphics 
+     system, returns the name of the active system inside the runtime graphics system
+    */
+    static QString runningGraphicsSystemName();
+
+    //! Creates a new EGL shared image.
+    /*! 
+     Creates a new EGL shared image from the given image. The EGL shared image wraps
+     a GL texture in the native format and can be easily accessed from other processes.
+    */
+    static Qt::HANDLE imageToEGLSharedImage(const QImage &image);
+
+    //! Creates a QPixmap from an EGL shared image
+    /*!
+     Creates a new QPixmap from the given EGL shared image handle. The QPixmap can be 
+     used for painting like any other pixmap. The softImage should point to an alternative, 
+     software version of the graphical resource -- ie. obtained from theme daemon. The 
+     softImage can be allocated on a QSharedMemory slice for easy sharing across processes
+     too. When the application is migrated ToRaster, this softImage will replace the
+     contents of the sharedImage.
+     
+     It's ok to call this function too when not running 'meego' graphics system. In this
+     case it'll create a QPixmap backed with a raster data (from softImage)... but when 
+     the system is switched back to 'meego', the QPixmap will be migrated to a EGL-shared image
+     backed storage (handle).
+    */
+    static QPixmap pixmapFromEGLSharedImage(Qt::HANDLE handle, const QImage &softImage);
+
+    //! Destroys an EGL shared image. 
+    /*!
+     Destroys an EGLSharedImage previously created with an ::imageToEGLSharedImage call.
+     Returns true if the image was found and the destruction was successfull. Notice that
+     this destroys the image for all processes using it. 
+    */
+    static bool destroyEGLSharedImage(Qt::HANDLE handle);
+    
+    //! Updates the QPixmap backed with an EGLShared image. 
+    /*! 
+     This function re-reads the softImage that was specified when creating the pixmap with
+     ::pixmapFromEGLSharedImage and updates the EGL Shared image contents. It can be used
+     to share cross-proccess mutable EGLShared images. 
+    */
+    static void updateEGLSharedImagePixmap(QPixmap *p);
+
+    //! Create a new QPixmap with a GL texture.
+    /*!
+     Creates a new QPixmap which is backed by an OpenGL local texture. Drawing to this
+     QPixmap will be accelerated by hardware -- unlike the normal (new QPixmap()) pixmaps, 
+     which are backed by a software engine and only migrated to GPU when used. Migrating those
+     GL-backed pixmaps when going ToRaster is expsensive (they need to be downloaded from 
+     GPU to CPU) so use wisely. 
+    */
+    static QPixmap pixmapWithGLTexture(int w, int h);
+    
+    //! Sets translucency (alpha) on the base window surface.
+    /*!
+     This function needs to be called *before* any widget/content is created. 
+     When called with true, the base window surface will be translucent and initialized
+     with QGLFormat.alpha == true.
+    */
+    static void setTranslucent(bool translucent);
+};
+
+#endif
diff --git a/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.pro b/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.pro
new file mode 100644
index 0000000..cab096e
--- /dev/null
+++ b/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.pro
@@ -0,0 +1,19 @@
+TEMPLATE = lib
+TARGET = meegographicssystemhelper 
+QT += gui
+INCLUDEPATH += '../'
+LIBS += -L../plugin
+CONFIG += debug
+VERSION = 0.1.9
+HEADERS = mgraphicssystemhelper.h moverlaywidget.h mlivepixmap.h mliveimage.h mruntime.h mliveimage_p.h mlivepixmap_p.h
+SOURCES = mgraphicssystemhelper.cpp mgraphicssystemhelper.h moverlaywidget.h moverlaywidget.cpp mruntime.cpp mruntime.h mlivepixmap.cpp mlivepixmap.h mliveimage.h mliveimage.cpp mliveimage_p.h mlivepixmap_p.h
+
+target.path = /usr/lib/
+
+headers.files =  mgraphicssystemhelper.h moverlaywidget.h mlivepixmap.h mliveimage.h 
+headers.path = /usr/include/meegographicssystemhelper/
+
+pkg.files = meegographicssystemhelper.pc
+pkg.path = /usr/lib/pkgconfig/
+
+INSTALLS += target headers pkg
diff --git a/tools/qmeegographicssystemhelper/qmeegoliveimage.cpp b/tools/qmeegographicssystemhelper/qmeegoliveimage.cpp
new file mode 100644
index 0000000..37ead21
--- /dev/null
+++ b/tools/qmeegographicssystemhelper/qmeegoliveimage.cpp
@@ -0,0 +1,88 @@
+/***************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation
+**
+** This library is free software; you can redistribute it and/or
+** modify it under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation
+** and appearing in the file LICENSE.LGPL included in the packaging
+** of this file.
+**
+****************************************************************************/
+
+#include "mliveimage.h"
+#include "mliveimage_p.h"
+#include "mlivepixmap.h"
+#include "mlivepixmap_p.h"
+
+/* MLiveImagePrivate */
+
+MLiveImagePrivate::MLiveImagePrivate()
+{
+}
+
+MLiveImagePrivate::~MLiveImagePrivate()
+{
+    if (attachedPixmaps.length() > 0)
+        qWarning("Destroying MLiveImage but it still has MLivePixmaps attached!");
+}
+
+void MLiveImagePrivate::attachPixmap(MLivePixmap* pixmap)
+{
+    attachedPixmaps << pixmap;
+}
+
+void MLiveImagePrivate::detachPixmap(MLivePixmap* pixmap)
+{
+    attachedPixmaps.removeAll(pixmap);
+}
+
+/* MLiveImage */
+
+MLiveImage* MLiveImage::liveImageWithSize(int w, int h, Format format, int buffers)
+{
+    if (format != Format_ARGB32_Premultiplied) {
+        qWarning("Only _ARGB32_Premultiplied format is supported for live images now!");
+        return 0;
+    }
+    
+    if (buffers != 1) {
+        qWarning("Only single-buffer streams are supported at the moment");
+        return 0;
+    }
+    
+    MLiveImage *liveImage = new MLiveImage(w, h);
+    return liveImage;
+}
+
+MLiveImage::MLiveImage(int w, int h) : QImage(w, h, QImage::Format_ARGB32_Premultiplied), d_ptr(new MLiveImagePrivate())
+{
+    Q_D(MLiveImage);
+    d->q_ptr = this;
+}
+
+MLiveImage::~MLiveImage()
+{
+}
+
+void MLiveImage::lock(int buffer)
+{
+    if (buffer != 0)
+        qWarning("Only locking 0 buffer is supported at the moment!");
+}
+
+void MLiveImage::release(int buffer)
+{
+    Q_D(MLiveImage);
+    
+    if (buffer != 0) {
+        qWarning("Only locking 0 buffer is supported at the moment!");
+        return;
+    }
+
+    // We need to copy the update image to all the client MLivePixmap's
+    foreach (MLivePixmap* livePixmap, d->attachedPixmaps) 
+        livePixmap->d_ptr->copyBackFrom((const void *) bits());
+}
\ No newline at end of file
diff --git a/tools/qmeegographicssystemhelper/qmeegoliveimage.h b/tools/qmeegographicssystemhelper/qmeegoliveimage.h
new file mode 100644
index 0000000..f945b34
--- /dev/null
+++ b/tools/qmeegographicssystemhelper/qmeegoliveimage.h
@@ -0,0 +1,79 @@
+/***************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation
+**
+** This library is free software; you can redistribute it and/or
+** modify it under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation
+** and appearing in the file LICENSE.LGPL included in the packaging
+** of this file.
+**
+****************************************************************************/
+
+#ifndef MLIVEIMAGE_H
+#define MLIVEIMAGE_H
+
+#include <QImage>
+
+class MLivePixmap;
+class MLiveImagePrivate;
+
+//! A streamable QImage subclass.
+/*!
+*/
+
+class MLiveImage : public QImage
+{
+public:
+    //! Format specifier.
+    /*! 
+     Used to specify the format of the underlying image data for MLiveImage. 
+    */
+    enum Format {
+        Format_ARGB32_Premultiplied //! 32bit, AARRGGBB format. The typical Qt format.
+    };
+    
+    //! Locks the access to the image. 
+    /*! 
+     All drawing/access to the underlying image data needs to happen between 
+     ::lock() and ::unlock() pairs.
+     */
+    void lock(int buffer = 0);
+    
+    //! Unlocks the access to the image. 
+    /*! 
+     All drawing/access to the underlying image data needs to happen between 
+     ::lock() and ::unlock() pairs.
+     */
+    void release(int buffer = 0);
+    
+    //! Destroys the image.
+    /*!
+      It's a mistake to destroy an image before destroying all the MLivePixmaps
+      built on top of it. You should first destroy all the MLivePixmaps.
+     */
+    virtual ~MLiveImage();
+    
+    //! Creates and returns a new live image with the given parameters.
+    /*!
+     The new image is created with the given width w and the given height h. 
+     The format specifies the color format used by the image. Optionally, a 
+     number of buffers can be specfied for a stream-like behavior.
+     */
+    static MLiveImage* liveImageWithSize(int w, int h, Format format, int buffers = 1);
+
+private:
+    MLiveImage(int w, int h); //! Private bits.
+    Q_DISABLE_COPY(MLiveImage)
+    Q_DECLARE_PRIVATE(MLiveImage)
+
+protected:
+    QScopedPointer<MLiveImagePrivate> d_ptr;
+
+    friend class MLivePixmap;
+    friend class MLivePixmapPrivate;
+};
+
+#endif
diff --git a/tools/qmeegographicssystemhelper/qmeegoliveimage_p.h b/tools/qmeegographicssystemhelper/qmeegoliveimage_p.h
new file mode 100644
index 0000000..0789b93
--- /dev/null
+++ b/tools/qmeegographicssystemhelper/qmeegoliveimage_p.h
@@ -0,0 +1,36 @@
+/***************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation
+**
+** This library is free software; you can redistribute it and/or
+** modify it under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation
+** and appearing in the file LICENSE.LGPL included in the packaging
+** of this file.
+**
+****************************************************************************/
+
+#include "mliveimage.h"
+
+#ifndef MLIVEIMAGE_P_H
+#define MLIVEIMAGE_P_H
+
+class MLiveImagePrivate
+{
+public:
+    Q_DECLARE_PUBLIC(MLiveImage);
+    MLiveImagePrivate();
+    virtual ~MLiveImagePrivate();
+    void attachPixmap(MLivePixmap* pixmap);
+    void detachPixmap(MLivePixmap* pixmap);
+        
+    QList <MLivePixmap*> attachedPixmaps;
+    MLiveImage *q_ptr;
+    
+    friend class MLivePixmap;
+    friend class MLivePixmapPrivate;
+};
+
+#endif
\ No newline at end of file
diff --git a/tools/qmeegographicssystemhelper/qmeegolivepixmap.cpp b/tools/qmeegographicssystemhelper/qmeegolivepixmap.cpp
new file mode 100644
index 0000000..2f7abd7
--- /dev/null
+++ b/tools/qmeegographicssystemhelper/qmeegolivepixmap.cpp
@@ -0,0 +1,136 @@
+/***************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation
+**
+** This library is free software; you can redistribute it and/or
+** modify it under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation
+** and appearing in the file LICENSE.LGPL included in the packaging
+** of this file.
+**
+****************************************************************************/
+
+#include "mlivepixmap.h"
+#include "../private/qimage_p.h"
+#include "../private/qpixmap_raster_p.h"
+#include "mlivepixmap_p.h"
+#include "mliveimage_p.h"
+#include <QSharedMemory>
+
+/* MLivePixmapPrivate */
+
+MLivePixmapPrivate::MLivePixmapPrivate() : shm(0), shmSerial(0), owns(true), parentImage(0)
+{
+}
+
+void MLivePixmapPrivate::copyBackFrom(const void *raw)
+{
+    Q_Q(MLivePixmap);
+    
+    q->detach();
+    shm->lock();
+    uchar *dest = ((uchar *) shm->data()) + (2 * sizeof(int));
+    memcpy(dest, raw, q->width() * q->height() * 4);
+    shm->unlock();
+}
+
+MLivePixmapPrivate::~MLivePixmapPrivate()
+{
+    Q_Q(MLivePixmap);
+    
+    if (parentImage)
+        parentImage->d_ptr->detachPixmap(q);
+
+    if (shm)
+        shm->detach();
+        
+    if (owns)
+        delete shm;        
+}
+
+/* MLivePixmap */
+
+MLivePixmap::MLivePixmap(QPixmapData *p) : QPixmap(p), d_ptr(new MLivePixmapPrivate())
+{
+    Q_D(MLivePixmap);
+    d->q_ptr = this;
+}
+
+MLivePixmap* MLivePixmap::fromLiveImage(MLiveImage *liveImage)
+{
+    static int counter = 100;
+    QSharedMemory *shm = NULL;
+    uchar* imgData = NULL;
+    int *header = NULL;
+    int w = liveImage->width();
+    int h = liveImage->height();
+    
+    counter++;
+    shm = new QSharedMemory(QString("MLivePixmap%1").arg(counter));
+    shm->create((w * h * 4) + 2 * sizeof(int)); // +2 to store width & height
+    shm->attach();
+    
+    imgData = ((uchar *) shm->data()) + (2 * sizeof(int));
+    header = (int *) shm->data();
+    
+    header[0] = w;
+    header[1] = h;
+    
+    QImage img(imgData, w, h, QImage::Format_ARGB32_Premultiplied);
+    
+    QPixmapData *pmd = new QRasterPixmapData(QPixmapData::PixmapType);
+    pmd->fromImage(img, Qt::NoOpaqueDetection);
+    
+    MLivePixmap *livePixmap = new MLivePixmap(pmd);
+    livePixmap->d_ptr->shm = shm;
+    livePixmap->d_ptr->owns = true;
+    livePixmap->d_ptr->shmSerial = counter;
+    livePixmap->d_ptr->parentImage = liveImage;
+    
+    liveImage->d_ptr->attachPixmap(livePixmap);
+
+    return livePixmap;    
+}
+
+MLivePixmap* MLivePixmap::fromHandle(Qt::HANDLE handle)
+{
+    QSharedMemory *shm = NULL;
+    int *header;
+    int width;
+    int height;
+    uchar* imgData;
+    
+    shm = new QSharedMemory(QString("MLivePixmap%1").arg(handle));
+    shm->attach();
+    
+    shm->lock();
+    header = (int *) shm->data();
+    width = header[0];
+    height = header[1];
+    shm->unlock();
+    
+    imgData = ((uchar *) shm->data()) + (2 * sizeof(int));
+    QImage img(imgData, width, height, QImage::Format_ARGB32_Premultiplied);
+    
+    QPixmapData *pmd = new QRasterPixmapData(QPixmapData::PixmapType);
+    pmd->fromImage(img, Qt::NoOpaqueDetection);
+
+    MLivePixmap *livePixmap = new MLivePixmap(pmd);
+    livePixmap->d_ptr->shm = shm;
+    livePixmap->d_ptr->owns = false;
+    livePixmap->d_ptr->shmSerial = handle;
+
+    return livePixmap;
+}
+
+MLivePixmap::~MLivePixmap()
+{
+}
+
+Qt::HANDLE MLivePixmap::handle()
+{
+    Q_D(MLivePixmap);
+    return d->shmSerial;
+}
diff --git a/tools/qmeegographicssystemhelper/qmeegolivepixmap.h b/tools/qmeegographicssystemhelper/qmeegolivepixmap.h
new file mode 100644
index 0000000..dee4d2a
--- /dev/null
+++ b/tools/qmeegographicssystemhelper/qmeegolivepixmap.h
@@ -0,0 +1,71 @@
+/***************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation
+**
+** This library is free software; you can redistribute it and/or
+** modify it under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation
+** and appearing in the file LICENSE.LGPL included in the packaging
+** of this file.
+**
+****************************************************************************/
+
+#ifndef MLIVEPIXMAP_H
+#define MLIVEPIXMAP_H
+
+#include <QPixmap>
+#include "mliveimage.h"
+
+class MLivePixmapPrivate;
+class QSharedMemory;
+class QImage;
+
+//! A pixmap representing streamed content.
+/*!
+*/
+
+class MLivePixmap : public QPixmap
+{
+public:
+    //! Creates new pixmap from the given MLiveImage.
+    /*! 
+     The created MLivePixmap will be attached to the given MLiveImage. 
+     Updates to the MLiveImage will be represented on this newly created
+     MLivePixmap.
+    */
+    static MLivePixmap* fromLiveImage(MLiveImage *liveImage);
+    
+    //! Creates a new MLivePixmap from the specified handle.
+    /*! 
+     The handle can be used to share MLivePixmap cross-process.
+    */
+    static MLivePixmap* fromHandle(Qt::HANDLE handle);
+    
+    //! Returns the handle for this MLivePixmap.
+    /*! 
+     The handle can be used to share MLivePixmap cross-process.
+    */
+    Qt::HANDLE handle();
+    
+    //! Destroys the MLivePixmap.
+    /*! 
+     All MLivePixmaps attached to a given MLiveImage have to be destroyed 
+     before the MLiveImage itself is destroyed.
+    */
+    virtual ~MLivePixmap();
+
+private:
+    MLivePixmap(QPixmapData *p);
+    Q_DISABLE_COPY(MLivePixmap)
+    Q_DECLARE_PRIVATE(MLivePixmap)
+
+protected:
+    QScopedPointer<MLivePixmapPrivate> d_ptr; //! Private bits.
+
+    friend class MLiveImage;
+    friend class MLiveImagePrivate;
+};
+
+#endif
diff --git a/tools/qmeegographicssystemhelper/qmeegolivepixmap_p.h b/tools/qmeegographicssystemhelper/qmeegolivepixmap_p.h
new file mode 100644
index 0000000..4ff64de
--- /dev/null
+++ b/tools/qmeegographicssystemhelper/qmeegolivepixmap_p.h
@@ -0,0 +1,39 @@
+/***************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation
+**
+** This library is free software; you can redistribute it and/or
+** modify it under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation
+** and appearing in the file LICENSE.LGPL included in the packaging
+** of this file.
+**
+****************************************************************************/
+
+#include "mlivepixmap.h"
+
+#ifndef MLIVEPIXMAP_P_H
+#define MLIVEPIXMAP_P_H
+
+class MLivePixmapPrivate
+{
+public:
+    Q_DECLARE_PUBLIC(MLivePixmap);
+    MLivePixmapPrivate();
+    void copyBackFrom(const void *raw);
+    virtual ~MLivePixmapPrivate();
+    
+    QSharedMemory *shm;
+    int shmSerial;
+    bool owns;
+    MLiveImage *parentImage;
+    
+    MLivePixmap *q_ptr;
+    
+    friend class MLiveImage;
+    friend class MLiveImagePrivate;
+};
+
+#endif
\ No newline at end of file
diff --git a/tools/qmeegographicssystemhelper/qmeegooverlaywidget.cpp b/tools/qmeegographicssystemhelper/qmeegooverlaywidget.cpp
new file mode 100644
index 0000000..8f64b3f
--- /dev/null
+++ b/tools/qmeegographicssystemhelper/qmeegooverlaywidget.cpp
@@ -0,0 +1,72 @@
+/***************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation
+**
+** This library is free software; you can redistribute it and/or
+** modify it under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation
+** and appearing in the file LICENSE.LGPL included in the packaging
+** of this file.
+**
+****************************************************************************/
+
+#include <QDebug>
+#include <QEvent>
+#include <QMouseEvent>
+#include <QCoreApplication>
+#include "moverlaywidget.h"
+#include "mgraphicssystemhelper.h"
+#include "mruntime.h"
+
+MOverlayWidget::MOverlayWidget(int surfaceWidth, int surfaceHeight, QWidget *parent) : QWidget(parent, 0), 
+    sw(surfaceWidth), 
+    sh(surfaceHeight)
+{
+    if (! MGraphicsSystemHelper::isRunningMeeGo())
+        qFatal("MOverlayWidget can only be used when running with 'meego' graphics system!");
+
+    MRuntime::setSurfaceFixedSize(surfaceWidth, surfaceHeight);
+
+    scaleW = sw / 864.0;
+    scaleH = sh / 480.0;
+    installEventFilter(this);
+}
+
+QPoint MOverlayWidget::convertPoint(const QPoint &p)
+{
+    int x = p.x() * scaleW;
+    int y = p.y() * scaleH;
+    return QPoint(x, y);
+}
+
+void MOverlayWidget::showEvent(QShowEvent *event)
+{
+    MRuntime::setSurfaceScaling(0, 0, width(), height());
+}
+
+bool MOverlayWidget::eventFilter(QObject *obj, QEvent *event)
+{
+    if (event->spontaneous() == false)
+        return false;
+
+    switch(event->type()) {
+        case QEvent::MouseButtonPress:
+        case QEvent::MouseButtonRelease:
+        {
+            QMouseEvent *e = static_cast <QMouseEvent *>(event);
+            QMouseEvent newEvent = QMouseEvent(e->type(), 
+                                               convertPoint(e->pos()), 
+                                               convertPoint(e->globalPos()), 
+                                               e->button(), 
+                                               e->buttons(), 
+                                               e->modifiers());
+            QCoreApplication::sendEvent(this, &newEvent);
+            return true;
+        }
+
+        default:
+            return false;
+    }
+}
diff --git a/tools/qmeegographicssystemhelper/qmeegooverlaywidget.h b/tools/qmeegographicssystemhelper/qmeegooverlaywidget.h
new file mode 100644
index 0000000..f45a673
--- /dev/null
+++ b/tools/qmeegographicssystemhelper/qmeegooverlaywidget.h
@@ -0,0 +1,59 @@
+/***************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation
+**
+** This library is free software; you can redistribute it and/or
+** modify it under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation
+** and appearing in the file LICENSE.LGPL included in the packaging
+** of this file.
+**
+****************************************************************************/
+
+#ifndef MOVERLAYWIDGET_H
+#define MOVERLAYWIDGET_H
+
+#include <QWidget>
+
+//! A widget automatically scaling it's content.
+/*!
+*/
+
+class MOverlayWidget : public QWidget
+{
+public:
+    //! Constructs a new scaling widget.
+    /*!
+     The real surface used for this widget will have the specified
+     width and height.
+    */
+    MOverlayWidget(int surfaceWidth, int surfaceHeight, QWidget *parent = 0);
+
+
+    //! Event filtering function. 
+    /*!
+      Converts coordinates for mouse/touch event. Do not
+      call manually.
+    */
+    bool eventFilter(QObject *obj, QEvent *event);
+
+    //! Standard override.
+    /*!
+     The surface scaling on the target paint device is being
+     set when the widget is displayed for the first time.
+    */
+    virtual void showEvent(QShowEvent *event);
+
+private:
+    //! Converts coordinates between real & virtual area of the widget.
+    QPoint convertPoint(const QPoint &p);
+
+    int sw; /// Surface real width.
+    int sh; /// Surface real height.
+    float scaleW; /// Width scaling factor.
+    float scaleH; /// Height scaling factor.
+};
+
+#endif
diff --git a/tools/qmeegographicssystemhelper/qmeegoruntime.cpp b/tools/qmeegographicssystemhelper/qmeegoruntime.cpp
new file mode 100644
index 0000000..b1b0874
--- /dev/null
+++ b/tools/qmeegographicssystemhelper/qmeegoruntime.cpp
@@ -0,0 +1,112 @@
+/***************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation
+**
+** This library is free software; you can redistribute it and/or
+** modify it under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation
+** and appearing in the file LICENSE.LGPL included in the packaging
+** of this file.
+**
+****************************************************************************/
+
+#include "mruntime.h"
+
+#define ENSURE_INITIALIZED {if (!initialized) initialize();}
+
+QLibrary* MRuntime::library = NULL;
+bool MRuntime::initialized = false;
+
+typedef int (*MImageToEglSharedImageFunc) (const QImage&);
+typedef QPixmapData* (*MPixmapDataFromEglSharedImageFunc) (Qt::HANDLE handle, const QImage&);
+typedef QPixmapData* (*MPixmapDataWithGLTextureFunc) (int w, int h);
+typedef bool (*MDestroyEGLSharedImageFunc) (Qt::HANDLE handle);
+typedef void (*MUpdateEglSharedImagePixmapFunc) (QPixmap*);
+typedef void (*MSetSurfaceFixedSizeFunc) (int w, int h);
+typedef void (*MSetSurfaceScalingFunc) (int x, int y, int w, int h);
+typedef void (*MSetTranslucentFunc) (bool translucent);
+
+static MImageToEglSharedImageFunc m_image_to_egl_shared_image = NULL;
+static MPixmapDataFromEglSharedImageFunc m_pixmapdata_from_egl_shared_image = NULL;
+static MPixmapDataWithGLTextureFunc m_pixmapdata_with_gl_texture = NULL;
+static MDestroyEGLSharedImageFunc m_destroy_egl_shared_image = NULL;
+static MUpdateEglSharedImagePixmapFunc m_update_egl_shared_image_pixmap = NULL;
+static MSetSurfaceFixedSizeFunc m_set_surface_fixed_size = NULL;
+static MSetSurfaceScalingFunc m_set_surface_scaling = NULL;
+static MSetTranslucentFunc m_set_translucent = NULL;
+
+void MRuntime::initialize()
+{
+    library = new QLibrary("/usr/lib/qt4/plugins/graphicssystems/libmeegographicssystem.so");
+    Q_ASSERT(library);
+    
+    m_image_to_egl_shared_image = (MImageToEglSharedImageFunc) library->resolve("m_image_to_egl_shared_image");
+    m_pixmapdata_from_egl_shared_image = (MPixmapDataFromEglSharedImageFunc)  library->resolve("m_pixmapdata_from_egl_shared_image");
+    m_pixmapdata_with_gl_texture = (MPixmapDataWithGLTextureFunc) library->resolve("m_pixmapdata_with_gl_texture");
+    m_destroy_egl_shared_image = (MDestroyEGLSharedImageFunc) library->resolve("m_destroy_egl_shared_image");
+    m_update_egl_shared_image_pixmap = (MUpdateEglSharedImagePixmapFunc) library->resolve("m_update_egl_shared_image_pixmap");
+    m_set_surface_fixed_size = (MSetSurfaceFixedSizeFunc) library->resolve("m_set_surface_fixed_size");
+    m_set_surface_scaling = (MSetSurfaceScalingFunc) library->resolve("m_set_surface_scaling");
+    m_set_translucent = (MSetTranslucentFunc) library->resolve("m_set_translucent");
+    
+    
+    initialized = true;
+}
+
+Qt::HANDLE MRuntime::imageToEGLSharedImage(const QImage &image)
+{
+    ENSURE_INITIALIZED;
+    Q_ASSERT(m_image_to_egl_shared_image);
+    return m_image_to_egl_shared_image(image);
+}
+
+QPixmap MRuntime::pixmapFromEGLSharedImage(Qt::HANDLE handle, const QImage &softImage)
+{
+    ENSURE_INITIALIZED;
+    Q_ASSERT(m_pixmapdata_from_egl_shared_image);
+    return QPixmap(m_pixmapdata_from_egl_shared_image(handle, softImage));
+}
+
+QPixmap MRuntime::pixmapWithGLTexture(int w, int h)
+{
+    ENSURE_INITIALIZED;
+    Q_ASSERT(m_pixmapdata_with_gl_texture);
+    return QPixmap(m_pixmapdata_with_gl_texture(w, h));
+}
+
+bool MRuntime::destroyEGLSharedImage(Qt::HANDLE handle)
+{
+    ENSURE_INITIALIZED;
+    Q_ASSERT(m_destroy_egl_shared_image);
+    return m_destroy_egl_shared_image(handle);
+}
+
+void MRuntime::updateEGLSharedImagePixmap(QPixmap *p)
+{
+    ENSURE_INITIALIZED;
+    Q_ASSERT(m_update_egl_shared_image_pixmap);
+    return m_update_egl_shared_image_pixmap(p);
+}
+
+void MRuntime::setSurfaceFixedSize(int w, int h)
+{
+    ENSURE_INITIALIZED;
+    Q_ASSERT(m_set_surface_fixed_size);
+    m_set_surface_fixed_size(w, h);
+}
+
+void MRuntime::setSurfaceScaling(int x, int y, int w, int h)
+{
+    ENSURE_INITIALIZED;
+    Q_ASSERT(m_set_surface_scaling);
+    m_set_surface_scaling(x, y, w, h);
+}
+
+void MRuntime::setTranslucent(bool translucent)
+{
+    ENSURE_INITIALIZED;
+    Q_ASSERT(m_set_translucent);
+    m_set_translucent(translucent);
+}
diff --git a/tools/qmeegographicssystemhelper/qmeegoruntime.h b/tools/qmeegographicssystemhelper/qmeegoruntime.h
new file mode 100644
index 0000000..34474cc
--- /dev/null
+++ b/tools/qmeegographicssystemhelper/qmeegoruntime.h
@@ -0,0 +1,36 @@
+/***************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation
+**
+** This library is free software; you can redistribute it and/or
+** modify it under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation
+** and appearing in the file LICENSE.LGPL included in the packaging
+** of this file.
+**
+****************************************************************************/
+
+#include <QLibrary>
+#include <QPixmap>
+#include <QImage>
+
+class MRuntime
+{
+public:
+    static void initialize();
+    
+    static Qt::HANDLE imageToEGLSharedImage(const QImage &image);
+    static QPixmap pixmapFromEGLSharedImage(Qt::HANDLE handle, const QImage &softImage);
+    static QPixmap pixmapWithGLTexture(int w, int h);
+    static bool destroyEGLSharedImage(Qt::HANDLE handle);
+    static void updateEGLSharedImagePixmap(QPixmap *p);
+    static void setSurfaceFixedSize(int w, int h);
+    static void setSurfaceScaling(int x, int y, int w, int h);
+    static void setTranslucent(bool translucent);
+
+private:
+    static bool initialized;
+    static QLibrary *library;  
+};
\ No newline at end of file
-- 
cgit v0.12


From 2c7a0fef42993dbaeceab9a72de65591bbedd1c0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Samuel=20R=C3=B8dal?= <samuel.rodal@nokia.com>
Date: Mon, 6 Sep 2010 15:06:07 +0200
Subject: Fixed compilation and API of meego graphics system helper.

---
 .../qmeegographicssystemhelper.cpp                 |  44 ++++-----
 .../qmeegographicssystemhelper.h                   |  20 ++--
 .../qmeegographicssystemhelper.pro                 |  22 ++---
 .../qmeegographicssystemhelper/qmeegoliveimage.cpp |  44 ++++-----
 tools/qmeegographicssystemhelper/qmeegoliveimage.h |  32 +++----
 .../qmeegographicssystemhelper/qmeegoliveimage_p.h |  28 +++---
 .../qmeegolivepixmap.cpp                           |  46 ++++-----
 .../qmeegographicssystemhelper/qmeegolivepixmap.h  |  50 +++++-----
 .../qmeegolivepixmap_p.h                           |  24 ++---
 .../qmeegooverlaywidget.cpp                        |  22 ++---
 .../qmeegooverlaywidget.h                          |   8 +-
 tools/qmeegographicssystemhelper/qmeegoruntime.cpp | 104 ++++++++++-----------
 tools/qmeegographicssystemhelper/qmeegoruntime.h   |   4 +-
 tools/tools.pro                                    |   4 +
 14 files changed, 224 insertions(+), 228 deletions(-)

diff --git a/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.cpp b/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.cpp
index ff921fd..38ba82d 100644
--- a/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.cpp
+++ b/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.cpp
@@ -12,15 +12,15 @@
 **
 ****************************************************************************/
 
-#define ENSURE_RUNNING_MEEGO {if (! MGraphicsSystemHelper::isRunningMeeGo()) { qFatal("Using meego functionality but not running meego graphics system!"); }}
+#define ENSURE_RUNNING_MEEGO {if (! QMeeGoGraphicsSystemHelper::isRunningMeeGo()) { qFatal("Using meego functionality but not running meego graphics system!"); }}
 
-#include "mgraphicssystemhelper.h"
-#include "../private/qapplication_p.h"
-#include "../private/qgraphicssystem_runtime_p.h"
-#include "../private/qpixmap_raster_p.h"
-#include "mruntime.h"
+#include "qmeegographicssystemhelper.h"
+#include <private/qapplication_p.h>
+#include <private/qgraphicssystem_runtime_p.h>
+#include <private/qpixmap_raster_p.h>
+#include "qmeegoruntime.h"
 
-QString MGraphicsSystemHelper::runningGraphicsSystemName()
+QString QMeeGoGraphicsSystemHelper::runningGraphicsSystemName()
 {
     if (! QApplicationPrivate::instance()) {
         qWarning("Querying graphics system but application not running yet!");
@@ -36,12 +36,12 @@ QString MGraphicsSystemHelper::runningGraphicsSystemName()
     return name;
 }
 
-bool MGraphicsSystemHelper::isRunningMeeGo()
+bool QMeeGoGraphicsSystemHelper::isRunningMeeGo()
 {
     return (runningGraphicsSystemName() == "meego");
 }
 
-void MGraphicsSystemHelper::switchToMeeGo()
+void QMeeGoGraphicsSystemHelper::switchToMeeGo()
 {
     if (runningGraphicsSystemName() == "meego")
         return;
@@ -54,7 +54,7 @@ void MGraphicsSystemHelper::switchToMeeGo()
     }
 }
 
-void MGraphicsSystemHelper::switchToRaster()
+void QMeeGoGraphicsSystemHelper::switchToRaster()
 {
     if (runningGraphicsSystemName() == "raster")
         return;
@@ -67,40 +67,40 @@ void MGraphicsSystemHelper::switchToRaster()
     }
 }
 
-Qt::HANDLE MGraphicsSystemHelper::imageToEGLSharedImage(const QImage &image)
+Qt::HANDLE QMeeGoGraphicsSystemHelper::imageToEGLSharedImage(const QImage &image)
 {
     ENSURE_RUNNING_MEEGO;
-    return MRuntime::imageToEGLSharedImage(image);
+    return QMeeGoRuntime::imageToEGLSharedImage(image);
 }
 
-QPixmap MGraphicsSystemHelper::pixmapFromEGLSharedImage(Qt::HANDLE handle, const QImage &softImage)
+QPixmap QMeeGoGraphicsSystemHelper::pixmapFromEGLSharedImage(Qt::HANDLE handle, const QImage &softImage)
 {
     // This function is supported when not running meego too. A raster-backed
     // pixmap will be created... but when you switch back to 'meego', it'll 
     // be replaced with a EGL shared image backing.
-    return MRuntime::pixmapFromEGLSharedImage(handle, softImage);
+    return QMeeGoRuntime::pixmapFromEGLSharedImage(handle, softImage);
 }
 
-QPixmap MGraphicsSystemHelper::pixmapWithGLTexture(int w, int h)
+QPixmap QMeeGoGraphicsSystemHelper::pixmapWithGLTexture(int w, int h)
 {
     ENSURE_RUNNING_MEEGO;
-    return MRuntime::pixmapWithGLTexture(w, h);
+    return QMeeGoRuntime::pixmapWithGLTexture(w, h);
 }
 
-bool MGraphicsSystemHelper::destroyEGLSharedImage(Qt::HANDLE handle)
+bool QMeeGoGraphicsSystemHelper::destroyEGLSharedImage(Qt::HANDLE handle)
 {
     ENSURE_RUNNING_MEEGO;
-    return MRuntime::destroyEGLSharedImage(handle);
+    return QMeeGoRuntime::destroyEGLSharedImage(handle);
 }
 
-void MGraphicsSystemHelper::updateEGLSharedImagePixmap(QPixmap *p)
+void QMeeGoGraphicsSystemHelper::updateEGLSharedImagePixmap(QPixmap *p)
 {
     ENSURE_RUNNING_MEEGO;
-    return MRuntime::updateEGLSharedImagePixmap(p);
+    return QMeeGoRuntime::updateEGLSharedImagePixmap(p);
 }
 
-void MGraphicsSystemHelper::setTranslucent(bool translucent)
+void QMeeGoGraphicsSystemHelper::setTranslucent(bool translucent)
 {
     ENSURE_RUNNING_MEEGO;
-    MRuntime::setTranslucent(translucent);
+    QMeeGoRuntime::setTranslucent(translucent);
 }
diff --git a/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.h b/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.h
index 1966648..069a27c 100644
--- a/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.h
+++ b/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.h
@@ -12,12 +12,12 @@
 **
 ****************************************************************************/
 
-#ifndef MGRAPHICSSYSTEMHELPER_H
-#define MGRAPHICSSYSTEMHELPER_H
+#ifndef QMEEGOGRAPHICSSYSTEMHELPER_H
+#define QMEEGOGRAPHICSSYSTEMHELPER_H
 
 #include <QPixmap>
 #include <QImage>
-#include "mlivepixmap.h"
+#include "qmeegolivepixmap.h"
 
 class QLibrary;
 
@@ -33,8 +33,8 @@ class QLibrary;
 
  \code
  QPixmap p;
- if (MGraphicsSystemHelper::isRunningMeeGo()) {
-    p = MGraphicsSystemHelper::pixmapWithGLTexture(64, 64);
+ if (QMeeGoGraphicsSystemHelper::isRunningMeeGo()) {
+    p = QMeeGoGraphicsSystemHelper::pixmapWithGLTexture(64, 64);
  } else {
     p = QPixmap(64, 64);
  }
@@ -44,14 +44,14 @@ class QLibrary;
  give unpredictable results. The only functions safe to call at all times are:
 
  \code
- MGraphicsSystemHelper::isRunningMeeGo();
- MGraphicsSystemHelper::runningGraphicsSystemName(); 
- MGraphicsSystemHelper::switchToMeeGo();
- MGraphicsSystemHelper::switchToRaster();
+ QMeeGoGraphicsSystemHelper::isRunningMeeGo();
+ QMeeGoGraphicsSystemHelper::runningGraphicsSystemName(); 
+ QMeeGoGraphicsSystemHelper::switchToMeeGo();
+ QMeeGoGraphicsSystemHelper::switchToRaster();
  \endcode
 */
 
-class MGraphicsSystemHelper 
+class QMeeGoGraphicsSystemHelper 
 {
 public:
     //! Returns true if running meego.
diff --git a/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.pro b/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.pro
index cab096e..eba6da4 100644
--- a/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.pro
+++ b/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.pro
@@ -1,19 +1,11 @@
 TEMPLATE = lib
-TARGET = meegographicssystemhelper 
-QT += gui
-INCLUDEPATH += '../'
-LIBS += -L../plugin
-CONFIG += debug
-VERSION = 0.1.9
-HEADERS = mgraphicssystemhelper.h moverlaywidget.h mlivepixmap.h mliveimage.h mruntime.h mliveimage_p.h mlivepixmap_p.h
-SOURCES = mgraphicssystemhelper.cpp mgraphicssystemhelper.h moverlaywidget.h moverlaywidget.cpp mruntime.cpp mruntime.h mlivepixmap.cpp mlivepixmap.h mliveimage.h mliveimage.cpp mliveimage_p.h mlivepixmap_p.h
-
-target.path = /usr/lib/
+TARGET = qmeegographicssystemhelper 
 
-headers.files =  mgraphicssystemhelper.h moverlaywidget.h mlivepixmap.h mliveimage.h 
-headers.path = /usr/include/meegographicssystemhelper/
+include(../../src/qbase.pri)
 
-pkg.files = meegographicssystemhelper.pc
-pkg.path = /usr/lib/pkgconfig/
+QT += gui
+INCLUDEPATH += '../../src/plugins/graphicssystems/meego'
 
-INSTALLS += target headers pkg
+VERSION = 0.1.9
+HEADERS = qmeegographicssystemhelper.h qmeegooverlaywidget.h qmeegolivepixmap.h qmeegoliveimage.h qmeegoruntime.h qmeegoliveimage_p.h qmeegolivepixmap_p.h
+SOURCES = qmeegographicssystemhelper.cpp qmeegooverlaywidget.cpp qmeegoruntime.cpp qmeegolivepixmap.cpp qmeegoliveimage.cpp
diff --git a/tools/qmeegographicssystemhelper/qmeegoliveimage.cpp b/tools/qmeegographicssystemhelper/qmeegoliveimage.cpp
index 37ead21..f92caf7 100644
--- a/tools/qmeegographicssystemhelper/qmeegoliveimage.cpp
+++ b/tools/qmeegographicssystemhelper/qmeegoliveimage.cpp
@@ -12,36 +12,36 @@
 **
 ****************************************************************************/
 
-#include "mliveimage.h"
-#include "mliveimage_p.h"
-#include "mlivepixmap.h"
-#include "mlivepixmap_p.h"
+#include "qmeegoliveimage.h"
+#include "qmeegoliveimage_p.h"
+#include "qmeegolivepixmap.h"
+#include "qmeegolivepixmap_p.h"
 
-/* MLiveImagePrivate */
+/* QMeeGoLiveImagePrivate */
 
-MLiveImagePrivate::MLiveImagePrivate()
+QMeeGoLiveImagePrivate::QMeeGoLiveImagePrivate()
 {
 }
 
-MLiveImagePrivate::~MLiveImagePrivate()
+QMeeGoLiveImagePrivate::~QMeeGoLiveImagePrivate()
 {
     if (attachedPixmaps.length() > 0)
-        qWarning("Destroying MLiveImage but it still has MLivePixmaps attached!");
+        qWarning("Destroying QMeeGoLiveImage but it still has QMeeGoLivePixmaps attached!");
 }
 
-void MLiveImagePrivate::attachPixmap(MLivePixmap* pixmap)
+void QMeeGoLiveImagePrivate::attachPixmap(QMeeGoLivePixmap* pixmap)
 {
     attachedPixmaps << pixmap;
 }
 
-void MLiveImagePrivate::detachPixmap(MLivePixmap* pixmap)
+void QMeeGoLiveImagePrivate::detachPixmap(QMeeGoLivePixmap* pixmap)
 {
     attachedPixmaps.removeAll(pixmap);
 }
 
-/* MLiveImage */
+/* QMeeGoLiveImage */
 
-MLiveImage* MLiveImage::liveImageWithSize(int w, int h, Format format, int buffers)
+QMeeGoLiveImage* QMeeGoLiveImage::liveImageWithSize(int w, int h, Format format, int buffers)
 {
     if (format != Format_ARGB32_Premultiplied) {
         qWarning("Only _ARGB32_Premultiplied format is supported for live images now!");
@@ -53,36 +53,36 @@ MLiveImage* MLiveImage::liveImageWithSize(int w, int h, Format format, int buffe
         return 0;
     }
     
-    MLiveImage *liveImage = new MLiveImage(w, h);
+    QMeeGoLiveImage *liveImage = new QMeeGoLiveImage(w, h);
     return liveImage;
 }
 
-MLiveImage::MLiveImage(int w, int h) : QImage(w, h, QImage::Format_ARGB32_Premultiplied), d_ptr(new MLiveImagePrivate())
+QMeeGoLiveImage::QMeeGoLiveImage(int w, int h) : QImage(w, h, QImage::Format_ARGB32_Premultiplied), d_ptr(new QMeeGoLiveImagePrivate())
 {
-    Q_D(MLiveImage);
+    Q_D(QMeeGoLiveImage);
     d->q_ptr = this;
 }
 
-MLiveImage::~MLiveImage()
+QMeeGoLiveImage::~QMeeGoLiveImage()
 {
 }
 
-void MLiveImage::lock(int buffer)
+void QMeeGoLiveImage::lock(int buffer)
 {
     if (buffer != 0)
         qWarning("Only locking 0 buffer is supported at the moment!");
 }
 
-void MLiveImage::release(int buffer)
+void QMeeGoLiveImage::release(int buffer)
 {
-    Q_D(MLiveImage);
+    Q_D(QMeeGoLiveImage);
     
     if (buffer != 0) {
         qWarning("Only locking 0 buffer is supported at the moment!");
         return;
     }
 
-    // We need to copy the update image to all the client MLivePixmap's
-    foreach (MLivePixmap* livePixmap, d->attachedPixmaps) 
+    // We need to copy the update image to all the client QMeeGoLivePixmap's
+    foreach (QMeeGoLivePixmap* livePixmap, d->attachedPixmaps) 
         livePixmap->d_ptr->copyBackFrom((const void *) bits());
-}
\ No newline at end of file
+}
diff --git a/tools/qmeegographicssystemhelper/qmeegoliveimage.h b/tools/qmeegographicssystemhelper/qmeegoliveimage.h
index f945b34..1a998a3 100644
--- a/tools/qmeegographicssystemhelper/qmeegoliveimage.h
+++ b/tools/qmeegographicssystemhelper/qmeegoliveimage.h
@@ -12,24 +12,24 @@
 **
 ****************************************************************************/
 
-#ifndef MLIVEIMAGE_H
-#define MLIVEIMAGE_H
+#ifndef QMEEGOLIVEIMAGE_H
+#define QMEEGOLIVEIMAGE_H
 
 #include <QImage>
 
-class MLivePixmap;
-class MLiveImagePrivate;
+class QMeeGoLivePixmap;
+class QMeeGoLiveImagePrivate;
 
 //! A streamable QImage subclass.
 /*!
 */
 
-class MLiveImage : public QImage
+class QMeeGoLiveImage : public QImage
 {
 public:
     //! Format specifier.
     /*! 
-     Used to specify the format of the underlying image data for MLiveImage. 
+     Used to specify the format of the underlying image data for QMeeGoLiveImage. 
     */
     enum Format {
         Format_ARGB32_Premultiplied //! 32bit, AARRGGBB format. The typical Qt format.
@@ -51,10 +51,10 @@ public:
     
     //! Destroys the image.
     /*!
-      It's a mistake to destroy an image before destroying all the MLivePixmaps
-      built on top of it. You should first destroy all the MLivePixmaps.
+      It's a mistake to destroy an image before destroying all the QMeeGoLivePixmaps
+      built on top of it. You should first destroy all the QMeeGoLivePixmaps.
      */
-    virtual ~MLiveImage();
+    virtual ~QMeeGoLiveImage();
     
     //! Creates and returns a new live image with the given parameters.
     /*!
@@ -62,18 +62,18 @@ public:
      The format specifies the color format used by the image. Optionally, a 
      number of buffers can be specfied for a stream-like behavior.
      */
-    static MLiveImage* liveImageWithSize(int w, int h, Format format, int buffers = 1);
+    static QMeeGoLiveImage* liveImageWithSize(int w, int h, Format format, int buffers = 1);
 
 private:
-    MLiveImage(int w, int h); //! Private bits.
-    Q_DISABLE_COPY(MLiveImage)
-    Q_DECLARE_PRIVATE(MLiveImage)
+    QMeeGoLiveImage(int w, int h); //! Private bits.
+    Q_DISABLE_COPY(QMeeGoLiveImage)
+    Q_DECLARE_PRIVATE(QMeeGoLiveImage)
 
 protected:
-    QScopedPointer<MLiveImagePrivate> d_ptr;
+    QScopedPointer<QMeeGoLiveImagePrivate> d_ptr;
 
-    friend class MLivePixmap;
-    friend class MLivePixmapPrivate;
+    friend class QMeeGoLivePixmap;
+    friend class QMeeGoLivePixmapPrivate;
 };
 
 #endif
diff --git a/tools/qmeegographicssystemhelper/qmeegoliveimage_p.h b/tools/qmeegographicssystemhelper/qmeegoliveimage_p.h
index 0789b93..aae97da 100644
--- a/tools/qmeegographicssystemhelper/qmeegoliveimage_p.h
+++ b/tools/qmeegographicssystemhelper/qmeegoliveimage_p.h
@@ -12,25 +12,25 @@
 **
 ****************************************************************************/
 
-#include "mliveimage.h"
+#include "qmeegoliveimage.h"
 
-#ifndef MLIVEIMAGE_P_H
-#define MLIVEIMAGE_P_H
+#ifndef QMEEGOLIVEIMAGE_P_H
+#define QMEEGOLIVEIMAGE_P_H
 
-class MLiveImagePrivate
+class QMeeGoLiveImagePrivate
 {
 public:
-    Q_DECLARE_PUBLIC(MLiveImage);
-    MLiveImagePrivate();
-    virtual ~MLiveImagePrivate();
-    void attachPixmap(MLivePixmap* pixmap);
-    void detachPixmap(MLivePixmap* pixmap);
+    Q_DECLARE_PUBLIC(QMeeGoLiveImage);
+    QMeeGoLiveImagePrivate();
+    virtual ~QMeeGoLiveImagePrivate();
+    void attachPixmap(QMeeGoLivePixmap* pixmap);
+    void detachPixmap(QMeeGoLivePixmap* pixmap);
         
-    QList <MLivePixmap*> attachedPixmaps;
-    MLiveImage *q_ptr;
+    QList <QMeeGoLivePixmap*> attachedPixmaps;
+    QMeeGoLiveImage *q_ptr;
     
-    friend class MLivePixmap;
-    friend class MLivePixmapPrivate;
+    friend class QMeeGoLivePixmap;
+    friend class QMeeGoLivePixmapPrivate;
 };
 
-#endif
\ No newline at end of file
+#endif
diff --git a/tools/qmeegographicssystemhelper/qmeegolivepixmap.cpp b/tools/qmeegographicssystemhelper/qmeegolivepixmap.cpp
index 2f7abd7..743f4b9 100644
--- a/tools/qmeegographicssystemhelper/qmeegolivepixmap.cpp
+++ b/tools/qmeegographicssystemhelper/qmeegolivepixmap.cpp
@@ -12,22 +12,22 @@
 **
 ****************************************************************************/
 
-#include "mlivepixmap.h"
-#include "../private/qimage_p.h"
-#include "../private/qpixmap_raster_p.h"
-#include "mlivepixmap_p.h"
-#include "mliveimage_p.h"
+#include "qmeegolivepixmap.h"
+#include <private/qimage_p.h>
+#include <private/qpixmap_raster_p.h>
+#include "qmeegolivepixmap_p.h"
+#include "qmeegoliveimage_p.h"
 #include <QSharedMemory>
 
-/* MLivePixmapPrivate */
+/* QMeeGoLivePixmapPrivate */
 
-MLivePixmapPrivate::MLivePixmapPrivate() : shm(0), shmSerial(0), owns(true), parentImage(0)
+QMeeGoLivePixmapPrivate::QMeeGoLivePixmapPrivate() : shm(0), shmSerial(0), owns(true), parentImage(0)
 {
 }
 
-void MLivePixmapPrivate::copyBackFrom(const void *raw)
+void QMeeGoLivePixmapPrivate::copyBackFrom(const void *raw)
 {
-    Q_Q(MLivePixmap);
+    Q_Q(QMeeGoLivePixmap);
     
     q->detach();
     shm->lock();
@@ -36,9 +36,9 @@ void MLivePixmapPrivate::copyBackFrom(const void *raw)
     shm->unlock();
 }
 
-MLivePixmapPrivate::~MLivePixmapPrivate()
+QMeeGoLivePixmapPrivate::~QMeeGoLivePixmapPrivate()
 {
-    Q_Q(MLivePixmap);
+    Q_Q(QMeeGoLivePixmap);
     
     if (parentImage)
         parentImage->d_ptr->detachPixmap(q);
@@ -50,15 +50,15 @@ MLivePixmapPrivate::~MLivePixmapPrivate()
         delete shm;        
 }
 
-/* MLivePixmap */
+/* QMeeGoLivePixmap */
 
-MLivePixmap::MLivePixmap(QPixmapData *p) : QPixmap(p), d_ptr(new MLivePixmapPrivate())
+QMeeGoLivePixmap::QMeeGoLivePixmap(QPixmapData *p) : QPixmap(p), d_ptr(new QMeeGoLivePixmapPrivate())
 {
-    Q_D(MLivePixmap);
+    Q_D(QMeeGoLivePixmap);
     d->q_ptr = this;
 }
 
-MLivePixmap* MLivePixmap::fromLiveImage(MLiveImage *liveImage)
+QMeeGoLivePixmap* QMeeGoLivePixmap::fromLiveImage(QMeeGoLiveImage *liveImage)
 {
     static int counter = 100;
     QSharedMemory *shm = NULL;
@@ -68,7 +68,7 @@ MLivePixmap* MLivePixmap::fromLiveImage(MLiveImage *liveImage)
     int h = liveImage->height();
     
     counter++;
-    shm = new QSharedMemory(QString("MLivePixmap%1").arg(counter));
+    shm = new QSharedMemory(QString("QMeeGoLivePixmap%1").arg(counter));
     shm->create((w * h * 4) + 2 * sizeof(int)); // +2 to store width & height
     shm->attach();
     
@@ -83,7 +83,7 @@ MLivePixmap* MLivePixmap::fromLiveImage(MLiveImage *liveImage)
     QPixmapData *pmd = new QRasterPixmapData(QPixmapData::PixmapType);
     pmd->fromImage(img, Qt::NoOpaqueDetection);
     
-    MLivePixmap *livePixmap = new MLivePixmap(pmd);
+    QMeeGoLivePixmap *livePixmap = new QMeeGoLivePixmap(pmd);
     livePixmap->d_ptr->shm = shm;
     livePixmap->d_ptr->owns = true;
     livePixmap->d_ptr->shmSerial = counter;
@@ -94,7 +94,7 @@ MLivePixmap* MLivePixmap::fromLiveImage(MLiveImage *liveImage)
     return livePixmap;    
 }
 
-MLivePixmap* MLivePixmap::fromHandle(Qt::HANDLE handle)
+QMeeGoLivePixmap* QMeeGoLivePixmap::fromHandle(Qt::HANDLE handle)
 {
     QSharedMemory *shm = NULL;
     int *header;
@@ -102,7 +102,7 @@ MLivePixmap* MLivePixmap::fromHandle(Qt::HANDLE handle)
     int height;
     uchar* imgData;
     
-    shm = new QSharedMemory(QString("MLivePixmap%1").arg(handle));
+    shm = new QSharedMemory(QString("QMeeGoLivePixmap%1").arg(handle));
     shm->attach();
     
     shm->lock();
@@ -117,7 +117,7 @@ MLivePixmap* MLivePixmap::fromHandle(Qt::HANDLE handle)
     QPixmapData *pmd = new QRasterPixmapData(QPixmapData::PixmapType);
     pmd->fromImage(img, Qt::NoOpaqueDetection);
 
-    MLivePixmap *livePixmap = new MLivePixmap(pmd);
+    QMeeGoLivePixmap *livePixmap = new QMeeGoLivePixmap(pmd);
     livePixmap->d_ptr->shm = shm;
     livePixmap->d_ptr->owns = false;
     livePixmap->d_ptr->shmSerial = handle;
@@ -125,12 +125,12 @@ MLivePixmap* MLivePixmap::fromHandle(Qt::HANDLE handle)
     return livePixmap;
 }
 
-MLivePixmap::~MLivePixmap()
+QMeeGoLivePixmap::~QMeeGoLivePixmap()
 {
 }
 
-Qt::HANDLE MLivePixmap::handle()
+Qt::HANDLE QMeeGoLivePixmap::handle()
 {
-    Q_D(MLivePixmap);
+    Q_D(QMeeGoLivePixmap);
     return d->shmSerial;
 }
diff --git a/tools/qmeegographicssystemhelper/qmeegolivepixmap.h b/tools/qmeegographicssystemhelper/qmeegolivepixmap.h
index dee4d2a..123b64f 100644
--- a/tools/qmeegographicssystemhelper/qmeegolivepixmap.h
+++ b/tools/qmeegographicssystemhelper/qmeegolivepixmap.h
@@ -12,13 +12,13 @@
 **
 ****************************************************************************/
 
-#ifndef MLIVEPIXMAP_H
-#define MLIVEPIXMAP_H
+#ifndef QMEEGOLIVEPIXMAP_H
+#define QMEEGOLIVEPIXMAP_H
 
 #include <QPixmap>
-#include "mliveimage.h"
+#include "qmeegoliveimage.h"
 
-class MLivePixmapPrivate;
+class QMeeGoLivePixmapPrivate;
 class QSharedMemory;
 class QImage;
 
@@ -26,46 +26,46 @@ class QImage;
 /*!
 */
 
-class MLivePixmap : public QPixmap
+class QMeeGoLivePixmap : public QPixmap
 {
 public:
-    //! Creates new pixmap from the given MLiveImage.
+    //! Creates new pixmap from the given QMeeGoLiveImage.
     /*! 
-     The created MLivePixmap will be attached to the given MLiveImage. 
-     Updates to the MLiveImage will be represented on this newly created
-     MLivePixmap.
+     The created QMeeGoLivePixmap will be attached to the given QMeeGoLiveImage. 
+     Updates to the QMeeGoLiveImage will be represented on this newly created
+     QMeeGoLivePixmap.
     */
-    static MLivePixmap* fromLiveImage(MLiveImage *liveImage);
+    static QMeeGoLivePixmap* fromLiveImage(QMeeGoLiveImage *liveImage);
     
-    //! Creates a new MLivePixmap from the specified handle.
+    //! Creates a new QMeeGoLivePixmap from the specified handle.
     /*! 
-     The handle can be used to share MLivePixmap cross-process.
+     The handle can be used to share QMeeGoLivePixmap cross-process.
     */
-    static MLivePixmap* fromHandle(Qt::HANDLE handle);
+    static QMeeGoLivePixmap* fromHandle(Qt::HANDLE handle);
     
-    //! Returns the handle for this MLivePixmap.
+    //! Returns the handle for this QMeeGoLivePixmap.
     /*! 
-     The handle can be used to share MLivePixmap cross-process.
+     The handle can be used to share QMeeGoLivePixmap cross-process.
     */
     Qt::HANDLE handle();
     
-    //! Destroys the MLivePixmap.
+    //! Destroys the QMeeGoLivePixmap.
     /*! 
-     All MLivePixmaps attached to a given MLiveImage have to be destroyed 
-     before the MLiveImage itself is destroyed.
+     All QMeeGoLivePixmaps attached to a given QMeeGoLiveImage have to be destroyed 
+     before the QMeeGoLiveImage itself is destroyed.
     */
-    virtual ~MLivePixmap();
+    virtual ~QMeeGoLivePixmap();
 
 private:
-    MLivePixmap(QPixmapData *p);
-    Q_DISABLE_COPY(MLivePixmap)
-    Q_DECLARE_PRIVATE(MLivePixmap)
+    QMeeGoLivePixmap(QPixmapData *p);
+    Q_DISABLE_COPY(QMeeGoLivePixmap)
+    Q_DECLARE_PRIVATE(QMeeGoLivePixmap)
 
 protected:
-    QScopedPointer<MLivePixmapPrivate> d_ptr; //! Private bits.
+    QScopedPointer<QMeeGoLivePixmapPrivate> d_ptr; //! Private bits.
 
-    friend class MLiveImage;
-    friend class MLiveImagePrivate;
+    friend class QMeeGoLiveImage;
+    friend class QMeeGoLiveImagePrivate;
 };
 
 #endif
diff --git a/tools/qmeegographicssystemhelper/qmeegolivepixmap_p.h b/tools/qmeegographicssystemhelper/qmeegolivepixmap_p.h
index 4ff64de..20158d6 100644
--- a/tools/qmeegographicssystemhelper/qmeegolivepixmap_p.h
+++ b/tools/qmeegographicssystemhelper/qmeegolivepixmap_p.h
@@ -12,28 +12,28 @@
 **
 ****************************************************************************/
 
-#include "mlivepixmap.h"
+#include "qmeegolivepixmap.h"
 
-#ifndef MLIVEPIXMAP_P_H
-#define MLIVEPIXMAP_P_H
+#ifndef QMEEGOLIVEPIXMAP_P_H
+#define QMEEGOLIVEPIXMAP_P_H
 
-class MLivePixmapPrivate
+class QMeeGoLivePixmapPrivate
 {
 public:
-    Q_DECLARE_PUBLIC(MLivePixmap);
-    MLivePixmapPrivate();
+    Q_DECLARE_PUBLIC(QMeeGoLivePixmap);
+    QMeeGoLivePixmapPrivate();
     void copyBackFrom(const void *raw);
-    virtual ~MLivePixmapPrivate();
+    virtual ~QMeeGoLivePixmapPrivate();
     
     QSharedMemory *shm;
     int shmSerial;
     bool owns;
-    MLiveImage *parentImage;
+    QMeeGoLiveImage *parentImage;
     
-    MLivePixmap *q_ptr;
+    QMeeGoLivePixmap *q_ptr;
     
-    friend class MLiveImage;
-    friend class MLiveImagePrivate;
+    friend class QMeeGoLiveImage;
+    friend class QMeeGoLiveImagePrivate;
 };
 
-#endif
\ No newline at end of file
+#endif
diff --git a/tools/qmeegographicssystemhelper/qmeegooverlaywidget.cpp b/tools/qmeegographicssystemhelper/qmeegooverlaywidget.cpp
index 8f64b3f..e44ad0c 100644
--- a/tools/qmeegographicssystemhelper/qmeegooverlaywidget.cpp
+++ b/tools/qmeegographicssystemhelper/qmeegooverlaywidget.cpp
@@ -16,37 +16,37 @@
 #include <QEvent>
 #include <QMouseEvent>
 #include <QCoreApplication>
-#include "moverlaywidget.h"
-#include "mgraphicssystemhelper.h"
-#include "mruntime.h"
+#include "qmeegooverlaywidget.h"
+#include "qmeegographicssystemhelper.h"
+#include "qmeegoruntime.h"
 
-MOverlayWidget::MOverlayWidget(int surfaceWidth, int surfaceHeight, QWidget *parent) : QWidget(parent, 0), 
+QMeeGoOverlayWidget::QMeeGoOverlayWidget(int surfaceWidth, int surfaceHeight, QWidget *parent) : QWidget(parent, 0), 
     sw(surfaceWidth), 
     sh(surfaceHeight)
 {
-    if (! MGraphicsSystemHelper::isRunningMeeGo())
-        qFatal("MOverlayWidget can only be used when running with 'meego' graphics system!");
+    if (! QMeeGoGraphicsSystemHelper::isRunningMeeGo())
+        qFatal("QMeeGoOverlayWidget can only be used when running with 'meego' graphics system!");
 
-    MRuntime::setSurfaceFixedSize(surfaceWidth, surfaceHeight);
+    QMeeGoRuntime::setSurfaceFixedSize(surfaceWidth, surfaceHeight);
 
     scaleW = sw / 864.0;
     scaleH = sh / 480.0;
     installEventFilter(this);
 }
 
-QPoint MOverlayWidget::convertPoint(const QPoint &p)
+QPoint QMeeGoOverlayWidget::convertPoint(const QPoint &p)
 {
     int x = p.x() * scaleW;
     int y = p.y() * scaleH;
     return QPoint(x, y);
 }
 
-void MOverlayWidget::showEvent(QShowEvent *event)
+void QMeeGoOverlayWidget::showEvent(QShowEvent *event)
 {
-    MRuntime::setSurfaceScaling(0, 0, width(), height());
+    QMeeGoRuntime::setSurfaceScaling(0, 0, width(), height());
 }
 
-bool MOverlayWidget::eventFilter(QObject *obj, QEvent *event)
+bool QMeeGoOverlayWidget::eventFilter(QObject *obj, QEvent *event)
 {
     if (event->spontaneous() == false)
         return false;
diff --git a/tools/qmeegographicssystemhelper/qmeegooverlaywidget.h b/tools/qmeegographicssystemhelper/qmeegooverlaywidget.h
index f45a673..f36f407 100644
--- a/tools/qmeegographicssystemhelper/qmeegooverlaywidget.h
+++ b/tools/qmeegographicssystemhelper/qmeegooverlaywidget.h
@@ -12,8 +12,8 @@
 **
 ****************************************************************************/
 
-#ifndef MOVERLAYWIDGET_H
-#define MOVERLAYWIDGET_H
+#ifndef QMEEGOOVERLAYWIDGET_H
+#define QMEEGOOVERLAYWIDGET_H
 
 #include <QWidget>
 
@@ -21,7 +21,7 @@
 /*!
 */
 
-class MOverlayWidget : public QWidget
+class QMeeGoOverlayWidget : public QWidget
 {
 public:
     //! Constructs a new scaling widget.
@@ -29,7 +29,7 @@ public:
      The real surface used for this widget will have the specified
      width and height.
     */
-    MOverlayWidget(int surfaceWidth, int surfaceHeight, QWidget *parent = 0);
+    QMeeGoOverlayWidget(int surfaceWidth, int surfaceHeight, QWidget *parent = 0);
 
 
     //! Event filtering function. 
diff --git a/tools/qmeegographicssystemhelper/qmeegoruntime.cpp b/tools/qmeegographicssystemhelper/qmeegoruntime.cpp
index b1b0874..1953483 100644
--- a/tools/qmeegographicssystemhelper/qmeegoruntime.cpp
+++ b/tools/qmeegographicssystemhelper/qmeegoruntime.cpp
@@ -12,101 +12,101 @@
 **
 ****************************************************************************/
 
-#include "mruntime.h"
+#include "qmeegoruntime.h"
 
 #define ENSURE_INITIALIZED {if (!initialized) initialize();}
 
-QLibrary* MRuntime::library = NULL;
-bool MRuntime::initialized = false;
+QLibrary* QMeeGoRuntime::library = NULL;
+bool QMeeGoRuntime::initialized = false;
 
-typedef int (*MImageToEglSharedImageFunc) (const QImage&);
-typedef QPixmapData* (*MPixmapDataFromEglSharedImageFunc) (Qt::HANDLE handle, const QImage&);
-typedef QPixmapData* (*MPixmapDataWithGLTextureFunc) (int w, int h);
-typedef bool (*MDestroyEGLSharedImageFunc) (Qt::HANDLE handle);
-typedef void (*MUpdateEglSharedImagePixmapFunc) (QPixmap*);
-typedef void (*MSetSurfaceFixedSizeFunc) (int w, int h);
-typedef void (*MSetSurfaceScalingFunc) (int x, int y, int w, int h);
-typedef void (*MSetTranslucentFunc) (bool translucent);
+typedef int (*QMeeGoImageToEglSharedImageFunc) (const QImage&);
+typedef QPixmapData* (*QMeeGoPixmapDataFromEglSharedImageFunc) (Qt::HANDLE handle, const QImage&);
+typedef QPixmapData* (*QMeeGoPixmapDataWithGLTextureFunc) (int w, int h);
+typedef bool (*QMeeGoDestroyEGLSharedImageFunc) (Qt::HANDLE handle);
+typedef void (*QMeeGoUpdateEglSharedImagePixmapFunc) (QPixmap*);
+typedef void (*QMeeGoSetSurfaceFixedSizeFunc) (int w, int h);
+typedef void (*QMeeGoSetSurfaceScalingFunc) (int x, int y, int w, int h);
+typedef void (*QMeeGoSetTranslucentFunc) (bool translucent);
 
-static MImageToEglSharedImageFunc m_image_to_egl_shared_image = NULL;
-static MPixmapDataFromEglSharedImageFunc m_pixmapdata_from_egl_shared_image = NULL;
-static MPixmapDataWithGLTextureFunc m_pixmapdata_with_gl_texture = NULL;
-static MDestroyEGLSharedImageFunc m_destroy_egl_shared_image = NULL;
-static MUpdateEglSharedImagePixmapFunc m_update_egl_shared_image_pixmap = NULL;
-static MSetSurfaceFixedSizeFunc m_set_surface_fixed_size = NULL;
-static MSetSurfaceScalingFunc m_set_surface_scaling = NULL;
-static MSetTranslucentFunc m_set_translucent = NULL;
+static QMeeGoImageToEglSharedImageFunc qt_meego_image_to_egl_shared_image = NULL;
+static QMeeGoPixmapDataFromEglSharedImageFunc qt_meego_pixmapdata_from_egl_shared_image = NULL;
+static QMeeGoPixmapDataWithGLTextureFunc qt_meego_pixmapdata_with_gl_texture = NULL;
+static QMeeGoDestroyEGLSharedImageFunc qt_meego_destroy_egl_shared_image = NULL;
+static QMeeGoUpdateEglSharedImagePixmapFunc qt_meego_update_egl_shared_image_pixmap = NULL;
+static QMeeGoSetSurfaceFixedSizeFunc qt_meego_set_surface_fixed_size = NULL;
+static QMeeGoSetSurfaceScalingFunc qt_meego_set_surface_scaling = NULL;
+static QMeeGoSetTranslucentFunc qt_meego_set_translucent = NULL;
 
-void MRuntime::initialize()
+void QMeeGoRuntime::initialize()
 {
     library = new QLibrary("/usr/lib/qt4/plugins/graphicssystems/libmeegographicssystem.so");
     Q_ASSERT(library);
     
-    m_image_to_egl_shared_image = (MImageToEglSharedImageFunc) library->resolve("m_image_to_egl_shared_image");
-    m_pixmapdata_from_egl_shared_image = (MPixmapDataFromEglSharedImageFunc)  library->resolve("m_pixmapdata_from_egl_shared_image");
-    m_pixmapdata_with_gl_texture = (MPixmapDataWithGLTextureFunc) library->resolve("m_pixmapdata_with_gl_texture");
-    m_destroy_egl_shared_image = (MDestroyEGLSharedImageFunc) library->resolve("m_destroy_egl_shared_image");
-    m_update_egl_shared_image_pixmap = (MUpdateEglSharedImagePixmapFunc) library->resolve("m_update_egl_shared_image_pixmap");
-    m_set_surface_fixed_size = (MSetSurfaceFixedSizeFunc) library->resolve("m_set_surface_fixed_size");
-    m_set_surface_scaling = (MSetSurfaceScalingFunc) library->resolve("m_set_surface_scaling");
-    m_set_translucent = (MSetTranslucentFunc) library->resolve("m_set_translucent");
+    qt_meego_image_to_egl_shared_image = (QMeeGoImageToEglSharedImageFunc) library->resolve("qt_meego_image_to_egl_shared_image");
+    qt_meego_pixmapdata_from_egl_shared_image = (QMeeGoPixmapDataFromEglSharedImageFunc)  library->resolve("qt_meego_pixmapdata_from_egl_shared_image");
+    qt_meego_pixmapdata_with_gl_texture = (QMeeGoPixmapDataWithGLTextureFunc) library->resolve("qt_meego_pixmapdata_with_gl_texture");
+    qt_meego_destroy_egl_shared_image = (QMeeGoDestroyEGLSharedImageFunc) library->resolve("qt_meego_destroy_egl_shared_image");
+    qt_meego_update_egl_shared_image_pixmap = (QMeeGoUpdateEglSharedImagePixmapFunc) library->resolve("qt_meego_update_egl_shared_image_pixmap");
+    qt_meego_set_surface_fixed_size = (QMeeGoSetSurfaceFixedSizeFunc) library->resolve("qt_meego_set_surface_fixed_size");
+    qt_meego_set_surface_scaling = (QMeeGoSetSurfaceScalingFunc) library->resolve("qt_meego_set_surface_scaling");
+    qt_meego_set_translucent = (QMeeGoSetTranslucentFunc) library->resolve("qt_meego_set_translucent");
     
     
     initialized = true;
 }
 
-Qt::HANDLE MRuntime::imageToEGLSharedImage(const QImage &image)
+Qt::HANDLE QMeeGoRuntime::imageToEGLSharedImage(const QImage &image)
 {
     ENSURE_INITIALIZED;
-    Q_ASSERT(m_image_to_egl_shared_image);
-    return m_image_to_egl_shared_image(image);
+    Q_ASSERT(qt_meego_image_to_egl_shared_image);
+    return qt_meego_image_to_egl_shared_image(image);
 }
 
-QPixmap MRuntime::pixmapFromEGLSharedImage(Qt::HANDLE handle, const QImage &softImage)
+QPixmap QMeeGoRuntime::pixmapFromEGLSharedImage(Qt::HANDLE handle, const QImage &softImage)
 {
     ENSURE_INITIALIZED;
-    Q_ASSERT(m_pixmapdata_from_egl_shared_image);
-    return QPixmap(m_pixmapdata_from_egl_shared_image(handle, softImage));
+    Q_ASSERT(qt_meego_pixmapdata_from_egl_shared_image);
+    return QPixmap(qt_meego_pixmapdata_from_egl_shared_image(handle, softImage));
 }
 
-QPixmap MRuntime::pixmapWithGLTexture(int w, int h)
+QPixmap QMeeGoRuntime::pixmapWithGLTexture(int w, int h)
 {
     ENSURE_INITIALIZED;
-    Q_ASSERT(m_pixmapdata_with_gl_texture);
-    return QPixmap(m_pixmapdata_with_gl_texture(w, h));
+    Q_ASSERT(qt_meego_pixmapdata_with_gl_texture);
+    return QPixmap(qt_meego_pixmapdata_with_gl_texture(w, h));
 }
 
-bool MRuntime::destroyEGLSharedImage(Qt::HANDLE handle)
+bool QMeeGoRuntime::destroyEGLSharedImage(Qt::HANDLE handle)
 {
     ENSURE_INITIALIZED;
-    Q_ASSERT(m_destroy_egl_shared_image);
-    return m_destroy_egl_shared_image(handle);
+    Q_ASSERT(qt_meego_destroy_egl_shared_image);
+    return qt_meego_destroy_egl_shared_image(handle);
 }
 
-void MRuntime::updateEGLSharedImagePixmap(QPixmap *p)
+void QMeeGoRuntime::updateEGLSharedImagePixmap(QPixmap *p)
 {
     ENSURE_INITIALIZED;
-    Q_ASSERT(m_update_egl_shared_image_pixmap);
-    return m_update_egl_shared_image_pixmap(p);
+    Q_ASSERT(qt_meego_update_egl_shared_image_pixmap);
+    return qt_meego_update_egl_shared_image_pixmap(p);
 }
 
-void MRuntime::setSurfaceFixedSize(int w, int h)
+void QMeeGoRuntime::setSurfaceFixedSize(int w, int h)
 {
     ENSURE_INITIALIZED;
-    Q_ASSERT(m_set_surface_fixed_size);
-    m_set_surface_fixed_size(w, h);
+    Q_ASSERT(qt_meego_set_surface_fixed_size);
+    qt_meego_set_surface_fixed_size(w, h);
 }
 
-void MRuntime::setSurfaceScaling(int x, int y, int w, int h)
+void QMeeGoRuntime::setSurfaceScaling(int x, int y, int w, int h)
 {
     ENSURE_INITIALIZED;
-    Q_ASSERT(m_set_surface_scaling);
-    m_set_surface_scaling(x, y, w, h);
+    Q_ASSERT(qt_meego_set_surface_scaling);
+    qt_meego_set_surface_scaling(x, y, w, h);
 }
 
-void MRuntime::setTranslucent(bool translucent)
+void QMeeGoRuntime::setTranslucent(bool translucent)
 {
     ENSURE_INITIALIZED;
-    Q_ASSERT(m_set_translucent);
-    m_set_translucent(translucent);
+    Q_ASSERT(qt_meego_set_translucent);
+    qt_meego_set_translucent(translucent);
 }
diff --git a/tools/qmeegographicssystemhelper/qmeegoruntime.h b/tools/qmeegographicssystemhelper/qmeegoruntime.h
index 34474cc..7840626 100644
--- a/tools/qmeegographicssystemhelper/qmeegoruntime.h
+++ b/tools/qmeegographicssystemhelper/qmeegoruntime.h
@@ -16,7 +16,7 @@
 #include <QPixmap>
 #include <QImage>
 
-class MRuntime
+class QMeeGoRuntime
 {
 public:
     static void initialize();
@@ -33,4 +33,4 @@ public:
 private:
     static bool initialized;
     static QLibrary *library;  
-};
\ No newline at end of file
+};
diff --git a/tools/tools.pro b/tools/tools.pro
index f254230..8f23fe4 100644
--- a/tools/tools.pro
+++ b/tools/tools.pro
@@ -43,3 +43,7 @@ embedded: SUBDIRS += makeqpf
 
 CONFIG+=ordered
 QTDIR_build:REQUIRES = "contains(QT_CONFIG, full-config)"
+
+!win32:!embedded:!mac:!symbian:CONFIG += x11
+
+x11:contains(QT_CONFIG, opengles2):contains(QT_CONFIG, egl):SUBDIRS += qmeegographicssystemhelper
-- 
cgit v0.12


From 0d9c5bc460c66a96edc9416e5d7e5a56983562a4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Samuel=20R=C3=B8dal?= <samuel.rodal@nokia.com>
Date: Tue, 7 Sep 2010 14:03:45 +0200
Subject: Updated license headers for meego graphics system helper.

---
 .../qmeegographicssystemhelper.cpp                 | 41 ++++++++++++++++++----
 .../qmeegographicssystemhelper.h                   | 41 ++++++++++++++++++----
 .../qmeegographicssystemhelper/qmeegoliveimage.cpp | 41 ++++++++++++++++++----
 tools/qmeegographicssystemhelper/qmeegoliveimage.h | 41 ++++++++++++++++++----
 .../qmeegographicssystemhelper/qmeegoliveimage_p.h | 41 ++++++++++++++++++----
 .../qmeegolivepixmap.cpp                           | 41 ++++++++++++++++++----
 .../qmeegographicssystemhelper/qmeegolivepixmap.h  | 41 ++++++++++++++++++----
 .../qmeegolivepixmap_p.h                           | 41 ++++++++++++++++++----
 .../qmeegooverlaywidget.cpp                        | 41 ++++++++++++++++++----
 .../qmeegooverlaywidget.h                          | 41 ++++++++++++++++++----
 tools/qmeegographicssystemhelper/qmeegoruntime.cpp | 41 ++++++++++++++++++----
 tools/qmeegographicssystemhelper/qmeegoruntime.h   | 41 ++++++++++++++++++----
 12 files changed, 408 insertions(+), 84 deletions(-)

diff --git a/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.cpp b/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.cpp
index 38ba82d..22b8d5f 100644
--- a/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.cpp
+++ b/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.cpp
@@ -1,14 +1,41 @@
-/***************************************************************************
+/****************************************************************************
 **
 ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
 ** All rights reserved.
-** Contact: Nokia Corporation
+** Contact: Nokia Corporation (qt-info@nokia.com)
 **
-** This library is free software; you can redistribute it and/or
-** modify it under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation
-** and appearing in the file LICENSE.LGPL included in the packaging
-** of this file.
+** This file is part of the plugins of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights.  These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
 **
 ****************************************************************************/
 
diff --git a/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.h b/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.h
index 069a27c..aa301b1 100644
--- a/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.h
+++ b/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.h
@@ -1,14 +1,41 @@
-/***************************************************************************
+/****************************************************************************
 **
 ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
 ** All rights reserved.
-** Contact: Nokia Corporation
+** Contact: Nokia Corporation (qt-info@nokia.com)
 **
-** This library is free software; you can redistribute it and/or
-** modify it under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation
-** and appearing in the file LICENSE.LGPL included in the packaging
-** of this file.
+** This file is part of the plugins of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights.  These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
 **
 ****************************************************************************/
 
diff --git a/tools/qmeegographicssystemhelper/qmeegoliveimage.cpp b/tools/qmeegographicssystemhelper/qmeegoliveimage.cpp
index f92caf7..83a1e28 100644
--- a/tools/qmeegographicssystemhelper/qmeegoliveimage.cpp
+++ b/tools/qmeegographicssystemhelper/qmeegoliveimage.cpp
@@ -1,14 +1,41 @@
-/***************************************************************************
+/****************************************************************************
 **
 ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
 ** All rights reserved.
-** Contact: Nokia Corporation
+** Contact: Nokia Corporation (qt-info@nokia.com)
 **
-** This library is free software; you can redistribute it and/or
-** modify it under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation
-** and appearing in the file LICENSE.LGPL included in the packaging
-** of this file.
+** This file is part of the plugins of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights.  These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
 **
 ****************************************************************************/
 
diff --git a/tools/qmeegographicssystemhelper/qmeegoliveimage.h b/tools/qmeegographicssystemhelper/qmeegoliveimage.h
index 1a998a3..1e21e7b 100644
--- a/tools/qmeegographicssystemhelper/qmeegoliveimage.h
+++ b/tools/qmeegographicssystemhelper/qmeegoliveimage.h
@@ -1,14 +1,41 @@
-/***************************************************************************
+/****************************************************************************
 **
 ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
 ** All rights reserved.
-** Contact: Nokia Corporation
+** Contact: Nokia Corporation (qt-info@nokia.com)
 **
-** This library is free software; you can redistribute it and/or
-** modify it under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation
-** and appearing in the file LICENSE.LGPL included in the packaging
-** of this file.
+** This file is part of the plugins of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights.  These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
 **
 ****************************************************************************/
 
diff --git a/tools/qmeegographicssystemhelper/qmeegoliveimage_p.h b/tools/qmeegographicssystemhelper/qmeegoliveimage_p.h
index aae97da..085fed4 100644
--- a/tools/qmeegographicssystemhelper/qmeegoliveimage_p.h
+++ b/tools/qmeegographicssystemhelper/qmeegoliveimage_p.h
@@ -1,14 +1,41 @@
-/***************************************************************************
+/****************************************************************************
 **
 ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
 ** All rights reserved.
-** Contact: Nokia Corporation
+** Contact: Nokia Corporation (qt-info@nokia.com)
 **
-** This library is free software; you can redistribute it and/or
-** modify it under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation
-** and appearing in the file LICENSE.LGPL included in the packaging
-** of this file.
+** This file is part of the plugins of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights.  These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
 **
 ****************************************************************************/
 
diff --git a/tools/qmeegographicssystemhelper/qmeegolivepixmap.cpp b/tools/qmeegographicssystemhelper/qmeegolivepixmap.cpp
index 743f4b9..f159b58 100644
--- a/tools/qmeegographicssystemhelper/qmeegolivepixmap.cpp
+++ b/tools/qmeegographicssystemhelper/qmeegolivepixmap.cpp
@@ -1,14 +1,41 @@
-/***************************************************************************
+/****************************************************************************
 **
 ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
 ** All rights reserved.
-** Contact: Nokia Corporation
+** Contact: Nokia Corporation (qt-info@nokia.com)
 **
-** This library is free software; you can redistribute it and/or
-** modify it under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation
-** and appearing in the file LICENSE.LGPL included in the packaging
-** of this file.
+** This file is part of the plugins of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights.  These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
 **
 ****************************************************************************/
 
diff --git a/tools/qmeegographicssystemhelper/qmeegolivepixmap.h b/tools/qmeegographicssystemhelper/qmeegolivepixmap.h
index 123b64f..2fa9db2 100644
--- a/tools/qmeegographicssystemhelper/qmeegolivepixmap.h
+++ b/tools/qmeegographicssystemhelper/qmeegolivepixmap.h
@@ -1,14 +1,41 @@
-/***************************************************************************
+/****************************************************************************
 **
 ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
 ** All rights reserved.
-** Contact: Nokia Corporation
+** Contact: Nokia Corporation (qt-info@nokia.com)
 **
-** This library is free software; you can redistribute it and/or
-** modify it under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation
-** and appearing in the file LICENSE.LGPL included in the packaging
-** of this file.
+** This file is part of the plugins of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights.  These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
 **
 ****************************************************************************/
 
diff --git a/tools/qmeegographicssystemhelper/qmeegolivepixmap_p.h b/tools/qmeegographicssystemhelper/qmeegolivepixmap_p.h
index 20158d6..c2591dc 100644
--- a/tools/qmeegographicssystemhelper/qmeegolivepixmap_p.h
+++ b/tools/qmeegographicssystemhelper/qmeegolivepixmap_p.h
@@ -1,14 +1,41 @@
-/***************************************************************************
+/****************************************************************************
 **
 ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
 ** All rights reserved.
-** Contact: Nokia Corporation
+** Contact: Nokia Corporation (qt-info@nokia.com)
 **
-** This library is free software; you can redistribute it and/or
-** modify it under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation
-** and appearing in the file LICENSE.LGPL included in the packaging
-** of this file.
+** This file is part of the plugins of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights.  These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
 **
 ****************************************************************************/
 
diff --git a/tools/qmeegographicssystemhelper/qmeegooverlaywidget.cpp b/tools/qmeegographicssystemhelper/qmeegooverlaywidget.cpp
index e44ad0c..90991e7 100644
--- a/tools/qmeegographicssystemhelper/qmeegooverlaywidget.cpp
+++ b/tools/qmeegographicssystemhelper/qmeegooverlaywidget.cpp
@@ -1,14 +1,41 @@
-/***************************************************************************
+/****************************************************************************
 **
 ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
 ** All rights reserved.
-** Contact: Nokia Corporation
+** Contact: Nokia Corporation (qt-info@nokia.com)
 **
-** This library is free software; you can redistribute it and/or
-** modify it under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation
-** and appearing in the file LICENSE.LGPL included in the packaging
-** of this file.
+** This file is part of the plugins of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights.  These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
 **
 ****************************************************************************/
 
diff --git a/tools/qmeegographicssystemhelper/qmeegooverlaywidget.h b/tools/qmeegographicssystemhelper/qmeegooverlaywidget.h
index f36f407..c2c08b4 100644
--- a/tools/qmeegographicssystemhelper/qmeegooverlaywidget.h
+++ b/tools/qmeegographicssystemhelper/qmeegooverlaywidget.h
@@ -1,14 +1,41 @@
-/***************************************************************************
+/****************************************************************************
 **
 ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
 ** All rights reserved.
-** Contact: Nokia Corporation
+** Contact: Nokia Corporation (qt-info@nokia.com)
 **
-** This library is free software; you can redistribute it and/or
-** modify it under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation
-** and appearing in the file LICENSE.LGPL included in the packaging
-** of this file.
+** This file is part of the plugins of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights.  These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
 **
 ****************************************************************************/
 
diff --git a/tools/qmeegographicssystemhelper/qmeegoruntime.cpp b/tools/qmeegographicssystemhelper/qmeegoruntime.cpp
index 1953483..66bae1d 100644
--- a/tools/qmeegographicssystemhelper/qmeegoruntime.cpp
+++ b/tools/qmeegographicssystemhelper/qmeegoruntime.cpp
@@ -1,14 +1,41 @@
-/***************************************************************************
+/****************************************************************************
 **
 ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
 ** All rights reserved.
-** Contact: Nokia Corporation
+** Contact: Nokia Corporation (qt-info@nokia.com)
 **
-** This library is free software; you can redistribute it and/or
-** modify it under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation
-** and appearing in the file LICENSE.LGPL included in the packaging
-** of this file.
+** This file is part of the plugins of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights.  These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
 **
 ****************************************************************************/
 
diff --git a/tools/qmeegographicssystemhelper/qmeegoruntime.h b/tools/qmeegographicssystemhelper/qmeegoruntime.h
index 7840626..98bf5b0 100644
--- a/tools/qmeegographicssystemhelper/qmeegoruntime.h
+++ b/tools/qmeegographicssystemhelper/qmeegoruntime.h
@@ -1,14 +1,41 @@
-/***************************************************************************
+/****************************************************************************
 **
 ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
 ** All rights reserved.
-** Contact: Nokia Corporation
+** Contact: Nokia Corporation (qt-info@nokia.com)
 **
-** This library is free software; you can redistribute it and/or
-** modify it under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation
-** and appearing in the file LICENSE.LGPL included in the packaging
-** of this file.
+** This file is part of the plugins of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights.  These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
 **
 ****************************************************************************/
 
-- 
cgit v0.12


From b2ef75097e608afc717604884c4b6e4b22e78dee Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Samuel=20R=C3=B8dal?= <samuel.rodal@nokia.com>
Date: Tue, 7 Sep 2010 11:49:34 +0200
Subject: Use QFactoryLoader to ensure we get the correct graphics system
 plugin.

Also, this prevents hard-coding the path to the meego plugin.
---
 src/corelib/plugin/qfactoryloader.cpp              |  8 ++++
 src/corelib/plugin/qfactoryloader_p.h              |  4 ++
 .../graphicssystems/meego/qmeegographicssystem.h   | 16 ++++----
 .../qmeegographicssystemhelper.h                   |  2 +-
 tools/qmeegographicssystemhelper/qmeegoruntime.cpp | 47 +++++++++++++++-------
 tools/qmeegographicssystemhelper/qmeegoruntime.h   |  4 +-
 6 files changed, 55 insertions(+), 26 deletions(-)

diff --git a/src/corelib/plugin/qfactoryloader.cpp b/src/corelib/plugin/qfactoryloader.cpp
index 62d565a..a26dcd8 100644
--- a/src/corelib/plugin/qfactoryloader.cpp
+++ b/src/corelib/plugin/qfactoryloader.cpp
@@ -244,6 +244,14 @@ QObject *QFactoryLoader::instance(const QString &key) const
     return 0;
 }
 
+#ifdef Q_WS_X11
+QLibraryPrivate *QFactoryLoader::library(const QString &key) const
+{
+    Q_D(const QFactoryLoader);
+    return d->keyMap.value(d->cs ? key : key.toLower());
+}
+#endif
+
 void QFactoryLoader::refreshAll()
 {
     QMutexLocker locker(qt_factoryloader_mutex());
diff --git a/src/corelib/plugin/qfactoryloader_p.h b/src/corelib/plugin/qfactoryloader_p.h
index 10e6e2a..068c6c7 100644
--- a/src/corelib/plugin/qfactoryloader_p.h
+++ b/src/corelib/plugin/qfactoryloader_p.h
@@ -77,6 +77,10 @@ public:
     QStringList keys() const;
     QObject *instance(const QString &key) const;
 
+#ifdef Q_WS_X11
+    QLibraryPrivate *library(const QString &key) const;
+#endif
+
     void update();
 
     static void refreshAll();
diff --git a/src/plugins/graphicssystems/meego/qmeegographicssystem.h b/src/plugins/graphicssystems/meego/qmeegographicssystem.h
index 59392ad..905f0c3 100644
--- a/src/plugins/graphicssystems/meego/qmeegographicssystem.h
+++ b/src/plugins/graphicssystems/meego/qmeegographicssystem.h
@@ -72,14 +72,14 @@ private:
 /* C api */
 
 extern "C" {
-    int qt_meego_image_to_egl_shared_image(const QImage &image);
-    QPixmapData* qt_meego_pixmapdata_from_egl_shared_image(Qt::HANDLE handle, const QImage &softImage);
-    QPixmapData* qt_meego_pixmapdata_with_gl_texture(int w, int h);
-    void qt_meego_update_egl_shared_image_pixmap(QPixmap *pixmap);
-    bool qt_meego_destroy_egl_shared_image(Qt::HANDLE handle);
-    void qt_meego_set_surface_fixed_size(int width, int height);
-    void qt_meego_set_surface_scaling(int x, int y, int width, int height);
-    void qt_meego_set_translucent(bool translucent);
+    Q_DECL_EXPORT int qt_meego_image_to_egl_shared_image(const QImage &image);
+    Q_DECL_EXPORT QPixmapData* qt_meego_pixmapdata_from_egl_shared_image(Qt::HANDLE handle, const QImage &softImage);
+    Q_DECL_EXPORT QPixmapData* qt_meego_pixmapdata_with_gl_texture(int w, int h);
+    Q_DECL_EXPORT void qt_meego_update_egl_shared_image_pixmap(QPixmap *pixmap);
+    Q_DECL_EXPORT bool qt_meego_destroy_egl_shared_image(Qt::HANDLE handle);
+    Q_DECL_EXPORT void qt_meego_set_surface_fixed_size(int width, int height);
+    Q_DECL_EXPORT void qt_meego_set_surface_scaling(int x, int y, int width, int height);
+    Q_DECL_EXPORT void qt_meego_set_translucent(bool translucent);
 }
 
 #endif 
diff --git a/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.h b/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.h
index aa301b1..02f2fa2 100644
--- a/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.h
+++ b/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.h
@@ -78,7 +78,7 @@ class QLibrary;
  \endcode
 */
 
-class QMeeGoGraphicsSystemHelper 
+class Q_DECL_EXPORT QMeeGoGraphicsSystemHelper 
 {
 public:
     //! Returns true if running meego.
diff --git a/tools/qmeegographicssystemhelper/qmeegoruntime.cpp b/tools/qmeegographicssystemhelper/qmeegoruntime.cpp
index 66bae1d..70b5dc1 100644
--- a/tools/qmeegographicssystemhelper/qmeegoruntime.cpp
+++ b/tools/qmeegographicssystemhelper/qmeegoruntime.cpp
@@ -41,9 +41,12 @@
 
 #include "qmeegoruntime.h"
 
+#include <private/qlibrary_p.h>
+#include <private/qfactoryloader_p.h>
+#include <private/qgraphicssystemplugin_p.h>
+
 #define ENSURE_INITIALIZED {if (!initialized) initialize();}
 
-QLibrary* QMeeGoRuntime::library = NULL;
 bool QMeeGoRuntime::initialized = false;
 
 typedef int (*QMeeGoImageToEglSharedImageFunc) (const QImage&);
@@ -66,19 +69,35 @@ static QMeeGoSetTranslucentFunc qt_meego_set_translucent = NULL;
 
 void QMeeGoRuntime::initialize()
 {
-    library = new QLibrary("/usr/lib/qt4/plugins/graphicssystems/libmeegographicssystem.so");
-    Q_ASSERT(library);
-    
-    qt_meego_image_to_egl_shared_image = (QMeeGoImageToEglSharedImageFunc) library->resolve("qt_meego_image_to_egl_shared_image");
-    qt_meego_pixmapdata_from_egl_shared_image = (QMeeGoPixmapDataFromEglSharedImageFunc)  library->resolve("qt_meego_pixmapdata_from_egl_shared_image");
-    qt_meego_pixmapdata_with_gl_texture = (QMeeGoPixmapDataWithGLTextureFunc) library->resolve("qt_meego_pixmapdata_with_gl_texture");
-    qt_meego_destroy_egl_shared_image = (QMeeGoDestroyEGLSharedImageFunc) library->resolve("qt_meego_destroy_egl_shared_image");
-    qt_meego_update_egl_shared_image_pixmap = (QMeeGoUpdateEglSharedImagePixmapFunc) library->resolve("qt_meego_update_egl_shared_image_pixmap");
-    qt_meego_set_surface_fixed_size = (QMeeGoSetSurfaceFixedSizeFunc) library->resolve("qt_meego_set_surface_fixed_size");
-    qt_meego_set_surface_scaling = (QMeeGoSetSurfaceScalingFunc) library->resolve("qt_meego_set_surface_scaling");
-    qt_meego_set_translucent = (QMeeGoSetTranslucentFunc) library->resolve("qt_meego_set_translucent");
-    
-    
+    QFactoryLoader loader(QGraphicsSystemFactoryInterface_iid, QLatin1String("/graphicssystems"), Qt::CaseInsensitive);
+
+    QLibraryPrivate *libraryPrivate = loader.library(QLatin1String("meego"));
+    Q_ASSERT(libraryPrivate);
+
+    QLibrary library(libraryPrivate->fileName, libraryPrivate->fullVersion);
+
+    bool success = library.load();
+
+    if (success) {
+        qt_meego_image_to_egl_shared_image = (QMeeGoImageToEglSharedImageFunc) library.resolve("qt_meego_image_to_egl_shared_image");
+        qt_meego_pixmapdata_from_egl_shared_image = (QMeeGoPixmapDataFromEglSharedImageFunc)  library.resolve("qt_meego_pixmapdata_from_egl_shared_image");
+        qt_meego_pixmapdata_with_gl_texture = (QMeeGoPixmapDataWithGLTextureFunc) library.resolve("qt_meego_pixmapdata_with_gl_texture");
+        qt_meego_destroy_egl_shared_image = (QMeeGoDestroyEGLSharedImageFunc) library.resolve("qt_meego_destroy_egl_shared_image");
+        qt_meego_update_egl_shared_image_pixmap = (QMeeGoUpdateEglSharedImagePixmapFunc) library.resolve("qt_meego_update_egl_shared_image_pixmap");
+        qt_meego_set_surface_fixed_size = (QMeeGoSetSurfaceFixedSizeFunc) library.resolve("qt_meego_set_surface_fixed_size");
+        qt_meego_set_surface_scaling = (QMeeGoSetSurfaceScalingFunc) library.resolve("qt_meego_set_surface_scaling");
+        qt_meego_set_translucent = (QMeeGoSetTranslucentFunc) library.resolve("qt_meego_set_translucent");
+
+        if (qt_meego_image_to_egl_shared_image && qt_meego_pixmapdata_from_egl_shared_image && qt_meego_pixmapdata_with_gl_texture
+            && qt_meego_destroy_egl_shared_image && qt_meego_update_egl_shared_image_pixmap && qt_meego_set_surface_fixed_size
+            && qt_meego_set_surface_scaling && qt_meego_set_translucent)
+        {
+            qDebug("Successfully resolved MeeGo graphics system: %s %s\n", qPrintable(libraryPrivate->fileName), qPrintable(libraryPrivate->fullVersion));
+        }
+    } else {
+        Q_ASSERT(false);
+    }
+
     initialized = true;
 }
 
diff --git a/tools/qmeegographicssystemhelper/qmeegoruntime.h b/tools/qmeegographicssystemhelper/qmeegoruntime.h
index 98bf5b0..82fdb52 100644
--- a/tools/qmeegographicssystemhelper/qmeegoruntime.h
+++ b/tools/qmeegographicssystemhelper/qmeegoruntime.h
@@ -39,7 +39,6 @@
 **
 ****************************************************************************/
 
-#include <QLibrary>
 #include <QPixmap>
 #include <QImage>
 
@@ -47,7 +46,7 @@ class QMeeGoRuntime
 {
 public:
     static void initialize();
-    
+
     static Qt::HANDLE imageToEGLSharedImage(const QImage &image);
     static QPixmap pixmapFromEGLSharedImage(Qt::HANDLE handle, const QImage &softImage);
     static QPixmap pixmapWithGLTexture(int w, int h);
@@ -59,5 +58,4 @@ public:
 
 private:
     static bool initialized;
-    static QLibrary *library;  
 };
-- 
cgit v0.12


From 39e16d89dc759fc5aafe883476a163759d2ad6cf Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Samuel=20R=C3=B8dal?= <samuel.rodal@nokia.com>
Date: Tue, 7 Sep 2010 13:58:06 +0200
Subject: Added meego graphics system helper to features/qt.prf and syncqt.

MeeGo graphics system helper headers are now synced and the correct
include path and libraries are added to an application by doing QT +=
meegographicssystem helper in the .pro file.
---
 bin/syncqt                                                      | 1 +
 mkspecs/features/qt.prf                                         | 3 ++-
 tools/qmeegographicssystemhelper/qmeegographicssystemhelper.pro | 3 +--
 3 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/bin/syncqt b/bin/syncqt
index 907869d..c73d119 100755
--- a/bin/syncqt
+++ b/bin/syncqt
@@ -51,6 +51,7 @@ my %modules = ( # path to module name map
         "QtWebKit" => "$basedir/src/3rdparty/webkit/WebCore",
         "phonon" => "$basedir/src/phonon",
         "QtMultimedia" => "$basedir/src/multimedia",
+        "QtMeeGoGraphicsSystemHelper" => "$basedir/tools/qmeegographicssystemhelper",
 );
 my %moduleheaders = ( # restrict the module headers to those found in relative path
         "QtWebKit" => "../WebKit/qt/Api",
diff --git a/mkspecs/features/qt.prf b/mkspecs/features/qt.prf
index 4fd804d..e59319f 100644
--- a/mkspecs/features/qt.prf
+++ b/mkspecs/features/qt.prf
@@ -36,7 +36,7 @@ INCLUDEPATH = $$QMAKE_INCDIR_QT $$INCLUDEPATH #prepending prevents us from picki
 win32:INCLUDEPATH += $$QMAKE_INCDIR_QT/ActiveQt
 
 # As order does matter for static libs, we reorder the QT variable here
-TMPLIBS = declarative webkit phonon multimedia dbus testlib script scripttools svg qt3support sql xmlpatterns xml egl opengl openvg gui network core
+TMPLIBS = declarative webkit phonon multimedia dbus testlib script scripttools svg qt3support sql xmlpatterns xml egl opengl openvg gui network core meegographicssystemhelper
 for(QTLIB, $$list($$TMPLIBS)) {
    contains(QT, $$QTLIB): QT_ORDERED += $$QTLIB
 }
@@ -175,6 +175,7 @@ for(QTLIB, $$list($$lower($$unique(QT)))) {
        }
    } else:isEqual(QTLIB, declarative):qlib = QtDeclarative
    else:isEqual(QTLIB, multimedia):qlib = QtMultimedia
+   else:isEqual(QTLIB, meegographicssystemhelper):qlib = QtMeeGoGraphicsSystemHelper
    else:message("Unknown QT: $$QTLIB"):qlib =
    !isEmpty(qlib) {
       target_qt:isEqual(TARGET, qlib) {
diff --git a/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.pro b/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.pro
index eba6da4..1e6e233 100644
--- a/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.pro
+++ b/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.pro
@@ -1,11 +1,10 @@
 TEMPLATE = lib
-TARGET = qmeegographicssystemhelper 
+TARGET = QtMeeGoGraphicsSystemHelper
 
 include(../../src/qbase.pri)
 
 QT += gui
 INCLUDEPATH += '../../src/plugins/graphicssystems/meego'
 
-VERSION = 0.1.9
 HEADERS = qmeegographicssystemhelper.h qmeegooverlaywidget.h qmeegolivepixmap.h qmeegoliveimage.h qmeegoruntime.h qmeegoliveimage_p.h qmeegolivepixmap_p.h
 SOURCES = qmeegographicssystemhelper.cpp qmeegooverlaywidget.cpp qmeegoruntime.cpp qmeegolivepixmap.cpp qmeegoliveimage.cpp
-- 
cgit v0.12


From eb8efdd8a38ca2304634155bdab60b973aa44c17 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Samuel=20R=C3=B8dal?= <samuel.rodal@nokia.com>
Date: Tue, 7 Sep 2010 14:07:37 +0200
Subject: Fixed compiler warnings in meego graphics system helper.

---
 .../qmeegographicssystemhelper.cpp                     | 18 +++++++++---------
 tools/qmeegographicssystemhelper/qmeegolivepixmap.cpp  |  4 ++--
 .../qmeegographicssystemhelper/qmeegooverlaywidget.cpp |  4 ++--
 3 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.cpp b/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.cpp
index 22b8d5f..0670ac4 100644
--- a/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.cpp
+++ b/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.cpp
@@ -51,11 +51,11 @@ QString QMeeGoGraphicsSystemHelper::runningGraphicsSystemName()
 {
     if (! QApplicationPrivate::instance()) {
         qWarning("Querying graphics system but application not running yet!");
-        return "";
+        return QString();
     }
 
     QString name = QApplicationPrivate::instance()->graphics_system_name;
-    if (name == "runtime") {
+    if (name == QLatin1String("runtime")) {
         QRuntimeGraphicsSystem *rsystem = (QRuntimeGraphicsSystem *) QApplicationPrivate::instance()->graphics_system;
         name = rsystem->graphicsSystemName();
     }
@@ -65,32 +65,32 @@ QString QMeeGoGraphicsSystemHelper::runningGraphicsSystemName()
 
 bool QMeeGoGraphicsSystemHelper::isRunningMeeGo()
 {
-    return (runningGraphicsSystemName() == "meego");
+    return (runningGraphicsSystemName() == QLatin1String("meego"));
 }
 
 void QMeeGoGraphicsSystemHelper::switchToMeeGo()
 {
-    if (runningGraphicsSystemName() == "meego")
+    if (isRunningMeeGo())
         return;
 
-    if (QApplicationPrivate::instance()->graphics_system_name != "runtime")
+    if (QApplicationPrivate::instance()->graphics_system_name != QLatin1String("runtime"))
         qWarning("Can't switch to meego - switching only supported with 'runtime' graphics system.");
     else {
         QApplication *app = static_cast<QApplication *>(QCoreApplication::instance());
-        app->setGraphicsSystem("meego");
+        app->setGraphicsSystem(QLatin1String("meego"));
     }
 }
 
 void QMeeGoGraphicsSystemHelper::switchToRaster()
 {
-    if (runningGraphicsSystemName() == "raster")
+    if (runningGraphicsSystemName() == QLatin1String("raster"))
         return;
 
-    if (QApplicationPrivate::instance()->graphics_system_name != "runtime")
+    if (QApplicationPrivate::instance()->graphics_system_name != QLatin1String("runtime"))
         qWarning("Can't switch to raster - switching only supported with 'runtime' graphics system.");
     else {
         QApplication *app = static_cast<QApplication *>(QCoreApplication::instance());
-        app->setGraphicsSystem("raster");
+        app->setGraphicsSystem(QLatin1String("raster"));
     }
 }
 
diff --git a/tools/qmeegographicssystemhelper/qmeegolivepixmap.cpp b/tools/qmeegographicssystemhelper/qmeegolivepixmap.cpp
index f159b58..2a1c04b 100644
--- a/tools/qmeegographicssystemhelper/qmeegolivepixmap.cpp
+++ b/tools/qmeegographicssystemhelper/qmeegolivepixmap.cpp
@@ -95,7 +95,7 @@ QMeeGoLivePixmap* QMeeGoLivePixmap::fromLiveImage(QMeeGoLiveImage *liveImage)
     int h = liveImage->height();
     
     counter++;
-    shm = new QSharedMemory(QString("QMeeGoLivePixmap%1").arg(counter));
+    shm = new QSharedMemory(QString(QLatin1String("QMeeGoLivePixmap%1")).arg(counter));
     shm->create((w * h * 4) + 2 * sizeof(int)); // +2 to store width & height
     shm->attach();
     
@@ -129,7 +129,7 @@ QMeeGoLivePixmap* QMeeGoLivePixmap::fromHandle(Qt::HANDLE handle)
     int height;
     uchar* imgData;
     
-    shm = new QSharedMemory(QString("QMeeGoLivePixmap%1").arg(handle));
+    shm = new QSharedMemory(QString(QLatin1String("QMeeGoLivePixmap%1")).arg(handle));
     shm->attach();
     
     shm->lock();
diff --git a/tools/qmeegographicssystemhelper/qmeegooverlaywidget.cpp b/tools/qmeegographicssystemhelper/qmeegooverlaywidget.cpp
index 90991e7..f9f14ae 100644
--- a/tools/qmeegographicssystemhelper/qmeegooverlaywidget.cpp
+++ b/tools/qmeegographicssystemhelper/qmeegooverlaywidget.cpp
@@ -68,12 +68,12 @@ QPoint QMeeGoOverlayWidget::convertPoint(const QPoint &p)
     return QPoint(x, y);
 }
 
-void QMeeGoOverlayWidget::showEvent(QShowEvent *event)
+void QMeeGoOverlayWidget::showEvent(QShowEvent *)
 {
     QMeeGoRuntime::setSurfaceScaling(0, 0, width(), height());
 }
 
-bool QMeeGoOverlayWidget::eventFilter(QObject *obj, QEvent *event)
+bool QMeeGoOverlayWidget::eventFilter(QObject *, QEvent *event)
 {
     if (event->spontaneous() == false)
         return false;
-- 
cgit v0.12


From 0472a8d312f2040f42ee817d05dd6e765260de88 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Samuel=20R=C3=B8dal?= <samuel.rodal@nokia.com>
Date: Wed, 8 Sep 2010 10:00:21 +0200
Subject: Force MeeGo touch to use native graphics system for now.

MeeGo touch doesn't yet work with other graphics systems since it
assumes that QPixmaps are XPixmap based. If MeeGo touch doesn't link
against the graphics system helper we'll force it to use the native
graphics system.
---
 src/gui/kernel/qapplication.cpp | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/src/gui/kernel/qapplication.cpp b/src/gui/kernel/qapplication.cpp
index 82dd83a..e99f6ca 100644
--- a/src/gui/kernel/qapplication.cpp
+++ b/src/gui/kernel/qapplication.cpp
@@ -94,6 +94,10 @@
 
 #include <stdlib.h>
 
+#if defined(Q_WS_X11) && !defined(QT_NO_EGL)
+#include <link.h>
+#endif
+
 #include "qapplication_p.h"
 #include "qevent_p.h"
 #include "qwidget_p.h"
@@ -768,6 +772,13 @@ QApplication::QApplication(int &argc, char **argv, Type type , int _internal)
     : QCoreApplication(*new QApplicationPrivate(argc, argv, type))
 { Q_D(QApplication); d->construct();  QApplicationPrivate::app_compile_version = _internal;}
 
+#if defined(Q_WS_X11) && !defined(QT_NO_EGL)
+static int qt_matchLibraryName(dl_phdr_info *info, size_t, void *data)
+{
+    const char *name = static_cast<const char *>(data);
+    return strstr(info->dlpi_name, name) != 0;
+}
+#endif
 
 /*!
     \internal
@@ -785,6 +796,19 @@ void QApplicationPrivate::construct(
     // the environment variable has the lowest precedence of runtime graphicssystem switches
     if (graphics_system_name.isEmpty())
         graphics_system_name = QString::fromLocal8Bit(qgetenv("QT_GRAPHICSSYSTEM"));
+
+#if defined(Q_WS_X11) && !defined(QT_NO_EGL)
+    if (graphics_system_name.isEmpty()) {
+        bool linksWithMeeGoTouch = dl_iterate_phdr(qt_matchLibraryName, const_cast<char *>("libmeegotouchcore"));
+        bool linksWithMeeGoGraphicsSystemHelper = dl_iterate_phdr(qt_matchLibraryName, const_cast<char *>("libQtMeeGoGraphicsSystemHelper"));
+
+        if (linksWithMeeGoTouch && !linksWithMeeGoGraphicsSystemHelper) {
+            qWarning("Running non-meego graphics system enabled  MeeGo touch, forcing native graphicssystem\n");
+            graphics_system_name = QLatin1String("native");
+        }
+    }
+#endif
+
     // Must be called before initialize()
     qt_init(this, qt_appType
 #ifdef Q_WS_X11
-- 
cgit v0.12


From 66b8d3d82ef213931501baeeabe27c3acc04e947 Mon Sep 17 00:00:00 2001
From: Geir Vattekar <geir.vattekar@nokia.com>
Date: Fri, 10 Sep 2010 13:53:53 +0200
Subject: Doc: Added info on compression to rcc docs

    Task-number: QTBUG-9946
    Reviewed-by: David Boddie
---
 doc/src/files-and-resources/resources.qdoc | 22 +++++++++++++++++++++-
 1 file changed, 21 insertions(+), 1 deletion(-)

diff --git a/doc/src/files-and-resources/resources.qdoc b/doc/src/files-and-resources/resources.qdoc
index 3177af8..f0cb130 100644
--- a/doc/src/files-and-resources/resources.qdoc
+++ b/doc/src/files-and-resources/resources.qdoc
@@ -54,7 +54,7 @@
     The resource system is based on tight cooperation between \l qmake,
     \l rcc (Qt's resource compiler), and QFile. It obsoletes Qt 3's
     \c qembed tool and the
-    \l{http://doc.qt.nokia.com/qq/qq05-iconography.html}{image
+    \l{http://qt.nokia.com/doc/qq/qq05-iconography.html#imagestorage}{image
     collection} mechanism.
 
     \section1 Resource Collection Files (\c{.qrc})
@@ -156,6 +156,26 @@
     native support for resources. This might change in a future Qt
     release.
 
+    \section1 Compression
+
+    Resources are compressed by default (in the \c ZIP format). It is
+    possible to turn off compression. This can be useful if your
+    resources already contain a compressed format, such as \c .png
+    files. You do this by giving the \c {-no-compress} command line
+    argument.
+
+    \code
+        rcc -no-compress myresources.qrc 
+    \endcode
+
+    \c rcc also gives you some control over the compression. You can
+    specify the compression level and the threshold level to consider
+    while compressing files, for example:
+
+    \code
+        rcc -compress 2 -threshold 3 myresources.qrc
+    \endcode
+
     \section1 Using Resources in the Application
 
     In the application, resource paths can be used in most places
-- 
cgit v0.12


From 8a43ccdaf3bbd1e77045cbb63231e201ea23896f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan-Arve=20S=C3=A6ther?= <jan-arve.saether@nokia.com>
Date: Fri, 10 Sep 2010 13:25:41 +0200
Subject: Fix a regression where setPreferredSize(QSize(100, -1)) did not work.

Regressed by change  515991426832a6333f2fd9e639bd4c83e2b27cef

Reviewed-by: Frederik Gladhorn
---
 src/gui/graphicsview/qgraphicslayoutitem.cpp               | 2 +-
 tests/auto/qgraphicslayoutitem/tst_qgraphicslayoutitem.cpp | 8 ++++++++
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/src/gui/graphicsview/qgraphicslayoutitem.cpp b/src/gui/graphicsview/qgraphicslayoutitem.cpp
index 3707591..634f68c 100644
--- a/src/gui/graphicsview/qgraphicslayoutitem.cpp
+++ b/src/gui/graphicsview/qgraphicslayoutitem.cpp
@@ -234,7 +234,7 @@ void QGraphicsLayoutItemPrivate::setSize(Qt::SizeHint which, const QSizeF &size)
     if (userSizeHints) {
         if (size == userSizeHints[which])
             return;
-    } else if (!size.isValid()) {
+    } else if (size.width() < 0 && size.height() < 0) {
         return;
     }
 
diff --git a/tests/auto/qgraphicslayoutitem/tst_qgraphicslayoutitem.cpp b/tests/auto/qgraphicslayoutitem/tst_qgraphicslayoutitem.cpp
index 879e12b..dbffa6e 100644
--- a/tests/auto/qgraphicslayoutitem/tst_qgraphicslayoutitem.cpp
+++ b/tests/auto/qgraphicslayoutitem/tst_qgraphicslayoutitem.cpp
@@ -75,6 +75,7 @@ private slots:
     void setPreferredSize_data();
     void setPreferredSize();
     void setSizePolicy_data();
+    void setPreferredSize2();
     void setSizePolicy();
 };
 
@@ -343,6 +344,13 @@ void tst_QGraphicsLayoutItem::setPreferredSize()
     }
 }
 
+void tst_QGraphicsLayoutItem::setPreferredSize2()
+{
+    SubQGraphicsLayoutItem layoutItem;
+    layoutItem.setPreferredSize(QSizeF(30, -1));
+    QCOMPARE(layoutItem.preferredWidth(), qreal(30));
+}
+
 void tst_QGraphicsLayoutItem::setSizePolicy_data()
 {
     QTest::addColumn<QSizePolicy>("policy");
-- 
cgit v0.12


From 7e05bf257d589e97e54b36cb112f96ae17cbd6f2 Mon Sep 17 00:00:00 2001
From: Liang Qi <liang.qi@nokia.com>
Date: Fri, 10 Sep 2010 14:06:59 +0200
Subject: Fix the bug for QSettings on Windows, to store qint32/quint32,
 qint64/quint64 in Windows registry.

Reviewed-by: Prasanth Ullattil
Reviewed-by: Joerg Bornemann
Task: QTBUT-13249
AutoTest: Included
---
 src/corelib/io/qsettings_win.cpp       | 24 +++++++++++--
 tests/auto/qsettings/tst_qsettings.cpp | 63 ++++++++++++++++++++++++++++++++++
 2 files changed, 84 insertions(+), 3 deletions(-)

diff --git a/src/corelib/io/qsettings_win.cpp b/src/corelib/io/qsettings_win.cpp
index de96e06..b3fe734 100644
--- a/src/corelib/io/qsettings_win.cpp
+++ b/src/corelib/io/qsettings_win.cpp
@@ -535,6 +535,15 @@ bool QWinSettingsPrivate::readKey(HKEY parentHandle, const QString &rSubKey, QVa
             break;
         }
 
+        case REG_QWORD: {
+            Q_ASSERT(data.size() == sizeof(qint64));
+            qint64 i;
+            memcpy((char*)&i, data.constData(), sizeof(qint64));
+            if (value != 0)
+                *value = i;
+            break;
+        }
+
         default:
             qWarning("QSettings: Unknown data %d type in Windows registry", static_cast<int>(dataType));
             if (value != 0)
@@ -683,10 +692,19 @@ void QWinSettingsPrivate::set(const QString &uKey, const QVariant &value)
             break;
         }
 
-        case QVariant::Int: {
+        case QVariant::Int:
+        case QVariant::UInt: {
             type = REG_DWORD;
-            int i = value.toInt();
-            regValueBuff = QByteArray((const char*)&i, sizeof(int));
+            qint32 i = value.toInt();
+            regValueBuff = QByteArray((const char*)&i, sizeof(qint32));
+            break;
+        }
+
+        case QVariant::LongLong:
+        case QVariant::ULongLong: {
+            type = REG_QWORD;
+            qint64 i = value.toLongLong();
+            regValueBuff = QByteArray((const char*)&i, sizeof(qint64));
             break;
         }
 
diff --git a/tests/auto/qsettings/tst_qsettings.cpp b/tests/auto/qsettings/tst_qsettings.cpp
index 058a750..0395eff 100644
--- a/tests/auto/qsettings/tst_qsettings.cpp
+++ b/tests/auto/qsettings/tst_qsettings.cpp
@@ -60,6 +60,10 @@
 #include <io.h>
 #endif
 
+#if defined(Q_OS_WIN)
+#include <QtCore/qt_windows.h>
+#endif
+
 #ifndef QSETTINGS_P_H_VERSION
 #define QSETTINGS_P_H_VERSION 1
 #endif
@@ -127,6 +131,9 @@ private slots:
 #if !defined(Q_OS_WIN) && !defined(Q_OS_SYMBIAN)
     void dontReorderIniKeysNeedlessly();
 #endif
+#if defined(Q_OS_WIN)
+    void qtbug_13249();
+#endif
 
     /*
         These tests were developed for the Qt 3 QSettings class.
@@ -3801,6 +3808,62 @@ void tst_QSettings::setPathBug()
 }
 #endif
 
+#if defined(Q_OS_WIN)
+
+static DWORD readKeyType(HKEY handle, const QString &rSubKey)
+{
+    DWORD dataType;
+    DWORD dataSize;
+    LONG res = RegQueryValueEx(handle, reinterpret_cast<const wchar_t *>(rSubKey.utf16()), 0, &dataType, 0, &dataSize);
+
+    if (res == ERROR_SUCCESS)
+        return dataType;
+
+    return 0;
+}
+
+void tst_QSettings::qtbug_13249()
+{
+    QSettings settings1(QSettings::UserScope, "software.org", "KillerAPP");
+
+    qint32 x = 1024;
+    settings1.setValue("qtbug_13249_a", (qint32)x);
+    QCOMPARE(settings1.value("qtbug_13249_a").toInt(), (qint32)1024);
+    settings1.setValue("qtbug_13249_b", (quint32)x);
+    QCOMPARE(settings1.value("qtbug_13249_b").toUInt(), (quint32)1024);
+    settings1.setValue("qtbug_13249_c", (qint64)x);
+    QCOMPARE(settings1.value("qtbug_13249_c").toLongLong(), (qint64)1024);
+    settings1.setValue("qtbug_13249_d", (quint64)x);
+    QCOMPARE(settings1.value("qtbug_13249_d").toULongLong(), (quint64)1024);
+    settings1.sync();
+
+    HKEY handle;
+    LONG res;
+    QString keyName = "Software\\software.org\\KillerAPP";
+    res = RegOpenKeyEx(HKEY_CURRENT_USER, reinterpret_cast<const wchar_t *>(keyName.utf16()), 0, KEY_READ, &handle);
+    if (res == ERROR_SUCCESS)
+    {
+        DWORD dataType;
+        dataType = readKeyType(handle, QString("qtbug_13249_a"));
+        if (dataType != 0) {
+            QCOMPARE((int)REG_DWORD, (int)dataType);
+        }
+        dataType = readKeyType(handle, QString("qtbug_13249_b"));
+        if (dataType != 0) {
+            QCOMPARE((int)REG_DWORD, (int)dataType);
+        }
+        dataType = readKeyType(handle, QString("qtbug_13249_c"));
+        if (dataType != 0) {
+            QCOMPARE((int)REG_QWORD, (int)dataType);
+        }
+        dataType = readKeyType(handle, QString("qtbug_13249_d"));
+        if (dataType != 0) {
+            QCOMPARE((int)REG_QWORD, (int)dataType);
+        }
+        RegCloseKey(handle);
+    }
+}
+#endif
 /*
 // Not tested at the moment.
 void tst_QSettings::oldSubkeyList()
-- 
cgit v0.12


From 0b78630df897864feb3e3ec5f1da0b21dd13f7b0 Mon Sep 17 00:00:00 2001
From: Harald Fernengel <harald.fernengel@nokia.com>
Date: Fri, 10 Sep 2010 15:13:00 +0200
Subject: Implement a private API for setting title widgets

Meego and Orbit use client side decorations, so implement a top-level
layout in QMainWindow that allows us to set title widgets. To prevent
regressions on other platforms, the API is disabled by default.

Rev-By: Robert Griebl
Rev-By: Thierry Bastian
---
 src/gui/kernel/qwidget_mac.mm              |  9 ++--
 src/gui/widgets/qdockarealayout.cpp        | 10 +++--
 src/gui/widgets/qdockwidget.cpp            | 37 +++++++---------
 src/gui/widgets/qmainwindow.cpp            | 71 +++++++++++++++++++++++++++---
 src/gui/widgets/qmainwindowlayout.cpp      | 11 +++--
 src/gui/widgets/qmainwindowlayout_p.h      |  2 +-
 src/gui/widgets/qtoolbar.cpp               | 20 +++++----
 src/gui/widgets/qtoolbararealayout.cpp     |  5 ++-
 src/gui/widgets/qtoolbarlayout.cpp         |  7 ++-
 tests/auto/qmainwindow/tst_qmainwindow.cpp |  3 +-
 10 files changed, 123 insertions(+), 52 deletions(-)

diff --git a/src/gui/kernel/qwidget_mac.mm b/src/gui/kernel/qwidget_mac.mm
index 1979c84..159c45d 100644
--- a/src/gui/kernel/qwidget_mac.mm
+++ b/src/gui/kernel/qwidget_mac.mm
@@ -2375,7 +2375,8 @@ void QWidgetPrivate::recreateMacWindow()
     HIViewRemoveFromSuperview(myView);
     determineWindowClass();
     createWindow_sys();
-    if (QMainWindowLayout *mwl = qobject_cast<QMainWindowLayout *>(q->layout())) {
+
+    if (QMainWindowLayout *mwl = qt_mainwindow_layout(qobject_cast<QMainWindow *>(q))) {
         mwl->updateHIToolBarStatus();
     }
 
@@ -2912,7 +2913,7 @@ void QWidgetPrivate::setParent_sys(QWidget *parent, Qt::WindowFlags f)
             // We do this down below for wasCreated, so avoid doing this twice
             // (only for performance, it gets called a lot anyway).
             if (!wasCreated) {
-                if (QMainWindowLayout *mwl = qobject_cast<QMainWindowLayout *>(q->layout())) {
+                if (QMainWindowLayout *mwl = qt_mainwindow_layout(qobject_cast<QMainWindow *>(q))) {
                     mwl->updateHIToolBarStatus();
                 }
             }
@@ -2937,7 +2938,7 @@ void QWidgetPrivate::setParent_sys(QWidget *parent, Qt::WindowFlags f)
         // If we were a unified window, We just transfered our toolbars out of the unified toolbar.
         // So redo the status one more time. It apparently is not an issue with Cocoa.
         if (q->isWindow()) {
-            if (QMainWindowLayout *mwl = qobject_cast<QMainWindowLayout *>(q->layout())) {
+            if (QMainWindowLayout *mwl = qt_mainwindow_layout(qobject_cast<QMainWindow *>(q))) {
                 mwl->updateHIToolBarStatus();
             }
         }
@@ -5138,7 +5139,7 @@ void QWidgetPrivate::macUpdateMetalAttribute()
             return;
         recreateMacWindow();
 #else
-        QMainWindowLayout *layout = qobject_cast<QMainWindowLayout *>(q->layout());
+        QMainWindowLayout *layout = qt_mainwindow_layout(qobject_cast<QMainWindow *>(q));
         if (q->testAttribute(Qt::WA_MacBrushedMetal)) {
             if (layout)
                 layout->updateHIToolBarStatus();
diff --git a/src/gui/widgets/qdockarealayout.cpp b/src/gui/widgets/qdockarealayout.cpp
index 171000b..b540e76 100644
--- a/src/gui/widgets/qdockarealayout.cpp
+++ b/src/gui/widgets/qdockarealayout.cpp
@@ -60,6 +60,9 @@
 
 QT_BEGIN_NAMESPACE
 
+// qmainwindow.cpp
+extern QMainWindowLayout *qt_mainwindow_layout(const QMainWindow *window);
+
 enum { StateFlagVisible = 1, StateFlagFloating = 2 };
 
 /******************************************************************************
@@ -1480,7 +1483,7 @@ QList<int> QDockAreaLayoutInfo::indexOf(QWidget *widget) const
 
 QMainWindowLayout *QDockAreaLayoutInfo::mainWindowLayout() const
 {
-    QMainWindowLayout *result = qobject_cast<QMainWindowLayout*>(mainWindow->layout());
+    QMainWindowLayout *result = qt_mainwindow_layout(mainWindow);
     Q_ASSERT(result != 0);
     return result;
 }
@@ -3070,8 +3073,7 @@ void QDockAreaLayout::splitDockWidget(QDockWidget *after,
 
 void QDockAreaLayout::apply(bool animate)
 {
-    QWidgetAnimator &widgetAnimator
-        = qobject_cast<QMainWindowLayout*>(mainWindow->layout())->widgetAnimator;
+    QWidgetAnimator &widgetAnimator = qt_mainwindow_layout(mainWindow)->widgetAnimator;
 
     for (int i = 0; i < QInternal::DockCount; ++i)
         docks[i].apply(animate);
@@ -3176,7 +3178,7 @@ void QDockAreaLayout::updateSeparatorWidgets() const
         if (j < separatorWidgets.size()) {
             sepWidget = separatorWidgets.at(j);
         } else {
-            sepWidget = qobject_cast<QMainWindowLayout*>(mainWindow->layout())->getSeparatorWidget();
+            sepWidget = qt_mainwindow_layout(mainWindow)->getSeparatorWidget();
             separatorWidgets.append(sepWidget);
         }
         j++;
diff --git a/src/gui/widgets/qdockwidget.cpp b/src/gui/widgets/qdockwidget.cpp
index 11f0a94..df9b171 100644
--- a/src/gui/widgets/qdockwidget.cpp
+++ b/src/gui/widgets/qdockwidget.cpp
@@ -68,6 +68,9 @@ QT_BEGIN_NAMESPACE
 
 extern QString qt_setWindowTitle_helperHelper(const QString&, const QWidget*); // qwidget.cpp
 
+// qmainwindow.cpp
+extern QMainWindowLayout *qt_mainwindow_layout(const QMainWindow *window);
+
 static inline bool hasFeature(const QDockWidgetPrivate *priv, QDockWidget::DockWidgetFeature feature)
 { return (priv->features & feature) == feature; }
 
@@ -690,7 +693,7 @@ void QDockWidgetPrivate::initDrag(const QPoint &pos, bool nca)
 
     QMainWindow *win = qobject_cast<QMainWindow*>(parent);
     Q_ASSERT(win != 0);
-    QMainWindowLayout *layout = qobject_cast<QMainWindowLayout*>(win->layout());
+    QMainWindowLayout *layout = qt_mainwindow_layout(win);
     Q_ASSERT(layout != 0);
     if (layout->pluggingWidget != 0) // the main window is animating a docking operation
         return;
@@ -711,8 +714,7 @@ void QDockWidgetPrivate::startDrag()
     if (state == 0 || state->dragging)
         return;
 
-    QMainWindowLayout *layout
-        = qobject_cast<QMainWindowLayout *>(q->parentWidget()->layout());
+    QMainWindowLayout *layout = qt_mainwindow_layout(qobject_cast<QMainWindow *>(q->parentWidget()));
     Q_ASSERT(layout != 0);
 
     state->widgetItem = layout->unplug(q);
@@ -739,8 +741,7 @@ void QDockWidgetPrivate::endDrag(bool abort)
     q->releaseMouse();
 
     if (state->dragging) {
-        QMainWindowLayout *mwLayout =
-            qobject_cast<QMainWindowLayout *>(q->parentWidget()->layout());
+        QMainWindowLayout *mwLayout = qt_mainwindow_layout(qobject_cast<QMainWindow *>(q->parentWidget()));
         Q_ASSERT(mwLayout != 0);
 
         if (abort || !mwLayout->plug(state->widgetItem)) {
@@ -780,8 +781,7 @@ bool QDockWidgetPrivate::isAnimating() const
     if (mainWin == 0)
         return false;
 
-    QMainWindowLayout *mainWinLayout
-        = qobject_cast<QMainWindowLayout*>(mainWin->layout());
+    QMainWindowLayout *mainWinLayout = qt_mainwindow_layout(mainWin);
     if (mainWinLayout == 0)
         return false;
 
@@ -847,9 +847,8 @@ bool QDockWidgetPrivate::mouseMoveEvent(QMouseEvent *event)
         return ret;
 
     QDockWidgetLayout *dwlayout
-        = qobject_cast<QDockWidgetLayout*>(layout);
-    QMainWindowLayout *mwlayout
-        = qobject_cast<QMainWindowLayout*>(q->parentWidget()->layout());
+        = qobject_cast<QDockWidgetLayout *>(layout);
+    QMainWindowLayout *mwlayout = qt_mainwindow_layout(qobject_cast<QMainWindow *>(q->parentWidget()));
     if (!dwlayout->nativeWindowDeco()) {
         if (!state->dragging
             && mwlayout->pluggingWidget == 0
@@ -943,8 +942,7 @@ void QDockWidgetPrivate::nonClientAreaMouseEvent(QMouseEvent *event)
             }
 #ifdef Q_OS_MAC
             else { // workaround for lack of mouse-grab on Mac
-                QMainWindowLayout *layout
-                    = qobject_cast<QMainWindowLayout *>(q->parentWidget()->layout());
+                QMainWindowLayout *layout = qt_mainwindow_layout(qobject_cast<QMainWindow *>(q->parentWidget()));
                 Q_ASSERT(layout != 0);
 
                 q->move(event->globalPos() - state->pressPos);
@@ -980,8 +978,7 @@ void QDockWidgetPrivate::moveEvent(QMoveEvent *event)
     if (state->ctrlDrag)
         return;
 
-    QMainWindowLayout *layout
-        = qobject_cast<QMainWindowLayout *>(q->parentWidget()->layout());
+    QMainWindowLayout *layout = qt_mainwindow_layout(qobject_cast<QMainWindow *>(q->parentWidget()));
     Q_ASSERT(layout != 0);
 
     QPoint globalMousePos = event->pos() + state->pressPos;
@@ -1009,7 +1006,7 @@ void QDockWidgetPrivate::setWindowState(bool floating, bool unplug, const QRect
     Q_Q(QDockWidget);
 
     if (!floating && parent) {
-        QMainWindowLayout *mwlayout = qobject_cast<QMainWindowLayout *>(q->parentWidget()->layout());
+        QMainWindowLayout *mwlayout = qt_mainwindow_layout(qobject_cast<QMainWindow *>(q->parentWidget()));
         if (mwlayout && mwlayout->dockWidgetArea(q) == Qt::NoDockWidgetArea)
             return; // this dockwidget can't be redocked
     }
@@ -1055,7 +1052,7 @@ void QDockWidgetPrivate::setWindowState(bool floating, bool unplug, const QRect
     if (floating != wasFloating) {
         emit q->topLevelChanged(floating);
         if (!floating && parent) {
-            QMainWindowLayout *mwlayout = qobject_cast<QMainWindowLayout *>(q->parentWidget()->layout());
+            QMainWindowLayout *mwlayout = qt_mainwindow_layout(qobject_cast<QMainWindow *>(q->parentWidget()));
             if (mwlayout)
                 emit q->dockLocationChanged(mwlayout->dockWidgetArea(q));
         }
@@ -1326,10 +1323,10 @@ void QDockWidget::changeEvent(QEvent *event)
 #ifndef QT_NO_TABBAR
         {
             QMainWindow *win = qobject_cast<QMainWindow*>(parentWidget());
-            if (QMainWindowLayout *winLayout =
-                (win ? qobject_cast<QMainWindowLayout*>(win->layout()) : 0))
+            if (QMainWindowLayout *winLayout = qt_mainwindow_layout(win)) {
                 if (QDockAreaLayoutInfo *info = winLayout->layoutState.dockAreaLayout.info(this))
                     info->updateTabBar();
+            }
         }
 #endif // QT_NO_TABBAR
         break;
@@ -1382,9 +1379,7 @@ bool QDockWidget::event(QEvent *event)
     Q_D(QDockWidget);
 
     QMainWindow *win = qobject_cast<QMainWindow*>(parentWidget());
-    QMainWindowLayout *layout = 0;
-    if (win != 0)
-        layout = qobject_cast<QMainWindowLayout*>(win->layout());
+    QMainWindowLayout *layout = qt_mainwindow_layout(win);
 
     switch (event->type()) {
 #ifndef QT_NO_ACTION
diff --git a/src/gui/widgets/qmainwindow.cpp b/src/gui/widgets/qmainwindow.cpp
index 44483ea..1183be6 100644
--- a/src/gui/widgets/qmainwindow.cpp
+++ b/src/gui/widgets/qmainwindow.cpp
@@ -39,6 +39,8 @@
 **
 ****************************************************************************/
 
+//#define QT_EXPERIMENTAL_CLIENT_DECORATIONS
+
 #include "qmainwindow.h"
 #include "qmainwindowlayout_p.h"
 
@@ -99,12 +101,70 @@ public:
     uint hasOldCursor : 1;
     uint cursorAdjusted : 1;
 #endif
+
+    static inline QMainWindowLayout *mainWindowLayout(const QMainWindow *mainWindow)
+    {
+        return mainWindow ? mainWindow->d_func()->layout : static_cast<QMainWindowLayout *>(0);
+    }
 };
 
+QMainWindowLayout *qt_mainwindow_layout(const QMainWindow *mainWindow)
+{
+    return QMainWindowPrivate::mainWindowLayout(mainWindow);
+}
+
+#ifdef QT_EXPERIMENTAL_CLIENT_DECORATIONS
+Q_GUI_EXPORT void qt_setMainWindowTitleWidget(QMainWindow *mainWindow, Qt::DockWidgetArea area, QWidget *widget)
+{
+    QGridLayout *topLayout = qobject_cast<QGridLayout *>(mainWindow->layout());
+    Q_ASSERT(topLayout);
+
+    int row = 0;
+    int column = 0;
+
+    switch (area) {
+    case Qt::LeftDockWidgetArea:
+        row = 1;
+        column = 0;
+        break;
+    case Qt::TopDockWidgetArea:
+        row = 0;
+        column = 1;
+        break;
+    case Qt::BottomDockWidgetArea:
+        row = 2;
+        column = 1;
+        break;
+    case Qt::RightDockWidgetArea:
+        row = 1;
+        column = 2;
+        break;
+    default:
+        Q_ASSERT_X(false, "qt_setMainWindowTitleWidget", "Unknown area");
+        return;
+    }
+
+    if (QLayoutItem *oldItem = topLayout->itemAtPosition(row, column))
+        delete oldItem->widget();
+    topLayout->addWidget(widget, row, column);
+}
+#endif
+
 void QMainWindowPrivate::init()
 {
     Q_Q(QMainWindow);
-    layout = new QMainWindowLayout(q);
+
+#ifdef QT_EXPERIMENTAL_CLIENT_DECORATIONS
+    QGridLayout *topLayout = new QGridLayout(q);
+    topLayout->setContentsMargins(0, 0, 0, 0);
+
+    layout = new QMainWindowLayout(q, topLayout);
+
+    topLayout->addItem(layout, 1, 1);
+#else
+    layout = new QMainWindowLayout(q, 0);
+#endif
+
     const int metric = q->style()->pixelMetric(QStyle::PM_ToolBarIconSize, 0, q);
     iconSize = QSize(metric, metric);
     q->setAttribute(Qt::WA_Hover);
@@ -461,10 +521,11 @@ QMenuBar *QMainWindow::menuBar() const
 */
 void QMainWindow::setMenuBar(QMenuBar *menuBar)
 {
-    Q_D(QMainWindow);
-    if (d->layout->menuBar() && d->layout->menuBar() != menuBar) {
+    QLayout *topLayout = layout();
+
+    if (topLayout->menuBar() && topLayout->menuBar() != menuBar) {
         // Reparent corner widgets before we delete the old menu bar.
-        QMenuBar *oldMenuBar = qobject_cast<QMenuBar *>(d->layout->menuBar());
+        QMenuBar *oldMenuBar = qobject_cast<QMenuBar *>(topLayout->menuBar());
         if (menuBar) {
             // TopLeftCorner widget.
             QWidget *cornerWidget = oldMenuBar->cornerWidget(Qt::TopLeftCorner);
@@ -478,7 +539,7 @@ void QMainWindow::setMenuBar(QMenuBar *menuBar)
         oldMenuBar->hide();
         oldMenuBar->deleteLater();
     }
-    d->layout->setMenuBar(menuBar);
+    topLayout->setMenuBar(menuBar);
 }
 
 /*!
diff --git a/src/gui/widgets/qmainwindowlayout.cpp b/src/gui/widgets/qmainwindowlayout.cpp
index 62ee398..4dd5208 100644
--- a/src/gui/widgets/qmainwindowlayout.cpp
+++ b/src/gui/widgets/qmainwindowlayout.cpp
@@ -160,7 +160,7 @@ static void dumpLayout(QTextStream &qout, const QDockAreaLayout &layout, QString
 
 void qt_dumpLayout(QTextStream &qout, QMainWindow *window)
 {
-    QMainWindowLayout *layout = qobject_cast<QMainWindowLayout*>(window->layout());
+    QMainWindowLayout *layout = qt_mainwindow_layout(window);
     dumpLayout(qout, layout->layoutState.dockAreaLayout, QString());
 }
 
@@ -235,7 +235,7 @@ void QMainWindowLayoutState::apply(bool animated)
     dockAreaLayout.apply(animated);
 #else
     if (centralWidgetItem != 0) {
-        QMainWindowLayout *layout = qobject_cast<QMainWindowLayout*>(mainWindow->layout());
+        QMainWindowLayout *layout = qt_mainwindow_layout(mainWindow);
         Q_ASSERT(layout != 0);
         layout->widgetAnimator.animate(centralWidgetItem->widget(), centralWidgetRect, animated);
     }
@@ -1674,8 +1674,8 @@ void QMainWindowLayout::restore(bool keepSavedState)
     updateGapIndicator();
 }
 
-QMainWindowLayout::QMainWindowLayout(QMainWindow *mainwindow)
-    : QLayout(mainwindow)
+QMainWindowLayout::QMainWindowLayout(QMainWindow *mainwindow, QLayout *parentLayout)
+    : QLayout(parentLayout ? static_cast<QWidget *>(0) : mainwindow)
     , layoutState(mainwindow)
     , savedState(mainwindow)
     , dockOptions(QMainWindow::AnimatedDocks | QMainWindow::AllowTabbedDocks)
@@ -1698,6 +1698,9 @@ QMainWindowLayout::QMainWindowLayout(QMainWindow *mainwindow)
     , blockVisiblityCheck(false)
 #endif
 {
+    if (parentLayout)
+        setParent(parentLayout);
+
 #ifndef QT_NO_DOCKWIDGET
 #ifndef QT_NO_TABBAR
     sep = mainwindow->style()->pixelMetric(QStyle::PM_DockWidgetSeparatorExtent, 0, mainwindow);
diff --git a/src/gui/widgets/qmainwindowlayout_p.h b/src/gui/widgets/qmainwindowlayout_p.h
index 955693d..e1b981c 100644
--- a/src/gui/widgets/qmainwindowlayout_p.h
+++ b/src/gui/widgets/qmainwindowlayout_p.h
@@ -159,7 +159,7 @@ class Q_AUTOTEST_EXPORT QMainWindowLayout : public QLayout
 public:
     QMainWindowLayoutState layoutState, savedState;
 
-    explicit QMainWindowLayout(QMainWindow *mainwindow);
+    QMainWindowLayout(QMainWindow *mainwindow, QLayout *parentLayout);
     ~QMainWindowLayout();
 
     QMainWindow::DockOptions dockOptions;
diff --git a/src/gui/widgets/qtoolbar.cpp b/src/gui/widgets/qtoolbar.cpp
index 7ed27ea..316bb44 100644
--- a/src/gui/widgets/qtoolbar.cpp
+++ b/src/gui/widgets/qtoolbar.cpp
@@ -82,6 +82,9 @@ static void qt_mac_updateToolBarButtonHint(QWidget *parentWidget)
 }
 #endif
 
+// qmainwindow.cpp
+extern QMainWindowLayout *qt_mainwindow_layout(const QMainWindow *window);
+
 /******************************************************************************
 ** QToolBarPrivate
 */
@@ -197,7 +200,7 @@ void QToolBarPrivate::initDrag(const QPoint &pos)
 
     QMainWindow *win = qobject_cast<QMainWindow*>(parent);
     Q_ASSERT(win != 0);
-    QMainWindowLayout *layout = qobject_cast<QMainWindowLayout*>(win->layout());
+    QMainWindowLayout *layout = qt_mainwindow_layout(win);
     Q_ASSERT(layout != 0);
     if (layout->pluggingWidget != 0) // the main window is animating a docking operation
         return;
@@ -223,7 +226,7 @@ void QToolBarPrivate::startDrag(bool moving)
 
     QMainWindow *win = qobject_cast<QMainWindow*>(parent);
     Q_ASSERT(win != 0);
-    QMainWindowLayout *layout = qobject_cast<QMainWindowLayout*>(win->layout());
+    QMainWindowLayout *layout = qt_mainwindow_layout(win);
     Q_ASSERT(layout != 0);
 
     if (!moving) {
@@ -247,8 +250,7 @@ void QToolBarPrivate::endDrag()
     q->releaseMouse();
 
     if (state->dragging) {
-        QMainWindowLayout *layout =
-            qobject_cast<QMainWindowLayout *>(q->parentWidget()->layout());
+        QMainWindowLayout *layout = qt_mainwindow_layout(qobject_cast<QMainWindow *>(q->parentWidget()));
         Q_ASSERT(layout != 0);
 
         if (!layout->plug(state->widgetItem)) {
@@ -340,7 +342,7 @@ bool QToolBarPrivate::mouseMoveEvent(QMouseEvent *event)
     if (win == 0)
         return true;
 
-    QMainWindowLayout *layout = qobject_cast<QMainWindowLayout*>(win->layout());
+    QMainWindowLayout *layout = qt_mainwindow_layout(win);
     Q_ASSERT(layout != 0);
 
     if (layout->pluggingWidget == 0
@@ -588,7 +590,7 @@ QToolBar::~QToolBar()
     QMainWindow *mainwindow = qobject_cast<QMainWindow *>(parentWidget());
     if (mainwindow) {
 #ifdef Q_WS_MAC
-        QMainWindowLayout *mainwin_layout = qobject_cast<QMainWindowLayout *>(mainwindow->layout());
+        QMainWindowLayout *mainwin_layout = qt_mainwindow_layout(mainwindow);
         if (mainwin_layout && mainwin_layout->layoutState.toolBarAreaLayout.isEmpty()
                 && mainwindow->testAttribute(Qt::WA_WState_Created))
             macWindowToolbarShow(mainwindow, false);
@@ -1135,7 +1137,7 @@ bool QToolBar::event(QEvent *event)
         if (toolbarInUnifiedToolBar(this)) {
              // I can static_cast because I did the qobject_cast in the if above, therefore
             // we must have a QMainWindowLayout here.
-            QMainWindowLayout *mwLayout = static_cast<QMainWindowLayout *>(parentWidget()->layout());
+            QMainWindowLayout *mwLayout = qt_mainwindow_layout(qobject_cast<QMainWindow *>(parentWidget()));
             mwLayout->fixSizeInUnifiedToolbar(this);
             mwLayout->syncUnifiedToolbarVisibility();
         }
@@ -1289,6 +1291,8 @@ QWidget *QToolBar::widgetForAction(QAction *action) const
     return d->layout->itemAt(index)->widget();
 }
 
+extern QMainWindowLayout *qt_mainwindow_layout(const QMainWindow *window);
+
 /*!
     \internal
 */
@@ -1315,7 +1319,7 @@ void QToolBar::initStyleOption(QStyleOptionToolBar *option) const
     if (!mainWindow)
         return;
 
-    QMainWindowLayout *layout = qobject_cast<QMainWindowLayout *>(mainWindow->layout());
+    QMainWindowLayout *layout = qt_mainwindow_layout(mainWindow);
     Q_ASSERT_X(layout != 0, "QToolBar::initStyleOption()",
                "QMainWindow->layout() != QMainWindowLayout");
 
diff --git a/src/gui/widgets/qtoolbararealayout.cpp b/src/gui/widgets/qtoolbararealayout.cpp
index 8327af5..b312751 100644
--- a/src/gui/widgets/qtoolbararealayout.cpp
+++ b/src/gui/widgets/qtoolbararealayout.cpp
@@ -59,6 +59,9 @@
 
 QT_BEGIN_NAMESPACE
 
+// qmainwindow.cpp
+extern QMainWindowLayout *qt_mainwindow_layout(const QMainWindow *mainWindow);
+
 QSize QToolBarAreaLayoutItem::minimumSize() const
 {
     if (skip())
@@ -872,7 +875,7 @@ void QToolBarAreaLayout::insertItem(QToolBar *before, QLayoutItem *item)
 
 void QToolBarAreaLayout::apply(bool animate)
 {
-    QMainWindowLayout *layout = qobject_cast<QMainWindowLayout*>(mainWindow->layout());
+    QMainWindowLayout *layout = qt_mainwindow_layout(mainWindow);
     Q_ASSERT(layout != 0);
 
     Qt::LayoutDirection dir = mainWindow->layoutDirection();
diff --git a/src/gui/widgets/qtoolbarlayout.cpp b/src/gui/widgets/qtoolbarlayout.cpp
index f87510f..59b027e 100644
--- a/src/gui/widgets/qtoolbarlayout.cpp
+++ b/src/gui/widgets/qtoolbarlayout.cpp
@@ -57,6 +57,9 @@
 
 QT_BEGIN_NAMESPACE
 
+// qmainwindow.cpp
+extern QMainWindowLayout *qt_mainwindow_layout(const QMainWindow *window);
+
 /******************************************************************************
 ** QToolBarItem
 */
@@ -404,7 +407,7 @@ void QToolBarLayout::setGeometry(const QRect &rect)
     if (QMainWindow *win = qobject_cast<QMainWindow*>(tb->parentWidget())) {
         Qt::ToolBarArea area = win->toolBarArea(tb);
         if (win->unifiedTitleAndToolBarOnMac() && area == Qt::TopToolBarArea) {
-            static_cast<QMainWindowLayout *>(win->layout())->fixSizeInUnifiedToolbar(tb);
+            qt_mainwindow_layout(win)->fixSizeInUnifiedToolbar(tb);
         }
     }
 #  endif
@@ -659,7 +662,7 @@ void QToolBarLayout::setExpanded(bool exp)
 #else
         animating = !tb->isWindow() && win->isAnimated();
 #endif
-        QMainWindowLayout *layout = qobject_cast<QMainWindowLayout*>(win->layout());
+        QMainWindowLayout *layout = qt_mainwindow_layout(win);
         if (expanded) {
             tb->raise();
         } else {
diff --git a/tests/auto/qmainwindow/tst_qmainwindow.cpp b/tests/auto/qmainwindow/tst_qmainwindow.cpp
index 1273e85..6f95672 100644
--- a/tests/auto/qmainwindow/tst_qmainwindow.cpp
+++ b/tests/auto/qmainwindow/tst_qmainwindow.cpp
@@ -1449,8 +1449,7 @@ Q_DECLARE_METATYPE(MoveList)
 
 void MoveSeparator::apply(QMainWindow *mw) const
 {
-
-    QMainWindowLayout *l = qobject_cast<QMainWindowLayout*>(mw->layout());
+    QMainWindowLayout *l = qFindChild<QMainWindowLayout *>(mw->layout());
     QVERIFY(l);
 
     QList<int> path;
-- 
cgit v0.12


From e78274d5f8c0eb5c10b9b58e069b90b6475c6f71 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Samuel=20R=C3=B8dal?= <samuel.rodal@nokia.com>
Date: Fri, 10 Sep 2010 15:35:34 +0200
Subject: Prevented crash in GL window surface when deleting native child
 widgets.

We should only destroy the FBO if it's the actual window that's deleted.

Reviewed-by: Trond
---
 src/opengl/qwindowsurface_gl.cpp | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/src/opengl/qwindowsurface_gl.cpp b/src/opengl/qwindowsurface_gl.cpp
index 48c7deb..f98dcff 100644
--- a/src/opengl/qwindowsurface_gl.cpp
+++ b/src/opengl/qwindowsurface_gl.cpp
@@ -345,12 +345,14 @@ QGLWindowSurface::~QGLWindowSurface()
 
 void QGLWindowSurface::deleted(QObject *object)
 {
-    // Make sure that the fbo is destroyed before destroying its context.
-    delete d_ptr->fbo;
-    d_ptr->fbo = 0;
-
     QWidget *widget = qobject_cast<QWidget *>(object);
     if (widget) {
+        if (widget == window()) {
+            // Make sure that the fbo is destroyed before destroying its context.
+            delete d_ptr->fbo;
+            d_ptr->fbo = 0;
+        }
+
         QWidgetPrivate *widgetPrivate = widget->d_func();
         if (widgetPrivate->extraData()) {
             union { QGLContext **ctxPtr; void **voidPtr; };
@@ -422,6 +424,8 @@ QPaintDevice *QGLWindowSurface::paintDevice()
 
     QGLContext *ctx = reinterpret_cast<QGLContext *>(window()->d_func()->extraData()->glContext);
     ctx->makeCurrent();
+
+    Q_ASSERT(d_ptr->fbo);
     return d_ptr->fbo;
 }
 
-- 
cgit v0.12


From ec1b3016c26eadbb7b7392c9faab8fbbb77d7b69 Mon Sep 17 00:00:00 2001
From: axis <qt-info@nokia.com>
Date: Fri, 10 Sep 2010 15:54:14 +0200
Subject: Moved the sis_targets feature profile to the correct directory.

RevBy:    Trust me
---
 mkspecs/features/sis_targets.prf         | 201 -------------------------------
 mkspecs/features/symbian/sis_targets.prf | 201 +++++++++++++++++++++++++++++++
 2 files changed, 201 insertions(+), 201 deletions(-)
 delete mode 100644 mkspecs/features/sis_targets.prf
 create mode 100644 mkspecs/features/symbian/sis_targets.prf

diff --git a/mkspecs/features/sis_targets.prf b/mkspecs/features/sis_targets.prf
deleted file mode 100644
index 800a04c..0000000
--- a/mkspecs/features/sis_targets.prf
+++ /dev/null
@@ -1,201 +0,0 @@
-# Sis file creation
-GENERATE_SIS_TARGETS = false
-
-contains(TEMPLATE, app): GENERATE_SIS_TARGETS = true
-else:!equals(DEPLOYMENT, default_deployment) {
-    for(dep_item, $$list($$DEPLOYMENT)) {
-        dep_item_sources = $$eval($${dep_item}.sources)
-        !isEmpty(dep_item_sources): GENERATE_SIS_TARGETS = true
-    }
-}
-
-equals(GENERATE_SIS_TARGETS, true) {
-
-    baseTarget = $$symbianRemoveSpecialCharacters($$basename(TARGET))
-
-    symbian-abld|symbian-sbsv2 {
-        symbian-sbsv2 {
-            CONVERT_GCCE_PARAM = -g
-        } else {
-            CONVERT_GCCE_PARAM =
-        }
-        
-        make_cache_name = .make.cache
-        sis_target.target = sis
-        sis_target.commands = $(if $(wildcard $${baseTarget}_template.pkg), \
-                                  $(if $(wildcard $$make_cache_name), \
-                                      $(MAKE) -f $(MAKEFILE) ok_sis MAKEFILES=$$make_cache_name \
-                                  , \
-                                      $(if $(QT_SIS_TARGET), \
-                                          $(MAKE) -f $(MAKEFILE) ok_sis \
-                                      , \
-                                          $(MAKE) -f $(MAKEFILE) fail_sis_nocache \
-                                      ) \
-                                  ) \
-                              , \
-                                  $(MAKE) -f $(MAKEFILE) fail_sis_nopkg \
-                              )
-
-        ok_sis_target.target = ok_sis
-        ok_sis_target.commands = createpackage.bat $$CONVERT_GCCE_PARAM $(QT_SIS_OPTIONS) $${baseTarget}_template.pkg \
-                                     $(QT_SIS_TARGET) $(QT_SIS_CERTIFICATE) $(QT_SIS_KEY) $(QT_SIS_PASSPHRASE)
-
-        unsigned_sis_target.target = unsigned_sis
-        unsigned_sis_target.commands = $(if $(wildcard $${baseTarget}_template.pkg), \
-                                  $(if $(wildcard $$make_cache_name), \
-                                      $(MAKE) -f $(MAKEFILE) ok_unsigned_sis MAKEFILES=$$make_cache_name \
-                                  , \
-                                      $(if $(QT_SIS_TARGET), \
-                                          $(MAKE) -f $(MAKEFILE) ok_unsigned_sis \
-                                      , \
-                                          $(MAKE) -f $(MAKEFILE) fail_sis_nocache \
-                                      ) \
-                                  ) \
-                              , \
-                                  $(MAKE) -f $(MAKEFILE) fail_sis_nopkg \
-                              )
-
-        ok_unsigned_sis_target.target = ok_unsigned_sis
-        ok_unsigned_sis_target.commands = createpackage.bat $$CONVERT_GCCE_PARAM $(QT_SIS_OPTIONS) -o $${baseTarget}_template.pkg $(QT_SIS_TARGET)
-
-        target_sis_target.target = $${baseTarget}.sis
-        target_sis_target.commands = $(MAKE) -f $(MAKEFILE) sis
-
-        installer_sis_target.target = installer_sis
-        installer_sis_target.commands = $(if $(wildcard $${baseTarget}_installer.pkg), \
-                                            $(MAKE) -f $(MAKEFILE) ok_installer_sis \
-                                        , \
-                                            $(MAKE) -f $(MAKEFILE) fail_sis_nopkg \
-                                        )
-        installer_sis_target.depends = $${baseTarget}.sis
-
-        ok_installer_sis_target.target = ok_installer_sis
-        ok_installer_sis_target.commands = createpackage.bat $(QT_SIS_OPTIONS) $${baseTarget}_installer.pkg - \
-                                               $(QT_SIS_CERTIFICATE) $(QT_SIS_KEY) $(QT_SIS_PASSPHRASE)
-
-        fail_sis_nopkg_target.target = fail_sis_nopkg
-        fail_sis_nopkg_target.commands = "$(error PKG file does not exist, 'sis' and 'installer_sis' target are only supported for executables or projects with DEPLOYMENT statement)"
-
-        fail_sis_nocache_target.target = fail_sis_nocache
-        fail_sis_nocache_target.commands = "$(error Project has to be built or QT_SIS_TARGET environment variable has to be set before calling 'SIS' target)"
-
-        stub_sis_target.target = stub_sis
-        stub_sis_target.commands = $(if $(wildcard $${baseTarget}_template.pkg), \
-                                       $(if $(wildcard $$make_cache_name), \
-                                           $(MAKE) -f $(MAKEFILE) ok_stub_sis MAKEFILES=$$make_cache_name \
-                                       , \
-                                           $(if $(QT_SIS_TARGET), \
-                                               $(MAKE) -f $(MAKEFILE) ok_stub_sis \
-                                           , \
-                                               $(MAKE) -f $(MAKEFILE) fail_sis_nocache \
-                                           ) \
-                                       ) \
-                                   , \
-                                       $(MAKE) -f $(MAKEFILE) fail_sis_nopkg \
-                                   )
-
-        ok_stub_sis_target.target = ok_stub_sis
-        ok_stub_sis_target.commands = createpackage.bat -s $(QT_SIS_OPTIONS) $${baseTarget}_stub.pkg \
-                                          $(QT_SIS_TARGET) $(QT_SIS_CERTIFICATE) $(QT_SIS_KEY) $(QT_SIS_PASSPHRASE)
-
-        QMAKE_EXTRA_TARGETS += sis_target \
-                               ok_sis_target \
-                               unsigned_sis_target \
-                               ok_unsigned_sis_target \
-                               target_sis_target \
-                               installer_sis_target \
-                               ok_installer_sis_target \
-                               fail_sis_nopkg_target \
-                               fail_sis_nocache_target \
-                               stub_sis_target \
-                               ok_stub_sis_target
-        # Sbsv2 has its own store_build target which is using flms.
-        !symbian-sbsv2 {
-            contains(QMAKE_HOST.os, "Windows") {
-                shellFixedHash = $${LITERAL_HASH}
-            } else {
-                shellFixedHash = \\$${LITERAL_HASH}
-            }
-            store_build_target.target = store_build
-            store_build_target.commands = \
-                  @echo $${shellFixedHash} ============================================================================== > $$make_cache_name \
-                && echo $${shellFixedHash}   This file is generated by make and should not be modified by the user >> $$make_cache_name \
-                && echo $${shellFixedHash}  Name        : $$make_cache_name >> $$make_cache_name \
-                && echo $${shellFixedHash}  Part of     : lineedits >> $$make_cache_name \
-                && echo $${shellFixedHash}  Description : This file is used to cache last build target for >> $$make_cache_name \
-                && echo $${shellFixedHash}                make sis target. >> $$make_cache_name \
-                && echo $${shellFixedHash}  Version     :  >> $$make_cache_name \
-                && echo $${shellFixedHash} >> $$make_cache_name \
-                && echo $${shellFixedHash} ============================================================================== >> $$make_cache_name \
-                && echo. >> $$make_cache_name \
-                && echo QT_SIS_TARGET ?= $(QT_SIS_TARGET) >> $$make_cache_name
-
-            QMAKE_EXTRA_TARGETS += store_build_target
-        }
-    } else {
-        qtPrepareTool(QMAKE_CREATEPACKAGE, createpackage)
-
-        sis_destdir = $$DESTDIR
-        isEmpty(sis_destdir):sis_destdir = .
-        !equals(TARGET, "$$baseTarget"):sis_destdir = $$sis_destdir/$$dirname(TARGET)
-
-        sis_target.target = sis
-        sis_target.commands = $$QMAKE_CREATEPACKAGE $(QT_SIS_OPTIONS) $${baseTarget}_template.pkg \
-                                  - $(QT_SIS_CERTIFICATE) $(QT_SIS_KEY) $(QT_SIS_PASSPHRASE)
-        sis_target.depends = first
-
-        unsigned_sis_target.target = unsigned_sis
-        unsigned_sis_target.commands = $$QMAKE_CREATEPACKAGE $(QT_SIS_OPTIONS) -o $${baseTarget}_template.pkg
-        unsigned_sis_target.depends = first
-
-        target_sis_target.target = $${sis_destdir}/$${baseTarget}.sis
-        target_sis_target.commands = $(MAKE) -f $(MAKEFILE) sis
-
-        installer_sis_target.target = installer_sis
-        installer_sis_target.commands = $$QMAKE_CREATEPACKAGE $(QT_SIS_OPTIONS) $${baseTarget}_installer.pkg - \
-                                            $(QT_SIS_CERTIFICATE) $(QT_SIS_KEY) $(QT_SIS_PASSPHRASE)
-        installer_sis_target.depends = $${sis_destdir}/$${baseTarget}.sis
-
-        !isEmpty(sis_destdir):!equals(sis_destdir, "."):!equals(sis_destdir, "./") {
-            sis_target.commands += && $$QMAKE_MOVE $${baseTarget}.sis $$sis_destdir
-            installer_sis_target.commands += && $$QMAKE_MOVE $${baseTarget}.sis $$sis_destdir
-        }
-
-        QMAKE_EXTRA_TARGETS += sis_target \
-                               unsigned_sis_target \
-                               target_sis_target \
-                               installer_sis_target
-
-        QMAKE_DISTCLEAN += $${sis_destdir}/$${baseTarget}.sis
-    }
-
-    deploy_target.target = deploy
-    contains(QMAKE_HOST.os, "Windows") {
-        deploy_target.depends = sis
-        deploy_target.commands = call $$target_sis_target.target
-    } else {
-        deploy_target.commands = @echo Deployment not supported in this environment
-    }
-    QMAKE_EXTRA_TARGETS += deploy_target
-
-} else {
-    contains(TEMPLATE, subdirs) {
-        # Enable recursive sis target.
-        sis_target.CONFIG = recursive
-        sis_target.recurse = $$SUBDIRS
-    } else {
-        # Make sure we build everything, since other sis targets in a recursive invocation
-        # may depend on them, even if this one is empty.
-        # In abld/sbsv2, we assume that subdir has been built already, as all builds are recursive.
-        !symbian-abld:!symbian-sbsv2: sis_target.depends = first
-    }
-    sis_target.commands =
-    sis_target.target = sis
-    QMAKE_EXTRA_TARGETS += sis_target
-
-    symbian-abld {
-        # Create dummy store_build target to avoid errors from .mk callbacks during build
-        store_build_target.target = store_build
-        QMAKE_EXTRA_TARGETS += store_build_target
-    }
-}
diff --git a/mkspecs/features/symbian/sis_targets.prf b/mkspecs/features/symbian/sis_targets.prf
new file mode 100644
index 0000000..800a04c
--- /dev/null
+++ b/mkspecs/features/symbian/sis_targets.prf
@@ -0,0 +1,201 @@
+# Sis file creation
+GENERATE_SIS_TARGETS = false
+
+contains(TEMPLATE, app): GENERATE_SIS_TARGETS = true
+else:!equals(DEPLOYMENT, default_deployment) {
+    for(dep_item, $$list($$DEPLOYMENT)) {
+        dep_item_sources = $$eval($${dep_item}.sources)
+        !isEmpty(dep_item_sources): GENERATE_SIS_TARGETS = true
+    }
+}
+
+equals(GENERATE_SIS_TARGETS, true) {
+
+    baseTarget = $$symbianRemoveSpecialCharacters($$basename(TARGET))
+
+    symbian-abld|symbian-sbsv2 {
+        symbian-sbsv2 {
+            CONVERT_GCCE_PARAM = -g
+        } else {
+            CONVERT_GCCE_PARAM =
+        }
+        
+        make_cache_name = .make.cache
+        sis_target.target = sis
+        sis_target.commands = $(if $(wildcard $${baseTarget}_template.pkg), \
+                                  $(if $(wildcard $$make_cache_name), \
+                                      $(MAKE) -f $(MAKEFILE) ok_sis MAKEFILES=$$make_cache_name \
+                                  , \
+                                      $(if $(QT_SIS_TARGET), \
+                                          $(MAKE) -f $(MAKEFILE) ok_sis \
+                                      , \
+                                          $(MAKE) -f $(MAKEFILE) fail_sis_nocache \
+                                      ) \
+                                  ) \
+                              , \
+                                  $(MAKE) -f $(MAKEFILE) fail_sis_nopkg \
+                              )
+
+        ok_sis_target.target = ok_sis
+        ok_sis_target.commands = createpackage.bat $$CONVERT_GCCE_PARAM $(QT_SIS_OPTIONS) $${baseTarget}_template.pkg \
+                                     $(QT_SIS_TARGET) $(QT_SIS_CERTIFICATE) $(QT_SIS_KEY) $(QT_SIS_PASSPHRASE)
+
+        unsigned_sis_target.target = unsigned_sis
+        unsigned_sis_target.commands = $(if $(wildcard $${baseTarget}_template.pkg), \
+                                  $(if $(wildcard $$make_cache_name), \
+                                      $(MAKE) -f $(MAKEFILE) ok_unsigned_sis MAKEFILES=$$make_cache_name \
+                                  , \
+                                      $(if $(QT_SIS_TARGET), \
+                                          $(MAKE) -f $(MAKEFILE) ok_unsigned_sis \
+                                      , \
+                                          $(MAKE) -f $(MAKEFILE) fail_sis_nocache \
+                                      ) \
+                                  ) \
+                              , \
+                                  $(MAKE) -f $(MAKEFILE) fail_sis_nopkg \
+                              )
+
+        ok_unsigned_sis_target.target = ok_unsigned_sis
+        ok_unsigned_sis_target.commands = createpackage.bat $$CONVERT_GCCE_PARAM $(QT_SIS_OPTIONS) -o $${baseTarget}_template.pkg $(QT_SIS_TARGET)
+
+        target_sis_target.target = $${baseTarget}.sis
+        target_sis_target.commands = $(MAKE) -f $(MAKEFILE) sis
+
+        installer_sis_target.target = installer_sis
+        installer_sis_target.commands = $(if $(wildcard $${baseTarget}_installer.pkg), \
+                                            $(MAKE) -f $(MAKEFILE) ok_installer_sis \
+                                        , \
+                                            $(MAKE) -f $(MAKEFILE) fail_sis_nopkg \
+                                        )
+        installer_sis_target.depends = $${baseTarget}.sis
+
+        ok_installer_sis_target.target = ok_installer_sis
+        ok_installer_sis_target.commands = createpackage.bat $(QT_SIS_OPTIONS) $${baseTarget}_installer.pkg - \
+                                               $(QT_SIS_CERTIFICATE) $(QT_SIS_KEY) $(QT_SIS_PASSPHRASE)
+
+        fail_sis_nopkg_target.target = fail_sis_nopkg
+        fail_sis_nopkg_target.commands = "$(error PKG file does not exist, 'sis' and 'installer_sis' target are only supported for executables or projects with DEPLOYMENT statement)"
+
+        fail_sis_nocache_target.target = fail_sis_nocache
+        fail_sis_nocache_target.commands = "$(error Project has to be built or QT_SIS_TARGET environment variable has to be set before calling 'SIS' target)"
+
+        stub_sis_target.target = stub_sis
+        stub_sis_target.commands = $(if $(wildcard $${baseTarget}_template.pkg), \
+                                       $(if $(wildcard $$make_cache_name), \
+                                           $(MAKE) -f $(MAKEFILE) ok_stub_sis MAKEFILES=$$make_cache_name \
+                                       , \
+                                           $(if $(QT_SIS_TARGET), \
+                                               $(MAKE) -f $(MAKEFILE) ok_stub_sis \
+                                           , \
+                                               $(MAKE) -f $(MAKEFILE) fail_sis_nocache \
+                                           ) \
+                                       ) \
+                                   , \
+                                       $(MAKE) -f $(MAKEFILE) fail_sis_nopkg \
+                                   )
+
+        ok_stub_sis_target.target = ok_stub_sis
+        ok_stub_sis_target.commands = createpackage.bat -s $(QT_SIS_OPTIONS) $${baseTarget}_stub.pkg \
+                                          $(QT_SIS_TARGET) $(QT_SIS_CERTIFICATE) $(QT_SIS_KEY) $(QT_SIS_PASSPHRASE)
+
+        QMAKE_EXTRA_TARGETS += sis_target \
+                               ok_sis_target \
+                               unsigned_sis_target \
+                               ok_unsigned_sis_target \
+                               target_sis_target \
+                               installer_sis_target \
+                               ok_installer_sis_target \
+                               fail_sis_nopkg_target \
+                               fail_sis_nocache_target \
+                               stub_sis_target \
+                               ok_stub_sis_target
+        # Sbsv2 has its own store_build target which is using flms.
+        !symbian-sbsv2 {
+            contains(QMAKE_HOST.os, "Windows") {
+                shellFixedHash = $${LITERAL_HASH}
+            } else {
+                shellFixedHash = \\$${LITERAL_HASH}
+            }
+            store_build_target.target = store_build
+            store_build_target.commands = \
+                  @echo $${shellFixedHash} ============================================================================== > $$make_cache_name \
+                && echo $${shellFixedHash}   This file is generated by make and should not be modified by the user >> $$make_cache_name \
+                && echo $${shellFixedHash}  Name        : $$make_cache_name >> $$make_cache_name \
+                && echo $${shellFixedHash}  Part of     : lineedits >> $$make_cache_name \
+                && echo $${shellFixedHash}  Description : This file is used to cache last build target for >> $$make_cache_name \
+                && echo $${shellFixedHash}                make sis target. >> $$make_cache_name \
+                && echo $${shellFixedHash}  Version     :  >> $$make_cache_name \
+                && echo $${shellFixedHash} >> $$make_cache_name \
+                && echo $${shellFixedHash} ============================================================================== >> $$make_cache_name \
+                && echo. >> $$make_cache_name \
+                && echo QT_SIS_TARGET ?= $(QT_SIS_TARGET) >> $$make_cache_name
+
+            QMAKE_EXTRA_TARGETS += store_build_target
+        }
+    } else {
+        qtPrepareTool(QMAKE_CREATEPACKAGE, createpackage)
+
+        sis_destdir = $$DESTDIR
+        isEmpty(sis_destdir):sis_destdir = .
+        !equals(TARGET, "$$baseTarget"):sis_destdir = $$sis_destdir/$$dirname(TARGET)
+
+        sis_target.target = sis
+        sis_target.commands = $$QMAKE_CREATEPACKAGE $(QT_SIS_OPTIONS) $${baseTarget}_template.pkg \
+                                  - $(QT_SIS_CERTIFICATE) $(QT_SIS_KEY) $(QT_SIS_PASSPHRASE)
+        sis_target.depends = first
+
+        unsigned_sis_target.target = unsigned_sis
+        unsigned_sis_target.commands = $$QMAKE_CREATEPACKAGE $(QT_SIS_OPTIONS) -o $${baseTarget}_template.pkg
+        unsigned_sis_target.depends = first
+
+        target_sis_target.target = $${sis_destdir}/$${baseTarget}.sis
+        target_sis_target.commands = $(MAKE) -f $(MAKEFILE) sis
+
+        installer_sis_target.target = installer_sis
+        installer_sis_target.commands = $$QMAKE_CREATEPACKAGE $(QT_SIS_OPTIONS) $${baseTarget}_installer.pkg - \
+                                            $(QT_SIS_CERTIFICATE) $(QT_SIS_KEY) $(QT_SIS_PASSPHRASE)
+        installer_sis_target.depends = $${sis_destdir}/$${baseTarget}.sis
+
+        !isEmpty(sis_destdir):!equals(sis_destdir, "."):!equals(sis_destdir, "./") {
+            sis_target.commands += && $$QMAKE_MOVE $${baseTarget}.sis $$sis_destdir
+            installer_sis_target.commands += && $$QMAKE_MOVE $${baseTarget}.sis $$sis_destdir
+        }
+
+        QMAKE_EXTRA_TARGETS += sis_target \
+                               unsigned_sis_target \
+                               target_sis_target \
+                               installer_sis_target
+
+        QMAKE_DISTCLEAN += $${sis_destdir}/$${baseTarget}.sis
+    }
+
+    deploy_target.target = deploy
+    contains(QMAKE_HOST.os, "Windows") {
+        deploy_target.depends = sis
+        deploy_target.commands = call $$target_sis_target.target
+    } else {
+        deploy_target.commands = @echo Deployment not supported in this environment
+    }
+    QMAKE_EXTRA_TARGETS += deploy_target
+
+} else {
+    contains(TEMPLATE, subdirs) {
+        # Enable recursive sis target.
+        sis_target.CONFIG = recursive
+        sis_target.recurse = $$SUBDIRS
+    } else {
+        # Make sure we build everything, since other sis targets in a recursive invocation
+        # may depend on them, even if this one is empty.
+        # In abld/sbsv2, we assume that subdir has been built already, as all builds are recursive.
+        !symbian-abld:!symbian-sbsv2: sis_target.depends = first
+    }
+    sis_target.commands =
+    sis_target.target = sis
+    QMAKE_EXTRA_TARGETS += sis_target
+
+    symbian-abld {
+        # Create dummy store_build target to avoid errors from .mk callbacks during build
+        store_build_target.target = store_build
+        QMAKE_EXTRA_TARGETS += store_build_target
+    }
+}
-- 
cgit v0.12


From 8b1c78c80181e6125d39b64f7ffa698f50ed8042 Mon Sep 17 00:00:00 2001
From: mread <qt-info@nokia.com>
Date: Fri, 10 Sep 2010 14:57:13 +0100
Subject: Updated 4.7.0 changelog

Updated 4.7.0 changelog with Avkon removal compatibility information

Reviewed-by: Harald Fernengel
---
 dist/changes-4.7.0 | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/dist/changes-4.7.0 b/dist/changes-4.7.0
index a5939e3..53e51f8 100644
--- a/dist/changes-4.7.0
+++ b/dist/changes-4.7.0
@@ -371,6 +371,10 @@ Qt for Symbian
  - QSplashScreen
     * [QTBUG-11129] Fixed a hanging bug in QSplashScreen on 3.1 devices.
 
+ - QS60Main... classes
+    * The future compatibility of QS60MainAppUi, QS60MainDocument and
+      QS60MainApplication are improved by removing the need for any 
+      sub-class to link to Avkon functions that may not exist in future.
 
 
 ****************************************************************************
-- 
cgit v0.12


From 94584dcdd02e2c08e05ca75f6f8b460c0c320947 Mon Sep 17 00:00:00 2001
From: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Date: Thu, 9 Sep 2010 13:25:55 +0200
Subject: don't try to show source when no locations are given

Task-number: QTBUG-13466
---
 tools/linguist/linguist/mainwindow.cpp     | 6 +++---
 tools/linguist/linguist/sourcecodeview.cpp | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/tools/linguist/linguist/mainwindow.cpp b/tools/linguist/linguist/mainwindow.cpp
index 265df05..18baa24 100644
--- a/tools/linguist/linguist/mainwindow.cpp
+++ b/tools/linguist/linguist/mainwindow.cpp
@@ -1522,7 +1522,7 @@ void MainWindow::selectedMessageChanged(const QModelIndex &sortedIndex, const QM
             }
             m_phraseView->setSourceText(-1, QString());
         }
-        if (m) {
+        if (m && !m->fileName().isEmpty()) {
             if (hasFormPreview(m->fileName())) {
                 m_sourceAndFormView->setCurrentWidget(m_formPreviewView);
                 m_formPreviewView->setSourceContext(model, m);
@@ -1577,7 +1577,7 @@ void MainWindow::updateTranslation(const QStringList &translations)
         return;
 
     m->setTranslations(translations);
-    if (hasFormPreview(m->fileName()))
+    if (!m->fileName().isEmpty() && hasFormPreview(m->fileName()))
         m_formPreviewView->setSourceContext(m_currentIndex.model(), m);
     updateDanger(m_currentIndex, true);
 
@@ -1996,7 +1996,7 @@ void MainWindow::updateLatestModel(int model)
 
         if (m_currentIndex.isValid()) {
             if (MessageItem *item = m_dataModel->messageItem(m_currentIndex)) {
-                if (hasFormPreview(item->fileName()))
+                if (!item->fileName().isEmpty() && hasFormPreview(item->fileName()))
                     m_formPreviewView->setSourceContext(model, item);
                 if (enableRw && !item->isObsolete())
                     m_phraseView->setSourceText(model, item->text());
diff --git a/tools/linguist/linguist/sourcecodeview.cpp b/tools/linguist/linguist/sourcecodeview.cpp
index b8dd9c0..d2eef56 100644
--- a/tools/linguist/linguist/sourcecodeview.cpp
+++ b/tools/linguist/linguist/sourcecodeview.cpp
@@ -64,7 +64,7 @@ void SourceCodeView::setSourceContext(const QString &fileName, const int lineNum
     m_fileToLoad.clear();
     setToolTip(fileName);
 
-    if (fileName.isNull()) {
+    if (fileName.isEmpty()) {
         clear();
         m_currentFileName.clear();
         appendHtml(tr("<i>Source code not available</i>"));
-- 
cgit v0.12


From c2d6eb9dca7546bbe8d9c6c62db683615e4b23a7 Mon Sep 17 00:00:00 2001
From: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Date: Thu, 9 Sep 2010 18:34:18 +0200
Subject: don't let operator overloads confuse us

Task-number: QTBUG-11426
---
 .../linguist/lupdate/testdata/good/parsecpp/main.cpp     | 16 ++++++++++++++++
 .../lupdate/testdata/good/parsecpp/project.ts.result     |  8 ++++++++
 tools/linguist/lupdate/cpp.cpp                           | 15 +++++++++++++++
 3 files changed, 39 insertions(+)

diff --git a/tests/auto/linguist/lupdate/testdata/good/parsecpp/main.cpp b/tests/auto/linguist/lupdate/testdata/good/parsecpp/main.cpp
index f58f932..c56ba7c 100644
--- a/tests/auto/linguist/lupdate/testdata/good/parsecpp/main.cpp
+++ b/tests/auto/linguist/lupdate/testdata/good/parsecpp/main.cpp
@@ -302,3 +302,19 @@ static inline QString message2()
 }
 
 }
+
+
+
+// QTBUG-11426: operator overloads
+class LotsaFun : public QObject
+{
+    Q_OBJECT
+public:
+    int operator<<(int left, int right);
+};
+
+int LotsaFun::operator<<(int left, int right)
+{
+    tr("this is inside operator<<");
+    return left << right;
+}
diff --git a/tests/auto/linguist/lupdate/testdata/good/parsecpp/project.ts.result b/tests/auto/linguist/lupdate/testdata/good/parsecpp/project.ts.result
index 7ac318e..1a6d551 100644
--- a/tests/auto/linguist/lupdate/testdata/good/parsecpp/project.ts.result
+++ b/tests/auto/linguist/lupdate/testdata/good/parsecpp/project.ts.result
@@ -141,6 +141,14 @@ backslashed \ stuff.</source>
     </message>
 </context>
 <context>
+    <name>LotsaFun</name>
+    <message>
+        <location filename="main.cpp" line="318"/>
+        <source>this is inside operator&lt;&lt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>Plurals, QCoreApplication</name>
     <message numerus="yes">
         <location filename="main.cpp" line="81"/>
diff --git a/tools/linguist/lupdate/cpp.cpp b/tools/linguist/lupdate/cpp.cpp
index 970d44b..009d5a7 100644
--- a/tools/linguist/lupdate/cpp.cpp
+++ b/tools/linguist/lupdate/cpp.cpp
@@ -489,6 +489,7 @@ STRING(class);
 STRING(findMessage);
 STRING(friend);
 STRING(namespace);
+STRING(operator);
 STRING(qtTrId);
 STRING(return);
 STRING(struct);
@@ -753,6 +754,20 @@ uint CppParser::getToken()
                 if (yyWord == strnamespace)
                     return Tok_namespace;
                 break;
+            case 'o':
+                if (yyWord == stroperator) {
+                    // Operator overload declaration/definition.
+                    // We need to prevent those characters from confusing the followup
+                    // parsing. Actually using them does not add value, so just eat them.
+                    while (isspace(yyCh))
+                       yyCh = getChar();
+                    while (yyCh == '+' || yyCh == '-' || yyCh == '*' || yyCh == '/' || yyCh == '%'
+                           || yyCh == '=' || yyCh == '<' || yyCh == '>' || yyCh == '!'
+                           || yyCh == '&' || yyCh == '|' || yyCh == '~' || yyCh == '^'
+                           || yyCh == '[' || yyCh == ']')
+                        yyCh = getChar();
+                }
+                break;
             case 'q':
                 if (yyWord == strqtTrId)
                     return Tok_trid;
-- 
cgit v0.12


From f7db9a602a83b05ccad6ac33a2ab63acf3367481 Mon Sep 17 00:00:00 2001
From: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Date: Fri, 10 Sep 2010 09:34:43 +0200
Subject: delay next token fetching when opening namespace

otherwise, if the next token to be fetched is a non-empty #define, it
would save the context before entering the namespace, and thus the
post-define context restore would just discard the namespace entry.

Task-number: QTBUG-12683
---
 .../lupdate/testdata/good/parsecpp/main.cpp        | 25 ++++++++++++++++++++++
 .../testdata/good/parsecpp/project.ts.result       |  8 +++++++
 tools/linguist/lupdate/cpp.cpp                     |  2 +-
 3 files changed, 34 insertions(+), 1 deletion(-)

diff --git a/tests/auto/linguist/lupdate/testdata/good/parsecpp/main.cpp b/tests/auto/linguist/lupdate/testdata/good/parsecpp/main.cpp
index c56ba7c..706e8d0 100644
--- a/tests/auto/linguist/lupdate/testdata/good/parsecpp/main.cpp
+++ b/tests/auto/linguist/lupdate/testdata/good/parsecpp/main.cpp
@@ -318,3 +318,28 @@ int LotsaFun::operator<<(int left, int right)
     tr("this is inside operator<<");
     return left << right;
 }
+
+
+
+// QTBUG-12683: define in re-opened namespace
+namespace NameSchpace {
+
+class YetMoreFun : public QObject
+{
+    Q_OBJECT
+public:
+    void funStuff();
+};
+
+}
+
+namespace NameSchpace {
+
+#define somevar 1
+
+void YetMoreFun::funStuff()
+{
+    tr("funStuff!");
+}
+
+}
diff --git a/tests/auto/linguist/lupdate/testdata/good/parsecpp/project.ts.result b/tests/auto/linguist/lupdate/testdata/good/parsecpp/project.ts.result
index 1a6d551..f73fc64 100644
--- a/tests/auto/linguist/lupdate/testdata/good/parsecpp/project.ts.result
+++ b/tests/auto/linguist/lupdate/testdata/good/parsecpp/project.ts.result
@@ -149,6 +149,14 @@ backslashed \ stuff.</source>
     </message>
 </context>
 <context>
+    <name>NameSchpace::YetMoreFun</name>
+    <message>
+        <location filename="main.cpp" line="342"/>
+        <source>funStuff!</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>Plurals, QCoreApplication</name>
     <message numerus="yes">
         <location filename="main.cpp" line="81"/>
diff --git a/tools/linguist/lupdate/cpp.cpp b/tools/linguist/lupdate/cpp.cpp
index 009d5a7..d701d7f 100644
--- a/tools/linguist/lupdate/cpp.cpp
+++ b/tools/linguist/lupdate/cpp.cpp
@@ -1704,7 +1704,6 @@ void CppParser::parseInternal(ConversionData &cd, QSet<QString> &inclusions)
                 HashString ns = HashString(text);
                 yyTok = getToken();
                 if (yyTok == Tok_LeftBrace) {
-                    yyTok = getToken();
                     namespaceDepths.push(namespaces.count());
                     enterNamespace(&namespaces, ns);
 
@@ -1712,6 +1711,7 @@ void CppParser::parseInternal(ConversionData &cd, QSet<QString> &inclusions)
                     functionContextUnresolved.clear();
                     prospectiveContext.clear();
                     pendingContext.clear();
+                    yyTok = getToken();
                 } else if (yyTok == Tok_Equals) {
                     // e.g. namespace Is = OuterSpace::InnerSpace;
                     QList<HashString> fullName;
-- 
cgit v0.12


From b7ae28f8abcf591d8897c8e47a096aabb2c36a2b Mon Sep 17 00:00:00 2001
From: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Date: Fri, 10 Sep 2010 16:25:18 +0200
Subject: fetch next token after class definition opening

this makes no real difference, as at this point the token is known to be
an opening brace which will be handled without side effects in the next
iteration, but this is a tad more efficient and simply cleaner.
---
 tools/linguist/lupdate/cpp.cpp | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/tools/linguist/lupdate/cpp.cpp b/tools/linguist/lupdate/cpp.cpp
index d701d7f..6ea7299 100644
--- a/tools/linguist/lupdate/cpp.cpp
+++ b/tools/linguist/lupdate/cpp.cpp
@@ -1693,6 +1693,8 @@ void CppParser::parseInternal(ConversionData &cd, QSet<QString> &inclusions)
                 functionContextUnresolved.clear(); // Pointless
                 prospectiveContext.clear();
                 pendingContext.clear();
+
+                yyTok = getToken();
             }
             break;
         case Tok_namespace:
-- 
cgit v0.12


From 771cfe6f172820a1a370255cb74e066913408a6f Mon Sep 17 00:00:00 2001
From: Jason Barron <jason.barron@nokia.com>
Date: Tue, 24 Aug 2010 17:00:59 +0200
Subject: Fix crash in OpenVG when failing to allocate large VGImages.

The reclaimSpace() function of the VG image pool was crashing when
attempting to free up space for a large image. It was calling
moveToHeadOfLRU() which adds the image to the pool. If the pixmap is
large enough so that it pushes all the others out, then it will be the
only pixmap left in the pool when this function returns. This is
problematic because this pixmap is not permanent so it could be
deleted. If that happens, then subsequent calls to this function will
crash because the LRU pixmap has been deleted.

The fix is to check if the pixmap was in the pool to begin with and
if not, then be sure to remove it before returning from this function.

Task-number: QT-3652
Reviewed-by: Jani Hautakangas
---
 src/openvg/qvgimagepool.cpp | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/src/openvg/qvgimagepool.cpp b/src/openvg/qvgimagepool.cpp
index 78277aa..0c236ea 100644
--- a/src/openvg/qvgimagepool.cpp
+++ b/src/openvg/qvgimagepool.cpp
@@ -154,16 +154,23 @@ bool QVGImagePool::reclaimSpace(VGImageFormat format,
     Q_UNUSED(width);
     Q_UNUSED(height);
 
-    if (data)
+    bool succeeded = false;
+    bool wasInLRU = false;
+    if (data) {
+        wasInLRU = data->inLRU;
         moveToHeadOfLRU(data);
+    }
 
     QVGPixmapData *lrudata = pixmapLRU();
     if (lrudata && lrudata != data) {
         lrudata->reclaimImages();
-        return true;
+        succeeded = true;
     }
 
-    return false;
+    if (data && !wasInLRU)
+        removeFromLRU(data);
+
+    return succeeded;
 }
 
 void QVGImagePool::hibernate()
-- 
cgit v0.12


From ff98c93a33170b8fdc28b553490819b51cb80d86 Mon Sep 17 00:00:00 2001
From: Jason Barron <jason.barron@nokia.com>
Date: Wed, 25 Aug 2010 13:51:42 +0200
Subject: Fix crash in QRuntimeGraphicsSystem due to destruction order.

Firstly, fix a "leak" by deleting the graphics system when QApplication
is destroyed.

Secondly, fix a crash when the following scenario occurs:
- ~QApplication() deletes the current graphics system (see above)
- ~QApplication() calls qt_cleanup()
- qt_cleanup() calls QPixmapCache::clear() to delete pixmaps
- ~QRuntimePixmapData() tries to remove the pixmap from the runtime
  graphics system, but it has already been deleted.
- *Crash*

Reviewed-by: Gunnar Sletta
Reviewed-by: Jani Hautakangas
---
 src/gui/kernel/qapplication.cpp              | 2 ++
 src/gui/painting/qgraphicssystem_runtime.cpp | 6 ++++--
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/gui/kernel/qapplication.cpp b/src/gui/kernel/qapplication.cpp
index 82dd83a..ebad56e 100644
--- a/src/gui/kernel/qapplication.cpp
+++ b/src/gui/kernel/qapplication.cpp
@@ -1116,6 +1116,8 @@ QApplication::~QApplication()
     QApplicationPrivate::app_style = 0;
     delete QApplicationPrivate::app_icon;
     QApplicationPrivate::app_icon = 0;
+    delete QApplicationPrivate::graphics_system;
+    QApplicationPrivate::graphics_system = 0;
 #ifndef QT_NO_CURSOR
     d->cursor_list.clear();
 #endif
diff --git a/src/gui/painting/qgraphicssystem_runtime.cpp b/src/gui/painting/qgraphicssystem_runtime.cpp
index 2828e9d..a9fbbee 100644
--- a/src/gui/painting/qgraphicssystem_runtime.cpp
+++ b/src/gui/painting/qgraphicssystem_runtime.cpp
@@ -94,7 +94,8 @@ QRuntimePixmapData::QRuntimePixmapData(const QRuntimeGraphicsSystem *gs, PixelTy
 
 QRuntimePixmapData::~QRuntimePixmapData()
 {
-    m_graphicsSystem->removePixmapData(this);
+    if (QApplicationPrivate::graphics_system)
+        m_graphicsSystem->removePixmapData(this);
     delete m_data;
 }
 
@@ -258,7 +259,8 @@ QRuntimeWindowSurface::QRuntimeWindowSurface(const QRuntimeGraphicsSystem *gs, Q
 
 QRuntimeWindowSurface::~QRuntimeWindowSurface()
 {
-    m_graphicsSystem->removeWindowSurface(this);
+    if (QApplicationPrivate::graphics_system)
+        m_graphicsSystem->removeWindowSurface(this);
 }
 
 QPaintDevice *QRuntimeWindowSurface::paintDevice()
-- 
cgit v0.12


From b8644eab5205a9ff20ad27836be2439e7f6a19e9 Mon Sep 17 00:00:00 2001
From: Jerome Pasion <jerome.pasion@nokia.com>
Date: Fri, 10 Sep 2010 17:29:04 +0200
Subject: Clarified the coding standard regarding connecting signals to slots.
 Cleaned up the contradiction identified in QTBUG-10114. Reviewed-by: David
 Boddie Bug: QTBUG-8961, QTBUG-10114

---
 doc/src/objectmodel/signalsandslots.qdoc     |  6 +++++-
 doc/src/snippets/signalmapper/filereader.cpp | 12 ++++++++++--
 2 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/doc/src/objectmodel/signalsandslots.qdoc b/doc/src/objectmodel/signalsandslots.qdoc
index 09c427b..c12ca78 100644
--- a/doc/src/objectmodel/signalsandslots.qdoc
+++ b/doc/src/objectmodel/signalsandslots.qdoc
@@ -336,7 +336,7 @@
 
     If on the other hand you want to call two different error
     functions when the number overflows, simply connect the signal to
-    two different slots. Qt will call both (in arbitrary order).
+    two different slots. Qt will call both (in the order they were connected).
 
     \snippet doc/src/snippets/signalsandslots/lcdnumber.h 10
     \snippet doc/src/snippets/signalsandslots/lcdnumber.h 11
@@ -427,6 +427,10 @@
 
     \snippet doc/src/snippets/signalmapper/filereader.cpp 1
 
+    \note The following code will compile and run, but due to signature normalization, the code will be slower.
+
+    \snippet doc/src/snippets/signalmapper/filereader.cpp 2
+
     \sa {Meta-Object System}, {Qt's Property System}
 
     \target 3rd Party Signals and Slots
diff --git a/doc/src/snippets/signalmapper/filereader.cpp b/doc/src/snippets/signalmapper/filereader.cpp
index 76ed4c1..08f4d06 100644
--- a/doc/src/snippets/signalmapper/filereader.cpp
+++ b/doc/src/snippets/signalmapper/filereader.cpp
@@ -66,10 +66,18 @@ FileReader::FileReader(QWidget *parent)
 //! [0]
 
 //! [1]
-    connect(signalMapper, SIGNAL(mapped(const QString &)),
-        this, SLOT(readFile(const QString &)));
+    connect(signalMapper, SIGNAL(mapped(QString)),
+        this, SLOT(readFile(QString)));
 //! [1]
 
+/*
+//! [2]
+    //slower due to signature normalization at runtime
+    
+    connect(signalMapper, SIGNAL(mapped(const QString &)),
+        this, SLOT(readFile(const QString &)));
+//! [2]
+*/
     QHBoxLayout *buttonLayout = new QHBoxLayout;
     buttonLayout->addWidget(taxFileButton);
     buttonLayout->addWidget(accountFileButton);
-- 
cgit v0.12


From e26cba5c15ae02ae0fba9b73ed90c9b1f7b5286b Mon Sep 17 00:00:00 2001
From: Christian Kandeler <christian.kandeler@nokia.com>
Date: Fri, 10 Sep 2010 17:55:06 +0200
Subject: Bearer management: Fix compilation with namespace.

---
 src/plugins/bearer/connman/qofonoservice_linux_p.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/plugins/bearer/connman/qofonoservice_linux_p.h b/src/plugins/bearer/connman/qofonoservice_linux_p.h
index 4892666..0ac1e4a 100644
--- a/src/plugins/bearer/connman/qofonoservice_linux_p.h
+++ b/src/plugins/bearer/connman/qofonoservice_linux_p.h
@@ -329,4 +329,6 @@ Q_SIGNALS:
     void incomingMessage(const QString &message, const QVariantMap &info);
 };
 
+QT_END_NAMESPACE
+
 #endif //QOFONOSERVICE_H
-- 
cgit v0.12


From 288244c528ca169d1a3b015e27fc9561d7094563 Mon Sep 17 00:00:00 2001
From: Thiago Macieira <thiago.macieira@nokia.com>
Date: Sat, 11 Sep 2010 09:58:43 +0200
Subject: Revert "Properly implement qobject_cast for const pointers."

This commit added new symbols to the 4.7 branch after 4.7.0 was
frozen.

This reverts commit 0b0aa7603b27447a5abe55c55d0514bc56b35f9e.
---
 src/corelib/kernel/qmetaobject.cpp | 20 +-------------------
 src/corelib/kernel/qobject.h       |  6 +++++-
 src/corelib/kernel/qobjectdefs.h   |  1 -
 3 files changed, 6 insertions(+), 21 deletions(-)

diff --git a/src/corelib/kernel/qmetaobject.cpp b/src/corelib/kernel/qmetaobject.cpp
index 3b9b04a..9854e68 100644
--- a/src/corelib/kernel/qmetaobject.cpp
+++ b/src/corelib/kernel/qmetaobject.cpp
@@ -266,25 +266,7 @@ QObject *QMetaObject::cast(QObject *obj) const
         const QMetaObject *m = obj->metaObject();
         do {
             if (m == this)
-                return obj;
-        } while ((m = m->d.superdata));
-    }
-    return 0;
-}
-
-/*!
-    \internal
-
-    Returns \a obj if object \a obj inherits from this
-    meta-object; otherwise returns 0.
-*/
-const QObject *QMetaObject::cast(const QObject *obj) const
-{
-    if (obj) {
-        const QMetaObject *m = obj->metaObject();
-        do {
-            if (m == this)
-                return obj;
+                return const_cast<QObject*>(obj);
         } while ((m = m->d.superdata));
     }
     return 0;
diff --git a/src/corelib/kernel/qobject.h b/src/corelib/kernel/qobject.h
index b5c772e..d98d1f0 100644
--- a/src/corelib/kernel/qobject.h
+++ b/src/corelib/kernel/qobject.h
@@ -369,10 +369,14 @@ inline T qobject_cast(QObject *object)
 template <class T>
 inline T qobject_cast(const QObject *object)
 {
+    // this will cause a compilation error if T is not const
+    register T ptr = static_cast<T>(object);
+    Q_UNUSED(ptr);
+
 #if !defined(QT_NO_MEMBER_TEMPLATES) && !defined(QT_NO_QOBJECT_CHECK)
     reinterpret_cast<T>(0)->qt_check_for_QOBJECT_macro(*reinterpret_cast<T>(const_cast<QObject *>(object)));
 #endif
-    return static_cast<T>(reinterpret_cast<T>(0)->staticMetaObject.cast(object));
+    return static_cast<T>(const_cast<QObject *>(reinterpret_cast<T>(0)->staticMetaObject.cast(const_cast<QObject *>(object))));
 }
 
 
diff --git a/src/corelib/kernel/qobjectdefs.h b/src/corelib/kernel/qobjectdefs.h
index 0d045dc..555a1f5 100644
--- a/src/corelib/kernel/qobjectdefs.h
+++ b/src/corelib/kernel/qobjectdefs.h
@@ -298,7 +298,6 @@ struct Q_CORE_EXPORT QMetaObject
     const QMetaObject *superClass() const;
 
     QObject *cast(QObject *obj) const;
-    const QObject *cast(const QObject *obj) const;
 
 #ifndef QT_NO_TRANSLATION
     // ### Qt 4: Merge overloads
-- 
cgit v0.12


From d9f5115eb7f7ba78db245ff9e66ae638317f5b70 Mon Sep 17 00:00:00 2001
From: Andreas Kling <andreas.kling@nokia.com>
Date: Sun, 12 Sep 2010 19:19:52 +0200
Subject: QStroker: Fix erroneous SvgMiterJoin behavior for parallel lines

QLineF::intersect() yields an undefined intersectionPoint for parallel
lines. Thus if the distance to 0,0 is shorter than the current miter
limit, we would draw a triangle to 0,0.

Handle this by not drawing the triangle for parallel lines.
This matches the behavior of Qt::MiterJoin.
---
 src/gui/painting/qstroker.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/gui/painting/qstroker.cpp b/src/gui/painting/qstroker.cpp
index eabbd8a..9cff339 100644
--- a/src/gui/painting/qstroker.cpp
+++ b/src/gui/painting/qstroker.cpp
@@ -609,7 +609,7 @@ void QStroker::joinPoints(qfixed focal_x, qfixed focal_y, const QLineF &nextLine
             }
             QLineF miterLine(QPointF(qt_fixed_to_real(focal_x),
                                      qt_fixed_to_real(focal_y)), isect);
-            if (miterLine.length() > qt_fixed_to_real(m_strokeWidth * m_miterLimit) / 2) {
+            if (type == QLineF::NoIntersection || miterLine.length() > qt_fixed_to_real(m_strokeWidth * m_miterLimit) / 2) {
                 emitLineTo(qt_real_to_fixed(nextLine.x1()),
                            qt_real_to_fixed(nextLine.y1()));
             } else {
-- 
cgit v0.12


From 8545436476497cf8aa9e7af46000f283cbbfb3d9 Mon Sep 17 00:00:00 2001
From: Simon Hausmann <simon.hausmann@nokia.com>
Date: Sun, 12 Sep 2010 23:22:20 +0200
Subject: Updated WebKit to 715b53069911a31a559aa0b3d94ffc6a5ac20988

Sync with qtwebkit-2.0 branch

* Includes Thiago's intel compiler fixes
* Girish' Maemo5 local rendering fixes
---
 src/3rdparty/webkit/.tag                           |   2 +-
 src/3rdparty/webkit/JavaScriptCore/ChangeLog       |  57 +++++++++++
 .../webkit/JavaScriptCore/bytecode/Opcode.h        |   2 +-
 .../webkit/JavaScriptCore/jit/JITStubs.cpp         |  97 +++++++++---------
 src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h  |   5 +-
 src/3rdparty/webkit/JavaScriptCore/wtf/Vector.h    |   2 +-
 src/3rdparty/webkit/VERSION                        |   2 +-
 src/3rdparty/webkit/WebCore/ChangeLog              | 102 +++++++++++++++++++
 src/3rdparty/webkit/WebCore/WebCore.pro            |  11 ++-
 src/3rdparty/webkit/WebCore/bridge/npapi.h         |  31 ++++++
 .../webkit/WebCore/plugins/PluginPackage.cpp       |   2 +-
 src/3rdparty/webkit/WebCore/plugins/PluginView.cpp |  10 ++
 src/3rdparty/webkit/WebCore/plugins/PluginView.h   |  10 ++
 .../webkit/WebCore/plugins/qt/PluginViewQt.cpp     | 109 +++++++++++++++++++--
 src/3rdparty/webkit/WebKit/qt/Api/qwebkitglobal.h  |   4 +-
 src/3rdparty/webkit/WebKit/qt/ChangeLog            |  77 +++++++++++++++
 .../qt/WebCoreSupport/FrameLoaderClientQt.cpp      |  17 +++-
 .../webkit/WebKit/qt/qt_webkit_version.pri         |   4 +-
 18 files changed, 473 insertions(+), 71 deletions(-)

diff --git a/src/3rdparty/webkit/.tag b/src/3rdparty/webkit/.tag
index 1148320..ae33228 100644
--- a/src/3rdparty/webkit/.tag
+++ b/src/3rdparty/webkit/.tag
@@ -1 +1 @@
-460b651cbe4f6994b492ff08614e57b0e31a24c8
+715b53069911a31a559aa0b3d94ffc6a5ac20988
diff --git a/src/3rdparty/webkit/JavaScriptCore/ChangeLog b/src/3rdparty/webkit/JavaScriptCore/ChangeLog
index 2be6f5a..9922da6 100644
--- a/src/3rdparty/webkit/JavaScriptCore/ChangeLog
+++ b/src/3rdparty/webkit/JavaScriptCore/ChangeLog
@@ -1,3 +1,60 @@
+2010-06-16  Thiago Macieira <thiago.macieira@nokia.com>
+
+        Reviewed by NOBODY (OOPS!).
+
+        Reindent the asm code I've moved to inside the function
+        (previous commit)
+
+        * jit/JITStubs.cpp:
+
+2010-06-16  Thiago Macieira <thiago.macieira@nokia.com>
+
+        Reviewed by NOBODY (OOPS!).
+
+        Fix the JIT compilation with the Intel 32-bit C++ compiler.
+
+        ICC doesn't understand the use of "asm" statements outside of
+        function bodies, so move the assembly code inside a dummy
+        function (and mark it so that the compiler doesn't remove it
+        altogether).
+
+        Also removed the ".text" entry that I had added because now
+        the assembly code is properly inside a code section (fixes
+        compilation with -ffunction-sections).
+
+        * jit/JITStubs.cpp:
+
+2010-06-16  Thiago Macieira <thiago.macieira@nokia.com>
+
+        Reviewed by NOBODY (OOPS!).
+
+        Don't use __attribute__((may_alias)) with the Intel compiler,
+        as it doesn't understand it.
+
+        * wtf/Vector.h:
+
+2010-06-16  Thiago Macieira <thiago.macieira@nokia.com>
+
+        Reviewed by NOBODY (OOPS!).
+
+        Fix compilation with the Intel C++ compiler (11.1.072).
+
+        Like RVCT, label pointers must be void*, not const void*.
+
+        * bytecode/Opcode.h:
+
+2010-06-16  Thiago Macieira <thiago.macieira@nokia.com>
+
+        Reviewed by NOBODY (OOPS!).
+
+        Add the WTF_COMPILER_INTEL for when the Intel compiler is used
+        for building. Usually, the Intel compiler masquerades as
+        another compiler in the system and gets away with it, but some
+        times specific fixes are required (such as when using language
+        extensions).
+
+        * wtf/Platform.h:
+
 2010-07-08  Andreas Kling  <andreas.kling@nokia.com>
 
         Reviewed by Oliver Hunt.
diff --git a/src/3rdparty/webkit/JavaScriptCore/bytecode/Opcode.h b/src/3rdparty/webkit/JavaScriptCore/bytecode/Opcode.h
index 509daeb..f7f53fd 100644
--- a/src/3rdparty/webkit/JavaScriptCore/bytecode/Opcode.h
+++ b/src/3rdparty/webkit/JavaScriptCore/bytecode/Opcode.h
@@ -206,7 +206,7 @@ namespace JSC {
     #undef VERIFY_OPCODE_ID
 
 #if HAVE(COMPUTED_GOTO)
-#if COMPILER(RVCT)
+#if COMPILER(RVCT) || COMPILER(INTEL)
     typedef void* Opcode;
 #else
     typedef const void* Opcode;
diff --git a/src/3rdparty/webkit/JavaScriptCore/jit/JITStubs.cpp b/src/3rdparty/webkit/JavaScriptCore/jit/JITStubs.cpp
index e5fcdc4..23fcb96 100644
--- a/src/3rdparty/webkit/JavaScriptCore/jit/JITStubs.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/jit/JITStubs.cpp
@@ -113,56 +113,59 @@ COMPILE_ASSERT(offsetof(struct JITStackFrame, savedEBX) == 0x3c, JITStackFrame_s
 COMPILE_ASSERT(offsetof(struct JITStackFrame, callFrame) == 0x58, JITStackFrame_callFrame_offset_matches_ctiTrampoline);
 COMPILE_ASSERT(offsetof(struct JITStackFrame, code) == 0x50, JITStackFrame_code_offset_matches_ctiTrampoline);
 
-asm volatile (
-".text\n"
-".globl " SYMBOL_STRING(ctiTrampoline) "\n"
-HIDE_SYMBOL(ctiTrampoline) "\n"
-SYMBOL_STRING(ctiTrampoline) ":" "\n"
-    "pushl %ebp" "\n"
-    "movl %esp, %ebp" "\n"
-    "pushl %esi" "\n"
-    "pushl %edi" "\n"
-    "pushl %ebx" "\n"
-    "subl $0x3c, %esp" "\n"
-    "movl $512, %esi" "\n"
-    "movl 0x58(%esp), %edi" "\n"
-    "call *0x50(%esp)" "\n"
-    "addl $0x3c, %esp" "\n"
-    "popl %ebx" "\n"
-    "popl %edi" "\n"
-    "popl %esi" "\n"
-    "popl %ebp" "\n"
-    "ret" "\n"
-);
-
-asm volatile (
-".globl " SYMBOL_STRING(ctiVMThrowTrampoline) "\n"
-HIDE_SYMBOL(ctiVMThrowTrampoline) "\n"
-SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n"
+static void __attribute__((used)) asm_wrapper()
+{
+    asm volatile (
+        ".text\n"
+        ".globl " SYMBOL_STRING(ctiTrampoline) "\n"
+        HIDE_SYMBOL(ctiTrampoline) "\n"
+        SYMBOL_STRING(ctiTrampoline) ":" "\n"
+        "pushl %ebp" "\n"
+        "movl %esp, %ebp" "\n"
+        "pushl %esi" "\n"
+        "pushl %edi" "\n"
+        "pushl %ebx" "\n"
+        "subl $0x3c, %esp" "\n"
+        "movl $512, %esi" "\n"
+        "movl 0x58(%esp), %edi" "\n"
+        "call *0x50(%esp)" "\n"
+        "addl $0x3c, %esp" "\n"
+        "popl %ebx" "\n"
+        "popl %edi" "\n"
+        "popl %esi" "\n"
+        "popl %ebp" "\n"
+        "ret" "\n"
+        );
+
+    asm volatile (
+        ".globl " SYMBOL_STRING(ctiVMThrowTrampoline) "\n"
+        HIDE_SYMBOL(ctiVMThrowTrampoline) "\n"
+        SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n"
 #if !USE(JIT_STUB_ARGUMENT_VA_LIST)
-    "movl %esp, %ecx" "\n"
+        "movl %esp, %ecx" "\n"
 #endif
-    "call " SYMBOL_STRING_RELOCATION(cti_vm_throw) "\n"
-    "addl $0x3c, %esp" "\n"
-    "popl %ebx" "\n"
-    "popl %edi" "\n"
-    "popl %esi" "\n"
-    "popl %ebp" "\n"
-    "ret" "\n"
-);
-    
-asm volatile (
-".globl " SYMBOL_STRING(ctiOpThrowNotCaught) "\n"
-HIDE_SYMBOL(ctiOpThrowNotCaught) "\n"
-SYMBOL_STRING(ctiOpThrowNotCaught) ":" "\n"
-    "addl $0x3c, %esp" "\n"
-    "popl %ebx" "\n"
-    "popl %edi" "\n"
-    "popl %esi" "\n"
-    "popl %ebp" "\n"
-    "ret" "\n"
-);
+        "call " SYMBOL_STRING_RELOCATION(cti_vm_throw) "\n"
+        "addl $0x3c, %esp" "\n"
+        "popl %ebx" "\n"
+        "popl %edi" "\n"
+        "popl %esi" "\n"
+        "popl %ebp" "\n"
+        "ret" "\n"
+        );
     
+    asm volatile (
+        ".globl " SYMBOL_STRING(ctiOpThrowNotCaught) "\n"
+        HIDE_SYMBOL(ctiOpThrowNotCaught) "\n"
+        SYMBOL_STRING(ctiOpThrowNotCaught) ":" "\n"
+        "addl $0x3c, %esp" "\n"
+        "popl %ebx" "\n"
+        "popl %edi" "\n"
+        "popl %esi" "\n"
+        "popl %ebp" "\n"
+        "ret" "\n"
+        );
+}
+
 #elif COMPILER(GCC) && CPU(X86_64)
 
 #if USE(JIT_STUB_ARGUMENT_VA_LIST)
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h b/src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h
index 84b6153..15f0ffc 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h
@@ -99,7 +99,10 @@
 #undef _WIN32
 #endif
 
-
+/* COMPILER(INTEL) - Intel C++ Compiler */
+#if defined(__INTEL_COMPILER)
+#define WTF_COMPILER_INTEL 1
+#endif
 
 /* ==== CPU() - the target CPU architecture ==== */
 
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/Vector.h b/src/3rdparty/webkit/JavaScriptCore/wtf/Vector.h
index 4d9ea61..c267050 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/Vector.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/Vector.h
@@ -49,7 +49,7 @@ namespace WTF {
         #error WTF_ALIGN macros need alignment control.
     #endif
 
-    #if COMPILER(GCC) && (((__GNUC__ * 100) + __GNUC_MINOR__) >= 303)
+    #if COMPILER(GCC) && !COMPILER(INTEL) && (((__GNUC__ * 100) + __GNUC_MINOR__) >= 303)
         typedef char __attribute__((__may_alias__)) AlignedBufferChar; 
     #else
         typedef char AlignedBufferChar; 
diff --git a/src/3rdparty/webkit/VERSION b/src/3rdparty/webkit/VERSION
index aff3f2a..f919bdf 100644
--- a/src/3rdparty/webkit/VERSION
+++ b/src/3rdparty/webkit/VERSION
@@ -4,4 +4,4 @@ This is a snapshot of the Qt port of WebKit from
 
 and has the sha1 checksum
 
-        460b651cbe4f6994b492ff08614e57b0e31a24c8
+        715b53069911a31a559aa0b3d94ffc6a5ac20988
diff --git a/src/3rdparty/webkit/WebCore/ChangeLog b/src/3rdparty/webkit/WebCore/ChangeLog
index 98d4d51..2d20cbd 100644
--- a/src/3rdparty/webkit/WebCore/ChangeLog
+++ b/src/3rdparty/webkit/WebCore/ChangeLog
@@ -1,3 +1,105 @@
+2010-09-09  Kristian Amlie  <kristian.amlie@nokia.com>
+
+        Reviewed by Andreas Kling.
+
+        [Qt] Fixed incorrect Symbian scoping.
+
+        The missing install functionality is only true for mmp based systems.
+
+        https://bugs.webkit.org/show_bug.cgi?id=45268
+
+        * WebCore.pro:
+
+2010-09-12  Oswald Buddenhagen  <oswald.buddenhagen@nokia.com>
+
+        Reviewed by Simon Hausmann.
+
+        [Qt] fix qt_webkit_version.pri install for in-Qt builds
+
+        Always add the target, even if building inside Qt - as opposed to the
+        headers and libraries, there are no rules for that coming from
+        qbase.pri.
+
+        Task-number: QTBUG-13306
+
+        * WebCore.pro:
+
+2010-09-12  Oswald Buddenhagen  <oswald.buddenhagen@nokia.com>
+
+        Reviewed by Simon Hausmann.
+
+        [Qt] Let QtWebKit inject itself into the qt configuration
+
+        i.e., don't explicitly deal with qt_webkit_version.pri outside of the
+        webkit source directory.
+
+        Task-number: QTBUG-12379
+
+        * WebCore.pro:
+
+2010-08-20  Girish Ramakrishnan  <girish@forwardbias.in>
+
+        Reviewed by Ariya Hidayat.
+
+        [Qt] When using the raster graphics system on Maemo5, allow
+        Flash to render directly into the raster window surface.
+        wmode=transparent is now supported as a result of this change.
+        
+        https://bugs.webkit.org/show_bug.cgi?id=44043
+        
+        * plugins/qt/PluginViewQt.cpp:
+        (WebCore::PluginView::paintUsingImageSurfaceExtension):
+
+2010-08-18  Girish Ramakrishnan  <girish@forwardbias.in>
+
+        Reviewed by Kenneth Rohde Christiansen.
+
+        [Qt] Implement Maemo5 local rendering NPAPI extension. See 
+        https://wiki.mozilla.org/Plugins:NokiaMaemoImageSurface for details.
+
+        With the local rendering extension, Flash will paint into a 16-bit surface.
+        For wmode=transparent, Flash expects the surface to contain the contents
+        beneath it. As it is tricky to implement the content propagation across all
+        graphics systems, transparent Flash is not supported. We just fill the surface 
+        with white and wmode=transparent behaves the same as wmode=opaque with a white 
+        background.
+
+        https://bugs.webkit.org/show_bug.cgi?id=44043
+
+        * WebCore.pro:
+        * plugins/PluginView.cpp:
+        (WebCore::PluginView::setValue):
+        (WebCore::PluginView::PluginView):
+        * plugins/PluginView.h:
+        * plugins/qt/PluginViewQt.cpp:
+        (WebCore::PluginView::updatePluginWidget):
+        (WebCore::PluginView::paintUsingImageSurfaceExtension):
+        (WebCore::PluginView::paint):
+        (WebCore::PluginView::platformGetValueStatic):
+
+2010-08-17  Girish Ramakrishnan  <girish@forwardbias.in>
+
+        Reviewed by Antonio Gomes.
+
+        [Qt] On Maemo5, there is no libgdk-x11-2.0.so symlink. Look for 
+        libgdk-x11-2.0.so.0 instead on X11 and Maemo5.
+
+        https://bugs.webkit.org/show_bug.cgi?id=44043
+
+        * plugins/qt/PluginViewQt.cpp:
+        (WebCore::getPluginDisplay):
+
+2010-08-17  Girish Ramakrishnan  <girish@forwardbias.in>
+
+        Reviewed by Kenneth Rohde Christiansen.
+        Set PluginQuirkRequiresDefaultScreenDepth for all Flash versions and not
+        just Flash 10.
+
+        https://bugs.webkit.org/show_bug.cgi?id=44043
+
+        * plugins/PluginPackage.cpp:
+        (WebCore::PluginPackage::determineQuirks):
+
 2010-08-10  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
 
         Reviewed by Simon Hausmann.
diff --git a/src/3rdparty/webkit/WebCore/WebCore.pro b/src/3rdparty/webkit/WebCore/WebCore.pro
index 5ea1e77..87638a0 100644
--- a/src/3rdparty/webkit/WebCore/WebCore.pro
+++ b/src/3rdparty/webkit/WebCore/WebCore.pro
@@ -2192,6 +2192,9 @@ contains(DEFINES, ENABLE_NETSCAPE_PLUGIN_API=1) {
                     CONFIG += x11
                     LIBS += -lXrender
                 }
+                maemo5 {
+                    DEFINES += MOZ_PLATFORM_MAEMO=5
+                }
                 SOURCES += \
                     plugins/qt/PluginContainerQt.cpp \
                     plugins/qt/PluginPackageQt.cpp \
@@ -2857,13 +2860,13 @@ contains(DEFINES, ENABLE_SYMBIAN_DIALOG_PROVIDERS) {
     }
 }
 
-!symbian-abld:!symbian-sbsv2 {
+!symbian {
     modfile.files = $$moduleFile
     modfile.path = $$[QMAKE_MKSPECS]/modules
 
     INSTALLS += modfile
 } else {
-    # INSTALLS is not implemented in qmake's mmp generators, copy headers manually
+    # INSTALLS is not implemented in qmake's s60 generators, copy headers manually
 
     inst_modfile.commands = $$QMAKE_COPY ${QMAKE_FILE_NAME} ${QMAKE_FILE_OUT}
     inst_modfile.input = moduleFile
@@ -2883,7 +2886,7 @@ HEADERS += $$WEBKIT_API_HEADERS
     exists($$OUTPUT_DIR/include/QtWebKit/classheaders.pri): include($$OUTPUT_DIR/include/QtWebKit/classheaders.pri)
     WEBKIT_INSTALL_HEADERS = $$WEBKIT_API_HEADERS $$WEBKIT_CLASS_HEADERS
 
-    !symbian {
+    !symbian-abld:!symbian-sbsv2 {
         headers.files = $$WEBKIT_INSTALL_HEADERS
 
         !isEmpty(INSTALL_HEADERS): headers.path = $$INSTALL_HEADERS/QtWebKit
@@ -2894,7 +2897,7 @@ HEADERS += $$WEBKIT_API_HEADERS
 
         INSTALLS += target headers
     } else {
-        # INSTALLS is not implemented in qmake's s60 generators, copy headers manually
+        # INSTALLS is not implemented in qmake's mmp generators, copy headers manually
         inst_headers.commands = $$QMAKE_COPY ${QMAKE_FILE_NAME} ${QMAKE_FILE_OUT}
         inst_headers.input = WEBKIT_INSTALL_HEADERS
         inst_headers.CONFIG = no_clean
diff --git a/src/3rdparty/webkit/WebCore/bridge/npapi.h b/src/3rdparty/webkit/WebCore/bridge/npapi.h
index 533fcba..daa3a36 100644
--- a/src/3rdparty/webkit/WebCore/bridge/npapi.h
+++ b/src/3rdparty/webkit/WebCore/bridge/npapi.h
@@ -247,6 +247,12 @@ typedef struct _NPRect
 } NPRect;
 
 
+typedef struct _NPSize
+{
+  int32 width;
+  int32 height;
+} NPSize;
+
 #ifdef XP_UNIX
 /*
  * Unix specific structures and definitions
@@ -373,6 +379,11 @@ typedef enum {
     /* In the NPDrawingModelCoreAnimation drawing model, the browser asks the plug-in for a Core Animation layer. */
     NPPVpluginCoreAnimationLayer = 1003
 #endif
+
+
+#if defined(MOZ_PLATFORM_MAEMO) && (MOZ_PLATFORM_MAEMO == 5)
+    NPPVpluginWindowlessLocalBool = 2002
+#endif
 } NPPVariable;
 
 /*
@@ -419,6 +430,9 @@ typedef enum {
     , NPNVsupportsCocoaBool = 3001 /* TRUE if the browser supports the Cocoa event model */
     
 #endif /* XP_MACOSX */
+#if defined(MOZ_PLATFORM_MAEMO) && (MOZ_PLATFORM_MAEMO == 5)
+  , NPNVSupportsWindowlessLocal = 2002
+#endif
 } NPNVariable;
 
 typedef enum {
@@ -539,6 +553,23 @@ typedef struct _NPWindow
 } NPWindow;
 
 
+typedef struct _NPImageExpose
+{
+  char*    data;       /* image pointer */
+  int32  stride;     /* Stride of data image pointer */
+  int32  depth;      /* Depth of image pointer */
+  int32  x;          /* Expose x */
+  int32  y;          /* Expose y */
+  uint32 width;      /* Expose width */
+  uint32 height;     /* Expose height */
+  NPSize   dataSize;   /* Data buffer size */
+  float    translateX; /* translate X matrix value */
+  float    translateY; /* translate Y matrix value */
+  float    scaleX;     /* scale X matrix value */
+  float    scaleY;     /* scale Y matrix value */
+} NPImageExpose;
+
+
 typedef struct _NPFullPrint
 {
     NPBool    pluginPrinted;    /* Set TRUE if plugin handled fullscreen */
diff --git a/src/3rdparty/webkit/WebCore/plugins/PluginPackage.cpp b/src/3rdparty/webkit/WebCore/plugins/PluginPackage.cpp
index ad03ecd..3881f54 100644
--- a/src/3rdparty/webkit/WebCore/plugins/PluginPackage.cpp
+++ b/src/3rdparty/webkit/WebCore/plugins/PluginPackage.cpp
@@ -185,12 +185,12 @@ void PluginPackage::determineQuirks(const String& mimeType)
 #if PLATFORM(QT)
             m_quirks.add(PluginQuirkRequiresGtkToolKit);
 #endif
-            m_quirks.add(PluginQuirkRequiresDefaultScreenDepth);
         } else {
             // Flash 9 and older requests windowless plugins if we return a mozilla user agent
             m_quirks.add(PluginQuirkWantsMozillaUserAgent);
         }
 
+        m_quirks.add(PluginQuirkRequiresDefaultScreenDepth);
         m_quirks.add(PluginQuirkThrottleInvalidate);
         m_quirks.add(PluginQuirkThrottleWMUserPlusOneMessages);
         m_quirks.add(PluginQuirkFlashURLNotifyBug);
diff --git a/src/3rdparty/webkit/WebCore/plugins/PluginView.cpp b/src/3rdparty/webkit/WebCore/plugins/PluginView.cpp
index df9a29b..b8b2f2f 100644
--- a/src/3rdparty/webkit/WebCore/plugins/PluginView.cpp
+++ b/src/3rdparty/webkit/WebCore/plugins/PluginView.cpp
@@ -1,6 +1,7 @@
 /*
  * Copyright (C) 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserved.
  * Copyright (C) 2008 Collabora Ltd. All rights reserved.
+ * Copyright (C) 2010 Girish Ramakrishnan <girish@forwardbias.in>
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -679,6 +680,12 @@ NPError PluginView::setValue(NPPVariable variable, void* value)
     }
 #endif // defined(XP_MACOSX)
 
+#if PLATFORM(QT) && defined(MOZ_PLATFORM_MAEMO) && (MOZ_PLATFORM_MAEMO == 5)
+    case NPPVpluginWindowlessLocalBool:
+        m_renderToImage = true;
+        return NPERR_NO_ERROR;
+#endif
+
     default:
         notImplemented();
         return NPERR_GENERIC_ERROR;
@@ -852,6 +859,9 @@ PluginView::PluginView(Frame* parentFrame, const IntSize& size, PluginPackage* p
     , m_colormap(0)
     , m_pluginDisplay(0)
 #endif
+#if PLATFORM(QT) && defined(MOZ_PLATFORM_MAEMO) && (MOZ_PLATFORM_MAEMO == 5)
+    , m_renderToImage(false)
+#endif
     , m_loadManually(loadManually)
     , m_manualStream(0)
     , m_isJavaScriptPaused(false)
diff --git a/src/3rdparty/webkit/WebCore/plugins/PluginView.h b/src/3rdparty/webkit/WebCore/plugins/PluginView.h
index 51b2127..f346134 100644
--- a/src/3rdparty/webkit/WebCore/plugins/PluginView.h
+++ b/src/3rdparty/webkit/WebCore/plugins/PluginView.h
@@ -54,6 +54,10 @@ typedef PlatformWidget PlatformPluginWidget;
 #include <QPixmap>
 #endif
 #endif
+#if PLATFORM(QT) && defined(MOZ_PLATFORM_MAEMO) && (MOZ_PLATFORM_MAEMO == 5)
+#include <QImage>
+class QPainter;
+#endif
 
 namespace JSC {
     namespace Bindings {
@@ -371,6 +375,12 @@ private:
         void initXEvent(XEvent* event);
 #endif
 
+#if PLATFORM(QT) && defined(MOZ_PLATFORM_MAEMO) && (MOZ_PLATFORM_MAEMO == 5)
+        QImage m_image;
+        bool m_renderToImage;
+        void paintUsingImageSurfaceExtension(QPainter* painter, const IntRect& exposedRect);
+#endif
+
         IntRect m_clipRect; // The clip rect to apply to a windowed plug-in
         IntRect m_windowRect; // Our window rect.
 
diff --git a/src/3rdparty/webkit/WebCore/plugins/qt/PluginViewQt.cpp b/src/3rdparty/webkit/WebCore/plugins/qt/PluginViewQt.cpp
index fb88b87..8dadc11 100644
--- a/src/3rdparty/webkit/WebCore/plugins/qt/PluginViewQt.cpp
+++ b/src/3rdparty/webkit/WebCore/plugins/qt/PluginViewQt.cpp
@@ -110,12 +110,20 @@ void PluginView::updatePluginWidget()
         return;
 
     if (!m_isWindowed && m_windowRect.size() != oldWindowRect.size()) {
-        if (m_drawable)
-            XFreePixmap(QX11Info::display(), m_drawable);
+#if defined(MOZ_PLATFORM_MAEMO) && (MOZ_PLATFORM_MAEMO == 5)
+        // On Maemo5, Flash always renders to 16-bit buffer
+        if (m_renderToImage)
+            m_image = QImage(m_windowRect.width(), m_windowRect.height(), QImage::Format_RGB16);
+        else
+#endif
+        {
+            if (m_drawable)
+                XFreePixmap(QX11Info::display(), m_drawable);
 
-        m_drawable = XCreatePixmap(QX11Info::display(), QX11Info::appRootWindow(), m_windowRect.width(), m_windowRect.height(), 
-                                   ((NPSetWindowCallbackStruct*)m_npWindow.ws_info)->depth);
-        QApplication::syncX(); // make sure that the server knows about the Drawable
+            m_drawable = XCreatePixmap(QX11Info::display(), QX11Info::appRootWindow(), m_windowRect.width(), m_windowRect.height(), 
+                                       ((NPSetWindowCallbackStruct*)m_npWindow.ws_info)->depth);
+            QApplication::syncX(); // make sure that the server knows about the Drawable
+        }
     }
 
     // do not call setNPWindowIfNeeded immediately, will be called on paint()
@@ -154,6 +162,71 @@ void PluginView::hide()
     Widget::hide();
 }
 
+#if defined(MOZ_PLATFORM_MAEMO) && (MOZ_PLATFORM_MAEMO == 5)
+void PluginView::paintUsingImageSurfaceExtension(QPainter* painter, const IntRect& exposedRect)
+{
+    NPImageExpose imageExpose;
+    QPoint offset;
+    QWebPageClient* client = m_parentFrame->view()->hostWindow()->platformPageClient();
+    const bool surfaceHasUntransformedContents = client && qobject_cast<QWidget*>(client->pluginParent());
+
+    QPaintDevice* surface =  QPainter::redirected(painter->device(), &offset);
+
+    // If the surface is a QImage, we can render directly into it
+    if (surfaceHasUntransformedContents && surface && surface->devType() == QInternal::Image) {
+        QImage* image = static_cast<QImage*>(surface);
+        offset = -offset; // negating the offset gives us the offset of the view within the surface
+        imageExpose.data = reinterpret_cast<char*>(image->bits());
+        imageExpose.dataSize.width = image->width();
+        imageExpose.dataSize.height = image->height();
+        imageExpose.stride = image->bytesPerLine();
+        imageExpose.depth = image->depth(); // this is guaranteed to be 16 on Maemo5
+        imageExpose.translateX = offset.x() + m_windowRect.x();
+        imageExpose.translateY = offset.y() + m_windowRect.y();
+        imageExpose.scaleX = 1;
+        imageExpose.scaleY = 1;
+    } else {
+        if (m_isTransparent) {
+            // On Maemo5, Flash expects the buffer to contain the contents that are below it.
+            // We don't support transparency for non-raster graphicssystem, so clean the image 
+            // before giving to Flash.
+            QPainter imagePainter(&m_image);
+            imagePainter.fillRect(exposedRect, Qt::white);
+        }
+
+        imageExpose.data = reinterpret_cast<char*>(m_image.bits());
+        imageExpose.dataSize.width = m_image.width();
+        imageExpose.dataSize.height = m_image.height();
+        imageExpose.stride = m_image.bytesPerLine();
+        imageExpose.depth = m_image.depth();
+        imageExpose.translateX = 0;
+        imageExpose.translateY = 0;
+        imageExpose.scaleX = 1;
+        imageExpose.scaleY = 1;
+    }
+    imageExpose.x = exposedRect.x();
+    imageExpose.y = exposedRect.y();
+    imageExpose.width = exposedRect.width();
+    imageExpose.height = exposedRect.height();
+
+    XEvent xevent;
+    memset(&xevent, 0, sizeof(XEvent));
+    XGraphicsExposeEvent& exposeEvent = xevent.xgraphicsexpose;
+    exposeEvent.type = GraphicsExpose;
+    exposeEvent.display = 0;
+    exposeEvent.drawable = reinterpret_cast<XID>(&imageExpose);
+    exposeEvent.x = exposedRect.x();
+    exposeEvent.y = exposedRect.y();
+    exposeEvent.width = exposedRect.width();
+    exposeEvent.height = exposedRect.height();
+
+    dispatchNPEvent(xevent);
+
+    if (!surfaceHasUntransformedContents || !surface || surface->devType() != QInternal::Image)
+        painter->drawImage(QPoint(frameRect().x() + exposedRect.x(), frameRect().y() + exposedRect.y()), m_image, exposedRect);
+}
+#endif
+
 void PluginView::paint(GraphicsContext* context, const IntRect& rect)
 {
     if (!m_isStarted) {
@@ -166,19 +239,32 @@ void PluginView::paint(GraphicsContext* context, const IntRect& rect)
 
     setNPWindowIfNeeded();
 
-    if (m_isWindowed || !m_drawable)
+    if (m_isWindowed)
         return;
 
-    const bool syncX = m_pluginDisplay && m_pluginDisplay != QX11Info::display();
+    if (!m_drawable
+#if defined(MOZ_PLATFORM_MAEMO) && (MOZ_PLATFORM_MAEMO == 5)
+        && m_image.isNull()
+#endif
+       )
+        return;
 
     QPainter* painter = context->platformContext();
     IntRect exposedRect(rect);
     exposedRect.intersect(frameRect());
     exposedRect.move(-frameRect().x(), -frameRect().y());
 
+#if defined(MOZ_PLATFORM_MAEMO) && (MOZ_PLATFORM_MAEMO == 5)
+    if (!m_image.isNull()) {
+        paintUsingImageSurfaceExtension(painter, exposedRect);
+        return;
+    }
+#endif
+
     QPixmap qtDrawable = QPixmap::fromX11Pixmap(m_drawable, QPixmap::ExplicitlyShared);
     const int drawableDepth = ((NPSetWindowCallbackStruct*)m_npWindow.ws_info)->depth;
     ASSERT(drawableDepth == qtDrawable.depth());
+    const bool syncX = m_pluginDisplay && m_pluginDisplay != QX11Info::display();
 
     // When printing, Qt uses a QPicture to capture the output in preview mode. The
     // QPicture holds a reference to the X Pixmap. As a result, the print preview would
@@ -576,6 +662,13 @@ bool PluginView::platformGetValueStatic(NPNVariable variable, void* value, NPErr
         *result = NPERR_NO_ERROR;
         return true;
 
+#if defined(MOZ_PLATFORM_MAEMO) && (MOZ_PLATFORM_MAEMO == 5)
+    case NPNVSupportsWindowlessLocal:
+        *static_cast<NPBool*>(value) = true;
+        *result = NPERR_NO_ERROR;
+        return true;
+#endif
+
     default:
         return false;
     }
@@ -651,7 +744,7 @@ static Display *getPluginDisplay()
     // support gdk based plugins (like flash) that use a different X connection.
     // The code below has the same effect as this one:
     // Display *gdkDisplay = gdk_x11_display_get_xdisplay(gdk_display_get_default());
-    QLibrary library("libgdk-x11-2.0");
+    QLibrary library("libgdk-x11-2.0.so.0");
     if (!library.load())
         return 0;
 
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebkitglobal.h b/src/3rdparty/webkit/WebKit/qt/Api/qwebkitglobal.h
index 665bf1b..63d9e55 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebkitglobal.h
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebkitglobal.h
@@ -22,9 +22,9 @@
 
 #include <QtCore/qglobal.h>
 
-#define QTWEBKIT_VERSION_STR "2.0.0"
+#define QTWEBKIT_VERSION_STR "2.0.1"
 // QTWEBKIT_VERSION is (major << 16) + (minor << 8) + patch. Similar to Qt.
-#define QTWEBKIT_VERSION 0x020000
+#define QTWEBKIT_VERSION 0x020001
 // Use: #if (QTWEBKIT_VERSION >= QTWEBKIT_VERSION_CHECK(2, 0, 0)). Similar to Qt.
 #define QTWEBKIT_VERSION_CHECK(major, minor, patch) ((major<<16)|(minor<<8)|(patch))
 
diff --git a/src/3rdparty/webkit/WebKit/qt/ChangeLog b/src/3rdparty/webkit/WebKit/qt/ChangeLog
index 5083ba5..c6c3d72 100644
--- a/src/3rdparty/webkit/WebKit/qt/ChangeLog
+++ b/src/3rdparty/webkit/WebKit/qt/ChangeLog
@@ -1,3 +1,80 @@
+2010-09-12  Martin Smith  <martin.smith@nokia.com>
+
+        Reviewed by Simon Hausmann.
+
+        doc: Changed the title so lists of contents sort better.
+
+        * docs/qtwebkit.qdoc:
+
+2010-09-12  David Boddie  <david.boddie@nokia.com>
+
+        Reviewed by Simon Hausmann.
+
+        Doc: More work on the QML documentation.
+
+        * declarative/qdeclarativewebview.cpp:
+
+2010-09-12  Martin Jones  <martin.jones@nokia.com>
+
+        Reviewed by Simon Hausmann.
+
+        [Qml] Ensure WebView gets focus when an editable node is clicked on.
+
+        Task-number: QTBUG-13342
+
+        * declarative/qdeclarativewebview.cpp:
+        (GraphicsWebView::mousePressEvent):
+
+2010-09-12  David Boddie  <david.boddie@nokia.com>
+
+        Reviewed by Simon Hausmann.
+
+        Doc: qdoc fixes.
+
+        * declarative/qdeclarativewebview.cpp:
+
+2010-09-12  Oswald Buddenhagen  <oswald.buddenhagen@nokia.com>
+
+        Reviewed by Simon Hausmann.
+
+        [Qt] let WebKit inject itself into the qt configuration
+
+        Task-number: QTBUG-12379
+
+        * qt_webkit_version.pri: Use the faster + instead of *
+        operator to add webkit to the config.
+
+2010-09-12  Martin Smith  <martin.smith@nokia.com>
+
+        Reviewed by Simon Hausmann.
+
+        [Qt] Fix group of declarative web view in QML docs.
+
+        * declarative/qdeclarativewebview.cpp:
+
+2010-08-20  Girish Ramakrishnan  <girish@forwardbias.in>
+
+        Reviewed by Ariya Hidayat.
+
+        [Qt] Allow wmode=transparent in QWebView on Maemo5 after r65775.
+        
+        https://bugs.webkit.org/show_bug.cgi?id=44043
+
+        * WebCoreSupport/FrameLoaderClientQt.cpp:
+        (WebCore::FrameLoaderClientQt::createPlugin):
+
+2010-08-19  Girish Ramakrishnan  <girish@forwardbias.in>
+
+        Reviewed by Kenneth Christiansen.
+
+        [Qt] Inject wmode=opaque for both QWebView and QGraphicsWebView on Maemo5
+        as Flash XEmbed support is flaky.
+
+        https://bugs.webkit.org/show_bug.cgi?id=44043
+
+        * WebCoreSupport/FrameLoaderClientQt.cpp:
+        (WebCore::FrameLoaderClientQt::createPlugin):
+
 2010-08-05  David Leong  <david.leong@nokia.com>
 
         Reviewed by Simon Hausmann.
diff --git a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp
index 713fa39..dcbf614 100644
--- a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp
@@ -4,7 +4,7 @@
  * Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies)
  * Copyright (C) 2008 Collabora Ltd. All rights reserved.
  * Coypright (C) 2008 Holger Hans Peter Freyther
- * Coypright (C) 2009 Girish Ramakrishnan <girish@forwardbias.in>
+ * Coypright (C) 2009, 2010 Girish Ramakrishnan <girish@forwardbias.in>
  *
  * All rights reserved.
  *
@@ -1349,7 +1349,19 @@ PassRefPtr<Widget> FrameLoaderClientQt::createPlugin(const IntSize& pluginSize,
         Vector<String> values = paramValues;
         if (mimeType == "application/x-shockwave-flash") {
             QWebPageClient* client = m_webFrame->page()->d->client;
-            if (!client || !qobject_cast<QWidget*>(client->pluginParent())) {
+            const bool isQWebView = client && qobject_cast<QWidget*>(client->pluginParent());
+#if defined(MOZ_PLATFORM_MAEMO) && (MOZ_PLATFORM_MAEMO == 5)
+            size_t wmodeIndex = params.find("wmode");
+            if (wmodeIndex == -1) {
+                // Disable XEmbed mode and force it to opaque mode
+                params.append("wmode");
+                values.append("opaque");
+            } else if (!isQWebView) {
+                // Disable transparency if client is not a QWebView
+                values[wmodeIndex] = "opaque";
+            }
+#else
+            if (!isQWebView) {
                 // inject wmode=opaque when there is no client or the client is not a QWebView
                 size_t wmodeIndex = params.find("wmode");
                 if (wmodeIndex == -1) {
@@ -1358,6 +1370,7 @@ PassRefPtr<Widget> FrameLoaderClientQt::createPlugin(const IntSize& pluginSize,
                 } else
                     values[wmodeIndex] = "opaque";
             }
+#endif
         }
 
         RefPtr<PluginView> pluginView = PluginView::create(m_frame, pluginSize, element, url,
diff --git a/src/3rdparty/webkit/WebKit/qt/qt_webkit_version.pri b/src/3rdparty/webkit/WebKit/qt/qt_webkit_version.pri
index 4594d1e..f2282f8 100644
--- a/src/3rdparty/webkit/WebKit/qt/qt_webkit_version.pri
+++ b/src/3rdparty/webkit/WebKit/qt/qt_webkit_version.pri
@@ -1,5 +1,5 @@
-QT_WEBKIT_VERSION = 4.7.0
+QT_WEBKIT_VERSION = 4.7.1
 QT_WEBKIT_MAJOR_VERSION = 4
 QT_WEBKIT_MINOR_VERSION = 7
-QT_WEBKIT_PATCH_VERSION = 0
+QT_WEBKIT_PATCH_VERSION = 1
 QT_CONFIG += webkit
-- 
cgit v0.12


From b04672e479ae245063e641c77d43e311c0851dc0 Mon Sep 17 00:00:00 2001
From: Martin Jones <martin.jones@nokia.com>
Date: Mon, 13 Sep 2010 09:32:42 +1000
Subject: Fix slot naming clash

Reviewed-by: David Boddie
---
 src/imports/folderlistmodel/qdeclarativefolderlistmodel.cpp | 4 ++--
 src/imports/folderlistmodel/qdeclarativefolderlistmodel.h   | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/imports/folderlistmodel/qdeclarativefolderlistmodel.cpp b/src/imports/folderlistmodel/qdeclarativefolderlistmodel.cpp
index 4983840..abab33c 100644
--- a/src/imports/folderlistmodel/qdeclarativefolderlistmodel.cpp
+++ b/src/imports/folderlistmodel/qdeclarativefolderlistmodel.cpp
@@ -167,7 +167,7 @@ QDeclarativeFolderListModel::QDeclarativeFolderListModel(QObject *parent)
     connect(&d->model, SIGNAL(rowsRemoved(const QModelIndex&,int,int))
             , this, SLOT(removed(const QModelIndex&,int,int)));
     connect(&d->model, SIGNAL(dataChanged(const QModelIndex&,const QModelIndex&))
-            , this, SLOT(dataChanged(const QModelIndex&,const QModelIndex&)));
+            , this, SLOT(handleDataChanged(const QModelIndex&,const QModelIndex&)));
     connect(&d->model, SIGNAL(modelReset()), this, SLOT(refresh()));
     connect(&d->model, SIGNAL(layoutChanged()), this, SLOT(refresh()));
 }
@@ -363,7 +363,7 @@ void QDeclarativeFolderListModel::removed(const QModelIndex &index, int start, i
     }
 }
 
-void QDeclarativeFolderListModel::dataChanged(const QModelIndex &start, const QModelIndex &end)
+void QDeclarativeFolderListModel::handleDataChanged(const QModelIndex &start, const QModelIndex &end)
 {
     if (start.parent() == d->folderIndex)
         emit dataChanged(index(start.row(),0), index(end.row(),0));
diff --git a/src/imports/folderlistmodel/qdeclarativefolderlistmodel.h b/src/imports/folderlistmodel/qdeclarativefolderlistmodel.h
index 1bab5f84..24edecd 100644
--- a/src/imports/folderlistmodel/qdeclarativefolderlistmodel.h
+++ b/src/imports/folderlistmodel/qdeclarativefolderlistmodel.h
@@ -138,7 +138,7 @@ private Q_SLOTS:
     void refresh();
     void inserted(const QModelIndex &index, int start, int end);
     void removed(const QModelIndex &index, int start, int end);
-    void dataChanged(const QModelIndex &start, const QModelIndex &end);
+    void handleDataChanged(const QModelIndex &start, const QModelIndex &end);
 
 private:
     Q_DISABLE_COPY(QDeclarativeFolderListModel)
-- 
cgit v0.12


From a39285f6f5c3355d48810851a7215b951f1aaa4c Mon Sep 17 00:00:00 2001
From: Rhys Weatherley <rhys.weatherley@nokia.com>
Date: Mon, 13 Sep 2010 09:44:06 +1000
Subject: Fix compilation of QEgl with EGL 1.1 and older.

Reviewed-by: Sarah Smith
---
 src/gui/egl/qegl.cpp           | 2 +-
 src/gui/egl/qegl_p.h           | 4 ++++
 src/gui/egl/qeglproperties.cpp | 2 ++
 3 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/gui/egl/qegl.cpp b/src/gui/egl/qegl.cpp
index 605b1e6..af3b79a 100644
--- a/src/gui/egl/qegl.cpp
+++ b/src/gui/egl/qegl.cpp
@@ -259,7 +259,7 @@ EGLConfig QEgl::defaultConfig(int devType, API api, ConfigOptions options)
 
     // Add paint engine requirements
     if (api == OpenVG) {
-#ifndef QVG_SCISSOR_CLIP
+#if !defined(QVG_SCISSOR_CLIP) && defined(EGL_ALPHA_MASK_SIZE)
         configAttribs.setValue(EGL_ALPHA_MASK_SIZE, 1);
 #endif
     } else {
diff --git a/src/gui/egl/qegl_p.h b/src/gui/egl/qegl_p.h
index c214e88..aa08934 100644
--- a/src/gui/egl/qegl_p.h
+++ b/src/gui/egl/qegl_p.h
@@ -65,6 +65,10 @@ QT_BEGIN_INCLUDE_NAMESPACE
 #else
 #   include <EGL/egl.h>
 #endif
+#if !defined(EGL_VERSION_1_2)
+typedef unsigned int EGLenum;
+typedef void *EGLClientBuffer;
+#endif
 #else
 
 //types from egltypes.h for compiling stub without EGL headers
diff --git a/src/gui/egl/qeglproperties.cpp b/src/gui/egl/qeglproperties.cpp
index 3638de5..eeae06d 100644
--- a/src/gui/egl/qeglproperties.cpp
+++ b/src/gui/egl/qeglproperties.cpp
@@ -241,8 +241,10 @@ void QEglProperties::setRenderableType(QEgl::API api)
 // reductions in complexity are possible.
 bool QEglProperties::reduceConfiguration()
 {
+#ifdef EGL_SWAP_BEHAVIOR
     if (value(EGL_SWAP_BEHAVIOR) != EGL_DONT_CARE)
         removeValue(EGL_SWAP_BEHAVIOR);
+#endif
 
 #ifdef EGL_VG_ALPHA_FORMAT_PRE_BIT
     // For OpenVG, we sometimes try to create a surface using a pre-multiplied format. If we can't
-- 
cgit v0.12


From 90c8a68eef4a87209279f4c528c540efe6525384 Mon Sep 17 00:00:00 2001
From: Martin Jones <martin.jones@nokia.com>
Date: Mon, 13 Sep 2010 10:54:25 +1000
Subject: Ensure flickable velocity is updated when view is moved by
 setCurrentIndex

Task-number: QTBUG-13543
---
 src/declarative/graphicsitems/qdeclarativeflickable.cpp   | 6 +++---
 src/declarative/graphicsitems/qdeclarativeflickable_p_p.h | 1 +
 src/declarative/graphicsitems/qdeclarativegridview.cpp    | 2 ++
 src/declarative/graphicsitems/qdeclarativelistview.cpp    | 2 ++
 4 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/src/declarative/graphicsitems/qdeclarativeflickable.cpp b/src/declarative/graphicsitems/qdeclarativeflickable.cpp
index 062bbfb..c0b664f 100644
--- a/src/declarative/graphicsitems/qdeclarativeflickable.cpp
+++ b/src/declarative/graphicsitems/qdeclarativeflickable.cpp
@@ -128,8 +128,8 @@ QDeclarativeFlickablePrivate::QDeclarativeFlickablePrivate()
     , flickingHorizontally(false), flickingVertically(false)
     , hMoved(false), vMoved(false)
     , movingHorizontally(false), movingVertically(false)
-    , stealMouse(false), pressed(false)
-    , interactive(true), deceleration(500), maxVelocity(2000), reportedVelocitySmoothing(100)
+    , stealMouse(false), pressed(false), interactive(true), calcVelocity(false)
+    , deceleration(500), maxVelocity(2000), reportedVelocitySmoothing(100)
     , delayedPressEvent(0), delayedPressTarget(0), pressDelay(0), fixupDuration(600)
     , vTime(0), visibleArea(0)
     , flickableDirection(QDeclarativeFlickable::AutoFlickDirection)
@@ -981,7 +981,7 @@ void QDeclarativeFlickable::viewportMoved()
     qreal prevY = d->lastFlickablePosition.x();
     qreal prevX = d->lastFlickablePosition.y();
     d->velocityTimeline.clear();
-    if (d->pressed) {
+    if (d->pressed || d->calcVelocity) {
         int elapsed = QDeclarativeItemPrivate::restart(d->velocityTime);
         if (elapsed > 0) {
             qreal horizontalVelocity = (prevX - d->hData.move.value()) * 1000 / elapsed;
diff --git a/src/declarative/graphicsitems/qdeclarativeflickable_p_p.h b/src/declarative/graphicsitems/qdeclarativeflickable_p_p.h
index c398faa..2da034c 100644
--- a/src/declarative/graphicsitems/qdeclarativeflickable_p_p.h
+++ b/src/declarative/graphicsitems/qdeclarativeflickable_p_p.h
@@ -141,6 +141,7 @@ public:
     bool stealMouse : 1;
     bool pressed : 1;
     bool interactive : 1;
+    bool calcVelocity : 1;
     QElapsedTimer lastPosTime;
     QPointF lastPos;
     QPointF pressPos;
diff --git a/src/declarative/graphicsitems/qdeclarativegridview.cpp b/src/declarative/graphicsitems/qdeclarativegridview.cpp
index a0faf14..6a99733 100644
--- a/src/declarative/graphicsitems/qdeclarativegridview.cpp
+++ b/src/declarative/graphicsitems/qdeclarativegridview.cpp
@@ -2241,7 +2241,9 @@ void QDeclarativeGridView::trackedPositionChanged()
         }
         if (viewPos != pos) {
             cancelFlick();
+            d->calcVelocity = true;
             d->setPosition(pos);
+            d->calcVelocity = false;
         }
     }
 }
diff --git a/src/declarative/graphicsitems/qdeclarativelistview.cpp b/src/declarative/graphicsitems/qdeclarativelistview.cpp
index 177c5b3..ae504aa 100644
--- a/src/declarative/graphicsitems/qdeclarativelistview.cpp
+++ b/src/declarative/graphicsitems/qdeclarativelistview.cpp
@@ -2732,7 +2732,9 @@ void QDeclarativeListView::trackedPositionChanged()
         }
         if (viewPos != pos) {
             cancelFlick();
+            d->calcVelocity = true;
             d->setPosition(pos);
+            d->calcVelocity = false;
         }
     }
 }
-- 
cgit v0.12


From 491f5f9cc6da171155c613295018b9d54bb683c9 Mon Sep 17 00:00:00 2001
From: Martin Jones <martin.jones@nokia.com>
Date: Mon, 13 Sep 2010 11:02:24 +1000
Subject: Add test for view velocity update on setCurrentIndex()

Task-number: QTBUG-13543
---
 .../auto/declarative/qdeclarativegridview/tst_qdeclarativegridview.cpp  | 2 ++
 .../auto/declarative/qdeclarativelistview/tst_qdeclarativelistview.cpp  | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/tests/auto/declarative/qdeclarativegridview/tst_qdeclarativegridview.cpp b/tests/auto/declarative/qdeclarativegridview/tst_qdeclarativegridview.cpp
index d4d8bf6..5fd373c 100644
--- a/tests/auto/declarative/qdeclarativegridview/tst_qdeclarativegridview.cpp
+++ b/tests/auto/declarative/qdeclarativegridview/tst_qdeclarativegridview.cpp
@@ -604,6 +604,8 @@ void tst_QDeclarativeGridView::currentIndex()
     // no wrap
     gridview->setCurrentIndex(0);
     QCOMPARE(gridview->currentIndex(), 0);
+    // confirm that the velocity is updated
+    QTRY_VERIFY(gridview->verticalVelocity() != 0.0);
 
     gridview->moveCurrentIndexUp();
     QCOMPARE(gridview->currentIndex(), 0);
diff --git a/tests/auto/declarative/qdeclarativelistview/tst_qdeclarativelistview.cpp b/tests/auto/declarative/qdeclarativelistview/tst_qdeclarativelistview.cpp
index e4b59a7..cd17fad 100644
--- a/tests/auto/declarative/qdeclarativelistview/tst_qdeclarativelistview.cpp
+++ b/tests/auto/declarative/qdeclarativelistview/tst_qdeclarativelistview.cpp
@@ -1016,6 +1016,8 @@ void tst_QDeclarativeListView::currentIndex()
     // no wrap
     listview->setCurrentIndex(0);
     QCOMPARE(listview->currentIndex(), 0);
+    // confirm that the velocity is updated
+    QTRY_VERIFY(listview->verticalVelocity() != 0.0);
 
     listview->incrementCurrentIndex();
     QCOMPARE(listview->currentIndex(), 1);
-- 
cgit v0.12


From b7d98cb89889032d7fc7b7e16b5183305dfb714b Mon Sep 17 00:00:00 2001
From: Aaron McCarthy <aaron.mccarthy@nokia.com>
Date: Mon, 13 Sep 2010 12:08:22 +1000
Subject: Fix memory leaks and valgrind errors.

---
 src/network/bearer/qbearerengine.cpp                        |  3 +++
 src/plugins/bearer/networkmanager/qnetworkmanagerengine.cpp | 11 +++++++++--
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/src/network/bearer/qbearerengine.cpp b/src/network/bearer/qbearerengine.cpp
index 2f8624a..b074924 100644
--- a/src/network/bearer/qbearerengine.cpp
+++ b/src/network/bearer/qbearerengine.cpp
@@ -58,18 +58,21 @@ QBearerEngine::~QBearerEngine()
         it.value()->isValid = false;
         it.value()->id.clear();
     }
+    snapConfigurations.clear();
 
     for (it = accessPointConfigurations.begin(), end = accessPointConfigurations.end();
          it != end; ++it) {
         it.value()->isValid = false;
         it.value()->id.clear();
     }
+    accessPointConfigurations.clear();
 
     for (it = userChoiceConfigurations.begin(), end = userChoiceConfigurations.end();
          it != end; ++it) {
         it.value()->isValid = false;
         it.value()->id.clear();
     }
+    userChoiceConfigurations.clear();
 }
 
 bool QBearerEngine::requiresPolling() const
diff --git a/src/plugins/bearer/networkmanager/qnetworkmanagerengine.cpp b/src/plugins/bearer/networkmanager/qnetworkmanagerengine.cpp
index 29445ce..554f9b7 100644
--- a/src/plugins/bearer/networkmanager/qnetworkmanagerengine.cpp
+++ b/src/plugins/bearer/networkmanager/qnetworkmanagerengine.cpp
@@ -97,6 +97,10 @@ QNetworkManagerEngine::QNetworkManagerEngine(QObject *parent)
 
 QNetworkManagerEngine::~QNetworkManagerEngine()
 {
+    qDeleteAll(connections);
+    qDeleteAll(accessPoints);
+    qDeleteAll(wirelessDevices);
+    qDeleteAll(activeConnections);
 }
 
 void QNetworkManagerEngine::initialize()
@@ -389,7 +393,7 @@ void QNetworkManagerEngine::deviceRemoved(const QDBusObjectPath &path)
 {
     QMutexLocker locker(&mutex);
 
-    delete wirelessDevices.value(path.path());
+    delete wirelessDevices.take(path.path());
 }
 
 void QNetworkManagerEngine::newConnection(const QDBusObjectPath &path,
@@ -455,6 +459,8 @@ void QNetworkManagerEngine::removeConnection(const QString &path)
 
     QNetworkConfigurationPrivatePointer ptr = accessPointConfigurations.take(id);
 
+    connection->deleteLater();
+
     locker.unlock();
     emit configurationRemoved(ptr);
 }
@@ -631,7 +637,8 @@ void QNetworkManagerEngine::removeAccessPoint(const QString &path,
 
                         locker.unlock();
                         emit configurationChanged(ptr);
-                        return;
+                        locker.relock();
+                        break;
                     }
                 }
             } else {
-- 
cgit v0.12


From d1b522c76eb1132254f195c2f59bd5d55cd2f525 Mon Sep 17 00:00:00 2001
From: Aaron McCarthy <aaron.mccarthy@nokia.com>
Date: Mon, 13 Sep 2010 13:26:22 +1000
Subject: Remove debug, quiet warnings.

---
 examples/network/bearermonitor/sessionwidget.cpp             | 2 +-
 src/plugins/bearer/networkmanager/qnetworkmanagerservice.cpp | 2 --
 2 files changed, 1 insertion(+), 3 deletions(-)

diff --git a/examples/network/bearermonitor/sessionwidget.cpp b/examples/network/bearermonitor/sessionwidget.cpp
index ecc2a93..5ec9d53 100644
--- a/examples/network/bearermonitor/sessionwidget.cpp
+++ b/examples/network/bearermonitor/sessionwidget.cpp
@@ -107,7 +107,7 @@ void SessionWidget::updateSession()
 
     if (session->state() == QNetworkSession::Connected)
         statsTimer = startTimer(1000);
-    else
+    else if (statsTimer != -1)
         killTimer(statsTimer);
 
     if (session->configuration().type() == QNetworkConfiguration::InternetAccessPoint)
diff --git a/src/plugins/bearer/networkmanager/qnetworkmanagerservice.cpp b/src/plugins/bearer/networkmanager/qnetworkmanagerservice.cpp
index f47c97c..499fe5a 100644
--- a/src/plugins/bearer/networkmanager/qnetworkmanagerservice.cpp
+++ b/src/plugins/bearer/networkmanager/qnetworkmanagerservice.cpp
@@ -743,8 +743,6 @@ bool QNetworkManagerSettingsConnection::isAutoConnect()
 
 quint64 QNetworkManagerSettingsConnection::getTimestamp()
 {
-    qDebug() << d->settingsMap.value(QLatin1String("connection"));
-
     return d->settingsMap.value(QLatin1String("connection"))
                          .value(QLatin1String("timestamp")).toUInt();
 }
-- 
cgit v0.12


From b8c1712988f00d7bb2e9ca02b598a77fb2a6ff01 Mon Sep 17 00:00:00 2001
From: Aaron McCarthy <aaron.mccarthy@nokia.com>
Date: Mon, 13 Sep 2010 14:26:00 +1000
Subject: Don't add generic subdirs project twice.

Task-number: QTBUG-13519
---
 src/plugins/bearer/bearer.pro | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/plugins/bearer/bearer.pro b/src/plugins/bearer/bearer.pro
index bbe8ab1..d1d75f0 100644
--- a/src/plugins/bearer/bearer.pro
+++ b/src/plugins/bearer/bearer.pro
@@ -3,9 +3,9 @@ TEMPLATE = subdirs
 contains(QT_CONFIG, dbus) {
     contains(QT_CONFIG, icd) {
         SUBDIRS += icd
-    } else {
+    } else:linux* {
         SUBDIRS += generic
-        linux*:SUBDIRS += connman networkmanager
+        SUBDIRS += connman networkmanager
     }
 }
 
@@ -16,4 +16,4 @@ macx:contains(QT_CONFIG, corewlan):SUBDIRS += corewlan
 macx:SUBDIRS += generic
 symbian:SUBDIRS += symbian
 
-isEmpty(SUBDIRS):SUBDIRS += generic
+isEmpty(SUBDIRS):SUBDIRS = generic
-- 
cgit v0.12


From ca36badc8925788e06910fab5200633d40e0f328 Mon Sep 17 00:00:00 2001
From: Martin Jones <martin.jones@nokia.com>
Date: Mon, 13 Sep 2010 15:16:57 +1000
Subject: When onDoubleClicked: is handled don't emit a second
 onPressed/onClicked

Task-number: QTBUG-12250
Reviewed-by: Michael Brasser
---
 .../graphicsitems/qdeclarativemousearea.cpp        | 17 +++++++-----
 .../graphicsitems/qdeclarativemousearea_p_p.h      |  6 ++++
 .../qdeclarativemousearea/data/doubleclick.qml     | 14 ++++++++++
 .../tst_qdeclarativemousearea.cpp                  | 32 ++++++++++++++++++++++
 4 files changed, 62 insertions(+), 7 deletions(-)
 create mode 100644 tests/auto/declarative/qdeclarativemousearea/data/doubleclick.qml

diff --git a/src/declarative/graphicsitems/qdeclarativemousearea.cpp b/src/declarative/graphicsitems/qdeclarativemousearea.cpp
index 5516611..4685e65 100644
--- a/src/declarative/graphicsitems/qdeclarativemousearea.cpp
+++ b/src/declarative/graphicsitems/qdeclarativemousearea.cpp
@@ -303,7 +303,9 @@ QDeclarativeMouseAreaPrivate::~QDeclarativeMouseAreaPrivate()
     The \l {MouseEvent}{mouse} parameter provides information about the click, including the x and y
     position of the release of the click, and whether the click was held.
 
-    The \e accepted property of the MouseEvent parameter is ignored in this handler.
+    If the \e accepted property of the \l {MouseEvent}{mouse} parameter is set to false
+    in the handler, the onPressed/onReleased/onClicked handlers will be called for the second
+    click; otherwise they are supressed.  The accepted property defaults to true.
 */
 
 /*!
@@ -525,12 +527,13 @@ void QDeclarativeMouseArea::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *even
     if (!d->absorb) {
         QDeclarativeItem::mouseDoubleClickEvent(event);
     } else {
-        QDeclarativeItem::mouseDoubleClickEvent(event);
-        if (event->isAccepted()) {
-            // Only deliver the event if we have accepted the press.
-            d->saveEvent(event);
-            QDeclarativeMouseEvent me(d->lastPos.x(), d->lastPos.y(), d->lastButton, d->lastButtons, d->lastModifiers, true, false);
-            emit this->doubleClicked(&me);
+        d->saveEvent(event);
+        QDeclarativeMouseEvent me(d->lastPos.x(), d->lastPos.y(), d->lastButton, d->lastButtons, d->lastModifiers, true, false);
+        me.setAccepted(d->isDoubleClickConnected());
+        emit this->doubleClicked(&me);
+        if (!me.isAccepted()) {
+            // Only deliver the press event if we haven't accepted the double click.
+            QDeclarativeItem::mouseDoubleClickEvent(event);
         }
     }
 }
diff --git a/src/declarative/graphicsitems/qdeclarativemousearea_p_p.h b/src/declarative/graphicsitems/qdeclarativemousearea_p_p.h
index cf9dc18..48a56d9 100644
--- a/src/declarative/graphicsitems/qdeclarativemousearea_p_p.h
+++ b/src/declarative/graphicsitems/qdeclarativemousearea_p_p.h
@@ -95,6 +95,12 @@ public:
         return QObjectPrivate::get(q)->isSignalConnected(idx);
     }
 
+    bool isDoubleClickConnected() {
+        Q_Q(QDeclarativeMouseArea);
+        static int idx = QObjectPrivate::get(q)->signalIndex("doubleClicked(QDeclarativeMouseEvent*)");
+        return QObjectPrivate::get(q)->isSignalConnected(idx);
+    }
+
     bool absorb : 1;
     bool hovered : 1;
     bool pressed : 1;
diff --git a/tests/auto/declarative/qdeclarativemousearea/data/doubleclick.qml b/tests/auto/declarative/qdeclarativemousearea/data/doubleclick.qml
new file mode 100644
index 0000000..9cddf1b
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativemousearea/data/doubleclick.qml
@@ -0,0 +1,14 @@
+import Qt 4.7
+
+Item {
+    id: root
+    property int clicked: 0
+    property int doubleClicked: 0
+
+    MouseArea {
+        width: 200; height: 200
+        onClicked: { root.clicked++ }
+        onDoubleClicked: { root.doubleClicked++ }
+    }
+}
+
diff --git a/tests/auto/declarative/qdeclarativemousearea/tst_qdeclarativemousearea.cpp b/tests/auto/declarative/qdeclarativemousearea/tst_qdeclarativemousearea.cpp
index c9bb467..e4ec01f 100644
--- a/tests/auto/declarative/qdeclarativemousearea/tst_qdeclarativemousearea.cpp
+++ b/tests/auto/declarative/qdeclarativemousearea/tst_qdeclarativemousearea.cpp
@@ -62,6 +62,7 @@ private slots:
     void updateMouseAreaPosOnResize();
     void noOnClickedWithPressAndHold();
     void onMousePressRejected();
+    void doubleClick();
 
 private:
     QDeclarativeView *createView();
@@ -390,6 +391,37 @@ void tst_QDeclarativeMouseArea::onMousePressRejected()
     QVERIFY(!canvas->rootObject()->property("mr2_released").toBool());
 }
 
+void tst_QDeclarativeMouseArea::doubleClick()
+{
+    QDeclarativeView *canvas = createView();
+    canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/doubleclick.qml"));
+    canvas->show();
+    canvas->setFocus();
+    QVERIFY(canvas->rootObject() != 0);
+
+    QGraphicsScene *scene = canvas->scene();
+    QGraphicsSceneMouseEvent pressEvent(QEvent::GraphicsSceneMousePress);
+    pressEvent.setScenePos(QPointF(100, 100));
+    pressEvent.setButton(Qt::LeftButton);
+    pressEvent.setButtons(Qt::LeftButton);
+    QApplication::sendEvent(scene, &pressEvent);
+
+    QGraphicsSceneMouseEvent releaseEvent(QEvent::GraphicsSceneMouseRelease);
+    releaseEvent.setScenePos(QPointF(100, 100));
+    releaseEvent.setButton(Qt::LeftButton);
+    releaseEvent.setButtons(Qt::LeftButton);
+    QApplication::sendEvent(scene, &releaseEvent);
+
+    QGraphicsSceneMouseEvent dblClickEvent(QEvent::GraphicsSceneMouseDoubleClick);
+    dblClickEvent.setScenePos(QPointF(100, 100));
+    dblClickEvent.setButton(Qt::LeftButton);
+    dblClickEvent.setButtons(Qt::LeftButton);
+    QApplication::sendEvent(scene, &dblClickEvent);
+
+    QCOMPARE(canvas->rootObject()->property("clicked").toInt(), 1);
+    QCOMPARE(canvas->rootObject()->property("doubleClicked").toInt(), 1);
+}
+
 QTEST_MAIN(tst_QDeclarativeMouseArea)
 
 #include "tst_qdeclarativemousearea.moc"
-- 
cgit v0.12


From 7275dc27b1bbdb897a94caaf31da2c78c5abfa8c Mon Sep 17 00:00:00 2001
From: Jason Barron <jason.barron@nokia.com>
Date: Mon, 13 Sep 2010 11:40:24 +0200
Subject: Remove compiler warning in qapplication.cpp.

Fix a warning since we were deleting the graphics_system instance,
but the type was only forward declared.

Reviewed-by: Samuel
---
 src/gui/kernel/qapplication.cpp | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/gui/kernel/qapplication.cpp b/src/gui/kernel/qapplication.cpp
index d6fb630..caeeeb9 100644
--- a/src/gui/kernel/qapplication.cpp
+++ b/src/gui/kernel/qapplication.cpp
@@ -65,6 +65,7 @@
 #include "qcolormap.h"
 #include "qdebug.h"
 #include "private/qgraphicssystemfactory_p.h"
+#include "private/qgraphicssystem_p.h"
 #include "private/qstylesheetstyle_p.h"
 #include "private/qstyle_p.h"
 #include "qmessagebox.h"
-- 
cgit v0.12


From c69469ff12eeed23584b5c3b15978a7e75d01df1 Mon Sep 17 00:00:00 2001
From: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
Date: Mon, 13 Sep 2010 14:05:54 +0200
Subject: Linux: Fix mispositioned, misclipped glyphs in large fonts
 (QStaticText)

While drawText() will use the path fallback for large fonts, and never
hit this problem, QStaticText will draw the large fonts into the glyph
cache. This broke when the freetype (or any other font engine) falls
back to the generic implementation of alphaMapForGlyph() which uses
path drawing. The problem was that alphaMapForGlyph() is not supposed
to contain the bearing of the glyph, only the actual pixels. Since
QFontEngine did not honor this contract, we would sample the wrong
area in the glyph cache to get the glyph image.

Task-number: QTBUG-12540
Reviewed-by: Gunnar
---
 src/gui/text/qfontengine.cpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/gui/text/qfontengine.cpp b/src/gui/text/qfontengine.cpp
index 1e8461f..a3f4d8a 100644
--- a/src/gui/text/qfontengine.cpp
+++ b/src/gui/text/qfontengine.cpp
@@ -631,10 +631,10 @@ QImage QFontEngine::alphaMapForGlyph(glyph_t glyph)
     if (glyph_width <= 0 || glyph_height <= 0)
         return QImage();
     QFixedPoint pt;
-    pt.x = 0;
+    pt.x = -glyph_x;
     pt.y = -glyph_y; // the baseline
     QPainterPath path;
-    QImage im(glyph_width + qAbs(glyph_x) + 4, glyph_height, QImage::Format_ARGB32_Premultiplied);
+    QImage im(glyph_width + 4, glyph_height, QImage::Format_ARGB32_Premultiplied);
     im.fill(Qt::transparent);
     QPainter p(&im);
     p.setRenderHint(QPainter::Antialiasing);
-- 
cgit v0.12


From 2acdc634ee895af4a9738c0f6c2496e388afba38 Mon Sep 17 00:00:00 2001
From: Jani Hautakangas <ext-jani.hautakangas@nokia.com>
Date: Mon, 13 Sep 2010 13:13:01 +0300
Subject: When using complex transformations rendering goes easily off by one
 pixel.

This happens because of differences in OpenVG and Qt pixel center point
handling. Currently there is no easy generic way to adjust Qt pixels to
match OpenVG. This patch adjusts pixels for simple affine transformations
by rounding them.

Task-number: QT-3791
Reviewed-by: Jason Barron
---
 src/openvg/qpaintengine_vg.cpp | 158 ++++++++++++++++++++++++-----------------
 1 file changed, 92 insertions(+), 66 deletions(-)

diff --git a/src/openvg/qpaintengine_vg.cpp b/src/openvg/qpaintengine_vg.cpp
index 75e5a60..1b0c5e8 100644
--- a/src/openvg/qpaintengine_vg.cpp
+++ b/src/openvg/qpaintengine_vg.cpp
@@ -196,7 +196,9 @@ public:
 #endif
 
     QTransform transform;   // Currently active transform.
-    bool simpleTransform;   // True if the transform is simple (non-projective).
+    bool affineTransform;   // True if the transform is non-projective.
+    bool simpleTransform;   // True if the transform is simple translate
+                            // or 0, 90, 180, and 270 degree rotation
     qreal penScale;         // Pen scaling factor from "transform".
 
     QTransform pathTransform;  // Calculated VG path transformation.
@@ -372,6 +374,7 @@ void QVGPaintEnginePrivate::init()
     roundRectPath = 0;
 #endif
 
+    affineTransform = true;
     simpleTransform = true;
     pathTransformSet = false;
     penScale = 1.0;
@@ -524,12 +527,59 @@ void QVGPaintEnginePrivate::setTransform
     vgLoadMatrix(mat);
 }
 
+// Determine if a co-ordinate transform is simple enough to allow
+// rectangle-based clipping with vgMask() and rounding translation
+// to integers. Simple transforms most often result from origin translations.
+static inline bool transformIsSimple(const QTransform& transform)
+{
+    QTransform::TransformationType type = transform.type();
+    if (type == QTransform::TxNone || type == QTransform::TxTranslate) {
+        return true;
+    } else if (type == QTransform::TxScale) {
+        // Check for 0 and 180 degree rotations.
+        // (0 might happen after 4 rotations of 90 degrees).
+        qreal m11 = transform.m11();
+        qreal m12 = transform.m12();
+        qreal m21 = transform.m21();
+        qreal m22 = transform.m22();
+        if (m12 == 0.0f && m21 == 0.0f) {
+            if (m11 == 1.0f && m22 == 1.0f)
+                return true; // 0 degrees
+            else if (m11 == -1.0f && m22 == -1.0f)
+                return true; // 180 degrees.
+            if(m11 == 1.0f && m22 == -1.0f)
+                return true; // 0 degrees inverted y.
+            else if(m11 == -1.0f && m22 == 1.0f)
+                return true; // 180 degrees inverted y.
+        }
+    } else if (type == QTransform::TxRotate) {
+        // Check for 90, and 270 degree rotations.
+        qreal m11 = transform.m11();
+        qreal m12 = transform.m12();
+        qreal m21 = transform.m21();
+        qreal m22 = transform.m22();
+        if (m11 == 0.0f && m22 == 0.0f) {
+            if (m12 == 1.0f && m21 == -1.0f)
+                return true; // 90 degrees.
+            else if (m12 == -1.0f && m21 == 1.0f)
+                return true; // 270 degrees.
+            else if (m12 == -1.0f && m21 == -1.0f)
+                return true; // 90 degrees inverted y.
+            else if (m12 == 1.0f && m21 == 1.0f)
+                return true; // 270 degrees inverted y.
+        }
+    }
+    return false;
+}
+
 Q_DECL_IMPORT extern bool qt_scaleForTransform(const QTransform &transform, qreal *scale);
 
 void QVGPaintEnginePrivate::updateTransform(QPaintDevice *pdev)
 {
     VGfloat devh = pdev->height();
 
+    simpleTransform = transformIsSimple(transform);
+
     // Construct the VG transform by combining the Qt transform with
     // the following viewport transformation:
     //        | 1  0  0   |
@@ -552,9 +602,9 @@ void QVGPaintEnginePrivate::updateTransform(QPaintDevice *pdev)
         // so we will have to convert the co-ordinates ourselves.
         // Change the matrix to just the viewport transformation.
         pathTransform = viewport;
-        simpleTransform = false;
+        affineTransform = false;
     } else {
-        simpleTransform = true;
+        affineTransform = true;
     }
     pathTransformSet = false;
 
@@ -583,7 +633,7 @@ VGPath QVGPaintEnginePrivate::vectorPathToVGPath(const QVectorPath& path)
     // Size is sufficient segments for drawRoundedRect() paths.
     QVarLengthArray<VGubyte, 20> segments;
 
-    if (sizeof(qreal) == sizeof(VGfloat) && elements && simpleTransform) {
+    if (sizeof(qreal) == sizeof(VGfloat) && elements && affineTransform) {
         // If Qt was compiled with qreal the same size as VGfloat,
         // then convert the segment types and use the incoming
         // points array directly.
@@ -618,7 +668,7 @@ VGPath QVGPaintEnginePrivate::vectorPathToVGPath(const QVectorPath& path)
     int curvePos = 0;
     QPointF temp;
 
-    if (elements && simpleTransform) {
+    if (elements && affineTransform) {
         // Convert the members of the element array.
         for (int i = 0; i < count; ++i) {
             switch (elements[i]) {
@@ -662,7 +712,7 @@ VGPath QVGPaintEnginePrivate::vectorPathToVGPath(const QVectorPath& path)
             }
             points += 2;
         }
-    } else if (elements && !simpleTransform) {
+    } else if (elements && !affineTransform) {
         // Convert the members of the element array after applying the
         // current transform to the path locally.
         for (int i = 0; i < count; ++i) {
@@ -711,7 +761,7 @@ VGPath QVGPaintEnginePrivate::vectorPathToVGPath(const QVectorPath& path)
             }
             points += 2;
         }
-    } else if (count > 0 && simpleTransform) {
+    } else if (count > 0 && affineTransform) {
         // If there is no element array, then the path is assumed
         // to be a MoveTo followed by several LineTo's.
         coords.append(points[0]);
@@ -724,7 +774,7 @@ VGPath QVGPaintEnginePrivate::vectorPathToVGPath(const QVectorPath& path)
             segments.append(VG_LINE_TO_ABS);
             --count;
         }
-    } else if (count > 0 && !simpleTransform) {
+    } else if (count > 0 && !affineTransform) {
         // Convert a simple path, and apply the transform locally.
         temp = transform.map(QPointF(points[0], points[1]));
         coords.append(temp.x());
@@ -785,7 +835,7 @@ VGPath QVGPaintEnginePrivate::painterPathToVGPath(const QPainterPath& path)
     bool haveStart = false;
     bool haveEnd = false;
 
-    if (simpleTransform) {
+    if (affineTransform) {
         // Convert the members of the element array.
         for (int i = 0; i < count; ++i) {
             switch (elements[i].type) {
@@ -1560,36 +1610,6 @@ void QVGPaintEngine::stroke(const QVectorPath &path, const QPen &pen)
     vgDestroyPath(vgpath);
 }
 
-// Determine if a co-ordinate transform is simple enough to allow
-// rectangle-based clipping with vgMask().  Simple transforms most
-// often result from origin translations.
-static inline bool clipTransformIsSimple(const QTransform& transform)
-{
-    QTransform::TransformationType type = transform.type();
-    if (type == QTransform::TxNone || type == QTransform::TxTranslate)
-        return true;
-    if (type == QTransform::TxRotate) {
-        // Check for 0, 90, 180, and 270 degree rotations.
-        // (0 might happen after 4 rotations of 90 degrees).
-        qreal m11 = transform.m11();
-        qreal m12 = transform.m12();
-        qreal m21 = transform.m21();
-        qreal m22 = transform.m22();
-        if (m11 == 0.0f && m22 == 0.0f) {
-            if (m12 == 1.0f && m21 == -1.0f)
-                return true;    // 90 degrees.
-            else if (m12 == -1.0f && m21 == 1.0f)
-                return true;    // 270 degrees.
-        } else if (m12 == 0.0f && m21 == 0.0f) {
-            if (m11 == -1.0f && m22 == -1.0f)
-                return true;    // 180 degrees.
-            else if (m11 == 1.0f && m22 == 1.0f)
-                return true;    // 0 degrees.
-        }
-    }
-    return false;
-}
-
 #if defined(QVG_SCISSOR_CLIP)
 
 void QVGPaintEngine::clip(const QVectorPath &path, Qt::ClipOperation op)
@@ -1607,7 +1627,7 @@ void QVGPaintEngine::clip(const QVectorPath &path, Qt::ClipOperation op)
 
     // We aren't using masking, so handle simple QRectF's only.
     if (path.shape() == QVectorPath::RectangleHint &&
-            path.elementCount() == 4 && clipTransformIsSimple(d->transform)) {
+            path.elementCount() == 4 && d->simpleTransform) {
         // Clipping region that resulted from QPainter::setClipRect(QRectF).
         // Convert it into a QRect and apply.
         const qreal *points = path.points();
@@ -1757,7 +1777,7 @@ void QVGPaintEngine::clip(const QVectorPath &path, Qt::ClipOperation op)
 
     // We don't have vgRenderToMask(), so handle simple QRectF's only.
     if (path.shape() == QVectorPath::RectangleHint &&
-            path.elementCount() == 4 && clipTransformIsSimple(d->transform)) {
+            path.elementCount() == 4 && d->simpleTransform) {
         // Clipping region that resulted from QPainter::setClipRect(QRectF).
         // Convert it into a QRect and apply.
         const qreal *points = path.points();
@@ -1809,7 +1829,7 @@ void QVGPaintEngine::clip(const QRect &rect, Qt::ClipOperation op)
     d->dirty |= QPaintEngine::DirtyClipRegion;
 
     // If we have a non-simple transform, then use path-based clipping.
-    if (op != Qt::NoClip && !clipTransformIsSimple(d->transform)) {
+    if (op != Qt::NoClip && !d->simpleTransform) {
         QPaintEngineEx::clip(rect, op);
         return;
     }
@@ -1928,7 +1948,7 @@ void QVGPaintEngine::clip(const QRegion &region, Qt::ClipOperation op)
     d->dirty |= QPaintEngine::DirtyClipRegion;
 
     // If we have a non-simple transform, then use path-based clipping.
-    if (op != Qt::NoClip && !clipTransformIsSimple(d->transform)) {
+    if (op != Qt::NoClip && !d->simpleTransform) {
         QPaintEngineEx::clip(region, op);
         return;
     }
@@ -2505,14 +2525,14 @@ void QVGPaintEngine::fillRect(const QRectF &rect, const QBrush &brush)
 
     // Check to see if we can use vgClear() for faster filling.
     if (brush.style() == Qt::SolidPattern && brush.isOpaque() &&
-            clipTransformIsSimple(d->transform) && d->opacity == 1.0f &&
+            d->simpleTransform && d->opacity == 1.0f &&
             clearRect(rect, brush.color())) {
         return;
     }
 
 #if !defined(QVG_NO_MODIFY_PATH)
     VGfloat coords[8];
-    if (d->simpleTransform) {
+    if (d->affineTransform) {
         coords[0] = rect.x();
         coords[1] = rect.y();
         coords[2] = rect.x() + rect.width();
@@ -2547,14 +2567,14 @@ void QVGPaintEngine::fillRect(const QRectF &rect, const QColor &color)
     Q_D(QVGPaintEngine);
 
     // Check to see if we can use vgClear() for faster filling.
-    if (clipTransformIsSimple(d->transform) && d->opacity == 1.0f && color.alpha() == 255 &&
+    if (d->simpleTransform && d->opacity == 1.0f && color.alpha() == 255 &&
             clearRect(rect, color)) {
         return;
     }
 
 #if !defined(QVG_NO_MODIFY_PATH)
     VGfloat coords[8];
-    if (d->simpleTransform) {
+    if (d->affineTransform) {
         coords[0] = rect.x();
         coords[1] = rect.y();
         coords[2] = rect.x() + rect.width();
@@ -2587,7 +2607,7 @@ void QVGPaintEngine::fillRect(const QRectF &rect, const QColor &color)
 void QVGPaintEngine::drawRoundedRect(const QRectF &rect, qreal xrad, qreal yrad, Qt::SizeMode mode)
 {
     Q_D(QVGPaintEngine);
-    if (d->simpleTransform) {
+    if (d->affineTransform) {
         QVGPainterState *s = state();
         VGPath vgpath = d->roundedRectPath(rect, xrad, yrad, mode);
         d->draw(vgpath, s->pen, s->brush);
@@ -2606,7 +2626,7 @@ void QVGPaintEngine::drawRects(const QRect *rects, int rectCount)
     QVGPainterState *s = state();
     for (int i = 0; i < rectCount; ++i, ++rects) {
         VGfloat coords[8];
-        if (d->simpleTransform) {
+        if (d->affineTransform) {
             coords[0] = rects->x();
             coords[1] = rects->y();
             coords[2] = rects->x() + rects->width();
@@ -2647,7 +2667,7 @@ void QVGPaintEngine::drawRects(const QRectF *rects, int rectCount)
     QVGPainterState *s = state();
     for (int i = 0; i < rectCount; ++i, ++rects) {
         VGfloat coords[8];
-        if (d->simpleTransform) {
+        if (d->affineTransform) {
             coords[0] = rects->x();
             coords[1] = rects->y();
             coords[2] = rects->x() + rects->width();
@@ -2685,7 +2705,7 @@ void QVGPaintEngine::drawLines(const QLine *lines, int lineCount)
     QVGPainterState *s = state();
     for (int i = 0; i < lineCount; ++i, ++lines) {
         VGfloat coords[4];
-        if (d->simpleTransform) {
+        if (d->affineTransform) {
             coords[0] = lines->x1();
             coords[1] = lines->y1();
             coords[2] = lines->x2();
@@ -2713,7 +2733,7 @@ void QVGPaintEngine::drawLines(const QLineF *lines, int lineCount)
     QVGPainterState *s = state();
     for (int i = 0; i < lineCount; ++i, ++lines) {
         VGfloat coords[4];
-        if (d->simpleTransform) {
+        if (d->affineTransform) {
             coords[0] = lines->x1();
             coords[1] = lines->y1();
             coords[2] = lines->x2();
@@ -2739,7 +2759,7 @@ void QVGPaintEngine::drawEllipse(const QRectF &r)
     // Based on the description of vguEllipse() in the OpenVG specification.
     // We don't use vguEllipse(), to avoid unnecessary library dependencies.
     Q_D(QVGPaintEngine);
-    if (d->simpleTransform) {
+    if (d->affineTransform) {
         QVGPainterState *s = state();
         VGPath path = vgCreatePath(VG_PATH_FORMAT_STANDARD,
                                    VG_PATH_DATATYPE_F,
@@ -2812,7 +2832,7 @@ void QVGPaintEngine::drawPoints(const QPointF *points, int pointCount)
 
     for (int i = 0; i < pointCount; ++i, ++points) {
         VGfloat coords[4];
-        if (d->simpleTransform) {
+        if (d->affineTransform) {
             coords[0] = points->x();
             coords[1] = points->y();
             coords[2] = coords[0];
@@ -2846,7 +2866,7 @@ void QVGPaintEngine::drawPoints(const QPoint *points, int pointCount)
 
     for (int i = 0; i < pointCount; ++i, ++points) {
         VGfloat coords[4];
-        if (d->simpleTransform) {
+        if (d->affineTransform) {
             coords[0] = points->x();
             coords[1] = points->y();
             coords[2] = coords[0];
@@ -2880,7 +2900,7 @@ void QVGPaintEngine::drawPolygon(const QPointF *points, int pointCount, PolygonD
     QVarLengthArray<VGfloat, 16> coords;
     QVarLengthArray<VGubyte, 10> segments;
     for (int i = 0; i < pointCount; ++i, ++points) {
-        if (d->simpleTransform) {
+        if (d->affineTransform) {
             coords.append(points->x());
             coords.append(points->y());
         } else {
@@ -2927,7 +2947,7 @@ void QVGPaintEngine::drawPolygon(const QPoint *points, int pointCount, PolygonDr
     QVarLengthArray<VGfloat, 16> coords;
     QVarLengthArray<VGubyte, 10> segments;
     for (int i = 0; i < pointCount; ++i, ++points) {
-        if (d->simpleTransform) {
+        if (d->affineTransform) {
             coords.append(points->x());
             coords.append(points->y());
         } else {
@@ -2962,7 +2982,7 @@ void QVGPaintEngine::drawPolygon(const QPoint *points, int pointCount, PolygonDr
 
 void QVGPaintEnginePrivate::setImageOptions()
 {
-    if (opacity != 1.0f && simpleTransform) {
+    if (opacity != 1.0f && affineTransform) {
         if (opacity != paintOpacity) {
             VGfloat values[4];
             values[0] = 1.0f;
@@ -3009,7 +3029,10 @@ static void drawVGImage(QVGPaintEnginePrivate *d,
     QTransform transform(d->imageTransform);
     VGfloat scaleX = sr.width() == 0.0f ? 0.0f : r.width() / sr.width();
     VGfloat scaleY = sr.height() == 0.0f ? 0.0f : r.height() / sr.height();
-    transform.translate(r.x(), r.y());
+    if (d->simpleTransform)
+        transform.translate(qRound(r.x()), qRound(r.y()));
+    else
+        transform.translate(r.x(), r.y());
     transform.scale(scaleX, scaleY);
     d->setTransform(VG_MATRIX_IMAGE_USER_TO_SURFACE, transform);
 
@@ -3027,7 +3050,10 @@ static void drawVGImage(QVGPaintEnginePrivate *d,
         return;
 
     QTransform transform(d->imageTransform);
-    transform.translate(pos.x(), pos.y());
+    if(d->simpleTransform)
+        transform.translate(qRound(pos.x()), qRound(pos.y()));
+    else
+        transform.translate(pos.x(), pos.y());
     d->setTransform(VG_MATRIX_IMAGE_USER_TO_SURFACE, transform);
 
     d->setImageOptions();
@@ -3070,7 +3096,7 @@ void QVGPaintEngine::drawPixmap(const QRectF &r, const QPixmap &pm, const QRectF
         QVGPixmapData *vgpd = static_cast<QVGPixmapData *>(pd);
         if (!vgpd->isValid())
             return;
-        if (d->simpleTransform)
+        if (d->affineTransform)
             drawVGImage(d, r, vgpd->toVGImage(), vgpd->size(), sr);
         else
             drawVGImage(d, r, vgpd->toVGImage(d->opacity), vgpd->size(), sr);
@@ -3089,7 +3115,7 @@ void QVGPaintEngine::drawPixmap(const QPointF &pos, const QPixmap &pm)
         QVGPixmapData *vgpd = static_cast<QVGPixmapData *>(pd);
         if (!vgpd->isValid())
             return;
-        if (d->simpleTransform)
+        if (d->affineTransform)
             drawVGImage(d, pos, vgpd->toVGImage());
         else
             drawVGImage(d, pos, vgpd->toVGImage(d->opacity));
@@ -3104,7 +3130,7 @@ void QVGPaintEngine::drawImage
 {
     Q_D(QVGPaintEngine);
     VGImage vgImg;
-    if (d->simpleTransform || d->opacity == 1.0f)
+    if (d->affineTransform || d->opacity == 1.0f)
         vgImg = toVGImageSubRect(image, sr.toRect(), flags);
     else
         vgImg = toVGImageWithOpacitySubRect(image, d->opacity, sr.toRect());
@@ -3127,7 +3153,7 @@ void QVGPaintEngine::drawImage(const QPointF &pos, const QImage &image)
 {
     Q_D(QVGPaintEngine);
     VGImage vgImg;
-    if (d->simpleTransform || d->opacity == 1.0f)
+    if (d->affineTransform || d->opacity == 1.0f)
         vgImg = toVGImage(image);
     else
         vgImg = toVGImageWithOpacity(image, d->opacity);
@@ -3160,7 +3186,7 @@ void QVGPaintEngine::drawPixmapFragments(const QPainter::PixmapFragment *drawing
     QPixmapData *pd = pixmap.pixmapData();
     if (!pd)
         return; // null QPixmap
-    if (pd->classId() != QPixmapData::OpenVGClass || !d->simpleTransform) {
+    if (pd->classId() != QPixmapData::OpenVGClass || !d->affineTransform) {
         QPaintEngineEx::drawPixmapFragments(drawingData, dataCount, pixmap, hints);
         return;
     }
@@ -3385,7 +3411,7 @@ void QVGPaintEngine::drawTextItem(const QPointF &p, const QTextItem &textItem)
 
     // If we are not using a simple transform, then fall back
     // to the default Qt path stroking algorithm.
-    if (!d->simpleTransform) {
+    if (!d->affineTransform) {
         QPaintEngineEx::drawTextItem(p, textItem);
         return;
     }
-- 
cgit v0.12


From f295b0bbbf4967c5933cebff106880f9931d34ed Mon Sep 17 00:00:00 2001
From: Harald Fernengel <harald.fernengel@nokia.com>
Date: Mon, 13 Sep 2010 14:46:02 +0200
Subject: unbreak test

---
 tests/auto/qmainwindow/tst_qmainwindow.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/auto/qmainwindow/tst_qmainwindow.cpp b/tests/auto/qmainwindow/tst_qmainwindow.cpp
index 6f95672..5a69d9c 100644
--- a/tests/auto/qmainwindow/tst_qmainwindow.cpp
+++ b/tests/auto/qmainwindow/tst_qmainwindow.cpp
@@ -1449,7 +1449,7 @@ Q_DECLARE_METATYPE(MoveList)
 
 void MoveSeparator::apply(QMainWindow *mw) const
 {
-    QMainWindowLayout *l = qFindChild<QMainWindowLayout *>(mw->layout());
+    QMainWindowLayout *l = qFindChild<QMainWindowLayout *>(mw);
     QVERIFY(l);
 
     QList<int> path;
-- 
cgit v0.12


From 548155fec3a8b575215625d4fd767e63c20f6b84 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Nilsen?= <bjorn.nilsen@nokia.com>
Date: Mon, 13 Sep 2010 14:23:04 +0200
Subject: Assertion calledEmitUpdated fails in QGraphicsScene.

Problem was that the 'updateAll' boolean was reset to 'false' when it really
should have been unchanged. This happened when rendering the scene from outside
the view's paint event (i.e. from QGraphicsView/Scene::render). We only
want to reset 'updateAll' when triggering drawItems() from
QGraphicsView::paintEvent, i.e. when the 'view' pointer != 0.

Broke after commit: dda8a57c.
Auto test included.

Task-number: QT-3674
---
 src/gui/graphicsview/qgraphicsscene.cpp          |  2 +-
 tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp | 20 ++++++++++++++++++++
 2 files changed, 21 insertions(+), 1 deletion(-)

diff --git a/src/gui/graphicsview/qgraphicsscene.cpp b/src/gui/graphicsview/qgraphicsscene.cpp
index 539685a..36a24db 100644
--- a/src/gui/graphicsview/qgraphicsscene.cpp
+++ b/src/gui/graphicsview/qgraphicsscene.cpp
@@ -5270,7 +5270,6 @@ void QGraphicsScene::drawItems(QPainter *painter,
     if (!d->unpolishedItems.isEmpty())
         d->_q_polishItems();
 
-    d->updateAll = false;
     QTransform viewTransform = painter->worldTransform();
     Q_UNUSED(options);
 
@@ -5279,6 +5278,7 @@ void QGraphicsScene::drawItems(QPainter *painter,
     QRegion *expose = 0;
     const quint32 oldRectAdjust = d->rectAdjust;
     if (view) {
+        d->updateAll = false;
         expose = &view->d_func()->exposedRegion;
         if (view->d_func()->optimizationFlags & QGraphicsView::DontAdjustForAntialiasing)
             d->rectAdjust = 1;
diff --git a/tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp b/tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp
index c145623..b8e729e 100644
--- a/tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp
+++ b/tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp
@@ -287,6 +287,7 @@ private slots:
     void taskQTBUG_5904_crashWithDeviceCoordinateCache();
     void taskQT657_paintIntoCacheWithTransparentParts();
     void taskQTBUG_7863_paintIntoCacheWithTransparentParts();
+    void taskQT_3674_doNotCrash();
 };
 
 void tst_QGraphicsScene::initTestCase()
@@ -4565,6 +4566,25 @@ void tst_QGraphicsScene::taskQTBUG_7863_paintIntoCacheWithTransparentParts()
     }
 }
 
+void tst_QGraphicsScene::taskQT_3674_doNotCrash()
+{
+    QGraphicsScene scene;
+
+    QGraphicsView view(&scene);
+    view.resize(200, 200);
+
+    QPixmap pixmap(view.size());
+    QPainter painter(&pixmap);
+    view.render(&painter);
+    painter.end();
+
+    scene.addItem(new QGraphicsWidget);
+    scene.setBackgroundBrush(Qt::green);
+
+    QApplication::processEvents();
+    QApplication::processEvents();
+}
+
 void tst_QGraphicsScene::zeroScale()
 {
     //should not crash
-- 
cgit v0.12


From 5d9fb4b86ffd604e65ade61a252037dca224af53 Mon Sep 17 00:00:00 2001
From: Olivier Goffart <olivier.goffart@nokia.com>
Date: Mon, 13 Sep 2010 15:50:40 +0200
Subject: tests: fix compilation with suncc

Patch derived from the tasks

Task-number: QTBUG-12997
Task-number: QTBUG-12984
Task-number: QTBUG-12985
Task-number: QTBUG-12990
Task-number: QTBUG-12999
---
 tests/auto/moc/tst_moc.cpp                                        | 8 ++++----
 tests/auto/q3table/tst_q3table.cpp                                | 8 ++++----
 tests/auto/qcompleter/tst_qcompleter.cpp                          | 4 ++--
 tests/auto/qobject/tst_qobject.cpp                                | 8 ++++----
 .../qsequentialanimationgroup/tst_qsequentialanimationgroup.cpp   | 4 ++--
 5 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/tests/auto/moc/tst_moc.cpp b/tests/auto/moc/tst_moc.cpp
index f9c3ccb..bb23f49 100644
--- a/tests/auto/moc/tst_moc.cpp
+++ b/tests/auto/moc/tst_moc.cpp
@@ -1077,10 +1077,10 @@ void tst_Moc::qprivateslots()
 class PrivatePropertyTest : public QObject
 {
     Q_OBJECT
-    Q_PROPERTY(int foo READ foo WRITE setFoo);
-    Q_PRIVATE_PROPERTY(d, int bar READ bar WRITE setBar);
-    Q_PRIVATE_PROPERTY(PrivatePropertyTest::d, int plop READ plop WRITE setPlop);
-    Q_PRIVATE_PROPERTY(PrivatePropertyTest::d_func(), int baz READ baz WRITE setBaz);
+    Q_PROPERTY(int foo READ foo WRITE setFoo)
+    Q_PRIVATE_PROPERTY(d, int bar READ bar WRITE setBar)
+    Q_PRIVATE_PROPERTY(PrivatePropertyTest::d, int plop READ plop WRITE setPlop)
+    Q_PRIVATE_PROPERTY(PrivatePropertyTest::d_func(), int baz READ baz WRITE setBaz)
     class MyDPointer {
     public:
         MyDPointer() : mBar(0), mPlop(0) {}
diff --git a/tests/auto/q3table/tst_q3table.cpp b/tests/auto/q3table/tst_q3table.cpp
index 90bf806..93de251 100644
--- a/tests/auto/q3table/tst_q3table.cpp
+++ b/tests/auto/q3table/tst_q3table.cpp
@@ -502,7 +502,7 @@ void tst_Q3Table::pageUpDownNavigation()
 void tst_Q3Table::simpleKeyboardNavigation()
 {
     QApplication::setActiveWindow(testWidget);
-    QTRY_COMPARE(QApplication::activeWindow(), testWidget);
+    QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(testWidget));
     QWidget *w;
 
     // Test for task #24726
@@ -1208,7 +1208,7 @@ void tst_Q3Table::editCheck()
     table.show();
     QApplication::setActiveWindow(&table);
     QTest::qWaitForWindowShown(&table);
-    QTRY_COMPARE(QApplication::activeWindow(), &table);
+    QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&table));
     table.setCurrentCell(0, 0);
 #ifdef WAITS
     QTest::qWait(50);
@@ -1345,7 +1345,7 @@ void tst_Q3Table::valueChanged()
     testWidget->show();
     QApplication::setActiveWindow(testWidget);
     QTest::qWaitForWindowShown(testWidget);
-    QTRY_COMPARE(QApplication::activeWindow(), testWidget);
+    QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(testWidget));
 #ifdef WAITS
     QTest::qWait(50);
 #endif
@@ -1395,7 +1395,7 @@ void tst_Q3Table::dateTimeEdit()
     testWidget->show();
     QApplication::setActiveWindow(testWidget);
     QTest::qWaitForWindowShown(testWidget);
-    QTRY_COMPARE(QApplication::activeWindow(), testWidget);
+    QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(testWidget));
 #ifdef WAITS
     QTest::qWait(50);
 #endif
diff --git a/tests/auto/qcompleter/tst_qcompleter.cpp b/tests/auto/qcompleter/tst_qcompleter.cpp
index a62720b..1590528 100644
--- a/tests/auto/qcompleter/tst_qcompleter.cpp
+++ b/tests/auto/qcompleter/tst_qcompleter.cpp
@@ -1324,7 +1324,7 @@ void tst_QCompleter::task253125_lineEditCompletion()
 #endif
     QTest::qWait(10);
     QApplication::setActiveWindow(&edit);
-    QTRY_COMPARE(QApplication::activeWindow(), &edit);
+    QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&edit));
 
     QTest::keyClick(&edit, 'i');
     QCOMPARE(edit.completer()->currentCompletion(), QString("iota"));
@@ -1362,7 +1362,7 @@ void tst_QCompleter::task247560_keyboardNavigation()
 
     QTest::qWait(10);
     QApplication::setActiveWindow(&edit);
-    QTRY_COMPARE(QApplication::activeWindow(), &edit);
+    QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&edit));
 
     QTest::keyClick(&edit, 'r');
     QTest::keyClick(edit.completer()->popup(), Qt::Key_Down);
diff --git a/tests/auto/qobject/tst_qobject.cpp b/tests/auto/qobject/tst_qobject.cpp
index 08b7c19..5f6262e 100644
--- a/tests/auto/qobject/tst_qobject.cpp
+++ b/tests/auto/qobject/tst_qobject.cpp
@@ -3243,16 +3243,16 @@ void tst_QObject::overloads()
     QCOMPARE(obj2.s_num, 101);
     emit obj1.sig(&obj2, &obj3); //this signal is connected
     QCOMPARE(obj1.s_num, 11);
-    QCOMPARE(obj1.o1_obj, &obj2);
+    QCOMPARE(obj1.o1_obj, (QObject *)&obj2);
     QCOMPARE(obj1.o2_obj, &obj3);
     QCOMPARE(obj1.o3_obj, (QObject *)0); //default arg of the signal
-    QCOMPARE(obj1.o4_obj, qApp); //default arg of the slot
+    QCOMPARE(obj1.o4_obj, (QObject *)qApp); //default arg of the slot
 
     QCOMPARE(obj2.s_num, 111);
-    QCOMPARE(obj2.o1_obj, &obj2);
+    QCOMPARE(obj2.o1_obj, (QObject *)&obj2);
     QCOMPARE(obj2.o2_obj, &obj3);
     QCOMPARE(obj2.o3_obj, (QObject *)0); //default arg of the signal
-    QCOMPARE(obj2.o4_obj, qApp); //default arg of the slot
+    QCOMPARE(obj2.o4_obj, (QObject *)qApp); //default arg of the slot
 }
 
 class ManySignals : public QObject
diff --git a/tests/auto/qsequentialanimationgroup/tst_qsequentialanimationgroup.cpp b/tests/auto/qsequentialanimationgroup/tst_qsequentialanimationgroup.cpp
index e154528..e16be8b 100644
--- a/tests/auto/qsequentialanimationgroup/tst_qsequentialanimationgroup.cpp
+++ b/tests/auto/qsequentialanimationgroup/tst_qsequentialanimationgroup.cpp
@@ -381,7 +381,7 @@ void tst_QSequentialAnimationGroup::setCurrentTimeWithUncontrolledAnimation()
     QCOMPARE(a1_s_o2->currentLoopTime(), 250);
     QCOMPARE(notTimeDriven->currentLoopTime(), 0);
     QCOMPARE(loopsForever->currentLoopTime(), 0);
-    QCOMPARE(group.currentAnimation(), notTimeDriven);
+    QCOMPARE(group.currentAnimation(), static_cast<QAbstractAnimation *>(notTimeDriven));
 
     // Current time = 505
     group.setCurrentTime(505);
@@ -391,7 +391,7 @@ void tst_QSequentialAnimationGroup::setCurrentTimeWithUncontrolledAnimation()
     QCOMPARE(a1_s_o2->currentLoopTime(), 250);
     QCOMPARE(notTimeDriven->currentLoopTime(), 5);
     QCOMPARE(loopsForever->currentLoopTime(), 0);
-    QCOMPARE(group.currentAnimation(), notTimeDriven);
+    QCOMPARE(group.currentAnimation(), static_cast<QAbstractAnimation *>(notTimeDriven));
     QCOMPARE(sequence->state(), QAnimationGroup::Stopped);
     QCOMPARE(a1_s_o1->state(), QAnimationGroup::Stopped);
     QCOMPARE(a1_s_o2->state(), QAnimationGroup::Stopped);
-- 
cgit v0.12


From 52f82846e651d240f6e610f91bc63b3ee74b3d44 Mon Sep 17 00:00:00 2001
From: Benjamin Poulain <benjamin.poulain@nokia.com>
Date: Fri, 10 Sep 2010 21:51:13 +0200
Subject: Remove the memory safety for the first scanline of the SSSE3 blending
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Memory is allocated on 16 bytes boundaries. We can do the
aligned load without risking a invalid memory access.

This simplify the code.

Reviewed-by: Samuel Rødal
---
 src/gui/painting/qdrawhelper_ssse3.cpp | 75 ++--------------------------------
 1 file changed, 3 insertions(+), 72 deletions(-)

diff --git a/src/gui/painting/qdrawhelper_ssse3.cpp b/src/gui/painting/qdrawhelper_ssse3.cpp
index 4cb4089..fb5602e 100644
--- a/src/gui/painting/qdrawhelper_ssse3.cpp
+++ b/src/gui/painting/qdrawhelper_ssse3.cpp
@@ -79,69 +79,6 @@ inline static void blend_pixel(quint32 &dst, const quint32 src)
     }
 
 
-#define BLEND_SOURCE_OVER_ARGB32_FIRST_ROW_SSSE3(dst, src, length, nullVector, half, one, colorMask, alphaMask) { \
-    int x = 0; \
-\
-    /* First, get dst aligned. */ \
-    const int offsetToAlignOn16Bytes = (4 - ((reinterpret_cast<quintptr>(dst) >> 2) & 0x3)) & 0x3;\
-    const int prologLength = qMin(length, offsetToAlignOn16Bytes);\
-\
-    for (; x < prologLength; ++x) {\
-        blend_pixel(dst[x], src[x]); \
-    } \
-\
-    const int minusOffsetToAlignSrcOn16Bytes = (reinterpret_cast<quintptr>(&(src[x])) >> 2) & 0x3;\
-\
-    if (!minusOffsetToAlignSrcOn16Bytes) {\
-        /* src is aligned, usual algorithm but with aligned operations.\
-           See the SSE2 version for more documentation on the algorithm itself. */\
-        const __m128i alphaShuffleMask = _mm_set_epi8(0xff,15,0xff,15,0xff,11,0xff,11,0xff,7,0xff,7,0xff,3,0xff,3);\
-        for (; x < length-3; x += 4) { \
-            const __m128i srcVector = _mm_load_si128((__m128i *)&src[x]); \
-            const __m128i srcVectorAlpha = _mm_and_si128(srcVector, alphaMask); \
-            if (_mm_movemask_epi8(_mm_cmpeq_epi32(srcVectorAlpha, alphaMask)) == 0xffff) { \
-                _mm_store_si128((__m128i *)&dst[x], srcVector); \
-            } else if (_mm_movemask_epi8(_mm_cmpeq_epi32(srcVectorAlpha, nullVector)) != 0xffff) { \
-                __m128i alphaChannel = _mm_shuffle_epi8(srcVector, alphaShuffleMask); \
-                alphaChannel = _mm_sub_epi16(one, alphaChannel); \
-                const __m128i dstVector = _mm_load_si128((__m128i *)&dst[x]); \
-                __m128i destMultipliedByOneMinusAlpha; \
-                BYTE_MUL_SSE2(destMultipliedByOneMinusAlpha, dstVector, alphaChannel, colorMask, half); \
-                const __m128i result = _mm_add_epi8(srcVector, destMultipliedByOneMinusAlpha); \
-                _mm_store_si128((__m128i *)&dst[x], result); \
-            } \
-        } /* end for() */\
-    } else if ((length - x) >= 8) {\
-        /* We are at the first line, so "x - minusOffsetToAlignSrcOn16Bytes" could go before src, and\
-           generate an invalid access. */\
-\
-        /* We use two vectors to extract the src: prevLoaded for the first pixels, lastLoaded for the current pixels. */\
-        __m128i srcVectorPrevLoaded;\
-        if (minusOffsetToAlignSrcOn16Bytes > prologLength) {\
-            /* We go forward 4 pixels to avoid reading before src. */\
-            for (; x < prologLength + 4; ++x)\
-                blend_pixel(dst[x], src[x]); \
-        }\
-        srcVectorPrevLoaded = _mm_load_si128((__m128i *)&src[x - minusOffsetToAlignSrcOn16Bytes]);\
-        const int palignrOffset = minusOffsetToAlignSrcOn16Bytes << 2;\
-\
-        const __m128i alphaShuffleMask = _mm_set_epi8(0xff,15,0xff,15,0xff,11,0xff,11,0xff,7,0xff,7,0xff,3,0xff,3);\
-        switch (palignrOffset) {\
-        case 4:\
-            BLENDING_LOOP(4, length)\
-            break;\
-        case 8:\
-            BLENDING_LOOP(8, length)\
-            break;\
-        case 12:\
-            BLENDING_LOOP(12, length)\
-            break;\
-        }\
-    }\
-    for (; x < length; ++x) \
-        blend_pixel(dst[x], src[x]); \
-}
-
 // Basically blend src over dst with the const alpha defined as constAlphaVector.
 // nullVector, half, one, colorMask are constant accross the whole image/texture, and should be defined as:
 //const __m128i nullVector = _mm_set1_epi32(0);
@@ -153,7 +90,7 @@ inline static void blend_pixel(quint32 &dst, const quint32 src)
 // The computation being done is:
 // result = s + d * (1-alpha)
 // with shortcuts if fully opaque or fully transparent.
-#define BLEND_SOURCE_OVER_ARGB32_MAIN_SSSE3(dst, src, length, nullVector, half, one, colorMask, alphaMask) { \
+#define BLEND_SOURCE_OVER_ARGB32_SSSE3(dst, src, length, nullVector, half, one, colorMask, alphaMask) { \
     int x = 0; \
 \
     /* First, get dst aligned. */ \
@@ -218,14 +155,8 @@ void qt_blend_argb32_on_argb32_ssse3(uchar *destPixels, int dbpl,
         const __m128i one = _mm_set1_epi16(0xff);
         const __m128i colorMask = _mm_set1_epi32(0x00ff00ff);
 
-        // We have to unrol the first row in order to deal with the load on unaligned data
-        // prior to the src pointer.
-        BLEND_SOURCE_OVER_ARGB32_FIRST_ROW_SSSE3(dst, src, w, nullVector, half, one, colorMask, alphaMask);
-        dst = (quint32 *)(((uchar *) dst) + dbpl);
-        src = (const quint32 *)(((const uchar *) src) + sbpl);
-
-        for (int y = 1; y < h; ++y) {
-            BLEND_SOURCE_OVER_ARGB32_MAIN_SSSE3(dst, src, w, nullVector, half, one, colorMask, alphaMask);
+        for (int y = 0; y < h; ++y) {
+            BLEND_SOURCE_OVER_ARGB32_SSSE3(dst, src, w, nullVector, half, one, colorMask, alphaMask);
             dst = (quint32 *)(((uchar *) dst) + dbpl);
             src = (const quint32 *)(((const uchar *) src) + sbpl);
         }
-- 
cgit v0.12


From faba2072ae1cf3661caceae2ef4f87cee485cf29 Mon Sep 17 00:00:00 2001
From: Benjamin Poulain <benjamin.poulain@nokia.com>
Date: Mon, 13 Sep 2010 15:29:25 +0200
Subject: Use the stream operation for the SSE2 implementation of memfill32
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Writing the data of memfill() to a cacheline is unecessary because the
data is not reused directly. We can use the stream operations to avoid
the cache completely.

When testing memfill32 separately, the function is twice as fast
on Core2 and Atom.

Reviewed-by: Samuel Rødal
---
 src/gui/painting/qdrawhelper_sse2.cpp | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/gui/painting/qdrawhelper_sse2.cpp b/src/gui/painting/qdrawhelper_sse2.cpp
index ba2ba32..ac73958 100644
--- a/src/gui/painting/qdrawhelper_sse2.cpp
+++ b/src/gui/painting/qdrawhelper_sse2.cpp
@@ -266,10 +266,10 @@ void qt_memfill32_sse2(quint32 *dest, quint32 value, int count)
 
     int n = (count128 + 3) / 4;
     switch (count128 & 0x3) {
-    case 0: do { _mm_store_si128(dst128++, value128);
-    case 3:      _mm_store_si128(dst128++, value128);
-    case 2:      _mm_store_si128(dst128++, value128);
-    case 1:      _mm_store_si128(dst128++, value128);
+    case 0: do { _mm_stream_si128(dst128++, value128);
+    case 3:      _mm_stream_si128(dst128++, value128);
+    case 2:      _mm_stream_si128(dst128++, value128);
+    case 1:      _mm_stream_si128(dst128++, value128);
     } while (--n > 0);
     }
 
-- 
cgit v0.12


From 7f96f211d15d7af28146682356ad1363c5d9f4a9 Mon Sep 17 00:00:00 2001
From: Frederik Gladhorn <frederik.gladhorn@nokia.com>
Date: Thu, 22 Jul 2010 12:32:55 +0200
Subject: fix typos in comment

Reviewed-by: TrustMe
---
 src/gui/kernel/qgesturemanager.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/gui/kernel/qgesturemanager.cpp b/src/gui/kernel/qgesturemanager.cpp
index 5c80340..6dd8127 100644
--- a/src/gui/kernel/qgesturemanager.cpp
+++ b/src/gui/kernel/qgesturemanager.cpp
@@ -184,7 +184,7 @@ void QGestureManager::cleanupCachedGestures(QObject *target, Qt::GestureType typ
 // get or create a QGesture object that will represent the state for a given object, used by the recognizer
 QGesture *QGestureManager::getState(QObject *object, QGestureRecognizer *recognizer, Qt::GestureType type)
 {
-    // if the widget is being deleted we should be carefull and not to
+    // if the widget is being deleted we should be careful not to
     // create a new state, as it will create QWeakPointer which doesnt work
     // from the destructor.
     if (object->isWidgetType()) {
-- 
cgit v0.12


From dc343981c65af9d279a08ae4a664ec664dbb3cea Mon Sep 17 00:00:00 2001
From: Zeno Albisser <zeno.albisser@nokia.com>
Date: Fri, 10 Sep 2010 04:20:55 -0400
Subject: Changed the speed property on QSwipeGesture to velocity

Reviewed-by: Denis Dzyubenko
---
 src/gui/kernel/qgesture.cpp          | 2 ++
 src/gui/kernel/qgesture.h            | 1 +
 src/gui/kernel/qgesture_p.h          | 7 +++++--
 src/gui/kernel/qstandardgestures.cpp | 6 +++---
 4 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/src/gui/kernel/qgesture.cpp b/src/gui/kernel/qgesture.cpp
index 13274c4..5725a22 100644
--- a/src/gui/kernel/qgesture.cpp
+++ b/src/gui/kernel/qgesture.cpp
@@ -775,4 +775,6 @@ int QTapAndHoldGesturePrivate::Timeout = 700; // in ms
 
 QT_END_NAMESPACE
 
+#include <moc_qgesture.cpp>
+
 #endif // QT_NO_GESTURES
diff --git a/src/gui/kernel/qgesture.h b/src/gui/kernel/qgesture.h
index dcb0264..1ba6e10 100644
--- a/src/gui/kernel/qgesture.h
+++ b/src/gui/kernel/qgesture.h
@@ -210,6 +210,7 @@ class Q_GUI_EXPORT QSwipeGesture : public QGesture
     Q_PROPERTY(SwipeDirection horizontalDirection READ horizontalDirection STORED false)
     Q_PROPERTY(SwipeDirection verticalDirection READ verticalDirection STORED false)
     Q_PROPERTY(qreal swipeAngle READ swipeAngle WRITE setSwipeAngle)
+    Q_PRIVATE_PROPERTY(QSwipeGesture::d_func(), qreal velocity READ velocity WRITE setVelocity)
 
 public:
     enum SwipeDirection { NoDirection, Left, Right, Up, Down };
diff --git a/src/gui/kernel/qgesture_p.h b/src/gui/kernel/qgesture_p.h
index 29b923e..7d6ea87 100644
--- a/src/gui/kernel/qgesture_p.h
+++ b/src/gui/kernel/qgesture_p.h
@@ -139,17 +139,20 @@ public:
         : horizontalDirection(QSwipeGesture::NoDirection),
           verticalDirection(QSwipeGesture::NoDirection),
           swipeAngle(0),
-          started(false), speed(0)
+          started(false), velocityValue(0),
     {
     }
 
+    qreal velocity() const { return velocityValue; }
+    void setVelocity(qreal value) { velocityValue = value; }
+
     QSwipeGesture::SwipeDirection horizontalDirection;
     QSwipeGesture::SwipeDirection verticalDirection;
     qreal swipeAngle;
 
     QPoint lastPositions[3];
     bool started;
-    qreal speed;
+    qreal velocityValue;
     QElapsedTimer time;
 };
 
diff --git a/src/gui/kernel/qstandardgestures.cpp b/src/gui/kernel/qstandardgestures.cpp
index 127e150..503fa18 100644
--- a/src/gui/kernel/qstandardgestures.cpp
+++ b/src/gui/kernel/qstandardgestures.cpp
@@ -304,7 +304,7 @@ QGestureRecognizer::Result QSwipeGestureRecognizer::recognize(QGesture *state,
 
     switch (event->type()) {
     case QEvent::TouchBegin: {
-        d->speed = 1;
+        d->velocityValue = 1;
         d->time.start();
         d->started = true;
         result = QGestureRecognizer::MayBeGesture;
@@ -345,7 +345,7 @@ QGestureRecognizer::Result QSwipeGestureRecognizer::recognize(QGesture *state,
             int elapsedTime = d->time.restart();
             if (!elapsedTime)
                 elapsedTime = 1;
-            d->speed = 0.9 * d->speed + distance / elapsedTime;
+            d->velocityValue = 0.9 * d->velocityValue + distance / elapsedTime;
             d->swipeAngle = QLineF(p1.startScreenPos(), p1.screenPos()).angle();
 
             static const int MoveThreshold = 50;
@@ -407,7 +407,7 @@ void QSwipeGestureRecognizer::reset(QGesture *state)
 
     d->lastPositions[0] = d->lastPositions[1] = d->lastPositions[2] = QPoint();
     d->started = false;
-    d->speed = 0;
+    d->velocityValue = 0;
     d->time.invalidate();
 
     QGestureRecognizer::reset(state);
-- 
cgit v0.12


From d65259a3444a08919f1f19b9d2dcbe9b182752aa Mon Sep 17 00:00:00 2001
From: Zeno Albisser <zeno.albisser@nokia.com>
Date: Fri, 10 Sep 2010 05:04:06 -0400
Subject: Added velocity property to the QPanGesture.

Reviewed-by: Denis Dzyubenko
---
 src/gui/kernel/qgesture.h   | 2 ++
 src/gui/kernel/qgesture_p.h | 9 ++++++++-
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/src/gui/kernel/qgesture.h b/src/gui/kernel/qgesture.h
index 1ba6e10..2e279b0 100644
--- a/src/gui/kernel/qgesture.h
+++ b/src/gui/kernel/qgesture.h
@@ -112,6 +112,8 @@ class Q_GUI_EXPORT QPanGesture : public QGesture
     Q_PROPERTY(QPointF offset READ offset WRITE setOffset)
     Q_PROPERTY(QPointF delta READ delta STORED false)
     Q_PROPERTY(qreal acceleration READ acceleration WRITE setAcceleration)
+    Q_PRIVATE_PROPERTY(QPanGesture::d_func(), qreal horizontalVelocity READ horizontalVelocity WRITE setHorizontalVelocity)
+    Q_PRIVATE_PROPERTY(QPanGesture::d_func(), qreal verticalVelocity READ verticalVelocity WRITE setVerticalVelocity)
 
 public:
     QPanGesture(QObject *parent = 0);
diff --git a/src/gui/kernel/qgesture_p.h b/src/gui/kernel/qgesture_p.h
index 7d6ea87..baf0d33 100644
--- a/src/gui/kernel/qgesture_p.h
+++ b/src/gui/kernel/qgesture_p.h
@@ -88,14 +88,21 @@ class QPanGesturePrivate : public QGesturePrivate
 
 public:
     QPanGesturePrivate()
-        : acceleration(0)
+        : acceleration(0), xVelocity(0), yVelocity(0)
     {
     }
 
+    qreal horizontalVelocity() const { return xVelocity; }
+    void setHorizontalVelocity(qreal value) { xVelocity = value; }
+    qreal verticalVelocity() const { return yVelocity; }
+    void setVerticalVelocity(qreal value) { yVelocity = value; }
+
     QPointF lastOffset;
     QPointF offset;
     QPoint startPosition;
     qreal acceleration;
+    qreal xVelocity;
+    qreal yVelocity;
 };
 
 class QPinchGesturePrivate : public QGesturePrivate
-- 
cgit v0.12


From e6b2bb6d6a48e722311cd2c5fd86c015eab24b4d Mon Sep 17 00:00:00 2001
From: Zeno Albisser <zeno.albisser@nokia.com>
Date: Wed, 11 Aug 2010 13:37:21 +0200
Subject: fix scaleFactor/totalScaleFactor in QPinchGestureRecognizer

The scaleFactor/totalScaleFactor should now represent a proper value
to allow an object tracking a touchpoint during a Pinch Gesture.

Reviewed-by: Frederik Gladhorn
---
 src/gui/kernel/qgesture_p.h          |  2 +-
 src/gui/kernel/qstandardgestures.cpp | 10 +++++-----
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/gui/kernel/qgesture_p.h b/src/gui/kernel/qgesture_p.h
index baf0d33..e8f8fe3 100644
--- a/src/gui/kernel/qgesture_p.h
+++ b/src/gui/kernel/qgesture_p.h
@@ -112,7 +112,7 @@ class QPinchGesturePrivate : public QGesturePrivate
 public:
     QPinchGesturePrivate()
         : totalChangeFlags(0), changeFlags(0),
-          totalScaleFactor(0), lastScaleFactor(0), scaleFactor(0),
+          totalScaleFactor(1), lastScaleFactor(1), scaleFactor(1),
           totalRotationAngle(0), lastRotationAngle(0), rotationAngle(0),
           isNewSequence(true)
     {
diff --git a/src/gui/kernel/qstandardgestures.cpp b/src/gui/kernel/qstandardgestures.cpp
index 503fa18..893ba2b 100644
--- a/src/gui/kernel/qstandardgestures.cpp
+++ b/src/gui/kernel/qstandardgestures.cpp
@@ -199,6 +199,7 @@ QGestureRecognizer::Result QPinchGestureRecognizer::recognize(QGesture *state,
                 d->startPosition[1] = p2.screenPos();
             }
             QLineF line(p1.screenPos(), p2.screenPos());
+            QLineF lastLine(p1.lastScreenPos(),  p2.lastScreenPos());
             QLineF tmp(line);
             tmp.setLength(line.length() / 2.);
             QPointF centerPoint = tmp.p2();
@@ -207,16 +208,15 @@ QGestureRecognizer::Result QPinchGestureRecognizer::recognize(QGesture *state,
             d->centerPoint = centerPoint;
             d->changeFlags |= QPinchGesture::CenterPointChanged;
 
-            const qreal scaleFactor =
-                    QLineF(p1.screenPos(), p2.screenPos()).length()
-                    / QLineF(d->startPosition[0],  d->startPosition[1]).length();
+            const qreal scaleFactor = line.length() / lastLine.length();
+
             if (d->isNewSequence) {
                 d->lastScaleFactor = scaleFactor;
             } else {
                 d->lastScaleFactor = d->scaleFactor;
             }
             d->scaleFactor = scaleFactor;
-            d->totalScaleFactor += d->scaleFactor - d->lastScaleFactor;
+            d->totalScaleFactor = d->totalScaleFactor * scaleFactor;
             d->changeFlags |= QPinchGesture::ScaleFactorChanged;
 
             qreal angle = QLineF(p1.screenPos(), p2.screenPos()).angle();
@@ -266,7 +266,7 @@ void QPinchGestureRecognizer::reset(QGesture *state)
     d->totalChangeFlags = d->changeFlags = 0;
 
     d->startCenterPoint = d->lastCenterPoint = d->centerPoint = QPointF();
-    d->totalScaleFactor = d->lastScaleFactor = d->scaleFactor = 0;
+    d->totalScaleFactor = d->lastScaleFactor = d->scaleFactor = 1;
     d->totalRotationAngle = d->lastRotationAngle = d->rotationAngle = 0;
 
     d->isNewSequence = true;
-- 
cgit v0.12


From 019032c93b7397c7239ec99ec44b4923df31533b Mon Sep 17 00:00:00 2001
From: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Date: Mon, 13 Sep 2010 16:56:32 +0200
Subject: run depend_command even if the binary has no absolute path

this magic is a bit braindead anyway, but whatever.

Reviewed-by: joerg
Task-number: QTBUG-13366
---
 qmake/generators/makefile.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/qmake/generators/makefile.cpp b/qmake/generators/makefile.cpp
index c7b1473..cd034b8 100644
--- a/qmake/generators/makefile.cpp
+++ b/qmake/generators/makefile.cpp
@@ -1794,10 +1794,10 @@ MakefileGenerator::writeExtraCompilerTargets(QTextStream &t)
                 const QString c = Option::fixPathToLocalOS(cmdline.at(argv0), true);
                 if(exists(c)) {
                     cmdline[argv0] = escapeFilePath(Option::fixPathToLocalOS(cmdline.at(argv0), false));
-                    tmp_dep_cmd = cmdline.join(" ");
                 } else {
                     cmdline[argv0] = escapeFilePath(cmdline.at(argv0));
                 }
+                tmp_dep_cmd = cmdline.join(" ");
             }
             dep_cd_cmd = QLatin1String("cd ")
                  + escapeFilePath(Option::fixPathToLocalOS(Option::output_dir, false))
-- 
cgit v0.12


From b5cd029cdd700069e603fe27049f3afb999a234c Mon Sep 17 00:00:00 2001
From: Benjamin Poulain <benjamin.poulain@nokia.com>
Date: Mon, 13 Sep 2010 19:20:36 +0200
Subject: Use aligned operations for solid SourceOver operations.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Aligned load() and store() have been shown to be faster for the
composition functions. This patch applies this to the solid
SourceOver function.

Reviewed-by: Samuel Rødal
---
 src/gui/painting/qdrawhelper_sse2.cpp | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/gui/painting/qdrawhelper_sse2.cpp b/src/gui/painting/qdrawhelper_sse2.cpp
index ac73958..f97d865 100644
--- a/src/gui/painting/qdrawhelper_sse2.cpp
+++ b/src/gui/painting/qdrawhelper_sse2.cpp
@@ -300,11 +300,14 @@ void QT_FASTCALL comp_func_solid_SourceOver_sse2(uint *destPixels, int length, u
         const __m128i half = _mm_set1_epi16(0x80);
         const __m128i minusAlphaOfColorVector = _mm_set1_epi16(minusAlphaOfColor);
 
+        ALIGNMENT_PROLOGUE_16BYTES(dst, x, length)
+            destPixels[x] = color + BYTE_MUL(destPixels[x], minusAlphaOfColor);
+
         for (; x < length-3; x += 4) {
-            __m128i dstVector = _mm_loadu_si128((__m128i *)&dst[x]);
+            __m128i dstVector = _mm_load_si128((__m128i *)&dst[x]);
             BYTE_MUL_SSE2(dstVector, dstVector, minusAlphaOfColorVector, colorMask, half);
             dstVector = _mm_add_epi8(colorVector, dstVector);
-            _mm_storeu_si128((__m128i *)&dst[x], dstVector);
+            _mm_store_si128((__m128i *)&dst[x], dstVector);
         }
         for (;x < length; ++x)
             destPixels[x] = color + BYTE_MUL(destPixels[x], minusAlphaOfColor);
-- 
cgit v0.12


From 90fd66a0c435e3b314327ab7126d2dc4e850fee8 Mon Sep 17 00:00:00 2001
From: Adenilson Cavalcanti da Silva <adenilson.silva@openbossa.org>
Date: Mon, 13 Sep 2010 18:16:18 +0100
Subject: Fix compile error for runonphone on linux/gcc4.4.3

Make it build:
- fixing missing prototype declaration
- explicit inclusion header file

Merge-request: 813
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
---
 tools/runonphone/ossignalconverter.cpp | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tools/runonphone/ossignalconverter.cpp b/tools/runonphone/ossignalconverter.cpp
index 6554e9f..8566458 100644
--- a/tools/runonphone/ossignalconverter.cpp
+++ b/tools/runonphone/ossignalconverter.cpp
@@ -42,6 +42,7 @@
 #include "ossignalconverter_p.h"
 #include <signal.h>
 #include <QTimer>
+#include <stdio.h>
 
 Q_GLOBAL_STATIC(OsSignalConverter, osSignalConverter);
 
-- 
cgit v0.12


From 83dcd6fbb145ce92705905c979fd8965c70f4b3a Mon Sep 17 00:00:00 2001
From: Martin Jones <martin.jones@nokia.com>
Date: Tue, 14 Sep 2010 10:16:20 +1000
Subject: In ParentChange treat flip in x and y as a 180 degree rotation The
 two are equivalent, but flip doesn't work in ParentChange.

Task-number: QTBUG-13554
Reviewed-by: Michael Brasser
---
 src/declarative/util/qdeclarativeanimation.cpp     |  5 ++--
 .../util/qdeclarativestateoperations.cpp           |  5 ++--
 .../qdeclarativestates/data/parentChange6.qml      | 30 ++++++++++++++++++++++
 .../qdeclarativestates/tst_qdeclarativestates.cpp  | 15 +++++++++++
 4 files changed, 51 insertions(+), 4 deletions(-)
 create mode 100644 tests/auto/declarative/qdeclarativestates/data/parentChange6.qml

diff --git a/src/declarative/util/qdeclarativeanimation.cpp b/src/declarative/util/qdeclarativeanimation.cpp
index 3c09747..ea3da25 100644
--- a/src/declarative/util/qdeclarativeanimation.cpp
+++ b/src/declarative/util/qdeclarativeanimation.cpp
@@ -2699,14 +2699,15 @@ void QDeclarativeParentAnimation::transition(QDeclarativeStateActions &actions,
 
                 qreal scale = 1;
                 qreal rotation = 0;
-                if (ok && transform.type() != QTransform::TxRotate) {
+                bool isRotate = (transform.type() == QTransform::TxRotate) || (transform.m11() < 0);
+                if (ok && !isRotate) {
                     if (transform.m11() == transform.m22())
                         scale = transform.m11();
                     else {
                         qmlInfo(this) << QDeclarativeParentAnimation::tr("Unable to preserve appearance under non-uniform scale");
                         ok = false;
                     }
-                } else if (ok && transform.type() == QTransform::TxRotate) {
+                } else if (ok && isRotate) {
                     if (transform.m11() == transform.m22())
                         scale = qSqrt(transform.m11()*transform.m11() + transform.m12()*transform.m12());
                     else {
diff --git a/src/declarative/util/qdeclarativestateoperations.cpp b/src/declarative/util/qdeclarativestateoperations.cpp
index 845b3da..a78fc54 100644
--- a/src/declarative/util/qdeclarativestateoperations.cpp
+++ b/src/declarative/util/qdeclarativestateoperations.cpp
@@ -98,14 +98,15 @@ void QDeclarativeParentChangePrivate::doChange(QDeclarativeItem *targetParent, Q
 
         qreal scale = 1;
         qreal rotation = 0;
-        if (ok && transform.type() != QTransform::TxRotate) {
+        bool isRotate = (transform.type() == QTransform::TxRotate) || (transform.m11() < 0);
+        if (ok && !isRotate) {
             if (transform.m11() == transform.m22())
                 scale = transform.m11();
             else {
                 qmlInfo(q) << QDeclarativeParentChange::tr("Unable to preserve appearance under non-uniform scale");
                 ok = false;
             }
-        } else if (ok && transform.type() == QTransform::TxRotate) {
+        } else if (ok && isRotate) {
             if (transform.m11() == transform.m22())
                 scale = qSqrt(transform.m11()*transform.m11() + transform.m12()*transform.m12());
             else {
diff --git a/tests/auto/declarative/qdeclarativestates/data/parentChange6.qml b/tests/auto/declarative/qdeclarativestates/data/parentChange6.qml
new file mode 100644
index 0000000..be92aba
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativestates/data/parentChange6.qml
@@ -0,0 +1,30 @@
+import Qt 4.7
+
+Rectangle {
+    width: 400; height: 400
+    Rectangle {
+        id: myRect
+        objectName: "MyRect"
+        x: 5; y: 5
+        width: 100; height: 100
+        color: "red"
+    }
+    MouseArea {
+        id: clickable
+        anchors.fill: parent
+    }
+
+    Item {
+        id: newParent
+        rotation: 180
+    }
+
+    states: State {
+        name: "reparented"
+        when: clickable.pressed
+        ParentChange {
+            target: myRect
+            parent: newParent
+        }
+    }
+}
diff --git a/tests/auto/declarative/qdeclarativestates/tst_qdeclarativestates.cpp b/tests/auto/declarative/qdeclarativestates/tst_qdeclarativestates.cpp
index 6ae2759..0621602 100644
--- a/tests/auto/declarative/qdeclarativestates/tst_qdeclarativestates.cpp
+++ b/tests/auto/declarative/qdeclarativestates/tst_qdeclarativestates.cpp
@@ -581,6 +581,21 @@ void tst_qdeclarativestates::parentChange()
         //do a non-qFuzzyCompare fuzzy compare
         QVERIFY(innerRect->y() < qreal(0.00001) && innerRect->y() > qreal(-0.00001));
     }
+
+    {
+        QDeclarativeComponent rectComponent(&engine, SRCDIR "/data/parentChange6.qml");
+        QDeclarativeRectangle *rect = qobject_cast<QDeclarativeRectangle*>(rectComponent.create());
+        QVERIFY(rect != 0);
+
+        QDeclarativeRectangle *innerRect = qobject_cast<QDeclarativeRectangle*>(rect->findChild<QDeclarativeRectangle*>("MyRect"));
+        QVERIFY(innerRect != 0);
+
+        QDeclarativeItemPrivate::get(rect)->setState("reparented");
+        QCOMPARE(innerRect->rotation(), qreal(180));
+        QCOMPARE(innerRect->scale(), qreal(1));
+        QCOMPARE(innerRect->x(), qreal(-105));
+        QCOMPARE(innerRect->y(), qreal(-105));
+    }
 }
 
 void tst_qdeclarativestates::parentChangeErrors()
-- 
cgit v0.12


From 71ba591c5db9a09747f5f5a68539495848ffb00f Mon Sep 17 00:00:00 2001
From: Aaron McCarthy <aaron.mccarthy@nokia.com>
Date: Tue, 14 Sep 2010 13:20:37 +1000
Subject: Make compile.

---
 src/gui/kernel/qgesture_p.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/gui/kernel/qgesture_p.h b/src/gui/kernel/qgesture_p.h
index e8f8fe3..6a856ac 100644
--- a/src/gui/kernel/qgesture_p.h
+++ b/src/gui/kernel/qgesture_p.h
@@ -146,7 +146,7 @@ public:
         : horizontalDirection(QSwipeGesture::NoDirection),
           verticalDirection(QSwipeGesture::NoDirection),
           swipeAngle(0),
-          started(false), velocityValue(0),
+          started(false), velocityValue(0)
     {
     }
 
-- 
cgit v0.12


From e74d609b93f3480c239c4921c1683b3944aff44f Mon Sep 17 00:00:00 2001
From: Gunnar Sletta <gunnar.sletta@nokia.com>
Date: Tue, 14 Sep 2010 07:28:14 +0200
Subject: Fix top-left corner of rounded rects in QPaintEngineEx

Reviewed-by: Rhys Weatherley
---
 src/gui/painting/qpaintengineex.cpp | 2 +-
 src/openvg/qpaintengine_vg.cpp      | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/gui/painting/qpaintengineex.cpp b/src/gui/painting/qpaintengineex.cpp
index 881bd6e..1e857e4 100644
--- a/src/gui/painting/qpaintengineex.cpp
+++ b/src/gui/painting/qpaintengineex.cpp
@@ -768,7 +768,7 @@ void QPaintEngineEx::drawRoundedRect(const QRectF &rect, qreal xRadius, qreal yR
         x1, y2 - (1 - KAPPA) * yRadius,
         x1, y2 - yRadius,
         x1, y1 + yRadius,                   // LineTo
-        x1, y1 + KAPPA * yRadius,           // CurveTo
+        x1, y1 + (1 - KAPPA) * yRadius,           // CurveTo
         x1 + (1 - KAPPA) * xRadius, y1,
         x1 + xRadius, y1
     };
diff --git a/src/openvg/qpaintengine_vg.cpp b/src/openvg/qpaintengine_vg.cpp
index 1b0c5e8..3c2fd3d 100644
--- a/src/openvg/qpaintengine_vg.cpp
+++ b/src/openvg/qpaintengine_vg.cpp
@@ -1008,7 +1008,7 @@ VGPath QVGPaintEnginePrivate::roundedRectPath(const QRectF &rect, qreal xRadius,
         x1, y2 - (1 - KAPPA) * yRadius,
         x1, y2 - yRadius,
         x1, y1 + yRadius,                   // LineTo
-        x1, y1 + KAPPA * yRadius,           // CurveTo
+        x1, y1 + (1 - KAPPA) * yRadius,     // CurveTo
         x1 + (1 - KAPPA) * xRadius, y1,
         x1 + xRadius, y1
     };
-- 
cgit v0.12


From 740e1f88da76b9d52bc0b5600b808e91cec97f73 Mon Sep 17 00:00:00 2001
From: Zeno Albisser <zeno.albisser@nokia.com>
Date: Tue, 14 Sep 2010 03:49:19 -0400
Subject: expose GestureType for using in QML

Reviewed-by: Denis Dzyubenko
---
 src/corelib/global/qnamespace.h | 1 +
 src/gui/kernel/qgesture.h       | 1 +
 2 files changed, 2 insertions(+)

diff --git a/src/corelib/global/qnamespace.h b/src/corelib/global/qnamespace.h
index 68702c4..3952836 100644
--- a/src/corelib/global/qnamespace.h
+++ b/src/corelib/global/qnamespace.h
@@ -92,6 +92,7 @@ Qt {
     Q_ENUMS(ConnectionType)
 #ifndef QT_NO_GESTURES
     Q_ENUMS(GestureState)
+    Q_ENUMS(GestureType)
 #endif
 #endif // (defined(Q_MOC_RUN) || defined(QT_JAMBI_RUN))
 
diff --git a/src/gui/kernel/qgesture.h b/src/gui/kernel/qgesture.h
index 2e279b0..8416708 100644
--- a/src/gui/kernel/qgesture.h
+++ b/src/gui/kernel/qgesture.h
@@ -54,6 +54,7 @@
 QT_BEGIN_HEADER
 
 Q_DECLARE_METATYPE(Qt::GestureState)
+Q_DECLARE_METATYPE(Qt::GestureType)
 
 QT_BEGIN_NAMESPACE
 
-- 
cgit v0.12


From 57295fb967cd7d50a1e4113edf995b9592d1576f Mon Sep 17 00:00:00 2001
From: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Date: Tue, 14 Sep 2010 10:55:20 +0200
Subject: Fix compile warnings. Reviewed-by: Thomas Hartmann
 <thomas.hartmann@nokia.com>

---
 src/declarative/qml/qdeclarativeobjectscriptclass.cpp | 2 +-
 src/declarative/qml/qdeclarativescriptparser.cpp      | 2 +-
 src/declarative/qml/qdeclarativexmlhttprequest.cpp    | 4 ++--
 src/gui/kernel/qaction.cpp                            | 3 ++-
 src/network/access/qnetworkreplyimpl.cpp              | 1 +
 5 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/src/declarative/qml/qdeclarativeobjectscriptclass.cpp b/src/declarative/qml/qdeclarativeobjectscriptclass.cpp
index 9d74238..ab6ff74 100644
--- a/src/declarative/qml/qdeclarativeobjectscriptclass.cpp
+++ b/src/declarative/qml/qdeclarativeobjectscriptclass.cpp
@@ -843,7 +843,7 @@ QDeclarativeObjectMethodScriptClass::Value QDeclarativeObjectMethodScriptClass::
         for (int ii = 0; ii < argTypeNames.count(); ++ii) {
             argTypes[ii] = QMetaType::type(argTypeNames.at(ii));
             if (argTypes[ii] == QVariant::Invalid) 
-                argTypes[ii] = enumType(method->object->metaObject(), argTypeNames.at(ii));
+                argTypes[ii] = enumType(method->object->metaObject(), QString::fromLatin1(argTypeNames.at(ii)));
             if (argTypes[ii] == QVariant::Invalid) 
                 return Value(ctxt, ctxt->throwError(QString::fromLatin1("Unknown method parameter type: %1").arg(QLatin1String(argTypeNames.at(ii)))));
         }
diff --git a/src/declarative/qml/qdeclarativescriptparser.cpp b/src/declarative/qml/qdeclarativescriptparser.cpp
index c956051..57cc9ab 100644
--- a/src/declarative/qml/qdeclarativescriptparser.cpp
+++ b/src/declarative/qml/qdeclarativescriptparser.cpp
@@ -895,7 +895,7 @@ QList<QDeclarativeError> QDeclarativeScriptParser::errors() const
 static void replaceWithSpace(QString &str, int idx, int n) 
 {
     QChar *data = str.data() + idx;
-    QChar space(' ');
+    const QChar space(QLatin1Char(' '));
     for (int ii = 0; ii < n; ++ii)
         *data++ = space;
 }
diff --git a/src/declarative/qml/qdeclarativexmlhttprequest.cpp b/src/declarative/qml/qdeclarativexmlhttprequest.cpp
index d832638..332acc4 100644
--- a/src/declarative/qml/qdeclarativexmlhttprequest.cpp
+++ b/src/declarative/qml/qdeclarativexmlhttprequest.cpp
@@ -1640,8 +1640,8 @@ static QScriptValue qmlxmlhttprequest_responseXML(QScriptContext *context, QScri
         THROW_REFERENCE("Not an XMLHttpRequest object");
 
     if (!request->receivedXml() ||
-        request->readyState() != QDeclarativeXMLHttpRequest::Loading &&
-        request->readyState() != QDeclarativeXMLHttpRequest::Done)
+        (request->readyState() != QDeclarativeXMLHttpRequest::Loading &&
+         request->readyState() != QDeclarativeXMLHttpRequest::Done))
         return engine->nullValue();
     else  
         return Document::load(engine, request->rawResponseBody());
diff --git a/src/gui/kernel/qaction.cpp b/src/gui/kernel/qaction.cpp
index a6d2594..f7e0751 100644
--- a/src/gui/kernel/qaction.cpp
+++ b/src/gui/kernel/qaction.cpp
@@ -82,8 +82,9 @@ static QString qt_strippedText(QString s)
 QActionPrivate::QActionPrivate() : group(0), enabled(1), forceDisabled(0),
                                    visible(1), forceInvisible(0), checkable(0), checked(0), separator(0), fontSet(false),
                                    forceEnabledInSoftkeys(false), menuActionSoftkeys(false),
+                                   iconVisibleInMenu(-1),
                                    menuRole(QAction::TextHeuristicRole), softKeyRole(QAction::NoSoftKey),
-                                   priority(QAction::NormalPriority), iconVisibleInMenu(-1)
+                                   priority(QAction::NormalPriority)
 {
 #ifdef QT3_SUPPORT
     static int qt_static_action_id = -1;
diff --git a/src/network/access/qnetworkreplyimpl.cpp b/src/network/access/qnetworkreplyimpl.cpp
index 31ee2a4..5850494 100644
--- a/src/network/access/qnetworkreplyimpl.cpp
+++ b/src/network/access/qnetworkreplyimpl.cpp
@@ -588,6 +588,7 @@ void QNetworkReplyImplPrivate::appendDownstreamData(QIODevice *data)
 
 void QNetworkReplyImplPrivate::appendDownstreamData(const QByteArray &data)
 {
+    Q_UNUSED(data)
     // TODO implement
 
     // TODO call
-- 
cgit v0.12


From 856eaf6d52c94fdf3bb0e3cdd60b79dccd8325f4 Mon Sep 17 00:00:00 2001
From: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Date: Tue, 14 Sep 2010 11:05:14 +0200
Subject: I18n: Fix some lupdate warnings.

---
 src/corelib/plugin/qsystemlibrary.cpp              |   4 +-
 src/declarative/qml/qdeclarativetypeloader.cpp     |   8 +-
 src/gui/accessible/qaccessible_win.cpp             | 130 ++++++++++-----------
 src/gui/embedded/qsoundqss_qws.cpp                 |   2 +-
 .../tools/assistant/helpenginewrapper.cpp          |   2 +-
 tools/assistant/tools/qhelpconverter/filespage.cpp |   4 +-
 .../assistant/tools/qhelpconverter/filterpage.cpp  |   2 +-
 .../formeditor/formeditor_optionspage.cpp          |   6 +-
 tools/linguist/shared/translator.h                 |   4 +-
 9 files changed, 82 insertions(+), 80 deletions(-)

diff --git a/src/corelib/plugin/qsystemlibrary.cpp b/src/corelib/plugin/qsystemlibrary.cpp
index a11ed50..eeb142b 100644
--- a/src/corelib/plugin/qsystemlibrary.cpp
+++ b/src/corelib/plugin/qsystemlibrary.cpp
@@ -78,7 +78,7 @@
     (http://msdn.microsoft.com/en-us/library/ms886736.aspx)
 */
 #if defined(Q_OS_WINCE)
-HINSTANCE QSystemLibrary::load(const wchar_t *libraryName, bool onlySystemDirectory/*= true*/)
+HINSTANCE QSystemLibrary::load(const wchar_t *libraryName, bool onlySystemDirectory /* = true */)
 {
     return ::LoadLibrary(libraryName);
 }
@@ -101,7 +101,7 @@ static QString qSystemDirectory()
     return QString::fromWCharArray(fullPath.constData(), int(retLen));
 }
 
-HINSTANCE QSystemLibrary::load(const wchar_t *libraryName, bool onlySystemDirectory/*= true*/)
+HINSTANCE QSystemLibrary::load(const wchar_t *libraryName, bool onlySystemDirectory /* = true */)
 {
     QStringList searchOrder;
 
diff --git a/src/declarative/qml/qdeclarativetypeloader.cpp b/src/declarative/qml/qdeclarativetypeloader.cpp
index 9b42065..061f309 100644
--- a/src/declarative/qml/qdeclarativetypeloader.cpp
+++ b/src/declarative/qml/qdeclarativetypeloader.cpp
@@ -804,7 +804,7 @@ void QDeclarativeTypeData::done()
             error.setUrl(finalUrl());
             error.setLine(script.location.line);
             error.setColumn(script.location.column);
-            error.setDescription(typeLoader()->tr("Script %1 unavailable").arg(script.script->url().toString()));
+            error.setDescription(QDeclarativeTypeLoader::tr("Script %1 unavailable").arg(script.script->url().toString()));
             errors.prepend(error);
             setError(errors);
         }
@@ -822,7 +822,7 @@ void QDeclarativeTypeData::done()
             error.setUrl(finalUrl());
             error.setLine(type.location.line);
             error.setColumn(type.location.column);
-            error.setDescription(typeLoader()->tr("Type %1 unavailable").arg(typeName));
+            error.setDescription(QDeclarativeTypeLoader::tr("Type %1 unavailable").arg(typeName));
             errors.prepend(error);
             setError(errors);
         }
@@ -995,9 +995,9 @@ void QDeclarativeTypeData::resolveTypes()
             QString userTypeName = parserRef->name;
             userTypeName.replace(QLatin1Char('/'),QLatin1Char('.'));
             if (typeNamespace)
-                error.setDescription(typeLoader()->tr("Namespace %1 cannot be used as a type").arg(userTypeName));
+                error.setDescription(QDeclarativeTypeLoader::tr("Namespace %1 cannot be used as a type").arg(userTypeName));
             else
-                error.setDescription(typeLoader()->tr("%1 %2").arg(userTypeName).arg(errorString));
+                error.setDescription(QDeclarativeTypeLoader::tr("%1 %2").arg(userTypeName).arg(errorString));
 
             if (!parserRef->refObjects.isEmpty()) {
                 QDeclarativeParser::Object *obj = parserRef->refObjects.first();
diff --git a/src/gui/accessible/qaccessible_win.cpp b/src/gui/accessible/qaccessible_win.cpp
index 132d01f..31e7245 100644
--- a/src/gui/accessible/qaccessible_win.cpp
+++ b/src/gui/accessible/qaccessible_win.cpp
@@ -76,71 +76,71 @@ QT_END_INCLUDE_NAMESPACE
 static const char *roleString(QAccessible::Role role)
 {
     static const char *roles[] = {
-       "NoRole"         /*= 0x00000000*/,
-       "TitleBar"       /*= 0x00000001*/,
-       "MenuBar"        /*= 0x00000002*/,
-       "ScrollBar"      /*= 0x00000003*/,
-       "Grip"           /*= 0x00000004*/,
-       "Sound"          /*= 0x00000005*/,
-       "Cursor"         /*= 0x00000006*/,
-       "Caret"          /*= 0x00000007*/,
-       "AlertMessage"   /*= 0x00000008*/,
-       "Window"         /*= 0x00000009*/,
-       "Client"         /*= 0x0000000A*/,
-       "PopupMenu"      /*= 0x0000000B*/,
-       "MenuItem"       /*= 0x0000000C*/,
-       "ToolTip"        /*= 0x0000000D*/,
-       "Application"    /*= 0x0000000E*/,
-       "Document"       /*= 0x0000000F*/,
-       "Pane"           /*= 0x00000010*/,
-       "Chart"          /*= 0x00000011*/,
-       "Dialog"         /*= 0x00000012*/,
-       "Border"         /*= 0x00000013*/,
-       "Grouping"       /*= 0x00000014*/,
-       "Separator"      /*= 0x00000015*/,
-       "ToolBar"        /*= 0x00000016*/,
-       "StatusBar"      /*= 0x00000017*/,
-       "Table"          /*= 0x00000018*/,
-       "ColumnHeader"   /*= 0x00000019*/,
-       "RowHeader"      /*= 0x0000001A*/,
-       "Column"         /*= 0x0000001B*/,
-       "Row"            /*= 0x0000001C*/,
-       "Cell"           /*= 0x0000001D*/,
-       "Link"           /*= 0x0000001E*/,
-       "HelpBalloon"    /*= 0x0000001F*/,
-       "Assistant"      /*= 0x00000020*/,
-       "List"           /*= 0x00000021*/,
-       "ListItem"       /*= 0x00000022*/,
-       "Tree"           /*= 0x00000023*/,
-       "TreeItem"       /*= 0x00000024*/,
-       "PageTab"        /*= 0x00000025*/,
-       "PropertyPage"   /*= 0x00000026*/,
-       "Indicator"      /*= 0x00000027*/,
-       "Graphic"        /*= 0x00000028*/,
-       "StaticText"     /*= 0x00000029*/,
-       "EditableText"   /*= 0x0000002A*/,  // Editable, selectable, etc.
-       "PushButton"     /*= 0x0000002B*/,
-       "CheckBox"       /*= 0x0000002C*/,
-       "RadioButton"    /*= 0x0000002D*/,
-       "ComboBox"       /*= 0x0000002E*/,
-       "DropList"       /*= 0x0000002F*/,    // commented out
-       "ProgressBar"    /*= 0x00000030*/,
-       "Dial"           /*= 0x00000031*/,
-       "HotkeyField"    /*= 0x00000032*/,
-       "Slider"         /*= 0x00000033*/,
-       "SpinBox"        /*= 0x00000034*/,
-       "Canvas"         /*= 0x00000035*/,
-       "Animation"      /*= 0x00000036*/,
-       "Equation"       /*= 0x00000037*/,
-       "ButtonDropDown" /*= 0x00000038*/,
-       "ButtonMenu"     /*= 0x00000039*/,
-       "ButtonDropGrid" /*= 0x0000003A*/,
-       "Whitespace"     /*= 0x0000003B*/,
-       "PageTabList"    /*= 0x0000003C*/,
-       "Clock"          /*= 0x0000003D*/,
-       "Splitter"       /*= 0x0000003E*/,
-       "LayeredPane"    /*= 0x0000003F*/,
-       "UserRole"       /*= 0x0000ffff*/
+       "NoRole"         /* = 0x00000000 */,
+       "TitleBar"       /* = 0x00000001 */,
+       "MenuBar"        /* = 0x00000002 */,
+       "ScrollBar"      /* = 0x00000003 */,
+       "Grip"           /* = 0x00000004 */,
+       "Sound"          /* = 0x00000005 */,
+       "Cursor"         /* = 0x00000006 */,
+       "Caret"          /* = 0x00000007 */,
+       "AlertMessage"   /* = 0x00000008 */,
+       "Window"         /* = 0x00000009 */,
+       "Client"         /* = 0x0000000A */,
+       "PopupMenu"      /* = 0x0000000B */,
+       "MenuItem"       /* = 0x0000000C */,
+       "ToolTip"        /* = 0x0000000D */,
+       "Application"    /* = 0x0000000E */,
+       "Document"       /* = 0x0000000F */,
+       "Pane"           /* = 0x00000010 */,
+       "Chart"          /* = 0x00000011 */,
+       "Dialog"         /* = 0x00000012 */,
+       "Border"         /* = 0x00000013 */,
+       "Grouping"       /* = 0x00000014 */,
+       "Separator"      /* = 0x00000015 */,
+       "ToolBar"        /* = 0x00000016 */,
+       "StatusBar"      /* = 0x00000017 */,
+       "Table"          /* = 0x00000018 */,
+       "ColumnHeader"   /* = 0x00000019 */,
+       "RowHeader"      /* = 0x0000001A */,
+       "Column"         /* = 0x0000001B */,
+       "Row"            /* = 0x0000001C */,
+       "Cell"           /* = 0x0000001D */,
+       "Link"           /* = 0x0000001E */,
+       "HelpBalloon"    /* = 0x0000001F */,
+       "Assistant"      /* = 0x00000020 */,
+       "List"           /* = 0x00000021 */,
+       "ListItem"       /* = 0x00000022 */,
+       "Tree"           /* = 0x00000023 */,
+       "TreeItem"       /* = 0x00000024 */,
+       "PageTab"        /* = 0x00000025 */,
+       "PropertyPage"   /* = 0x00000026 */,
+       "Indicator"      /* = 0x00000027 */,
+       "Graphic"        /* = 0x00000028 */,
+       "StaticText"     /* = 0x00000029 */,
+       "EditableText"   /* = 0x0000002A */,  // Editable, selectable, etc.
+       "PushButton"     /* = 0x0000002B */,
+       "CheckBox"       /* = 0x0000002C */,
+       "RadioButton"    /* = 0x0000002D */,
+       "ComboBox"       /* = 0x0000002E */,
+       "DropList"       /* = 0x0000002F */,    // commented out
+       "ProgressBar"    /* = 0x00000030 */,
+       "Dial"           /* = 0x00000031 */,
+       "HotkeyField"    /* = 0x00000032 */,
+       "Slider"         /* = 0x00000033 */,
+       "SpinBox"        /* = 0x00000034 */,
+       "Canvas"         /* = 0x00000035 */,
+       "Animation"      /* = 0x00000036 */,
+       "Equation"       /* = 0x00000037 */,
+       "ButtonDropDown" /* = 0x00000038 */,
+       "ButtonMenu"     /* = 0x00000039 */,
+       "ButtonDropGrid" /* = 0x0000003A */,
+       "Whitespace"     /* = 0x0000003B */,
+       "PageTabList"    /* = 0x0000003C */,
+       "Clock"          /* = 0x0000003D */,
+       "Splitter"       /* = 0x0000003E */,
+       "LayeredPane"    /* = 0x0000003F */,
+       "UserRole"       /* = 0x0000ffff*/
    };
 
    if (role >=0x40)
diff --git a/src/gui/embedded/qsoundqss_qws.cpp b/src/gui/embedded/qsoundqss_qws.cpp
index 3958cf0..c77c35c 100644
--- a/src/gui/embedded/qsoundqss_qws.cpp
+++ b/src/gui/embedded/qsoundqss_qws.cpp
@@ -286,7 +286,7 @@ public:
 	rightVolume = maxVolume>>1;
 	isPriority = false;
         samples_due = 0;
-	max1 = max2 = out = 0;//= sound_buffer_size;
+	max1 = max2 = out = 0;// = sound_buffer_size;
 	data = data1;
 	max = &max1;
 	sampleRunin = 0;
diff --git a/tools/assistant/tools/assistant/helpenginewrapper.cpp b/tools/assistant/tools/assistant/helpenginewrapper.cpp
index 9748702..a53a9ee 100644
--- a/tools/assistant/tools/assistant/helpenginewrapper.cpp
+++ b/tools/assistant/tools/assistant/helpenginewrapper.cpp
@@ -114,7 +114,7 @@ private:
     QMap<QString, RecentSignal> m_recentQchUpdates;
 };
 
-const QString HelpEngineWrapper::TrUnfiltered = tr("Unfiltered");
+const QString HelpEngineWrapper::TrUnfiltered = HelpEngineWrapper::tr("Unfiltered");
 
 HelpEngineWrapper *HelpEngineWrapper::helpEngineWrapper = 0;
 
diff --git a/tools/assistant/tools/qhelpconverter/filespage.cpp b/tools/assistant/tools/qhelpconverter/filespage.cpp
index 4ebf391..fd4a40e 100644
--- a/tools/assistant/tools/qhelpconverter/filespage.cpp
+++ b/tools/assistant/tools/qhelpconverter/filespage.cpp
@@ -59,8 +59,8 @@ FilesPage::FilesPage(QWidget *parent)
     connect(m_ui.removeAllButton, SIGNAL(clicked()),
         this, SLOT(removeAllFiles()));
 
-    m_ui.fileLabel->setText(tr("<p><b>Warning:</b> Be aware "
-        "when removing images or stylesheets since those files "
+    m_ui.fileLabel->setText(tr("<p><b>Warning:</b> "
+        "When removing images or stylesheets, be aware that those files "
         "are not directly referenced by the .adp or .dcf "
         "file.</p>"));
 }
diff --git a/tools/assistant/tools/qhelpconverter/filterpage.cpp b/tools/assistant/tools/qhelpconverter/filterpage.cpp
index c782943..c15a580 100644
--- a/tools/assistant/tools/qhelpconverter/filterpage.cpp
+++ b/tools/assistant/tools/qhelpconverter/filterpage.cpp
@@ -50,7 +50,7 @@ FilterPage::FilterPage(QWidget *parent)
     setTitle(tr("Filter Settings"));
     setSubTitle(tr("Specify the filter attributes for the "
         "documentation. If filter attributes are used, "
-        "also define a custom filter for it. Both, the "
+        "also define a custom filter for it. Both the "
         "filter attributes and the custom filters are "
         "optional."));
 
diff --git a/tools/designer/src/components/formeditor/formeditor_optionspage.cpp b/tools/designer/src/components/formeditor/formeditor_optionspage.cpp
index 102f44a..8e0cc66 100644
--- a/tools/designer/src/components/formeditor/formeditor_optionspage.cpp
+++ b/tools/designer/src/components/formeditor/formeditor_optionspage.cpp
@@ -86,9 +86,11 @@ ZoomSettingsWidget::ZoomSettingsWidget(QWidget *parent) :
     m_zoomCombo->setEditable(false);
     const IntList zoomValues = ZoomMenu::zoomValues();
     const IntList::const_iterator cend = zoomValues.constEnd();
-    //: Zoom percentage
-    for (IntList::const_iterator it = zoomValues.constBegin(); it != cend; ++it)
+
+    for (IntList::const_iterator it = zoomValues.constBegin(); it != cend; ++it) {
+        //: Zoom percentage
         m_zoomCombo->addItem(QCoreApplication::translate("FormEditorOptionsPage", "%1 %").arg(*it), QVariant(*it));
+    }
 
     // Layout
     setCheckable(true);
diff --git a/tools/linguist/shared/translator.h b/tools/linguist/shared/translator.h
index cfb2178..02cfb07 100644
--- a/tools/linguist/shared/translator.h
+++ b/tools/linguist/shared/translator.h
@@ -123,8 +123,8 @@ class Translator
 public:
     Translator();
 
-    bool load(const QString &filename, ConversionData &err, const QString &format /*= "auto"*/);
-    bool save(const QString &filename, ConversionData &err, const QString &format /*= "auto"*/) const;
+    bool load(const QString &filename, ConversionData &err, const QString &format /* = "auto" */);
+    bool save(const QString &filename, ConversionData &err, const QString &format /* = "auto" */) const;
     bool release(QFile *iod, ConversionData &cd) const;
 
     int find(const TranslatorMessage &msg) const;
-- 
cgit v0.12


From e23a4efe9a16de3d12b30411c62d677bfb6da8cf Mon Sep 17 00:00:00 2001
From: Joerg Bornemann <joerg.bornemann@nokia.com>
Date: Tue, 14 Sep 2010 11:37:14 +0200
Subject: build fix for configure.exe

Reviewed-by: TrustMe
---
 tools/configure/configure.pro | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tools/configure/configure.pro b/tools/configure/configure.pro
index a3473af..8a62fe1 100644
--- a/tools/configure/configure.pro
+++ b/tools/configure/configure.pro
@@ -92,6 +92,7 @@ SOURCES  = main.cpp configureapp.cpp environment.cpp tools.cpp \
            $$QT_SOURCE_TREE/src/corelib/io/qiodevice.cpp \
            $$QT_SOURCE_TREE/src/corelib/io/qtextstream.cpp \
            $$QT_SOURCE_TREE/src/corelib/io/qtemporaryfile.cpp \
+           $$QT_SOURCE_TREE/src/corelib/plugin/qsystemlibrary.cpp \
            $$QT_SOURCE_TREE/src/corelib/tools/qbitarray.cpp \
            $$QT_SOURCE_TREE/src/corelib/tools/qdatetime.cpp \
            $$QT_SOURCE_TREE/src/corelib/tools/qmap.cpp \
-- 
cgit v0.12


From 3992147ad0364b19b45bfa73397e9ab6206a4163 Mon Sep 17 00:00:00 2001
From: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Date: Tue, 14 Sep 2010 11:39:46 +0200
Subject: L10n: Update German translations for 4.7.1, part 1.

---
 translations/assistant_de.ts | 540 +++++++++++++++++++++++++++++++++-
 translations/designer_de.ts  |  56 ++++
 translations/linguist_de.ts  | 686 +++++++++++++++++++++++++++++++++++++++++++
 translations/qt_de.ts        |  46 ++-
 translations/qt_help_de.ts   |   2 +-
 5 files changed, 1322 insertions(+), 8 deletions(-)

diff --git a/translations/assistant_de.ts b/translations/assistant_de.ts
index 0f4d0d6..95fabaf 100644
--- a/translations/assistant_de.ts
+++ b/translations/assistant_de.ts
@@ -75,7 +75,7 @@ Grund:
     </message>
     <message>
         <source>Error reading collection file &apos;%1&apos;: %2</source>
-        <translation>Fehler beim Lesen der Katalogdatei &apos;%1&apos;: %2</translation>
+        <translation type="obsolete">Fehler beim Lesen der Katalogdatei &apos;%1&apos;: %2</translation>
     </message>
     <message>
         <source>Cannot load sqlite database driver!</source>
@@ -110,6 +110,17 @@ Grund:
     </message>
 </context>
 <context>
+    <name>BookmarkItem</name>
+    <message>
+        <source>New Folder</source>
+        <translation>Neuer Ordner</translation>
+    </message>
+    <message>
+        <source>Untitled</source>
+        <translation>Ohne Titel</translation>
+    </message>
+</context>
+<context>
     <name>BookmarkManager</name>
     <message>
         <source>Untitled</source>
@@ -327,6 +338,39 @@ Grund:
         <translation>Die Katalogdatei &apos;%1&apos; existiert nicht.</translation>
     </message>
     <message>
+        <source>Usage: assistant [Options]
+
+-collectionFile file       Uses the specified collection
+                           file instead of the default one
+-showUrl url               Shows the document with the
+                           url.
+-enableRemoteControl       Enables Assistant to be
+                           remotely controlled.
+-show widget               Shows the specified dockwidget
+                           which can be &quot;contents&quot;, &quot;index&quot;,
+                           &quot;bookmarks&quot; or &quot;search&quot;.
+-activate widget           Activates the specified dockwidget
+                           which can be &quot;contents&quot;, &quot;index&quot;,
+                           &quot;bookmarks&quot; or &quot;search&quot;.
+-hide widget               Hides the specified dockwidget
+                           which can be &quot;contents&quot;, &quot;index&quot;
+                           &quot;bookmarks&quot; or &quot;search&quot;.
+-register helpFile         Registers the specified help file
+                           (.qch) in the given collection
+                           file.
+-unregister helpFile       Unregisters the specified help file
+                           (.qch) from the give collection
+                           file.
+-setCurrentFilter filter   Set the filter as the active filter.
+-remove-search-index       Removes the full text search index.
+-rebuild-search-index      Re-builds the full text search index (potentially slow).
+-quiet                     Does not display any error or
+                           status message.
+-help                      Displays this help.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <source>Missing collection file.</source>
         <translation>Fehlende Katalogdatei.</translation>
     </message>
@@ -375,6 +419,60 @@ Grund:
     </message>
 </context>
 <context>
+    <name>ConversionWizard</name>
+    <message>
+        <source>Help Conversion Wizard</source>
+        <translation>Konvertierungsassistant für Hilfedateien</translation>
+    </message>
+    <message>
+        <source>Converting %1...</source>
+        <translation>Konvertiere %1...</translation>
+    </message>
+    <message>
+        <source>Writing help collection file...</source>
+        <translation>Schreibe Hilfedatei...</translation>
+    </message>
+    <message>
+        <source>Done.</source>
+        <translation>Beendet.</translation>
+    </message>
+</context>
+<context>
+    <name>FilesPage</name>
+    <message>
+        <source>Form</source>
+        <translation>Form</translation>
+    </message>
+    <message>
+        <source>Files:</source>
+        <translation>Dateien:</translation>
+    </message>
+    <message>
+        <source>Remove</source>
+        <translation>Entfernen</translation>
+    </message>
+    <message>
+        <source>Remove All</source>
+        <translation>Alle entfernen</translation>
+    </message>
+    <message>
+        <source>Unreferenced Files</source>
+        <translation>Unreferenzierte Dateien</translation>
+    </message>
+    <message>
+        <source>Remove files which are neither referenced by a keyword nor by the TOC.</source>
+        <translation>Entfernt Dateien, die weder vom Inhaltsverzeichnis noch von einem Schlüsselwort referenziert werden.</translation>
+    </message>
+    <message>
+        <source>&lt;p&gt;&lt;b&gt;Warning:&lt;/b&gt; When removing images or stylesheets, be aware that those files are not directly referenced by the .adp or .dcf file.&lt;/p&gt;</source>
+        <translation>&lt;p&gt;&lt;b&gt;Warnhinweis:&lt;/b&gt; Beachten Sie beim Löschen von Bilddateien oder Stylesheet-Dateien, dass diese nicht direkt von den .adp- oder .dcf-Dateien referenziert werden.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <source>&lt;p&gt;&lt;b&gt;Warning:&lt;/b&gt; Be aware when removing images or stylesheets since those files are not directly referenced by the .adp or .dcf file.&lt;/p&gt;</source>
+        <translation type="obsolete">&lt;p&gt;&lt;b&gt;Warnhinweis:&lt;/b&gt; Be aware when removing images or stylesheets since those files are not directly referenced by the .adp or .dcf file.&lt;/p&gt;</translation>
+    </message>
+</context>
+<context>
     <name>FilterNameDialogClass</name>
     <message>
         <source>Add Filter Name</source>
@@ -386,6 +484,70 @@ Grund:
     </message>
 </context>
 <context>
+    <name>FilterPage</name>
+    <message>
+        <source>Form</source>
+        <translation></translation>
+    </message>
+    <message>
+        <source>Filter attributes for current documentation (comma separated list):</source>
+        <translation>Attribute der Filter für die angezeigte Dokumentation (durch Komma getrennte Liste):</translation>
+    </message>
+    <message>
+        <source>Custom Filters</source>
+        <translation>Benutzerdefinierte Filter</translation>
+    </message>
+    <message>
+        <source>1</source>
+        <translation>1</translation>
+    </message>
+    <message>
+        <source>2</source>
+        <translation>2</translation>
+    </message>
+    <message>
+        <source>Add</source>
+        <translation>Hinzufügen</translation>
+    </message>
+    <message>
+        <source>Remove</source>
+        <translation>Entfernen</translation>
+    </message>
+    <message>
+        <source>Filter Settings</source>
+        <translation>Filtereinstellungen</translation>
+    </message>
+    <message>
+        <source>Specify the filter attributes for the documentation. If filter attributes are used, also define a custom filter for it. Both, the filter attributes and the custom filters are optional.</source>
+        <translation type="obsolete">Geben Sie die Attribute der Filter für die Dokumentation an. Wenn Attribute verwendet werden, sollte auch ein benutzerdefiniertes Filter festgelegt werden. Sowohl Filter-Attribute als auch benutzerdefinierte Filter sind jedoch optional.</translation>
+    </message>
+    <message>
+        <source>Specify the filter attributes for the documentation. If filter attributes are used, also define a custom filter for it. Both the filter attributes and the custom filters are optional.</source>
+        <translation>Geben Sie die Attribute der Filter für die Dokumentation an. Wenn Attribute verwendet werden, sollte auch ein benutzerdefiniertes Filter festgelegt werden. Sowohl Filter-Attribute als auch benutzerdefinierte Filter sind jedoch optional.</translation>
+    </message>
+    <message>
+        <source>Filter Name</source>
+        <translation>Filtername</translation>
+    </message>
+    <message>
+        <source>Filter Attributes</source>
+        <translation>Attribute des Filters</translation>
+    </message>
+    <message>
+        <source>The custom filter &apos;%1&apos; is defined multiple times.</source>
+        <translation>Das benutzerdefinierte Filter &apos;%1&apos; wurde mehrfach definiert.</translation>
+    </message>
+    <message>
+        <source>The attributes for custom filter &apos;%1&apos; are defined multiple times.</source>
+        <translation>Die Attribute des benutzerdefinierten Filters &apos;%1&apos; wurden mehrfach definiert.</translation>
+    </message>
+    <message>
+        <source>unfiltered</source>
+        <comment>list of available documentation</comment>
+        <translation>Ungefiltert</translation>
+    </message>
+</context>
+<context>
     <name>FindWidget</name>
     <message>
         <source>Previous</source>
@@ -405,6 +567,17 @@ Grund:
     </message>
 </context>
 <context>
+    <name>FinishPage</name>
+    <message>
+        <source>Converting File</source>
+        <translation>Konvertiere Datei</translation>
+    </message>
+    <message>
+        <source>Creating the new Qt help files from the old ADP file.</source>
+        <translation>Erzeuge die neuen Qt-Hilfedateien aus den alten ADP-Dateien.</translation>
+    </message>
+</context>
+<context>
     <name>FontPanel</name>
     <message>
         <source>Font</source>
@@ -428,6 +601,59 @@ Grund:
     </message>
 </context>
 <context>
+    <name>GeneralPage</name>
+    <message>
+        <source>Form</source>
+        <translation>Form</translation>
+    </message>
+    <message>
+        <source>Namespace:</source>
+        <translation>Namensraum:</translation>
+    </message>
+    <message>
+        <source>Virtual Folder:</source>
+        <translation>Virtueller Ordner:</translation>
+    </message>
+    <message>
+        <source>General Settings</source>
+        <translation>Allgemeine Einstellungen</translation>
+    </message>
+    <message>
+        <source>Specify the namespace and the virtual folder for the documentation.</source>
+        <translation>Geben Sie den Namensraum und den virtuellen Ordner für die Dokumentation an.</translation>
+    </message>
+    <message>
+        <source>Namespace Error</source>
+        <translation>Fehlerhafter Namensraum</translation>
+    </message>
+    <message>
+        <source>The namespace contains some invalid characters.</source>
+        <translation>Der Namensraum enthält einige ungültige Zeichen.</translation>
+    </message>
+    <message>
+        <source>Virtual Folder Error</source>
+        <translation>Fehlerhafter virtueller Ordner</translation>
+    </message>
+    <message>
+        <source>The virtual folder contains some invalid characters.</source>
+        <translation>Der virtuelle Ornder enthält einige ungültige Zeichen.</translation>
+    </message>
+</context>
+<context>
+    <name>HelpEngineWrapper</name>
+    <message>
+        <source>Unfiltered</source>
+        <translation>Ungefiltert</translation>
+    </message>
+</context>
+<context>
+    <name>HelpGenerator</name>
+    <message>
+        <source>Warning: %1</source>
+        <translation>Warnung: %1</translation>
+    </message>
+</context>
+<context>
     <name>HelpViewer</name>
     <message>
         <source>&lt;title&gt;about:blank&lt;/title&gt;</source>
@@ -451,6 +677,40 @@ Grund:
     </message>
 </context>
 <context>
+    <name>HelpWindow</name>
+    <message>
+        <source>&lt;center&gt;&lt;b&gt;Wizard Assistant&lt;/b&gt;&lt;/center&gt;</source>
+        <translation>&lt;center&gt;&lt;b&gt;Assistent&lt;/b&gt;&lt;/center&gt;</translation>
+    </message>
+</context>
+<context>
+    <name>IdentifierPage</name>
+    <message>
+        <source>Form</source>
+        <translation>Form</translation>
+    </message>
+    <message>
+        <source>Create identifiers</source>
+        <translation>Bezeichner erzeugen</translation>
+    </message>
+    <message>
+        <source>Global prefix:</source>
+        <translation>Globaler Präfix:</translation>
+    </message>
+    <message>
+        <source>Inherit prefix from file names</source>
+        <translation>Präfixe aus Dateinamen entnehmen</translation>
+    </message>
+    <message>
+        <source>Identifiers</source>
+        <translation>Bezeichner</translation>
+    </message>
+    <message>
+        <source>This page allows you to create identifiers from the keywords found in the .adp or .dcf file.</source>
+        <translation>Diese Seite gestattet das Erzeugen von Bezeichnern aus den Schlüsselwörtern, die in den .adp- oder .dcf-Dateien gefunden werden.</translation>
+    </message>
+</context>
+<context>
     <name>IndexWindow</name>
     <message>
         <source>&amp;Look for:</source>
@@ -466,6 +726,53 @@ Grund:
     </message>
 </context>
 <context>
+    <name>InputPage</name>
+    <message>
+        <source>Form</source>
+        <translation>Form</translation>
+    </message>
+    <message>
+        <source>File name:</source>
+        <translation>Dateiname:</translation>
+    </message>
+    <message>
+        <source>...</source>
+        <translation>...</translation>
+    </message>
+    <message>
+        <source>Input File</source>
+        <translation>Eingabedatei:</translation>
+    </message>
+    <message>
+        <source>Specify the .adp or .dcf file you want to convert to the new Qt help project format and/or collection format.</source>
+        <translation>Geben Sie die .adp- oder .dcf-Datei an, die Sie in die neuen Qt-Hilfedateiformate konvertieren möchten.</translation>
+    </message>
+    <message>
+        <source>Open file</source>
+        <translation>Datei öffnen</translation>
+    </message>
+    <message>
+        <source>Qt Help Files (*.adp *.dcf)</source>
+        <translation>Qt-Hilfedateien (*.adp *.dcf)</translation>
+    </message>
+    <message>
+        <source>File Open Error</source>
+        <translation>Fehler beim Öffnen der Datei</translation>
+    </message>
+    <message>
+        <source>The specified file could not be opened!</source>
+        <translation>Die angegebene Datei konnte nicht geöffnet werden.</translation>
+    </message>
+    <message>
+        <source>File Parsing Error</source>
+        <translation>Fehler beim Auslesen der Datei</translation>
+    </message>
+    <message>
+        <source>Parsing error in line %1!</source>
+        <translation>Fehler bei Zeile %1.</translation>
+    </message>
+</context>
+<context>
     <name>InstallDialog</name>
     <message>
         <source>Install Documentation</source>
@@ -681,6 +988,10 @@ Grund:
         <translation>Ctrl+Alt+Left</translation>
     </message>
     <message>
+        <source>&lt;center&gt;&lt;h3&gt;%1&lt;/h3&gt;&lt;p&gt;Version %2&lt;/p&gt;&lt;/center&gt;&lt;p&gt;Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <source>Could not register file &apos;%1&apos;: %2</source>
         <translation>Die Datei &apos;%1&apos; konnte nicht registriert werden: %2</translation>
     </message>
@@ -778,6 +1089,92 @@ Grund:
     </message>
 </context>
 <context>
+    <name>OutputPage</name>
+    <message>
+        <source>Form</source>
+        <translation>Form</translation>
+    </message>
+    <message>
+        <source>Project file name:</source>
+        <translation>Name der Projektdatei:</translation>
+    </message>
+    <message>
+        <source>Collection file name:</source>
+        <translation>Name der Katalogdatei:</translation>
+    </message>
+    <message>
+        <source>Output File Names</source>
+        <translation>Ausgabedateien</translation>
+    </message>
+    <message>
+        <source>Specify the file names for the output files.</source>
+        <translation>Geben Sie die Namen der Ausgabedateien an.</translation>
+    </message>
+    <message>
+        <source>Convert...</source>
+        <translation>Konvertiere ...</translation>
+    </message>
+    <message>
+        <source>Qt Help Project File</source>
+        <translation>Qt-Hilfe-Projektdatei</translation>
+    </message>
+    <message>
+        <source>Qt Help Collection Project File</source>
+        <translation>Qt-Hilfe-Katalogdatei</translation>
+    </message>
+    <message>
+        <source>The specified file %1 already exist.
+
+Do you want to remove it?</source>
+        <translation>Die Datei %1 existiert bereits.
+
+Möchten Sie sie löschen?</translation>
+    </message>
+    <message>
+        <source>Remove</source>
+        <translation>Entfernen</translation>
+    </message>
+    <message>
+        <source>Cancel</source>
+        <translation>Abbrechen</translation>
+    </message>
+</context>
+<context>
+    <name>PathPage</name>
+    <message>
+        <source>Form</source>
+        <translation>Form</translation>
+    </message>
+    <message>
+        <source>File filters:</source>
+        <translation>Dateifilter:</translation>
+    </message>
+    <message>
+        <source>Documentation source file paths:</source>
+        <translation>Pfade der Dokumentations-Quelldateien:</translation>
+    </message>
+    <message>
+        <source>Add</source>
+        <translation>Hinzufügen</translation>
+    </message>
+    <message>
+        <source>Remove</source>
+        <translation>Entfernen</translation>
+    </message>
+    <message>
+        <source>Source File Paths</source>
+        <translation>Pfade der Quelldateien</translation>
+    </message>
+    <message>
+        <source>Specify the paths where the sources files are located. By default, all files in those directories matched by the file filter will be included.</source>
+        <translation>Geben Sie die Pfade an, unter denen sich die Quelldateien befinden. Es werden alle Dateien aus diesen Verzeichnissen aufgenommen, die dem Dateifilter entsprechen.</translation>
+    </message>
+    <message>
+        <source>Source File Path</source>
+        <translation>Pfade der Quelldateien</translation>
+    </message>
+</context>
+<context>
     <name>PreferencesDialog</name>
     <message>
         <source>Add Documentation</source>
@@ -912,6 +1309,147 @@ Grund:
     </message>
 </context>
 <context>
+    <name>QCollectionGenerator</name>
+    <message>
+        <source>Unknown token at line %1.</source>
+        <translation>Unbekanntes Schlüsselwort bei Zeile %1.</translation>
+    </message>
+    <message>
+        <source>Unknown token at line %1. Expected &quot;QtHelpCollectionProject&quot;.</source>
+        <translation>Unbekanntes Schlüsselwort bei Zeile %1. Es wird &quot;QtHelpCollectionProject&quot; erwartet.</translation>
+    </message>
+    <message>
+        <source>Missing end tags.</source>
+        <translation>Es fehlen schließende Elemente.</translation>
+    </message>
+    <message>
+        <source>Missing input or output file for help file generation.</source>
+        <translation>Es fehlen einige der für die Erzeugung der Hilfedateien benötigte Eingabe- oder Ausgabedateien.</translation>
+    </message>
+    <message>
+        <source>Missing output file name.</source>
+        <translation>Es wurde kein Name für die Ausgabedatei angegeben.</translation>
+    </message>
+    <message>
+        <source>Qt Collection Generator version 1.0 (Qt %1)
+</source>
+        <translation>Qt Collection Generator Version 1.0 (Qt %1)
+</translation>
+    </message>
+    <message>
+        <source>Missing collection config file.</source>
+        <translation>Die für den Katalog benötigte Konfigurationsdatei fehlt.</translation>
+    </message>
+    <message>
+        <source>
+Usage:
+
+qcollectiongenerator &lt;collection-config-file&gt; [options]
+
+  -o &lt;collection-file&gt;   Generates a collection file
+                         called &lt;collection-file&gt;. If
+                         this option is not specified
+                         a default name will be used.
+  -v                     Displays the version of
+                         qcollectiongenerator.
+
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Could not open %1.
+</source>
+        <translation>Die Datei &apos;%1&apos; konnte nicht geöffnet werden.
+</translation>
+    </message>
+    <message>
+        <source>Reading collection config file...
+</source>
+        <translation>Lese Konfigurationsdatei des Katalogs...
+</translation>
+    </message>
+    <message>
+        <source>Collection config file error: %1
+</source>
+        <translation>Fehler in der Konfigurationsdatei des Katalogs %1</translation>
+    </message>
+    <message>
+        <source>Generating help for %1...
+</source>
+        <translation>Erzeuge Hilfe für %1...
+</translation>
+    </message>
+    <message>
+        <source>Creating collection file...
+</source>
+        <translation>Erzeuge Katalogdatei...
+</translation>
+    </message>
+    <message>
+        <source>The file %1 cannot be overwritten.
+</source>
+        <translation>Die Datei %1 konnte nicht überschrieben werden.</translation>
+    </message>
+    <message>
+        <source>Cannot open %1.
+</source>
+        <translation>Die Datei &apos;%1&apos; konnte nicht geöffnet werden.
+</translation>
+    </message>
+    <message>
+        <source>Cannot open referenced image file %1.
+</source>
+        <translation>Die referenzierte Bilddatei %1 konnte nicht geöffnet werden.
+</translation>
+    </message>
+</context>
+<context>
+    <name>QHelpGenerator</name>
+    <message>
+        <source>Missing output file name.</source>
+        <translation>Es wurde kein Name für die Ausgabedatei angegeben.</translation>
+    </message>
+    <message>
+        <source>Qt Help Generator version 1.0 (Qt %1)
+</source>
+        <translation>Qt Help Generator Version 1.0 (Qt %1)
+</translation>
+    </message>
+    <message>
+        <source>Missing Qt help project file.</source>
+        <translation>Die Qt-Hilfe-Projektdatei fehlt.</translation>
+    </message>
+    <message>
+        <source>
+Usage:
+
+qhelpgenerator &lt;help-project-file&gt; [options]
+
+  -o &lt;compressed-file&gt;   Generates a Qt compressed help
+                         file called &lt;compressed-file&gt;.
+                         If this option is not specified
+                         a default name will be used.
+  -c                     Checks whether all links in HTML files
+                         point to files in this help project.
+  -v                     Displays the version of 
+                         qhelpgenerator.
+
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Could not open %1.
+</source>
+        <translation>Die Datei &apos;%1&apos; konnte nicht geöffnet werden.
+</translation>
+    </message>
+    <message>
+        <source>Could not create output directory: %1
+</source>
+        <translation>Der Ausgabeordner &apos;%1 konnte nicht erzeugt werden</translation>
+    </message>
+</context>
+<context>
     <name>RemoteControl</name>
     <message>
         <source>Debugging Remote Control</source>
diff --git a/translations/designer_de.ts b/translations/designer_de.ts
index 9ff5099..f0546c7 100644
--- a/translations/designer_de.ts
+++ b/translations/designer_de.ts
@@ -25,6 +25,49 @@
     </message>
 </context>
 <context>
+    <name>AbstractItemEditor</name>
+    <message>
+        <source>Selectable</source>
+        <translation>Selectable</translation>
+    </message>
+    <message>
+        <source>Editable</source>
+        <translation>Editable</translation>
+    </message>
+    <message>
+        <source>DragEnabled</source>
+        <translation>DragEnabled</translation>
+    </message>
+    <message>
+        <source>DropEnabled</source>
+        <translation>DropEnabled</translation>
+    </message>
+    <message>
+        <source>UserCheckable</source>
+        <translation>UserCheckable</translation>
+    </message>
+    <message>
+        <source>Enabled</source>
+        <translation>Enabled</translation>
+    </message>
+    <message>
+        <source>Tristate</source>
+        <translation>Tristate</translation>
+    </message>
+    <message>
+        <source>Unchecked</source>
+        <translation>Unchecked</translation>
+    </message>
+    <message>
+        <source>PartiallyChecked</source>
+        <translation>PartiallyChecked</translation>
+    </message>
+    <message>
+        <source>Checked</source>
+        <translation>Checked</translation>
+    </message>
+</context>
+<context>
     <name>AddLinkDialog</name>
     <message>
         <source>Insert Link</source>
@@ -851,6 +894,7 @@ Parsing grid layout minimum size values</extracomment>
     <name>FormEditorOptionsPage</name>
     <message>
         <source>%1 %</source>
+        <extracomment>Zoom percentage</extracomment>
         <translation>%1 %</translation>
     </message>
     <message>
@@ -2509,6 +2553,10 @@ Empty class name passed to widget factory method</extracomment>
 <context>
     <name>QtLocalePropertyManager</name>
     <message>
+        <source>&lt;Invalid&gt;</source>
+        <translation>&lt;Ungültig&gt;</translation>
+    </message>
+    <message>
         <source>%1, %2</source>
         <translation>%1, %2</translation>
     </message>
@@ -4730,6 +4778,14 @@ Please select another name.</source>
         <translation>Nach neu installierten Plugins mit benutzerdefinierten Widgets suchen.</translation>
     </message>
     <message>
+        <source>Loaded Plugins</source>
+        <translation>Geladene Plugins</translation>
+    </message>
+    <message>
+        <source>Failed Plugins</source>
+        <translation>Fehlgeschlagene Plugins</translation>
+    </message>
+    <message>
         <source>Qt Designer couldn&apos;t find any plugins</source>
         <translation>Qt Designer kann keine Plugins finden</translation>
     </message>
diff --git a/translations/linguist_de.ts b/translations/linguist_de.ts
index b4e0a45..aa992a9 100644
--- a/translations/linguist_de.ts
+++ b/translations/linguist_de.ts
@@ -257,6 +257,99 @@ Es wird mit einer einfachen Universalform gearbeitet.</translation>
     </message>
 </context>
 <context>
+    <name>LConvert</name>
+    <message>
+        <source>
+Usage:
+    lconvert [options] &lt;infile&gt; [&lt;infile&gt;...]
+
+lconvert is part of Qt&apos;s Linguist tool chain. It can be used as a
+stand-alone tool to convert and filter translation data files.
+The following file formats are supported:
+
+%1
+If multiple input files are specified, they are merged with
+translations from later files taking precedence.
+
+Options:
+    -h
+    --help  Display this information and exit.
+
+    -i &lt;infile&gt;
+    --input-file &lt;infile&gt;
+           Specify input file. Use if &lt;infile&gt; might start with a dash.
+           This option can be used several times to merge inputs.
+           May be &apos;-&apos; (standard input) for use in a pipe.
+
+    -o &lt;outfile&gt;
+    --output-file &lt;outfile&gt;
+           Specify output file. Default is &apos;-&apos; (standard output).
+
+    -if &lt;informat&gt;
+    --input-format &lt;format&gt;
+           Specify input format for subsequent &lt;infile&gt;s.
+           The format is auto-detected from the file name and defaults to &apos;ts&apos;.
+
+    -of &lt;outformat&gt;
+    --output-format &lt;outformat&gt;
+           Specify output format. See -if.
+
+    --input-codec &lt;codec&gt;
+           Specify encoding for QM and PO input files. Default is &apos;Latin1&apos;
+           for QM and &apos;UTF-8&apos; for PO files. UTF-8 is always tried as well for
+           QM, corresponding to the possible use of the trUtf8() function.
+
+    --output-codec &lt;codec&gt;
+           Specify encoding for PO output files. Default is &apos;UTF-8&apos;.
+
+    --drop-tags &lt;regexp&gt;
+           Drop named extra tags when writing TS or XLIFF files.
+           May be specified repeatedly.
+
+    --drop-translations
+           Drop existing translations and reset the status to &apos;unfinished&apos;.
+           Note: this implies --no-obsolete.
+
+    --source-language &lt;language&gt;[_&lt;region&gt;]
+           Specify/override the language of the source strings. Defaults to
+           POSIX if not specified and the file does not name it yet.
+
+    --target-language &lt;language&gt;[_&lt;region&gt;]
+           Specify/override the language of the translation.
+           The target language is guessed from the file name if this option
+           is not specified and the file contents name no language yet.
+
+    --no-obsolete
+           Drop obsolete messages.
+
+    --no-finished
+           Drop finished messages.
+
+    --sort-contexts
+           Sort contexts in output TS file alphabetically.
+
+    --locations {absolute|relative|none}
+           Override how source code references are saved in TS files.
+           Default is absolute.
+
+    --no-ui-lines
+           Drop line numbers from references to UI files.
+
+    --verbose
+           be a bit more verbose
+
+Long options can be specified with only one leading dash, too.
+
+Return value:
+    0 on success
+    1 on command line parse failures
+    2 on read failures
+    3 on write failures
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>LRelease</name>
     <message numerus="yes">
         <source>Dropped %n message(s) which had no ID.</source>
@@ -306,6 +399,586 @@ Es wird mit einer einfachen Universalform gearbeitet.</translation>
 </numerusform>
         </translation>
     </message>
+    <message>
+        <source>Usage:
+    lrelease [options] project-file
+    lrelease [options] ts-files [-qm qm-file]
+
+lrelease is part of Qt&apos;s Linguist tool chain. It can be used as a
+stand-alone tool to convert XML-based translations files in the TS
+format into the &apos;compiled&apos; QM format used by QTranslator objects.
+
+Options:
+    -help  Display this information and exit
+    -idbased
+           Use IDs instead of source strings for message keying
+    -compress
+           Compress the QM files
+    -nounfinished
+           Do not include unfinished translations
+    -removeidentical
+           If the translated text is the same as
+           the source text, do not include the message
+    -markuntranslated &lt;prefix&gt;
+           If a message has no real translation, use the source text
+           prefixed with the given string instead
+    -silent
+           Do not explain what is being done
+    -version
+           Display the version of lrelease and exit
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>lrelease error: %1</source>
+        <translation>Fehler in lrelease: %1</translation>
+    </message>
+    <message>
+        <source>Updating &apos;%1&apos;...
+</source>
+        <translation>Bringe &apos;%1&apos; auf aktuellen Stand...
+</translation>
+    </message>
+    <message>
+        <source>Removing translations equal to source text in &apos;%1&apos;...
+</source>
+        <translation>Entferne Übersetzungen, die dem unübersetzten Text entsprechen, in &apos;%1&apos;...
+</translation>
+    </message>
+    <message>
+        <source>lrelease error: cannot create &apos;%1&apos;: %2
+</source>
+        <translation>Fehler in lrelease: &apos;%1&apos; kann nicht erzeugt werden: %2
+</translation>
+    </message>
+    <message>
+        <source>lrelease error: cannot save &apos;%1&apos;: %2</source>
+        <translation>Fehler in lrelease: &apos;%1&apos; kann nicht gespeichert werden: %2
+</translation>
+    </message>
+    <message>
+        <source>lrelease version %1
+</source>
+        <translation>lrelease Version %1
+</translation>
+    </message>
+    <message>
+        <source>lrelease error: cannot read project file &apos;%1&apos;.
+</source>
+        <translation>Fehler in lrelease: Die Projektdatei &apos;%1&apos; kann nicht gelesen werden.
+</translation>
+    </message>
+    <message>
+        <source>lrelease error: cannot process project file &apos;%1&apos;.
+</source>
+        <translation>Fehler in lrelease: Die Projektdatei &apos;%1&apos; kann verarbeitet werden.
+</translation>
+    </message>
+    <message>
+        <source>lrelease warning: Met no &apos;TRANSLATIONS&apos; entry in project file &apos;%1&apos;
+</source>
+        <translation>Warnung in lrelease : Die Projektdatei &apos;%1&apos; enthält keinen &apos;TRANSLATIONS&apos;-Eintrag
+</translation>
+    </message>
+</context>
+<context>
+    <name>LUpdate</name>
+    <message>
+        <source>Parenthesis/bracket/brace mismatch between #if and #else branches; using #if branch
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Parenthesis/brace mismatch between #if and #else branches; using #if branch
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Unterminated C++ comment
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Unterminated C++ string
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Excess closing brace in C++ code (or abuse of the C++ preprocessor)
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Excess closing parenthesis in C++ code (or abuse of the C++ preprocessor)
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Excess closing bracket in C++ code (or abuse of the C++ preprocessor)
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>circular inclusion of %1
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cannot open %1: %2
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>//% cannot be used with tr() / QT_TR_NOOP(). Ignoring
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Qualifying with unknown namespace/class %1::%2
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>tr() cannot be called without context
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Class &apos;%1&apos; lacks Q_OBJECT macro
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>It is not recommended to call tr() from within a constructor &apos;%1::%2&apos;
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>//% cannot be used with translate() / QT_TRANSLATE_NOOP(). Ignoring
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>//= cannot be used with qtTrId() / QT_TRID_NOOP(). Ignoring
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Unexpected character in meta string
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Unterminated meta string
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cannot invoke tr() like this
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Discarding unconsumed meta data
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Unbalanced opening brace in C++ code (or abuse of the C++ preprocessor)
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Unbalanced opening parenthesis in C++ code (or abuse of the C++ preprocessor)
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Unbalanced opening bracket in C++ code (or abuse of the C++ preprocessor)
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cannot open %1: %2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Unterminated Java comment.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Invalid Unicode value.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Unterminated string.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>String used in translation can contain only literals concatenated with other literals, not expressions or numbers.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&apos;class&apos; must be followed by a class name.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Excess closing brace.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&apos;package&apos; must be followed by package name.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Unbalanced opening brace.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Unbalanced opening parenthesis.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Usage:
+    lupdate [options] [project-file]...
+    lupdate [options] [source-file|path|@lst-file]... -ts ts-files|@lst-file
+
+lupdate is part of Qt&apos;s Linguist tool chain. It extracts translatable
+messages from Qt UI files, C++, Java and JavaScript/QtScript source code.
+Extracted messages are stored in textual translation source files (typically
+Qt TS XML). New and modified messages can be merged into existing TS files.
+
+Options:
+    -help  Display this information and exit.
+    -no-obsolete
+           Drop all obsolete strings.
+    -extensions &lt;ext&gt;[,&lt;ext&gt;]...
+           Process files with the given extensions only.
+           The extension list must be separated with commas, not with whitespace.
+           Default: &apos;%1&apos;.
+    -pluralonly
+           Only include plural form messages.
+    -silent
+           Do not explain what is being done.
+    -no-sort
+           Do not sort contexts in TS files.
+    -no-recursive
+           Do not recursively scan the following directories.
+    -recursive
+           Recursively scan the following directories (default).
+    -I &lt;includepath&gt; or -I&lt;includepath&gt;
+           Additional location to look for include files.
+           May be specified multiple times.
+    -locations {absolute|relative|none}
+           Specify/override how source code references are saved in TS files.
+           Default is absolute.
+    -no-ui-lines
+           Do not record line numbers in references to UI files.
+    -disable-heuristic {sametext|similartext|number}
+           Disable the named merge heuristic. Can be specified multiple times.
+    -pro &lt;filename&gt;
+           Name of a .pro file. Useful for files with .pro file syntax but
+           different file suffix. Projects are recursed into and merged.
+    -source-language &lt;language&gt;[_&lt;region&gt;]
+           Specify the language of the source strings for new files.
+           Defaults to POSIX if not specified.
+    -target-language &lt;language&gt;[_&lt;region&gt;]
+           Specify the language of the translations for new files.
+           Guessed from the file name if not specified.
+    -ts &lt;ts-file&gt;...
+           Specify the output file(s). This will override the TRANSLATIONS
+           and nullify the CODECFORTR from possibly specified project files.
+    -codecfortr &lt;codec&gt;
+           Specify the codec assumed for tr() calls. Effective only with -ts.
+    -version
+           Display the version of lupdate and exit.
+    @lst-file
+           Read additional file names (one per line) from lst-file.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>lupdate warning: Codec for tr() &apos;%1&apos; disagrees with existing file&apos;s codec &apos;%2&apos;. Expect trouble.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>lupdate warning: Specified target language &apos;%1&apos; disagrees with existing file&apos;s language &apos;%2&apos;. Ignoring.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>lupdate warning: Specified source language &apos;%1&apos; disagrees with existing file&apos;s language &apos;%2&apos;. Ignoring.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Updating &apos;%1&apos;...
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Stripping non plural forms in &apos;%1&apos;...
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>lupdate warning: Codec for source &apos;%1&apos; is invalid. Falling back to codec for tr().
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>lupdate warning: TS files from command line will override TRANSLATIONS in %1.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>lupdate warning: TS files from command line prevent recursing into %1.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>lupdate warning: no TS files specified. Only diagnostics will be produced for &apos;%1&apos;.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>The option -target-language requires a parameter.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>The option -source-language requires a parameter.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>The option -disable-heuristic requires a parameter.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Invalid heuristic name passed to -disable-heuristic.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>The option -locations requires a parameter.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Invalid parameter passed to -locations.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>The -codecfortr option should be followed by a codec name.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>The -extensions option should be followed by an extension list.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>The -pro option should be followed by a filename of .pro file.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>The -I option should be followed by a path.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Unrecognized option &apos;%1&apos;.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>lupdate error: List file &apos;%1&apos; is not readable.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>lupdate warning: For some reason, &apos;%1&apos; is not writable.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>lupdate error: File &apos;%1&apos; has no recognized extension.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>lupdate error: File &apos;%1&apos; does not exist.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Scanning directory &apos;%1&apos;...
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>lupdate warning: -target-language usually only makes sense with exactly one TS file.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>lupdate warning: -codecfortr has no effect without -ts.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>lupdate warning: no TS files specified. Only diagnostics will be produced.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>lupdate error: Both project and source files / include paths specified.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <source>    Found %n source text(s) (%1 new and %2 already existing)
+</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
+    <message numerus="yes">
+        <source>    Removed %n obsolete entries
+</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
+    <message numerus="yes">
+        <source>    Kept %n obsolete entries
+</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
+    <message numerus="yes">
+        <source>    Number heuristic provided %n translation(s)
+</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
+    <message numerus="yes">
+        <source>    Same-text heuristic provided %n translation(s)
+</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
+    <message numerus="yes">
+        <source>    Similar-text heuristic provided %n translation(s)
+</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
+    <message>
+        <source>Illegal character</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Unclosed string at end of line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Illegal escape squence</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Illegal unicode escape sequence</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Unclosed comment at end of file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Illegal syntax for exponential number</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Identifier cannot start with numeric literal</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Unterminated regular expression literal</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>//% cannot be used with %1(). Ignoring
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1() requires at least two arguments.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1(): both arguments must be literal strings.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1() requires at least one argument.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1(): text to translate must be a literal string.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>//= cannot be used with %1(). Ignoring
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1(): identifier must be a literal string.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Expected </source>
+        <extracomment>Beginning of the string that contains comma-separated list of expected tokens</extracomment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>XML error: Parse error at line %1, column %2 (%3).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Parse error in UI file</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>MainWindow</name>
@@ -1307,6 +1980,13 @@ Zeile: %2</translation>
     </message>
 </context>
 <context>
+    <name>PhraseBook</name>
+    <message>
+        <source>Parse error at line %1, column %2 (%3).</source>
+        <translation>Parse-Fehler bei Zeile %1, Spalte %2 (%3).</translation>
+    </message>
+</context>
+<context>
     <name>PhraseBookBox</name>
     <message>
         <source></source>
@@ -1478,6 +2158,12 @@ Zeile: %2</translation>
         <source>Qt Linguist &apos;Phrase Book&apos;</source>
         <translation>Qt-Linguist-Wörterbuch</translation>
     </message>
+    <message>
+        <source>lupdate version %1
+</source>
+        <translation>lupdate Version %1
+</translation>
+    </message>
 </context>
 <context>
     <name>SourceCodeView</name>
diff --git a/translations/qt_de.ts b/translations/qt_de.ts
index 7a062dc..3b9bbb0 100644
--- a/translations/qt_de.ts
+++ b/translations/qt_de.ts
@@ -1707,19 +1707,19 @@ nach
     <name>QDeclarativeCompositeTypeManager</name>
     <message>
         <source>Resource %1 unavailable</source>
-        <translation>Auf die Ressource %1 konnte nicht zugegriffen werden</translation>
+        <translation type="obsolete">Auf die Ressource %1 konnte nicht zugegriffen werden</translation>
     </message>
     <message>
         <source>Namespace %1 cannot be used as a type</source>
-        <translation>Der Namensraum %1 kann nicht als Typangabe verwendet werden</translation>
+        <translation type="obsolete">Der Namensraum %1 kann nicht als Typangabe verwendet werden</translation>
     </message>
     <message>
         <source>%1 %2</source>
-        <translation>%1 %2</translation>
+        <translation type="obsolete">%1 %2</translation>
     </message>
     <message>
         <source>Type %1 unavailable</source>
-        <translation>Der Typ  %1 ist nicht verfügbar</translation>
+        <translation type="obsolete">Der Typ  %1 ist nicht verfügbar</translation>
     </message>
 </context>
 <context>
@@ -2122,6 +2122,40 @@ nach
     </message>
 </context>
 <context>
+    <name>QDeclarativeTypeData</name>
+    <message>
+        <source>Type %1 unavailable</source>
+        <translation type="obsolete">Der Typ  %1 ist nicht verfügbar</translation>
+    </message>
+    <message>
+        <source>Namespace %1 cannot be used as a type</source>
+        <translation type="obsolete">Der Namensraum %1 kann nicht als Typangabe verwendet werden</translation>
+    </message>
+    <message>
+        <source>%1 %2</source>
+        <translation type="obsolete">%1 %2</translation>
+    </message>
+</context>
+<context>
+    <name>QDeclarativeTypeLoader</name>
+    <message>
+        <source>Script %1 unavailable</source>
+        <translation>Das Skript %1 ist nicht verfügbar</translation>
+    </message>
+    <message>
+        <source>Type %1 unavailable</source>
+        <translation>Der Typ %1 ist nicht verfügbar</translation>
+    </message>
+    <message>
+        <source>Namespace %1 cannot be used as a type</source>
+        <translation>Der Namensraum %1 kann nicht als Typangabe verwendet werden</translation>
+    </message>
+    <message>
+        <source>%1 %2</source>
+        <translation>%1 %2</translation>
+    </message>
+</context>
+<context>
     <name>QDeclarativeVME</name>
     <message>
         <source>Unable to create object of type %1</source>
@@ -3340,7 +3374,7 @@ Möchten Sie die Datei trotzdem löschen?</translation>
     <name>QLibrary</name>
     <message>
         <source>Could not mmap &apos;%1&apos;: %2</source>
-        <translation>Operation mmap fehlgeschlagen für &apos;%1&apos;: %2</translation>
+        <translation type="obsolete">Operation mmap fehlgeschlagen für &apos;%1&apos;: %2</translation>
     </message>
     <message>
         <source>Plugin verification data mismatch in &apos;%1&apos;</source>
@@ -3348,7 +3382,7 @@ Möchten Sie die Datei trotzdem löschen?</translation>
     </message>
     <message>
         <source>Could not unmap &apos;%1&apos;: %2</source>
-        <translation>Operation unmap fehlgeschlagen für &apos;%1&apos;: %2</translation>
+        <translation type="obsolete">Operation unmap fehlgeschlagen für &apos;%1&apos;: %2</translation>
     </message>
     <message>
         <source>The plugin &apos;%1&apos; uses incompatible Qt library. (%2.%3.%4) [%5]</source>
diff --git a/translations/qt_help_de.ts b/translations/qt_help_de.ts
index 1f0cf32..ceee5a7 100644
--- a/translations/qt_help_de.ts
+++ b/translations/qt_help_de.ts
@@ -28,7 +28,7 @@
     <name>QHelp</name>
     <message>
         <source>Untitled</source>
-        <translation type="unfinished"></translation>
+        <translation>Ohne Titel</translation>
     </message>
 </context>
 <context>
-- 
cgit v0.12


From 39accdb3bbb86a298665507ca2700b20f56ba64d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Samuel=20R=C3=B8dal?= <samuel.rodal@nokia.com>
Date: Tue, 14 Sep 2010 10:33:39 +0200
Subject: Fixed missing background for regular Qt applications with MeeGo
 system.

Setting NoSystemBackground means that top-level widget backgrounds don't
get painted any more. Another work-around must be found to prevent
flickering.

Reviewed-by: Gunnar Sletta
---
 src/plugins/graphicssystems/meego/qmeegographicssystem.cpp | 1 -
 1 file changed, 1 deletion(-)

diff --git a/src/plugins/graphicssystems/meego/qmeegographicssystem.cpp b/src/plugins/graphicssystems/meego/qmeegographicssystem.cpp
index e2c8425..2a64d49 100644
--- a/src/plugins/graphicssystems/meego/qmeegographicssystem.cpp
+++ b/src/plugins/graphicssystems/meego/qmeegographicssystem.cpp
@@ -73,7 +73,6 @@ QWindowSurface* QMeeGoGraphicsSystem::createWindowSurface(QWidget *widget) const
 {
     QMeeGoGraphicsSystem::surfaceWasCreated = true;
     QWindowSurface *surface = new QGLWindowSurface(widget);
-    surface->window()->setAttribute(Qt::WA_NoSystemBackground);
     return surface;
 }
 
-- 
cgit v0.12


From 54cae9296a738f025fe01770c3f3c48fd4a094fc Mon Sep 17 00:00:00 2001
From: Jani Hautakangas <ext-jani.hautakangas@nokia.com>
Date: Tue, 14 Sep 2010 12:59:26 +0200
Subject: Add QtOpenGL .def files

Reviewed-by: TRUSTME
---
 src/s60installs/bwins/QtOpenGLu.def | 701 +++++++++++++++++++++++++++++++++++
 src/s60installs/eabi/QtOpenGLu.def  | 705 ++++++++++++++++++++++++++++++++++++
 2 files changed, 1406 insertions(+)
 create mode 100644 src/s60installs/bwins/QtOpenGLu.def
 create mode 100644 src/s60installs/eabi/QtOpenGLu.def

diff --git a/src/s60installs/bwins/QtOpenGLu.def b/src/s60installs/bwins/QtOpenGLu.def
new file mode 100644
index 0000000..fa340e4
--- /dev/null
+++ b/src/s60installs/bwins/QtOpenGLu.def
@@ -0,0 +1,701 @@
+EXPORTS
+	?setUniformValueArray@QGLShaderProgram@@QAEXHPBV?$QGenericMatrix@$01$01M@@H@Z @ 1 NONAME ; void QGLShaderProgram::setUniformValueArray(int, class QGenericMatrix<2, 2, float> const *, int)
+	?setPaintEnginePrivate@QGLTextureGlyphCache@@QAEXPAVQGL2PaintEngineExPrivate@@@Z @ 2 NONAME ; void QGLTextureGlyphCache::setPaintEnginePrivate(class QGL2PaintEngineExPrivate *)
+	??1QGLFormat@@QAE@XZ @ 3 NONAME ; QGLFormat::~QGLFormat(void)
+	?setOpacityMode@QGLEngineShaderManager@@QAEXW4OpacityMode@1@@Z @ 4 NONAME ; void QGLEngineShaderManager::setOpacityMode(enum QGLEngineShaderManager::OpacityMode)
+	?entryRgb@QGLColormap@@QBEIH@Z @ 5 NONAME ; unsigned int QGLColormap::entryRgb(int) const
+	??0QGLFormat@@QAE@ABV0@@Z @ 6 NONAME ; QGLFormat::QGLFormat(class QGLFormat const &)
+	?d_func@QGLShader@@AAEPAVQGLShaderPrivate@@XZ @ 7 NONAME ; class QGLShaderPrivate * QGLShader::d_func(void)
+	?bindToDynamicTexture@QGLPixelBuffer@@QAE_NI@Z @ 8 NONAME ; bool QGLPixelBuffer::bindToDynamicTexture(unsigned int)
+	??0QGLWidget@@QAE@PAVQGLContext@@PAVQWidget@@PBV0@V?$QFlags@W4WindowType@Qt@@@@@Z @ 9 NONAME ; QGLWidget::QGLWidget(class QGLContext *, class QWidget *, class QGLWidget const *, class QFlags<enum Qt::WindowType>)
+	??_EQGLFormat@@QAE@I@Z @ 10 NONAME ; QGLFormat::~QGLFormat(unsigned int)
+	?drawPixmapFragments@QGL2PaintEngineEx@@UAEXPBVPixmapFragment@QPainter@@HABVQPixmap@@V?$QFlags@W4PixmapFragmentHint@QPainter@@@@@Z @ 11 NONAME ; void QGL2PaintEngineEx::drawPixmapFragments(class QPainter::PixmapFragment const *, int, class QPixmap const &, class QFlags<enum QPainter::PixmapFragmentHint>)
+	?paintEngine@QGLWidget@@UBEPAVQPaintEngine@@XZ @ 12 NONAME ; class QPaintEngine * QGLWidget::paintEngine(void) const
+	?setPreferredPaintEngine@QGL@@YAXW4Type@QPaintEngine@@@Z @ 13 NONAME ; void QGL::setPreferredPaintEngine(enum QPaintEngine::Type)
+	?isValid@QGLPixelBuffer@@QBE_NXZ @ 14 NONAME ; bool QGLPixelBuffer::isValid(void) const
+	?stereo@QGLFormat@@QBE_NXZ @ 15 NONAME ; bool QGLFormat::stereo(void) const
+	?size@QGLPixelBuffer@@QBE?AVQSize@@XZ @ 16 NONAME ; class QSize QGLPixelBuffer::size(void) const
+	?qt_gl_transfer_context@@YAPBVQGLContext@@PBV1@@Z @ 17 NONAME ; class QGLContext const * qt_gl_transfer_context(class QGLContext const *)
+	?format@QGLContext@@QBE?AVQGLFormat@@XZ @ 18 NONAME ; class QGLFormat QGLContext::format(void) const
+	?getStaticMetaObject@QGraphicsShaderEffect@@SAABUQMetaObject@@XZ @ 19 NONAME ; struct QMetaObject const & QGraphicsShaderEffect::getStaticMetaObject(void)
+	??1QGLWidget@@UAE@XZ @ 20 NONAME ; QGLWidget::~QGLWidget(void)
+	??0QGLPixelBuffer@@QAE@ABVQSize@@ABVQGLFormat@@PAVQGLWidget@@@Z @ 21 NONAME ; QGLPixelBuffer::QGLPixelBuffer(class QSize const &, class QGLFormat const &, class QGLWidget *)
+	?isEmpty@QGLColormap@@QBE_NXZ @ 22 NONAME ; bool QGLColormap::isEmpty(void) const
+	?setAttributeValue@QGLShaderProgram@@QAEXPBDABVQVector2D@@@Z @ 23 NONAME ; void QGLShaderProgram::setAttributeValue(char const *, class QVector2D const &)
+	?setUniformValue@QGLShaderProgram@@QAEXHABVQSize@@@Z @ 24 NONAME ; void QGLShaderProgram::setUniformValue(int, class QSize const &)
+	?attachment@QGLFramebufferObjectFormat@@QBE?AW4Attachment@QGLFramebufferObject@@XZ @ 25 NONAME ; enum QGLFramebufferObject::Attachment QGLFramebufferObjectFormat::attachment(void) const
+	?setGeometry@QGLWindowSurface@@UAEXABVQRect@@@Z @ 26 NONAME ; void QGLWindowSurface::setGeometry(class QRect const &)
+	?setUniformValue@QGLShaderProgram@@QAEXPBDABVQVector3D@@@Z @ 27 NONAME ; void QGLShaderProgram::setUniformValue(char const *, class QVector3D const &)
+	?release@QGLShaderProgram@@QAEXXZ @ 28 NONAME ; void QGLShaderProgram::release(void)
+	?entryColor@QGLColormap@@QBE?AVQColor@@H@Z @ 29 NONAME ; class QColor QGLColormap::entryColor(int) const
+	?setUniformValue@QGLShaderProgram@@QAEXHABV?$QGenericMatrix@$02$02M@@@Z @ 30 NONAME ; void QGLShaderProgram::setUniformValue(int, class QGenericMatrix<3, 3, float> const &)
+	?setCompositionMode@QGLEngineShaderManager@@QAEXW4CompositionMode@QPainter@@@Z @ 31 NONAME ; void QGLEngineShaderManager::setCompositionMode(enum QPainter::CompositionMode)
+	?bindTexture@QGLPixelBuffer@@QAEIABVQString@@@Z @ 32 NONAME ; unsigned int QGLPixelBuffer::bindTexture(class QString const &)
+	?stencil@QGLFormat@@QBE_NXZ @ 33 NONAME ; bool QGLFormat::stencil(void) const
+	?format@QGLPaintDevice@@UBE?AVQGLFormat@@XZ @ 34 NONAME ; class QGLFormat QGLPaintDevice::format(void) const
+	?d_func@QGLContext@@AAEPAVQGLContextPrivate@@XZ @ 35 NONAME ; class QGLContextPrivate * QGLContext::d_func(void)
+	?bindAttributeLocation@QGLShaderProgram@@QAEXABVQString@@H@Z @ 36 NONAME ; void QGLShaderProgram::bindAttributeLocation(class QString const &, int)
+	?depthBufferSize@QGLFormat@@QBEHXZ @ 37 NONAME ; int QGLFormat::depthBufferSize(void) const
+	?write@QGLBuffer@@QAEXHPBXH@Z @ 38 NONAME ; void QGLBuffer::write(int, void const *, int)
+	?tr@QGraphicsShaderEffect@@SA?AVQString@@PBD0@Z @ 39 NONAME ; class QString QGraphicsShaderEffect::tr(char const *, char const *)
+	?currentProgram@QGLEngineShaderManager@@QAEPAVQGLShaderProgram@@XZ @ 40 NONAME ; class QGLShaderProgram * QGLEngineShaderManager::currentProgram(void)
+	?isLinked@QGLShaderProgram@@QBE_NXZ @ 41 NONAME ; bool QGLShaderProgram::isLinked(void) const
+	?resizeTextureData@QGLTextureGlyphCache@@UAEXHH@Z @ 42 NONAME ; void QGLTextureGlyphCache::resizeTextureData(int, int)
+	?device@QGLContext@@QBEPAVQPaintDevice@@XZ @ 43 NONAME ; class QPaintDevice * QGLContext::device(void) const
+	?create@QGLContext@@UAE_NPBV1@@Z @ 44 NONAME ; bool QGLContext::create(class QGLContext const *)
+	?staticMetaObject@QGLWindowSurface@@2UQMetaObject@@B @ 45 NONAME ; struct QMetaObject const QGLWindowSurface::staticMetaObject
+	?staticMetaObject@QGLShader@@2UQMetaObject@@B @ 46 NONAME ; struct QMetaObject const QGLShader::staticMetaObject
+	?state@QGL2PaintEngineEx@@QAEPAVQOpenGL2PaintEngineState@@XZ @ 47 NONAME ; class QOpenGL2PaintEngineState * QGL2PaintEngineEx::state(void)
+	?setUsagePattern@QGLBuffer@@QAEXW4UsagePattern@1@@Z @ 48 NONAME ; void QGLBuffer::setUsagePattern(enum QGLBuffer::UsagePattern)
+	?drawTexture@QGL2PaintEngineEx@@QAE_NABVQRectF@@IABVQSize@@0@Z @ 49 NONAME ; bool QGL2PaintEngineEx::drawTexture(class QRectF const &, unsigned int, class QSize const &, class QRectF const &)
+	?qt_metacast@QGLShaderProgram@@UAEPAXPBD@Z @ 50 NONAME ; void * QGLShaderProgram::qt_metacast(char const *)
+	?tr@QGLWidget@@SA?AVQString@@PBD0H@Z @ 51 NONAME ; class QString QGLWidget::tr(char const *, char const *, int)
+	?fromData@QGLPixmapData@@UAE_NPBEIPBDV?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 52 NONAME ; bool QGLPixmapData::fromData(unsigned char const *, unsigned int, char const *, class QFlags<enum Qt::ImageConversionFlag>)
+	?brushOriginChanged@QGL2PaintEngineEx@@UAEXXZ @ 53 NONAME ; void QGL2PaintEngineEx::brushOriginChanged(void)
+	?setContext@QGLSharedResourceGuard@@QAEXPBVQGLContext@@@Z @ 54 NONAME ; void QGLSharedResourceGuard::setContext(class QGLContext const *)
+	?create@QGLBuffer@@QAE_NXZ @ 55 NONAME ; bool QGLBuffer::create(void)
+	?setEntry@QGLColormap@@QAEXHI@Z @ 56 NONAME ; void QGLColormap::setEntry(int, unsigned int)
+	?useBlitProgram@QGLEngineShaderManager@@QAEXXZ @ 57 NONAME ; void QGLEngineShaderManager::useBlitProgram(void)
+	?paintEngine@QGLPixmapData@@UBEPAVQPaintEngine@@XZ @ 58 NONAME ; class QPaintEngine * QGLPixmapData::paintEngine(void) const
+	?qt_destroy_gl_share_widget@@YAXXZ @ 59 NONAME ; void qt_destroy_gl_share_widget(void)
+	?updateGL@QGLWidget@@UAEXXZ @ 60 NONAME ; void QGLWidget::updateGL(void)
+	?setUniformValueArray@QGLShaderProgram@@QAEXHPBV?$QGenericMatrix@$02$02M@@H@Z @ 61 NONAME ; void QGLShaderProgram::setUniformValueArray(int, class QGenericMatrix<3, 3, float> const *, int)
+	?setUniformValue@QGLShaderProgram@@QAEXPBDABVQColor@@@Z @ 62 NONAME ; void QGLShaderProgram::setUniformValue(char const *, class QColor const &)
+	?d_func@QGLCustomShaderStage@@ABEPBVQGLCustomShaderStagePrivate@@XZ @ 63 NONAME ; class QGLCustomShaderStagePrivate const * QGLCustomShaderStage::d_func(void) const
+	?link@QGLShaderProgram@@UAE_NXZ @ 64 NONAME ; bool QGLShaderProgram::link(void)
+	??0QGLWindowSurface@@QAE@PAVQWidget@@@Z @ 65 NONAME ; QGLWindowSurface::QGLWindowSurface(class QWidget *)
+	??9@YA_NABVQGLFormat@@0@Z @ 66 NONAME ; bool operator!=(class QGLFormat const &, class QGLFormat const &)
+	?trUtf8@QGLEngineShaderManager@@SA?AVQString@@PBD0H@Z @ 67 NONAME ; class QString QGLEngineShaderManager::trUtf8(char const *, char const *, int)
+	?clip@QGL2PaintEngineEx@@UAEXABVQVectorPath@@W4ClipOperation@Qt@@@Z @ 68 NONAME ; void QGL2PaintEngineEx::clip(class QVectorPath const &, enum Qt::ClipOperation)
+	?setRgba@QGLFormat@@QAEX_N@Z @ 69 NONAME ; void QGLFormat::setRgba(bool)
+	??1QGLGraphicsSystem@@UAE@XZ @ 70 NONAME ; QGLGraphicsSystem::~QGLGraphicsSystem(void)
+	?simpleProgram@QGLEngineShaderManager@@QAEPAVQGLShaderProgram@@XZ @ 71 NONAME ; class QGLShaderProgram * QGLEngineShaderManager::simpleProgram(void)
+	?generateDynamicTexture@QGLPixelBuffer@@QBEIXZ @ 72 NONAME ; unsigned int QGLPixelBuffer::generateDynamicTexture(void) const
+	?metaObject@QGLShaderProgram@@UBEPBUQMetaObject@@XZ @ 73 NONAME ; struct QMetaObject const * QGLShaderProgram::metaObject(void) const
+	?usagePattern@QGLBuffer@@QBE?AW4UsagePattern@1@XZ @ 74 NONAME ; enum QGLBuffer::UsagePattern QGLBuffer::usagePattern(void) const
+	?setAttributeArray@QGLShaderProgram@@QAEXPBDPBVQVector4D@@H@Z @ 75 NONAME ; void QGLShaderProgram::setAttributeArray(char const *, class QVector4D const *, int)
+	?setUniformValue@QGLShaderProgram@@QAEXHI@Z @ 76 NONAME ; void QGLShaderProgram::setUniformValue(int, unsigned int)
+	?blitProgram@QGLEngineShaderManager@@QAEPAVQGLShaderProgram@@XZ @ 77 NONAME ; class QGLShaderProgram * QGLEngineShaderManager::blitProgram(void)
+	?metaObject@QGLSignalProxy@@UBEPBUQMetaObject@@XZ @ 78 NONAME ; struct QMetaObject const * QGLSignalProxy::metaObject(void) const
+	??1QGLShaderProgram@@UAE@XZ @ 79 NONAME ; QGLShaderProgram::~QGLShaderProgram(void)
+	?height@QGLTextureGlyphCache@@QBEHXZ @ 80 NONAME ; int QGLTextureGlyphCache::height(void) const
+	??_EQGLWindowSurface@@UAE@I@Z @ 81 NONAME ; QGLWindowSurface::~QGLWindowSurface(unsigned int)
+	?renderPixmap@QGLWidget@@QAE?AVQPixmap@@HH_N@Z @ 82 NONAME ; class QPixmap QGLWidget::renderPixmap(int, int, bool)
+	?read@QGLBuffer@@QAE_NHPAXH@Z @ 83 NONAME ; bool QGLBuffer::read(int, void *, int)
+	?qglClearColor@QGLWidget@@QBEXABVQColor@@@Z @ 84 NONAME ; void QGLWidget::qglClearColor(class QColor const &) const
+	??0QGLFramebufferObject@@QAE@HHW4Attachment@0@II@Z @ 85 NONAME ; QGLFramebufferObject::QGLFramebufferObject(int, int, enum QGLFramebufferObject::Attachment, unsigned int, unsigned int)
+	?penChanged@QGL2PaintEngineEx@@UAEXXZ @ 86 NONAME ; void QGL2PaintEngineEx::penChanged(void)
+	??_EQGraphicsShaderEffect@@UAE@I@Z @ 87 NONAME ; QGraphicsShaderEffect::~QGraphicsShaderEffect(unsigned int)
+	?doneCurrent@QGLContext@@UAEXXZ @ 88 NONAME ; void QGLContext::doneCurrent(void)
+	??_EQGLContext@@UAE@I@Z @ 89 NONAME ; QGLContext::~QGLContext(unsigned int)
+	?release@QGLBuffer@@QAEXXZ @ 90 NONAME ; void QGLBuffer::release(void)
+	??0QGLPixmapData@@QAE@W4PixelType@QPixmapData@@@Z @ 91 NONAME ; QGLPixmapData::QGLPixmapData(enum QPixmapData::PixelType)
+	?texture@QGLPixmapData@@QBEPAVQGLTexture@@XZ @ 92 NONAME ; class QGLTexture * QGLPixmapData::texture(void) const
+	?updateGeometry@QGLWindowSurface@@QAEXXZ @ 93 NONAME ; void QGLWindowSurface::updateGeometry(void)
+	?windowCreated@QGLContext@@IBE_NXZ @ 94 NONAME ; bool QGLContext::windowCreated(void) const
+	?setWindowCreated@QGLContext@@IAEX_N@Z @ 95 NONAME ; void QGLContext::setWindowCreated(bool)
+	?uniformLocation@QGLShaderProgram@@QBEHABVQString@@@Z @ 96 NONAME ; int QGLShaderProgram::uniformLocation(class QString const &) const
+	?metaObject@QGLWindowSurface@@UBEPBUQMetaObject@@XZ @ 97 NONAME ; struct QMetaObject const * QGLWindowSurface::metaObject(void) const
+	?setAttributeBuffer@QGLShaderProgram@@QAEXHIHHH@Z @ 98 NONAME ; void QGLShaderProgram::setAttributeBuffer(int, unsigned int, int, int, int)
+	?getProcAddress@QGLContext@@QBEPAXABVQString@@@Z @ 99 NONAME ; void * QGLContext::getProcAddress(class QString const &) const
+	?qt_metacall@QGLTextureGlyphCache@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 100 NONAME ; int QGLTextureGlyphCache::qt_metacall(enum QMetaObject::Call, int, void * *)
+	??1QGLPixelBuffer@@UAE@XZ @ 101 NONAME ; QGLPixelBuffer::~QGLPixelBuffer(void)
+	?setUniformValueArray@QGLShaderProgram@@QAEXHPBVQVector4D@@H@Z @ 102 NONAME ; void QGLShaderProgram::setUniformValueArray(int, class QVector4D const *, int)
+	?releaseFromDynamicTexture@QGLPixelBuffer@@QAEXXZ @ 103 NONAME ; void QGLPixelBuffer::releaseFromDynamicTexture(void)
+	?setUniformsDirty@QGraphicsShaderEffect@@IAEXXZ @ 104 NONAME ; void QGraphicsShaderEffect::setUniformsDirty(void)
+	?drawTexture@QGLFramebufferObject@@QAEXABVQPointF@@II@Z @ 105 NONAME ; void QGLFramebufferObject::drawTexture(class QPointF const &, unsigned int, unsigned int)
+	??0QGLContext@@QAE@ABVQGLFormat@@@Z @ 106 NONAME ; QGLContext::QGLContext(class QGLFormat const &)
+	?geometryOutputVertexCount@QGLShaderProgram@@QBEHXZ @ 107 NONAME ; int QGLShaderProgram::geometryOutputVertexCount(void) const
+	?setAccum@QGLFormat@@QAEX_N@Z @ 108 NONAME ; void QGLFormat::setAccum(bool)
+	??0QGLSignalProxy@@QAE@XZ @ 109 NONAME ; QGLSignalProxy::QGLSignalProxy(void)
+	?isUninitialized@QGLPixmapData@@ABE_NXZ @ 110 NONAME ; bool QGLPixmapData::isUninitialized(void) const
+	??0QGLFramebufferObjectFormat@@QAE@XZ @ 111 NONAME ; QGLFramebufferObjectFormat::QGLFramebufferObjectFormat(void)
+	??8@YA_NABVQGLFormat@@0@Z @ 112 NONAME ; bool operator==(class QGLFormat const &, class QGLFormat const &)
+	?toImage@QGLFramebufferObject@@QBE?AVQImage@@XZ @ 113 NONAME ; class QImage QGLFramebufferObject::toImage(void) const
+	?setUniformValue@QGLShaderProgram@@QAEXPBDABV?$QGenericMatrix@$01$02M@@@Z @ 114 NONAME ; void QGLShaderProgram::setUniformValue(char const *, class QGenericMatrix<2, 3, float> const &)
+	?useCorrectShaderProg@QGLEngineShaderManager@@QAE_NXZ @ 115 NONAME ; bool QGLEngineShaderManager::useCorrectShaderProg(void)
+	?setAlphaBufferSize@QGLFormat@@QAEXH@Z @ 116 NONAME ; void QGLFormat::setAlphaBufferSize(int)
+	??0QGLContextResource@@QAE@P6AXPAX@Z@Z @ 117 NONAME ; QGLContextResource::QGLContextResource(void (*)(void *))
+	?tr@QGLEngineShaderManager@@SA?AVQString@@PBD0H@Z @ 118 NONAME ; class QString QGLEngineShaderManager::tr(char const *, char const *, int)
+	?setUniformValue@QGLShaderProgram@@QAEXHABVQVector4D@@@Z @ 119 NONAME ; void QGLShaderProgram::setUniformValue(int, class QVector4D const &)
+	?d_func@QGLContext@@ABEPBVQGLContextPrivate@@XZ @ 120 NONAME ; class QGLContextPrivate const * QGLContext::d_func(void) const
+	?setUniformValue@QGLShaderProgram@@QAEXHABVQMatrix4x4@@@Z @ 121 NONAME ; void QGLShaderProgram::setUniformValue(int, class QMatrix4x4 const &)
+	?deleteTexture@QGLContext@@QAEXI@Z @ 122 NONAME ; void QGLContext::deleteTexture(unsigned int)
+	?setAttributeArray@QGLShaderProgram@@QAEXHPBMHH@Z @ 123 NONAME ; void QGLShaderProgram::setAttributeArray(int, float const *, int, int)
+	?bindTexture@QGLWidget@@QAEIABVQImage@@IHV?$QFlags@W4BindOption@QGLContext@@@@@Z @ 124 NONAME ; unsigned int QGLWidget::bindTexture(class QImage const &, unsigned int, int, class QFlags<enum QGLContext::BindOption>)
+	?ensureCreated@QGLPixmapData@@ABEXXZ @ 125 NONAME ; void QGLPixmapData::ensureCreated(void) const
+	?setSource@QGLCustomShaderStage@@IAEXABVQByteArray@@@Z @ 126 NONAME ; void QGLCustomShaderStage::setSource(class QByteArray const &)
+	?trUtf8@QGLTextureGlyphCache@@SA?AVQString@@PBD0@Z @ 127 NONAME ; class QString QGLTextureGlyphCache::trUtf8(char const *, char const *)
+	?removeFromPainter@QGLCustomShaderStage@@QAEXPAVQPainter@@@Z @ 128 NONAME ; void QGLCustomShaderStage::removeFromPainter(class QPainter *)
+	?qt_metacall@QGLWindowSurface@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 129 NONAME ; int QGLWindowSurface::qt_metacall(enum QMetaObject::Call, int, void * *)
+	??0QGLBuffer@@QAE@W4Type@0@@Z @ 130 NONAME ; QGLBuffer::QGLBuffer(enum QGLBuffer::Type)
+	?fillColor@QGLPixmapData@@ABE?AVQColor@@XZ @ 131 NONAME ; class QColor QGLPixmapData::fillColor(void) const
+	?setSamples@QGLFormat@@QAEXH@Z @ 132 NONAME ; void QGLFormat::setSamples(int)
+	?makeCurrent@QGLContext@@UAEXXZ @ 133 NONAME ; void QGLContext::makeCurrent(void)
+	?setUniformValue@QGLShaderProgram@@QAEXHABV?$QGenericMatrix@$03$02M@@@Z @ 134 NONAME ; void QGLShaderProgram::setUniformValue(int, class QGenericMatrix<4, 3, float> const &)
+	?hasOpenGLShaders@QGLShader@@SA_NV?$QFlags@W4ShaderTypeBit@QGLShader@@@@PBVQGLContext@@@Z @ 135 NONAME ; bool QGLShader::hasOpenGLShaders(class QFlags<enum QGLShader::ShaderTypeBit>, class QGLContext const *)
+	?hasComplexGeometry@QGLEngineShaderManager@@QBE_NXZ @ 136 NONAME ; bool QGLEngineShaderManager::hasComplexGeometry(void) const
+	?tr@QGLEngineShaderManager@@SA?AVQString@@PBD0@Z @ 137 NONAME ; class QString QGLEngineShaderManager::tr(char const *, char const *)
+	??0QGLFramebufferObject@@QAE@ABVQSize@@I@Z @ 138 NONAME ; QGLFramebufferObject::QGLFramebufferObject(class QSize const &, unsigned int)
+	?setSrcPixelType@QGLEngineShaderManager@@QAEXW4PixelSrcType@1@@Z @ 139 NONAME ; void QGLEngineShaderManager::setSrcPixelType(enum QGLEngineShaderManager::PixelSrcType)
+	?isValid@QGLFramebufferObject@@QBE_NXZ @ 140 NONAME ; bool QGLFramebufferObject::isValid(void) const
+	??0QGLFramebufferObject@@QAE@HHABVQGLFramebufferObjectFormat@@@Z @ 141 NONAME ; QGLFramebufferObject::QGLFramebufferObject(int, int, class QGLFramebufferObjectFormat const &)
+	?setDirectRendering@QGLFormat@@QAEX_N@Z @ 142 NONAME ; void QGLFormat::setDirectRendering(bool)
+	?hasAlphaChannel@QGLPixmapData@@UBE_NXZ @ 143 NONAME ; bool QGLPixmapData::hasAlphaChannel(void) const
+	?tr@QGLSignalProxy@@SA?AVQString@@PBD0H@Z @ 144 NONAME ; class QString QGLSignalProxy::tr(char const *, char const *, int)
+	?setContext@QGLWidget@@QAEXPAVQGLContext@@PBV2@_N@Z @ 145 NONAME ; void QGLWidget::setContext(class QGLContext *, class QGLContext const *, bool)
+	?d_func@QGLPixelBuffer@@ABEPBVQGLPixelBufferPrivate@@XZ @ 146 NONAME ; class QGLPixelBufferPrivate const * QGLPixelBuffer::d_func(void) const
+	?getStaticMetaObject@QGLSignalProxy@@SAABUQMetaObject@@XZ @ 147 NONAME ; struct QMetaObject const & QGLSignalProxy::getStaticMetaObject(void)
+	?setState@QGL2PaintEngineEx@@UAEXPAVQPainterState@@@Z @ 148 NONAME ; void QGL2PaintEngineEx::setState(class QPainterState *)
+	?addShader@QGLShaderProgram@@QAE_NPAVQGLShader@@@Z @ 149 NONAME ; bool QGLShaderProgram::addShader(class QGLShader *)
+	?hasOpenGLShaderPrograms@QGLShaderProgram@@SA_NPBVQGLContext@@@Z @ 150 NONAME ; bool QGLShaderProgram::hasOpenGLShaderPrograms(class QGLContext const *)
+	?plane@QGLFormat@@QBEHXZ @ 151 NONAME ; int QGLFormat::plane(void) const
+	??0QGLFormat@@QAE@XZ @ 152 NONAME ; QGLFormat::QGLFormat(void)
+	?renderText@QGLWidget@@QAEXNNNABVQString@@ABVQFont@@H@Z @ 153 NONAME ; void QGLWidget::renderText(double, double, double, class QString const &, class QFont const &, int)
+	?setAttributeArray@QGLShaderProgram@@QAEXPBDIPBXHH@Z @ 154 NONAME ; void QGLShaderProgram::setAttributeArray(char const *, unsigned int, void const *, int, int)
+	?hasOpenGLFramebufferBlit@QGLFramebufferObject@@SA_NXZ @ 155 NONAME ; bool QGLFramebufferObject::hasOpenGLFramebufferBlit(void)
+	?setUniformValue@QGLShaderProgram@@QAEXHABVQVector2D@@@Z @ 156 NONAME ; void QGLShaderProgram::setUniformValue(int, class QVector2D const &)
+	?setUniformValueArray@QGLShaderProgram@@QAEXPBDPBVQVector2D@@H@Z @ 157 NONAME ; void QGLShaderProgram::setUniformValueArray(char const *, class QVector2D const *, int)
+	??1QGLContext@@UAE@XZ @ 158 NONAME ; QGLContext::~QGLContext(void)
+	?drawTexture@QGLContext@@QAEXABVQRectF@@II@Z @ 159 NONAME ; void QGLContext::drawTexture(class QRectF const &, unsigned int, unsigned int)
+	??1QGLCustomShaderStage@@UAE@XZ @ 160 NONAME ; QGLCustomShaderStage::~QGLCustomShaderStage(void)
+	?state@QGL2PaintEngineEx@@QBEPBVQOpenGL2PaintEngineState@@XZ @ 161 NONAME ; class QOpenGL2PaintEngineState const * QGL2PaintEngineEx::state(void) const
+	?setUniformValue@QGLShaderProgram@@QAEXPBDM@Z @ 162 NONAME ; void QGLShaderProgram::setUniformValue(char const *, float)
+	?tr@QGLShaderProgram@@SA?AVQString@@PBD0@Z @ 163 NONAME ; class QString QGLShaderProgram::tr(char const *, char const *)
+	?setHasComplexGeometry@QGLEngineShaderManager@@QAEX_N@Z @ 164 NONAME ; void QGLEngineShaderManager::setHasComplexGeometry(bool)
+	?devType@QGLPaintDevice@@UBEHXZ @ 165 NONAME ; int QGLPaintDevice::devType(void) const
+	?setDepthBufferSize@QGLFormat@@QAEXH@Z @ 166 NONAME ; void QGLFormat::setDepthBufferSize(int)
+	?attributeLocation@QGLShaderProgram@@QBEHABVQString@@@Z @ 167 NONAME ; int QGLShaderProgram::attributeLocation(class QString const &) const
+	?isSharing@QGLWidget@@QBE_NXZ @ 168 NONAME ; bool QGLWidget::isSharing(void) const
+	?brushChanged@QGL2PaintEngineEx@@UAEXXZ @ 169 NONAME ; void QGL2PaintEngineEx::brushChanged(void)
+	?bind@QGLShaderProgram@@QAE_NXZ @ 170 NONAME ; bool QGLShaderProgram::bind(void)
+	?fill@QGLPixmapData@@UAEXABVQColor@@@Z @ 171 NONAME ; void QGLPixmapData::fill(class QColor const &)
+	?staticMetaObject@QGLShaderProgram@@2UQMetaObject@@B @ 172 NONAME ; struct QMetaObject const QGLShaderProgram::staticMetaObject
+	?setPlane@QGLFormat@@QAEXH@Z @ 173 NONAME ; void QGLFormat::setPlane(int)
+	?setGeometryOutputType@QGLShaderProgram@@QAEXI@Z @ 174 NONAME ; void QGLShaderProgram::setGeometryOutputType(unsigned int)
+	?setAccumBufferSize@QGLFormat@@QAEXH@Z @ 175 NONAME ; void QGLFormat::setAccumBufferSize(int)
+	?detach@QGLFramebufferObjectFormat@@AAEXXZ @ 176 NONAME ; void QGLFramebufferObjectFormat::detach(void)
+	?testOption@QGLFormat@@QBE_NV?$QFlags@W4FormatOption@QGL@@@@@Z @ 177 NONAME ; bool QGLFormat::testOption(class QFlags<enum QGL::FormatOption>) const
+	?setUniformValueArray@QGLShaderProgram@@QAEXPBDPBV?$QGenericMatrix@$01$03M@@H@Z @ 178 NONAME ; void QGLShaderProgram::setUniformValueArray(char const *, class QGenericMatrix<2, 4, float> const *, int)
+	?setAttributeValue@QGLShaderProgram@@QAEXPBDABVQColor@@@Z @ 179 NONAME ; void QGLShaderProgram::setAttributeValue(char const *, class QColor const &)
+	?devType@QGLPixelBuffer@@MBEHXZ @ 180 NONAME ; int QGLPixelBuffer::devType(void) const
+	?doubleBuffer@QGLFormat@@QBE_NXZ @ 181 NONAME ; bool QGLFormat::doubleBuffer(void) const
+	?setUniformsDirty@QGLCustomShaderStage@@QAEXXZ @ 182 NONAME ; void QGLCustomShaderStage::setUniformsDirty(void)
+	?setAttributeValue@QGLShaderProgram@@QAEXHMM@Z @ 183 NONAME ; void QGLShaderProgram::setAttributeValue(int, float, float)
+	?setAttributeArray@QGLShaderProgram@@QAEXPBDPBMHH@Z @ 184 NONAME ; void QGLShaderProgram::setAttributeArray(char const *, float const *, int, int)
+	?getStaticMetaObject@QGLEngineShaderManager@@SAABUQMetaObject@@XZ @ 185 NONAME ; struct QMetaObject const & QGLEngineShaderManager::getStaticMetaObject(void)
+	?setVersion@QGLFormat@@QAEXHH@Z @ 186 NONAME ; void QGLFormat::setVersion(int, int)
+	?grabFrameBuffer@QGLWidget@@QAE?AVQImage@@_N@Z @ 187 NONAME ; class QImage QGLWidget::grabFrameBuffer(bool)
+	?hasOpenGL@QGLFormat@@SA_NXZ @ 188 NONAME ; bool QGLFormat::hasOpenGL(void)
+	?setInitialized@QGLContext@@IAEX_N@Z @ 189 NONAME ; void QGLContext::setInitialized(bool)
+	?copyBackFromRenderFbo@QGLPixmapData@@ABEX_N@Z @ 190 NONAME ; void QGLPixmapData::copyBackFromRenderFbo(bool) const
+	??0QGLBuffer@@QAE@ABV0@@Z @ 191 NONAME ; QGLBuffer::QGLBuffer(class QGLBuffer const &)
+	?attachment@QGLFramebufferObject@@QBE?AW4Attachment@1@XZ @ 192 NONAME ; enum QGLFramebufferObject::Attachment QGLFramebufferObject::attachment(void) const
+	?createCompatiblePixmapData@QGLPixmapData@@UBEPAVQPixmapData@@XZ @ 193 NONAME ; class QPixmapData * QGLPixmapData::createCompatiblePixmapData(void) const
+	?detach@QGLFormat@@AAEXXZ @ 194 NONAME ; void QGLFormat::detach(void)
+	??9QGLFramebufferObjectFormat@@QBE_NABV0@@Z @ 195 NONAME ; bool QGLFramebufferObjectFormat::operator!=(class QGLFramebufferObjectFormat const &) const
+	?endPaint@QGLWindowSurface@@UAEXABVQRegion@@@Z @ 196 NONAME ; void QGLWindowSurface::endPaint(class QRegion const &)
+	?findNearest@QGLColormap@@QBEHI@Z @ 197 NONAME ; int QGLColormap::findNearest(unsigned int) const
+	?toImage@QGLPixmapData@@UBE?AVQImage@@XZ @ 198 NONAME ; class QImage QGLPixmapData::toImage(void) const
+	??_EQGLShader@@UAE@I@Z @ 199 NONAME ; QGLShader::~QGLShader(unsigned int)
+	?setUniformValueArray@QGLShaderProgram@@QAEXHPBHH@Z @ 200 NONAME ; void QGLShaderProgram::setUniformValueArray(int, int const *, int)
+	?d_func@QGLFramebufferObject@@AAEPAVQGLFramebufferObjectPrivate@@XZ @ 201 NONAME ; class QGLFramebufferObjectPrivate * QGLFramebufferObject::d_func(void)
+	?trUtf8@QGLWidget@@SA?AVQString@@PBD0H@Z @ 202 NONAME ; class QString QGLWidget::trUtf8(char const *, char const *, int)
+	?qt_metacast@QGraphicsShaderEffect@@UAEPAXPBD@Z @ 203 NONAME ; void * QGraphicsShaderEffect::qt_metacast(char const *)
+	?init@QGLShaderProgram@@AAE_NXZ @ 204 NONAME ; bool QGLShaderProgram::init(void)
+	?doneCurrent@QGLWidget@@QAEXXZ @ 205 NONAME ; void QGLWidget::doneCurrent(void)
+	?setUniformValue@QGLShaderProgram@@QAEXPBDABV?$QGenericMatrix@$02$02M@@@Z @ 206 NONAME ; void QGLShaderProgram::setUniformValue(char const *, class QGenericMatrix<3, 3, float> const &)
+	?setUniformValue@QGLShaderProgram@@QAEXPBDMMMM@Z @ 207 NONAME ; void QGLShaderProgram::setUniformValue(char const *, float, float, float, float)
+	?requestedFormat@QGLContext@@QBE?AVQGLFormat@@XZ @ 208 NONAME ; class QGLFormat QGLContext::requestedFormat(void) const
+	?fillTexture@QGLTextureGlyphCache@@UAEXABUCoord@QTextureGlyphCache@@I@Z @ 209 NONAME ; void QGLTextureGlyphCache::fillTexture(struct QTextureGlyphCache::Coord const &, unsigned int)
+	?isNativePaintingActive@QGL2PaintEngineEx@@QBE_NXZ @ 210 NONAME ; bool QGL2PaintEngineEx::isNativePaintingActive(void) const
+	?accumBufferSize@QGLFormat@@QBEHXZ @ 211 NONAME ; int QGLFormat::accumBufferSize(void) const
+	?setAttributeValue@QGLShaderProgram@@QAEXHPBMHH@Z @ 212 NONAME ; void QGLShaderProgram::setAttributeValue(int, float const *, int, int)
+	?doubleBuffer@QGLWidget@@QBE_NXZ @ 213 NONAME ; bool QGLWidget::doubleBuffer(void) const
+	?bindTexture@QGLContext@@QAEIABVQString@@@Z @ 214 NONAME ; unsigned int QGLContext::bindTexture(class QString const &)
+	??0QGLFramebufferObject@@QAE@ABVQSize@@ABVQGLFramebufferObjectFormat@@@Z @ 215 NONAME ; QGLFramebufferObject::QGLFramebufferObject(class QSize const &, class QGLFramebufferObjectFormat const &)
+	?bind@QGLFramebufferObject@@QAE_NXZ @ 216 NONAME ; bool QGLFramebufferObject::bind(void)
+	?stroke@QGL2PaintEngineEx@@UAEXABVQVectorPath@@ABVQPen@@@Z @ 217 NONAME ; void QGL2PaintEngineEx::stroke(class QVectorPath const &, class QPen const &)
+	?format@QGLWidget@@QBE?AVQGLFormat@@XZ @ 218 NONAME ; class QGLFormat QGLWidget::format(void) const
+	?qt_metacall@QGLWidget@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 219 NONAME ; int QGLWidget::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?setUniformValue@QGLShaderProgram@@QAEXHABVQSizeF@@@Z @ 220 NONAME ; void QGLShaderProgram::setUniformValue(int, class QSizeF const &)
+	?setGreenBufferSize@QGLFormat@@QAEXH@Z @ 221 NONAME ; void QGLFormat::setGreenBufferSize(int)
+	?setAttributeValue@QGLShaderProgram@@QAEXPBDM@Z @ 222 NONAME ; void QGLShaderProgram::setAttributeValue(char const *, float)
+	?setAttributeArray@QGLShaderProgram@@QAEXHPBVQVector4D@@H@Z @ 223 NONAME ; void QGLShaderProgram::setAttributeArray(int, class QVector4D const *, int)
+	?setValid@QGLContext@@IAEX_N@Z @ 224 NONAME ; void QGLContext::setValid(bool)
+	?trUtf8@QGraphicsShaderEffect@@SA?AVQString@@PBD0@Z @ 225 NONAME ; class QString QGraphicsShaderEffect::trUtf8(char const *, char const *)
+	?aboutToDestroyContext@QGLSignalProxy@@IAEXPBVQGLContext@@@Z @ 226 NONAME ; void QGLSignalProxy::aboutToDestroyContext(class QGLContext const *)
+	??0QGraphicsShaderEffect@@QAE@PAVQObject@@@Z @ 227 NONAME ; QGraphicsShaderEffect::QGraphicsShaderEffect(class QObject *)
+	?deviceIsPixmap@QGLContext@@IBE_NXZ @ 228 NONAME ; bool QGLContext::deviceIsPixmap(void) const
+	??1QGraphicsShaderEffect@@UAE@XZ @ 229 NONAME ; QGraphicsShaderEffect::~QGraphicsShaderEffect(void)
+	??1QGLPaintDevice@@UAE@XZ @ 230 NONAME ; QGLPaintDevice::~QGLPaintDevice(void)
+	?setGeometryInputType@QGLShaderProgram@@QAEXI@Z @ 231 NONAME ; void QGLShaderProgram::setGeometryInputType(unsigned int)
+	?isValid@QGLPixmapData@@ABE_NXZ @ 232 NONAME ; bool QGLPixmapData::isValid(void) const
+	?cleanup@QGLContextResource@@QAEXPBVQGLContext@@PAX@Z @ 233 NONAME ; void QGLContextResource::cleanup(class QGLContext const *, void *)
+	?context@QGLWidget@@QBEPBVQGLContext@@XZ @ 234 NONAME ; class QGLContext const * QGLWidget::context(void) const
+	?tr@QGLShaderProgram@@SA?AVQString@@PBD0H@Z @ 235 NONAME ; class QString QGLShaderProgram::tr(char const *, char const *, int)
+	??0QGLPixelBuffer@@QAE@HHABVQGLFormat@@PAVQGLWidget@@@Z @ 236 NONAME ; QGLPixelBuffer::QGLPixelBuffer(int, int, class QGLFormat const &, class QGLWidget *)
+	?setUniformValueArray@QGLShaderProgram@@QAEXHPBV?$QGenericMatrix@$01$03M@@H@Z @ 237 NONAME ; void QGLShaderProgram::setUniformValueArray(int, class QGenericMatrix<2, 4, float> const *, int)
+	?release@QGLFramebufferObject@@QAE_NXZ @ 238 NONAME ; bool QGLFramebufferObject::release(void)
+	?chooseContext@QGLContext@@MAE_NPBV1@@Z @ 239 NONAME ; bool QGLContext::chooseContext(class QGLContext const *)
+	?setUniformValueArray@QGLShaderProgram@@QAEXPBDPBV?$QGenericMatrix@$02$01M@@H@Z @ 240 NONAME ; void QGLShaderProgram::setUniformValueArray(char const *, class QGenericMatrix<3, 2, float> const *, int)
+	?greenBufferSize@QGLFormat@@QBEHXZ @ 241 NONAME ; int QGLFormat::greenBufferSize(void) const
+	?detach@QGLColormap@@QAEXXZ @ 242 NONAME ; void QGLColormap::detach(void)
+	??0QGLWidget@@QAE@ABVQGLFormat@@PAVQWidget@@PBV0@V?$QFlags@W4WindowType@Qt@@@@@Z @ 243 NONAME ; QGLWidget::QGLWidget(class QGLFormat const &, class QWidget *, class QGLWidget const *, class QFlags<enum Qt::WindowType>)
+	?allocate@QGLBuffer@@QAEXPBXH@Z @ 244 NONAME ; void QGLBuffer::allocate(void const *, int)
+	?setDirty@QGLEngineShaderManager@@QAEXXZ @ 245 NONAME ; void QGLEngineShaderManager::setDirty(void)
+	?setCustomStage@QGLEngineShaderManager@@QAEXPAVQGLCustomShaderStage@@@Z @ 246 NONAME ; void QGLEngineShaderManager::setCustomStage(class QGLCustomShaderStage *)
+	?programId@QGLShaderProgram@@QBEIXZ @ 247 NONAME ; unsigned int QGLShaderProgram::programId(void) const
+	?glyphPadding@QGLTextureGlyphCache@@UBEHXZ @ 248 NONAME ; int QGLTextureGlyphCache::glyphPadding(void) const
+	?texture@QGLFramebufferObject@@QBEIXZ @ 249 NONAME ; unsigned int QGLFramebufferObject::texture(void) const
+	??0QGLFramebufferObject@@QAE@HHI@Z @ 250 NONAME ; QGLFramebufferObject::QGLFramebufferObject(int, int, unsigned int)
+	?size@QGLBuffer@@QBEHXZ @ 251 NONAME ; int QGLBuffer::size(void) const
+	?maxGeometryOutputVertices@QGLShaderProgram@@QBEHXZ @ 252 NONAME ; int QGLShaderProgram::maxGeometryOutputVertices(void) const
+	?setAttributeBuffer@QGLShaderProgram@@QAEXPBDIHHH@Z @ 253 NONAME ; void QGLShaderProgram::setAttributeBuffer(char const *, unsigned int, int, int, int)
+	?setOverlay@QGLFormat@@QAEX_N@Z @ 254 NONAME ; void QGLFormat::setOverlay(bool)
+	?beginPaint@QGLWindowSurface@@UAEXABVQRegion@@@Z @ 255 NONAME ; void QGLWindowSurface::beginPaint(class QRegion const &)
+	?compileSourceCode@QGLShader@@QAE_NPBD@Z @ 256 NONAME ; bool QGLShader::compileSourceCode(char const *)
+	?createWindowSurface@QGLGraphicsSystem@@UBEPAVQWindowSurface@@PAVQWidget@@@Z @ 257 NONAME ; class QWindowSurface * QGLGraphicsSystem::createWindowSurface(class QWidget *) const
+	?shaderId@QGLShader@@QBEIXZ @ 258 NONAME ; unsigned int QGLShader::shaderId(void) const
+	?ensureActive@QGL2PaintEngineEx@@QAEXXZ @ 259 NONAME ; void QGL2PaintEngineEx::ensureActive(void)
+	?qt_metacall@QGLEngineShaderManager@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 260 NONAME ; int QGLEngineShaderManager::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?drawTexture@QGLWidget@@QAEXABVQPointF@@II@Z @ 261 NONAME ; void QGLWidget::drawTexture(class QPointF const &, unsigned int, unsigned int)
+	?setStencil@QGLFormat@@QAEX_N@Z @ 262 NONAME ; void QGLFormat::setStencil(bool)
+	?type@QGL2PaintEngineEx@@UBE?AW4Type@QPaintEngine@@XZ @ 263 NONAME ; enum QPaintEngine::Type QGL2PaintEngineEx::type(void) const
+	?compileSourceFile@QGLShader@@QAE_NABVQString@@@Z @ 264 NONAME ; bool QGLShader::compileSourceFile(class QString const &)
+	?d_func@QGraphicsShaderEffect@@ABEPBVQGraphicsShaderEffectPrivate@@XZ @ 265 NONAME ; class QGraphicsShaderEffectPrivate const * QGraphicsShaderEffect::d_func(void) const
+	?deleteTexture@QGLWidget@@QAEXI@Z @ 266 NONAME ; void QGLWidget::deleteTexture(unsigned int)
+	?tr@QGLWindowSurface@@SA?AVQString@@PBD0H@Z @ 267 NONAME ; class QString QGLWindowSurface::tr(char const *, char const *, int)
+	?d_func@QGLBuffer@@ABEPBVQGLBufferPrivate@@XZ @ 268 NONAME ; class QGLBufferPrivate const * QGLBuffer::d_func(void) const
+	?buffer@QGLWindowSurface@@UAEPAVQImage@@PBVQWidget@@@Z @ 269 NONAME ; class QImage * QGLWindowSurface::buffer(class QWidget const *)
+	?texture@QGLTextureGlyphCache@@QBEIXZ @ 270 NONAME ; unsigned int QGLTextureGlyphCache::texture(void) const
+	?staticMetaObject@QGraphicsShaderEffect@@2UQMetaObject@@B @ 271 NONAME ; struct QMetaObject const QGraphicsShaderEffect::staticMetaObject
+	?uniformLocation@QGLShaderProgram@@QBEHPBD@Z @ 272 NONAME ; int QGLShaderProgram::uniformLocation(char const *) const
+	?profile@QGLFormat@@QBE?AW4OpenGLContextProfile@1@XZ @ 273 NONAME ; enum QGLFormat::OpenGLContextProfile QGLFormat::profile(void) const
+	?setUniformValue@QGLShaderProgram@@QAEXHABV?$QGenericMatrix@$01$03M@@@Z @ 274 NONAME ; void QGLShaderProgram::setUniformValue(int, class QGenericMatrix<2, 4, float> const &)
+	?bindDefault@QGLFramebufferObject@@SA_NXZ @ 275 NONAME ; bool QGLFramebufferObject::bindDefault(void)
+	?internalTextureFormat@QGLFramebufferObjectFormat@@QBEIXZ @ 276 NONAME ; unsigned int QGLFramebufferObjectFormat::internalTextureFormat(void) const
+	??4QGLBuffer@@QAEAAV0@ABV0@@Z @ 277 NONAME ; class QGLBuffer & QGLBuffer::operator=(class QGLBuffer const &)
+	?bindTexture@QGLWidget@@QAEIABVQImage@@IH@Z @ 278 NONAME ; unsigned int QGLWidget::bindTexture(class QImage const &, unsigned int, int)
+	?surfaceFormat@QGLWindowSurface@@2VQGLFormat@@A @ 279 NONAME ; class QGLFormat QGLWindowSurface::surfaceFormat
+	??0QGLGraphicsSystem@@QAE@_N@Z @ 280 NONAME ; QGLGraphicsSystem::QGLGraphicsSystem(bool)
+	??0QGLShaderProgram@@QAE@PBVQGLContext@@PAVQObject@@@Z @ 281 NONAME ; QGLShaderProgram::QGLShaderProgram(class QGLContext const *, class QObject *)
+	?setUniformValueArray@QGLShaderProgram@@QAEXPBDPBV?$QGenericMatrix@$03$02M@@H@Z @ 282 NONAME ; void QGLShaderProgram::setUniformValueArray(char const *, class QGenericMatrix<4, 3, float> const *, int)
+	??0QGLShaderProgram@@QAE@PAVQObject@@@Z @ 283 NONAME ; QGLShaderProgram::QGLShaderProgram(class QObject *)
+	?qt_metacast@QGLTextureGlyphCache@@UAEPAXPBD@Z @ 284 NONAME ; void * QGLTextureGlyphCache::qt_metacast(char const *)
+	?staticMetaObject@QGLEngineShaderManager@@2UQMetaObject@@B @ 285 NONAME ; struct QMetaObject const QGLEngineShaderManager::staticMetaObject
+	?setDevice@QGLContext@@IAEXPAVQPaintDevice@@@Z @ 286 NONAME ; void QGLContext::setDevice(class QPaintDevice *)
+	?setUniformValueArray@QGLShaderProgram@@QAEXHPBV?$QGenericMatrix@$02$01M@@H@Z @ 287 NONAME ; void QGLShaderProgram::setUniformValueArray(int, class QGenericMatrix<3, 2, float> const *, int)
+	?setUniformValue@QGLShaderProgram@@QAEXPBDABV?$QGenericMatrix@$03$02M@@@Z @ 288 NONAME ; void QGLShaderProgram::setUniformValue(char const *, class QGenericMatrix<4, 3, float> const &)
+	?setAttributeArray@QGLShaderProgram@@QAEXHIPBXHH@Z @ 289 NONAME ; void QGLShaderProgram::setAttributeArray(int, unsigned int, void const *, int, int)
+	?tr@QGLTextureGlyphCache@@SA?AVQString@@PBD0H@Z @ 290 NONAME ; class QString QGLTextureGlyphCache::tr(char const *, char const *, int)
+	?setDefaultOverlayFormat@QGLFormat@@SAXABV1@@Z @ 291 NONAME ; void QGLFormat::setDefaultOverlayFormat(class QGLFormat const &)
+	?qt_gl_share_widget@@YAPAVQGLWidget@@XZ @ 292 NONAME ; class QGLWidget * qt_gl_share_widget(void)
+	?initializeOverlayGL@QGLWidget@@MAEXXZ @ 293 NONAME ; void QGLWidget::initializeOverlayGL(void)
+	?setUniformValue@QGLShaderProgram@@QAEXHMM@Z @ 294 NONAME ; void QGLShaderProgram::setUniformValue(int, float, float)
+	?attributeLocation@QGLShaderProgram@@QBEHPBD@Z @ 295 NONAME ; int QGLShaderProgram::attributeLocation(char const *) const
+	?setAttributeArray@QGLShaderProgram@@QAEXPBDPBVQVector3D@@H@Z @ 296 NONAME ; void QGLShaderProgram::setAttributeArray(char const *, class QVector3D const *, int)
+	?setInternalTextureFormat@QGLFramebufferObjectFormat@@QAEXI@Z @ 297 NONAME ; void QGLFramebufferObjectFormat::setInternalTextureFormat(unsigned int)
+	?glDraw@QGLWidget@@MAEXXZ @ 298 NONAME ; void QGLWidget::glDraw(void)
+	?blueBufferSize@QGLFormat@@QBEHXZ @ 299 NONAME ; int QGLFormat::blueBufferSize(void) const
+	?createTextureData@QGLTextureGlyphCache@@UAEXHH@Z @ 300 NONAME ; void QGLTextureGlyphCache::createTextureData(int, int)
+	?opacityChanged@QGL2PaintEngineEx@@UAEXXZ @ 301 NONAME ; void QGL2PaintEngineEx::opacityChanged(void)
+	?setUniformValue@QGLShaderProgram@@QAEXHABV?$QGenericMatrix@$01$01M@@@Z @ 302 NONAME ; void QGLShaderProgram::setUniformValue(int, class QGenericMatrix<2, 2, float> const &)
+	?addShaderFromSourceCode@QGLShaderProgram@@QAE_NV?$QFlags@W4ShaderTypeBit@QGLShader@@@@PBD@Z @ 303 NONAME ; bool QGLShaderProgram::addShaderFromSourceCode(class QFlags<enum QGLShader::ShaderTypeBit>, char const *)
+	?accum@QGLFormat@@QBE_NXZ @ 304 NONAME ; bool QGLFormat::accum(void) const
+	?transformChanged@QGL2PaintEngineEx@@UAEXXZ @ 305 NONAME ; void QGL2PaintEngineEx::transformChanged(void)
+	?trUtf8@QGraphicsShaderEffect@@SA?AVQString@@PBD0H@Z @ 306 NONAME ; class QString QGraphicsShaderEffect::trUtf8(char const *, char const *, int)
+	?metaObject@QGLWidget@@UBEPBUQMetaObject@@XZ @ 307 NONAME ; struct QMetaObject const * QGLWidget::metaObject(void) const
+	?setBlueBufferSize@QGLFormat@@QAEXH@Z @ 308 NONAME ; void QGLFormat::setBlueBufferSize(int)
+	?useSimpleProgram@QGLEngineShaderManager@@QAEXXZ @ 309 NONAME ; void QGLEngineShaderManager::useSimpleProgram(void)
+	?trUtf8@QGLWidget@@SA?AVQString@@PBD0@Z @ 310 NONAME ; class QString QGLWidget::trUtf8(char const *, char const *)
+	??_EQGLPixmapData@@UAE@I@Z @ 311 NONAME ; QGLPixmapData::~QGLPixmapData(unsigned int)
+	?setPixelShaderFragment@QGraphicsShaderEffect@@QAEXABVQByteArray@@@Z @ 312 NONAME ; void QGraphicsShaderEffect::setPixelShaderFragment(class QByteArray const &)
+	?setAttributeValue@QGLShaderProgram@@QAEXHABVQVector4D@@@Z @ 313 NONAME ; void QGLShaderProgram::setAttributeValue(int, class QVector4D const &)
+	?setAttributeValue@QGLShaderProgram@@QAEXPBDMMM@Z @ 314 NONAME ; void QGLShaderProgram::setAttributeValue(char const *, float, float, float)
+	??1QGLShader@@UAE@XZ @ 315 NONAME ; QGLShader::~QGLShader(void)
+	?setUniformValueArray@QGLShaderProgram@@QAEXHPBIH@Z @ 316 NONAME ; void QGLShaderProgram::setUniformValueArray(int, unsigned int const *, int)
+	?fromImage@QGLPixmapData@@UAEXABVQImage@@V?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 317 NONAME ; void QGLPixmapData::fromImage(class QImage const &, class QFlags<enum Qt::ImageConversionFlag>)
+	?shaderType@QGLShader@@QBE?AV?$QFlags@W4ShaderTypeBit@QGLShader@@@@XZ @ 318 NONAME ; class QFlags<enum QGLShader::ShaderTypeBit> QGLShader::shaderType(void) const
+	?reset@QGLContext@@QAEXXZ @ 319 NONAME ; void QGLContext::reset(void)
+	??BQGLShareContextScope@@QAEPAVQGLContext@@XZ @ 320 NONAME ; QGLShareContextScope::operator class QGLContext *(void)
+	?createPixmapData@QGLGraphicsSystem@@UBEPAVQPixmapData@@W4PixelType@2@@Z @ 321 NONAME ; class QPixmapData * QGLGraphicsSystem::createPixmapData(enum QPixmapData::PixelType) const
+	?setUniformValueArray@QGLShaderProgram@@QAEXHPBVQVector3D@@H@Z @ 322 NONAME ; void QGLShaderProgram::setUniformValueArray(int, class QVector3D const *, int)
+	?paintOverlayGL@QGLWidget@@MAEXXZ @ 323 NONAME ; void QGLWidget::paintOverlayGL(void)
+	??6@YA?AVQDebug@@V0@ABVQGLFormat@@@Z @ 324 NONAME ; class QDebug operator<<(class QDebug, class QGLFormat const &)
+	?ensureActiveTarget@QGLPaintDevice@@UAEXXZ @ 325 NONAME ; void QGLPaintDevice::ensureActiveTarget(void)
+	?swapInterval@QGLFormat@@QBEHXZ @ 326 NONAME ; int QGLFormat::swapInterval(void) const
+	?setUniformValue@QGLShaderProgram@@QAEXHM@Z @ 327 NONAME ; void QGLShaderProgram::setUniformValue(int, float)
+	?map@QGLBuffer@@QAEPAXW4Access@1@@Z @ 328 NONAME ; void * QGLBuffer::map(enum QGLBuffer::Access)
+	?setUniformValue@QGLShaderProgram@@QAEXPBDABVQTransform@@@Z @ 329 NONAME ; void QGLShaderProgram::setUniformValue(char const *, class QTransform const &)
+	?shaders@QGLShaderProgram@@QBE?AV?$QList@PAVQGLShader@@@@XZ @ 330 NONAME ; class QList<class QGLShader *> QGLShaderProgram::shaders(void) const
+	?drawTexture@QGLPixelBuffer@@QAEXABVQRectF@@II@Z @ 331 NONAME ; void QGLPixelBuffer::drawTexture(class QRectF const &, unsigned int, unsigned int)
+	??1QGLSharedResourceGuard@@QAE@XZ @ 332 NONAME ; QGLSharedResourceGuard::~QGLSharedResourceGuard(void)
+	?textureCacheLimit@QGLContext@@SAHXZ @ 333 NONAME ; int QGLContext::textureCacheLimit(void)
+	??0QGLPaintDevice@@QAE@XZ @ 334 NONAME ; QGLPaintDevice::QGLPaintDevice(void)
+	??0QGLColormap@@QAE@ABV0@@Z @ 335 NONAME ; QGLColormap::QGLColormap(class QGLColormap const &)
+	?setUniformValue@QGLShaderProgram@@QAEXPBDABVQSizeF@@@Z @ 336 NONAME ; void QGLShaderProgram::setUniformValue(char const *, class QSizeF const &)
+	?tr@QGLWindowSurface@@SA?AVQString@@PBD0@Z @ 337 NONAME ; class QString QGLWindowSurface::tr(char const *, char const *)
+	?setUniformValueArray@QGLShaderProgram@@QAEXHPBV?$QGenericMatrix@$03$02M@@H@Z @ 338 NONAME ; void QGLShaderProgram::setUniformValueArray(int, class QGenericMatrix<4, 3, float> const *, int)
+	?setAutoBufferSwap@QGLWidget@@IAEX_N@Z @ 339 NONAME ; void QGLWidget::setAutoBufferSwap(bool)
+	?isSharing@QGLContext@@QBE_NXZ @ 340 NONAME ; bool QGLContext::isSharing(void) const
+	?setAttributeValue@QGLShaderProgram@@QAEXHMMMM@Z @ 341 NONAME ; void QGLShaderProgram::setAttributeValue(int, float, float, float, float)
+	?metaObject@QGLEngineShaderManager@@UBEPBUQMetaObject@@XZ @ 342 NONAME ; struct QMetaObject const * QGLEngineShaderManager::metaObject(void) const
+	?metaObject@QGraphicsShaderEffect@@UBEPBUQMetaObject@@XZ @ 343 NONAME ; struct QMetaObject const * QGraphicsShaderEffect::metaObject(void) const
+	?setSampleBuffers@QGLFormat@@QAEX_N@Z @ 344 NONAME ; void QGLFormat::setSampleBuffers(bool)
+	?trUtf8@QGLShader@@SA?AVQString@@PBD0@Z @ 345 NONAME ; class QString QGLShader::trUtf8(char const *, char const *)
+	??4QGLFormat@@QAEAAV0@ABV0@@Z @ 346 NONAME ; class QGLFormat & QGLFormat::operator=(class QGLFormat const &)
+	?setAttributeValue@QGLShaderProgram@@QAEXPBDABVQVector3D@@@Z @ 347 NONAME ; void QGLShaderProgram::setAttributeValue(char const *, class QVector3D const &)
+	??_EQGLSignalProxy@@UAE@I@Z @ 348 NONAME ; QGLSignalProxy::~QGLSignalProxy(unsigned int)
+	?setUniformValue@QGLShaderProgram@@QAEXPBDABVQVector4D@@@Z @ 349 NONAME ; void QGLShaderProgram::setUniformValue(char const *, class QVector4D const &)
+	?setUniformValue@QGLShaderProgram@@QAEXHMMMM@Z @ 350 NONAME ; void QGLShaderProgram::setUniformValue(int, float, float, float, float)
+	?generateFontDisplayLists@QGLContext@@IAEXABVQFont@@H@Z @ 351 NONAME ; void QGLContext::generateFontDisplayLists(class QFont const &, int)
+	?setAttributeValue@QGLShaderProgram@@QAEXHABVQVector2D@@@Z @ 352 NONAME ; void QGLShaderProgram::setAttributeValue(int, class QVector2D const &)
+	?setUniformValue@QGLShaderProgram@@QAEXHABV?$QGenericMatrix@$02$03M@@@Z @ 353 NONAME ; void QGLShaderProgram::setUniformValue(int, class QGenericMatrix<3, 4, float> const &)
+	?d_func@QGLShaderProgram@@AAEPAVQGLShaderProgramPrivate@@XZ @ 354 NONAME ; class QGLShaderProgramPrivate * QGLShaderProgram::d_func(void)
+	?setUniformValueArray@QGLShaderProgram@@QAEXPBDPBHH@Z @ 355 NONAME ; void QGLShaderProgram::setUniformValueArray(char const *, int const *, int)
+	??_EQGL2PaintEngineEx@@UAE@I@Z @ 356 NONAME ; QGL2PaintEngineEx::~QGL2PaintEngineEx(unsigned int)
+	??0QGLFramebufferObject@@QAE@ABVQSize@@W4Attachment@0@II@Z @ 357 NONAME ; QGLFramebufferObject::QGLFramebufferObject(class QSize const &, enum QGLFramebufferObject::Attachment, unsigned int, unsigned int)
+	??_EQGLEngineShaderManager@@UAE@I@Z @ 358 NONAME ; QGLEngineShaderManager::~QGLEngineShaderManager(unsigned int)
+	?d_func@QGLFramebufferObject@@ABEPBVQGLFramebufferObjectPrivate@@XZ @ 359 NONAME ; class QGLFramebufferObjectPrivate const * QGLFramebufferObject::d_func(void) const
+	?tr@QGLShader@@SA?AVQString@@PBD0H@Z @ 360 NONAME ; class QString QGLShader::tr(char const *, char const *, int)
+	?setUniformValueArray@QGLShaderProgram@@QAEXPBDPBVQVector4D@@H@Z @ 361 NONAME ; void QGLShaderProgram::setUniformValueArray(char const *, class QVector4D const *, int)
+	?addShaderFromSourceFile@QGLShaderProgram@@QAE_NV?$QFlags@W4ShaderTypeBit@QGLShader@@@@ABVQString@@@Z @ 362 NONAME ; bool QGLShaderProgram::addShaderFromSourceFile(class QFlags<enum QGLShader::ShaderTypeBit>, class QString const &)
+	?copy@QGLPixmapData@@UAEXPBVQPixmapData@@ABVQRect@@@Z @ 363 NONAME ; void QGLPixmapData::copy(class QPixmapData const *, class QRect const &)
+	?samples@QGLFramebufferObjectFormat@@QBEHXZ @ 364 NONAME ; int QGLFramebufferObjectFormat::samples(void) const
+	?setInactive@QGLCustomShaderStage@@QAEXXZ @ 365 NONAME ; void QGLCustomShaderStage::setInactive(void)
+	?extensionFuncs@QGLContextPrivate@@SAAAUQGLExtensionFuncs@@PBVQGLContext@@@Z @ 366 NONAME ; struct QGLExtensionFuncs & QGLContextPrivate::extensionFuncs(class QGLContext const *)
+	?value@QGLContextResource@@QAEPAXPBVQGLContext@@@Z @ 367 NONAME ; void * QGLContextResource::value(class QGLContext const *)
+	?majorVersion@QGLFormat@@QBEHXZ @ 368 NONAME ; int QGLFormat::majorVersion(void) const
+	?rgba@QGLFormat@@QBE_NXZ @ 369 NONAME ; bool QGLFormat::rgba(void) const
+	?paintDevice@QGLWindowSurface@@UAEPAVQPaintDevice@@XZ @ 370 NONAME ; class QPaintDevice * QGLWindowSurface::paintDevice(void)
+	?setStencilBufferSize@QGLFormat@@QAEXH@Z @ 371 NONAME ; void QGLFormat::setStencilBufferSize(int)
+	??1QGLEngineShaderManager@@UAE@XZ @ 372 NONAME ; QGLEngineShaderManager::~QGLEngineShaderManager(void)
+	?qt_metacall@QGLShaderProgram@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 373 NONAME ; int QGLShaderProgram::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?setUniformValue@QGLShaderProgram@@QAEXPBDABVQVector2D@@@Z @ 374 NONAME ; void QGLShaderProgram::setUniformValue(char const *, class QVector2D const &)
+	?bind@QGLPixmapData@@QBEI_N@Z @ 375 NONAME ; unsigned int QGLPixmapData::bind(bool) const
+	?setDepth@QGLFormat@@QAEX_N@Z @ 376 NONAME ; void QGLFormat::setDepth(bool)
+	?paintGL@QGLWidget@@MAEXXZ @ 377 NONAME ; void QGLWidget::paintGL(void)
+	??0QGLContext@@QAE@ABVQGLFormat@@PAVQPaintDevice@@@Z @ 378 NONAME ; QGLContext::QGLContext(class QGLFormat const &, class QPaintDevice *)
+	?setUniformValue@QGLShaderProgram@@QAEXHABV?$QGenericMatrix@$02$01M@@@Z @ 379 NONAME ; void QGLShaderProgram::setUniformValue(int, class QGenericMatrix<3, 2, float> const &)
+	?drawPixmap@QGL2PaintEngineEx@@UAEXABVQRectF@@ABVQPixmap@@0@Z @ 380 NONAME ; void QGL2PaintEngineEx::drawPixmap(class QRectF const &, class QPixmap const &, class QRectF const &)
+	?getUniformLocation@QGLEngineShaderManager@@QAEIW4Uniform@1@@Z @ 381 NONAME ; unsigned int QGLEngineShaderManager::getUniformLocation(enum QGLEngineShaderManager::Uniform)
+	?setUniformValueArray@QGLShaderProgram@@QAEXPBDPBV?$QGenericMatrix@$01$02M@@H@Z @ 382 NONAME ; void QGLShaderProgram::setUniformValueArray(char const *, class QGenericMatrix<2, 3, float> const *, int)
+	??0QGLEngineShaderManager@@QAE@PAVQGLContext@@@Z @ 383 NONAME ; QGLEngineShaderManager::QGLEngineShaderManager(class QGLContext *)
+	?deleted@QGLWindowSurface@@AAEXPAVQObject@@@Z @ 384 NONAME ; void QGLWindowSurface::deleted(class QObject *)
+	?source@QGLCustomShaderStage@@QBE?AVQByteArray@@XZ @ 385 NONAME ; class QByteArray QGLCustomShaderStage::source(void) const
+	?d_func@QGLPixelBuffer@@AAEPAVQGLPixelBufferPrivate@@XZ @ 386 NONAME ; class QGLPixelBufferPrivate * QGLPixelBuffer::d_func(void)
+	??4QGLColormap@@QAEAAV0@ABV0@@Z @ 387 NONAME ; class QGLColormap & QGLColormap::operator=(class QGLColormap const &)
+	?find@QGLColormap@@QBEHI@Z @ 388 NONAME ; int QGLColormap::find(unsigned int) const
+	??1QGLColormap@@QAE@XZ @ 389 NONAME ; QGLColormap::~QGLColormap(void)
+	?toImage@QGLPixelBuffer@@QBE?AVQImage@@XZ @ 390 NONAME ; class QImage QGLPixelBuffer::toImage(void) const
+	?hasOpenGLOverlays@QGLFormat@@SA_NXZ @ 391 NONAME ; bool QGLFormat::hasOpenGLOverlays(void)
+	?setMouseTracking@QGLWidget@@QAEX_N@Z @ 392 NONAME ; void QGLWidget::setMouseTracking(bool)
+	?type@QGLBuffer@@QBE?AW4Type@1@XZ @ 393 NONAME ; enum QGLBuffer::Type QGLBuffer::type(void) const
+	?fontDisplayListBase@QGLWidget@@IAEHABVQFont@@H@Z @ 394 NONAME ; int QGLWidget::fontDisplayListBase(class QFont const &, int)
+	?addShaderFromSourceCode@QGLShaderProgram@@QAE_NV?$QFlags@W4ShaderTypeBit@QGLShader@@@@ABVQByteArray@@@Z @ 395 NONAME ; bool QGLShaderProgram::addShaderFromSourceCode(class QFlags<enum QGLShader::ShaderTypeBit>, class QByteArray const &)
+	?bindTexture@QGLContext@@QAEIABVQPixmap@@IH@Z @ 396 NONAME ; unsigned int QGLContext::bindTexture(class QPixmap const &, unsigned int, int)
+	?d_func@QGLWidget@@ABEPBVQGLWidgetPrivate@@XZ @ 397 NONAME ; class QGLWidgetPrivate const * QGLWidget::d_func(void) const
+	?metric@QGLPaintDevice@@MBEHW4PaintDeviceMetric@QPaintDevice@@@Z @ 398 NONAME ; int QGLPaintDevice::metric(enum QPaintDevice::PaintDeviceMetric) const
+	?drawTexture@QGLWidget@@QAEXABVQRectF@@II@Z @ 399 NONAME ; void QGLWidget::drawTexture(class QRectF const &, unsigned int, unsigned int)
+	?isValid@QGLWidget@@QBE_NXZ @ 400 NONAME ; bool QGLWidget::isValid(void) const
+	?shared_null@QGLColormap@@0UQGLColormapData@1@A @ 401 NONAME ; struct QGLColormap::QGLColormapData QGLColormap::shared_null
+	?setUniformValue@QGLShaderProgram@@QAEXPBDQAY01M@Z @ 402 NONAME ; void QGLShaderProgram::setUniformValue(char const *, float [2] * const)
+	?insert@QGLContextResource@@QAEXPBVQGLContext@@PAX@Z @ 403 NONAME ; void QGLContextResource::insert(class QGLContext const *, void *)
+	??0QGLCustomShaderStage@@QAE@XZ @ 404 NONAME ; QGLCustomShaderStage::QGLCustomShaderStage(void)
+	?setDefaultFormat@QGLFormat@@SAXABV1@@Z @ 405 NONAME ; void QGLFormat::setDefaultFormat(class QGLFormat const &)
+	?sourceCode@QGLShader@@QBE?AVQByteArray@@XZ @ 406 NONAME ; class QByteArray QGLShader::sourceCode(void) const
+	??8QGLFramebufferObjectFormat@@QBE_NABV0@@Z @ 407 NONAME ; bool QGLFramebufferObjectFormat::operator==(class QGLFramebufferObjectFormat const &) const
+	?detach_helper@QGLColormap@@AAEXXZ @ 408 NONAME ; void QGLColormap::detach_helper(void)
+	?setUniformValue@QGLShaderProgram@@QAEXHQAY01M@Z @ 409 NONAME ; void QGLShaderProgram::setUniformValue(int, float [2] * const)
+	?compileSourceCode@QGLShader@@QAE_NABVQString@@@Z @ 410 NONAME ; bool QGLShader::compileSourceCode(class QString const &)
+	?setUniformValueArray@QGLShaderProgram@@QAEXHPBVQMatrix4x4@@H@Z @ 411 NONAME ; void QGLShaderProgram::setUniformValueArray(int, class QMatrix4x4 const *, int)
+	?invalidateState@QGL2PaintEngineEx@@QAEXXZ @ 412 NONAME ; void QGL2PaintEngineEx::invalidateState(void)
+	?scroll@QGLWindowSurface@@UAE_NABVQRegion@@HH@Z @ 413 NONAME ; bool QGLWindowSurface::scroll(class QRegion const &, int, int)
+	??4QGLFramebufferObjectFormat@@QAEAAV0@ABV0@@Z @ 414 NONAME ; class QGLFramebufferObjectFormat & QGLFramebufferObjectFormat::operator=(class QGLFramebufferObjectFormat const &)
+	?bindAttributeLocation@QGLShaderProgram@@QAEXABVQByteArray@@H@Z @ 415 NONAME ; void QGLShaderProgram::bindAttributeLocation(class QByteArray const &, int)
+	?pixelShaderFragment@QGraphicsShaderEffect@@QBE?AVQByteArray@@XZ @ 416 NONAME ; class QByteArray QGraphicsShaderEffect::pixelShaderFragment(void) const
+	?size@QGLColormap@@QBEHXZ @ 417 NONAME ; int QGLColormap::size(void) const
+	??0QGLShareContextScope@@QAE@PBVQGLContext@@@Z @ 418 NONAME ; QGLShareContextScope::QGLShareContextScope(class QGLContext const *)
+	?removeAllShaders@QGLShaderProgram@@QAEXXZ @ 419 NONAME ; void QGLShaderProgram::removeAllShaders(void)
+	??_EQGLShaderProgram@@UAE@I@Z @ 420 NONAME ; QGLShaderProgram::~QGLShaderProgram(unsigned int)
+	?pixmapFilter@QGL2PaintEngineEx@@UAEPAVQPixmapFilter@@HPBV2@@Z @ 421 NONAME ; class QPixmapFilter * QGL2PaintEngineEx::pixmapFilter(int, class QPixmapFilter const *)
+	?scroll@QGLPixmapData@@UAE_NHHABVQRect@@@Z @ 422 NONAME ; bool QGLPixmapData::scroll(int, int, class QRect const &)
+	?contextDestroyed@QGLTextureGlyphCache@@QAEXPBVQGLContext@@@Z @ 423 NONAME ; void QGLTextureGlyphCache::contextDestroyed(class QGLContext const *)
+	??0QGLColormap@@QAE@XZ @ 424 NONAME ; QGLColormap::QGLColormap(void)
+	?metric@QGLFramebufferObject@@MBEHW4PaintDeviceMetric@QPaintDevice@@@Z @ 425 NONAME ; int QGLFramebufferObject::metric(enum QPaintDevice::PaintDeviceMetric) const
+	?devType@QGLFramebufferObject@@MBEHXZ @ 426 NONAME ; int QGLFramebufferObject::devType(void) const
+	?isValidContext@QGLPixmapData@@QBE_NPBVQGLContext@@@Z @ 427 NONAME ; bool QGLPixmapData::isValidContext(class QGLContext const *) const
+	?directRendering@QGLFormat@@QBE_NXZ @ 428 NONAME ; bool QGLFormat::directRendering(void) const
+	?metric@QGLPixelBuffer@@MBEHW4PaintDeviceMetric@QPaintDevice@@@Z @ 429 NONAME ; int QGLPixelBuffer::metric(enum QPaintDevice::PaintDeviceMetric) const
+	??0QGLSharedResourceGuard@@QAE@PBVQGLContext@@@Z @ 430 NONAME ; QGLSharedResourceGuard::QGLSharedResourceGuard(class QGLContext const *)
+	?setUniformValue@QGLShaderProgram@@QAEXPBDABV?$QGenericMatrix@$01$03M@@@Z @ 431 NONAME ; void QGLShaderProgram::setUniformValue(char const *, class QGenericMatrix<2, 4, float> const &)
+	?trUtf8@QGLShaderProgram@@SA?AVQString@@PBD0@Z @ 432 NONAME ; class QString QGLShaderProgram::trUtf8(char const *, char const *)
+	?fill@QGL2PaintEngineEx@@UAEXABVQVectorPath@@ABVQBrush@@@Z @ 433 NONAME ; void QGL2PaintEngineEx::fill(class QVectorPath const &, class QBrush const &)
+	?disableAttributeArray@QGLShaderProgram@@QAEXPBD@Z @ 434 NONAME ; void QGLShaderProgram::disableAttributeArray(char const *)
+	?paintEngine@QGLPixelBuffer@@UBEPAVQPaintEngine@@XZ @ 435 NONAME ; class QPaintEngine * QGLPixelBuffer::paintEngine(void) const
+	?qt_metacall@QGLShader@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 436 NONAME ; int QGLShader::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?setUniformValue@QGLShaderProgram@@QAEXHMMM@Z @ 437 NONAME ; void QGLShaderProgram::setUniformValue(int, float, float, float)
+	??1QGLFramebufferObject@@UAE@XZ @ 438 NONAME ; QGLFramebufferObject::~QGLFramebufferObject(void)
+	?minorVersion@QGLFormat@@QBEHXZ @ 439 NONAME ; int QGLFormat::minorVersion(void) const
+	?setAttributeValue@QGLShaderProgram@@QAEXHABVQColor@@@Z @ 440 NONAME ; void QGLShaderProgram::setAttributeValue(int, class QColor const &)
+	?setUniformValueArray@QGLShaderProgram@@QAEXPBDPBVQMatrix4x4@@H@Z @ 441 NONAME ; void QGLShaderProgram::setUniformValueArray(char const *, class QMatrix4x4 const *, int)
+	?setAttachment@QGLFramebufferObjectFormat@@QAEXW4Attachment@QGLFramebufferObject@@@Z @ 442 NONAME ; void QGLFramebufferObjectFormat::setAttachment(enum QGLFramebufferObject::Attachment)
+	?setSwapInterval@QGLFormat@@QAEXH@Z @ 443 NONAME ; void QGLFormat::setSwapInterval(int)
+	?event@QGLWidget@@MAE_NPAVQEvent@@@Z @ 444 NONAME ; bool QGLWidget::event(class QEvent *)
+	?initializeGL@QGLWidget@@MAEXXZ @ 445 NONAME ; void QGLWidget::initializeGL(void)
+	?setAttributeArray@QGLShaderProgram@@QAEXHPBVQVector3D@@H@Z @ 446 NONAME ; void QGLShaderProgram::setAttributeArray(int, class QVector3D const *, int)
+	?hijackWindow@QGLWindowSurface@@AAEXPAVQWidget@@@Z @ 447 NONAME ; void QGLWindowSurface::hijackWindow(class QWidget *)
+	?d_func@QGLShader@@ABEPBVQGLShaderPrivate@@XZ @ 448 NONAME ; class QGLShaderPrivate const * QGLShader::d_func(void) const
+	?setUniformValue@QGLShaderProgram@@QAEXHABVQPointF@@@Z @ 449 NONAME ; void QGLShaderProgram::setUniformValue(int, class QPointF const &)
+	?addShaderFromSourceCode@QGLShaderProgram@@QAE_NV?$QFlags@W4ShaderTypeBit@QGLShader@@@@ABVQString@@@Z @ 450 NONAME ; bool QGLShaderProgram::addShaderFromSourceCode(class QFlags<enum QGLShader::ShaderTypeBit>, class QString const &)
+	?setUniformValueArray@QGLShaderProgram@@QAEXPBDPBV?$QGenericMatrix@$02$03M@@H@Z @ 451 NONAME ; void QGLShaderProgram::setUniformValueArray(char const *, class QGenericMatrix<3, 4, float> const *, int)
+	?width@QGLTextureGlyphCache@@QBEHXZ @ 452 NONAME ; int QGLTextureGlyphCache::width(void) const
+	?setAttributeValue@QGLShaderProgram@@QAEXHM@Z @ 453 NONAME ; void QGLShaderProgram::setAttributeValue(int, float)
+	?resizeOverlayGL@QGLWidget@@MAEXHH@Z @ 454 NONAME ; void QGLWidget::resizeOverlayGL(int, int)
+	?setUniformValueArray@QGLShaderProgram@@QAEXHPBV?$QGenericMatrix@$01$02M@@H@Z @ 455 NONAME ; void QGLShaderProgram::setUniformValueArray(int, class QGenericMatrix<2, 3, float> const *, int)
+	?bufferId@QGLBuffer@@QBEIXZ @ 456 NONAME ; unsigned int QGLBuffer::bufferId(void) const
+	?disableAttributeArray@QGLShaderProgram@@QAEXH@Z @ 457 NONAME ; void QGLShaderProgram::disableAttributeArray(int)
+	?end@QGL2PaintEngineEx@@UAE_NXZ @ 458 NONAME ; bool QGL2PaintEngineEx::end(void)
+	??0QGL2PaintEngineEx@@QAE@XZ @ 459 NONAME ; QGL2PaintEngineEx::QGL2PaintEngineEx(void)
+	?trUtf8@QGLEngineShaderManager@@SA?AVQString@@PBD0@Z @ 460 NONAME ; class QString QGLEngineShaderManager::trUtf8(char const *, char const *)
+	??1QGLTextureGlyphCache@@UAE@XZ @ 461 NONAME ; QGLTextureGlyphCache::~QGLTextureGlyphCache(void)
+	?context@QGLSharedResourceGuard@@QBEPBVQGLContext@@XZ @ 462 NONAME ; class QGLContext const * QGLSharedResourceGuard::context(void) const
+	?resizeEvent@QGLWidget@@MAEXPAVQResizeEvent@@@Z @ 463 NONAME ; void QGLWidget::resizeEvent(class QResizeEvent *)
+	?setDoubleBuffer@QGLFormat@@QAEX_N@Z @ 464 NONAME ; void QGLFormat::setDoubleBuffer(bool)
+	??1QGLBuffer@@QAE@XZ @ 465 NONAME ; QGLBuffer::~QGLBuffer(void)
+	?id@QGLSharedResourceGuard@@QBEIXZ @ 466 NONAME ; unsigned int QGLSharedResourceGuard::id(void) const
+	?d_func@QGL2PaintEngineEx@@AAEPAVQGL2PaintEngineExPrivate@@XZ @ 467 NONAME ; class QGL2PaintEngineExPrivate * QGL2PaintEngineEx::d_func(void)
+	?resize@QGLPixmapData@@UAEXHH@Z @ 468 NONAME ; void QGLPixmapData::resize(int, int)
+	?setUniformValue@QGLShaderProgram@@QAEXPBDABV?$QGenericMatrix@$01$01M@@@Z @ 469 NONAME ; void QGLShaderProgram::setUniformValue(char const *, class QGenericMatrix<2, 2, float> const &)
+	?trUtf8@QGLTextureGlyphCache@@SA?AVQString@@PBD0H@Z @ 470 NONAME ; class QString QGLTextureGlyphCache::trUtf8(char const *, char const *, int)
+	?begin@QGL2PaintEngineEx@@UAE_NPAVQPaintDevice@@@Z @ 471 NONAME ; bool QGL2PaintEngineEx::begin(class QPaintDevice *)
+	?samples@QGLFormat@@QBEHXZ @ 472 NONAME ; int QGLFormat::samples(void) const
+	?setFormat@QGLContext@@QAEXABVQGLFormat@@@Z @ 473 NONAME ; void QGLContext::setFormat(class QGLFormat const &)
+	?trUtf8@QGLSignalProxy@@SA?AVQString@@PBD0@Z @ 474 NONAME ; class QString QGLSignalProxy::trUtf8(char const *, char const *)
+	?setUniformValue@QGLShaderProgram@@QAEXHABVQVector3D@@@Z @ 475 NONAME ; void QGLShaderProgram::setUniformValue(int, class QVector3D const &)
+	?alphaBufferSize@QGLFormat@@QBEHXZ @ 476 NONAME ; int QGLFormat::alphaBufferSize(void) const
+	?deleteTexture@QGLPixelBuffer@@QAEXI@Z @ 477 NONAME ; void QGLPixelBuffer::deleteTexture(unsigned int)
+	?qt_qgl_paint_engine@@YAPAVQPaintEngine@@XZ @ 478 NONAME ; class QPaintEngine * qt_qgl_paint_engine(void)
+	?trUtf8@QGLSignalProxy@@SA?AVQString@@PBD0H@Z @ 479 NONAME ; class QString QGLSignalProxy::trUtf8(char const *, char const *, int)
+	??1QGLWindowSurface@@UAE@XZ @ 480 NONAME ; QGLWindowSurface::~QGLWindowSurface(void)
+	?bind@QGLBuffer@@QAE_NXZ @ 481 NONAME ; bool QGLBuffer::bind(void)
+	?getStaticMetaObject@QGLWidget@@SAABUQMetaObject@@XZ @ 482 NONAME ; struct QMetaObject const & QGLWidget::getStaticMetaObject(void)
+	??_EQGLPixelBuffer@@UAE@I@Z @ 483 NONAME ; QGLPixelBuffer::~QGLPixelBuffer(unsigned int)
+	?clipEnabledChanged@QGL2PaintEngineEx@@UAEXXZ @ 484 NONAME ; void QGL2PaintEngineEx::clipEnabledChanged(void)
+	??_EQGLGraphicsSystem@@UAE@I@Z @ 485 NONAME ; QGLGraphicsSystem::~QGLGraphicsSystem(unsigned int)
+	?endNativePainting@QGL2PaintEngineEx@@UAEXXZ @ 486 NONAME ; void QGL2PaintEngineEx::endNativePainting(void)
+	?setFormat@QGLWidget@@QAEXABVQGLFormat@@@Z @ 487 NONAME ; void QGLWidget::setFormat(class QGLFormat const &)
+	?setOption@QGLFormat@@QAEXV?$QFlags@W4FormatOption@QGL@@@@@Z @ 488 NONAME ; void QGLFormat::setOption(class QFlags<enum QGL::FormatOption>)
+	?shaderDestroyed@QGLShaderProgram@@AAEXXZ @ 489 NONAME ; void QGLShaderProgram::shaderDestroyed(void)
+	?qt_metacall@QGLSignalProxy@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 490 NONAME ; int QGLSignalProxy::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?setId@QGLSharedResourceGuard@@QAEXI@Z @ 491 NONAME ; void QGLSharedResourceGuard::setId(unsigned int)
+	?setUniformValue@QGLShaderProgram@@QAEXHABV?$QGenericMatrix@$03$01M@@@Z @ 492 NONAME ; void QGLShaderProgram::setUniformValue(int, class QGenericMatrix<4, 2, float> const &)
+	?makeOverlayCurrent@QGLWidget@@QAEXXZ @ 493 NONAME ; void QGLWidget::makeOverlayCurrent(void)
+	?setGeometryOutputVertexCount@QGLShaderProgram@@QAEXH@Z @ 494 NONAME ; void QGLShaderProgram::setGeometryOutputVertexCount(int)
+	?setUniformValue@QGLShaderProgram@@QAEXPBDABVQSize@@@Z @ 495 NONAME ; void QGLShaderProgram::setUniformValue(char const *, class QSize const &)
+	?convertToGLFormat@QGLWidget@@SA?AVQImage@@ABV2@@Z @ 496 NONAME ; class QImage QGLWidget::convertToGLFormat(class QImage const &)
+	?staticMetaObject@QGLTextureGlyphCache@@2UQMetaObject@@B @ 497 NONAME ; struct QMetaObject const QGLTextureGlyphCache::staticMetaObject
+	??_EQGLContextResource@@QAE@I@Z @ 498 NONAME ; QGLContextResource::~QGLContextResource(unsigned int)
+	?handle@QGLColormap@@IAEKXZ @ 499 NONAME ; unsigned long QGLColormap::handle(void)
+	?isCreated@QGLBuffer@@QBE_NXZ @ 500 NONAME ; bool QGLBuffer::isCreated(void) const
+	?setColormap@QGLWidget@@QAEXABVQGLColormap@@@Z @ 501 NONAME ; void QGLWidget::setColormap(class QGLColormap const &)
+	?instance@QGLSignalProxy@@SAPAV1@XZ @ 502 NONAME ; class QGLSignalProxy * QGLSignalProxy::instance(void)
+	?setUniformValueArray@QGLShaderProgram@@QAEXPBDPBIH@Z @ 503 NONAME ; void QGLShaderProgram::setUniformValueArray(char const *, unsigned int const *, int)
+	?isValid@QGLContext@@QBE_NXZ @ 504 NONAME ; bool QGLContext::isValid(void) const
+	?currentCtx@QGLContext@@1PAV1@A @ 505 NONAME ; class QGLContext * QGLContext::currentCtx
+	?hasOpenGLFramebufferObjects@QGLFramebufferObject@@SA_NXZ @ 506 NONAME ; bool QGLFramebufferObject::hasOpenGLFramebufferObjects(void)
+	?compileSourceCode@QGLShader@@QAE_NABVQByteArray@@@Z @ 507 NONAME ; bool QGLShader::compileSourceCode(class QByteArray const &)
+	?colormap@QGLWidget@@QBEABVQGLColormap@@XZ @ 508 NONAME ; class QGLColormap const & QGLWidget::colormap(void) const
+	?getStaticMetaObject@QGLShaderProgram@@SAABUQMetaObject@@XZ @ 509 NONAME ; struct QMetaObject const & QGLShaderProgram::getStaticMetaObject(void)
+	??_EQGLWidget@@UAE@I@Z @ 510 NONAME ; QGLWidget::~QGLWidget(unsigned int)
+	?setStereo@QGLFormat@@QAEX_N@Z @ 511 NONAME ; void QGLFormat::setStereo(bool)
+	?setAttributeValue@QGLShaderProgram@@QAEXPBDMM@Z @ 512 NONAME ; void QGLShaderProgram::setAttributeValue(char const *, float, float)
+	?setAttributeValue@QGLShaderProgram@@QAEXHMMM@Z @ 513 NONAME ; void QGLShaderProgram::setAttributeValue(int, float, float, float)
+	?context@QGLWindowSurface@@QBEPAVQGLContext@@XZ @ 514 NONAME ; class QGLContext * QGLWindowSurface::context(void) const
+	?d_func@QGLBuffer@@AAEPAVQGLBufferPrivate@@XZ @ 515 NONAME ; class QGLBufferPrivate * QGLBuffer::d_func(void)
+	?textureTarget@QGLFramebufferObjectFormat@@QBEIXZ @ 516 NONAME ; unsigned int QGLFramebufferObjectFormat::textureTarget(void) const
+	?needsFill@QGLPixmapData@@ABE_NXZ @ 517 NONAME ; bool QGLPixmapData::needsFill(void) const
+	??CQGLShareContextScope@@QAEPAVQGLContext@@XZ @ 518 NONAME ; class QGLContext * QGLShareContextScope::operator->(void)
+	?setUniformValue@QGLShaderProgram@@QAEXPBDH@Z @ 519 NONAME ; void QGLShaderProgram::setUniformValue(char const *, int)
+	?release@QGLBuffer@@SAXW4Type@1@@Z @ 520 NONAME ; void QGLBuffer::release(enum QGLBuffer::Type)
+	??0QGLWidget@@QAE@PAVQWidget@@PBV0@V?$QFlags@W4WindowType@Qt@@@@@Z @ 521 NONAME ; QGLWidget::QGLWidget(class QWidget *, class QGLWidget const *, class QFlags<enum Qt::WindowType>)
+	?stencilBufferSize@QGLFormat@@QBEHXZ @ 522 NONAME ; int QGLFormat::stencilBufferSize(void) const
+	?getStaticMetaObject@QGLShader@@SAABUQMetaObject@@XZ @ 523 NONAME ; struct QMetaObject const & QGLShader::getStaticMetaObject(void)
+	?setUniformValue@QGLShaderProgram@@QAEXPBDMM@Z @ 524 NONAME ; void QGLShaderProgram::setUniformValue(char const *, float, float)
+	?log@QGLShader@@QBE?AVQString@@XZ @ 525 NONAME ; class QString QGLShader::log(void) const
+	?setUniformValueArray@QGLShaderProgram@@QAEXHPBV?$QGenericMatrix@$02$03M@@H@Z @ 526 NONAME ; void QGLShaderProgram::setUniformValueArray(int, class QGenericMatrix<3, 4, float> const *, int)
+	?setUniformValueArray@QGLShaderProgram@@QAEXPBDPBV?$QGenericMatrix@$03$01M@@H@Z @ 527 NONAME ; void QGLShaderProgram::setUniformValueArray(char const *, class QGenericMatrix<4, 2, float> const *, int)
+	?qt_metacast@QGLWindowSurface@@UAEPAXPBD@Z @ 528 NONAME ; void * QGLWindowSurface::qt_metacast(char const *)
+	?autoBufferSwap@QGLWidget@@IBE_NXZ @ 529 NONAME ; bool QGLWidget::autoBufferSwap(void) const
+	?size@QGLFramebufferObject@@QBE?AVQSize@@XZ @ 530 NONAME ; class QSize QGLFramebufferObject::size(void) const
+	??1QGL2PaintEngineEx@@UAE@XZ @ 531 NONAME ; QGL2PaintEngineEx::~QGL2PaintEngineEx(void)
+	?trUtf8@QGLShader@@SA?AVQString@@PBD0H@Z @ 532 NONAME ; class QString QGLShader::trUtf8(char const *, char const *, int)
+	?drawTexture@QGLContext@@QAEXABVQPointF@@II@Z @ 533 NONAME ; void QGLContext::drawTexture(class QPointF const &, unsigned int, unsigned int)
+	?defaultOverlayFormat@QGLFormat@@SA?AV1@XZ @ 534 NONAME ; class QGLFormat QGLFormat::defaultOverlayFormat(void)
+	?setUniformValue@QGLShaderProgram@@QAEXPBDABV?$QGenericMatrix@$02$03M@@@Z @ 535 NONAME ; void QGLShaderProgram::setUniformValue(char const *, class QGenericMatrix<3, 4, float> const &)
+	?allocate@QGLBuffer@@QAEXH@Z @ 536 NONAME ; void QGLBuffer::allocate(int)
+	?setAttributeArray@QGLShaderProgram@@QAEXPBDPBVQVector2D@@H@Z @ 537 NONAME ; void QGLShaderProgram::setAttributeArray(char const *, class QVector2D const *, int)
+	?d_func@QGLShaderProgram@@ABEPBVQGLShaderProgramPrivate@@XZ @ 538 NONAME ; class QGLShaderProgramPrivate const * QGLShaderProgram::d_func(void) const
+	?staticMetaObject@QGLSignalProxy@@2UQMetaObject@@B @ 539 NONAME ; struct QMetaObject const QGLSignalProxy::staticMetaObject
+	??_EQGLPaintDevice@@UAE@I@Z @ 540 NONAME ; QGLPaintDevice::~QGLPaintDevice(unsigned int)
+	?geometryInputType@QGLShaderProgram@@QBEIXZ @ 541 NONAME ; unsigned int QGLShaderProgram::geometryInputType(void) const
+	?drawTexture@QGLPixelBuffer@@QAEXABVQPointF@@II@Z @ 542 NONAME ; void QGLPixelBuffer::drawTexture(class QPointF const &, unsigned int, unsigned int)
+	?setUniformValue@QGLShaderProgram@@QAEXPBDABVQMatrix4x4@@@Z @ 543 NONAME ; void QGLShaderProgram::setUniformValue(char const *, class QMatrix4x4 const &)
+	??1QGLFramebufferObjectFormat@@QAE@XZ @ 544 NONAME ; QGLFramebufferObjectFormat::~QGLFramebufferObjectFormat(void)
+	?staticMetaObject@QGLWidget@@2UQMetaObject@@B @ 545 NONAME ; struct QMetaObject const QGLWidget::staticMetaObject
+	?isCompiled@QGLShader@@QBE_NXZ @ 546 NONAME ; bool QGLShader::isCompiled(void) const
+	?setUniformValue@QGLShaderProgram@@QAEXPBDQAY02M@Z @ 547 NONAME ; void QGLShaderProgram::setUniformValue(char const *, float [3] * const)
+	?setUniformValue@QGLShaderProgram@@QAEXPBDABVQPointF@@@Z @ 548 NONAME ; void QGLShaderProgram::setUniformValue(char const *, class QPointF const &)
+	?getDevice@QGLPaintDevice@@SAPAV1@PAVQPaintDevice@@@Z @ 549 NONAME ; class QGLPaintDevice * QGLPaintDevice::getDevice(class QPaintDevice *)
+	?setUniformValue@QGLShaderProgram@@QAEXHQAY02M@Z @ 550 NONAME ; void QGLShaderProgram::setUniformValue(int, float [3] * const)
+	?getStaticMetaObject@QGLTextureGlyphCache@@SAABUQMetaObject@@XZ @ 551 NONAME ; struct QMetaObject const & QGLTextureGlyphCache::getStaticMetaObject(void)
+	?swapBuffers@QGLContext@@UBEXXZ @ 552 NONAME ; void QGLContext::swapBuffers(void) const
+	?renderText@QGLWidget@@QAEXHHABVQString@@ABVQFont@@H@Z @ 553 NONAME ; void QGLWidget::renderText(int, int, class QString const &, class QFont const &, int)
+	?defaultFormat@QGLFormat@@SA?AV1@XZ @ 554 NONAME ; class QGLFormat QGLFormat::defaultFormat(void)
+	?bindTexture@QGLWidget@@QAEIABVQPixmap@@IH@Z @ 555 NONAME ; unsigned int QGLWidget::bindTexture(class QPixmap const &, unsigned int, int)
+	?setUniformValue@QGLShaderProgram@@QAEXHABVQPoint@@@Z @ 556 NONAME ; void QGLShaderProgram::setUniformValue(int, class QPoint const &)
+	?bindTexture@QGLContext@@QAEIABVQImage@@IHV?$QFlags@W4BindOption@QGLContext@@@@@Z @ 557 NONAME ; unsigned int QGLContext::bindTexture(class QImage const &, unsigned int, int, class QFlags<enum QGLContext::BindOption>)
+	?initialized@QGLContext@@IBE_NXZ @ 558 NONAME ; bool QGLContext::initialized(void) const
+	?cleanup@QGLColormap@@CAXPAUQGLColormapData@1@@Z @ 559 NONAME ; void QGLColormap::cleanup(struct QGLColormap::QGLColormapData *)
+	??1QGLContextResource@@QAE@XZ @ 560 NONAME ; QGLContextResource::~QGLContextResource(void)
+	?bindTexture@QGLWidget@@QAEIABVQPixmap@@IHV?$QFlags@W4BindOption@QGLContext@@@@@Z @ 561 NONAME ; unsigned int QGLWidget::bindTexture(class QPixmap const &, unsigned int, int, class QFlags<enum QGLContext::BindOption>)
+	?setUniformValue@QGLShaderProgram@@QAEXPBDABV?$QGenericMatrix@$02$01M@@@Z @ 562 NONAME ; void QGLShaderProgram::setUniformValue(char const *, class QGenericMatrix<3, 2, float> const &)
+	?setUniformValueArray@QGLShaderProgram@@QAEXHPBMHH@Z @ 563 NONAME ; void QGLShaderProgram::setUniformValueArray(int, float const *, int, int)
+	?qt_metacall@QGraphicsShaderEffect@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 564 NONAME ; int QGraphicsShaderEffect::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?setUniformValueArray@QGLShaderProgram@@QAEXHPBVQVector2D@@H@Z @ 565 NONAME ; void QGLShaderProgram::setUniformValueArray(int, class QVector2D const *, int)
+	?beginNativePainting@QGL2PaintEngineEx@@UAEXXZ @ 566 NONAME ; void QGL2PaintEngineEx::beginNativePainting(void)
+	?overlayTransparentColor@QGLContext@@QBE?AVQColor@@XZ @ 567 NONAME ; class QColor QGLContext::overlayTransparentColor(void) const
+	?endPaint@QGLPaintDevice@@UAEXXZ @ 568 NONAME ; void QGLPaintDevice::endPaint(void)
+	?areSharing@QGLContext@@SA_NPBV1@0@Z @ 569 NONAME ; bool QGLContext::areSharing(class QGLContext const *, class QGLContext const *)
+	?setSamples@QGLFramebufferObjectFormat@@QAEXH@Z @ 570 NONAME ; void QGLFramebufferObjectFormat::setSamples(int)
+	?d_func@QGLCustomShaderStage@@AAEPAVQGLCustomShaderStagePrivate@@XZ @ 571 NONAME ; class QGLCustomShaderStagePrivate * QGLCustomShaderStage::d_func(void)
+	?doneCurrent@QGLPixelBuffer@@QAE_NXZ @ 572 NONAME ; bool QGLPixelBuffer::doneCurrent(void)
+	?geometryOutputType@QGLShaderProgram@@QBEIXZ @ 573 NONAME ; unsigned int QGLShaderProgram::geometryOutputType(void) const
+	?removeShader@QGLShaderProgram@@QAEXPAVQGLShader@@@Z @ 574 NONAME ; void QGLShaderProgram::removeShader(class QGLShader *)
+	?setUniformValueArray@QGLShaderProgram@@QAEXHPBV?$QGenericMatrix@$03$01M@@H@Z @ 575 NONAME ; void QGLShaderProgram::setUniformValueArray(int, class QGenericMatrix<4, 2, float> const *, int)
+	?setEntries@QGLColormap@@QAEXHPBIH@Z @ 576 NONAME ; void QGLColormap::setEntries(int, unsigned int const *, int)
+	?setUniformValue@QGLShaderProgram@@QAEXPBDI@Z @ 577 NONAME ; void QGLShaderProgram::setUniformValue(char const *, unsigned int)
+	?d_func@QGL2PaintEngineEx@@ABEPBVQGL2PaintEngineExPrivate@@XZ @ 578 NONAME ; class QGL2PaintEngineExPrivate const * QGL2PaintEngineEx::d_func(void) const
+	?removeCustomStage@QGLEngineShaderManager@@QAEXXZ @ 579 NONAME ; void QGLEngineShaderManager::removeCustomStage(void)
+	?bindTexture@QGLPixelBuffer@@QAEIABVQImage@@I@Z @ 580 NONAME ; unsigned int QGLPixelBuffer::bindTexture(class QImage const &, unsigned int)
+	??_EQGLCustomShaderStage@@UAE@I@Z @ 581 NONAME ; QGLCustomShaderStage::~QGLCustomShaderStage(unsigned int)
+	?format@QGLPixelBuffer@@QBE?AVQGLFormat@@XZ @ 582 NONAME ; class QGLFormat QGLPixelBuffer::format(void) const
+	?swapBuffers@QGLWidget@@QAEXXZ @ 583 NONAME ; void QGLWidget::swapBuffers(void)
+	??_EQGLFramebufferObject@@UAE@I@Z @ 584 NONAME ; QGLFramebufferObject::~QGLFramebufferObject(unsigned int)
+	?glDevice@QGLPixmapData@@QBEPAVQGLPaintDevice@@XZ @ 585 NONAME ; class QGLPaintDevice * QGLPixmapData::glDevice(void) const
+	?compositionModeChanged@QGL2PaintEngineEx@@UAEXXZ @ 586 NONAME ; void QGL2PaintEngineEx::compositionModeChanged(void)
+	?tr@QGLWidget@@SA?AVQString@@PBD0@Z @ 587 NONAME ; class QString QGLWidget::tr(char const *, char const *)
+	?setUniforms@QGraphicsShaderEffect@@MAEXPAVQGLShaderProgram@@@Z @ 588 NONAME ; void QGraphicsShaderEffect::setUniforms(class QGLShaderProgram *)
+	?drawImage@QGL2PaintEngineEx@@UAEXABVQRectF@@ABVQImage@@0V?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 589 NONAME ; void QGL2PaintEngineEx::drawImage(class QRectF const &, class QImage const &, class QRectF const &, class QFlags<enum Qt::ImageConversionFlag>)
+	?flush@QGLWindowSurface@@UAEXPAVQWidget@@ABVQRegion@@ABVQPoint@@@Z @ 590 NONAME ; void QGLWindowSurface::flush(class QWidget *, class QRegion const &, class QPoint const &)
+	??0QGLTextureGlyphCache@@QAE@PAVQGLContext@@W4Type@QFontEngineGlyphCache@@ABVQTransform@@@Z @ 591 NONAME ; QGLTextureGlyphCache::QGLTextureGlyphCache(class QGLContext *, enum QFontEngineGlyphCache::Type, class QTransform const &)
+	??_EQGLTextureGlyphCache@@UAE@I@Z @ 592 NONAME ; QGLTextureGlyphCache::~QGLTextureGlyphCache(unsigned int)
+	??1QGLShareContextScope@@QAE@XZ @ 593 NONAME ; QGLShareContextScope::~QGLShareContextScope(void)
+	?alpha@QGLFormat@@QBE_NXZ @ 594 NONAME ; bool QGLFormat::alpha(void) const
+	?drawTextItem@QGL2PaintEngineEx@@UAEXABVQPointF@@ABVQTextItem@@@Z @ 595 NONAME ; void QGL2PaintEngineEx::drawTextItem(class QPointF const &, class QTextItem const &)
+	?bindTexture@QGLContext@@QAEIABVQPixmap@@IHV?$QFlags@W4BindOption@QGLContext@@@@@Z @ 596 NONAME ; unsigned int QGLContext::bindTexture(class QPixmap const &, unsigned int, int, class QFlags<enum QGLContext::BindOption>)
+	?fillImage@QGLPixmapData@@ABE?AVQImage@@ABVQColor@@@Z @ 597 NONAME ; class QImage QGLPixmapData::fillImage(class QColor const &) const
+	?renderHintsChanged@QGL2PaintEngineEx@@UAEXXZ @ 598 NONAME ; void QGL2PaintEngineEx::renderHintsChanged(void)
+	?trUtf8@QGLShaderProgram@@SA?AVQString@@PBD0H@Z @ 599 NONAME ; class QString QGLShaderProgram::trUtf8(char const *, char const *, int)
+	?setUniformValue@QGLShaderProgram@@QAEXHABVQTransform@@@Z @ 600 NONAME ; void QGLShaderProgram::setUniformValue(int, class QTransform const &)
+	?qt_resolve_eglimage_gl_extensions@@YA_NPAVQGLContext@@@Z @ 601 NONAME ; bool qt_resolve_eglimage_gl_extensions(class QGLContext *)
+	?glInit@QGLWidget@@MAEXXZ @ 602 NONAME ; void QGLWidget::glInit(void)
+	?setEntry@QGLColormap@@QAEXHABVQColor@@@Z @ 603 NONAME ; void QGLColormap::setEntry(int, class QColor const &)
+	?setUniformValueArray@QGLShaderProgram@@QAEXPBDPBVQVector3D@@H@Z @ 604 NONAME ; void QGLShaderProgram::setUniformValueArray(char const *, class QVector3D const *, int)
+	??1QGLPixmapData@@UAE@XZ @ 605 NONAME ; QGLPixmapData::~QGLPixmapData(void)
+	?log@QGLShaderProgram@@QBE?AVQString@@XZ @ 606 NONAME ; class QString QGLShaderProgram::log(void) const
+	?metric@QGLPixmapData@@UBEHW4PaintDeviceMetric@QPaintDevice@@@Z @ 607 NONAME ; int QGLPixmapData::metric(enum QPaintDevice::PaintDeviceMetric) const
+	?qglColor@QGLWidget@@QBEXABVQColor@@@Z @ 608 NONAME ; void QGLWidget::qglColor(class QColor const &) const
+	??0QGLBuffer@@QAE@XZ @ 609 NONAME ; QGLBuffer::QGLBuffer(void)
+	?setAttributeValue@QGLShaderProgram@@QAEXPBDPBMHH@Z @ 610 NONAME ; void QGLShaderProgram::setAttributeValue(char const *, float const *, int, int)
+	?handle@QGLFramebufferObject@@QBEIXZ @ 611 NONAME ; unsigned int QGLFramebufferObject::handle(void) const
+	?tr@QGLSignalProxy@@SA?AVQString@@PBD0@Z @ 612 NONAME ; class QString QGLSignalProxy::tr(char const *, char const *)
+	?hasOverlay@QGLFormat@@QBE_NXZ @ 613 NONAME ; bool QGLFormat::hasOverlay(void) const
+	?setSrcPixelType@QGLEngineShaderManager@@QAEXW4BrushStyle@Qt@@@Z @ 614 NONAME ; void QGLEngineShaderManager::setSrcPixelType(enum Qt::BrushStyle)
+	?emitAboutToDestroyContext@QGLSignalProxy@@QAEXPBVQGLContext@@@Z @ 615 NONAME ; void QGLSignalProxy::emitAboutToDestroyContext(class QGLContext const *)
+	?colorIndex@QGLContext@@IBEIABVQColor@@@Z @ 616 NONAME ; unsigned int QGLContext::colorIndex(class QColor const &) const
+	?alphaRequested@QGLPaintDevice@@UBE_NXZ @ 617 NONAME ; bool QGLPaintDevice::alphaRequested(void) const
+	?unmap@QGLBuffer@@QAE_NXZ @ 618 NONAME ; bool QGLBuffer::unmap(void)
+	?setUniformValueArray@QGLShaderProgram@@QAEXPBDPBMHH@Z @ 619 NONAME ; void QGLShaderProgram::setUniformValueArray(char const *, float const *, int, int)
+	??0QGLSharedResourceGuard@@QAE@PBVQGLContext@@I@Z @ 620 NONAME ; QGLSharedResourceGuard::QGLSharedResourceGuard(class QGLContext const *, unsigned int)
+	?bindAttributeLocation@QGLShaderProgram@@QAEXPBDH@Z @ 621 NONAME ; void QGLShaderProgram::bindAttributeLocation(char const *, int)
+	?setUniformValue@QGLShaderProgram@@QAEXHABVQColor@@@Z @ 622 NONAME ; void QGLShaderProgram::setUniformValue(int, class QColor const &)
+	?enableAttributeArray@QGLShaderProgram@@QAEXH@Z @ 623 NONAME ; void QGLShaderProgram::enableAttributeArray(int)
+	?tr@QGLShader@@SA?AVQString@@PBD0@Z @ 624 NONAME ; class QString QGLShader::tr(char const *, char const *)
+	?overlayContext@QGLWidget@@QBEPBVQGLContext@@XZ @ 625 NONAME ; class QGLContext const * QGLWidget::overlayContext(void) const
+	?beginPaint@QGLPaintDevice@@UAEXXZ @ 626 NONAME ; void QGLPaintDevice::beginPaint(void)
+	?setTextureCacheLimit@QGLContext@@SAXH@Z @ 627 NONAME ; void QGLContext::setTextureCacheLimit(int)
+	?setOnPainter@QGLCustomShaderStage@@QAE_NPAVQPainter@@@Z @ 628 NONAME ; bool QGLCustomShaderStage::setOnPainter(class QPainter *)
+	?bindTexture@QGLPixelBuffer@@QAEIABVQPixmap@@I@Z @ 629 NONAME ; unsigned int QGLPixelBuffer::bindTexture(class QPixmap const &, unsigned int)
+	?resizeGL@QGLWidget@@MAEXHH@Z @ 630 NONAME ; void QGLWidget::resizeGL(int, int)
+	?trUtf8@QGLWindowSurface@@SA?AVQString@@PBD0@Z @ 631 NONAME ; class QString QGLWindowSurface::trUtf8(char const *, char const *)
+	?qt_metacast@QGLEngineShaderManager@@UAEPAXPBD@Z @ 632 NONAME ; void * QGLEngineShaderManager::qt_metacast(char const *)
+	?sampleBuffers@QGLFormat@@QBE_NXZ @ 633 NONAME ; bool QGLFormat::sampleBuffers(void) const
+	?trUtf8@QGLWindowSurface@@SA?AVQString@@PBD0H@Z @ 634 NONAME ; class QString QGLWindowSurface::trUtf8(char const *, char const *, int)
+	?shaderProgNeedsChangingSlot@QGLEngineShaderManager@@AAEXXZ @ 635 NONAME ; void QGLEngineShaderManager::shaderProgNeedsChangingSlot(void)
+	?metaObject@QGLTextureGlyphCache@@UBEPBUQMetaObject@@XZ @ 636 NONAME ; struct QMetaObject const * QGLTextureGlyphCache::metaObject(void) const
+	?paintEvent@QGLWidget@@MAEXPAVQPaintEvent@@@Z @ 637 NONAME ; void QGLWidget::paintEvent(class QPaintEvent *)
+	?uniformLocation@QGLShaderProgram@@QBEHABVQByteArray@@@Z @ 638 NONAME ; int QGLShaderProgram::uniformLocation(class QByteArray const &) const
+	?currentContext@QGLContext@@SAPBV1@XZ @ 639 NONAME ; class QGLContext const * QGLContext::currentContext(void)
+	?setUniformValue@QGLShaderProgram@@QAEXHABV?$QGenericMatrix@$01$02M@@@Z @ 640 NONAME ; void QGLShaderProgram::setUniformValue(int, class QGenericMatrix<2, 3, float> const &)
+	??0QGLShader@@QAE@V?$QFlags@W4ShaderTypeBit@QGLShader@@@@PAVQObject@@@Z @ 641 NONAME ; QGLShader::QGLShader(class QFlags<enum QGLShader::ShaderTypeBit>, class QObject *)
+	?setUniformValueArray@QGLShaderProgram@@QAEXPBDPBV?$QGenericMatrix@$01$01M@@H@Z @ 642 NONAME ; void QGLShaderProgram::setUniformValueArray(char const *, class QGenericMatrix<2, 2, float> const *, int)
+	?drawStaticTextItem@QGL2PaintEngineEx@@UAEXPAVQStaticTextItem@@@Z @ 643 NONAME ; void QGL2PaintEngineEx::drawStaticTextItem(class QStaticTextItem *)
+	?metaObject@QGLShader@@UBEPBUQMetaObject@@XZ @ 644 NONAME ; struct QMetaObject const * QGLShader::metaObject(void) const
+	?tr@QGLTextureGlyphCache@@SA?AVQString@@PBD0@Z @ 645 NONAME ; class QString QGLTextureGlyphCache::tr(char const *, char const *)
+	?drawTexture@QGLFramebufferObject@@QAEXABVQRectF@@II@Z @ 646 NONAME ; void QGLFramebufferObject::drawTexture(class QRectF const &, unsigned int, unsigned int)
+	?openGLVersionFlags@QGLFormat@@SA?AV?$QFlags@W4OpenGLVersionFlag@QGLFormat@@@@XZ @ 647 NONAME ; class QFlags<enum QGLFormat::OpenGLVersionFlag> QGLFormat::openGLVersionFlags(void)
+	?setRedBufferSize@QGLFormat@@QAEXH@Z @ 648 NONAME ; void QGLFormat::setRedBufferSize(int)
+	??0QGLFormat@@QAE@V?$QFlags@W4FormatOption@QGL@@@@H@Z @ 649 NONAME ; QGLFormat::QGLFormat(class QFlags<enum QGL::FormatOption>, int)
+	?setMaskType@QGLEngineShaderManager@@QAEXW4MaskType@1@@Z @ 650 NONAME ; void QGLEngineShaderManager::setMaskType(enum QGLEngineShaderManager::MaskType)
+	?setUniforms@QGLCustomShaderStage@@UAEXPAVQGLShaderProgram@@@Z @ 651 NONAME ; void QGLCustomShaderStage::setUniforms(class QGLShaderProgram *)
+	??0QGLFramebufferObjectFormat@@QAE@ABV0@@Z @ 652 NONAME ; QGLFramebufferObjectFormat::QGLFramebufferObjectFormat(class QGLFramebufferObjectFormat const &)
+	?fromFile@QGLPixmapData@@UAE_NABVQString@@PBDV?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 653 NONAME ; bool QGLPixmapData::fromFile(class QString const &, char const *, class QFlags<enum Qt::ImageConversionFlag>)
+	?qt_metacast@QGLShader@@UAEPAXPBD@Z @ 654 NONAME ; void * QGLShader::qt_metacast(char const *)
+	?attributeLocation@QGLShaderProgram@@QBEHABVQByteArray@@@Z @ 655 NONAME ; int QGLShaderProgram::attributeLocation(class QByteArray const &) const
+	?bindTexture@QGLContext@@QAEIABVQImage@@IH@Z @ 656 NONAME ; unsigned int QGLContext::bindTexture(class QImage const &, unsigned int, int)
+	?optimiseForBrushTransform@QGLEngineShaderManager@@QAEXW4TransformationType@QTransform@@@Z @ 657 NONAME ; void QGLEngineShaderManager::optimiseForBrushTransform(enum QTransform::TransformationType)
+	?setAlpha@QGLFormat@@QAEX_N@Z @ 658 NONAME ; void QGLFormat::setAlpha(bool)
+	?setAttributeValue@QGLShaderProgram@@QAEXPBDMMMM@Z @ 659 NONAME ; void QGLShaderProgram::setAttributeValue(char const *, float, float, float, float)
+	?setUniformValue@QGLShaderProgram@@QAEXPBDABV?$QGenericMatrix@$03$01M@@@Z @ 660 NONAME ; void QGLShaderProgram::setUniformValue(char const *, class QGenericMatrix<4, 2, float> const &)
+	?blitFramebuffer@QGLFramebufferObject@@SAXPAV1@ABVQRect@@01II@Z @ 661 NONAME ; void QGLFramebufferObject::blitFramebuffer(class QGLFramebufferObject *, class QRect const &, class QGLFramebufferObject *, class QRect const &, unsigned int, unsigned int)
+	?d_func@QGraphicsShaderEffect@@AAEPAVQGraphicsShaderEffectPrivate@@XZ @ 662 NONAME ; class QGraphicsShaderEffectPrivate * QGraphicsShaderEffect::d_func(void)
+	?d_func@QGLWidget@@AAEPAVQGLWidgetPrivate@@XZ @ 663 NONAME ; class QGLWidgetPrivate * QGLWidget::d_func(void)
+	?qt_metacast@QGLSignalProxy@@UAEPAXPBD@Z @ 664 NONAME ; void * QGLSignalProxy::qt_metacast(char const *)
+	?createState@QGL2PaintEngineEx@@UBEPAVQPainterState@@PAV2@@Z @ 665 NONAME ; class QPainterState * QGL2PaintEngineEx::createState(class QPainterState *) const
+	??0QGLShader@@QAE@V?$QFlags@W4ShaderTypeBit@QGLShader@@@@PBVQGLContext@@PAVQObject@@@Z @ 666 NONAME ; QGLShader::QGLShader(class QFlags<enum QGLShader::ShaderTypeBit>, class QGLContext const *, class QObject *)
+	?format@QGLFramebufferObject@@QBE?AVQGLFramebufferObjectFormat@@XZ @ 667 NONAME ; class QGLFramebufferObjectFormat QGLFramebufferObject::format(void) const
+	?tr@QGraphicsShaderEffect@@SA?AVQString@@PBD0H@Z @ 668 NONAME ; class QString QGraphicsShaderEffect::tr(char const *, char const *, int)
+	?destroy@QGLBuffer@@QAEXXZ @ 669 NONAME ; void QGLBuffer::destroy(void)
+	?setUniformValue@QGLShaderProgram@@QAEXPBDMMM@Z @ 670 NONAME ; void QGLShaderProgram::setUniformValue(char const *, float, float, float)
+	?paintEngine@QGLFramebufferObject@@UBEPAVQPaintEngine@@XZ @ 671 NONAME ; class QPaintEngine * QGLFramebufferObject::paintEngine(void) const
+	?setTextureTarget@QGLFramebufferObjectFormat@@QAEXI@Z @ 672 NONAME ; void QGLFramebufferObjectFormat::setTextureTarget(unsigned int)
+	?hasOpenGLPbuffers@QGLPixelBuffer@@SA_NXZ @ 673 NONAME ; bool QGLPixelBuffer::hasOpenGLPbuffers(void)
+	?handle@QGLPixelBuffer@@QBEKXZ @ 674 NONAME ; unsigned long QGLPixelBuffer::handle(void) const
+	?setHandle@QGLColormap@@IAEXK@Z @ 675 NONAME ; void QGLColormap::setHandle(unsigned long)
+	?size@QGLPixmapData@@ABE?AVQSize@@XZ @ 676 NONAME ; class QSize QGLPixmapData::size(void) const
+	??1QGLSignalProxy@@UAE@XZ @ 677 NONAME ; QGLSignalProxy::~QGLSignalProxy(void)
+	?isBound@QGLFramebufferObject@@QBE_NXZ @ 678 NONAME ; bool QGLFramebufferObject::isBound(void) const
+	?updateOverlayGL@QGLWidget@@UAEXXZ @ 679 NONAME ; void QGLWidget::updateOverlayGL(void)
+	?makeCurrent@QGLPixelBuffer@@QAE_NXZ @ 680 NONAME ; bool QGLPixelBuffer::makeCurrent(void)
+	?setUniformValue@QGLShaderProgram@@QAEXPBDQAY03M@Z @ 681 NONAME ; void QGLShaderProgram::setUniformValue(char const *, float [4] * const)
+	?draw@QGraphicsShaderEffect@@MAEXPAVQPainter@@@Z @ 682 NONAME ; void QGraphicsShaderEffect::draw(class QPainter *)
+	?bindTexture@QGLWidget@@QAEIABVQString@@@Z @ 683 NONAME ; unsigned int QGLWidget::bindTexture(class QString const &)
+	?setAttributeValue@QGLShaderProgram@@QAEXPBDABVQVector4D@@@Z @ 684 NONAME ; void QGLShaderProgram::setAttributeValue(char const *, class QVector4D const &)
+	?setAttributeArray@QGLShaderProgram@@QAEXHPBVQVector2D@@H@Z @ 685 NONAME ; void QGLShaderProgram::setAttributeArray(int, class QVector2D const *, int)
+	?makeCurrent@QGLWidget@@QAEXXZ @ 686 NONAME ; void QGLWidget::makeCurrent(void)
+	?setUniformValue@QGLShaderProgram@@QAEXHQAY03M@Z @ 687 NONAME ; void QGLShaderProgram::setUniformValue(int, float [4] * const)
+	?setUniformValue@QGLShaderProgram@@QAEXPBDABVQPoint@@@Z @ 688 NONAME ; void QGLShaderProgram::setUniformValue(char const *, class QPoint const &)
+	?redBufferSize@QGLFormat@@QBEHXZ @ 689 NONAME ; int QGLFormat::redBufferSize(void) const
+	?setUniformValueArray@QGLShaderProgram@@QAEXPBDPBV?$QGenericMatrix@$02$02M@@H@Z @ 690 NONAME ; void QGLShaderProgram::setUniformValueArray(char const *, class QGenericMatrix<3, 3, float> const *, int)
+	?setAttributeValue@QGLShaderProgram@@QAEXHABVQVector3D@@@Z @ 691 NONAME ; void QGLShaderProgram::setAttributeValue(int, class QVector3D const &)
+	?useFramebufferObjects@QGLPixmapData@@ABE_NXZ @ 692 NONAME ; bool QGLPixmapData::useFramebufferObjects(void) const
+	?enableAttributeArray@QGLShaderProgram@@QAEXPBD@Z @ 693 NONAME ; void QGLShaderProgram::enableAttributeArray(char const *)
+	?depth@QGLFormat@@QBE_NXZ @ 694 NONAME ; bool QGLFormat::depth(void) const
+	?getStaticMetaObject@QGLWindowSurface@@SAABUQMetaObject@@XZ @ 695 NONAME ; struct QMetaObject const & QGLWindowSurface::getStaticMetaObject(void)
+	?qt_metacast@QGLWidget@@UAEPAXPBD@Z @ 696 NONAME ; void * QGLWidget::qt_metacast(char const *)
+	?setProfile@QGLFormat@@QAEXW4OpenGLContextProfile@1@@Z @ 697 NONAME ; void QGLFormat::setProfile(enum QGLFormat::OpenGLContextProfile)
+	?updateDynamicTexture@QGLPixelBuffer@@QBEXI@Z @ 698 NONAME ; void QGLPixelBuffer::updateDynamicTexture(unsigned int) const
+	?setUniformValue@QGLShaderProgram@@QAEXHH@Z @ 699 NONAME ; void QGLShaderProgram::setUniformValue(int, int)
+
diff --git a/src/s60installs/eabi/QtOpenGLu.def b/src/s60installs/eabi/QtOpenGLu.def
new file mode 100644
index 0000000..7ceade4
--- /dev/null
+++ b/src/s60installs/eabi/QtOpenGLu.def
@@ -0,0 +1,705 @@
+EXPORTS
+	_Z18qt_gl_share_widgetv @ 1 NONAME
+	_Z19qt_qgl_paint_enginev @ 2 NONAME
+	_Z22qt_gl_transfer_contextPK10QGLContext @ 3 NONAME
+	_Z26qt_destroy_gl_share_widgetv @ 4 NONAME
+	_Z33qt_resolve_eglimage_gl_extensionsP10QGLContext @ 5 NONAME
+	_ZN10QGLContext10areSharingEPKS_S1_ @ 6 NONAME
+	_ZN10QGLContext10currentCtxE @ 7 NONAME DATA 4
+	_ZN10QGLContext11bindTextureERK6QImageji @ 8 NONAME
+	_ZN10QGLContext11bindTextureERK6QImageji6QFlagsINS_10BindOptionEE @ 9 NONAME
+	_ZN10QGLContext11bindTextureERK7QPixmapji @ 10 NONAME
+	_ZN10QGLContext11bindTextureERK7QPixmapji6QFlagsINS_10BindOptionEE @ 11 NONAME
+	_ZN10QGLContext11bindTextureERK7QString @ 12 NONAME
+	_ZN10QGLContext11doneCurrentEv @ 13 NONAME
+	_ZN10QGLContext11drawTextureERK6QRectFjj @ 14 NONAME
+	_ZN10QGLContext11drawTextureERK7QPointFjj @ 15 NONAME
+	_ZN10QGLContext11makeCurrentEv @ 16 NONAME
+	_ZN10QGLContext13chooseContextEPKS_ @ 17 NONAME
+	_ZN10QGLContext13deleteTextureEj @ 18 NONAME
+	_ZN10QGLContext14currentContextEv @ 19 NONAME
+	_ZN10QGLContext14setInitializedEb @ 20 NONAME
+	_ZN10QGLContext16setWindowCreatedEb @ 21 NONAME
+	_ZN10QGLContext17textureCacheLimitEv @ 22 NONAME
+	_ZN10QGLContext20setTextureCacheLimitEi @ 23 NONAME
+	_ZN10QGLContext24generateFontDisplayListsERK5QFonti @ 24 NONAME
+	_ZN10QGLContext5resetEv @ 25 NONAME
+	_ZN10QGLContext6createEPKS_ @ 26 NONAME
+	_ZN10QGLContext8setValidEb @ 27 NONAME
+	_ZN10QGLContext9setDeviceEP12QPaintDevice @ 28 NONAME
+	_ZN10QGLContext9setFormatERK9QGLFormat @ 29 NONAME
+	_ZN10QGLContextC1ERK9QGLFormat @ 30 NONAME
+	_ZN10QGLContextC1ERK9QGLFormatP12QPaintDevice @ 31 NONAME
+	_ZN10QGLContextC2ERK9QGLFormat @ 32 NONAME
+	_ZN10QGLContextC2ERK9QGLFormatP12QPaintDevice @ 33 NONAME
+	_ZN10QGLContextD0Ev @ 34 NONAME
+	_ZN10QGLContextD1Ev @ 35 NONAME
+	_ZN10QGLContextD2Ev @ 36 NONAME
+	_ZN11QGLColormap10setEntriesEiPKji @ 37 NONAME
+	_ZN11QGLColormap11shared_nullE @ 38 NONAME DATA 12
+	_ZN11QGLColormap13detach_helperEv @ 39 NONAME
+	_ZN11QGLColormap7cleanupEPNS_15QGLColormapDataE @ 40 NONAME
+	_ZN11QGLColormap8setEntryEiRK6QColor @ 41 NONAME
+	_ZN11QGLColormap8setEntryEij @ 42 NONAME
+	_ZN11QGLColormapC1ERKS_ @ 43 NONAME
+	_ZN11QGLColormapC1Ev @ 44 NONAME
+	_ZN11QGLColormapC2ERKS_ @ 45 NONAME
+	_ZN11QGLColormapC2Ev @ 46 NONAME
+	_ZN11QGLColormapD1Ev @ 47 NONAME
+	_ZN11QGLColormapD2Ev @ 48 NONAME
+	_ZN11QGLColormapaSERKS_ @ 49 NONAME
+	_ZN13QGLPixmapData4copyEPK11QPixmapDataRK5QRect @ 50 NONAME
+	_ZN13QGLPixmapData4fillERK6QColor @ 51 NONAME
+	_ZN13QGLPixmapData6resizeEii @ 52 NONAME
+	_ZN13QGLPixmapData6scrollEiiRK5QRect @ 53 NONAME
+	_ZN13QGLPixmapData8fromDataEPKhjPKc6QFlagsIN2Qt19ImageConversionFlagEE @ 54 NONAME
+	_ZN13QGLPixmapData8fromFileERK7QStringPKc6QFlagsIN2Qt19ImageConversionFlagEE @ 55 NONAME
+	_ZN13QGLPixmapData9fromImageERK6QImage6QFlagsIN2Qt19ImageConversionFlagEE @ 56 NONAME
+	_ZN13QGLPixmapDataC1EN11QPixmapData9PixelTypeE @ 57 NONAME
+	_ZN13QGLPixmapDataC2EN11QPixmapData9PixelTypeE @ 58 NONAME
+	_ZN13QGLPixmapDataD0Ev @ 59 NONAME
+	_ZN13QGLPixmapDataD1Ev @ 60 NONAME
+	_ZN13QGLPixmapDataD2Ev @ 61 NONAME
+	_ZN14QGLPaintDevice10beginPaintEv @ 62 NONAME
+	_ZN14QGLPaintDevice18ensureActiveTargetEv @ 63 NONAME
+	_ZN14QGLPaintDevice8endPaintEv @ 64 NONAME
+	_ZN14QGLPaintDevice9getDeviceEP12QPaintDevice @ 65 NONAME
+	_ZN14QGLPaintDeviceC2Ev @ 66 NONAME
+	_ZN14QGLPaintDeviceD0Ev @ 67 NONAME
+	_ZN14QGLPaintDeviceD1Ev @ 68 NONAME
+	_ZN14QGLPaintDeviceD2Ev @ 69 NONAME
+	_ZN14QGLPixelBuffer11bindTextureERK6QImagej @ 70 NONAME
+	_ZN14QGLPixelBuffer11bindTextureERK7QPixmapj @ 71 NONAME
+	_ZN14QGLPixelBuffer11bindTextureERK7QString @ 72 NONAME
+	_ZN14QGLPixelBuffer11doneCurrentEv @ 73 NONAME
+	_ZN14QGLPixelBuffer11drawTextureERK6QRectFjj @ 74 NONAME
+	_ZN14QGLPixelBuffer11drawTextureERK7QPointFjj @ 75 NONAME
+	_ZN14QGLPixelBuffer11makeCurrentEv @ 76 NONAME
+	_ZN14QGLPixelBuffer13deleteTextureEj @ 77 NONAME
+	_ZN14QGLPixelBuffer17hasOpenGLPbuffersEv @ 78 NONAME
+	_ZN14QGLPixelBuffer20bindToDynamicTextureEj @ 79 NONAME
+	_ZN14QGLPixelBuffer25releaseFromDynamicTextureEv @ 80 NONAME
+	_ZN14QGLPixelBufferC1ERK5QSizeRK9QGLFormatP9QGLWidget @ 81 NONAME
+	_ZN14QGLPixelBufferC1EiiRK9QGLFormatP9QGLWidget @ 82 NONAME
+	_ZN14QGLPixelBufferC2ERK5QSizeRK9QGLFormatP9QGLWidget @ 83 NONAME
+	_ZN14QGLPixelBufferC2EiiRK9QGLFormatP9QGLWidget @ 84 NONAME
+	_ZN14QGLPixelBufferD0Ev @ 85 NONAME
+	_ZN14QGLPixelBufferD1Ev @ 86 NONAME
+	_ZN14QGLPixelBufferD2Ev @ 87 NONAME
+	_ZN14QGLSignalProxy11qt_metacallEN11QMetaObject4CallEiPPv @ 88 NONAME
+	_ZN14QGLSignalProxy11qt_metacastEPKc @ 89 NONAME
+	_ZN14QGLSignalProxy16staticMetaObjectE @ 90 NONAME DATA 16
+	_ZN14QGLSignalProxy19getStaticMetaObjectEv @ 91 NONAME
+	_ZN14QGLSignalProxy21aboutToDestroyContextEPK10QGLContext @ 92 NONAME
+	_ZN14QGLSignalProxy8instanceEv @ 93 NONAME
+	_ZN16QGLShaderProgram11qt_metacallEN11QMetaObject4CallEiPPv @ 94 NONAME
+	_ZN16QGLShaderProgram11qt_metacastEPKc @ 95 NONAME
+	_ZN16QGLShaderProgram12removeShaderEP9QGLShader @ 96 NONAME
+	_ZN16QGLShaderProgram15setUniformValueEPKcPA2_Kf @ 97 NONAME
+	_ZN16QGLShaderProgram15setUniformValueEPKcPA3_Kf @ 98 NONAME
+	_ZN16QGLShaderProgram15setUniformValueEPKcPA4_Kf @ 99 NONAME
+	_ZN16QGLShaderProgram15setUniformValueEPKcRK10QMatrix4x4 @ 100 NONAME
+	_ZN16QGLShaderProgram15setUniformValueEPKcRK10QTransform @ 101 NONAME
+	_ZN16QGLShaderProgram15setUniformValueEPKcRK14QGenericMatrixILi2ELi2EfE @ 102 NONAME
+	_ZN16QGLShaderProgram15setUniformValueEPKcRK14QGenericMatrixILi2ELi3EfE @ 103 NONAME
+	_ZN16QGLShaderProgram15setUniformValueEPKcRK14QGenericMatrixILi2ELi4EfE @ 104 NONAME
+	_ZN16QGLShaderProgram15setUniformValueEPKcRK14QGenericMatrixILi3ELi2EfE @ 105 NONAME
+	_ZN16QGLShaderProgram15setUniformValueEPKcRK14QGenericMatrixILi3ELi3EfE @ 106 NONAME
+	_ZN16QGLShaderProgram15setUniformValueEPKcRK14QGenericMatrixILi3ELi4EfE @ 107 NONAME
+	_ZN16QGLShaderProgram15setUniformValueEPKcRK14QGenericMatrixILi4ELi2EfE @ 108 NONAME
+	_ZN16QGLShaderProgram15setUniformValueEPKcRK14QGenericMatrixILi4ELi3EfE @ 109 NONAME
+	_ZN16QGLShaderProgram15setUniformValueEPKcRK5QSize @ 110 NONAME
+	_ZN16QGLShaderProgram15setUniformValueEPKcRK6QColor @ 111 NONAME
+	_ZN16QGLShaderProgram15setUniformValueEPKcRK6QPoint @ 112 NONAME
+	_ZN16QGLShaderProgram15setUniformValueEPKcRK6QSizeF @ 113 NONAME
+	_ZN16QGLShaderProgram15setUniformValueEPKcRK7QPointF @ 114 NONAME
+	_ZN16QGLShaderProgram15setUniformValueEPKcRK9QVector2D @ 115 NONAME
+	_ZN16QGLShaderProgram15setUniformValueEPKcRK9QVector3D @ 116 NONAME
+	_ZN16QGLShaderProgram15setUniformValueEPKcRK9QVector4D @ 117 NONAME
+	_ZN16QGLShaderProgram15setUniformValueEPKcf @ 118 NONAME
+	_ZN16QGLShaderProgram15setUniformValueEPKcff @ 119 NONAME
+	_ZN16QGLShaderProgram15setUniformValueEPKcfff @ 120 NONAME
+	_ZN16QGLShaderProgram15setUniformValueEPKcffff @ 121 NONAME
+	_ZN16QGLShaderProgram15setUniformValueEPKci @ 122 NONAME
+	_ZN16QGLShaderProgram15setUniformValueEPKcj @ 123 NONAME
+	_ZN16QGLShaderProgram15setUniformValueEiPA2_Kf @ 124 NONAME
+	_ZN16QGLShaderProgram15setUniformValueEiPA3_Kf @ 125 NONAME
+	_ZN16QGLShaderProgram15setUniformValueEiPA4_Kf @ 126 NONAME
+	_ZN16QGLShaderProgram15setUniformValueEiRK10QMatrix4x4 @ 127 NONAME
+	_ZN16QGLShaderProgram15setUniformValueEiRK10QTransform @ 128 NONAME
+	_ZN16QGLShaderProgram15setUniformValueEiRK14QGenericMatrixILi2ELi2EfE @ 129 NONAME
+	_ZN16QGLShaderProgram15setUniformValueEiRK14QGenericMatrixILi2ELi3EfE @ 130 NONAME
+	_ZN16QGLShaderProgram15setUniformValueEiRK14QGenericMatrixILi2ELi4EfE @ 131 NONAME
+	_ZN16QGLShaderProgram15setUniformValueEiRK14QGenericMatrixILi3ELi2EfE @ 132 NONAME
+	_ZN16QGLShaderProgram15setUniformValueEiRK14QGenericMatrixILi3ELi3EfE @ 133 NONAME
+	_ZN16QGLShaderProgram15setUniformValueEiRK14QGenericMatrixILi3ELi4EfE @ 134 NONAME
+	_ZN16QGLShaderProgram15setUniformValueEiRK14QGenericMatrixILi4ELi2EfE @ 135 NONAME
+	_ZN16QGLShaderProgram15setUniformValueEiRK14QGenericMatrixILi4ELi3EfE @ 136 NONAME
+	_ZN16QGLShaderProgram15setUniformValueEiRK5QSize @ 137 NONAME
+	_ZN16QGLShaderProgram15setUniformValueEiRK6QColor @ 138 NONAME
+	_ZN16QGLShaderProgram15setUniformValueEiRK6QPoint @ 139 NONAME
+	_ZN16QGLShaderProgram15setUniformValueEiRK6QSizeF @ 140 NONAME
+	_ZN16QGLShaderProgram15setUniformValueEiRK7QPointF @ 141 NONAME
+	_ZN16QGLShaderProgram15setUniformValueEiRK9QVector2D @ 142 NONAME
+	_ZN16QGLShaderProgram15setUniformValueEiRK9QVector3D @ 143 NONAME
+	_ZN16QGLShaderProgram15setUniformValueEiRK9QVector4D @ 144 NONAME
+	_ZN16QGLShaderProgram15setUniformValueEif @ 145 NONAME
+	_ZN16QGLShaderProgram15setUniformValueEiff @ 146 NONAME
+	_ZN16QGLShaderProgram15setUniformValueEifff @ 147 NONAME
+	_ZN16QGLShaderProgram15setUniformValueEiffff @ 148 NONAME
+	_ZN16QGLShaderProgram15setUniformValueEii @ 149 NONAME
+	_ZN16QGLShaderProgram15setUniformValueEij @ 150 NONAME
+	_ZN16QGLShaderProgram15shaderDestroyedEv @ 151 NONAME
+	_ZN16QGLShaderProgram16removeAllShadersEv @ 152 NONAME
+	_ZN16QGLShaderProgram16staticMetaObjectE @ 153 NONAME DATA 16
+	_ZN16QGLShaderProgram17setAttributeArrayEPKcPK9QVector2Di @ 154 NONAME
+	_ZN16QGLShaderProgram17setAttributeArrayEPKcPK9QVector3Di @ 155 NONAME
+	_ZN16QGLShaderProgram17setAttributeArrayEPKcPK9QVector4Di @ 156 NONAME
+	_ZN16QGLShaderProgram17setAttributeArrayEPKcPKfii @ 157 NONAME
+	_ZN16QGLShaderProgram17setAttributeArrayEPKcjPKvii @ 158 NONAME
+	_ZN16QGLShaderProgram17setAttributeArrayEiPK9QVector2Di @ 159 NONAME
+	_ZN16QGLShaderProgram17setAttributeArrayEiPK9QVector3Di @ 160 NONAME
+	_ZN16QGLShaderProgram17setAttributeArrayEiPK9QVector4Di @ 161 NONAME
+	_ZN16QGLShaderProgram17setAttributeArrayEiPKfii @ 162 NONAME
+	_ZN16QGLShaderProgram17setAttributeArrayEijPKvii @ 163 NONAME
+	_ZN16QGLShaderProgram17setAttributeValueEPKcPKfii @ 164 NONAME
+	_ZN16QGLShaderProgram17setAttributeValueEPKcRK6QColor @ 165 NONAME
+	_ZN16QGLShaderProgram17setAttributeValueEPKcRK9QVector2D @ 166 NONAME
+	_ZN16QGLShaderProgram17setAttributeValueEPKcRK9QVector3D @ 167 NONAME
+	_ZN16QGLShaderProgram17setAttributeValueEPKcRK9QVector4D @ 168 NONAME
+	_ZN16QGLShaderProgram17setAttributeValueEPKcf @ 169 NONAME
+	_ZN16QGLShaderProgram17setAttributeValueEPKcff @ 170 NONAME
+	_ZN16QGLShaderProgram17setAttributeValueEPKcfff @ 171 NONAME
+	_ZN16QGLShaderProgram17setAttributeValueEPKcffff @ 172 NONAME
+	_ZN16QGLShaderProgram17setAttributeValueEiPKfii @ 173 NONAME
+	_ZN16QGLShaderProgram17setAttributeValueEiRK6QColor @ 174 NONAME
+	_ZN16QGLShaderProgram17setAttributeValueEiRK9QVector2D @ 175 NONAME
+	_ZN16QGLShaderProgram17setAttributeValueEiRK9QVector3D @ 176 NONAME
+	_ZN16QGLShaderProgram17setAttributeValueEiRK9QVector4D @ 177 NONAME
+	_ZN16QGLShaderProgram17setAttributeValueEif @ 178 NONAME
+	_ZN16QGLShaderProgram17setAttributeValueEiff @ 179 NONAME
+	_ZN16QGLShaderProgram17setAttributeValueEifff @ 180 NONAME
+	_ZN16QGLShaderProgram17setAttributeValueEiffff @ 181 NONAME
+	_ZN16QGLShaderProgram18setAttributeBufferEPKcjiii @ 182 NONAME
+	_ZN16QGLShaderProgram18setAttributeBufferEijiii @ 183 NONAME
+	_ZN16QGLShaderProgram19getStaticMetaObjectEv @ 184 NONAME
+	_ZN16QGLShaderProgram20enableAttributeArrayEPKc @ 185 NONAME
+	_ZN16QGLShaderProgram20enableAttributeArrayEi @ 186 NONAME
+	_ZN16QGLShaderProgram20setGeometryInputTypeEj @ 187 NONAME
+	_ZN16QGLShaderProgram20setUniformValueArrayEPKcPK10QMatrix4x4i @ 188 NONAME
+	_ZN16QGLShaderProgram20setUniformValueArrayEPKcPK14QGenericMatrixILi2ELi2EfEi @ 189 NONAME
+	_ZN16QGLShaderProgram20setUniformValueArrayEPKcPK14QGenericMatrixILi2ELi3EfEi @ 190 NONAME
+	_ZN16QGLShaderProgram20setUniformValueArrayEPKcPK14QGenericMatrixILi2ELi4EfEi @ 191 NONAME
+	_ZN16QGLShaderProgram20setUniformValueArrayEPKcPK14QGenericMatrixILi3ELi2EfEi @ 192 NONAME
+	_ZN16QGLShaderProgram20setUniformValueArrayEPKcPK14QGenericMatrixILi3ELi3EfEi @ 193 NONAME
+	_ZN16QGLShaderProgram20setUniformValueArrayEPKcPK14QGenericMatrixILi3ELi4EfEi @ 194 NONAME
+	_ZN16QGLShaderProgram20setUniformValueArrayEPKcPK14QGenericMatrixILi4ELi2EfEi @ 195 NONAME
+	_ZN16QGLShaderProgram20setUniformValueArrayEPKcPK14QGenericMatrixILi4ELi3EfEi @ 196 NONAME
+	_ZN16QGLShaderProgram20setUniformValueArrayEPKcPK9QVector2Di @ 197 NONAME
+	_ZN16QGLShaderProgram20setUniformValueArrayEPKcPK9QVector3Di @ 198 NONAME
+	_ZN16QGLShaderProgram20setUniformValueArrayEPKcPK9QVector4Di @ 199 NONAME
+	_ZN16QGLShaderProgram20setUniformValueArrayEPKcPKfii @ 200 NONAME
+	_ZN16QGLShaderProgram20setUniformValueArrayEPKcPKii @ 201 NONAME
+	_ZN16QGLShaderProgram20setUniformValueArrayEPKcPKji @ 202 NONAME
+	_ZN16QGLShaderProgram20setUniformValueArrayEiPK10QMatrix4x4i @ 203 NONAME
+	_ZN16QGLShaderProgram20setUniformValueArrayEiPK14QGenericMatrixILi2ELi2EfEi @ 204 NONAME
+	_ZN16QGLShaderProgram20setUniformValueArrayEiPK14QGenericMatrixILi2ELi3EfEi @ 205 NONAME
+	_ZN16QGLShaderProgram20setUniformValueArrayEiPK14QGenericMatrixILi2ELi4EfEi @ 206 NONAME
+	_ZN16QGLShaderProgram20setUniformValueArrayEiPK14QGenericMatrixILi3ELi2EfEi @ 207 NONAME
+	_ZN16QGLShaderProgram20setUniformValueArrayEiPK14QGenericMatrixILi3ELi3EfEi @ 208 NONAME
+	_ZN16QGLShaderProgram20setUniformValueArrayEiPK14QGenericMatrixILi3ELi4EfEi @ 209 NONAME
+	_ZN16QGLShaderProgram20setUniformValueArrayEiPK14QGenericMatrixILi4ELi2EfEi @ 210 NONAME
+	_ZN16QGLShaderProgram20setUniformValueArrayEiPK14QGenericMatrixILi4ELi3EfEi @ 211 NONAME
+	_ZN16QGLShaderProgram20setUniformValueArrayEiPK9QVector2Di @ 212 NONAME
+	_ZN16QGLShaderProgram20setUniformValueArrayEiPK9QVector3Di @ 213 NONAME
+	_ZN16QGLShaderProgram20setUniformValueArrayEiPK9QVector4Di @ 214 NONAME
+	_ZN16QGLShaderProgram20setUniformValueArrayEiPKfii @ 215 NONAME
+	_ZN16QGLShaderProgram20setUniformValueArrayEiPKii @ 216 NONAME
+	_ZN16QGLShaderProgram20setUniformValueArrayEiPKji @ 217 NONAME
+	_ZN16QGLShaderProgram21bindAttributeLocationEPKci @ 218 NONAME
+	_ZN16QGLShaderProgram21bindAttributeLocationERK10QByteArrayi @ 219 NONAME
+	_ZN16QGLShaderProgram21bindAttributeLocationERK7QStringi @ 220 NONAME
+	_ZN16QGLShaderProgram21disableAttributeArrayEPKc @ 221 NONAME
+	_ZN16QGLShaderProgram21disableAttributeArrayEi @ 222 NONAME
+	_ZN16QGLShaderProgram21setGeometryOutputTypeEj @ 223 NONAME
+	_ZN16QGLShaderProgram23addShaderFromSourceCodeE6QFlagsIN9QGLShader13ShaderTypeBitEEPKc @ 224 NONAME
+	_ZN16QGLShaderProgram23addShaderFromSourceCodeE6QFlagsIN9QGLShader13ShaderTypeBitEERK10QByteArray @ 225 NONAME
+	_ZN16QGLShaderProgram23addShaderFromSourceCodeE6QFlagsIN9QGLShader13ShaderTypeBitEERK7QString @ 226 NONAME
+	_ZN16QGLShaderProgram23addShaderFromSourceFileE6QFlagsIN9QGLShader13ShaderTypeBitEERK7QString @ 227 NONAME
+	_ZN16QGLShaderProgram23hasOpenGLShaderProgramsEPK10QGLContext @ 228 NONAME
+	_ZN16QGLShaderProgram28setGeometryOutputVertexCountEi @ 229 NONAME
+	_ZN16QGLShaderProgram4bindEv @ 230 NONAME
+	_ZN16QGLShaderProgram4initEv @ 231 NONAME
+	_ZN16QGLShaderProgram4linkEv @ 232 NONAME
+	_ZN16QGLShaderProgram7releaseEv @ 233 NONAME
+	_ZN16QGLShaderProgram9addShaderEP9QGLShader @ 234 NONAME
+	_ZN16QGLShaderProgramC1EP7QObject @ 235 NONAME
+	_ZN16QGLShaderProgramC1EPK10QGLContextP7QObject @ 236 NONAME
+	_ZN16QGLShaderProgramC2EP7QObject @ 237 NONAME
+	_ZN16QGLShaderProgramC2EPK10QGLContextP7QObject @ 238 NONAME
+	_ZN16QGLShaderProgramD0Ev @ 239 NONAME
+	_ZN16QGLShaderProgramD1Ev @ 240 NONAME
+	_ZN16QGLShaderProgramD2Ev @ 241 NONAME
+	_ZN16QGLWindowSurface10beginPaintERK7QRegion @ 242 NONAME
+	_ZN16QGLWindowSurface11paintDeviceEv @ 243 NONAME
+	_ZN16QGLWindowSurface11qt_metacallEN11QMetaObject4CallEiPPv @ 244 NONAME
+	_ZN16QGLWindowSurface11qt_metacastEPKc @ 245 NONAME
+	_ZN16QGLWindowSurface11setGeometryERK5QRect @ 246 NONAME
+	_ZN16QGLWindowSurface12hijackWindowEP7QWidget @ 247 NONAME
+	_ZN16QGLWindowSurface13surfaceFormatE @ 248 NONAME DATA 4
+	_ZN16QGLWindowSurface14updateGeometryEv @ 249 NONAME
+	_ZN16QGLWindowSurface16staticMetaObjectE @ 250 NONAME DATA 16
+	_ZN16QGLWindowSurface19getStaticMetaObjectEv @ 251 NONAME
+	_ZN16QGLWindowSurface5flushEP7QWidgetRK7QRegionRK6QPoint @ 252 NONAME
+	_ZN16QGLWindowSurface6bufferEPK7QWidget @ 253 NONAME
+	_ZN16QGLWindowSurface6scrollERK7QRegionii @ 254 NONAME
+	_ZN16QGLWindowSurface7deletedEP7QObject @ 255 NONAME
+	_ZN16QGLWindowSurface8endPaintERK7QRegion @ 256 NONAME
+	_ZN16QGLWindowSurfaceC1EP7QWidget @ 257 NONAME
+	_ZN16QGLWindowSurfaceC2EP7QWidget @ 258 NONAME
+	_ZN16QGLWindowSurfaceD0Ev @ 259 NONAME
+	_ZN16QGLWindowSurfaceD1Ev @ 260 NONAME
+	_ZN16QGLWindowSurfaceD2Ev @ 261 NONAME
+	_ZN17QGL2PaintEngineEx10drawPixmapERK6QRectFRK7QPixmapS2_ @ 262 NONAME
+	_ZN17QGL2PaintEngineEx10penChangedEv @ 263 NONAME
+	_ZN17QGL2PaintEngineEx11drawTextureERK6QRectFjRK5QSizeS2_ @ 264 NONAME
+	_ZN17QGL2PaintEngineEx12brushChangedEv @ 265 NONAME
+	_ZN17QGL2PaintEngineEx12drawTextItemERK7QPointFRK9QTextItem @ 266 NONAME
+	_ZN17QGL2PaintEngineEx12ensureActiveEv @ 267 NONAME
+	_ZN17QGL2PaintEngineEx12pixmapFilterEiPK13QPixmapFilter @ 268 NONAME
+	_ZN17QGL2PaintEngineEx14opacityChangedEv @ 269 NONAME
+	_ZN17QGL2PaintEngineEx15invalidateStateEv @ 270 NONAME
+	_ZN17QGL2PaintEngineEx16transformChangedEv @ 271 NONAME
+	_ZN17QGL2PaintEngineEx17endNativePaintingEv @ 272 NONAME
+	_ZN17QGL2PaintEngineEx18brushOriginChangedEv @ 273 NONAME
+	_ZN17QGL2PaintEngineEx18clipEnabledChangedEv @ 274 NONAME
+	_ZN17QGL2PaintEngineEx18drawStaticTextItemEP15QStaticTextItem @ 275 NONAME
+	_ZN17QGL2PaintEngineEx18renderHintsChangedEv @ 276 NONAME
+	_ZN17QGL2PaintEngineEx19beginNativePaintingEv @ 277 NONAME
+	_ZN17QGL2PaintEngineEx19drawPixmapFragmentsEPKN8QPainter14PixmapFragmentEiRK7QPixmap6QFlagsINS0_18PixmapFragmentHintEE @ 278 NONAME
+	_ZN17QGL2PaintEngineEx22compositionModeChangedEv @ 279 NONAME
+	_ZN17QGL2PaintEngineEx3endEv @ 280 NONAME
+	_ZN17QGL2PaintEngineEx4clipERK11QVectorPathN2Qt13ClipOperationE @ 281 NONAME
+	_ZN17QGL2PaintEngineEx4fillERK11QVectorPathRK6QBrush @ 282 NONAME
+	_ZN17QGL2PaintEngineEx5beginEP12QPaintDevice @ 283 NONAME
+	_ZN17QGL2PaintEngineEx6strokeERK11QVectorPathRK4QPen @ 284 NONAME
+	_ZN17QGL2PaintEngineEx8setStateEP13QPainterState @ 285 NONAME
+	_ZN17QGL2PaintEngineEx9drawImageERK6QRectFRK6QImageS2_6QFlagsIN2Qt19ImageConversionFlagEE @ 286 NONAME
+	_ZN17QGL2PaintEngineExC1Ev @ 287 NONAME
+	_ZN17QGL2PaintEngineExC2Ev @ 288 NONAME
+	_ZN17QGL2PaintEngineExD0Ev @ 289 NONAME
+	_ZN17QGL2PaintEngineExD1Ev @ 290 NONAME
+	_ZN17QGL2PaintEngineExD2Ev @ 291 NONAME
+	_ZN17QGLContextPrivate14extensionFuncsEPK10QGLContext @ 292 NONAME
+	_ZN17QGLGraphicsSystemC1Eb @ 293 NONAME
+	_ZN17QGLGraphicsSystemC2Eb @ 294 NONAME
+	_ZN18QGLContextResource5valueEPK10QGLContext @ 295 NONAME
+	_ZN18QGLContextResource6insertEPK10QGLContextPv @ 296 NONAME
+	_ZN18QGLContextResource7cleanupEPK10QGLContextPv @ 297 NONAME
+	_ZN18QGLContextResourceC1EPFvPvE @ 298 NONAME
+	_ZN18QGLContextResourceC2EPFvPvE @ 299 NONAME
+	_ZN18QGLContextResourceD1Ev @ 300 NONAME
+	_ZN18QGLContextResourceD2Ev @ 301 NONAME
+	_ZN20QGLCustomShaderStage11setInactiveEv @ 302 NONAME
+	_ZN20QGLCustomShaderStage12setOnPainterEP8QPainter @ 303 NONAME
+	_ZN20QGLCustomShaderStage16setUniformsDirtyEv @ 304 NONAME
+	_ZN20QGLCustomShaderStage17removeFromPainterEP8QPainter @ 305 NONAME
+	_ZN20QGLCustomShaderStage9setSourceERK10QByteArray @ 306 NONAME
+	_ZN20QGLCustomShaderStageC1Ev @ 307 NONAME
+	_ZN20QGLCustomShaderStageC2Ev @ 308 NONAME
+	_ZN20QGLCustomShaderStageD0Ev @ 309 NONAME
+	_ZN20QGLCustomShaderStageD1Ev @ 310 NONAME
+	_ZN20QGLCustomShaderStageD2Ev @ 311 NONAME
+	_ZN20QGLFramebufferObject11bindDefaultEv @ 312 NONAME
+	_ZN20QGLFramebufferObject11drawTextureERK6QRectFjj @ 313 NONAME
+	_ZN20QGLFramebufferObject11drawTextureERK7QPointFjj @ 314 NONAME
+	_ZN20QGLFramebufferObject15blitFramebufferEPS_RK5QRectS0_S3_jj @ 315 NONAME
+	_ZN20QGLFramebufferObject24hasOpenGLFramebufferBlitEv @ 316 NONAME
+	_ZN20QGLFramebufferObject27hasOpenGLFramebufferObjectsEv @ 317 NONAME
+	_ZN20QGLFramebufferObject4bindEv @ 318 NONAME
+	_ZN20QGLFramebufferObject7releaseEv @ 319 NONAME
+	_ZN20QGLFramebufferObjectC1ERK5QSizeNS_10AttachmentEjj @ 320 NONAME
+	_ZN20QGLFramebufferObjectC1ERK5QSizeRK26QGLFramebufferObjectFormat @ 321 NONAME
+	_ZN20QGLFramebufferObjectC1ERK5QSizej @ 322 NONAME
+	_ZN20QGLFramebufferObjectC1EiiNS_10AttachmentEjj @ 323 NONAME
+	_ZN20QGLFramebufferObjectC1EiiRK26QGLFramebufferObjectFormat @ 324 NONAME
+	_ZN20QGLFramebufferObjectC1Eiij @ 325 NONAME
+	_ZN20QGLFramebufferObjectC2ERK5QSizeNS_10AttachmentEjj @ 326 NONAME
+	_ZN20QGLFramebufferObjectC2ERK5QSizeRK26QGLFramebufferObjectFormat @ 327 NONAME
+	_ZN20QGLFramebufferObjectC2ERK5QSizej @ 328 NONAME
+	_ZN20QGLFramebufferObjectC2EiiNS_10AttachmentEjj @ 329 NONAME
+	_ZN20QGLFramebufferObjectC2EiiRK26QGLFramebufferObjectFormat @ 330 NONAME
+	_ZN20QGLFramebufferObjectC2Eiij @ 331 NONAME
+	_ZN20QGLFramebufferObjectD0Ev @ 332 NONAME
+	_ZN20QGLFramebufferObjectD1Ev @ 333 NONAME
+	_ZN20QGLFramebufferObjectD2Ev @ 334 NONAME
+	_ZN20QGLTextureGlyphCache11fillTextureERKN18QTextureGlyphCache5CoordEj @ 335 NONAME
+	_ZN20QGLTextureGlyphCache11qt_metacallEN11QMetaObject4CallEiPPv @ 336 NONAME
+	_ZN20QGLTextureGlyphCache11qt_metacastEPKc @ 337 NONAME
+	_ZN20QGLTextureGlyphCache16staticMetaObjectE @ 338 NONAME DATA 16
+	_ZN20QGLTextureGlyphCache17createTextureDataEii @ 339 NONAME
+	_ZN20QGLTextureGlyphCache17resizeTextureDataEii @ 340 NONAME
+	_ZN20QGLTextureGlyphCache19getStaticMetaObjectEv @ 341 NONAME
+	_ZN20QGLTextureGlyphCacheC1EP10QGLContextN21QFontEngineGlyphCache4TypeERK10QTransform @ 342 NONAME
+	_ZN20QGLTextureGlyphCacheC2EP10QGLContextN21QFontEngineGlyphCache4TypeERK10QTransform @ 343 NONAME
+	_ZN20QGLTextureGlyphCacheD0Ev @ 344 NONAME
+	_ZN20QGLTextureGlyphCacheD1Ev @ 345 NONAME
+	_ZN20QGLTextureGlyphCacheD2Ev @ 346 NONAME
+	_ZN21QGraphicsShaderEffect11qt_metacallEN11QMetaObject4CallEiPPv @ 347 NONAME
+	_ZN21QGraphicsShaderEffect11qt_metacastEPKc @ 348 NONAME
+	_ZN21QGraphicsShaderEffect11setUniformsEP16QGLShaderProgram @ 349 NONAME
+	_ZN21QGraphicsShaderEffect16setUniformsDirtyEv @ 350 NONAME
+	_ZN21QGraphicsShaderEffect16staticMetaObjectE @ 351 NONAME DATA 16
+	_ZN21QGraphicsShaderEffect19getStaticMetaObjectEv @ 352 NONAME
+	_ZN21QGraphicsShaderEffect22setPixelShaderFragmentERK10QByteArray @ 353 NONAME
+	_ZN21QGraphicsShaderEffect4drawEP8QPainter @ 354 NONAME
+	_ZN21QGraphicsShaderEffectC1EP7QObject @ 355 NONAME
+	_ZN21QGraphicsShaderEffectC2EP7QObject @ 356 NONAME
+	_ZN21QGraphicsShaderEffectD0Ev @ 357 NONAME
+	_ZN21QGraphicsShaderEffectD1Ev @ 358 NONAME
+	_ZN21QGraphicsShaderEffectD2Ev @ 359 NONAME
+	_ZN22QGLEngineShaderManager11blitProgramEv @ 360 NONAME
+	_ZN22QGLEngineShaderManager11qt_metacallEN11QMetaObject4CallEiPPv @ 361 NONAME
+	_ZN22QGLEngineShaderManager11qt_metacastEPKc @ 362 NONAME
+	_ZN22QGLEngineShaderManager11setMaskTypeENS_8MaskTypeE @ 363 NONAME
+	_ZN22QGLEngineShaderManager13simpleProgramEv @ 364 NONAME
+	_ZN22QGLEngineShaderManager14currentProgramEv @ 365 NONAME
+	_ZN22QGLEngineShaderManager14setCustomStageEP20QGLCustomShaderStage @ 366 NONAME
+	_ZN22QGLEngineShaderManager14setOpacityModeENS_11OpacityModeE @ 367 NONAME
+	_ZN22QGLEngineShaderManager14useBlitProgramEv @ 368 NONAME
+	_ZN22QGLEngineShaderManager15setSrcPixelTypeEN2Qt10BrushStyleE @ 369 NONAME
+	_ZN22QGLEngineShaderManager15setSrcPixelTypeENS_12PixelSrcTypeE @ 370 NONAME
+	_ZN22QGLEngineShaderManager16staticMetaObjectE @ 371 NONAME DATA 16
+	_ZN22QGLEngineShaderManager16useSimpleProgramEv @ 372 NONAME
+	_ZN22QGLEngineShaderManager17removeCustomStageEv @ 373 NONAME
+	_ZN22QGLEngineShaderManager18getUniformLocationENS_7UniformE @ 374 NONAME
+	_ZN22QGLEngineShaderManager18setCompositionModeEN8QPainter15CompositionModeE @ 375 NONAME
+	_ZN22QGLEngineShaderManager19getStaticMetaObjectEv @ 376 NONAME
+	_ZN22QGLEngineShaderManager20useCorrectShaderProgEv @ 377 NONAME
+	_ZN22QGLEngineShaderManager25optimiseForBrushTransformEN10QTransform18TransformationTypeE @ 378 NONAME
+	_ZN22QGLEngineShaderManager8setDirtyEv @ 379 NONAME
+	_ZN22QGLEngineShaderManagerC1EP10QGLContext @ 380 NONAME
+	_ZN22QGLEngineShaderManagerC2EP10QGLContext @ 381 NONAME
+	_ZN22QGLEngineShaderManagerD0Ev @ 382 NONAME
+	_ZN22QGLEngineShaderManagerD1Ev @ 383 NONAME
+	_ZN22QGLEngineShaderManagerD2Ev @ 384 NONAME
+	_ZN22QGLSharedResourceGuard10setContextEPK10QGLContext @ 385 NONAME
+	_ZN22QGLSharedResourceGuardD1Ev @ 386 NONAME
+	_ZN22QGLSharedResourceGuardD2Ev @ 387 NONAME
+	_ZN26QGLFramebufferObjectFormat10setSamplesEi @ 388 NONAME
+	_ZN26QGLFramebufferObjectFormat13setAttachmentEN20QGLFramebufferObject10AttachmentE @ 389 NONAME
+	_ZN26QGLFramebufferObjectFormat16setTextureTargetEj @ 390 NONAME
+	_ZN26QGLFramebufferObjectFormat24setInternalTextureFormatEj @ 391 NONAME
+	_ZN26QGLFramebufferObjectFormat6detachEv @ 392 NONAME
+	_ZN26QGLFramebufferObjectFormatC1ERKS_ @ 393 NONAME
+	_ZN26QGLFramebufferObjectFormatC1Ev @ 394 NONAME
+	_ZN26QGLFramebufferObjectFormatC2ERKS_ @ 395 NONAME
+	_ZN26QGLFramebufferObjectFormatC2Ev @ 396 NONAME
+	_ZN26QGLFramebufferObjectFormatD1Ev @ 397 NONAME
+	_ZN26QGLFramebufferObjectFormatD2Ev @ 398 NONAME
+	_ZN26QGLFramebufferObjectFormataSERKS_ @ 399 NONAME
+	_ZN3QGL23setPreferredPaintEngineEN12QPaintEngine4TypeE @ 400 NONAME
+	_ZN9QGLBuffer15setUsagePatternENS_12UsagePatternE @ 401 NONAME
+	_ZN9QGLBuffer3mapENS_6AccessE @ 402 NONAME
+	_ZN9QGLBuffer4bindEv @ 403 NONAME
+	_ZN9QGLBuffer4readEiPvi @ 404 NONAME
+	_ZN9QGLBuffer5unmapEv @ 405 NONAME
+	_ZN9QGLBuffer5writeEiPKvi @ 406 NONAME
+	_ZN9QGLBuffer6createEv @ 407 NONAME
+	_ZN9QGLBuffer7destroyEv @ 408 NONAME
+	_ZN9QGLBuffer7releaseENS_4TypeE @ 409 NONAME
+	_ZN9QGLBuffer7releaseEv @ 410 NONAME
+	_ZN9QGLBuffer8allocateEPKvi @ 411 NONAME
+	_ZN9QGLBufferC1ENS_4TypeE @ 412 NONAME
+	_ZN9QGLBufferC1ERKS_ @ 413 NONAME
+	_ZN9QGLBufferC1Ev @ 414 NONAME
+	_ZN9QGLBufferC2ENS_4TypeE @ 415 NONAME
+	_ZN9QGLBufferC2ERKS_ @ 416 NONAME
+	_ZN9QGLBufferC2Ev @ 417 NONAME
+	_ZN9QGLBufferD1Ev @ 418 NONAME
+	_ZN9QGLBufferD2Ev @ 419 NONAME
+	_ZN9QGLBufferaSERKS_ @ 420 NONAME
+	_ZN9QGLFormat10setOverlayEb @ 421 NONAME
+	_ZN9QGLFormat10setProfileENS_20OpenGLContextProfileE @ 422 NONAME
+	_ZN9QGLFormat10setSamplesEi @ 423 NONAME
+	_ZN9QGLFormat10setStencilEb @ 424 NONAME
+	_ZN9QGLFormat10setVersionEii @ 425 NONAME
+	_ZN9QGLFormat13defaultFormatEv @ 426 NONAME
+	_ZN9QGLFormat15setDoubleBufferEb @ 427 NONAME
+	_ZN9QGLFormat15setSwapIntervalEi @ 428 NONAME
+	_ZN9QGLFormat16setDefaultFormatERKS_ @ 429 NONAME
+	_ZN9QGLFormat16setRedBufferSizeEi @ 430 NONAME
+	_ZN9QGLFormat16setSampleBuffersEb @ 431 NONAME
+	_ZN9QGLFormat17hasOpenGLOverlaysEv @ 432 NONAME
+	_ZN9QGLFormat17setBlueBufferSizeEi @ 433 NONAME
+	_ZN9QGLFormat18openGLVersionFlagsEv @ 434 NONAME
+	_ZN9QGLFormat18setAccumBufferSizeEi @ 435 NONAME
+	_ZN9QGLFormat18setAlphaBufferSizeEi @ 436 NONAME
+	_ZN9QGLFormat18setDepthBufferSizeEi @ 437 NONAME
+	_ZN9QGLFormat18setDirectRenderingEb @ 438 NONAME
+	_ZN9QGLFormat18setGreenBufferSizeEi @ 439 NONAME
+	_ZN9QGLFormat20defaultOverlayFormatEv @ 440 NONAME
+	_ZN9QGLFormat20setStencilBufferSizeEi @ 441 NONAME
+	_ZN9QGLFormat23setDefaultOverlayFormatERKS_ @ 442 NONAME
+	_ZN9QGLFormat6detachEv @ 443 NONAME
+	_ZN9QGLFormat7setRgbaEb @ 444 NONAME
+	_ZN9QGLFormat8setAccumEb @ 445 NONAME
+	_ZN9QGLFormat8setAlphaEb @ 446 NONAME
+	_ZN9QGLFormat8setDepthEb @ 447 NONAME
+	_ZN9QGLFormat8setPlaneEi @ 448 NONAME
+	_ZN9QGLFormat9hasOpenGLEv @ 449 NONAME
+	_ZN9QGLFormat9setOptionE6QFlagsIN3QGL12FormatOptionEE @ 450 NONAME
+	_ZN9QGLFormat9setStereoEb @ 451 NONAME
+	_ZN9QGLFormatC1E6QFlagsIN3QGL12FormatOptionEEi @ 452 NONAME
+	_ZN9QGLFormatC1ERKS_ @ 453 NONAME
+	_ZN9QGLFormatC1Ev @ 454 NONAME
+	_ZN9QGLFormatC2E6QFlagsIN3QGL12FormatOptionEEi @ 455 NONAME
+	_ZN9QGLFormatC2ERKS_ @ 456 NONAME
+	_ZN9QGLFormatC2Ev @ 457 NONAME
+	_ZN9QGLFormatD1Ev @ 458 NONAME
+	_ZN9QGLFormatD2Ev @ 459 NONAME
+	_ZN9QGLFormataSERKS_ @ 460 NONAME
+	_ZN9QGLShader11qt_metacallEN11QMetaObject4CallEiPPv @ 461 NONAME
+	_ZN9QGLShader11qt_metacastEPKc @ 462 NONAME
+	_ZN9QGLShader16hasOpenGLShadersE6QFlagsINS_13ShaderTypeBitEEPK10QGLContext @ 463 NONAME
+	_ZN9QGLShader16staticMetaObjectE @ 464 NONAME DATA 16
+	_ZN9QGLShader17compileSourceCodeEPKc @ 465 NONAME
+	_ZN9QGLShader17compileSourceCodeERK10QByteArray @ 466 NONAME
+	_ZN9QGLShader17compileSourceCodeERK7QString @ 467 NONAME
+	_ZN9QGLShader17compileSourceFileERK7QString @ 468 NONAME
+	_ZN9QGLShader19getStaticMetaObjectEv @ 469 NONAME
+	_ZN9QGLShaderC1E6QFlagsINS_13ShaderTypeBitEEP7QObject @ 470 NONAME
+	_ZN9QGLShaderC1E6QFlagsINS_13ShaderTypeBitEEPK10QGLContextP7QObject @ 471 NONAME
+	_ZN9QGLShaderC2E6QFlagsINS_13ShaderTypeBitEEP7QObject @ 472 NONAME
+	_ZN9QGLShaderC2E6QFlagsINS_13ShaderTypeBitEEPK10QGLContextP7QObject @ 473 NONAME
+	_ZN9QGLShaderD0Ev @ 474 NONAME
+	_ZN9QGLShaderD1Ev @ 475 NONAME
+	_ZN9QGLShaderD2Ev @ 476 NONAME
+	_ZN9QGLWidget10paintEventEP11QPaintEvent @ 477 NONAME
+	_ZN9QGLWidget10renderTextEdddRK7QStringRK5QFonti @ 478 NONAME
+	_ZN9QGLWidget10renderTextEiiRK7QStringRK5QFonti @ 479 NONAME
+	_ZN9QGLWidget10setContextEP10QGLContextPKS0_b @ 480 NONAME
+	_ZN9QGLWidget11bindTextureERK6QImageji @ 481 NONAME
+	_ZN9QGLWidget11bindTextureERK6QImageji6QFlagsIN10QGLContext10BindOptionEE @ 482 NONAME
+	_ZN9QGLWidget11bindTextureERK7QPixmapji @ 483 NONAME
+	_ZN9QGLWidget11bindTextureERK7QPixmapji6QFlagsIN10QGLContext10BindOptionEE @ 484 NONAME
+	_ZN9QGLWidget11bindTextureERK7QString @ 485 NONAME
+	_ZN9QGLWidget11doneCurrentEv @ 486 NONAME
+	_ZN9QGLWidget11drawTextureERK6QRectFjj @ 487 NONAME
+	_ZN9QGLWidget11drawTextureERK7QPointFjj @ 488 NONAME
+	_ZN9QGLWidget11makeCurrentEv @ 489 NONAME
+	_ZN9QGLWidget11qt_metacallEN11QMetaObject4CallEiPPv @ 490 NONAME
+	_ZN9QGLWidget11qt_metacastEPKc @ 491 NONAME
+	_ZN9QGLWidget11resizeEventEP12QResizeEvent @ 492 NONAME
+	_ZN9QGLWidget11setColormapERK11QGLColormap @ 493 NONAME
+	_ZN9QGLWidget11swapBuffersEv @ 494 NONAME
+	_ZN9QGLWidget12initializeGLEv @ 495 NONAME
+	_ZN9QGLWidget12renderPixmapEiib @ 496 NONAME
+	_ZN9QGLWidget13deleteTextureEj @ 497 NONAME
+	_ZN9QGLWidget14paintOverlayGLEv @ 498 NONAME
+	_ZN9QGLWidget15grabFrameBufferEb @ 499 NONAME
+	_ZN9QGLWidget15resizeOverlayGLEii @ 500 NONAME
+	_ZN9QGLWidget15updateOverlayGLEv @ 501 NONAME
+	_ZN9QGLWidget16setMouseTrackingEb @ 502 NONAME
+	_ZN9QGLWidget16staticMetaObjectE @ 503 NONAME DATA 16
+	_ZN9QGLWidget17convertToGLFormatERK6QImage @ 504 NONAME
+	_ZN9QGLWidget17setAutoBufferSwapEb @ 505 NONAME
+	_ZN9QGLWidget18makeOverlayCurrentEv @ 506 NONAME
+	_ZN9QGLWidget19fontDisplayListBaseERK5QFonti @ 507 NONAME
+	_ZN9QGLWidget19getStaticMetaObjectEv @ 508 NONAME
+	_ZN9QGLWidget19initializeOverlayGLEv @ 509 NONAME
+	_ZN9QGLWidget5eventEP6QEvent @ 510 NONAME
+	_ZN9QGLWidget6glDrawEv @ 511 NONAME
+	_ZN9QGLWidget6glInitEv @ 512 NONAME
+	_ZN9QGLWidget7paintGLEv @ 513 NONAME
+	_ZN9QGLWidget8resizeGLEii @ 514 NONAME
+	_ZN9QGLWidget8updateGLEv @ 515 NONAME
+	_ZN9QGLWidget9setFormatERK9QGLFormat @ 516 NONAME
+	_ZN9QGLWidgetC1EP10QGLContextP7QWidgetPKS_6QFlagsIN2Qt10WindowTypeEE @ 517 NONAME
+	_ZN9QGLWidgetC1EP7QWidgetPKS_6QFlagsIN2Qt10WindowTypeEE @ 518 NONAME
+	_ZN9QGLWidgetC1ERK9QGLFormatP7QWidgetPKS_6QFlagsIN2Qt10WindowTypeEE @ 519 NONAME
+	_ZN9QGLWidgetC2EP10QGLContextP7QWidgetPKS_6QFlagsIN2Qt10WindowTypeEE @ 520 NONAME
+	_ZN9QGLWidgetC2EP7QWidgetPKS_6QFlagsIN2Qt10WindowTypeEE @ 521 NONAME
+	_ZN9QGLWidgetC2ERK9QGLFormatP7QWidgetPKS_6QFlagsIN2Qt10WindowTypeEE @ 522 NONAME
+	_ZN9QGLWidgetD0Ev @ 523 NONAME
+	_ZN9QGLWidgetD1Ev @ 524 NONAME
+	_ZN9QGLWidgetD2Ev @ 525 NONAME
+	_ZNK10QGLContext10colorIndexERK6QColor @ 526 NONAME
+	_ZNK10QGLContext11initializedEv @ 527 NONAME
+	_ZNK10QGLContext11swapBuffersEv @ 528 NONAME
+	_ZNK10QGLContext13windowCreatedEv @ 529 NONAME
+	_ZNK10QGLContext14deviceIsPixmapEv @ 530 NONAME
+	_ZNK10QGLContext14getProcAddressERK7QString @ 531 NONAME
+	_ZNK10QGLContext15requestedFormatEv @ 532 NONAME
+	_ZNK10QGLContext23overlayTransparentColorEv @ 533 NONAME
+	_ZNK10QGLContext6deviceEv @ 534 NONAME
+	_ZNK10QGLContext6formatEv @ 535 NONAME
+	_ZNK10QGLContext7isValidEv @ 536 NONAME
+	_ZNK10QGLContext9isSharingEv @ 537 NONAME
+	_ZNK11QGLColormap10entryColorEi @ 538 NONAME
+	_ZNK11QGLColormap11findNearestEj @ 539 NONAME
+	_ZNK11QGLColormap4findEj @ 540 NONAME
+	_ZNK11QGLColormap4sizeEv @ 541 NONAME
+	_ZNK11QGLColormap7isEmptyEv @ 542 NONAME
+	_ZNK11QGLColormap8entryRgbEi @ 543 NONAME
+	_ZNK13QGLPixmapData11paintEngineEv @ 544 NONAME
+	_ZNK13QGLPixmapData13ensureCreatedEv @ 545 NONAME
+	_ZNK13QGLPixmapData14isValidContextEPK10QGLContext @ 546 NONAME
+	_ZNK13QGLPixmapData15hasAlphaChannelEv @ 547 NONAME
+	_ZNK13QGLPixmapData21copyBackFromRenderFboEb @ 548 NONAME
+	_ZNK13QGLPixmapData21useFramebufferObjectsEv @ 549 NONAME
+	_ZNK13QGLPixmapData26createCompatiblePixmapDataEv @ 550 NONAME
+	_ZNK13QGLPixmapData4bindEb @ 551 NONAME
+	_ZNK13QGLPixmapData6metricEN12QPaintDevice17PaintDeviceMetricE @ 552 NONAME
+	_ZNK13QGLPixmapData7isValidEv @ 553 NONAME
+	_ZNK13QGLPixmapData7textureEv @ 554 NONAME
+	_ZNK13QGLPixmapData7toImageEv @ 555 NONAME
+	_ZNK13QGLPixmapData8glDeviceEv @ 556 NONAME
+	_ZNK13QGLPixmapData9fillImageERK6QColor @ 557 NONAME
+	_ZNK14QGLPaintDevice14alphaRequestedEv @ 558 NONAME
+	_ZNK14QGLPaintDevice6formatEv @ 559 NONAME
+	_ZNK14QGLPaintDevice6metricEN12QPaintDevice17PaintDeviceMetricE @ 560 NONAME
+	_ZNK14QGLPixelBuffer11paintEngineEv @ 561 NONAME
+	_ZNK14QGLPixelBuffer20updateDynamicTextureEj @ 562 NONAME
+	_ZNK14QGLPixelBuffer22generateDynamicTextureEv @ 563 NONAME
+	_ZNK14QGLPixelBuffer4sizeEv @ 564 NONAME
+	_ZNK14QGLPixelBuffer6formatEv @ 565 NONAME
+	_ZNK14QGLPixelBuffer6handleEv @ 566 NONAME
+	_ZNK14QGLPixelBuffer6metricEN12QPaintDevice17PaintDeviceMetricE @ 567 NONAME
+	_ZNK14QGLPixelBuffer7isValidEv @ 568 NONAME
+	_ZNK14QGLPixelBuffer7toImageEv @ 569 NONAME
+	_ZNK14QGLSignalProxy10metaObjectEv @ 570 NONAME
+	_ZNK16QGLShaderProgram10metaObjectEv @ 571 NONAME
+	_ZNK16QGLShaderProgram15uniformLocationEPKc @ 572 NONAME
+	_ZNK16QGLShaderProgram15uniformLocationERK10QByteArray @ 573 NONAME
+	_ZNK16QGLShaderProgram15uniformLocationERK7QString @ 574 NONAME
+	_ZNK16QGLShaderProgram17attributeLocationEPKc @ 575 NONAME
+	_ZNK16QGLShaderProgram17attributeLocationERK10QByteArray @ 576 NONAME
+	_ZNK16QGLShaderProgram17attributeLocationERK7QString @ 577 NONAME
+	_ZNK16QGLShaderProgram17geometryInputTypeEv @ 578 NONAME
+	_ZNK16QGLShaderProgram18geometryOutputTypeEv @ 579 NONAME
+	_ZNK16QGLShaderProgram25geometryOutputVertexCountEv @ 580 NONAME
+	_ZNK16QGLShaderProgram25maxGeometryOutputVerticesEv @ 581 NONAME
+	_ZNK16QGLShaderProgram3logEv @ 582 NONAME
+	_ZNK16QGLShaderProgram7shadersEv @ 583 NONAME
+	_ZNK16QGLShaderProgram8isLinkedEv @ 584 NONAME
+	_ZNK16QGLShaderProgram9programIdEv @ 585 NONAME
+	_ZNK16QGLWindowSurface10metaObjectEv @ 586 NONAME
+	_ZNK16QGLWindowSurface7contextEv @ 587 NONAME
+	_ZNK17QGL2PaintEngineEx11createStateEP13QPainterState @ 588 NONAME
+	_ZNK17QGL2PaintEngineEx22isNativePaintingActiveEv @ 589 NONAME
+	_ZNK17QGLGraphicsSystem16createPixmapDataEN11QPixmapData9PixelTypeE @ 590 NONAME
+	_ZNK17QGLGraphicsSystem19createWindowSurfaceEP7QWidget @ 591 NONAME
+	_ZNK20QGLCustomShaderStage6sourceEv @ 592 NONAME
+	_ZNK20QGLFramebufferObject10attachmentEv @ 593 NONAME
+	_ZNK20QGLFramebufferObject11paintEngineEv @ 594 NONAME
+	_ZNK20QGLFramebufferObject4sizeEv @ 595 NONAME
+	_ZNK20QGLFramebufferObject6formatEv @ 596 NONAME
+	_ZNK20QGLFramebufferObject6handleEv @ 597 NONAME
+	_ZNK20QGLFramebufferObject6metricEN12QPaintDevice17PaintDeviceMetricE @ 598 NONAME
+	_ZNK20QGLFramebufferObject7isBoundEv @ 599 NONAME
+	_ZNK20QGLFramebufferObject7isValidEv @ 600 NONAME
+	_ZNK20QGLFramebufferObject7textureEv @ 601 NONAME
+	_ZNK20QGLFramebufferObject7toImageEv @ 602 NONAME
+	_ZNK20QGLTextureGlyphCache10metaObjectEv @ 603 NONAME
+	_ZNK20QGLTextureGlyphCache12glyphPaddingEv @ 604 NONAME
+	_ZNK21QGraphicsShaderEffect10metaObjectEv @ 605 NONAME
+	_ZNK21QGraphicsShaderEffect19pixelShaderFragmentEv @ 606 NONAME
+	_ZNK22QGLEngineShaderManager10metaObjectEv @ 607 NONAME
+	_ZNK26QGLFramebufferObjectFormat10attachmentEv @ 608 NONAME
+	_ZNK26QGLFramebufferObjectFormat13textureTargetEv @ 609 NONAME
+	_ZNK26QGLFramebufferObjectFormat21internalTextureFormatEv @ 610 NONAME
+	_ZNK26QGLFramebufferObjectFormat7samplesEv @ 611 NONAME
+	_ZNK26QGLFramebufferObjectFormateqERKS_ @ 612 NONAME
+	_ZNK26QGLFramebufferObjectFormatneERKS_ @ 613 NONAME
+	_ZNK9QGLBuffer12usagePatternEv @ 614 NONAME
+	_ZNK9QGLBuffer4sizeEv @ 615 NONAME
+	_ZNK9QGLBuffer4typeEv @ 616 NONAME
+	_ZNK9QGLBuffer8bufferIdEv @ 617 NONAME
+	_ZNK9QGLBuffer9isCreatedEv @ 618 NONAME
+	_ZNK9QGLFormat10testOptionE6QFlagsIN3QGL12FormatOptionEE @ 619 NONAME
+	_ZNK9QGLFormat12majorVersionEv @ 620 NONAME
+	_ZNK9QGLFormat12minorVersionEv @ 621 NONAME
+	_ZNK9QGLFormat12swapIntervalEv @ 622 NONAME
+	_ZNK9QGLFormat13redBufferSizeEv @ 623 NONAME
+	_ZNK9QGLFormat14blueBufferSizeEv @ 624 NONAME
+	_ZNK9QGLFormat15accumBufferSizeEv @ 625 NONAME
+	_ZNK9QGLFormat15alphaBufferSizeEv @ 626 NONAME
+	_ZNK9QGLFormat15depthBufferSizeEv @ 627 NONAME
+	_ZNK9QGLFormat15greenBufferSizeEv @ 628 NONAME
+	_ZNK9QGLFormat17stencilBufferSizeEv @ 629 NONAME
+	_ZNK9QGLFormat5planeEv @ 630 NONAME
+	_ZNK9QGLFormat7profileEv @ 631 NONAME
+	_ZNK9QGLFormat7samplesEv @ 632 NONAME
+	_ZNK9QGLShader10isCompiledEv @ 633 NONAME
+	_ZNK9QGLShader10metaObjectEv @ 634 NONAME
+	_ZNK9QGLShader10shaderTypeEv @ 635 NONAME
+	_ZNK9QGLShader10sourceCodeEv @ 636 NONAME
+	_ZNK9QGLShader3logEv @ 637 NONAME
+	_ZNK9QGLShader8shaderIdEv @ 638 NONAME
+	_ZNK9QGLWidget10metaObjectEv @ 639 NONAME
+	_ZNK9QGLWidget11paintEngineEv @ 640 NONAME
+	_ZNK9QGLWidget12doubleBufferEv @ 641 NONAME
+	_ZNK9QGLWidget13qglClearColorERK6QColor @ 642 NONAME
+	_ZNK9QGLWidget14autoBufferSwapEv @ 643 NONAME
+	_ZNK9QGLWidget14overlayContextEv @ 644 NONAME
+	_ZNK9QGLWidget6formatEv @ 645 NONAME
+	_ZNK9QGLWidget7contextEv @ 646 NONAME
+	_ZNK9QGLWidget7isValidEv @ 647 NONAME
+	_ZNK9QGLWidget8colormapEv @ 648 NONAME
+	_ZNK9QGLWidget8qglColorERK6QColor @ 649 NONAME
+	_ZNK9QGLWidget9isSharingEv @ 650 NONAME
+	_ZTI10QGLContext @ 651 NONAME
+	_ZTI13QGLPixmapData @ 652 NONAME
+	_ZTI14QGLPaintDevice @ 653 NONAME
+	_ZTI14QGLPixelBuffer @ 654 NONAME
+	_ZTI14QGLSignalProxy @ 655 NONAME
+	_ZTI16QGLShaderProgram @ 656 NONAME
+	_ZTI16QGLWindowSurface @ 657 NONAME
+	_ZTI17QGL2PaintEngineEx @ 658 NONAME
+	_ZTI17QGLGraphicsSystem @ 659 NONAME
+	_ZTI20QGLCustomShaderStage @ 660 NONAME
+	_ZTI20QGLFramebufferObject @ 661 NONAME
+	_ZTI20QGLTextureGlyphCache @ 662 NONAME
+	_ZTI21QGraphicsShaderEffect @ 663 NONAME
+	_ZTI22QGLEngineShaderManager @ 664 NONAME
+	_ZTI9QGLShader @ 665 NONAME
+	_ZTI9QGLWidget @ 666 NONAME
+	_ZTV10QGLContext @ 667 NONAME
+	_ZTV13QGLPixmapData @ 668 NONAME
+	_ZTV14QGLPaintDevice @ 669 NONAME
+	_ZTV14QGLPixelBuffer @ 670 NONAME
+	_ZTV14QGLSignalProxy @ 671 NONAME
+	_ZTV16QGLShaderProgram @ 672 NONAME
+	_ZTV16QGLWindowSurface @ 673 NONAME
+	_ZTV17QGL2PaintEngineEx @ 674 NONAME
+	_ZTV17QGLGraphicsSystem @ 675 NONAME
+	_ZTV20QGLCustomShaderStage @ 676 NONAME
+	_ZTV20QGLFramebufferObject @ 677 NONAME
+	_ZTV20QGLTextureGlyphCache @ 678 NONAME
+	_ZTV21QGraphicsShaderEffect @ 679 NONAME
+	_ZTV22QGLEngineShaderManager @ 680 NONAME
+	_ZTV9QGLShader @ 681 NONAME
+	_ZTV9QGLWidget @ 682 NONAME
+	_ZThn8_N16QGLWindowSurface10beginPaintERK7QRegion @ 683 NONAME
+	_ZThn8_N16QGLWindowSurface11paintDeviceEv @ 684 NONAME
+	_ZThn8_N16QGLWindowSurface11setGeometryERK5QRect @ 685 NONAME
+	_ZThn8_N16QGLWindowSurface5flushEP7QWidgetRK7QRegionRK6QPoint @ 686 NONAME
+	_ZThn8_N16QGLWindowSurface6bufferEPK7QWidget @ 687 NONAME
+	_ZThn8_N16QGLWindowSurface6scrollERK7QRegionii @ 688 NONAME
+	_ZThn8_N16QGLWindowSurface8endPaintERK7QRegion @ 689 NONAME
+	_ZThn8_N16QGLWindowSurfaceD0Ev @ 690 NONAME
+	_ZThn8_N16QGLWindowSurfaceD1Ev @ 691 NONAME
+	_ZThn8_N20QGLTextureGlyphCache11fillTextureERKN18QTextureGlyphCache5CoordEj @ 692 NONAME
+	_ZThn8_N20QGLTextureGlyphCache17createTextureDataEii @ 693 NONAME
+	_ZThn8_N20QGLTextureGlyphCache17resizeTextureDataEii @ 694 NONAME
+	_ZThn8_N20QGLTextureGlyphCacheD0Ev @ 695 NONAME
+	_ZThn8_N20QGLTextureGlyphCacheD1Ev @ 696 NONAME
+	_ZThn8_N9QGLWidgetD0Ev @ 697 NONAME
+	_ZThn8_N9QGLWidgetD1Ev @ 698 NONAME
+	_ZThn8_NK20QGLTextureGlyphCache12glyphPaddingEv @ 699 NONAME
+	_ZThn8_NK9QGLWidget11paintEngineEv @ 700 NONAME
+	_ZeqRK9QGLFormatS1_ @ 701 NONAME
+	_Zls6QDebugRK9QGLFormat @ 702 NONAME
+	_ZneRK9QGLFormatS1_ @ 703 NONAME
+
-- 
cgit v0.12


From 6afce934726e9a7f3b191c59249649f5a3cce2dd Mon Sep 17 00:00:00 2001
From: axis <qt-info@nokia.com>
Date: Fri, 10 Sep 2010 16:17:41 +0200
Subject: Eliminated duplicated code from library handling.

RevBy:    Trust me
---
 mkspecs/features/symbian/symbian_building.prf | 26 ++++++++++----------------
 1 file changed, 10 insertions(+), 16 deletions(-)

diff --git a/mkspecs/features/symbian/symbian_building.prf b/mkspecs/features/symbian/symbian_building.prf
index 0b621a3..a9f195e 100644
--- a/mkspecs/features/symbian/symbian_building.prf
+++ b/mkspecs/features/symbian/symbian_building.prf
@@ -50,22 +50,16 @@ defineReplace(processSymbianLibrary) {
     return($$qt_library)
 }
 
-qt_libraries = $$split(LIBS, " ")
-LIBS =
-for(qt_library, qt_libraries) {
-    qt_newLib = $$processSymbianLibrary($$qt_library)
-    contains(qt_newLib, ".*\\.dso$")|contains(qt_newLib, ".*\\.lib$"):PRE_TARGETDEPS += $$qt_newLib
-    linux-gcce:qt_newLib = "-l:$$qt_newLib"
-    LIBS += $$qt_newLib
-}
-
-qt_libraries = $$split(QMAKE_LIBS, " ")
-QMAKE_LIBS =
-for(qt_library, qt_libraries) {
-    qt_newLib = $$processSymbianLibrary($$qt_library)
-    contains(qt_newLib, ".*\\.dso$")|contains(qt_newLib, ".*\\.lib$"):PRE_TARGETDEPS += $$qt_newLib
-    linux-gcce:qt_newLib = "-l:$$qt_newLib"
-    QMAKE_LIBS += $$qt_newLib
+libsToProcess = LIBS QMAKE_LIBS
+for(libToProcess, libsToProcess) {
+    qt_libraries = $$split($$libToProcess, " ")
+    eval($$libToProcess =)
+    for(qt_library, qt_libraries) {
+        qt_newLib = $$processSymbianLibrary($$qt_library)
+        contains(qt_newLib, ".*\\.dso$")|contains(qt_newLib, ".*\\.lib$"):PRE_TARGETDEPS += $$qt_newLib
+        linux-gcce:qt_newLib = "-l:$$qt_newLib"
+        eval($$libToProcess += \$\$qt_newLib)
+    }
 }
 
 elf2e32_LIBPATH =
-- 
cgit v0.12


From 2d4566e81cf8263af2fec781e6e0d2e200064618 Mon Sep 17 00:00:00 2001
From: Gareth Stockwell <ext-gareth.stockwell@nokia.com>
Date: Tue, 14 Sep 2010 11:58:56 +0100
Subject: Fix incorrect dialog positioning on Symbian

Task-number: QT-3900
Reviewed-by: Jason Barron
Reviewed-by: Sami Merila
---
 src/gui/kernel/qwidget_s60.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/gui/kernel/qwidget_s60.cpp b/src/gui/kernel/qwidget_s60.cpp
index c98c05a..4109ed8 100644
--- a/src/gui/kernel/qwidget_s60.cpp
+++ b/src/gui/kernel/qwidget_s60.cpp
@@ -518,7 +518,7 @@ void QWidgetPrivate::show_sys()
             if (q->windowState() & Qt::WindowMaximized) {
                 TRect r = static_cast<CEikAppUi*>(S60->appUi())->ClientRect();
                 id->SetExtent(r.iTl, r.Size());
-            } else if (!q->testAttribute(Qt::WA_Moved)) {
+            } else if (!q->testAttribute(Qt::WA_Moved) && q->windowType() != Qt::Dialog) {
                 id->SetPosition(static_cast<CEikAppUi*>(S60->appUi())->ClientRect().iTl);
             }
         }
-- 
cgit v0.12


From 7ee144ed7d88d4de010608d3a433e1b47343cd17 Mon Sep 17 00:00:00 2001
From: Jason Barron <jason.barron@nokia.com>
Date: Tue, 14 Sep 2010 14:21:25 +0200
Subject: Remove redundant code in SgImage -> VGImage conversion on Symbian.

Calling the various Khronos getError() functions here is inefficient
since it involves a round trip to the GPU and gains nothing since the
null handle can be used to test for error conditions at no cost. Also
no need to open the RSgDriver because we don't actually need to call
any functions on RSgImage, just convert it.

Reviewed-by: Alessandro Portale
Reviewed-by: Jani Hautakangas
---
 src/openvg/qvg_symbian.cpp | 31 ++-----------------------------
 1 file changed, 2 insertions(+), 29 deletions(-)

diff --git a/src/openvg/qvg_symbian.cpp b/src/openvg/qvg_symbian.cpp
index 0e6e773..ef0160c 100644
--- a/src/openvg/qvg_symbian.cpp
+++ b/src/openvg/qvg_symbian.cpp
@@ -112,25 +112,8 @@ static VGImage sgImageToVGImage(QEglContext *context, const RSgImage &sgImage)
 
     VGImage vgImage = VG_INVALID_HANDLE;
 
-    TInt err = 0;
-
-    RSgDriver driver;
-    err = driver.Open();
-    if (err != KErrNone) {
-        return vgImage;
-    }
-
-    if (sgImage.IsNull()) {
-        driver.Close();
-        return vgImage;
-    }
-
-    TSgImageInfo sgImageInfo;
-    err = sgImage.GetInfo(sgImageInfo);
-    if (err != KErrNone) {
-        driver.Close();
+    if (sgImage.IsNull())
         return vgImage;
-    }
 
     const EGLint KEglImageAttribs[] = {EGL_IMAGE_PRESERVED_SYMBIAN, EGL_TRUE, EGL_NONE};
     EGLImageKHR eglImage = QEgl::eglCreateImageKHR(QEgl::display(),
@@ -139,22 +122,12 @@ static VGImage sgImageToVGImage(QEglContext *context, const RSgImage &sgImage)
             (EGLClientBuffer)&sgImage,
             (EGLint*)KEglImageAttribs);
 
-    if (!eglImage || eglGetError() != EGL_SUCCESS) {
-        driver.Close();
+    if (!eglImage)
         return vgImage;
-    }
 
     vgImage = QVG::vgCreateEGLImageTargetKHR(eglImage);
-    if (!vgImage || vgGetError() != VG_NO_ERROR) {
-        QEgl::eglDestroyImageKHR(QEgl::display(), eglImage);
-        driver.Close();
-        return vgImage;
-    }
 
-    //setSerialNumber(++qt_vg_pixmap_serial);
-    // release stuff
     QEgl::eglDestroyImageKHR(QEgl::display(), eglImage);
-    driver.Close();
     return vgImage;
 }
 #endif
-- 
cgit v0.12


From f8cf4296e2f1174610b8e095e9d0a496392fe70a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Nilsen?= <bjorn.nilsen@nokia.com>
Date: Tue, 14 Sep 2010 14:31:42 +0200
Subject: QGraphicsWidget update issues with ItemHasNoContents + effect

Items with the ItemHasNoContents flag set are never drawn so the
'paintedViewBoundingRect' is never cached/updated resulting in
updates wrongly being discarded. The solution is to always invalidate
the children for such items.

Auto test included.

Task-number: QT-3803
---
 src/gui/graphicsview/qgraphicsscene.cpp            |  5 ++--
 tests/auto/qgraphicseffect/tst_qgraphicseffect.cpp | 29 ++++++++++++++++++++++
 2 files changed, 32 insertions(+), 2 deletions(-)

diff --git a/src/gui/graphicsview/qgraphicsscene.cpp b/src/gui/graphicsview/qgraphicsscene.cpp
index 36a24db..921e121 100644
--- a/src/gui/graphicsview/qgraphicsscene.cpp
+++ b/src/gui/graphicsview/qgraphicsscene.cpp
@@ -4984,14 +4984,15 @@ void QGraphicsScenePrivate::markDirty(QGraphicsItem *item, const QRectF &rect, b
         return;
     }
 
-    bool hasNoContents = item->d_ptr->flags & QGraphicsItem::ItemHasNoContents
-                         && !item->d_ptr->graphicsEffect;
+    bool hasNoContents = item->d_ptr->flags & QGraphicsItem::ItemHasNoContents;
     if (!hasNoContents) {
         item->d_ptr->dirty = 1;
         if (fullItemUpdate)
             item->d_ptr->fullUpdatePending = 1;
         else if (!item->d_ptr->fullUpdatePending)
             item->d_ptr->needsRepaint |= rect;
+    } else if (item->d_ptr->graphicsEffect) {
+        invalidateChildren = true;
     }
 
     if (invalidateChildren) {
diff --git a/tests/auto/qgraphicseffect/tst_qgraphicseffect.cpp b/tests/auto/qgraphicseffect/tst_qgraphicseffect.cpp
index fa6a5ec..e1bfb79 100644
--- a/tests/auto/qgraphicseffect/tst_qgraphicseffect.cpp
+++ b/tests/auto/qgraphicseffect/tst_qgraphicseffect.cpp
@@ -76,6 +76,7 @@ private slots:
     void dropShadowClipping();
     void childrenVisibilityShouldInvalidateCache();
     void prepareGeometryChangeInvalidateCache();
+    void itemHasNoContents();
 };
 
 void tst_QGraphicsEffect::initTestCase()
@@ -675,6 +676,34 @@ void tst_QGraphicsEffect::prepareGeometryChangeInvalidateCache()
     QCOMPARE(item->nbPaint, 0);
 }
 
+void tst_QGraphicsEffect::itemHasNoContents()
+{
+    QGraphicsRectItem *parent = new QGraphicsRectItem;
+    parent->setFlag(QGraphicsItem::ItemHasNoContents);
+
+    MyGraphicsItem *child = new MyGraphicsItem;
+    child->setParentItem(parent);
+    child->resize(200, 200);
+
+    QGraphicsScene scene;
+    scene.addItem(parent);
+
+    QGraphicsView view(&scene);
+    view.show();
+    QTest::qWaitForWindowShown(&view);
+    QTRY_COMPARE(child->nbPaint, 1);
+
+    CustomEffect *effect = new CustomEffect;
+    parent->setGraphicsEffect(effect);
+    QTRY_COMPARE(effect->numRepaints, 1);
+
+    for (int i = 0; i < 3; ++i) {
+        effect->reset();
+        effect->update();
+        QTRY_COMPARE(effect->numRepaints, 1);
+    }
+}
+
 QTEST_MAIN(tst_QGraphicsEffect)
 #include "tst_qgraphicseffect.moc"
 
-- 
cgit v0.12


From 39c2bf06503898d2aaa5e42c75f4f48002b904d4 Mon Sep 17 00:00:00 2001
From: axis <qt-info@nokia.com>
Date: Fri, 10 Sep 2010 16:21:00 +0200
Subject: Added support for using -L notation in the LIBS variable.

Task:     QTBUG-13523
RevBy:    Thomas Zander
---
 mkspecs/features/symbian/symbian_building.prf | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/mkspecs/features/symbian/symbian_building.prf b/mkspecs/features/symbian/symbian_building.prf
index a9f195e..539609d 100644
--- a/mkspecs/features/symbian/symbian_building.prf
+++ b/mkspecs/features/symbian/symbian_building.prf
@@ -50,15 +50,21 @@ defineReplace(processSymbianLibrary) {
     return($$qt_library)
 }
 
+# This part turn "-llibc" into "libc.dso", and moves -L entries to QMAKE_LIBDIR.
 libsToProcess = LIBS QMAKE_LIBS
 for(libToProcess, libsToProcess) {
     qt_libraries = $$split($$libToProcess, " ")
     eval($$libToProcess =)
     for(qt_library, qt_libraries) {
-        qt_newLib = $$processSymbianLibrary($$qt_library)
-        contains(qt_newLib, ".*\\.dso$")|contains(qt_newLib, ".*\\.lib$"):PRE_TARGETDEPS += $$qt_newLib
-        linux-gcce:qt_newLib = "-l:$$qt_newLib"
-        eval($$libToProcess += \$\$qt_newLib)
+        contains(qt_library, "^-L.*") {
+            qt_library = $$replace(qt_library, "^-L", "")
+            QMAKE_LIBDIR += $$qt_library
+        } else {
+            qt_newLib = $$processSymbianLibrary($$qt_library)
+            contains(qt_newLib, ".*\\.dso$")|contains(qt_newLib, ".*\\.lib$"):PRE_TARGETDEPS += $$qt_newLib
+            linux-gcce:qt_newLib = "-l:$$qt_newLib"
+            eval($$libToProcess += \$\$qt_newLib)
+        }
     }
 }
 
-- 
cgit v0.12


From 48736d622a971816030c6a83f5922f698157db8f Mon Sep 17 00:00:00 2001
From: axis <qt-info@nokia.com>
Date: Tue, 14 Sep 2010 15:36:15 +0200
Subject: Fixed audio-backend detection in configure tests.

Task:     QTBUG-11671
RevBy:    Trust me
---
 config.tests/symbian/audio/audio.pro | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/config.tests/symbian/audio/audio.pro b/config.tests/symbian/audio/audio.pro
index abbde6e..b2a1986 100644
--- a/config.tests/symbian/audio/audio.pro
+++ b/config.tests/symbian/audio/audio.pro
@@ -3,5 +3,7 @@ SOURCES = audio.cpp
 
 INCLUDEPATH += $${EPOCROOT}epoc32/include/mmf/server
 INCLUDEPATH += $${EPOCROOT}epoc32/include/mmf/common
+INCLUDEPATH += $${EPOCROOT}epoc32/include/platform
 
 LIBS += -lmmfdevsound
+QT =
-- 
cgit v0.12


From 2be60dfbc08eed737716ff5025e23e63c3f6bbb5 Mon Sep 17 00:00:00 2001
From: Jani Hautakangas <ext-jani.hautakangas@nokia.com>
Date: Tue, 14 Sep 2010 16:31:24 +0200
Subject: This patch enables calling createpackage script also when using
 EPOCROOT that contains drive letter.

Reviewed-by: axis
---
 bin/createpackage.pl | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/bin/createpackage.pl b/bin/createpackage.pl
index 2569a66..238eae3 100755
--- a/bin/createpackage.pl
+++ b/bin/createpackage.pl
@@ -308,7 +308,7 @@ if($stub) {
     mkpath($systeminstall);
     my $stub_sis_name = $systeminstall."/".$stub_sis_name;
     # Create stub SIS.
-    system ("makesis -s $pkgoutput $stub_sis_name");
+    system ("$ENV{EPOCROOT}epoc32/tools/makesis -s $pkgoutput $stub_sis_name");
 } else {
     if ($certtext eq "Self Signed"
         && !@certificates
@@ -321,7 +321,10 @@ if($stub) {
 
     # Create SIS.
     # The 'and' is because system uses 0 to indicate success.
-    system ("makesis $pkgoutput $unsigned_sis_name") and die ("makesis failed");
+    if($ENV{EPOCROOT})
+        system ("$ENV{EPOCROOT}epoc32/tools/makesis $pkgoutput $unsigned_sis_name") and die ("makesis failed");
+    else
+        system ("makesis $pkgoutput $unsigned_sis_name") and die ("makesis failed");
     print("\n");
 
     my $targetInsert = "";
-- 
cgit v0.12


From 8401e31e7c0375f9c595678b510b6d2092a2f2e6 Mon Sep 17 00:00:00 2001
From: Frederik Gladhorn <frederik.gladhorn@nokia.com>
Date: Wed, 8 Sep 2010 17:10:45 +0200
Subject: Add test: assert when gesture is never accepted.

Test for Qt-Bug 13501.
---
 tests/auto/gestures/tst_gestures.cpp | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/tests/auto/gestures/tst_gestures.cpp b/tests/auto/gestures/tst_gestures.cpp
index ddc3939..667cdd3 100644
--- a/tests/auto/gestures/tst_gestures.cpp
+++ b/tests/auto/gestures/tst_gestures.cpp
@@ -41,6 +41,7 @@
 
 
 #include <QtTest/QtTest>
+#include <QtTest/qtesttouch.h>
 #include "../../shared/util.h"
 
 #include <qevent.h>
@@ -361,6 +362,7 @@ private slots:
     void partialGesturePropagation();
     void testQGestureRecognizerCleanup();
     void testReuseCanceledGestures();
+    void bug_13501_gesture_not_accepted();
 };
 
 tst_Gestures::tst_Gestures()
@@ -2306,5 +2308,29 @@ void tst_Gestures::conflictingGesturesInGraphicsView()
     QCOMPARE(item1->gestureEventsReceived, TotalGestureEventsCount);
 }
 
+class NoConsumeWidgetBug13501 :public QWidget
+{
+    Q_OBJECT
+protected:
+    bool event(QEvent *e) {
+        if(e->type() == QEvent::Gesture) {
+            return false;
+        }
+        return QWidget::event(e);
+    }
+};
+
+void tst_Gestures::bug_13501_gesture_not_accepted()
+{
+    // Create a gesture event that is not accepted by any widget
+    // make sure this does not lead to an assert in QGestureManager
+    NoConsumeWidgetBug13501 w;
+    w.grabGesture(Qt::TapGesture);
+    w.show();
+    QTest::qWaitForWindowShown(&w);
+    //QTest::mousePress(&ignoreEvent, Qt::LeftButton);
+    QTest::touchEvent(&w).press(0, QPoint(10, 10), &w);
+}
+
 QTEST_MAIN(tst_Gestures)
 #include "tst_gestures.moc"
-- 
cgit v0.12


From 33f9950996ada06fc39b68f6656b1defdccd8c3a Mon Sep 17 00:00:00 2001
From: Jeremy Katz <jeremy.katz@nokia.com>
Date: Tue, 14 Sep 2010 17:09:56 +0200
Subject: fix QTBUG-13501 - crash when a gesture is accepted but not consumed

Reviewed-by: Denis Dzyubenko
---
 src/gui/kernel/qapplication.cpp | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/gui/kernel/qapplication.cpp b/src/gui/kernel/qapplication.cpp
index caeeeb9..2fd2f46 100644
--- a/src/gui/kernel/qapplication.cpp
+++ b/src/gui/kernel/qapplication.cpp
@@ -4367,11 +4367,13 @@ bool QApplication::notify(QObject *receiver, QEvent *e)
                     eventAccepted = ge.isAccepted();
                     for (int i = 0; i < gestures.size(); ++i) {
                         QGesture *g = gestures.at(i);
-                        if ((res && eventAccepted) || (!eventAccepted && ge.isAccepted(g))) {
+                        // Ignore res [event return value] because handling of multiple gestures
+                        // packed into a single QEvent depends on not consuming the event
+                        if (eventAccepted || ge.isAccepted(g)) {
                             // if the gesture was accepted, mark the target widget for it
                             gestureEvent->d_func()->targetWidgets[g->gestureType()] = w;
                             gestureEvent->setAccepted(g, true);
-                        } else if (!eventAccepted && !ge.isAccepted(g)) {
+                        } else {
                             // if the gesture was explicitly ignored by the application,
                             // put it back so a parent can get it
                             allGestures.append(g);
-- 
cgit v0.12


From cd5441ec7937703904700dddf25afdcc80a66661 Mon Sep 17 00:00:00 2001
From: Shane Kearns <shane.kearns@accenture.com>
Date: Tue, 14 Sep 2010 16:32:02 +0100
Subject: Fix compile error with active perl 5.8.9

Reviewed-by: Jani Hautakangas
---
 bin/createpackage.pl | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/bin/createpackage.pl b/bin/createpackage.pl
index 238eae3..361b32d 100755
--- a/bin/createpackage.pl
+++ b/bin/createpackage.pl
@@ -321,10 +321,11 @@ if($stub) {
 
     # Create SIS.
     # The 'and' is because system uses 0 to indicate success.
-    if($ENV{EPOCROOT})
+    if($ENV{EPOCROOT}) {
         system ("$ENV{EPOCROOT}epoc32/tools/makesis $pkgoutput $unsigned_sis_name") and die ("makesis failed");
-    else
+    } else {
         system ("makesis $pkgoutput $unsigned_sis_name") and die ("makesis failed");
+    }
     print("\n");
 
     my $targetInsert = "";
-- 
cgit v0.12


From a2c73d3f0305847343d5015c095073eae0ead197 Mon Sep 17 00:00:00 2001
From: Rhys Weatherley <rhys.weatherley@nokia.com>
Date: Wed, 15 Sep 2010 10:32:03 +1000
Subject: Rename "interface" in qdeclarativeinterface.h to "qmlInterface"

The "interface" name is #define'd to "struct" in Windows COM headers
in some SDK's, and creates problems when such headers are mixed with
QML bindings.

Reviewed-by: Joona Petrell
---
 src/declarative/qml/qdeclarative.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/declarative/qml/qdeclarative.h b/src/declarative/qml/qdeclarative.h
index c6b64ae..985ab72 100644
--- a/src/declarative/qml/qdeclarative.h
+++ b/src/declarative/qml/qdeclarative.h
@@ -269,7 +269,7 @@ int qmlRegisterInterface(const char *typeName)
     QByteArray pointerName(name + '*');
     QByteArray listName("QDeclarativeListProperty<" + name + ">");
 
-    QDeclarativePrivate::RegisterInterface interface = {
+    QDeclarativePrivate::RegisterInterface qmlInterface = {
         0,
 
         qRegisterMetaType<T *>(pointerName.constData()),
@@ -278,7 +278,7 @@ int qmlRegisterInterface(const char *typeName)
         qobject_interface_iid<T *>()
     };
 
-    return QDeclarativePrivate::qmlregister(QDeclarativePrivate::InterfaceRegistration, &interface);
+    return QDeclarativePrivate::qmlregister(QDeclarativePrivate::InterfaceRegistration, &qmlInterface);
 }
 
 template<typename T>
-- 
cgit v0.12


From 66420856664c7a412b3c9efe4be6ff7a6061e5f2 Mon Sep 17 00:00:00 2001
From: Martin Smith <martin.smith@nokia.com>
Date: Wed, 15 Sep 2010 09:36:51 +0200
Subject: qdoc: Fixed an html formatting error in the QML property list.

---
 tools/qdoc3/htmlgenerator.cpp | 22 +---------------------
 1 file changed, 1 insertion(+), 21 deletions(-)

diff --git a/tools/qdoc3/htmlgenerator.cpp b/tools/qdoc3/htmlgenerator.cpp
index bc71b6e..5934319 100644
--- a/tools/qdoc3/htmlgenerator.cpp
+++ b/tools/qdoc3/htmlgenerator.cpp
@@ -4185,36 +4185,16 @@ void HtmlGenerator::generateQmlSummary(const Section& section,
                                        CodeMarker *marker)
 {
     if (!section.members.isEmpty()) {
-        NodeList::ConstIterator m;
-        int count = section.members.size();
-        bool twoColumn = false;
-        if (section.members.first()->type() == Node::QmlProperty) {
-            twoColumn = (count >= 5);
-            twoColumn = false;
-        }
-        if (twoColumn)
-            out() << "<table class=\"qmlsummary\">\n";
-			        if (++numTableRows % 2 == 1)
-				out() << "<tr class=\"odd topAlign\">";
-				else
-				out() << "<tr class=\"even topAlign\">";
-            //      << "<tr><td class=\"topAlign\">";
         out() << "<ul>\n";
-
-        int row = 0;
+        NodeList::ConstIterator m;
         m = section.members.begin();
         while (m != section.members.end()) {
-            if (twoColumn && row == (int) (count + 1) / 2)
-                out() << "</ul></td><td class=\"topAlign\"><ul>\n";
             out() << "<li class=\"fn\">";
             generateQmlItem(*m,relative,marker,true);
             out() << "</li>\n";
-            row++;
             ++m;
         }
         out() << "</ul>\n";
-        if (twoColumn)
-            out() << "</td></tr>\n</table>\n";
     }
 }
 
-- 
cgit v0.12


From f9a3f15376d0c0cddc4ab023d2421859847df56b Mon Sep 17 00:00:00 2001
From: Miikka Heikkinen <miikka.heikkinen@digia.com>
Date: Wed, 15 Sep 2010 10:30:55 +0300
Subject: Do not wait for QThread exit when destroying global statics in
 Symbian

Symbian kernel will kill all threads except the main one before running
destructors on global static objects. Qt gets no notification of these
thread terminations, so it'll still think those threads are running
and will wait indefinitely for their exit. QThread::wait() now checks if
the thread is actually still alive before starting to wait on
thread_done wait condition.

Task-number: QTBUG-13612
Reviewed-by: Janne Koskinen
---
 src/corelib/thread/qthread_unix.cpp | 35 +++++++++++++++++++++++++++++------
 1 file changed, 29 insertions(+), 6 deletions(-)

diff --git a/src/corelib/thread/qthread_unix.cpp b/src/corelib/thread/qthread_unix.cpp
index d193b2e..2824e15 100644
--- a/src/corelib/thread/qthread_unix.cpp
+++ b/src/corelib/thread/qthread_unix.cpp
@@ -142,6 +142,20 @@ static void destroy_current_thread_data_key()
 }
 Q_DESTRUCTOR_FUNCTION(destroy_current_thread_data_key)
 
+#ifdef Q_OS_SYMBIAN
+static void init_symbian_thread_handle(RThread &thread)
+{
+    thread = RThread();
+    TThreadId threadId = thread.Id();
+    thread.Open(threadId);
+
+    // Make thread handle accessible process wide
+    RThread originalCloser = thread;
+    thread.Duplicate(thread, EOwnerProcess);
+    originalCloser.Close();
+}
+#endif
+
 QThreadData *QThreadData::current()
 {
     pthread_once(&current_thread_data_once, create_current_thread_data_key);
@@ -182,9 +196,7 @@ void QAdoptedThread::init()
     Q_D(QThread);
     d->thread_id = pthread_self();
 #ifdef Q_OS_SYMBIAN
-    d->data->symbian_thread_handle = RThread();
-    TThreadId threadId = d->data->symbian_thread_handle.Id();
-    d->data->symbian_thread_handle.Open(threadId);
+    init_symbian_thread_handle(d->data->symbian_thread_handle);
 #endif
 }
 
@@ -244,9 +256,8 @@ void *QThreadPrivate::start(void *arg)
     // RThread and pthread_t, we must delay initialization of the RThread
     // handle when creating a thread, until we are running in the new thread.
     // Here, we pick up the current thread and assign that to the handle.
-    data->symbian_thread_handle = RThread();
-    TThreadId threadId = data->symbian_thread_handle.Id();
-    data->symbian_thread_handle.Open(threadId);
+    init_symbian_thread_handle(data->symbian_thread_handle);
+
     // On symbian, threads other than the main thread are non critical by default
     // This means a worker thread can crash without crashing the application - to
     // use this feature, we would need to use RThread::Logon in the main thread
@@ -657,6 +668,18 @@ bool QThread::wait(unsigned long time)
         return true;
 
     while (d->running) {
+#ifdef Q_OS_SYMBIAN
+        // Check if thread still exists. Needed because kernel will kill it without notification
+        // before global statics are deleted at application exit.
+        if (d->data->symbian_thread_handle.Handle()
+            && d->data->symbian_thread_handle.ExitType() != EExitPending) {
+            // Cannot call finish here as wait is typically called from another thread.
+            // It won't be necessary anyway, as we should never get here under normal operations;
+            // all QThreads are EProcessCritical and therefore cannot normally exit
+            // undetected (i.e. panic) as long as all thread control is via QThread.
+            return true;
+        }
+#endif
         if (!d->thread_done.wait(locker.mutex(), time))
             return false;
     }
-- 
cgit v0.12


From 1ca554e1744a8e430483a5df3aa9716c266d0c2c Mon Sep 17 00:00:00 2001
From: Joerg Bornemann <joerg.bornemann@nokia.com>
Date: Wed, 15 Sep 2010 11:08:29 +0200
Subject: fix error messages when configuring Qt

Commit 019032c93b7397c7239ec99ec44b4923df31533b introduced a lot of
annoying error messages when configuring Qt. It makes qmake complain
that it cannot find rcc and uic, which aren't yet built at this point.

We're now checking for the existence of the depend_command if it is
given as absolute path. This is the case for uic and rcc.
Yeah this is a weak solution for sick code.

Task-number: QTBUG-13366
Reviewed-by: ossi
---
 qmake/generators/makefile.cpp | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/qmake/generators/makefile.cpp b/qmake/generators/makefile.cpp
index cd034b8..3cb1942 100644
--- a/qmake/generators/makefile.cpp
+++ b/qmake/generators/makefile.cpp
@@ -1797,7 +1797,9 @@ MakefileGenerator::writeExtraCompilerTargets(QTextStream &t)
                 } else {
                     cmdline[argv0] = escapeFilePath(cmdline.at(argv0));
                 }
-                tmp_dep_cmd = cmdline.join(" ");
+                QFileInfo cmdFileInfo(cmdline[argv0]);
+                if (!cmdFileInfo.isAbsolute() || cmdFileInfo.exists())
+                    tmp_dep_cmd = cmdline.join(" ");
             }
             dep_cd_cmd = QLatin1String("cd ")
                  + escapeFilePath(Option::fixPathToLocalOS(Option::output_dir, false))
-- 
cgit v0.12


From 15ba1ff23c140849d3cac32a5005c352cd5a699f Mon Sep 17 00:00:00 2001
From: Geir Vattekar <geir.vattekar@nokia.com>
Date: Wed, 15 Sep 2010 13:30:55 +0200
Subject: Doc: Note on updating proxy models with dynamic sort filters

    Task-number: QT-689
    Reviewed-by: David Boddie
---
 src/gui/itemviews/qsortfilterproxymodel.cpp | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/src/gui/itemviews/qsortfilterproxymodel.cpp b/src/gui/itemviews/qsortfilterproxymodel.cpp
index 953a7f1..dc8d938 100644
--- a/src/gui/itemviews/qsortfilterproxymodel.cpp
+++ b/src/gui/itemviews/qsortfilterproxymodel.cpp
@@ -2230,6 +2230,14 @@ void QSortFilterProxyModel::setFilterFixedString(const QString &pattern)
     \brief whether the proxy model is dynamically sorted and filtered
     whenever the contents of the source model change
 
+    Note that you should not update the source model through the proxy
+    model when dynamicSortFilter is true. For instance, if you set the
+    proxy model on a QComboBox, then using functions that update the
+    model, e.g., \l{QComboBox::}{addItem()}, will not work as
+    expected. An alternative is to set dynamicSortFilter to false and
+    call \l{QSortFilterProxyModel::}{sort()} after adding items to the
+    QComboBox.
+
     The default value is false.
 */
 bool QSortFilterProxyModel::dynamicSortFilter() const
-- 
cgit v0.12


From 4c489c2ecfbcc6d0f8f7ec52b5e4d81e15ce4818 Mon Sep 17 00:00:00 2001
From: Geir Vattekar <geir.vattekar@nokia.com>
Date: Wed, 15 Sep 2010 15:35:54 +0200
Subject: Doc: Listed undoable operations in QTextDocument

    Task-number: QT-1212
    Reviewed-by: David Boddie
---
 src/gui/text/qtextdocument.cpp | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/src/gui/text/qtextdocument.cpp b/src/gui/text/qtextdocument.cpp
index 195dc28..c35069f 100644
--- a/src/gui/text/qtextdocument.cpp
+++ b/src/gui/text/qtextdocument.cpp
@@ -291,7 +291,18 @@ QTextCodec *Qt::codecForHtml(const QByteArray &ba)
     by an editor widget through the undo() and redo() slots; the document also
     provides contentsChanged(), undoAvailable(), and redoAvailable() signals
     that inform connected editor widgets about the state of the undo/redo
-    system.
+    system. The following are the undo/redo operations of a QTextDocument:
+
+    \list
+        \o Insertion or removal of characters. A sequence of insertions or removals
+           within the same text block are regarded as a single undo/redo operation.
+        \o Insertion or removal of text blocks. Sequences of insertion or removals
+           in a single operation (e.g., by selecting and then deleting text) are
+           regarded as a single undo/redo operation.
+        \o Text character format changes.
+        \o Text block format changes.
+        \o Text block group format changes.
+    \endlist
 
     \sa QTextCursor, QTextEdit, \link richtext.html Rich Text Processing\endlink , {Text Object Example}
 */
-- 
cgit v0.12


From f9a6a8bc03cefe8ea90f695efd9d1e7c8d96321a Mon Sep 17 00:00:00 2001
From: Morten Engvoldsen <morten.engvoldsen@nokia.com>
Date: Thu, 16 Sep 2010 10:29:11 +0200
Subject: Doc: Removing section about Multimedia - playback and declarative
 elements. This was descoped from Qt 4.7.

---
 doc/src/qt4-intro.qdoc | 9 ---------
 1 file changed, 9 deletions(-)

diff --git a/doc/src/qt4-intro.qdoc b/doc/src/qt4-intro.qdoc
index 8684ad2..efbfc0c 100644
--- a/doc/src/qt4-intro.qdoc
+++ b/doc/src/qt4-intro.qdoc
@@ -489,15 +489,6 @@
 
     QNetworkAccessManager uses this API for HTTP level roaming.
 
-    \section1 Multimedia - playback and declarative elements
-
-    The Multimedia API provides media playback and playlist support
-    for Qt Applications. Play music and movies through a single interface
-    with selectable output for movies to widgets or graphics view.
-
-    Multimedia support for Quick is also available with the new multimedia
-    declarative elements.
-
     \section1 New Classes, Functions, Macros, etc.
 
     Links to new classes, elements, functions, macros, and other items
-- 
cgit v0.12


From 53352584bbf81b577998b9f5a7dd2f7191870754 Mon Sep 17 00:00:00 2001
From: Morten Engvoldsen <morten.engvoldsen@nokia.com>
Date: Thu, 16 Sep 2010 11:03:06 +0200
Subject: Doc: Cleaning up the known issues page. Pointing people to check the
 online resources.

---
 doc/src/getting-started/known-issues.qdoc | 125 ++----------------------------
 1 file changed, 5 insertions(+), 120 deletions(-)

diff --git a/doc/src/getting-started/known-issues.qdoc b/doc/src/getting-started/known-issues.qdoc
index 0c2d8d8..942c41d 100644
--- a/doc/src/getting-started/known-issues.qdoc
+++ b/doc/src/getting-started/known-issues.qdoc
@@ -29,127 +29,12 @@
     \page known-issues.html
     \title Known Issues
     \ingroup platform-specific
-    \brief A summary of known issues in this Qt version at the time of release.
+    \brief Links to online resources stating known issues in this Qt version at the time of release.
 
-    An up-to-date list of known issues can be found at
-    \l{http://bugreports.qt.nokia.com/}{Qt Bug Tracker}.
-
-    For a list list of known bugs, see the \l{Task Tracker} at the Qt
-    website.
-
-    An overview of known issues may also be found at:
-    \l{http://qt.gitorious.org/qt/pages/QtKnownIssues}
+	\list
+	\o An up-to-date list of known issues can be found at \l{http://bugreports.qt.nokia.com/}{Qt Bug Tracker}.
+	\o For a list list of known bugs, see the \l{Task Tracker} at the Qt website.
+	\o An overview of known issues may also be found at: \l{http://qt.gitorious.org/qt/pages/QtKnownIssues}
     {Known Issues Wiki}.
-
-    \section1 Installation Issues
-
-    \section2 Installing the Source Package on Unix systems
-
-    \list
-
-    \o  If you download a Zip source package, you will need to convert
-        Windows-style line endings (CR/LF) to Unix-style line-endings (LF) when
-        you uncompress the package.  To do this, give the "-a" option when you
-        run the "unzip' command.
-
-    \o  If you fail to supply the "-a" option when unzipping the package, you
-        will see the following error message when you attempt to execute the
-        configure command:
-        "bash: ./configure: /bin/sh^M: bad interpreter: No such file or directory"
-
-    \endlist
-
-    \section2 Installing on Mac OS X 10.6 "Snow Leopard"
-
-    \list
-
-    \o There are two workarounds, either disable spotlight for the target
-       drive during the install, or do a custom install where you deselect
-       documentation and examples. Run the installer again as a full
-       install to get the documentation and examples installed.
-
-    \endlist
-
-    \section1 Issues with Third Party Software
-
-    \section2 X11
-
-    \list
-    \o  There is a bug in the 169.xx NVIDIA drivers on certain GeForce 8 series
-        cards that is triggered by the OpenGL paint engine when using QPainter
-        on a QGLWidget to draw paths and polygons. Some other painting
-        operations that end up in the path fallback are affected as well. The
-        bug causes the whole X server to repeatedly hang for several seconds at
-        a time.
-    \o  There is an issue with NVIDIA's 9xxx driver series on X11 that causes a
-        crash in cases where there are several \l{QGLContext}s and the extended
-        composition modes are used (the composition modes between and including
-        QPainter::CompositionMode_Multiply and
-        QPainter::CompositionMode_Exclusion). This affects the composition mode
-        demo in Qt 4.5, for example. The crash does not occur in newer versions
-        of the drivers.
-    \endlist
-
-    \section2 Windows
-
-    \list
-
-    \o  When using version 6.14.11.6921 of the NVIDIA drivers for the GeForce
-        6600 GT under Windows XP, Qt applications which use drag and drop will
-        display reduced size drag and drop icons when run alongside
-        applications that use OpenGL. This problem can be worked around by
-        reducing the level of graphics acceleration provided by the driver, or
-        by disabling hardware acceleration completely.
-
-    \o  With NVIDIA GeForce 7950 GT (driver version 6.14.11.7824), a fullscreen
-        QGLWidget flickers when child widgets are shown/hidden. The workaround
-        for this is to use \l{QWidget::}{setGeometry()} with a width/height 1
-        pixel bigger than your geometry and call \l{QWidget::}{show()}.
-
-    \o  A bug in the Firebird database can cause an application to crash when
-        \c{fbembed.dll} is unloaded. The bug is fixed in version 2.5.
-
-    \o  On Windows 7, resizing windows is slower than on Vista/Xp. This is because
-        the gesture initialization process (required for native gesture support)
-        currently calls winId() on widgets, which causes whole widget hierarchies
-        to use native window handles. This slows down resizing.
-
-    \o  Compile errors with Intel C++ Compiler.\br
-        There seems to be a bug in the Intel compiler with respect to
-        over-agressive inlining of code.
-        The problem will manifest itself during the link phase of QtGui where
-        it fails with the error that it cannot find QObjectData::~QObjectData().
-        See \l{http://bugreports.qt.nokia.com/browse/QTBUG-5145} for updates on this
-        bug.
-        Also, due to some bugs in WebKit, the QtScript and QtWebKit modules
-        will not compile.
-        See \l{http://bugreports.qt.nokia.com/browse/QTBUG-6297} for a
-        workaround for QtScript.
-		
-    \o  Compile errors with Microsoft Visual C++ compiler. \br
-        There seems to be a bug in the Microsoft compiler when compiling with O2
-        optimization level in 64 bit.
-        This problem will result in crashes in QAbstractItemView::viewOptions().
-        See \l{http://bugreports.qt.nokia.com/browse/QTBUG-11445} for updates on this
-        bug.
-
-        
-    \endlist
-
-    \section2 Mac OS X
-
-    \list
-
-    \o  If a sheet is opened for a given window, clicking the title bar of that
-        window will cause it to flash. This behavior has been reported to Apple
-        (bug number 5827676).
-
-    \endlist
-
-    \section2 Symbian
-
-    \list
-    \o  Check known issues for Symbian at
-    \l{http://qt.gitorious.org/qt/pages/QtKnownIssues} {Known Issues Wiki}.
     \endlist
 */
-- 
cgit v0.12

