aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'dev' of ssh://codereview.qt-project.org/qt/qtdeclarative into ā†µSimon Hausmann2013-06-24181-6327/+3132
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | wip/v4 Conflicts: src/imports/qtquick2/plugins.qmltypes src/qml/debugger/qv8debugservice.cpp src/qml/qml/qml.pri src/qml/qml/qqmlcompiler.cpp src/qml/qml/qqmlcomponent.cpp src/qml/qml/qqmlcontext.cpp src/qml/qml/qqmldata_p.h src/qml/qml/qqmlengine_p.h src/qml/qml/qqmljavascriptexpression.cpp src/qml/qml/qqmlxmlhttprequest.cpp src/qml/qml/v4/qv4bindings.cpp src/qml/qml/v4/qv4irbuilder.cpp src/qml/qml/v4/qv4jsonobject_p.h src/qml/qml/v8/qqmlbuiltinfunctions.cpp src/qml/qml/v8/qv8bindings.cpp src/qml/qml/v8/qv8contextwrapper.cpp src/qml/qml/v8/qv8listwrapper.cpp src/qml/qml/v8/qv8qobjectwrapper.cpp src/qml/qml/v8/qv8qobjectwrapper_p.h src/qml/qml/v8/qv8sequencewrapper_p_p.h src/qml/qml/v8/qv8typewrapper.cpp src/qml/qml/v8/qv8valuetypewrapper.cpp src/qml/types/qqmldelegatemodel.cpp src/quick/items/context2d/qquickcanvasitem.cpp src/quick/items/context2d/qquickcontext2d.cpp sync.profile tests/auto/qml/qjsengine/tst_qjsengine.cpp tests/benchmarks/qml/animation/animation.pro tools/qmlprofiler/qmlprofiler.pro Change-Id: I18a76b8a81d87523247fa03a44ca334b1a2360c9
| * Add missing null check to QQuickTextEdit::hoveredLink()J-P Nurmi2013-06-231-4/+5
| | | | | | | | | | Change-Id: Ie0cb144bb5596f566584b8bb80e334983dd2b50e Reviewed-by: Alan Alpert <aalpert@blackberry.com>
| * Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-06-208-25/+28
| |\ | | | | | | | | | Change-Id: I5cc2cacd26004ba18f0c6214759f5e073b5c6cfb
| | * Prefix internal classes properly and private export them.Gunnar Sletta2013-06-175-16/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | Without the private export on these classes, the private export on the QSGDefaultImageNode and QSGDefaultTextureNode is useless, as the symbols fail to resolve Change-Id: I25a265a7669e5f5015c482aa24fe154c2c9a1062 Reviewed-by: Alan Alpert <aalpert@blackberry.com>
| | * Our Context2D::clearRect implementation was a bit clumsyGunnar Sletta2013-06-131-5/+2
| | | | | | | | | | | | | | | Change-Id: I273dd5eb73dce07a9ca0a1ac72a0780b0393603a Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
| | * Don't show a negative size canvas.Gunnar Sletta2013-06-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | This is in line with how Rectangle and Image elements also behave. Change-Id: I82cd6ecc6d233645bb3fd968f0f81218188a8991 Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
| | * Fix resizing canvas with renderStrategy == CooperativeGunnar Sletta2013-06-131-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | updatePolish() called prepare() which would use a queued metaInvoke() to change the size of the texture. However, there is no guaranteed event processing on the render thread between polish on the GUI thread and sync on the render thread, we would very often get to updatePaintNode() before the queued invoke landed, resulting the drawing being done to a texture of the wrong size. Fix this by calling prepare from updatePaintNode when in CooperativeMode so that the autoconnection becomes a direct one and we get prepare and flush processed in the right order. Change-Id: I0fa4687a94ada4bdaddca19133e686bca0bc745c Reviewed-by: Alan Alpert <aalpert@blackberry.com>
| | * Image docs: fix the default alignment & snippets to match screenshotsJ-P Nurmi2013-06-131-1/+5
| | | | | | | | | | | | | | | Change-Id: I8e72b58f5b3fed856d68e7a9284c828ae129f619 Reviewed-by: Alan Alpert <aalpert@blackberry.com>
| * | Add QQuickText::hoveredLinkJ-P Nurmi2013-06-184-0/+93
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-30804 Change-Id: I6c6993b152285f4bdf34d6e1aa04f25fa7ca41e0 Reviewed-by: Alan Alpert <aalpert@blackberry.com>
| * | Set default font size to 10px as per spec, not 10pt.Mitch Curtis2013-06-142-24/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | See: http://www.w3.org/TR/2dcontext/#dom-context-2d-font Also removes duplicated assignments that are done as part of the default constructor. Task-number: QTBUG-31716 Change-Id: I5bd131c14a5defd422d858f02974c215de7adae9 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
| * | Fix QQuickTextEdit::hoveredLinkJ-P Nurmi2013-06-141-2/+4
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-31646 Change-Id: Iae4f664ed919f535511f635f2e4ab1006e3c28e5 Reviewed-by: Alan Alpert <aalpert@blackberry.com>
| * | Allow floating point pixel sizes for Context2D, don't set if invalid.Mitch Curtis2013-06-141-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, setting a floating point pixel size for context2d's font will result in the following error: QFont::setPixelSize: Pixel size <= 0 (0) This is because qt_font_from_string() uses toInt() to convert the number to an int, which fails because of the decimal fraction. The font size is then set regardless (to 0), which does not comply with the standard: "[...] If the new value is syntactically incorrect (including using property-independent style sheet syntax like 'inherit' or 'initial'), then it must be ignored, without assigning a new font value. [CSS]" [1] This patch makes qt_font_from_string() call toFloat() on the string and then casts the value to an int. I could not find any evidence that floating point pixel sizes are disallowed, and QFont only deals with integer sizes anyway. If the conversion to float fails, the font size is not set (it defaults to 10px, according to [2]). [1] http://www.w3.org/TR/2dcontext/#dom-context-2d-font [2] http://qt-project.org/doc/qt-5.0/qtquick/qml-qtquick2-context2d.html#font-prop Change-Id: I6204eaa9fb6048bb9c4452403c3a4cf2913a03a1 Reviewed-by: Alan Alpert <aalpert@blackberry.com>
| * | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-06-1224-48/+163
| |\| | | | | | | | | | Change-Id: I045587eac266e9b6296d9cd9e3c73031fe18bbd1
| | * Merge remote-tracking branch 'origin/release' into stableFrederik Gladhorn2013-06-122-2/+3
| | |\ | | | | | | | | | | | | Change-Id: Ie916db2bc4973016541176363d08c5dd14ff6b69
| | | * Fix compiler warning about unused parameterKai Koehne2013-06-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix gcc compiler warning about unused parameter: qquickwindow.cpp:111:10: warning: unused parameter ā€˜eā€™ [-Wunused-parameter] This got introduced by commit 9d75626b Change-Id: Ia280fd9fdd584eed81f4d810311c56f5daee3e28 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
| | | * Doc: Exclude Qt Quick Dialogs examples in qtquick.qdocconf fileTopi Reinio2013-06-101-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Qt Quick Dialogs has its own .qdocconf file where the example path is defined. This change removes the path from .qdocconf for Qt Quick module so qdoc doesn't try to parse it twice. Change-Id: I06ad6895d5929031c37e21bfa91a813ba60d86d2 Reviewed-by: Martin Smith <martin.smith@digia.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
| | * | Support unaligned QImage strides in QSGTextureAndrew Knight2013-06-121-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a QImage has a different stride than its width, copy the image to relayout the memory for compatibility with glTexImage2D(). Change-Id: I74338da97d785ffb9e00820caff36466dfa46838 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
| | * | Fix -Wpedantic warningsAlbert Astals Cid2013-06-122-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't need these extra ; and give warnings with -Wpedantic Change-Id: I877fee2a6421b1aaa97ca3845a09d70f3b2b302b Reviewed-by: Alan Alpert <aalpert@blackberry.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
| | * | Ensure the vertical text alignment is updated when the Text height changes.Andrew den Exter2013-06-111-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-31647 Change-Id: Ia0968a7a40c40411df5b3ed841a42f6cef141525 Reviewed-by: Andrew Knight <andrew.knight@digia.com> Reviewed-by: Vesa Halttunen Reviewed-by: Alan Alpert <aalpert@blackberry.com>
| | * | Document drag-threshold behavior of FlickableAlan Alpert2013-06-101-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-31168 Change-Id: Ia9452ad9f548b5eb9684603b4ab8b10f35710eae Reviewed-by: Jerome Pasion <jerome.pasion@digia.com> Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
| | * | support url type qml property as a source for Context2D::drawImage()Tasuku Suzuki2013-06-101-0/+3
| | | | | | | | | | | | | | | | | | | | Change-Id: I66445dafd64f6c47fe1098fadd83bf3af301e58d Reviewed-by: Alan Alpert <aalpert@blackberry.com>
| | * | Merge remote-tracking branch 'origin/release' into stableFrederik Gladhorn2013-06-1017-40/+144
| | |\| | | | | | | | | | | | | Change-Id: Iafc0497812acb7850cd4e72c49d63ec9c9320b58
| | | * Set incubation controller when a Window{} is loaded via QQmlApplicationEngineAlan Alpert2013-06-0710-27/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was the one convenience that was lost when transitioning templates from QQuickView + Item{} to QQmlApplicationEngine + Window{}. As the default window incubation controller was tied to the first window's frameSwapped, we could easily run into a situation where a secondary window required incubation while the first window was idle. This would then starve the incubation controller. Instead make it so that the renderloop emits "timeToIncubate" once it is done with a renderpass over all windows, so the incubator gets to run once and exactly once per vsync when animating. The incubator logic was also flawed in that it could post a lot of events to itself as a result of incubatingObjectCountChanged and thus starve system events while processing incubation requests. Now we start a timer and don't start it again until we have completed an incubation pass. Task-number: QTBUG-31203 Change-Id: Iea9e2c81efb46bb7875c70ccda0cdc4b3b3e58e7 Reviewed-by: Alan Alpert <aalpert@blackberry.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
| | | * Doc: Fixed link to Qt Quick Layouts and made links consistentJerome Pasion2013-06-061-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | -better to use the "QML Types" pages as the version is not specified. Change-Id: I5b150bc8ada25c619dbecb5d68e70854dd9c14d6 Reviewed-by: Alan Alpert <aalpert@blackberry.com>
| | | * doc fixAlan Alpert2013-06-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-31539 Change-Id: I527ed10231c112f8f1727fde093f7d661d492fa6 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
| | | * Doc: Update Qt Quick Controls descriptionCaroline Chao2013-06-041-1/+1
| | | | | | | | | | | | | | | | | | | | Change-Id: Ifb67ae32fcb8abe49166346fa1017dc5c76bc485 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
| | | * Doc: Clarified members of QtQml.Models submodule.Jerome Pasion2013-06-043-4/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -Took out members of QtQml.Models submodule from Qt QML and Qt Quick. -Set up qdocconf files to include QtQml.Models to be part of Qt QML doc build. -Edited the sentences to make it clearer that list and model types are in QtQml.Models. -Placed the Visual* types back to QtQuick 2 module. -This patch removes several collision pages. Change-Id: I16e7045162af6852e5d6c3162b6f4cf97a42402b Reviewed-by: Alan Alpert <aalpert@blackberry.com>
| | | * Precompile the most common materialsGunnar Sletta2013-05-312-0/+29
| | | | | | | | | | | | | | | | | | | | Change-Id: Idfa76f9fcdbac61a248b38e1f793a6628af12552 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
| | * | Doc: fix since QtQuick 5.1Tasuku Suzuki2013-06-102-2/+2
| | | | | | | | | | | | | | | | | | | | Change-Id: I87a108e817caa06c73620dde0ba68b3c66a134c9 Reviewed-by: Alan Alpert <aalpert@blackberry.com>
| | * | Fix -Wpedantic warningsAlbert Astals Cid2013-06-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't need these extra ; and give warnings with -Wpedantic Change-Id: I877fee2a6421b151697ca3845a09d70f3b2b302b Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
| * | | Add QQuickTextEdit::append()J-P Nurmi2013-06-122-0/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes it possible to append text more efficiently than appending to the text -property, and also avoids weird rich text formatting issues with the latter approach. Task-number: QTBUG-31575 Change-Id: Id621773588b94e36f8f0b9eb6b22590e9db62811 Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com> Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
| * | | Add QQuickTextEdit::hoveredLinkJ-P Nurmi2013-06-077-0/+106
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I9d75a97c86e047742514f942cdb91c70f1d7a9a2 Reviewed-by: Mitch Curtis <mitch.curtis@digia.com> Reviewed-by: Alan Alpert <aalpert@blackberry.com>
| * | | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-06-0415-43/+85
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: Ib8b5509c48a686f6e916708d83914e13e4f67e9c
| | * | Merge remote-tracking branch 'origin/release' into stableFrederik Gladhorn2013-05-3113-34/+75
| | |\| | | | | | | | | | | | | Change-Id: Ie4ce4c3e64f093eec26754e06199d350a46ae2a2
| | | * Doc: Fix the positioning topic pageCaroline Chao2013-05-302-14/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Mention both Positioners and Qt Quick Layouts. Also add qtquickdialogs to qtquick.qdocconf. Change-Id: I19bc09a0a81be7c748af83ddf38f1111f0ecc81a Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
| | | * Added QQuickWindow::setDefaultAlphaBuffer()Shawn Rutledge2013-05-304-2/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All QQuickWindows will render using the same OpenGL context, so for a window to support transparency, the OpenGL context needs to be created with support for transparency from the very start. Therefore the application needs to call setDefaultAlphaBuffer() before creating windows. There are some relevant comments in QTBUG-20768 although the bug itself is not the same use case (it was already OK as long as the first window had a translucent color, because of setAlphaBufferSize in QQuickWindow::setColor()). Change-Id: I92e111c1a62c0d510821b646fd334e52254f8f57 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
| | | * Doc fixes to the Positioners/Layouts documentationJan Arve Saether2013-05-304-12/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add references to Qt Quick Layouts * Don't lie about that Positioners can resize the items * Rename title from "Item Layouts" to "Item Positioners" to avoid confusion with Qt Quick Layouts Change-Id: I43e3ad6e6d9e4b08a1233868c75f0efcab43f8c3 Reviewed-by: Caroline Chao <caroline.chao@digia.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
| | | * Doc: Fix links for ListModel and ListElement typesTopi Reinio2013-05-291-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Link to documentation under QtQml module. Change-Id: Id65d237558c235dcdda8ab206eddef23c2886a29 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
| | | * Doc: Excluded Dialogs directory from Qt Quick doc build.Jerome Pasion2013-05-291-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Qt Quick Dialogs is separate and should be excluded from the Qt Quick doc build. Task-number: QTBUG-30180 Change-Id: I6e63efc071d8d2e5673745f0dcd97d5b5f562d25 Reviewed-by: Alan Alpert <aalpert@blackberry.com> Reviewed-by: Martin Smith <martin.smith@digia.com>
| | | * Dialogs: Create directory structure for documentationCaroline Chao2013-05-281-1/+1
| | | | | | | | | | | | | | | | | | | | Change-Id: I5245a6931606673733130b1f168fddafe8def695 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
| | | * Do not draw negative-size ShaderEffect(Source) items.Gunnar Sletta2013-05-282-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We were a bit inconsistent here. A negative size Image element would not render at all, a negative size ShaderEffect would render mirrored and a negative size ShaderEffectSource would trigger an assert. Be consistent and not draw any of them. DropShadow from QtGraphicalEffects uses both a ShaderEffectSource and a ShaderEffect together, so keeping the behavior in ShaderEffect would make it render incorrectly. Task-number: QTBUG-31383 Change-Id: Ied5568d7edbc2aed96b00adfdc6aae09b6f2a7d9 Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
| | * | Fix assert when calculating the implicit width of truncated lines.Andrew den Exter2013-05-311-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Guard against reading past the end of the final line. Task-number: QTBUG-31471 Change-Id: I489f742936ee16f12ad9762b7c0891bfa9377e21 Reviewed-by: Martin Jones <martin.jones@jollamobile.com>
| | * | Do not use QApp::arguments() to select antialiasing mode.Gunnar Sletta2013-05-311-7/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This selection typically interfers with an application's command line arguments. Creator's qml2puppet needs to set this mode to avoid getting subpixel antialiased text from DesignerSupport. Change-Id: Iabf2bece211b897c58e2933d5502fdcf7c360c55 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
| | * | Change wording in QML Tutorial.Mitch Curtis2013-05-301-1/+1
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-25595 Change-Id: I38b227ac2652d2b04d3d1e00f397d189a9de4bed Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com> Reviewed-by: Alan Alpert <aalpert@blackberry.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
| * | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-05-28124-5881/+1141
| |\| | | | | | | | | | | | | | | | | | | | | | Conflicts: src/quick/doc/src/appdevguide/porting.qdoc sync.profile Change-Id: Iec5516c596c3eca60a3e6ceb1d45f2a7a1595c12
| | * Prevent tab focus from wrapping endlesslyLiang Qi2013-05-271-4/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If there was no item that accepted focus, it would go into an endless loop. This also changes the default behavior of QQuickWindow. When there is not any activeFocusItem in the whole window, it means the contentItem got focused. The Tab/BackTab key will now focus the next item in the tab focus chain. Autotest is included. Done-with: Frederik Gladhorn <frederik.gladhorn@digia.com> Task-number: QTBUG-31344 Change-Id: I854292f89a327c493eec21969907c94aa9cfddcb Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
| | * Doc: Added Qt 5.1 information in Qt Quick's release notes.Jerome Pasion2013-05-271-1/+29
| | | | | | | | | | | | | | | Change-Id: I97971f27d9ff7e94e14f442d1baf78b0e56ca312 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
| | * Doc: Add Qt Quick Dialogs to Qt Quick submodules listCaroline Chao2013-05-271-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | And add a landing page for Qt Quick Dialogs. Change-Id: I0c2611bf5cdbf9937b4fd94228915553d8b3bb77 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
| | * Doc: Add Dialogs/Controls/Layouts in submodules sectionCaroline Chao2013-05-271-0/+6
| | | | | | | | | | | | | | | | | | Change-Id: Ide4afaa74d73ea09cf329de593283c269ecdacb3 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
| | * QmlProfiler: fix SceneGraph profilingChristiaan Janssen2013-05-271-1/+1
| | | | | | | | | | | | | | | Change-Id: I54c960f0b0da061816223a51795c83a9f9dd3f66 Reviewed-by: Kai Koehne <kai.koehne@digia.com>