summaryrefslogtreecommitdiffstats
path: root/src/tools
Commit message (Collapse)AuthorAgeFilesLines
* Update licenseheader text in source filesJyri Tahtela2011-05-1376-1297/+1297
| | | | | | | Updated version of LGPL and FDL licenseheaders. Apply release phase licenseheaders for all source files. Reviewed-by: Trust Me
* fix random miscompilation with msvcOswald Buddenhagen2011-05-061-0/+1
| | | | Reviewed-by: joerg
* Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-qml into qtquick11Martin Jones2011-01-1976-76/+76
|\
| * Update copyright year to 2011.Jason McDonald2011-01-1076-76/+76
| | | | | | | | Reviewed-by: Trust Me
* | Allow a revision to be associated with properties and methods.Martin Jones2011-01-058-14/+141
|/ | | | | | | | | | | | | | | | | | | Allows a revision to be associated with properties via: Q_PROPERTY(int prop READ prop1 REVISION 1) Allows a revision to be associated with methods via either: public slots Q_REVISION(1): void method1(); or: public slots: Q_REVISION void method1(); Private revision() methods are added to QMetaProperty and QMetaMethod to access the revision info. This is private API for use by QML for now. Task-number: QTBUG-13451 Reviewed-by: Kent Hansen
* Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2010-09-086-21/+52
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1: (27 commits) Work around a compiler bug on 64-bit. Fix handling of braces/no-braces in QUrl::host / setHost. Changes (and minor corrections) to QByteArray documentation. QtWebKit: Update tag files to match the same content on qtwebkit.git QtWebKit: Downstream patch 2 fixing a crash on MSVC 64bit. QtWebKit: Downstream patch 1 fixing a crash on MSVC 64bit. uic: Fix compile breakage in case QT_NO_QT3_SUPPORT. uic: Improve messages. Tools (uic/rcc): Improve warning messages. QDir: Removed checks for existance of fileEngine QDir and QFileInfo shouldn't lose properties when detaching Another bug-o introduced in fixing QDirPrivate refactoring Reverting QDir::detach introduced earlier QFileInfo: Prepare for engine-less implementation Removed QFileInfoPrivate::initFileEngine Simplify QDir::cd QDir::makeAbsolute could self-destruct on failure QDir::operator= simplification QDirPrivate refactoring QDirPrivate refactoring ...
| * uic: Fix compile breakage in case QT_NO_QT3_SUPPORT.Friedemann Kleint2010-09-081-1/+1
| |
| * uic: Improve messages.Friedemann Kleint2010-09-071-6/+8
| | | | | | | | | | Fix some oversights in b21639304b108de0697553f062eb36ccde6a5bd5.
| * Tools (uic/rcc): Improve warning messages.Friedemann Kleint2010-09-076-19/+48
| | | | | | | | | | | | | | | | | | Output as 'filename: Warning: message' and make some uic warnings more verbose to make Qt Creator parsing easier. Fix resource warning in Qt Designer. Reviewed-by: dt Rubber-stamped-by: Tobias Hunger <tobias.hunger@nokia.com>
* | Merge remote branch 'origin/4.6' into qt-4.7-from-4.6Thiago Macieira2010-09-071-1/+2
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | Conflicts: qmake/Makefile.win32 src/corelib/io/qfsfileengine_win.cpp src/corelib/kernel/qeventdispatcher_win.cpp src/gui/dialogs/qfiledialog_win.cpp src/gui/inputmethod/qcoefepinputcontext_s60.cpp src/gui/text/qfontdatabase_win.cpp src/gui/util/qsystemtrayicon_win.cpp src/script/utils/qscriptdate.cpp tests/auto/qinputcontext/tst_qinputcontext.cpp tests/auto/qscriptengine/tst_qscriptengine.cpp
| * Ensure that we load system libraries from the correct location.Jan-Arve Sæther2010-09-031-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | moc: Error if the NOTIFY signal is invalid.Olivier Goffart2010-08-193-48/+59
| | | | | | | | | | | | | | | | Previously, an invalid NOTIFY signal would be silently ignored. Now it throws an error Reviewed-by: Joao Task-number: QTBUG-7684
* | Correcting spelling mistakes in documentation. Part of fix for QTBUG-11938.Jerome Pasion2010-08-091-1/+1
| | | | | | | | | | Reviewer: David Boddie Task number: QTBUG-11938
* | moc: Slot with complex template default value does not compileOlivier Goffart2010-07-191-1/+21
| | | | | | | | | | | | | | | | | | | | | | | | The way we detect the end of a default argument does not take in account template parametter. It is unfortunatelly not trivial to do it properly without semantic information So we will use heuristics and if the number of < matches the number of > we consider it is a template. Or if we have a '=' we consider it is not a template. Task-number: QTBUG-12260 Reviewed-by: Roberto Raggi
* | Consolidate zlib configuration redundancyMark Brand2010-07-021-19/+2
| | | | | | | | | | Merge-request: 715 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt into qt-4.7-from-4.6Simon Hausmann2010-06-162-2/+7
|\ \
| * | Updated project files so it is now possible to use "-system-zlib" ↵Constantin Makshin2010-06-102-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | configuration option on Windows and Symbian platforms. Improved support of "-system-jpeg" "-system-mng" "-system-png" and "-system-tiff" configuration options on Windows (thanks to Mark Brand <mabrand@mabrand.nl>) Merge-request: 2411 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* | | Merge branch '4.6' of scm.dev.nokia.troll.no:qt/qt into qt-4.7-from-4.6Simon Hausmann2010-06-151-4/+3
|\ \ \ | |/ / |/| / | |/
| * fix detection of header filesDavid Fries2010-06-141-4/+3
| | | | | | | | | | | | | | | | | | | | | | Disable the include generation iff a dot which is not followed by [hH] is found after the last path separator. This implies that dots in directory names are now ignored, and that files without an extension are always considered headers (e.g., STL headers and Qt forwarding headers). Task-number: QTBUG-11369 Merge-request: 686 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* | fix escaping - by not using evalOswald Buddenhagen2010-05-271-8/+8
| | | | | | | | | | the left-hand-side of qmake assignments is expanded, so there is no need to use eval.
* | Allow building Qt without the QtGui moduleBernhard Rosenkraenzer2010-04-071-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds a -no-gui switch to configure, allowing to build Qt without QtGui and components depending on QtGui. This is useful on headless servers, and in using QtCore, QtNetwork, QtXml, QtSql etc. on platforms QtGui hasn't been ported to yet. Task-number: QTBUG-4007 Merge-request: 543 Reviewed-by: Thiago Macieira <thiago.macieira@nokia.com> Reviewed-by: Benjamin Poulain <benjamin.poulain@nokia.com>
* | uic3: -extract: Write XPM-images correctly.Friedemann Kleint2010-03-268-7/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add magic header '/* XPM */' and turn off wrapping of lines that broke image readers. Add a command line option to activate line-wrapping in case someone exclusively wants to use the extracted images for embedding in code. Also do line-wrapping in case images are embedded into the ui-file. Note: The current versions of MSVC do not seem to have a limitation of line lengths any more. Task-number: QTBUG-9207 Reviewed-by: Jarek Kobus <jkobus@trolltech.com>
* | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2010-03-224-5/+10
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1: (78 commits) Moc: Add support for rvalue references in signals and slots. Add support for polyphonic greek Fix build failure on WinCE. Autotests: if you use X11 libs, you must link to X11 libs explicitly. Disable C++0x mode for QtWebKit and QtScript since WebKit will not compile any time soon with C++0x Compile Phonon in C++0x mode. Compile Qt in C++0x mode. Avoid a data relocation by not trying to store a pointer in the .data section of plugins. Fix cast-from-ascii warning Fix compilation on Linux Fix compilation with WINSCW: #include doesn't find files in the same dir Rename m_volume to m_vol Add 2 signals, introduce side widget, make it possible to reset startId Do not create native window handle just because a parent has one. Tab color fix for document mode on Snow Leopard. Revert "Don't emit open signal on session close/error." Rename networkAccess property to networkAccessible. Don't emit open signal on session close/error. Rename private signal. Autotest: fix instability by accepting rounding errors ...
| * | Moc: Add support for rvalue references in signals and slots.Thiago Macieira2010-03-222-3/+8
| | | | | | | | | | | | Reviewed-By: Simon Hausmann
| * | Merge remote branch 'origin/4.7' into oslo-staging-1Aaron McCarthy2010-03-193-4/+23
| |\ \ | | | | | | | | | | | | | | | | Conflicts: mkspecs/common/symbian/symbian.conf
| * | | Force qt-zlib to be used for host system when cross compiling.Zeno Albisser2010-03-172-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is no possibility to define which zlib should be used for the bootstrapped tools when cross compiling. Therefor we will force qt-zlib to be used for bootstrapped tools. Reviewed-by: Marius Storm-Olsen Task-number: QTBUG-8678
* | | | Merge branch '4.6-s60' into 4.7-s60axis2010-03-227-28/+97
|\ \ \ \ | |_|/ / |/| | / | | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure.exe mkspecs/common/symbian/symbian.conf src/gui/graphicsview/qgraphicswidget.h src/gui/kernel/qapplication.cpp src/gui/text/qtextlayout.cpp src/openvg/qpixmapdata_vg.cpp src/s60installs/s60installs.pro tools/runonphone/main.cpp tools/runonphone/serenum_unix.cpp qtextlayout.cpp fixed up together with Eskil. Kept the configure.exe from 4.7 without recompile.
| * | Implement Q_PRIVATE_PROPERTY that allows you to declare propertiesAlexis Menard2010-03-197-28/+97
| | | | | | | | | | | | | | | | | | | | | | | | where the read/write are in the d pointer. Works like Q_PRIVATE_SLOT. Reviewed-by:olivier Reviewed-by:akennedy Reviewed-by:warwick allison
* | | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-publicaxis2010-03-111-1/+0
|\ \ \ | | |/ | |/| | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/common/symbian/symbian.conf qmake/generators/makefile.h qmake/project.cpp src/3rdparty/webkit/WebCore/WebCore.pro src/src.pro
| * | Remove the OBJECTS_DIR variable assignment from some projets in Qt.Jocelyn Turcotte2010-03-041-1/+0
| | | | | | | | | | | | | | | | | | | | | This prevent debug and release object file to be mixed up when linking these application in a debug_and_release configured Qt. Reviewed-by: Marius Storm-Olsen
* | | Added Symbian def file support to Linux build system.axis2010-03-082-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This also switches the official def file variable in qmake profiles to DEF_FILE. Support for freezing def files was also added, but needs more work and is therefore disabled for now. Task: QTBUG-7510 Task: QTBUG-8052
* | | Implemented recursive "sis" target and enabled sis_targets feature.axis2010-02-232-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The sis target will depend on the main build target of each project, which should make it possible to simply run "make sis" in the root of a clean tree (after configure, of course), and have sis packages generated for everything. It works at least for Qt. This required some changes to the dependency generation in Qt, to make sure that s60installs builds its package after all of Qt, and that fluidlauncher has all the required files before building a package. In addition, all the sis target code was moved into its own qmake feature file, called sis_targets. It is currently enabled by default for Symbian.
* | | Merge branch 'master' of scm.dev.nokia.troll.no:qt/qt-s60-publicaxis2010-02-161-1/+1
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure mkspecs/common/symbian/symbian.conf mkspecs/features/symbian/application_icon.prf qmake/generators/makefile.cpp qmake/generators/symbian/initprojectdeploy_symbian.cpp qmake/generators/symbian/symmake.cpp tools/assistant/tools/assistant/assistant.pro
| * | Merge remote branch 'qt/4.6' into qt-master-from-4.6Qt Continuous Integration System2010-02-091-2/+3
| |\ \ | | |/ | | | | | | | | | | | | Conflicts: src/gui/kernel/qcocoapanel_mac.mm src/gui/kernel/qcocoasharedwindowmethods_mac_p.h
| * | Merge remote branch 'origin/4.6' into qt-master-from-4.6Olivier Goffart2010-02-044-8/+10
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: examples/assistant/simpletextviewer/findfiledialog.cpp qmake/generators/symbian/symmake.cpp tools/assistant/lib/qhelpgenerator.cpp tools/assistant/lib/qhelpsearchquerywidget.cpp translations/translations.pri
| * \ \ Merge branch '4.6'Thiago Macieira2010-01-215-42/+42
| |\ \ \ | | | | | | | | | | | | | | | | | | | | Conflicts: tools/assistant/lib/qhelpsearchquerywidget.cpp
| * \ \ \ Merge branch '4.6'Thiago Macieira2010-01-1376-81/+96
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: bin/syncqt doc/src/deployment/deployment.qdoc src/corelib/io/qfsfileengine_win.cpp src/corelib/xml/qxmlstream.cpp src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h tools/assistant/tools/assistant/centralwidget.cpp tools/linguist/lupdate/main.cpp
| * \ \ \ \ Merge branch '4.6'Thiago Macieira2010-01-081-3/+4
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/io/qfsfileengine.cpp src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp src/opengl/opengl.pro
| * \ \ \ \ \ Merge branch '4.6'Thiago Macieira2009-12-261-11/+0
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: examples/webkit/fancybrowser/main.cpp src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp tools/assistant/tools/assistant/bookmarkmanager.cpp
| * \ \ \ \ \ \ Merge branch '4.6'Thiago Macieira2009-12-021-1/+2
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/global/qglobal.h src/gui/dialogs/qfiledialog_win.cpp src/plugins/qpluginbase.pri src/qbase.pri tests/auto/selftests/expected_cmptest.txt tests/auto/selftests/expected_crashes_3.txt tests/auto/selftests/expected_longstring.txt tests/auto/selftests/expected_maxwarnings.txt tests/auto/selftests/expected_skip.txt tools/assistant/tools/assistant/doc/assistant.qdocconf tools/qdoc3/test/assistant.qdocconf tools/qdoc3/test/designer.qdocconf tools/qdoc3/test/linguist.qdocconf tools/qdoc3/test/qmake.qdocconf tools/qdoc3/test/qt-build-docs.qdocconf tools/qdoc3/test/qt.qdocconf
| * | | | | | | | Fix certain type-const-ref syntax not recognized by normalizedSignature()Bradley T. Hughes2009-11-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Normally, const Type & is normalized to just Type, but this didn't work for Template<T>const& or Type*const& types. This now works as expected. However, this changes the way these types are normalized, and existing code using the old syntax will break. We can prevent this breakage by also normalizing the method signature in the metaobject when looking up signals and slots in QObject::connect(). I have added an autotest for this, which includes moc output generated by Qt 4.6's moc. This means we need to bump the metaobject revision number even though we are not adding any new data (only changing the normalized strings we store). Task-number: QTBUG-2407 Task-number: QTBUG-3722 Reviewed-by: ogoffart
* | | | | | | | | Merge branch '4.6' of scm.dev.nokia.troll.no:qt/qtaxis2010-02-124-10/+13
|\ \ \ \ \ \ \ \ \ | | |_|_|_|_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/common/symbian/symbian.conf qmake/generators/makefile.cpp qmake/generators/symbian/symmake.cpp src/3rdparty/webkit/WebCore/WebCore.pro Conflict resolution was heavily based on manual application of commit 9cc4ae77a73bd28ff495f36f26dd87c78b76b976.
| * | | | | | | | uic: Fixed code generating setCentralWidget()-calls of QMainWindow.Friedemann Kleint2010-02-041-2/+3
| | |_|_|_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Regression introduced by QTBUG-5824 change 6809bd020e3307324e136707f32f6f17f77b9591. Do not generate setCentralWidget() for Qt3Support toolbar/dock widget classes. Reviewed-by: ogoffart <olivier.goffart@nokia.com> Task-number: QTBUG-7612
| * | | | | | | Merge branch '4.6' of scm.dev.nokia.troll.no:qt/berlin-staging-1 into ↵Qt Continuous Integration System2010-02-033-8/+8
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.6-integration * '4.6' of scm.dev.nokia.troll.no:qt/berlin-staging-1: revert to fromUtf16() usage in fromWCharArray() Assistant examples: Fix missing QLatin1String. Added Czech translations. Webkit: Fix missing namespace. qmake: subdirs template: make distclean target use QMAKE_DISTCLEAN qmake: fix warnings qmake: Remove macro and simplify string expression previously using it qmake: use isActiveConfig() instead of hand-crafting comparisons Fix missing namespace. Assistant: Fix spelling mistakes. Assistant: Use const references in foreach loops. optimization: get rid of QString::fromUtf16() usage document QString::fromUtf16() slowness remove duplicated calculation of length remove pointless conditionals micro-optimization optimize qhash() Designer/uic/related examples: Fix source code scanning issues II.
| | * | | | | | | Designer/uic/related examples: Fix source code scanning issues II.Friedemann Kleint2010-02-013-8/+8
| | | |_|_|_|_|/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix spelling errors, foreach()/QString usage, explicit constructors. Reviewed-By: Joerg Bornemann <joerg.bornemann@trolltech.com>
| * | | | | | | Add a warning when there are duplicate aliases in a resource file.Pierre Rossi2010-02-021-0/+2
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It can be confusing later on when the wrong resource is accessed, and can easily be avoided by an early notice. Task-number: QTBUG-7812 Reviewed-by: hjk
* | | | | | | Make link bootstrap again.Thomas Zander2010-02-081-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix the borked fix and re-add the dollar signs.
* | | | | | | Fix linking for armlinkThomas Zander2010-02-041-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | using LIBS += -LanyDir is wrong as that depends on 'ld' accepting -L the correct cross-platform approach is to use QMAKE_LIBDIR += anyDir
* | | | | | | Merge branch '4.6' of scm.dev.nokia.troll.no:qt/qt-s60-publicaxis2010-01-265-42/+42
|\ \ \ \ \ \ \ | |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/common/symbian/symbian.conf src/gui/kernel/qapplication_s60.cpp
| * | | | | | uic3: Introduced option to preserve layout object names of Designer 3.Friedemann Kleint2010-01-215-42/+42
| | |_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce options flag mask for better handling in UI3Reader. Pass on layout name. Task-number: QTBUG-7404 Reviewed-by: Jarek Kobus <jkobus@trolltech.com> Initial-patch-by: Andy Shaw <andy.shaw@nokia.com>