Commit Graph

37771 Commits (eafad93c3da9fae0e0445393a5a8d90348ae2e13)

Author SHA1 Message Date
Edward Welbourne eafad93c3d Make util/lexgen/ mention itself in its auto-gen line
In the process, update the README's e-mail address for Simon and
mention all recognized command-line options in the usage message.  The
generated CSS scanner was also out of sync with our source, so update
it.  Also fixed handling of FileHeader to cope with running from a
shadow build by handling paths relative to __FILE__; and revised the
CSS3 config to use the same copyright header as was already in use by
the existing generated file.

Change-Id: I918ff84dbdc95d0478fd6aa4ea74e9a221d1a476
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2018-11-01 15:07:05 +00:00
Edward Welbourne c03803b9b3 Clean up some array dereferncing
Use array dereferencing notation ptr[expr] rather than the more
verbose and less readable *(ptr + expr).

Change-Id: Ie98986e7f622aa1a94f3f14bc362ed65767f9d92
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
2018-11-01 15:06:52 +00:00
Edward Welbourne 33d7f76f0e Tweak a selftest blacklist to exercise more of the blacklisting code
In the process, corrected an inaccurate XFAIL message (an XPASS is
normally an error, unless blacklisting ignores it so turns it into a
BPASS). Added the missing .tap file to its expected output.
Documented the similarity to the silent/ selftest.

Task-number: QTPM-1385
Change-Id: Id74a1353d54af2f3bfe2c764e33c1f051958ab21
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
2018-11-01 15:06:43 +00:00
Edward Welbourne f00b72f133 Remove some unused code from QTestCoreList
A count(T *list) was declared but not defined; and the plain count()
that was defined isn't called by anything.  It's in a private header,
so can be removed without harm.

Task-number: QTPM-1385
Change-Id: I1ac580d57996895a4123b4f55fa984e9c8001ecb
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
2018-11-01 15:06:35 +00:00
Edward Welbourne 35bba2cac5 More const; don't take mutable char *argv[] where const is all we need
QTest::qtest_qParseArgs() takes a needlessly mutable parameter.
This needs transient legacy version until qtdeclarative is converted
to use the const-qualified variant.

Change-Id: I19fad25423f6f1ea7d5fac537815f4f633ac4405
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
2018-11-01 15:06:26 +00:00
Edward Welbourne e089989bac Dedent a block of code in a namespace for consistency with the rest of the block
Change-Id: I98920db658547f5301d31ffdc9efb6fdd6f6fc5a
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
2018-11-01 15:06:17 +00:00
Edward Welbourne b22e50acda generate_expected_output.py: match tst_selftest's test environments
The testlib selftest sets various things in the environment for
crashing tests; the generator for its expected output should set the
same things, as they affect what output is produced.

Change-Id: Iec2ed59982ea1043582573530c33619d8e8ed08e
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
2018-11-01 15:06:08 +00:00
Edward Welbourne 30101884a6 Simplify tst_Selftests::compareLine by handling the trivial case first
If the two lines have identical texts, the comparison returns true.
So don't complicate various other conditions on the way there with
filtering out that case; deal with it first so they don't need to.

Change-Id: Iebd230704ce5f53d12d5afa64aab30f83bb9d407
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
2018-11-01 15:05:59 +00:00
Edward Welbourne 779a73762d Fully support operator[] on QCborValue and QCborValueRef
Added operator[] to QCborValueRef and mutating operator[] both there
and in QCborValue.  If the value (referenced) is not a container, it
is replaced with a map and a reference into the result is returned.
If the value is an array and the key is a string, negative, or more
than 0xffff, the array is first converted to a map.

Change-Id: Ibbc9e480fb25eb3d05547c8a1b99e762b2a68b68
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-11-01 15:02:46 +00:00
Qt Forward Merge Bot f09fc1f352 Merge remote-tracking branch 'origin/5.12' into dev
Change-Id: I6f8d3abd3247dc980dc7834801a017a89c8f4286
2018-11-01 01:01:28 +01:00
Robert Loehning cc9645f11b configure: Add switch for adding coverage info
Change-Id: If6f3d4f29233206ef911f48e63872d28bf7b8e71
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2018-10-31 15:08:59 +00:00
Gatis Paeglis f5c0a19077 xcb: move clipboard code out of QXcbConnection::processXcbEvents
... to QXcbConnection::handleXcbEvent(), which is where it belongs.
This patch amends bc6f5b3ff6 (Sep, 2013).

And some other design cleanups.

Change-Id: Iefa0793c58de16a59d2294f38311e1e8dfa3035b
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2018-10-31 10:35:33 +00:00
Gatis Paeglis f25c686462 xcb: remove leftover function
It was forgotten in 4050ee6ac7

Change-Id: Icace56161b8ae372dba105f82da0d1c1b69542c1
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
2018-10-31 10:35:20 +00:00
Jarek Kobus deee147aca Fix doc
Change-Id: I75386b948763bbe784fc36abe7e69696bc04219d
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2018-10-31 10:34:01 +00:00
Kari Oikarinen a952fd7d5b QObject: Fix isSignalConnected() when signals have been disconnected
The bitmap cache for the first 64 signals being connected was only set when the
connection is added. It was never unset when the connection was removed.

Internal use of the connectedSignals bitmap is not hurt by it occasionally
saying a signal is connected even though it is not, since the purpose of those
checks is avoiding expensive operations that are not necessary if nothing is
connected to the signal.

However, the public API using this cache meant that it also never spotted
signals being disconnected. This was not documented. Fix the behavior by only
using the cache if it is up to date. If it is not, use a slower path that gives
the correct answer.

To avoid making disconnections and QObject destructions slower, the cache is
only updated to unset disconnected signals when new signal connections are
added. No extra work is done in the common case where signals are only
removed in the end of the QObject's lifetime.

Fixes: QTBUG-32340
Change-Id: Ieb6e498060157153cec60d9c8f1c33056993fda1
Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
2018-10-31 10:32:41 +00:00
Jan Grulich 4c37b64411 Add terminating character when sending byte arrays in FileChooser portal
Terminating character is needed for gtk portal backend, which is not
able to contruct a string without it and thus not able to pre-select a
file or a directory in file dialog.

Change-Id: I5b40fb1ce584936fc92e93f38dc8559890852d99
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-10-31 09:58:52 +00:00
Jüri Valdmann 497f43c90f tst_QCborValue: Disable support for spaceship operator
Spaceship operator was disabled for QCborValue, but not the test.

Change-Id: Icb91da689f62ef6de9f4fa926346505c5e50e9eb
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-10-31 09:46:11 +00:00
Friedemann Kleint 7f54ea714e QtCore/Windows: Add pointer messages to the debug operator for MSG
Task-number: QTBUG-71257
Change-Id: I53a4cee7b84b4075342cc016bb3382f473c27788
Reviewed-by: Andre de la Rocha <andre.rocha@qt.io>
2018-10-31 09:35:30 +00:00
Oliver Wolff 7e7514482f winrt: Skip a test row of tst_QRegularExpression::threadSafety
PCRE2 does not support JIT on winrt. This test row takes a long time
(30 seconds here) without JIT and thus might cause test timeouts in
COIN when run on winrt.

Change-Id: I79d9f6be16dbe16594ae2bf51f353acd06b3d2fe
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2018-10-31 09:35:29 +00:00
Oliver Wolff aa0e3d02d5 winrt: Use SwitchToThread instead of Sleep(0)
UWP also supports SwitchToThread. The usage of Sleep(0) was a leftover
that was forgotten when porting to desktop Window's approach of handling
threads.

Change-Id: I5e3d6fb3eefe07407b910cc6a6b45781d320e151
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-10-31 09:35:28 +00:00
Olivier Goffart 0330b967f2 Simplify the Q_FOREACH macro when using C++17
This way there is only one for loop, which is more optimizer friendly

Change-Id: Iaa02026627d5259c3eea1ff5664e8f22664eef73
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-10-31 09:07:49 +00:00
Tobias Hunger 22788194f9 Gui: Q_GADGET is missing in qlayoutpolicy_p.h
Change-Id: I1244c507da7e4afeb16093112f52b191fd16fb0d
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2018-10-31 08:52:11 +00:00
Jędrzej Nowacki c4a93281a7 Add change log about source incompatibility in moc output
"Use std::addressof for taking an address instead of operator& in moc"
(5b99f3a34f) introduced a dependency to
std memory header. That change exposed code that was including
the moc output from within a namespace. That was never supported nor
valid, but it used to compile. The problem was not detected earlier
because both other includes where already included to support QObject
itself and therefore inside the moc output their header guards were
disabling their content.

Task-number: QTBUG-68191
Task-number: QTBUG-70907
Change-Id: I18462ed17d748a114fe2e5b6bf9aeb56ee26e2db
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-10-31 08:38:50 +00:00
Frederik Gladhorn 102a919b73 Generate documentation .tags files for all of the docs
This allows others to link to QtDBus and the other libraries/tools using
doxygen.

Fixes: QTBUG-60933
Change-Id: I026895a432a328f224c40cf231ad12d109dc648f
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
Reviewed-by: Martin Smith <martin.smith@qt.io>
2018-10-31 08:38:02 +00:00
Tor Arne Vestbø b75babc6ae QGLWidget: Prevent premature platform window creation
Passing Qt::MSWindowsOwnDC along with the window flags to the QWidget
constructor results in creating a native window as part of the base
class initialization.

By deferring the window creation to later in the QGLWidget construction,
the meta object reflects the actual class.

Change-Id: I51343c767057d6841331614b93ad860fe99d65e3
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2018-10-31 07:27:05 +00:00
Andre de la Rocha eb056ee233 Fix painter opacity being ignored when rendering to PDF
The opacity set on a QPainter was being ignored for drawImage()/drawPixmap()
calls when rendering to a PDF file through QPdfWriter/QPrinter. This change
fixes it for PDF files v1.4 (default version) or v1.6. For PDF/A-1b files,
opacity will remain ignored to ensure compliance with the specification.

Task-number: QTBUG-70752
Change-Id: I4280e898698e0367dfb4c6ac2cd14ca2bf98850e
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2018-10-30 17:48:23 +00:00
Martin Smith 7087a68fbf doc: Add \since 6.0 to future functions
qdoc needs to know that a qdoc comment should not be part of the
documentation until a future version. In this case, some new functions
were declared to become active in Qt 6.0, but qdoc had no way of
detecting this and reported errors about them incorrectly. Adding
\since 6.0 to the qdoc comments for these functions allows qdoc to
ignore them without printing the errors.

It is also not allowed to document static functions declared in .cpp
files, because these functions are not in the public API. The qdoc
comment marker was removed from the comments for a few such static
functions.

Change-Id: I55ce0e8fb823b1dcf498d5a2436ddb20ad0a7527
Reviewed-by: Martin Smith <martin.smith@qt.io>
2018-10-30 17:20:10 +00:00
Martin Smith 1864748136 doc: Let qdoc parse qdtls.h even without dtls
This update removes the requirement for dtls to be present when qdoc
runs so that qdoc can parse qdtls.h.

_#ifndef Q_CLANG_QDOC
 QT_REQUIRE_CONFIG(dtls);
_#endif

Change-Id: I69ba5e378bebe86f93830d14e3956eb0d677508e
Reviewed-by: Martin Smith <martin.smith@qt.io>
2018-10-30 17:20:00 +00:00
Tor Arne Vestbø 56410a51cc Clarify behavior of QCoreApplication::processEvents
The overload that takes a maxtime (now duration) was buggy, but we can't
change its behavior, so instead we clarify what it actually does.

Change-Id: I8a04fbaea5847c95b6ec6e73396304ab4debd35b
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2018-10-30 12:32:29 +00:00
Joni Poikelin fc1ab49cd7 Fix leak in QContiguousCache::setCapacity
Fixes: QTBUG-52125
Change-Id: Id0073e73279d049cf3f89ef6ea3a5ca1027efb0d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-10-30 10:08:47 +00:00
Albert Astals Cid 58d2180dfa Add since 5.11 markers to two QFile enums
Change-Id: Iaa015046cdcece10c28437da40fcd6cdc9d55eb3
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-10-29 18:11:10 +00:00
Rafael Roquetto d02fed6781 macOS: restore hidden popup windows
We need to to explicitly unhide popup windows that were previously
explicitly hidden by applicationWillHide, so that their visibility will
be effectively restored when the application is unhidden (otherwise the
windows are gone forever even though their internal visibility is set to
true).

Change-Id: I4dbd209b07f769cc815851b40c41db0739ca2dc9
Task-number: QTBUG-71014
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2018-10-28 22:52:00 +00:00
Ivan Komissarov 95476bfcf6 qendian: Fix float conversions
Since Qt 5.10, qTo/FromBig/LittleEndian<float/double> stopped working.
It may be confusing, but big endian floats do exist, so not to break old
code, we should support them.

Change-Id: I21cdbc7f48ec030ce3d82f1cd1aad212f0fe5dd0
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-10-28 22:26:56 +00:00
Liang Qi 00b2e45a97 Merge "Merge remote-tracking branch 'origin/5.12' into dev" into refs/staging/dev 2018-10-26 10:28:24 +00:00
Andre de la Rocha 9cd527bc1f Add support for generating PDFs with losslessly encoded images
This patch adds the QPainter::LosslessImageRendering flag to
QPainter::RenderHints and allows QPdfEngine to recognize it and encode
images using a lossless data compression algorithm provided by zlib
instead of using lossy JPEG compression, which can produce artifacts
with some images.

Task-number: QTBUG-54809
Change-Id: If9e2bc64da3bf3afcd5d6c74f0ee82336ef05a19
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2018-10-25 22:03:23 +00:00
Lorn Potter 269172037d wasm: use maintainTimers instead of processEvents for touch callback
Change-Id: If39cdeedef60a47c0ba1afbab6adf1668bf5d0d6
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2018-10-25 18:42:54 +00:00
Timur Pocheptsov b10ee45546 tst_qeventdispatcher: remove macOS from the BLACKLIST
the test is stable in Qt 5.12.

Task-number: QTBUG-60993
Change-Id: I0c366567121688d9518e90b5e8f9ec1b4006b7b9
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2018-10-25 11:51:53 +00:00
Timur Pocheptsov 321f11db53 tst_QLocalSocket::processConnections: remove QSKIP
on macOS, the test seems to be stable nowadays.

Task-number: QTBUG-39986
Change-Id: I18430c3feb27a5bee5474e1eb95f7d89b25f00a9
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2018-10-25 11:51:48 +00:00
Timur Pocheptsov 95ba049f87 Remove QSKIP and bring the test back to business
on macOS, where it was skipped but where it now seems to be stable/work.

Task-number: QTBUG-39983
Change-Id: I100a57f23b43074ebacc012be247d92acc6ae336
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2018-10-25 11:51:42 +00:00
Gatis Paeglis 8e1c807628 xcb: fix unresponsive mouse clicks after VT switch
This patch amends d67214302f.

The issue was caused by mistakenly interchanging
m_hasXRender <-> m_hasXRandr. Also renamed
selectXRandrEvents() -> xrandrSelectEvents() to be more
consistent with xi2Select*() API. And moved the xrandrSelectEvents()
to QXcbConnection ctor for the same reason.

Fixes: QTBUG-71305
Change-Id: I26f9bac3ae1f997f53134eb97f3569fb6d3c13fe
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2018-10-25 11:42:30 +00:00
Andre de la Rocha 88fe7c8cad Windows QPA: Fix 2-finger scroll not working with some touchpads
It seems some touchpads only send legacy WM_MOUSEWHEEL/WM_MOUSEHWHEEL
messages for 2-finger scrolling, instead of WM_POINTERWHEEL/
WM_POINTERHWHEEL, even after EnableMouseInPointer(TRUE), in spite of
sending the expected pointer messages for normal pointer movement/taps.
This change adds a workaround to handle legacy wheel messages even when
in pointer mode.

Task-number: QTBUG-71257
Change-Id: Ib360051147c4521751a5b91d90fa7657496777fa
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2018-10-25 11:40:30 +00:00
Oliver Wolff 013cf4aeb3 angle: Add additional information to qt_attribution.json
Task-number: QTBUG-71112
Change-Id: If1b81589f295657597a9dfa3671128a927cbe488
Reviewed-by: Andre de la Rocha <andre.rocha@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2018-10-25 11:24:10 +00:00
Oliver Wolff e524724f9d tst_qfilesystemmodel: Do not use nested calls of auto test functions
Calling rowCount inside another auto test function yields unexpected
results, if rowCount fails. Without a check for QTest::currentTestFailed
the failure will not stop the calling function and other functions like
rowsInserted and rowsRemoved might happily continue even though their
requirements are not met. That caused a crash on winrt under certain
circumstances.

In addition to that TRY_WAIT now does not only wait for the given
amount of time, but also gives feedback about its result. Before
this change TRY_WAIT was basically useless, as it gave no indication
about its success/failure.

Fixes: QTBUG-71121
Change-Id: Ibd3f233a0b913db799814be97c4274d510643c74
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2018-10-25 11:24:08 +00:00
Liang Qi e28e91ae99 Merge remote-tracking branch 'origin/5.12' into dev
Conflicts:
	src/corelib/animation/qpropertyanimation.cpp
	src/gui/image/qicon.cpp
	tests/auto/widgets/itemviews/qtableview/tst_qtableview.cpp

Change-Id: I3698172b7b44ebb487cb38f50fd2c4a9f8a35b21
2018-10-25 07:21:53 +02:00
Martin Smith 5ea233ca67 doc: Remove indistinguishable declaration
QTimer contains a template member function callOnTimeout(), which accepts
a variable number of arguments. Because it is difficult to document such
a general function, several specific declarations were added under the
guard Q_CLANG_QDOC that represent the typical ways this function is used.
They are easier to document because they have specific signatures.

Unfortunately, the clang parser recognizes two of them as being the same,
so this change removes one of the two. It also adjusts the documentation
of the remaining one so that it indicates both uses.

Change-Id: Ifa7bed9093bd1491b7bfe154990864454885c003
Reviewed-by: Martin Smith <martin.smith@qt.io>
2018-10-23 15:08:00 +00:00
Tor Arne Vestbø ebfad73b4e macOS: Fix NSOpenGLContext view association check
The expression "m_context.view = view" always evaluates to the view,
so the check was flawed.

Change-Id: Icef4ba5244975ccd78a151c7d40c53b2364c6148
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2018-10-23 07:21:24 +00:00
Ryan Chu 0107b695f0 Make sure docker machine is both created and running before test
Before reading the configuration of a docker machine, the machine shall
be created and started. Otherwise, the docker command will complain
about "cannot connect to the Docker daemon".

If the docker machine has not been created, the make check will be
immediately terminated, and then print the error message. If its status
is not running, the machine will be turned on by a start command.

Change-Id: I7f4c322e7bdf29e4e4203e0e1bbc2e5c8cf677be
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
2018-10-23 05:26:31 +00:00
Friedemann Kleint c053885735 Windows/QPA: Fix receiving mouse clicks after double clicks in QQuickWidget
The Qt QPA does not handle native double clicks as such; change the plugin
not to send them.

For Ink, remove the doubleclick detection. For the old code path,
map them to Press.

Fixes: QTBUG-70999
Change-Id: I54b858f9e146bf325a861554d5ef74143db7d2b7
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2018-10-22 17:25:01 +00:00
Ivan Komissarov 17f4adfe18 Use std::unique_ptr for memory management in QMimeDataBasePrivate
This change simplifies memory management as long as it doesn't requires
manuall calls to qDeleteAll and manual deleting/nulling pointers.

Change-Id: Id0dc563d0b1e74ae33939d90d4b39999020cd7ce
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2018-10-22 16:24:40 +00:00
Ivan Komissarov 903666a602 qtriangulator: Remove a bunch of dead code
There is no sense in testing the 'm_array' pointer against null, as the
memory was allocated using the 'new' operator. The exception will be
generated in the case of memory allocation error.

Task-number: QTBUG-71156
Change-Id: Ib76d16d38d2b0b0c4c9fae3d8d5bdd86af0d08ff
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-10-22 16:24:25 +00:00