summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Add a missing pointer initializer.Jocelyn Turcotte2012-05-231-0/+1
| | | | | | | This causes a crash when using QGraphicsWebView with a GL viewport. Change-Id: I64bdcfe8cd4d8ed7794188c1df08f9028479f8d4 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Cocoa: Handle keyboard dead keys correctlyBradley T. Hughes2012-05-231-2/+12
| | | | | | | | | | | Some keyboard layouts have physical dead keys (like the ¨ key on a Norwegian keyboard). These do not send any text, so we should not use [NSString characterAtIndex:0] if the string is empty. When encountering an empty [NSEvent character] string, use Qt::Key_unknown and QChar::ReplacementCharacter. Change-Id: I7281aa9ea6005341c0dcfa5900bfe601e4eac6a9 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Cocoa: Avoid UTF-16 to UTF-8 to UTF-16 conversion in key handlingBradley T. Hughes2012-05-231-1/+1
| | | | | | | | | | When coverting NSEvent characters to a QString, use QCFString::toQString(), which copies the UTF-16 characters out of the NSString into a QString (instead of converting to UTF-8 and back again on each key press). Change-Id: I78f7c46e75283b7b51c762fd7f22e351ac068072 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Cocoa: don't send input method events for basic text inputBradley T. Hughes2012-05-232-11/+27
| | | | | | | | | | | | | | | | | | | | | | When receiving keyDown events on the Mac, we pass them to NSView's interpretKeyEvents method, which ends up calling our insertText method. This means we end up sending input method events for most text input (instead of normal key events). While this is not wrong, it is unexpected, and different form how Qt 4 works. Change insertText to do nothing if no preedit string has been set when handling a key event. For normal text input that does not need input method handling, we can simply return and let handleKeyEvent send key events instead. Our insertText implementation has to take care to not ignore calls from outside key event processing (such as the user input characters with the Character Viewer). As a result m_keyEventsAccepted changes to m_sendKeyEvent to let insertText know whether or not insertText was called via handleKeyEvent. Change-Id: Ie8c2eb67f6a8438f08442f9ff48f2027a041ca23 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Fix surrogate pair handling in QCoreTextFontEngineJiang Jiang2012-05-231-5/+31
| | | | | | | | | The number of glyphs returned should take surrogate pairs into account. The glyphs array and advances array as well. This follows the approach in QFontEngineFT in general. Change-Id: Ic53faa5e38c2219b987d76aec434558dad92015a Reviewed-by: Zeno Albisser <zeno.albisser@nokia.com>
* Fix compile warnings with MSVCShane Kearns2012-05-232-2/+8
| | | | | | | | | | Calling a static function non statically causes an unused variable warning for the optimised away d pointer. sscanf causes an insecure functions warning. (Even though it was used safely in this case) Change-Id: I07700e2155284ef3ebbe7d604ed59b2e61ee7f95 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* QNX: Implementing QPlatformScreen::refreshRate() for QNX QPASean Harmer2012-05-232-0/+20
| | | | | | Change-Id: I777ebd2c1ca51d244de714eb5b235d931df044d6 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Fix crash when using QCoreApplication::applicationName in a global staticDavid Faure2012-05-231-1/+1
| | | | | | | | e.g. when a global-static configuration object uses QTemporaryFile for saving to disk (via QSaveFile). Change-Id: I532aec6de7411e10e4461d5a4ac60686e2f482df Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Minor QPlatformMenu API cleanup.Morten Johan Sorvig2012-05-237-193/+38
| | | | | | | | | | | | | | | | | | | | | | | | Make the QPlatformMenu* classes abstract with pure virtual functions. Delete qplatformmenu_qpa.cpp. QtGui no longer has to carry the empty implementations. Change the inheritance tree - Make QPlatformMenu and QPlatformMenuBar inherit QObject instead of QMenuItem. Add (now) missing virtual functions to QPlatformMenu. The effect of this change is to reduce the number of pure virtuals the platform has to implement. Change QPlatformMenuBar::syncMenu to take a QPlatformMenu pointer instead of a QPlatformMenuItem* pointer. Fix a couple of header/unused variable compiler warnings. Change-Id: I77450e40c6aae26f3e1aca204603acebd242c036 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Don't use deprecated QPixmap::grabWindow(),grabWidget().Debao Zhang2012-05-231-3/+4
| | | | | Change-Id: I5d0ffb17d60ad53822d537b9c736307486823d45 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* QNX: Register for navigator events before any window creationSean Harmer2012-05-231-6/+14
| | | | | | | | | | | | | This prevents a possible race condition in which the nvaigator service notices that we have created a window and starts sending us messages possibly before we have registered with bps for navigator messages. This resulted in applications sometimes missing navigator messages at startup. Change-Id: I362fd782d7798990bc196f23e07b58293b13275d Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com>
* Fix QtGui compilation for -qconfig largeTasuku Suzuki2012-05-239-0/+32
| | | | | Change-Id: I118a9b40c9eef821b326ee9dabbb9765d65277b7 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* move inputMethodQuery() to public in subclasses of QWidgetTasuku Suzuki2012-05-233-3/+4
| | | | | | | QWidget::inputMethodQuery() is public. Change-Id: I6d290e911854937f32fa6984329b56571feb6872 Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
* Fixed QLineEdit::inputMethodQuery() for Qt::ImHintsTasuku Suzuki2012-05-231-1/+1
| | | | | | | It should return QWidget::inputMethodHints() instead of QVariant() Change-Id: I01f5de8f2087ac67d125f54f08abed523653eb92 Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
* QtNetwork: Fix mingw-warnings.Friedemann Kleint2012-05-232-4/+4
| | | | | | | Constructor order, use Q_OS_WIN. Change-Id: Ie45aa9c3aed45437feb66d8ddcfb22530c441435 Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* Fix QtWidgets compilation for -qconfig largeTasuku Suzuki2012-05-233-0/+14
| | | | | Change-Id: I90ea78944546e93debb41c901d9f128a7b29b1f4 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* bcm97425: Enable the egl mode directfb QPA platform pluginHolger Hans Peter Freyther2012-05-221-1/+1
| | | | | | | | | | | The directfb_egl mode of the directfb QPA platform plugin was never enabled. Modify directfb.pro to check for directfb_egl inside the QT_CONFIG variable. This issue was introduced when moving the config from the CONFIG variable to QT_CONFIG. Change-Id: Ia86ec48475ac037d05282e69ee6324969054e186 Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* qpa api: replace QPA headers with something more benignGirish Ramakrishnan2012-05-2225-110/+90
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current 'we mean it' headers are considered too aggressive for QPA. Replaced using the following script. for file in `find -type f -name "qplatform*.h" -and -not -name "*_p.h"`; do LINE_NO_1=`grep -n -m 1 "W A R N I N G" $file | awk -F ':' '{print $1}'` LINE_NO_2=`grep -n -m 1 "We mean it." $file | awk -F ':' '{print $1}'` if [ -z "$LINE_NO_1" ]; then LINE_NO_1=`grep -n -m 1 "#define " $file | awk -F ':' '{print $1}'` LINE_NO_2=$((1+$LINE_NO_1)) else LINE_NO_1=$(($LINE_NO_1-2)) LINE_NO_2=$(($LINE_NO_2+2)) fi head -n $LINE_NO_1 $file > $file.new cat >> $file.new <<EOF // // W A R N I N G // ------------- // // This file is part of the QPA API and is not meant to be used // in applications. Usage of this API may make your code // source and binary incompatible with future versions of Qt. // EOF tail -n +$LINE_NO_2 $file >> $file.new mv $file.new $file done Change-Id: I8a974c9bf8942647b7ad950afb372c1f738aa725 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Remove -Winline from the build of SSE2/AVX/etc. sourcesThiago Macieira2012-05-221-4/+4
| | | | | | | | | If anything, those are development flags. Normal users of Qt should not be bothered by the lengthy output this flag produces Change-Id: Iaa629d3f01ddc88e0775f62ffbb96fa734e3247f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Make sure we are using the proper -mXXX optionsThiago Macieira2012-05-221-8/+8
| | | | | | | | | | If $(CXXFLAGS) contains -m options (-march or -msse2, for example), those would override the options we had set. It's amazing no one has run into this problem before. Change-Id: Idc765cb2dafd1381357da15593b2fe94a30e0857 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Add AVX support for the painting and image code.Thiago Macieira2012-05-229-11/+246
| | | | | | | | There are no new routines, this is just the old SSE2 and SSSE3 code compiled in AVX mode, meaning the instructions use the VEX prefix. Change-Id: I79a8bfaf6b30a050618db899f5a3bbc220449f0b Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Replace (un)checkAction with toggleAction (3/3)Jan-Arve Saether2012-05-223-45/+8
| | | | | | | | Remove all references to (un)checkAction. This commit finalizes the intended change. Change-Id: I79d3b30b5c3d9fbe276c2c94fed5971bb21d6c02 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* replace remaining "const QChar &" with "QChar"Konstantin Ritt2012-05-221-1/+1
| | | | | | | QChar is actually a ushort and passing it via const-ref is suboptimal Change-Id: Ib806b90397de6a816142ed130a22c0fe10a85d79 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Remove STL from qfeatures.txtTasuku Suzuki2012-05-221-7/+0
| | | | | | | | | QT_NO_STL is now no longer available Change-Id: I645a45e4b47539c936ef458b5c616c02f7097ca4 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Deprecate {QString,QStringRef,QChar}::{to,from}AsciiThiago Macieira2012-05-224-27/+37
| | | | | | | | | | | | Make them call exactly their Latin 1 counterparts. For the QString functions that take a single char, also use fromAscii directly. Change-Id: I87645aba6ab9cde34c1df3cbc3a979fbd9e91f9d Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Add the QUrl::FullyDecoded flag to the component formattingThiago Macieira2012-05-223-43/+193
| | | | | | | | | | | | | | | | | | This allows the QUrl component getters to return fully decoded data, like they did in Qt 4. This is necessary for some use-cases where the component like the user name, password or path are used outside the context of a URL. In those contexts, the percent-encoded data makes no sense, and the loss of data of what could be represented in a URL is acceptable. Also take the opportunity to expand the documentation of those getter methods, explaining what the options argument does. Discussed-on: http://lists.qt-project.org/pipermail/development/2012-May/003811.html Change-Id: I89f743cde78c02f169c88314bff0768714341419 Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: David Faure <faure@kde.org> Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* Add QUrl::ParsingMode to the component setters in QUrlThiago Macieira2012-05-222-35/+186
| | | | | | | | | | | | | | This allows one to instruct QUrl to ignore the percent-encodings and interpret the data exactly as provided. This is useful in certain use-cases where the data comes from a non-URL context. The strict-mode checking of the components is not implemented yet. Currently, the behaviour is equal to that of TolerantMode. Discussed-on: http://lists.qt-project.org/pipermail/development/2012-May/003811.html Change-Id: Ia5abe045a8ce7f9b50cbce3b5a7e3735e068d03a Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* Add the QUrl::DecodedMode parsing modeThiago Macieira2012-05-222-6/+20
| | | | | | | | | | | This mode will be used to support parsing of URL components in their fully-decoded forms. It is not permitted when parsing the full URL, as that would be ambiguous. Change-Id: Id8d39a740845ae8d1efef894085280b322e39c0a Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: David Faure <faure@kde.org> Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* Port away from QUrl::MostDecodedThiago Macieira2012-05-222-5/+5
| | | | | | | | | | | Since we're about to introduce QUrl::FullyDecoded, this QUrl::MostDecoded value would be confusing. Replace its uses with what was intended at the point in question. Change-Id: Iefd87bc33d37bace507c5cb0f206fa902e08e2df Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: David Faure <faure@kde.org> Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* Fix compilation on Linux: link to zlib in the bootstrapped tools.Thiago Macieira2012-05-221-2/+1
| | | | | | | | | That "else:" with no first condition is probably throwing qmake off. The condition was removed in ad2930f82536c9f5d38b644c5a070ce1248f6ee2. Change-Id: I6af36e3f673a65a6152fb467162c25afc13b4196 Reviewed-by: Mark Brand <mabrand@mabrand.nl>
* Add mouse event internal members needed by declarativeLaszlo Agocs2012-05-224-3/+35
| | | | | | | | | | | | In order to remove QQuickMouseEventEx we have to be able to store touch-related data, like capabilities and velocity, also in mouse events. However they should not be exposed through the public API in any way. (at least not in 5.0) Change-Id: I7774b9ea00074950208559463249fbdcaeeaefbf Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Replace (un)checkAction with toggleAction (1/3)Jan-Arve Saether2012-05-222-0/+14
| | | | | | | | | | | | | | | Add toggleAction to QAccessibleActionInterface. This change is split into separate modules, thus we have to be careful of not breaking qtdeclarative, which currently depends (un)checkAction. Therefore we apply the patches in this order: 1. Add toggleAction to QAccessibleActionInterface (in qtbase) 2. Replace all references to (un)checkAction with toggleAction (in qtdeclarative) 3. Remove all references to (un)checkAction (in qtbase) Change-Id: Ib00fee3139eeabbece97295bc3d713ab119c92e6 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* QTextEngine: minor clean-upKonstantin Ritt2012-05-221-9/+14
| | | | | | Change-Id: I7e21d5cf0130b412f8053b35abdd3420ed006c1c Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* QWidgetWindow: handle ShortcutOverride eventsBradley T. Hughes2012-05-221-0/+1
| | | | | | | | | ShortcutOverride events sent to the QWindow should be handled by the QWidget. Change-Id: Icec504db1066871b02dec639e4c1c624b0afeaa8 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* directfb: Handle focus, close and geometry change eventsHolger Hans Peter Freyther2012-05-222-0/+32
| | | | | | | Report the focus, close and geometry to Qt. Change-Id: I059fef5aba5f0e5c0654ba11b0615bc0f5ac50aa Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* directfb: Expose the window when it becomes visibleHolger Hans Peter Freyther2012-05-221-2/+4
| | | | | | | | This change is required to make DirectFB windows appear on the screen again. Change-Id: Ib00d3fa597bc23879b5646bddd6cbb5c627b0edf Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* Clean up Raspberry Pi specDonald Carr2012-05-221-0/+1
| | | | | | | Introduce platform libs hook to handle/allow device specific initialization and the associated symbol resolution Change-Id: I098b07dcb581390d369d9165c6cedc7ace1e088a Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* Prevent infinite loops by handling all ZLIB errorsShane Kearns2012-05-211-5/+4
| | | | | | | | | | | | In case the HTTP server returns more data after the end of the compressed data stream, inflate will return Z_STREAM_END, which is a normal informative error code. This was handled in 4.8, but lost in 5.0. Also catch all ZLIB negative error codes rather than only three. Task-number: QTBUG-25823 Change-Id: Ibdbbd3dd6fa81a0880c477cb080ad35f2d7116f0 Reviewed-by: Martin Petersson <Martin.Petersson@nokia.com>
* Windows/MinGW: Fix warnings about missing enumeration values.Friedemann Kleint2012-05-212-0/+2
| | | | | Change-Id: I8fa6456e517d670a4d463fdc589cb32e4f79843c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* QNX: Take orientation into account when reporting physical sizeSean Harmer2012-05-211-3/+8
| | | | | | | | | Previously landscape orientation was assumed in the QQnxScreen ctor. We now calculate the initial physical dimensions correctly. Change-Id: I6c434eaba1f931c769f343671fb80052287b51e5 Reviewed-by: Kevin Ottens <kevin.ottens.qnx@kdab.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* QNX: Implement the QPlatformScreen::orientation() functionSean Harmer2012-05-212-2/+19
| | | | | | | | Also removed some invalid TODO comments. Change-Id: I470a9a6538ce10a3a14df14faa641d7be7f18a74 Reviewed-by: Kevin Ottens <kevin.ottens.qnx@kdab.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* input: Synchronize multiple mice handled through evdevmouse pluginJohannes Zellner2012-05-214-32/+54
| | | | | | | | | | | EvdevMouseManager now receives relative pointer coordinates from each connected mouse and is then responsible for clamping and forwarding them to the QWindowSystemInterface. This avoids jumping cursors when multiple pointer devices are connected. This does not change behavior together with devices handled through the evdevtouch plugin. Change-Id: I7feb358f68c3b3ebd138116224b4747c88c6761f Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* QCssParser: Remove temporary structure storing QIcon data.Friedemann Kleint2012-05-213-51/+28
| | | | | | | | | This is no longer needed after QIcon moved to QtGui. It is a revert of 5a0eb4e768435b9ce32b074e620fca33be4df2fb, compile fixes and uncommenting of commented-out code. Change-Id: I6cfe6d2582b3e37161862a28e55cc3b010e18a8b Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* QWindowsBackingStore: Implement scroll.Friedemann Kleint2012-05-212-0/+15
| | | | | | | | | | Similar to XCB. Task-number: QTBUG-24299 Task-number: QTBUG-24296 (partially fixed) Change-Id: I4c9d813d9645f957f2caad0c4e395ce0d3d222cc Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Make QStringLiteral always choke on non-literalsThiago Macieira2012-05-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The fallback implementation of QStringLiteral did not (up to now) enforce the need to use a literal. So it was possible to write: const char *foo = "Hello"; QString s = QStringLiteral(foo); Which would do the wrong thing and create s == "Hel" on 32-bit platforms (sizeof(foo) == 4) or, wrose, s == "Hello\0XY" on 64-bit platforms (sizeof(foo) == 8, X and Y are garbage). This change enforces the need for a literal by producing errors on the above cases, as well as when foo is a char array variable. GCC: error: expected ‘)’ before ‘foo’ Clang (abbreviated): error: expected ')' namespace X { QString x() { const char foo[42] = "Hello"; return QStringLiteral(foo); } } ^ note: to match this '(' ^ ICC: error: expected a ")" namespace X { QString x() { const char foo[42] = "Hello"; return QStringLiteral(foo); } } ^ The first C++11 error currently is: error: expected primary-expression before ‘enum’ (GCC) error: expected a ")" (ICC) Change-Id: I317173421dbd7404987601230456471c93b122ed Reviewed-by: hjk <qthjk@ovi.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Fix QtDBus compilation for -qconfig largeTasuku Suzuki2012-05-211-0/+4
| | | | | Change-Id: I016dd3cdab10136af04bd10605efe0a665490d8e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Remove a line of garbageLaszlo Agocs2012-05-211-3/+1
| | | | | Change-Id: Iae931b4a944abe29097dc30f97099e9aeaa9387c Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
* QRegularExpression: Fix warnings about deprecated tr()-function.Friedemann Kleint2012-05-211-2/+2
| | | | | Change-Id: I2325bcab9bb80e5507f53887b282a859d0fdb58c Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* QNetworkReplyHttpImplPrivate::migrateBackendMartin Petersson2012-05-211-29/+2
| | | | | | | | | | | | | If the QNetworkSession change while we are handling a QNetworkRequest we should try to resume this request if possible. In that case we set the offset for where to continue the request. Abort the operation in the http thread. And then post the request again. The offset will then be set using the range header in postRequest() so that the operation is resumed. Task-number: QTBUG-25762 Change-Id: Ib7946905bcc633f8cc3dd7a7ad1ae74579e6bf56 Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* Cocoa: Fix memory leak in the accessibility code.Morten Johan Sorvig2012-05-211-0/+1
| | | | | | | | QCocoaAccessibleElement takes ownership of the QAccessibleinterface pointer. Delete it in dealloc(). Change-Id: I45a5540b9cf564c639bfa119ff4882008d63fd96 Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>