summaryrefslogtreecommitdiffstats
path: root/bin/syncqt
Commit message (Collapse)AuthorAgeFilesLines
* de-duplicate codeOswald Buddenhagen2012-08-281-26/+18
| | | | | Change-Id: Ic3f2bfeb5a16da86b1cd471b55dfc79f12dfadee Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* syncqt: parse classes that use Q_DECL_FINAL|final|sealedMarc Mutz2012-08-261-1/+2
| | | | | | | | | | | | I've introduced a variable $post_kw (post-class-keywords) that contains the patterns which are expected after a class name. This variable is used both for a negative look-ahead assertion in the class-name capture (so the regex doesn't parse the keywords as the class-name), as well as to carry the parser over the keywords into the subclass clauses. Change-Id: Ia534ca01a511e1c773d007f1b0b4f448e8d009d0 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Skip doc subfolders when checking includes.Lars Knoll2012-08-011-1/+2
| | | | | | | | | This removes the bogus warnings when running syncqt from configure about snippets in the doc/ folders. Change-Id: I8e3d258238c1cd1e763ce63b895d58b68bbc06f3 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* make sure that the stale header removal works the first time aroundOswald Buddenhagen2012-07-271-1/+1
| | | | | | | | | | sort backwards by ascii, so that the lowercase headers come first - otherwise the camelcase headers would survive the first round, as they include the lowercase forwarding headers which were not deleted yet. Change-Id: Iece2788206d31a11428f38da8d8f9f4d0b6dc992 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* generate the module version header directly in the include directoryOswald Buddenhagen2012-07-181-3/+7
| | | | | | | | | ... instead of having a forward from the include dir to the (shadowed) source dir of the module. Change-Id: I967227950e8aeb1b9f62befbf9fff3746a0486b6 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* remove support for forwarding module pri creation via syncqtOswald Buddenhagen2012-07-161-40/+0
| | | | | | | | | now that all modules have migrated, this dead code can be removed. Change-Id: I5e9c7dd3fb271346d1b5f0e2930874da3e4d2d57 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com> Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* Make QWindowSystemInterface part of QPA APIGirish Ramakrishnan2012-07-031-2/+12
| | | | | | | | | | | | | | | As discussed on mailing list and QtCS 2012. Any file starting with qwindowsystem is now marked as QPA API. This change drops _qpa from the filenames and adds gui-private where required for the code to compile. This change is backward compatible otherwise and compat headers are created for the old inclusion headers. Change-Id: I72ea0f394dee74f46e614fcf11ab5500ac9fef2a Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* let default_pre add modules to the qmake pathOswald Buddenhagen2012-06-191-16/+0
| | | | | | | | | | | | | | that way qmake is made aware of the forwarding pris which are generated for this module even when a top-level .qmake.cache prevents the module's root from being found automatically. the path is also added to the cache, so that subsequent partial qmake-ing of the tree will still find the module. this also makes the -cache-module-fwd parameter of syncqt useless, so remove it. Change-Id: I2afbc52a465c0b3260e9bcaf032c43a82ae8061f Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* move generation of module master headers to qt_module_headersOswald Buddenhagen2012-06-191-80/+2
| | | | | | | | | this has the advantage that the %mastercontent assignments in sync.profile are not necessary any more. as it happens, most modules got them wrong anyway. Change-Id: Ibdf689be408f18e1d90c44ef4ecacd7c24b1f1c9 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* make master phonon compat header a forwarding headerOswald Buddenhagen2012-06-191-1/+6
| | | | | | | | instead of writing the same file twice, just forward to the compat header, like it is done for every other header. Change-Id: I8c908f80149aff4720cca6d51ab5b550c31f78b1 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* do not route qtmodule-configtests invocation through syncqtOswald Buddenhagen2012-06-191-24/+0
| | | | | | | there is completely no reason to do it. Change-Id: Ie186ef4c1bbd12c256acb2fe374d12ebe777d6c9 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* auto-generate module prisOswald Buddenhagen2012-06-191-18/+18
| | | | | Change-Id: I654428771034221ccf424be34d5d9c7764daf3b4 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* move creation of module version header to qt_module_headersOswald Buddenhagen2012-06-191-44/+0
| | | | | Change-Id: I650b495ec1789eb03b31d796f9f475ba01aab2d3 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* create module version headers in build dir, not source dirOswald Buddenhagen2012-06-191-1/+2
| | | | | Change-Id: I07bf4dbeba2d35284ecf55542f9cd457b2e49b80 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* make %inject_headers a per-module config valueOswald Buddenhagen2012-06-191-2/+2
| | | | | | | | it's module-specific. on the way, fix it to actually support multiple files. Change-Id: I796b0e98e38a54754022e0e2fa48cecb54d06ff4 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* automatically add the module version headers to %classnamesOswald Buddenhagen2012-06-191-0/+2
| | | | | Change-Id: I7706a0d54e704320e9e1e480b387e46417739ccf Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* make sure that forwards for injected headers are not garbage-collectedOswald Buddenhagen2012-06-191-1/+16
| | | | | | | | | qmake-generated version headers don't exist yet at the time syncqt runs, so the forwarding headers would be deleted - just to be re-created a moment later, thus changing the timestamp for no good reason. Change-Id: I1b4c2f05f57c2315adf4b8dd726ea413ede1be5b Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* fix status output for generated headersOswald Buddenhagen2012-06-191-3/+9
| | | | | Change-Id: I92c250037eb1b1838998cddbaea6ca065153e86e Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* generate fwd-pris in qt_module_config, not in syncqtOswald Buddenhagen2012-06-191-1/+1
| | | | | | | | the forwarding pri is loaded even if it was still created by syncqt, so a top-level qmake -r will still catch it even in the future. Change-Id: I2e4b556cd06eb88be9ee378662a2e6e1bff67ad7 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* write forwarding pris to $outpath/mkspecs/modulesOswald Buddenhagen2012-06-191-4/+1
| | | | | | | | | | this makes qmake find them automatically now. consequently, also do not write QMAKE_EXTRA_MODULE_FORWARDS to .qmake.cache. still write the cache file, though, as otherwise a top-level cache would mess up the module root detection. Change-Id: I998b94fcc73ca3f8bf1af09a394ff8d40cf1fb76 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* move $QTDIR handling out of syncqtOswald Buddenhagen2012-06-191-6/+1
| | | | | | | | | instead, always pass -qtdir (which, btw, is a slight misnomer - it should be -qtdatadir) with the correct path. this centralizes the relevant logic in default_pre.prf. Change-Id: Icc788d3f3e5f7b68b444e63e181efdea3b4ef160 Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* rewrite fixPaths()Oswald Buddenhagen2012-06-191-41/+12
| | | | | | | | | now the phonon paths are actually normalized. just relying on File::Spec for the path relativization, so the code is much shorter. Change-Id: I69d6bac73e366ed0f754e1282a375871ce5559c4 Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* remove dead variableOswald Buddenhagen2012-06-191-1/+0
| | | | | Change-Id: Ic37c2a0da6346f044df10c7d8b5ee1a95efcc29c Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* make syncqt work with MSys Perl and MSVCJoerg Bornemann2012-06-011-14/+34
| | | | | | | | | | | | | | | | | | | | | | The common root dir detection was broken, because of an inconsistent root drive path style: <srcbase> = /c/dev/qt/5.0/qtbase <outbase> = C:/dev/qt/5.0/qtbase Now we don't need ActivePerl anymore. The Perl that comes with msysgit is enough. After every Perl function call that returns a file path we need to normalize it to bring it into a form that can be used by - Perl functions that take a path as parameter, - C++ sources as include file path, - qmake's .pro files as include file path. Task-number: QTBUG-25912 Change-Id: If1cf56cc7246a9d6535cd3867222f225d1617712 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Fix qpa legacy headers installationGirish Ramakrishnan2012-05-091-7/+7
| | | | | | | | | | | | | | | | syncqt is run twice when using the top level configure (as in the CI system). The pri_install_files and pri_install_pfiles variables are not populated if the file already exists when generating the compatibility headers. Therefore, headers.pri ends up with different content in each syncqt run. In the first run, the compatibility headers are part of SYNCQT.HEADER_FILES. In the second run, they are not part of it since the header files already exist. Change-Id: I4908fb934a639a3c9f6af1796d56a40fd4df2d50 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com>
* Fix qpa files installationGirish Ramakrishnan2012-05-081-0/+6
| | | | | | | qpa header files were not installed under qpa/. Change-Id: I243c3a7e83a342f7485791a1a29b65c9a8f25d6b Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* Expose QPA API under qpa/*Girish Ramakrishnan2012-05-071-2/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The main reasons for doing this are: 1. _qpa.h end up in the master QtGui include file. QtGui is meant for userland applications. qpa code is neither binary nor source compatible. Inadvertant use of QPA api makes the user code binary-incompatible. 2. syncqt creates forwarding headers for non-private header files. This gives people the impression that this is public API. As discussed on the mailing list, even though QPA api is internal and subject to change, it needs to treated differently from private headers since they will be used by in-qtbase and out-of-qtbase plugins. This commit does the following: 1. The _qpa in QPA header files is dropped. 2. syncqt now treats any file with qplatform prefix as a special file and moves it to qpa/ directory. The recommended way of using QPA API in plugins is: #include <qpa/qplatformfoo.h>. This allows the user include QPA API from multiple modules (for example, qplatformfoo might be in QtPrintSupport) 3. The user needs to explicitly add QT += <module>-private to get access to the qpa api. 4. Creates compat headers for the olden style qplatformfoo_qpa.h and QPlatformFoo includes. This commit does not change the cpp filenames. This requires a more careful merging of existing non qpa cpp files and existing cpp files on a case by case basis. This can be done at anytime. The following files are not renamed as part of this changed but will be fixed as part of a future change: src/gui/kernel/qgenericpluginfactory_qpa.h src/gui/kernel/qgenericplugin_qpa.h src/gui/kernel/qwindowsysteminterface_qpa.h files were renamed using for x in `find . -name "qplatform*_qpa.h"`; do git mv $x "${x/_qpa.h/.h}"; done for x in `find . -name "qplatform*_qpa_p.h"`; do git mv $x "${x/_qpa_p.h/_p.h}"; done includes were renamed using script for file in `find . -name "*.h" -or -name "*.cpp" -or -name "*.mm"`; do sed -i -e 's,.*#.*include.*<\(Qt.*/\)\?\(QPlatform.*\)>,#include <qpa/\L\2.h>,g' \ -e 's,.*#.*include.*"\(Qt.*/\)\?\(QPlatform.*\)",#include <qpa/\L\2.h>,g' \ -e 's,.*#.*include.* "\(qplatform.*\)_qpa.h",#include <qpa/\L\1.h>,g' \ -e 's,.*#.*include.*"\(qplatform.*\)_qpa_p.h",#include <qpa/\L\1_p.h>,g' \ -e 's,.*#.*include.*<\(Qt.*/\|Qt.*/private/\|private/\)\?\(qplatform.*\)_qpa\(.*\)>,#include <qpa/\2\3>,g' \ -e 's,.*#.*include.*"\(Qt.*/\|Qt.*/private/\|private/\)\?\(qplatform.*\)_qpa\(.*\)",#include <qpa/\2\3>,g' \ $file done Change-Id: I04a350314a45746e3911f54b3b21ad03315afb67 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
* Ignore moduledir/doc in syncqtLars Knoll2012-04-171-0/+3
| | | | | | | | | | | | When modularizing our documentation, module level documentation is supposed to go into a doc subfolder in the modules sources. Since this folder also contains header files (snippets), we need to ignore it in syncqt. Change-Id: If8159816b042a1a6c810eaa0b6dbd99bf58d8ffa Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Fixed syncqt to ignore all lines that define Qt namespaceDenis Dzyubenko2012-04-111-1/+1
| | | | | | | | | | | That includes non-standard macroses for QtAddOns, e.g. for QtJsonDb addon the macro looks like QT_BEGIN_NAMESPACE_JSONDB - by default syncqt doesn't recognize the macro and concantenates it with the next line in the header file, which breaks forward include generation if that next line is the class definition. Change-Id: Ia269f8a091113e4951d6a2615ef392b21bd5e3a3 Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* Report failure to open deprecated header fileMatthew Vogt2012-02-231-2/+2
| | | | | | | | | If a deprecated header file is not writable, report the error message. The existing error message statement is not processed due to an operator precedence issue. Change-Id: Ifb2d4e234c64e560d05c021c621966bce19ce215 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Ensure the directory exists to receive a deprecated header.Matthew Vogt2012-02-201-0/+3
| | | | | | | | | When creating a deprecated header, create the directory it will be located in, if it does not yet exist. Change-Id: Id0ac7327e7dfe5b3e34b431c7bc3844b72251a3d Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* make locateSyncProfile() a "tad" less convolutedOswald Buddenhagen2012-02-101-13/+5
| | | | | | Change-Id: I261b6c6b42bed576edb8a1d8420da19d34bd87a1 Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* Revert "Put the generated <module>version.h into build tree"Bradley T. Hughes2012-02-011-22/+5
| | | | | | | | | After discussion with Liang, I'm reverting it as he requested. This change put every header into the SYNCQT.HEADER_FILES twice for in-source builds, and the qtMODULEversion.h header did not include a path component. This reverts commit 2fbc45b58bba860abf67fb28aa1319c9f4ededaf Change-Id: Ie84cef19193ce5e49072f1f67a41140d9d2673b8 Reviewed-by: Liang Qi <liang.qi@nokia.com>
* Remove "All rights reserved" line from license headers.Jason McDonald2012-01-301-1/+1
| | | | | | | | | | As in the past, to avoid rewriting various autotests that contain line-number information, an extra blank line has been inserted at the end of the license text to ensure that this commit does not change the total number of lines in the license header. Change-Id: I311e001373776812699d6efc045b5f742890c689 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Put the generated <module>version.h into build treeLiang Qi2012-01-281-5/+22
| | | | | | | | | It was put in source tree before. Task-number: QTBUG-20439 Change-Id: Ib52d9c2e83ae375aad259ddc74138bbc728b3ed0 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Added $publicclassregexp variable to sync.profileDenis Dzyubenko2012-01-271-3/+8
| | | | | | | | | | | | $publicclassregexp specifies the prefix for Qt classes in a qt5 module. For example in QtJsonDb all classes have "JsonDb" prefix and forward include headers were not generated properly - e.g. "jsondb-client.h" was generated in the include folder, but "JsonDbClient" (which matches class name) was not. Change-Id: I6b57a799d926254e2ab3fd00fa6e38f95b8eb96c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com> Reviewed-by: Prasanth Ullattil <prasanth.ullattil@nokia.com>
* remove bogus commentOswald Buddenhagen2012-01-271-4/+0
| | | | | | | Change-Id: Ibd2d974ac46f80953f628e8d7c93e742e4c8eb23 Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Jonas Gastal <jgastal@profusion.mobi> Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* delete handling of dead -base-dir argumentOswald Buddenhagen2012-01-271-4/+0
| | | | | Change-Id: I4f69ea213f996f99d2ad8b00efbaf85882e59e27 Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* fix grammar in error messageOswald Buddenhagen2012-01-261-1/+1
| | | | | | Change-Id: I3fe4e0fa6da1467a4572e7f1dec1be7294632e34 Reviewed-by: Jonas Gastal <jgastal@profusion.mobi> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* use warnings instead of -wOswald Buddenhagen2012-01-261-1/+2
| | | | | | | | that way invocation via perl (c.f. syncqt.bat) does not need options. Change-Id: I5d8e0d1f0ffe1b7cf280fe97d4f70968a3dbbb22 Reviewed-by: Giuseppe D'Angelo <dangelog@gmail.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Remove use of QT_MODULE from libraryGunnar Sletta2012-01-251-8/+0
| | | | | | | | | | These defines were there to aid in the commercial licensing scheme we used long ago, and are no longer needed. Keep a QT_MODULE(x) define so other modules continue compiling. Change-Id: I8fd76cd5270df8f14aee746b6cf32ebf7c23fec7 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Update contact information in license headers.Jason McDonald2012-01-231-1/+1
| | | | | | | Replace Nokia contact email address with Qt Project website. Change-Id: I431bbbf76d7c27d8b502f87947675c116994c415 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Update copyright year in license headers.Jason McDonald2012-01-051-1/+1
| | | | | Change-Id: I02f2c620296fcd91d4967d58767ea33fc4e1e7dc Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* syncqt: fixed QT_MODULE_BASE when build path != install pathRohan McGovern2011-12-061-1/+1
| | | | | | | | | | | | | | | QT_MODULE_BASE is exclusively used to refer to the top-level source directory of a module. However, in non-developer-build mode (used only when the build path is not equal to the install path), syncqt would incorrectly set the value of QT_MODULE_BASE to the build directory. This caused all $$QT.<module>.sources variables to point to the wrong place. Make it always point to the source directory. Change-Id: I401cf000f9e3a4ab97d68db40330bb98aec25a9a Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* syncqt: Create deprecated headers that work with MSVCKent Hansen2011-12-021-1/+5
| | | | | | | | | MSVC doesn't understand the #warning directive; use #pragma message instead. Change-Id: I42fe43269f5a84559a983932737c9eeb6b74b1ff Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Add deprecated headers support to syncqtKent Hansen2011-11-291-1/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | When renaming classes, or when moving classes from one module to another, it's useful to have a simple way of supporting the old API/location for some time. To this end, syncqt shall now recognize a "deprecatedheaders" section in sync.profile. It looks like this: %deprecatedheaders = ( "QtDeclarative" => { "qquickcanvas.h" => "QtQuick2/qquickcanvas.h", "qquickitem.h" => "QtQuick2/qquickitem.h", "QQuickCanvas" => "QtQuick2/QQuickCanvas", "QQuickItem" => "QtQuick2/QQuickItem", } ); In the above example, syncqt would generate a header called qquickcanvas.h for the QtDeclarative module; when included, this header will issue a warning and include <QtQuick2/qquickcanvas.h>. And so on, for the other entries. Deprecated headers are installed along with the module's normal headers. Change-Id: Ie2518b42275c2b2ff44216f07d376ccf5be6dc45 Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* syncqt: Don't generate deprecated forwarding headers anymoreTor Arne Vestbø2011-11-241-28/+0
| | | | | | | | | The forwarding headers in 'include/Qt' were deprectated in Qt 4. This is Qt 5, so time to remove them. Change-Id: I4bf3797475b91f58af1761ed4165b552613299b3 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Add a new handler to syncqt for explicitly dealing with special case headersKevin Simons2011-11-141-3/+17
| | | | | | Change-Id: I83b26fc88aee0052502c0a4d385ea97f8c933c66 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* Teach syncqt to handle multiple %moduleheaders directoriesTor Arne Vestbø2011-10-201-135/+142
| | | | | | | | Each directory is separated by a ';'. The syntax was chosen over the regular perl [] syntax as ';' was used already in other places. Change-Id: I7a07a1facb7c08d7a9de6ec45ad57f6057cb0150 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Prevent 'Argument "" isn't numeric' warning when module version is missingTor Arne Vestbø2011-10-111-7/+7
| | | | | | | Change-Id: I2ecef7060c1e436e499221cac03266744a9ee309 Reviewed-on: http://codereview.qt-project.org/6432 Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Liang Qi <liang.qi@nokia.com>