profile/ivi/qtdeclarative.git
11 years agoMerge branch 'newdocs'
Eskil Abrahamsen Blomfeldt [Tue, 20 Nov 2012 09:17:47 +0000 (10:17 +0100)]
Merge branch 'newdocs'

Change-Id: Idd7a9837e4f6a1358edf9accdcdc3c71822f4c25

11 years agoFixed memory leak of registered QML modules
Vadim Zakondyrin [Sat, 17 Nov 2012 12:29:25 +0000 (19:29 +0700)]
Fixed memory leak of registered QML modules

Change-Id: I254f755641f5ac8383e5818b5294ec85fd9236e8
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Christopher Adams <chris.adams@jollamobile.com>
11 years agoUse the new QLibraryInfo::Qml2ImportsPath path for QML 2.
Thiago Macieira [Mon, 15 Oct 2012 21:01:59 +0000 (14:01 -0700)]
Use the new QLibraryInfo::Qml2ImportsPath path for QML 2.

Also change the environment variable to be QML2_IMPORT_PATH.  This
splits the imports from QML 1 (the QtDeclarative library).

Change-Id: Icadbf96283b1cf071ed0deb04e8c8476da664009
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Christopher Adams <chris.adams@jollamobile.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
11 years agoAllow margin changes during Flickable drag operation
Matt Vogt [Mon, 19 Nov 2012 01:03:20 +0000 (11:03 +1000)]
Allow margin changes during Flickable drag operation

Previously, the dimensions of the flickable were captured at mouse
press and reused during dragging, which causes problems if the margins
of the Flickable are altered during the drag. Adjust the captured
values so that margin changes are correctly handled.

Change-Id: I1ce608dcc1302ea8639bf18a81361b27749b217b
Reviewed-by: Martin Jones <martin.jones@qinetic.com.au>
11 years agoUpdate gettingStartedQml example code to use standard Qt coding style
hjk [Fri, 16 Nov 2012 11:15:18 +0000 (12:15 +0100)]
Update gettingStartedQml example code to use standard Qt coding style

Change-Id: I225ea53a4e06e92367feb368dd6deea6f9acf403
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
11 years agoUse threaded renderer even without BufferQueueingOpenGL.
Samuel Rødal [Wed, 7 Nov 2012 16:10:42 +0000 (17:10 +0100)]
Use threaded renderer even without BufferQueueingOpenGL.

Without threaded rendering QML 2 often ends up running at half the
screen refresh rate on X11. Not having BufferQueuingOpenGL shouldn't
prevent us from using threaded rendering, since the issue of four
animating windows running at 1/4th of the screen refresh rate will
happen regardless of whether rendering happens on the main thread or in
a separate rendering thread.

Change-Id: I0edc818e6d762fa1faf13e7f2f47dfda132b6fdf
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
11 years agoAccessibility: add stepSize to value interface.
Frederik Gladhorn [Sat, 3 Nov 2012 22:50:49 +0000 (23:50 +0100)]
Accessibility: add stepSize to value interface.

Change-Id: I4c654837c37dbef8f6f407387ce4ea82cb3b821b
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
11 years agoQuickTest: Remove reference to /tests/qmlauto
Kai Koehne [Fri, 9 Nov 2012 10:24:40 +0000 (11:24 +0100)]
QuickTest: Remove reference to /tests/qmlauto

There's no tests/qmlauto in the source tree, neither could I find
an example using QUICK_TEST_SOURCE_DIR.

Task-number: QTBUG-27919
Change-Id: I5a4ba5653a06e448a922a47900ae3f2d12e3020c
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
11 years agoFix StocQt example - need full 4-digit years for yahoo API
Shawn Rutledge [Sun, 11 Nov 2012 14:18:23 +0000 (15:18 +0100)]
Fix StocQt example - need full 4-digit years for yahoo API

Change-Id: Id5f6895c3e4c901af3e4e45ca8a1474c9fdb19d9
Reviewed-by: Alan Alpert (RIM) <aalpert@rim.com>
11 years agoDeduplicate checking of conditions.
Alexandr Akulich [Sat, 20 Oct 2012 02:24:56 +0000 (08:24 +0600)]
Deduplicate checking of conditions.

Change-Id: I0621db17db2bb8fe885a3a65f6a7a042279c3752
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
11 years agoImprove documentation.
Frederik Gladhorn [Sat, 3 Nov 2012 22:52:47 +0000 (23:52 +0100)]
Improve documentation.

Change-Id: I9bfb8bf8167e3b55d3539dc35e4278b5514119c8
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
11 years agoPreparation for changing QWindow::windowState to visibility
Shawn Rutledge [Fri, 9 Nov 2012 10:36:01 +0000 (11:36 +0100)]
Preparation for changing QWindow::windowState to visibility

QQuickWindow needs to avoid depending on QWindowPrivate::visible.
It can go back to using private variables after the replacment is done.

Change-Id: I38b99df8b4ef0139c9eadcbb07d33d3f1894a8ac
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
11 years agoWindow example tests Qt.application.supportsMultipleWindows
Shawn Rutledge [Thu, 8 Nov 2012 15:12:01 +0000 (16:12 +0100)]
Window example tests Qt.application.supportsMultipleWindows

Change-Id: I7fcdd518e56427316f454ff4e5b298d13b396ac0
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
11 years agoBlackberry: Workaround for GLSL compiler bug.
Fabian Bumberger [Fri, 9 Nov 2012 13:10:27 +0000 (14:10 +0100)]
Blackberry: Workaround for GLSL compiler bug.

Change-Id: If3ce968c0a0a2af4244671fe028a560843c9016a
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
11 years agoExamples and fixes for QML Window properties
Shawn Rutledge [Mon, 22 Oct 2012 11:44:21 +0000 (13:44 +0200)]
Examples and fixes for QML Window properties

Setting Window.color in QML takes effect immediately.
It was only possible to set the property at startup.
Examples demonstrate new Window property features.

Change-Id: Ic5b43d0d84371f3fe5c42223ccc98e6de27aed10
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
11 years agoRenamed QWindow::pos property to position
Shawn Rutledge [Mon, 22 Oct 2012 15:09:06 +0000 (17:09 +0200)]
Renamed QWindow::pos property to position

Abbreviated properties are to be avoided, and this is a new class so
we have a good opportunity to avoid it before the release.

Related to qtbase change I19c00b54b1d2712f9418e8bcf56e35a8008b89ef

Change-Id: Ibd5cd10814c8cbd2b1f6e49b70782c7768d2366d
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
11 years agoInstall the Qt Quick 2 examples in the "qtquick" dir
Thiago Macieira [Mon, 24 Sep 2012 13:58:00 +0000 (15:58 +0200)]
Install the Qt Quick 2 examples in the "qtquick" dir

Leave the "qtdeclarative" dir for Qt Quick 1, which is where it used
to be in Qt 4.

Change-Id: I44997771d77617564fc608c1aba95e3ada8f9a69
Reviewed-by: Christopher Adams <chris.adams@jollamobile.com>
11 years agoDon't install tst_qmltest to $QTDIR/tests
Kai Koehne [Fri, 9 Nov 2012 10:07:53 +0000 (11:07 +0100)]
Don't install tst_qmltest to $QTDIR/tests

Don't try to install the tst_qmltest by default, since it will
install itself to $QTDIR/tests.

Task-number: QTBUG-26661
Change-Id: I310f660cc486ffb4358af14ea15db389375ed802
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
11 years agotests: Mark some tests as insignificant on Mac
Samuli Piippo [Thu, 8 Nov 2012 08:35:51 +0000 (10:35 +0200)]
tests: Mark some tests as insignificant on Mac

Task-number: QTBUG-27890

Change-Id: I48edea29ccaa593e4bab61c1a968130a5d3457f3
Reviewed-by: Simo Fält <simo.falt@digia.com>
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
Reviewed-by: Janne Anttila <janne.anttila@digia.com>
11 years agoExpose "Qt.application.supportsMultipleWindows".
Samuel Rødal [Thu, 8 Nov 2012 14:34:26 +0000 (15:34 +0100)]
Expose "Qt.application.supportsMultipleWindows".

Useful on platforms like kms and eglfs that only support a single
QWindow. On those platforms the QML application can thus choose to use a
Rectangle instead of a Window to show dialogs etc.

Change-Id: Idc3f46d2cad6cf3f55c5c84df2c8511407bd4849
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Alan Alpert (RIM) <aalpert@rim.com>
11 years agoDon't use design metrics with NativeRendering on TextInput
Eskil Abrahamsen Blomfeldt [Thu, 8 Nov 2012 14:04:22 +0000 (15:04 +0100)]
Don't use design metrics with NativeRendering on TextInput

We only set the design metrics property in init(), before the
renderType has been set. Since updateLayout() is called every
time the renderType changes, it should be sufficient to set it
there.

Change-Id: If5b2cb3738e8135195848857a30f4e646bdf1d0b
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
11 years agoAll QWindow properties that have "window" in them have been renamed.
Shawn Rutledge [Fri, 19 Oct 2012 16:05:01 +0000 (18:05 +0200)]
All QWindow properties that have "window" in them have been renamed.

Depends on patch Ie4424ec15fbdef6b29b137f90a2ae33f173edd21 in qtbase.

Change-Id: I9614cc2c7ed119c663b3f6f99267483e291e529c
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
11 years agoFix compilation issue with clang in C++11 mode.
Erik Verbruggen [Thu, 8 Nov 2012 09:10:40 +0000 (10:10 +0100)]
Fix compilation issue with clang in C++11 mode.

As with all other qHash functions, providing a default value for the
seed is needed.

Compiler error:

In file included from qml/v8/qv8engine.cpp:42:
In file included from qml/v8/qv8engine_p.h:57:
In file included from /Users/erik/dev/qt5-stable/qtbase/include/QtCore/qvariant.h:1:
In file included from /Users/erik/dev/qt5-stable/qtbase/include/QtCore/../../src/corelib/kernel/qvariant.h:50:
In file included from /Users/erik/dev/qt5-stable/qtbase/include/QtCore/qhash.h:1:
/Users/erik/dev/qt5-stable/qtbase/include/QtCore/../../src/corelib/tools/qhash.h:107:35: error: no matching function for call to 'qHash'
    Q_DECL_NOEXCEPT_EXPR(noexcept(qHash(t)))
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~

[skipping macro expansion and candidate qHash functions]

qml/v8/qv8engine_p.h:89:13: note: candidate function not viable: requires 2 arguments, but 1 was provided
inline uint qHash(const v8::Handle<v8::Object> &object, uint seed)

Change-Id: I917785ce5ce596757fe06ced1536797090bb0f77
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
11 years agoWhen declarative debug tests fail in CI, confirm timeout as reason
Shawn Rutledge [Tue, 23 Oct 2012 11:14:03 +0000 (13:14 +0200)]
When declarative debug tests fail in CI, confirm timeout as reason

Hope to correct errors like
FAIL!  : tst_QQmlInspector::reloadQml() 'QQmlDebugTest::waitForSignal(
    m_client, SIGNAL(responseReceived()))' returned FALSE. ()

Change-Id: Iebf29d4de0bc19396041565e5a4cd32561345235
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
11 years agoFixes the examples shared macro.
Caroline Chao [Thu, 8 Nov 2012 12:24:20 +0000 (13:24 +0100)]
Fixes the examples shared macro.

Detection of the platform's name Mac was wrong.

Task-number: QTBUG-27894

Change-Id: I3194fac4e78d12682871dec63a905b4c940fb80c
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
11 years agoPrevent crash when doing threaded rendering of multiple windows.
Samuel Rødal [Wed, 7 Nov 2012 16:03:07 +0000 (17:03 +0100)]
Prevent crash when doing threaded rendering of multiple windows.

Don't call renderSceneGraph() on non-renderable windows. We also don't
call syncSceneGraph() on them, which is where the renderer will be set.

Also get rid of harmless warning about non-renderable windows.

Change-Id: I24739abefe0d554efb568514057719f981590c28
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
11 years agoDoc: Moved all content in the doc directory.
Venugopal Shivashankar [Wed, 7 Nov 2012 18:09:52 +0000 (19:09 +0100)]
Doc: Moved all content in the doc directory.

- most images to the corresponding examples directory
- Fixed a few broken links to the examples and qdoc pages
- removed the obsolete and unused images and qdoc pages

Change-Id: I18f9551b42ec713b81e3f69694a2bd04b1ebf794
Reviewed-by: Geir Vattekar <geir.vattekar@digia.com>
11 years agoExamples separated out of Ie808e78a42074e13aa9d3c87723ec9ac8fdbaf4a
Shawn Rutledge [Mon, 5 Nov 2012 10:16:14 +0000 (11:16 +0100)]
Examples separated out of Ie808e78a42074e13aa9d3c87723ec9ac8fdbaf4a

Change-Id: Iec54ed5d7c41c6103ddfe07509b905914806d435
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
11 years agoqmlscene can start with either an Item or Window as the qml root
Shawn Rutledge [Mon, 5 Nov 2012 10:04:21 +0000 (11:04 +0100)]
qmlscene can start with either an Item or Window as the qml root

Before, it assumed that the root is an Item and needs to have a
Window created.  But it's useful for an application to have a Window
as the root, and it was already possible by writing a different C++
main function (see qtdeclarative/examples/window/window/window.cpp).
It doesn't take much to give qmlscene this flexibility too.

Change-Id: Ie808e78a42074e13aa9d3c87723ec9ac8fdbaf4a
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
11 years agoQQmlPropertyCache: adding setParent()
Thomas Hartmann [Mon, 5 Nov 2012 12:51:58 +0000 (13:51 +0100)]
QQmlPropertyCache: adding setParent()

setParent() enables to dynamically set the parent of a
QQmlPropertyCache. This is used in the Qt Quick Designer to
create dynamic properties on an arbitrary object.

Change-Id: I0dafabcacf4222fc1bfe693736cbd23e1e928e8f
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Reviewed-by: Christiaan Janssen <christiaan.janssen@digia.com>
Reviewed-by: Marco Bubke <marco.bubke@digia.com>
11 years agoFix a missing word in the docs
Jan Kundrát [Wed, 17 Oct 2012 16:27:25 +0000 (18:27 +0200)]
Fix a missing word in the docs

The functionality is "*no* longer available", of course.

Change-Id: I2c9f2633d74b98c16216f68e3d7e080422cf6506
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
11 years agotransformOriginPoint is deprecated
Shawn Rutledge [Fri, 12 Oct 2012 10:33:37 +0000 (12:33 +0200)]
transformOriginPoint is deprecated

Task-number: QTBUG-26423
Change-Id: I28f8160c2c52f62ef901ed569b94fefdab387729
Reviewed-by: Alan Alpert <416365416c@gmail.com>
11 years agoMerge branch 'master' of ssh://codereview.qt-project.org/qt/qtdeclarative into newdocs
Jerome Pasion [Fri, 2 Nov 2012 13:59:56 +0000 (14:59 +0100)]
Merge branch 'master' of ssh://codereview.qt-project.org/qt/qtdeclarative into newdocs

Change-Id: Icced038fbdb309d8928213d3753a27fe5a6b1137

11 years agoFix conditional jump based on an uninitialized value.
Jędrzej Nowacki [Fri, 2 Nov 2012 11:42:07 +0000 (12:42 +0100)]
Fix conditional jump based on an uninitialized value.

QElapsedTimer is POD and it is not initialized by default.

Change-Id: Ie6997e1c4225b9ba584de52cc0c9647f26e45438
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
11 years agofollow qt_tool.prf now setting up DESTDIR
Oswald Buddenhagen [Fri, 26 Oct 2012 17:59:38 +0000 (19:59 +0200)]
follow qt_tool.prf now setting up DESTDIR

Change-Id: Ia07dc830586fd30f4ee98c64e9f2accae5cf2f06
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
11 years agoadjust to qt_plugin.prf changes, part 2
Oswald Buddenhagen [Mon, 29 Oct 2012 14:45:45 +0000 (15:45 +0100)]
adjust to qt_plugin.prf changes, part 2

DESTDIR and INSTALLS+=target are set up automatically now, but
PLUGIN_TYPE needs to be defined.

Change-Id: I2dab25a2527d376eaa37f233782ffe4b6a58b8f8
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
11 years agoUpdate Nokia references to Digia's.
Caroline Chao [Thu, 1 Nov 2012 13:36:53 +0000 (14:36 +0100)]
Update Nokia references to Digia's.

Change-Id: I3be91d4a6a1116c79ab6aca89d189c88a265d339
Reviewed-by: Akseli Salovaara <akseli.salovaara@digia.com>
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
11 years agoCMake: Remove obsolete test_modules test
Stephen Kelly [Wed, 31 Oct 2012 13:51:49 +0000 (14:51 +0100)]
CMake: Remove obsolete test_modules test

The generated module_includes test is a super-set of this test.

Change-Id: I086d81806cdbc3c4afbeae0f8683a5b693b6f85a
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
11 years agoadjust to qt_plugin.prf changes, part 1
Oswald Buddenhagen [Mon, 29 Oct 2012 14:43:42 +0000 (15:43 +0100)]
adjust to qt_plugin.prf changes, part 1

PLUGIN_TYPE will need to be defined. do this before the respective change
in qtbase, due to the reverse dependency.

Change-Id: I97e7574b48512958689dab0c0697f2edc8666807
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
11 years agoPrepare for removal of Softkeys API
Jan Arve Saether [Tue, 23 Oct 2012 13:14:35 +0000 (15:14 +0200)]
Prepare for removal of Softkeys API

Change-Id: I28f0d1b66da10a9d578e3aea3fe73a5d28322852
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Reviewed-by: Janne Anttila <janne.anttila@digia.com>
11 years agoDoc: Removed reference to QTDIR and did some language edits
Venugopal Shivashankar [Fri, 19 Oct 2012 14:58:37 +0000 (16:58 +0200)]
Doc: Removed reference to QTDIR and did some language edits

Change-Id: I3c7854342fc89c97423c8540a6c5cc51070a5639
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
11 years agoChanged the plugin module name
Venugopal Shivashankar [Tue, 23 Oct 2012 10:44:41 +0000 (12:44 +0200)]
Changed the plugin module name

The earlier name, com.nokia.TimeExample is irrelevant now.
Also updated all instances of documentation where this older module
name was referred.

Change-Id: Ic252d0e72af23c2d39d5fed55f242e47c1b6bde9
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
11 years agoCMake: Add a test for module includes
Stephen Kelly [Fri, 19 Oct 2012 15:20:44 +0000 (17:20 +0200)]
CMake: Add a test for module includes

Change-Id: Ie9fd7929c1ea22f8acf51bafce64ade74d51a00e
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
11 years agoRemove stale QT_MODULE() usage cases
Sergio Ahumada [Thu, 25 Oct 2012 16:33:58 +0000 (18:33 +0200)]
Remove stale QT_MODULE() usage cases

As of Qt5, this macro is defined to be empty; simply get rid of these leftovers.

Change-Id: Ib3a8e8eae98e2839c3db4bf34be8dcf43f49af11
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
11 years agoUpdate qml test scenes with new property names
aavit [Mon, 29 Oct 2012 11:14:55 +0000 (12:14 +0100)]
Update qml test scenes with new property names

Change-Id: I67953f257f8948f3ec821cf3e5bc4763aff8d1aa
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
11 years agoTest: Fix tst_qqmlecmascript::exportDate
Caroline Chao [Mon, 29 Oct 2012 08:30:20 +0000 (09:30 +0100)]
Test: Fix tst_qqmlecmascript::exportDate

Get timezone offset of the date specified and not the default value.

Change-Id: I58dba896098cbee72a2e4ec15ba2c928121e6cff
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
11 years agotest: Mark `tst_qquicklistview', `tst_qquicktext', and `tst_qquicktextedit' as insign...
Sergio Ahumada [Mon, 29 Oct 2012 11:09:55 +0000 (12:09 +0100)]
test: Mark `tst_qquicklistview', `tst_qquicktext', and `tst_qquicktextedit' as insignificant

Task-number: QTBUG-27740
Change-Id: I20b15ae35f736f1c43a85e9a37ec3fda19896b07
Reviewed-by: Caroline Chao <caroline.chao@digia.com>
11 years agoDoc: Removed the HTML template from the .qdocconf files
Jerome Pasion [Fri, 26 Oct 2012 12:56:08 +0000 (14:56 +0200)]
Doc: Removed the HTML template from the .qdocconf files

-qt-module-defaults.qdocconf already contains the HTML template.

Change-Id: I8ecac8e959d0fe8705295f4c9a58dd6b98ca1a44
Reviewed-by: Martin Smith <martin.smith@digia.com>
11 years agoChange organisation to Qt Project.
Frederik Gladhorn [Thu, 25 Oct 2012 12:03:56 +0000 (14:03 +0200)]
Change organisation to Qt Project.

Change-Id: Ia55cf3cff4f019c82588d44c0b9c63cb97d965be
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
11 years agoMark failing tests as insignificant.
Stephen Kelly [Wed, 24 Oct 2012 11:03:57 +0000 (13:03 +0200)]
Mark failing tests as insignificant.

Change-Id: I2dbed0d5fe632a034a0f656c2e3ccc3e63d4078b
Reviewed-by: Richard J. Moore <rich@kde.org>
11 years agoFix crash in qtlocation tests.
Friedemann Kleint [Tue, 23 Oct 2012 14:40:19 +0000 (16:40 +0200)]
Fix crash in qtlocation tests.

Task-number: QTBUG-27696
Change-Id: I0cc12e1be25a789a8245fae3a444629ca57872ef
Reviewed-by: Christopher Adams <chris.adams@qinetic.com.au>
Reviewed-by: Martin Jones <martin.jones@qinetic.com.au>
11 years agoAllow QQmlDebugProcess to be child of other qobjects.
Frederik Gladhorn [Tue, 23 Oct 2012 12:11:18 +0000 (14:11 +0200)]
Allow QQmlDebugProcess to be child of other qobjects.

Some tests when failing would leave the process running.
For example on my machine tst_qqmlinspector would hang and
restarting it would not work because the before started process was
still blocking the port.

Change-Id: I32dfb4874b18d7dcf34d0f40819b17dedd794ff3
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
11 years agoAllow tests to run despite custom message patterns.
Frederik Gladhorn [Tue, 23 Oct 2012 12:48:50 +0000 (14:48 +0200)]
Allow tests to run despite custom message patterns.

With QT_MESSAGE_PATTERN some tests would not run without explanation.

Change-Id: I68a9eda08fe56508ffaaef209a1f236621aa932e
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
11 years agoChange qml list interface
Marco Bubke [Mon, 22 Oct 2012 15:57:05 +0000 (17:57 +0200)]
Change qml list interface

Change-Id: I185c6f4cef6105544504324c1616b5995c219fe3
Reviewed-by: Christiaan Janssen <christiaan.janssen@digia.com>
11 years agoAdding invalidate function to QQmlPropertyCache
Thomas Hartmann [Mon, 22 Oct 2012 12:16:30 +0000 (14:16 +0200)]
Adding invalidate function to QQmlPropertyCache

This is required for tooling to update a QMetaObject
inside a running QQmlEngine.

Change-Id: I26d3aeed57d39c361c150261c4e1a84094e6f657
Reviewed-by: Christiaan Janssen <christiaan.janssen@digia.com>
11 years agodoc: fix some typos.
Alexandr Akulich [Sat, 20 Oct 2012 02:41:25 +0000 (08:41 +0600)]
doc: fix some typos.

Change-Id: I951d89094a6d49e4c71aa9a50e98f3ccc1ca62e1
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
11 years agoMake Rectangle border be inner instead of centered on the outline.
Samuel Rødal [Tue, 16 Oct 2012 15:55:46 +0000 (17:55 +0200)]
Make Rectangle border be inner instead of centered on the outline.

This avoids awkward situations such as when clipping to a parent item of
the same size and makes it easier to reason about the bounding rectangle
of the item.

Task-number: QTBUG-21341
Change-Id: If015cfbc5792429f4a407fc0547ea71eca779eda
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
11 years agoSkip flaky subtests of tests/auto/qmltest.
Friedemann Kleint [Mon, 22 Oct 2012 10:56:19 +0000 (12:56 +0200)]
Skip flaky subtests of tests/auto/qmltest.

- Skip test_key_click() in events/tst_events.qml.
- Skip test_pixel pixel/tst_pixel.qml.

Task-number: QTBUG-27671
Change-Id: Id78c34244d346910e28a2368f9fe3a41f54b8fb9
Reviewed-by: Janne Anttila <janne.anttila@digia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
11 years agoFix qmltest library.
Friedemann Kleint [Thu, 18 Oct 2012 13:02:36 +0000 (15:02 +0200)]
Fix qmltest library.

- Avoid hangs (waiting for frameSwapped) and crashes
  in window managers for empty windows by giving windows
  a minimum size if they have 0x0 (observed on Mac, Windows).
- Polishing, set proper window flags, title, object name, output.

Change-Id: Iad5d66c3adbbfe085390132987e95f4c69272831
Reviewed-by: Christiaan Janssen <christiaan.janssen@digia.com>
11 years agoChange Q_ASSERTs in qquick[threaded]windowmanager.cpp to qWarning().
Friedemann Kleint [Thu, 4 Oct 2012 10:15:49 +0000 (12:15 +0200)]
Change Q_ASSERTs in qquick[threaded]windowmanager.cpp to qWarning().

As they also triggers when a non-existing file is loaded into QML2
or windows have invalid sizes.

Change-Id: Iab1ce6c99f2bc2cb360ddaccce539cb97979ad5a
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Reviewed-by: Christiaan Janssen <christiaan.janssen@digia.com>
11 years agoRe-enable tst_QJSEngine::stringObjects test
Peter Varga [Thu, 18 Oct 2012 15:16:40 +0000 (17:16 +0200)]
Re-enable tst_QJSEngine::stringObjects test

Corresponding bug has been fixed in QtJSBackend thus re-enable test and
remove expected failures.

Change-Id: I72d6ce31a1c932db29dad0758e0c2654543a5b1f
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoQQmlOpenMetaObjectType: extend interface for visual designer
Thomas Hartmann [Fri, 19 Oct 2012 07:36:04 +0000 (09:36 +0200)]
QQmlOpenMetaObjectType: extend interface for visual designer

We need those 3 functions to rebuild OpenMetaObject
in the visual designer.

Change-Id: I70affe5850f46683a049615b3173a4f30c338401
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
11 years agoAdd polishItems to the designer support
Marco Bubke [Tue, 16 Oct 2012 14:33:44 +0000 (16:33 +0200)]
Add polishItems to the designer support

Change-Id: Ibec0b1f6c438f0c7b40c81ec81cd092768701f34
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
11 years agoFix QQuickTextInput::moveCursorSelection()
Konstantin Ritt [Mon, 15 Oct 2012 07:54:54 +0000 (10:54 +0300)]
Fix QQuickTextInput::moveCursorSelection()

by using fixed QTextBoundaryFinder behavior.
Update QQuickTextInput autotests.

Task-number: QTBUG-11365

Change-Id: I81761c019e2fe80c9795fe54a2a990bfc5d4b709
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
11 years agoFix list functions for the data property
Marco Bubke [Mon, 15 Oct 2012 16:34:10 +0000 (18:34 +0200)]
Fix list functions for the data property

The Qml Designer needs this functions.

Task-number: QTCREATORBUG-8039
Change-Id: I6e072723630cf971ad3eda921497699611ae934e
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
11 years agoTemporarily skip tst_QJSEngine::stringObjects test
Peter Varga [Thu, 18 Oct 2012 09:41:42 +0000 (11:41 +0200)]
Temporarily skip tst_QJSEngine::stringObjects test

Expected failures of this test block to land a patch to QtJSBackend that
fixes them.

Change-Id: If5c73cb668f9cc05e605e4f37c0dfabc0eecb5a8
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoQQuickItem: handle QEvent::StyleAnimationUpdate
J-P Nurmi [Tue, 16 Oct 2012 10:58:26 +0000 (12:58 +0200)]
QQuickItem: handle QEvent::StyleAnimationUpdate

Change-Id: Id5c4de6bdcd395a1e32449e69d773e9a35fab4c9
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
11 years agoDoc: Cleaned up \module and \qmlmodule page for Qt Quick and Qt QML.
Jerome Pasion [Tue, 16 Oct 2012 16:39:11 +0000 (18:39 +0200)]
Doc: Cleaned up \module and \qmlmodule page for Qt Quick and Qt QML.

-Qt Quick: used a regular page instead of \qmlmodule
-Cleaned up titles and membership

Change-Id: I8ae24fec203ea675d213bd0df6105d0c2abd8164
Reviewed-by: Martin Smith <martin.smith@digia.com>
11 years agoMake Qt.quit() from inside QML work in the examples
Jan Kundrát [Tue, 16 Oct 2012 18:33:55 +0000 (20:33 +0200)]
Make Qt.quit() from inside QML work in the examples

Without this patch, the samegame's quit button does not work.

Change-Id: I904832d018d589e90564534ac1eca02e0dbb54fc
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
11 years agoQQuickScreen attached obj handles screenChanged and geometryChanged
Shawn Rutledge [Mon, 15 Oct 2012 15:18:46 +0000 (17:18 +0200)]
QQuickScreen attached obj handles screenChanged and geometryChanged

sizeChanged is replaced with geometryChanged.  Given a Window, it also
needs to connect to the Window's screenChanged signal.  The result is
that if the screen is changed after the QQuickView is created, the
Screen attached object will be updated.

Change-Id: I64473dd960376b861eb50e3e5a1a296d0030e766
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
11 years agoUse the shared boilerplate code in the tweetsearch demo
Jan Kundrát [Tue, 16 Oct 2012 17:41:16 +0000 (19:41 +0200)]
Use the shared boilerplate code in the tweetsearch demo

Without the shared boilerplate code, the demo will not run unless the
application is launched from the directory containing the QML files. Also, it
improves consistency to use the same code as with the other examples.

Change-Id: Ic3bc358c13cdee4310aaaf7daf4c645c4709027e
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
11 years agoDoc: Changed the title to fix broken links
Venugopal Shivashankar [Mon, 15 Oct 2012 12:04:20 +0000 (14:04 +0200)]
Doc: Changed the title to fix broken links

Change-Id: I84bdb335980fdeae0c91021179ede19eae79e811
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
11 years agoRemove interim compatibility measures
Alan Alpert [Tue, 7 Aug 2012 01:26:37 +0000 (11:26 +1000)]
Remove interim compatibility measures

Also update some variables in qtdeclarative which failed to update
rootItem->contentItem.

Change-Id: Id34e29546a22a74a7ae2ad90ee3a8def6fc541d3
Reviewed-by: Alan Alpert <416365416c@gmail.com>
11 years agoFix crash in the qmlpuppet at finishing
Marco Bubke [Mon, 15 Oct 2012 13:22:08 +0000 (15:22 +0200)]
Fix crash in the qmlpuppet at finishing

Task-number: QTCREATORBUG-8042

Change-Id: I30a5b40d6441ea1631ba11a97b062720e70ddca8
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
11 years agoAdding DesignerWindowManager for Qt Quick Designer
Marco Bubke [Mon, 15 Oct 2012 10:31:40 +0000 (12:31 +0200)]
Adding DesignerWindowManager for Qt Quick Designer

DesignerWindowManager implements a render path just for
Qt Quick Designer, which is single threaded and does not
open visible windows.

Change-Id: I02b0d1b819a7a5391b9bb14ee6efa1a32e0c8ad7
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
11 years agoWe need to export QQmlVMEMetaObject to support the designer
Thomas Hartmann [Fri, 12 Oct 2012 09:42:34 +0000 (11:42 +0200)]
We need to export QQmlVMEMetaObject to support the designer

In the designer we need to access QQmlVMEMetaObject.

Change-Id: I36627c6ce1c2c27bef8dd85374b65a542b00d1ef
Reviewed-by: Aurindam Jana <aurindam.jana@digia.com>
Reviewed-by: Christiaan Janssen <christiaan.janssen@digia.com>
11 years agoUpdate docs after modularization of docs
Tor Arne Vestbø [Thu, 11 Oct 2012 13:33:51 +0000 (15:33 +0200)]
Update docs after modularization of docs

The global files now live in qtbase only, and are made available to the
other modules via the $QT_INSTALL_DOCS variable.

Change-Id: I131408e27fec5b722ac1dece8e1ccf421fdaad67
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
11 years agoFix imageelements example deployment
Topi Reinio [Thu, 11 Oct 2012 14:45:36 +0000 (16:45 +0200)]
Fix imageelements example deployment

Some of the .qml files were missing from INSTALLS

Task-number: QTBUG-26996
Change-Id: I9508ca3c43f354a16405af68dbca0133117ee2e2
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
11 years agoFix performance bottleneck in QQuickWindow::mouseMoveEvent().
Sérgio Martins [Fri, 7 Sep 2012 11:00:30 +0000 (12:00 +0100)]
Fix performance bottleneck in QQuickWindow::mouseMoveEvent().

When a mouse move event is received, a lot of time is spent looking
for items with cursors, recursively.

With this patch, it will only recur into item hierarchies that
contain cursors.

Not having cursors is much more common than having them.

Benchmark included:
Before: 15 msecs per iteration (total: 62, iterations: 4)
After: 0.000064 msecs per iteration (total: 68, iterations: 1048576)

Task-number: QTBUG-27054
Change-Id: I3a5441652ca1c0b8d2cbc5683013562174f5af4a
Reviewed-by: Alan Alpert <416365416c@gmail.com>
11 years agoAdd missing contents dir to installation of canvas example
Miikka Heikkinen [Tue, 9 Oct 2012 11:40:17 +0000 (14:40 +0300)]
Add missing contents dir to installation of canvas example

Task-number: QTBUG-26995
Change-Id: Ib346c857f9e0bc97bb2e4365abddb6475c7142d4
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
11 years agoRemove calculateHash function
Peter Varga [Tue, 25 Sep 2012 15:15:22 +0000 (17:15 +0200)]
Remove calculateHash function

This function has been moved into QtV8 module.

Change-Id: Ibc5b0a52bd158e8880a10300eb6b89b7f43db0f6
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
11 years agoFix QObject::receivers() within connectNotify()
Thomas McGuire [Fri, 28 Sep 2012 09:28:23 +0000 (11:28 +0200)]
Fix QObject::receivers() within connectNotify()

The receiver count needs to be correct in connectNotify() to be
compatible with ordinary connections.
Fix this and add test.

Change-Id: Icff0486dac49876b8c5d8836a85cff9284368a52
Reviewed-by: Alan Alpert <416365416c@gmail.com>
11 years agoIn tst_qqmlnotifier, verify the result of QObject::receivers()
Thomas McGuire [Thu, 27 Sep 2012 11:30:44 +0000 (13:30 +0200)]
In tst_qqmlnotifier, verify the result of QObject::receivers()

Change-Id: If7f93e51afc46c153a87d00a9d9913e0058a09e8
Reviewed-by: Alan Alpert <416365416c@gmail.com>
11 years agoUpdate regex related tests of QJSEngine
Peter Varga [Mon, 1 Oct 2012 16:18:59 +0000 (18:18 +0200)]
Update regex related tests of QJSEngine

Modify expected results based on ECMA-262 standard and current results
of JSC.

Task-number: QTBUG-27169
Change-Id: I705d474b2a62775860f6ff6eba8a0f6b28f50ff3
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
11 years agocrash fix in designersupport
Thomas Hartmann [Mon, 8 Oct 2012 08:34:09 +0000 (10:34 +0200)]
crash fix in designersupport

Unless result is an insert iterator, qCopy()
assumes that all iterators in the range
[result + (finish - start)] are dereferenceable.
This is not the case for an empty list.

Using foreach instead.

Change-Id: I2212a88e9b462ae2220ba5aeb43c662592cec57f
Reviewed-by: Marco Bubke <marco.bubke@digia.com>
11 years agoComplete QmlJSVisitor for UiParameterList
Thomas Hartmann [Mon, 1 Oct 2012 10:23:50 +0000 (12:23 +0200)]
Complete QmlJSVisitor for UiParameterList

QmlJS::Visitor was missing the visit for UiParameterList.

Change-Id: I3c2cb76b934059ebcef53c1a0faad3f239b33359
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Christian Kamm <kamm@incasoftware.de>
11 years agoBe more verbose about error when using shared.h for examples
Oliver Wolff [Thu, 4 Oct 2012 08:26:52 +0000 (10:26 +0200)]
Be more verbose about error when using shared.h for examples

Instead of just aborting the program it should at least give a hint
about what actually went wrong.

Change-Id: I4019b3c026ba1777905f457562bdc77e5c05df4f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
11 years agoDoc: Cleaned up Qt Quick module's titles and added them to group
Jerome Pasion [Wed, 3 Oct 2012 13:48:26 +0000 (15:48 +0200)]
Doc: Cleaned up Qt Quick module's titles and added them to group

-'qmlmodules' group contains the QML APIs in Qt

Change-Id: I797e6ee0c9e643a92b9e16d476c93b34e79d67d8
Reviewed-by: Geir Vattekar <geir.vattekar@digia.com>
11 years agoUse correct path to qml files when looking for them in examples
Oliver Wolff [Tue, 2 Oct 2012 09:45:13 +0000 (11:45 +0200)]
Use correct path to qml files when looking for them in examples

As executables might end up in different folders on different plaforms
when built, examples' shared.h should not rely on having the qml files
in the same folder as the executables. On Windows they end up in debug/
release by default, while they are put in foo.app/Contents/MacOs on Mac
if app_bundle is set in CONFIG.

Change-Id: If0cea4c186920eb4689d5941b6ff5f333d97c574
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
11 years agoFix emitting originYChanged signals even when originY wouldn't change
Gabriel de Dietrich [Thu, 16 Feb 2012 09:18:56 +0000 (10:18 +0100)]
Fix emitting originYChanged signals even when originY wouldn't change

Same for originXChanged.

Conflicts:
src/quick/items/qquickflickable.cpp
src/quick/items/qquickflickable_p_p.h

Change-Id: I1a316f326b924da4722b692cf27db48312fc9236
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
11 years agoFix in QmlJS parser for UiParameterList
Thomas Hartmann [Fri, 28 Sep 2012 15:35:21 +0000 (17:35 +0200)]
Fix in QmlJS parser for UiParameterList

The propertyTypeToken was not initilized in this case.
Not having the source location of this token leads to
bugs in the tooling. e. g.: QTCREATORBUG-7931

I also added the initializer for program keeping the parser
and the grammar in sync.

Change-Id: Id7bfb4b6dd1b9689e701a858b6c769d3addab5dc
Reviewed-by: Christian Kamm <kamm@incasoftware.de>
11 years agoAllow grabbing windows rendered without showing for testing.
Balazs Kelemen [Thu, 27 Sep 2012 10:24:25 +0000 (12:24 +0200)]
Allow grabbing windows rendered without showing for testing.

To make QQuickWindowPrivate::setRenderWithoutShowing more useful
for autotesting we can allow grabbing such windows. This is safe
if the platform window have been created and the window has a valid
size.

Change-Id: I8b9a2aaeb93935f662b75ef29651730b890441d5
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
11 years agoFix potential crash when using text and more than 1 QQuickView
Eskil Abrahamsen Blomfeldt [Mon, 6 Aug 2012 09:51:09 +0000 (11:51 +0200)]
Fix potential crash when using text and more than 1 QQuickView

We need to use a resource guard for the FBO in case there is no
current context when the glyph cache is deleted.

This reverts commit b3264e2cb6a8fe87754aa1335ab9f8d5e3910c14 which
was implemented as a band-aid for this crash.

Change-Id: I5b3a09a3998da38836ea851cd0978d3ddadcd2cc
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
11 years agoFix a crash in QQmlPropertyCache::findProperty
Jocelyn Turcotte [Thu, 27 Sep 2012 14:56:03 +0000 (16:56 +0200)]
Fix a crash in QQmlPropertyCache::findProperty

When the top type of a QML component is a C++ type registered with
qmlRegisterExtendedType, its QObjectPrivate::metaObject is already a
QQmlProxyMetaObject that gets chained as the parent of the
QQmlVMEMetaObject of the component.

When QQmlPropertyCache::findProperty iterates over the parents chain
of a child item, our QQmlProxyMetaObject eventually gets static_casted
to QQmlVMEMetaObject and causes a crash.

This patch implements a poor man's dynamic_cast in
QQmlVMEMetaObject::parentVMEMetaObject to fix the crash. Other casts
of parent.asT1() are changed to use parentVMEMetaObject as well even
though in those cases the static_cast is guaranteed by the context.

Task-number: QTBUG-27334
Change-Id: I5982fc273ccf466960ce54974cff5662e6ab605a
Reviewed-by: Matthew Vogt <mattvogt2@gmail.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoExamples: Fix calcqlatr.qmlproject
Kai Koehne [Fri, 28 Sep 2012 07:17:06 +0000 (09:17 +0200)]
Examples: Fix calcqlatr.qmlproject

Change-Id: I6a88f4f5c774962ad6c022954e0070d2a2eaadbd
Reviewed-by: Christiaan Janssen <christiaan.janssen@digia.com>
11 years agoAdded lancelot-based scenegraph rendering regression test
aavit [Fri, 7 Sep 2012 11:29:53 +0000 (13:29 +0200)]
Added lancelot-based scenegraph rendering regression test

Change-Id: I6718d00ba96dc9c96dac82de4ded9228f6bfb990
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
11 years agoUpdate qMetaType helpers usage.
Jędrzej Nowacki [Fri, 21 Sep 2012 13:28:01 +0000 (15:28 +0200)]
Update qMetaType helpers usage.

QtDeclarative is using private meta type api to register custom types,
but the helper functions were updated to a new signature.

Change-Id: I467b283b5b1ccdad8ebd1a2bb651e8ad59b9c55d
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
11 years agoHTML template: Updated copyright notice from Nokia to Digia Plc
Jerome Pasion [Tue, 25 Sep 2012 10:07:34 +0000 (12:07 +0200)]
HTML template: Updated copyright notice from Nokia to Digia Plc

Change-Id: I0656a4331e3a6f6a6a527500565c73f50b61f8d1
Reviewed-by: Martin Smith <martin.smith@digia.com>
11 years agoDoc: Removed the verbs from the page and section titles
Venugopal Shivashankar [Wed, 26 Sep 2012 10:07:19 +0000 (12:07 +0200)]
Doc: Removed the verbs from the page and section titles

Change-Id: I9f8b98e40340a5f871f7a66a3d7ea63675e21d34
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
11 years agoWork around mis-optimisation on QNX/SGX in AA vertex shader
Sean Harmer [Mon, 24 Sep 2012 12:08:16 +0000 (13:08 +0100)]
Work around mis-optimisation on QNX/SGX in AA vertex shader

The new AA algorithm which is implemented in the vertex shader of
SmoothColorMaterialShader and SmoothTextureMaterialShader exposes
a driver bug in the glsl compiler/optimiser for the GPU used in
the BlackBerry PlayBook.

The bug results in the if (scale < 0.0) scale = 1.0 code always
being executed even when the condition is false. This leads to
massive corrupion of Image, Rectangle, and BorderImage elements
when the antialiasing property is enabled.

This commit works around the compiler bug by refactoring the
vertex shader to explicitly include an else clause. The check for
negative values is now performed on the numerator only as the
denominator is dot(dir, dir) which is always positive (square of
magnitude of dir vector).

This gives the correct behaviour on all platforms (that I have
access to).

Change-Id: I236542c9b59ff2915e95cbd9300b442be316bba9
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>