summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms
Commit message (Collapse)AuthorAgeFilesLines
* Remove QPlatformIntegration/QPlatformTheme from QGuiAppPrivate.Friedemann Kleint2012-02-204-0/+5
| | | | | | | Forward-declare instead. Change-Id: I3851994e8bc05b389e94e948478339ba33d521c1 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Fix compilation with MinGW-w64Jonathan Liu2012-02-201-3/+3
| | | | | | | | This fixes a "cast from 'void*' to 'int' loses precision" error and adds a missing argument to qWarning. Change-Id: I38544c4e317a3f6d1ecf26ebb3e35c66b1878d24 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Introduced QWindow::isExposed().Gunnar Sletta2012-02-181-0/+1
| | | | | | | | | | | The visible property along with show/hideEvent tracks the windows visibility from the application perspective and is really a request. The exposeEvent() along with the isExposed() accessor is used to notify the application of the actual state of the window in the windowing system. Change-Id: I7f5b7ed74a168e34aaa21ce0ae9042ddfb0bf6d8 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Fix qclipboard autotest on Windows.Friedemann Kleint2012-02-181-4/+7
| | | | | | | | | Emit changed signal only if the clipboard is not owned, in which case QClipboard does it. Task-number: QTBUG-24184 Change-Id: I27420583a718a5f8cd93b9d361b1e422a75df300 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Windows: Fix QWindow-test.Friedemann Kleint2012-02-172-11/+39
| | | | | | | | | | | | - Save & Restore style and geometry when switching to full screen and back since it is not a real state on Windows. - Obey the positioning policy in setGeometry. Task-number: QTBUG-24185 Change-Id: I18dea4fd372e0b2e46273a7a27e0c6f4f4bde771 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Windows: Fix compilation with -qtnamespaceKai Koehne2012-02-172-0/+8
| | | | | Change-Id: I00ba88887100b699d620875d868f8a769259a768 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Remove unused config.tests from config.tests/mac/*Bradley T. Hughes2012-02-171-10/+0
| | | | | | | | | | | | | The xarch.test and crc.test are not run by configure, so remove them along with the related CFG_MACH_XARCH and QT_NAMESPACE_MAC_CRC configure variables. The kEventClassQt variable in qt_mac_p.h is also unused now, so remove it as well. Change-Id: I596ab9b493ce3164b6a4d40e8942479efc91b60d Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Add palette() and further hints to QtGui/QPlatformTheme.Friedemann Kleint2012-02-1712-9/+243
| | | | | | | | | | | | | | | | | | | | | | | | | | - Move palette() from deprecated QtWidgets/QGuiPlatformPlugin to QtGui/QPlatformTheme, Make it return a const * since QPalette does not have isNull(). - Initialize QGuiApplication::palette() and QApplication::systemPalette() from it. - Do not initialize QPalette from QGuiApplication::palette() unless app_pal is non-null (default to Qt::black if it is 0). This avoids initialization order crashes/recursions in the QPA plugin. Streamline initialization function. - Remove styleName(), systemIconThemeName() and iconSearchPaths() from QGuiPlatformPlugin and re-add them as QPlatformTheme::themeHint(). - Remove styleHint() from QGuiPlatformPlugin, add it to QPlatformTheme::themeHint(). - Add UNIX themes with factory function (Generic, KDE, Gnome), taking it from Qt 4.8 code (stripping the KDE 3 code). - Implement Windows palettes. Task-number: QTBUG-24204 Change-Id: Ie27ec035df4f84c42deaffc4816b2e53ce705462 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Fix naming of plugins for QPA plugins and use new plugin system.Friedemann Kleint2012-02-1712-8/+35
| | | | | | | | | - Fix naming "com.nokia" -> "org.qt-project" in platform integration & platform theme. - Adapt Windows, XCB, Cocoa, Minimal. Change-Id: I7834f5c3d94473b6f06c1bffee074a70ee25f426 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* xcb: avoid use of statically-sized QListMarc Mutz2012-02-171-18/+15
| | | | | | | | | | | Change the use of QList<QPair<>> to a simple C array of xcb_keycode_t*s. This is possible since the number of elements in the container is statically known. I have not measured speedup; this is just preventing premature pessimisation. Change-Id: I8855fc8a4e7ee840d8b7497ec4166074da7d8ea8 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Remove historical +1 from font height calculationEskil Abrahamsen Blomfeldt2012-02-171-3/+1
| | | | | | | | | | | Historically, we've calculated font height as ascent+descent+1. In Qt 4, a patch was added to work around this by subtracting 1 from the descent of the font engines. We now remove the +1 and the work arounds. Change-Id: I7e25d49b97ac892015d3328f32d70eb9a7c2d88f Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Base active window handling on WM_SET/KILLFOCUS.Friedemann Kleint2012-02-173-6/+15
| | | | | | | | | Make it work for child windows, fixing the isActive() test of QWindow. Task-number: QTBUG-24185 Change-Id: I75597c2d322969f7e109d76e30b9b1f4b66c6e1e Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Fix QWindowsClipboard crash when mimeData is NULL.Miikka Heikkinen2012-02-171-2/+5
| | | | | | | | | | When setting NULL mimeData in QWindowsClipboard::setMimeData, and the OleSetClipboard call failed, the warning print crashed because it tried to access mimeData. Task-number: QTBUG-24327 Change-Id: I1f56fd28c9191a330e14a93b4b11ac9c89db6985 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Use english name to match font in windows platformjian liang2012-02-162-9/+201
| | | | | | | | | | | | | | In windows platform, simplified chinese envrionment, the default font family name is "SimSun" which is not in the font list generated by EnumFontFamiliesEx(), this will cause chinese font can't be displayed. This patch will generate font's english name during font enumeration in windows platform, and take font's english name into consideration in font matching. The english name generation code is taken from Qt4.8 Change-Id: Ie939ec0c8c08c628a835c7a53fb22d0545626d9c Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Fix compilation with MinGWJonathan Liu2012-02-152-0/+5
| | | | | | | | | | | | | Some headers and constants are available in MinGW-w64 that are not available in the official MinGW. STATE_SYSTEM_HASPOPUP and STATE_SYSTEM_PROTECTED constants are defined if they are not already defined by including oleacc.h. _CrtSetReportMode is not used and crtdbg.h is not included when using official MinGW as crtdbg.h is missing from official MinGW. Change-Id: Ie7f3f3726a1663d0fdeb6ee17b86873ae3f61860 Reviewed-by: Jonathan Liu <net147@gmail.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* CompileBradley T. Hughes2012-02-142-2/+0
| | | | | | | mHackedPanel is not declared anywhere in the Cocoa dialog helpers. Change-Id: I3ba5dd429aa9fe5833b19c1e081425ec4020658d Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Add QCocoaColor- and FontDialogHelperChristoph Schleifenbaum2012-02-146-3/+1139
| | | | | Change-Id: Ie6e648e9e1f4ffbb34d73f9afdd6cc77e86bc3d1 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Compile without OpenGL.Samuel Rødal2012-02-123-1/+5
| | | | | | | | | Since a GLuint returning virtual was added to QPlatformOpenGLContext we need to make sure it's protected by #ifndef QT_NO_OPENGL. Change-Id: Id2f56ccdccc3863986250ee1b3aa7efccf88ba5c Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com> Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* Add QPlatformServices class.Friedemann Kleint2012-02-107-3/+238
| | | | | | | | | | | | | | | - Add QPlatformServices as back-end for QDesktopServices. - Bring back UNIX/Linux desktop detection in platformsupport as a generic implementation. - Add Windows implementation. Reviewed-by: Morten Johan Sorvig <morten.sorvig@nokia.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com> Reviewed-by: Anselmo Lacerda S. de Melo <anselmo.melo@openbossa.org> Change-Id: If94bb65755df4f849edd83c57143ee2c73002137 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Fix xcb's native resource getters.Laszlo Agocs2012-02-101-2/+10
| | | | | | | | | | | Returning pointers to unexpected types for unknown keys is quite wrong. The clients expect 0 in such a case but what they got (until now) was whatever was associated with the default constructed enum value. Change-Id: Iefd7bf461bfb2c1f4c73f5f9f291aecad60219eb Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com> Reviewed-by: Jani Uusi-Rantala <jani.uusi-rantala@nokia.com>
* Properly read back the actual format in xcb and xlib plugins.Samuel Rødal2012-02-106-11/+18
| | | | | Change-Id: Iccef2c4a87863b93914b84edf3a6015dad5e512a Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* Move all usages of Relation enum values to QAccessible::relations()Jan-Arve Saether2012-02-101-0/+23
| | | | | | | | Next step is to remove navigate(), but that has to be done in qtdeclarative first. Change-Id: I01ea1386c092446be04cc19d0f70adf53f094adc Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
* Add support for xlib backend X Event filtersJohn Stanley2012-02-106-5/+29
| | | | | Change-Id: Id1e7995f98395de748ce47a27365e4bdd564ea49 Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
* Improvement to font database cleanupjian liang2012-02-101-12/+19
| | | | | | | | | | | | | | | | | | This patch do the following things: 1) Call QFontDatabasePrivate::free() to clean up font database before destroying the platform integration object. This is to prevent object leak which is allocated by platform plugin. 2) Allocate FontFile structure for each font registered in windows platform to prevent double free of FontFile structure. 3) qt_registerFont() will release the old handle of the registered font and replace it with the new handle. This is to prevent FontFont structure leak. Change-Id: Ib5ca20c695e1e365689fd8554f7caff6ee77a0b1 Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
* Take into account shaping in findRealWindowAlbert Astals Cid2012-02-091-3/+25
| | | | | | | | | | | | | | It can happen that there is a window covering all the screen but it is shaped to only take part of the screen. If that happens, besides the condition of QRect(attr.x,attr.y,attr.width,attr.height).contains(pos) we also need to query the server for its region rectangles and make sure the cursor is inside one of those rectangles. If that does not happen we have to return 0 so the hierarchical xcb_query_tree_children xcb_query_tree_childrenntinues Change-Id: I67327672e3d854d064190b55a07bd56ade4dfddb Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Fix compilation with MinGW-w64Jonathan Liu2012-02-083-2/+17
| | | | | | | | | | | | | | | Fix compilation with MinGW-w64 with the following changes: - Include intrin.h to fix __cpuid not declared error - Include intrin.h before *mmintrin.h headers to avoid extern linkable mismatch - Use quintptr instead of unsigned long to handle LLP64 - Do not declare winuser.h structs already provided with MinGW-w64 - Work around IID_IShellItem being declared but not defined with MinGW-w64 - Remove incorrect use of SUCCEEDED macro on pointer Change-Id: Ia21f8e3a1d225cf501e646eacd968bfc744ce0a2 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Use Q_OS_WINCE instead of Q_WS_WINCEAndreas Holzammer2012-02-071-4/+4
| | | | | | | | | Window system defines have been deprecated, so use Q_OS_WINCE instead. Change-Id: I52059d0f854fe783ac20610ab248800c3e1e827c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Ensure that posted events are sent by Q*Application::processEvents()Bradley T. Hughes2012-02-071-0/+9
| | | | | | | | | | | | Commit b7ca6a81dbf6a2b96c8f04b856372050618e60c0 removed a call to sendPostedEvents() that deemed unnecessary. Unfortunately, it is necessary, as shown by the tst_QScriptEngine::processEventsWhileRunning() test in the QtScript module. Re-add the call, but only when not waiting for more events. Change-Id: I648d66dd3ba484ad9e9a93fc03a9792cca5035c6 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@nokia.com>
* Compile with -no-freetype.Friedemann Kleint2012-02-071-0/+3
| | | | | | | | | | Fix breakage introduced by 3f75fb8d8f25af5b79b71ae74f453a2b220a11ce. Task-number: QTBUG-24091 Change-Id: I322bbab382a5e375dccd4273c70a0ed8b525d125 Reviewed-by: Jonathan Liu <net147@gmail.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Remove QAccessible::FocusChild, add focusChild()Jan-Arve Saether2012-02-061-22/+11
| | | | | | | | Also cleanup (reduce) all implementations of navigate() in order to make the final removal of navigate smoother. Change-Id: I2c216db8f5b2e40afcce8f859fc775053adc2fe3 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
* MinGW: Fix warnings.Friedemann Kleint2012-02-041-3/+0
| | | | | | | | - Special #define to access HB seems no longer necessary (it was causing about mismatching DLL import attributes). Change-Id: I57cc7d57b12a67c1d549b053db81e1f198f87786 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* Fix compilation on MinGW.Friedemann Kleint2012-02-033-18/+12
| | | | | | | | | | | - Add missing constant. - Make FontKey a pair instead of a function-local type which cannot be used as template parameter for gcc. - Fix warnings about redefinition of NOMINMAX and enumeration. Change-Id: Ie3eb6e5b8dd9cd81210d6e10270ada0158aaf809 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* processEvents(WaitForMoreEvents) should return after delivering eventsBradley T. Hughes2012-02-032-11/+28
| | | | | | | | | | | | | | | | | | | | | | The Cocoa event dispatcher sends timer, socket, and posted events correctly, but they are not NSEvents, and as such, they do not cause [NSApp nextEventMatchingMask] to return. When calling processEvents() with WaitForMoreEvents, but the EventLoopExec flag isn't set, we want to interrupt the WaitForMoreEvents. As a result, We should not call wakeUp() at the top of processEvents(), otherwise we end up shortcutting other event sources. We also do not need to call QCoreApplication::sendPostedEvents() directly either in processEvents(), it's the postedEventsSource job to do that. The interruptLater mechanism is always run when calling processEvents() directly (not via exec()), which causes problems when testing processEvents(). Don't use interruptLater unless the modal sessions change (which is indicated by the cached session pointer being reset to zero). Change-Id: Iec2b49a4f306b2702c979522f12a28d0b5fbd0b4 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@nokia.com>
* Windows QPA: Compile with QT_NO_CAST_FROM_ASCII, warnings.Friedemann Kleint2012-02-023-8/+12
| | | | | Change-Id: I75d6a102a6a1fa0b5f8add049442f23d6fd57725 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Move QString <-> NSString conversion to QtCoreMorten Johan Sorvig2012-02-027-47/+41
| | | | | | | | | | | | | | | | Add (private) API to QCFString: static QString toQString(NSString *) static NSString *toNSString(const QString &) Add implementation to qcore_mac_objc.mm. Keep the mac_cpp since it's used for building qmake as well as bootstrapping. Replace usage of NSString conversion functions in the cocoa and corewlan plugin with QCFString. Change-Id: I9f34edd5231255aef9d8d6e9a60306174bb279b3 Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* speed up font enumeration in windows platformjian liang2012-02-021-8/+31
| | | | | | | | | | | Currently, font enumeration is very slow in windows platform, it will take several seconds to enumerate all fonts for the first time. This patch cache the font information queried from font registry, it can significantly speed up font enumeration. Change-Id: Ic783877b7f3db3facf24965b0c5d669b22d40c61 Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Renamed QInputPanel as QInputMethodPekka Vuorela2012-02-021-11/+11
| | | | | | | | | | | QInputMethod better describes what the class is about, input methods in general, be they panels or just composing input from key events. Compatability headers added for old name. Not bulletproof but should be enough to get transition done. Change-Id: Iefde6e7ccb1ec4a3b226cef3469089e751c60fc1 Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
* Remove duplicated function from QCocoaEventDispatcherBradley T. Hughes2012-02-021-23/+7
| | | | | | | | | | | | | | The qt_mac_waitForMoreModalSessionEvents() is identical to qt_mac_waitForMoreEvents(), except that it passes a different inMode parameter to [NSApp nextEventMatchingMask]. Change the latter function to take the mode as a parameter itself, defaulting to the default mode. Change the dequeue parameter to [NSApp nextEventMatchingMask] from YES to NO. Having the function dequeue the event, and then immediately reposting the event is not necessary. Change-Id: Iba45d41ad3ff4d5721d1068e6d5c78585cb15810 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@nokia.com>
* Move QPlatformDialogs from QtWidgets to QtGui.Friedemann Kleint2012-02-013-10/+1
| | | | | | | | - Remove dependency of the Windows platform plugin on QtWidgets. Change-Id: Iceb876ba7df46b49966af0fc101816654eedb5c5 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Introduced BufferQueueingOpenGL capability in platofrm integrationGunnar Sletta2012-02-011-0/+1
| | | | | Change-Id: Iedb7255862fd3a11aceae0e06e90a5539febc7e7 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Windows: Fix compilation with -qtnamespaceKai Koehne2012-01-313-4/+8
| | | | | Change-Id: Ib006d74299d65e5872a5a524eaa937e127306ec7 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Mac: Fix compilation with -qtnamespace setKai Koehne2012-01-311-0/+3
| | | | | | Change-Id: Id3b9f4e3edf2caeac32c8a44278cdf05a1fc70fb Reviewed-by: hjk <qthjk@ovi.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Use events for accessibility updates.Frederik Gladhorn2012-01-312-9/+9
| | | | | | | | | | | | | The problem with the old updates is that it was impossible to send details about the update. For the Linux implementation to work properly with AT-SPI I need to know which state changed (currently I only get a generic "state changed" event) or which part of the text was changed for long texts (imagine a word processor sending updates). This also gives us more options when updating with events generated from not QObject based objects. Change-Id: If0b6c83c523092565eb48e79f3f6de5a1b905ea8 Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* xcb: Check for SHM extension before using itUli Schlachter2012-01-311-2/+6
| | | | | | | | | | | If we call any xcb_shm_*() function, libxcb will have to figure out SHM's major number. However, if that fails because the SHM extension is not available, xcb will disconnect from the server. Obviously, that's not what we want and must be avoided. Change-Id: I8eba5ff9e84e0e2017a5c0d88fda4efd0459bd1e Signed-off-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* xcb: Check for SYNC extension before using itUli Schlachter2012-01-311-1/+5
| | | | | | | | | | | If we call any xcb_sync_*() function, libxcb will have to figure out SYNC's major number. However, if that fails because the SYNC extension is not available, xcb will disconnect from the server. Obviously, that's not what we want and must be avoided. Change-Id: I9a1032e1cfac074a52bafcb0772304bfd423e770 Signed-off-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Changed debug output to option in qminimalbackingstore.Kurt Korbatits2012-01-312-8/+15
| | | | | | | | | | | - Added QT_DEBUG_BACKINGSTORE environment variable to enable debug output. Defaulting to no output if not set. Change-Id: Id9c369031f946d77605321c8b28ab3378da8fbf9 Reviewed-by: Kurt Korbatits <kurt.korbatits@nokia.com> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com> Reviewed-by: Jonas Gastal <jgastal@profusion.mobi> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* directfb: Use QPlatformPixmap::fromFile for Qt resourcesHolger Hans Peter Freyther2012-01-311-8/+2
| | | | | | | | | | | | | Move to fromFile to load Qt resources for two reasons. The first is that ::fromData creates a QBuffer on our raw data and is passing that to the QImageReaders. Right now we there is a QFile -> QByteArray -> QBuffer transition that wastes cycles. The other reason is that QPlatformPixmap::fromData did/does not check if the decoded image is null and might cause a crash because of that. Change-Id: I7cb92d84874323e7205ab28883cc0fe9ecca1e27 Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* Avoid non-standard indentation of license headers.Jason McDonald2012-01-304-156/+156
| | | | | | | | The strange indentation has made maintenance of license headers difficult on several occasions. Change-Id: Ib29a7e5275e2c7a2c13a3f32fd2479f34d3353ca Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Add native event filters to Windows, forward to Widgets.Friedemann Kleint2012-01-301-3/+11
| | | | | | | Use prototypically for qwizard_win.cpp. Change-Id: I075e81ae1bc3d62d9f27e51c73c800ffd71cbcd6 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Remove "All rights reserved" line from license headers.Jason McDonald2012-01-30282-282/+282
| | | | | | | | | | 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>