summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* | QMacStyle: remove unused qlibrary.h includeJ-P Nurmi2018-05-151-1/+0
| | | | | | | | | | | | | | | | Fixes build with -no-feature-library, because the qlibrary.h header contains QT_REQUIRE_CONFIG(library). Change-Id: If64ece8bd77e8824b86dc91f95dd9062cb2a1644 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
* | Fix filter parsing in flatpak FileChooser portalJan Grulich2018-05-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | Filters are usually in format (Name (*.foo *.bar)), but valid filter is also (Name ( *.bar *.foo )), containing additional spaces. When we split content in the brackets divided by spaces, there will be then empty strings which we need to filter out, otherwise the result we send over DBus is not valid. Change-Id: Iaa265189408f47324bc9b269d534bf4c8d7d2cae Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | QFusionStyle: Fix width of editable combo boxFriedemann Kleint2018-05-151-1/+1
| | | | | | | | | | | | | | | | Add a scaling overlooked in 63d08003cf06b84b871618ba800a7079ae6bf702. Task-number: QTBUG-68194 Change-Id: I97c771435e4316ec55aacc527335b62cb4dfd9ec Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
* | Fix build without features.cursorTasuku Suzuki2018-05-152-11/+17
| | | | | | | | | | Change-Id: I450bd9f160c64f718c49e87d274c1ccc4a657aca Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | Fix Android loaderThiago Marcos P. Santos2018-05-141-5/+10
| | | | | | | | | | | | | | | | | | Invalid syntax due to missing closing brackets and exception not being handled when calling .close() on a stream. Change-Id: If8f191fbc44fe1b031fd86abff5163bca434156a Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* | Skip tst_QProcess::processesInMultipleThreads under QEMUKari Oikarinen2018-05-142-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | tst_QProcess hangs sometimes in QEMU. Based on my experiments in a debug VM the offending test seems to be processesInMultipleThreads(), since that was were I was able to reproduce the hanging in. Since the whole test executable hangs, blacklisting is not enough, so skip the test. Task-number: QTBUG-67760 Change-Id: I34f8852be955a8612deac22b369f68d79a139d11 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Treat the Content-Disposition header as a known headerAndy Shaw2018-05-142-0/+6
| | | | | | | | | | Change-Id: I307f67b10759d17f603a340b14266ab47d195497 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | tests: Include QFileInfo in emulationdetector.hKari Oikarinen2018-05-141-0/+2
| | | | | | | | | | | | | | | | | | Otherwise using it later is a compile error on ARM if no header including it has been included before. Change-Id: I422eeb948da4a22bc3f649daff39740703039372 Reviewed-by: Sami Nurmenniemi <sami.nurmenniemi@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | QJsonDocument: Avoid overflow of string lengthsJüri Valdmann2018-05-143-23/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The added test case contains the binary JSON equivalent of ["ž"] with the modification that the string's length has been set to INT_MAX. In Value::usedStorage this length is used through the pointer d like so s = sizeof(int) + sizeof(ushort) * qFromLittleEndian(*(int *)d); Because 2 * INT_MAX is UINT_MAX-1, the expression as a whole evaluates to 2, which is considered a valid storage size. However, when converting this binary JSON into ordinary JSON we will attempt to construct a QString of length INT_MAX. Fixed by using String::isValid instead of Value::usedStorage. This method already takes care to avoid the overflow problem. Additionally, I've tried in this patch to clarify the behavior of Value::isValid a bit by writing it in a style that is hopefully more amenable to structural induction. Finally, the test case added in my previous patch had the wrong file extension and is renamed in this one. Task-number: QTBUG-61969 Change-Id: I45d891f2467a71d8d105822ef7eb1a73c3efa67a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | tests/auto/widgets/dialogs: Avoid unconditional qWait()sKari Oikarinen2018-05-144-76/+50
| | | | | | | | | | | | | | | | Task-number: QTBUG-63992 Change-Id: I679a0f482ec2c3ed5d896f1c40c67d9932c6fc18 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | tests/auto/widgets/graphicsview: Avoid unconditional qWait()sKari Oikarinen2018-05-146-188/+70
| | | | | | | | | | | | | | | | Task-number: QTBUG-63992 Change-Id: Ibbcf5bf968fcf1b1c3a043c805bdcc23a4005f00 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* | QByteArray::setNum: use the existing latin1 lowercasing tableThiago Macieira2018-05-131-15/+3
| | | | | | | | | | | | | | Not sure this makes the code faster, but it removes two functions. Change-Id: I5d0ee9389a794d80983efffd152d830da44b1bfe Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Fix build of applications on iOSChristoph Keller2018-05-132-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | When QMAKE_TARGET_BUNDLE_PREFIX is set in the .pro file then this value should be used instead of the default value for PRODUCT_BUNDLE_IDENTIFIER. Therefore, PRODUCT_BUNDLE_IDENTIFIER should be set inside default_post.prf so that it can take the value of QMAKE_TARGET_BUNDLE_PREFIX after it may have been set. Task-number: QTBUG-66462 Change-Id: Iec1e2a43632efe6021b9d6bfdb78bd941326c456 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | OpenSSL v1.1.1: fix qtbug18498_peekMårten Nordheim2018-05-111-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | Previously the test worked because the client was the last party to know when encryption was established. However, due to changes in the TLSv1.3 handshake the server is now the last one. In either case, relying on both to be encrypted when one of them is finished is not great, so now we only quit the event loop when both client and server have emitted 'encrypted'. Change-Id: Ic1fc75671206d866f7ea983805fd58a99657aac6 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | QString: fix off-by-one errorThiago Macieira2018-05-101-4/+4
| | | | | | | | | | | | | | | | | | The check for having N valid characters is ptr + N <= end, because ptr + N == end indicates that we have exactly N characters in the string. Change-Id: I5d0ee9389a794d80983efffd152d28d5aa485ce4 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | QLineEdit example: fix link to QLineEdit::setInputMaskChristian Ehrlicher2018-05-091-1/+1
| | | | | | | | | | | | | | | | | | | | Fix a typo to properly link to setInputMask instead setMask. Task-number: QTBUG-61775 Change-Id: I0cb00de8dcaece613467e25b41e93661d6e98308 Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: André Hartmann <aha_1980@gmx.de> Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
* | Blacklist tst_QWidget::raise on openSUSEKari Oikarinen2018-05-091-0/+2
| | | | | | | | | | | | | | | | | | The test occasionally gets an unexpected paint event on openSUSE. Task-number: QTBUG-68175 Change-Id: I998d79dd12aac1f924c14d7ff7e864c4f081983c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* | Merge "Merge remote-tracking branch 'origin/5.11.0' into 5.11" into ↵Liang Qi2018-05-0910-39/+617
|\ \ | | | | | | | | | refs/staging/5.11
| * | Merge remote-tracking branch 'origin/5.11.0' into 5.11Qt Forward Merge Bot2018-05-0910-39/+617
| |\| | | | | | | | | | Change-Id: Id6e2acd5e31c1ac858ddf1d8873a6f10694141de
| | * Add changes file for Qt 5.11.0v5.11.0-rc1Antti Kokko2018-04-301-0/+399
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Done-with: Thiago Macieira <thiago.macieira@intel.com> Done-with: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Done-with: Richard Moe Gustavsen <richard.gustavsen@qt.io> Done-with: Timur Pocheptsov <timur.pocheptsov@qt.io> Done-with: Mårten Nordheim <marten.nordheim@qt.io> Done-with: Lars Knoll <lars.knoll@qt.io> Change-Id: I7584f8d010ab6abffcd5c92ac6192a04dc20074d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| | * QSysInfo: Correct the \since for {machine,boot}UniqueId()Thiago Macieira2018-04-251-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | The code was written before 5.10 was released, but took long to be merged. Change-Id: If90a92b041d3442fa0a4fffd15286fe079b058e1 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| | * syncqt: fix CamelCase aliases for injected headersOswald Buddenhagen2018-04-252-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | don't put them into GENERATED_HEADER_FILES, as they obviously cannot be found in a pre-synced source dir. instead, let the injection code itself add them to INJECTED_HEADER_FILES. Task-number: QTBUG-67813 Change-Id: Id2a7c565b14fcba8aba9d1dd8b1dd39c586d0d91 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| | * syncqt: don't write INJECTED_*HEADERSOswald Buddenhagen2018-04-252-15/+6
| | | | | | | | | | | | | | | | | | | | | | | | these are actually redundant with INJECTIONS. Change-Id: I0a71930401e00d30c9898b4d958de5e89c496d18 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| | * Fix documentation of setBackendConfigurationOptionAndré Klitzing2018-04-252-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | Introduced by mistake in f55c73ede28d4455f555a28e401407326ac9b954 Change-Id: Ieac8fc0a6bb536e5ef3770a22785fe41d4033ee9 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
| | * Merge 5.11 into 5.11.0Oswald Buddenhagen2018-04-2022-433/+336
| | |\ | | | | | | | | | | | | Change-Id: I11c61dc1259ed66d871ecab2666085ccf37a9342
| | * | Document libdbus-1 code in Qt D-BusKai Koehne2018-04-203-1/+178
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][Third-Party Code] Libdbus-1 code in Qt D-Bus is now properly documented. The code is licensed under AFL-2.1 OR GPL-2.0-or-later. Change-Id: I38bd6f38175562fff03ae84fc7a5c435de4cb972 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * | Also support reset notification on non-nvidiaAllan Sandfeld Jensen2018-04-191-15/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In 5.11 robustness was added for nvidia drivers, this patch extends that to other opengl drivers, and fixes the reported format. Change-Id: Ia81934c3bcf13e7300fb4e75674ea63317039870 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | | | Stabilize tst_QMdiArea::subWindowListKari Oikarinen2018-05-091-6/+4
|/ / / | | | | | | | | | | | | | | | | | | | | | Flakily failed on openSUSE. Task-number: QTBUG-68170 Change-Id: Ic75e081238ccf4bad54de39e6bdaa892796b599e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | | tests/auto/widgets/itemviews: Avoid unconditional qWait()sKari Oikarinen2018-05-099-170/+90
| | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-63992 Change-Id: Id4fcb0c2e4f83edd9508565468e16f57e100c780 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* | | Fix build with GCC 8: memset/memcpy/memmove of non-trivialsThiago Macieira2018-05-091-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | qarraydataops.h:73:17: error: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct TCBPoint’; use assignment or value-initialization instead [-Werror=class-memaccess] Change-Id: I5d0ee9389a794d80983efffd152ce10eb557341f Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
* | | Fix build without features.completerTasuku Suzuki2018-05-091-0/+2
| | | | | | | | | | | | | | | Change-Id: Idc79921f85a920bc8c1280513ce78ee0cb00d415 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | | qlalr: Fix startup crash in static buildsFriedemann Kleint2018-05-086-51/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace the global variables qout, qerr by a functions to delay the initialization. Task-number: QTBUG-68166 Change-Id: Ib023da1bccc7eabc6e633ccb8945e5f209c5765e Reviewed-by: Kevin Funk <kevin.funk@kdab.com> Reviewed-by: Brett Stottlemyer <bstottle@ford.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | | tests/auto/network: Avoid unconditional qWait()sKari Oikarinen2018-05-085-33/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | Replace with QSignalSpy or QTRY_COMPARE when possible. Task-number: QTBUG-63992 Change-Id: I18dc8837301424855487a12ee62451a5aeb21bf0 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | | QtGui: Enable synchronous delivery for QWSysIf:::WindowScreenChangedEventFriedemann Kleint2018-05-082-2/+4
| | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-67777 Change-Id: I6d52b650fb33283010ef06259da83cdb2fd3483f Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | | Manual dialogs test: Add about dialog showing style and scalingFriedemann Kleint2018-05-081-0/+43
| | | | | | | | | | | | | | | Change-Id: I8750956056466d3cfd99903fb5e432ac81223403 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* | | Fix building with -no-feature-shortcutJoni Poikelin2018-05-083-0/+12
| | | | | | | | | | | | | | | Change-Id: I7576055a6d81d6a7a075ebff16ca6b0ced4e984e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | | Fix build without features.timezoneTasuku Suzuki2018-05-082-0/+6
| | | | | | | | | | | | | | | Change-Id: I3f8421103afa61baf415636b4dc8cf93fb477bcc Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | | QShortcutMap: print ambiguous shortcuts when DEBUG_QSHORTCUTMAP is definedMitch Curtis2018-05-071-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is useful to see why shortcuts (in Qt Widgets and Qt Quick) are not behaving as expected. For example: The following shortcuts are about to be activated ambiguously: - QKeySequence("Esc") (belonging to QQuickShortcut(0x7fcd4c8e6a70, name = "exploreViewBackOrCloseShortcut")) - QKeySequence("Esc") (belonging to QQuickPopupItem(0x7fcd4c8e5110)) Change-Id: Id20a3017d69cfe417c2286dccf46b3d5ff0b31b2 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | | TestLib: Fix license headers in qabstractitemmodeltester.*Kai Koehne2018-05-072-10/+32
| | | | | | | | | | | | | | | Change-Id: Ide05bcdd30cd5f672949aacd5564a4a73c38366d Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | tst_qresourceengine: Fix test for static MSVC buildsOliver Wolff2018-05-071-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | The test relies on the existence of qt-project.org in resources. It contains mimetype data and is automatically added. For static builds on MSVC it is only added if it is actually needed though. Change-Id: Icd1d74466607196f9b635205f7cb4d9b300ec4b8 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | | tst_qresourceengine: Fix test for configurations with builtin_testdataOliver Wolff2018-05-072-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If builtin_testdata is present additional data ends in inside of resources so that tests can access this data when needed. The addiitonal data has to be taken into account in the resource engine's test. Change-Id: I10de6b9612ca49b314d77cfadd5b2360a5d90d53 Reviewed-by: Andre de la Rocha <andre.rocha@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | | tst_qiodevice: Skip broken winrt testsOliver Wolff2018-05-071-0/+6
| | | | | | | | | | | | | | | | | | Change-Id: I399cc1aed3ee4151cf6adfd8f8780d8975604d52 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io> Reviewed-by: Andre de la Rocha <andre.rocha@qt.io>
* | | macOS + FreeType: Properly distinguish memory fonts from file fontsTor Arne Vestbø2018-05-041-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In recent macOS versions the descriptor created from the function CTFontManagerCreateFontDescriptorFromData() will contain the NSCTFontFileURLAttribute with a value such as: file://iNmEmOrYcGfOnT_0x101d3c3a0#postscript-name=New Which means we can't use the presence of the kCTFontURLAttribute to determine that we're dealing with a file font. Instead we check for our custom kQtFontDataAttribute first, which is only set for memory fonts. Task-number: QTBUG-68044 Change-Id: Ie87d06b5a9e0e251305200b717f18ef68ccc6abc Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* | | QAbstractEventDispatcher: add a note about the timer range for Qt 6Thiago Macieira2018-05-041-0/+1
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-67383 Change-Id: I00ccecb71c774bb9b86cfffd15205b4f38088764 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | Fix Clang 6 warning about comparing different enumsThiago Macieira2018-05-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | qdialogbuttonbox.cpp:862:14: error: comparison of two values with different enumeration types in switch statement ('QDialogButtonBox::ButtonRole' and 'QPlatformDialogHelper::ButtonRole') [-Wenum-compare-switch] Change-Id: I3840d727dee443318644fffd1529350b81678712 Reviewed-by: André Hartmann <aha_1980@gmx.de> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | Generate more Windows/Linux-like Qt keyboard eventsJames McDonnell2018-05-042-198/+122
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The QKeyEvent::key values were significantly different on QNX and some QKeyEvent::text values were also different/missing. Also makes it possible to enter numbers via the numeric keypad. Change-Id: Ifcf6284b99a893a87974d37ec6d6976f88241e61 Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: Dan Cape <dcape@qnx.com>
* | | Avoid to fail to close stream on exceptionAndré Klitzing2018-05-041-15/+43
| | | | | | | | | | | | | | | | | | | | | | | | Move .close() to finally block. Found by spotbugs. Change-Id: I1d11f52c79e805082f05801e4ef0ec94c6dc4e6e Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* | | OpenSSL 1.1.1: Fix tst_QSslCertificate::toTextMårten Nordheim2018-05-042-1/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The formatting of the output from QSslCertificate::toText has changed slightly from before, so it no longer matches the test's data. From what I can tell we just do a manual sanity check and create a new file with the new output and then augment the test. Task-number: QTBUG-67463 Change-Id: I751e5a3f9a28015f97c895cea47384704fd68e38 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | | Fix crash in qsslsocket_opensslMårten Nordheim2018-05-041-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | We were using the wrong free function in a path which was hit in an edge case (PKCS#12 certificate without a private key attached). Change-Id: I5335b5dea7a926b242bed0fd9b989b681a5828d8 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | | QJsonDocument: Validate also zero-length objectsJüri Valdmann2018-05-042-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The added test case is the binary JSON equivalent of {"a":{"š":null}} with two modifications. First, the length of the string "š" has been corrupted to 0xFFFFFF00. Second and more import, the Base::size field of the inner object has been reset to 0. On its own the first modification would normally trigger a validation error. However, due to the second modification the Value::usedStorage for the inner object evaluates to 0, completely disabling all further validation of the object's contents. Attempting to convert this binary JSON into standard JSON will lead to the JSON writer trying to construct a QString of length 0xFFFFFF00. Fixed by validating also objects with usedStorage == 0. Task-number: QTBUG-61969 Change-Id: I5e59383674dec9be89361759572c0d91d4e16e01 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>