summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Introducing SH_SpinBox_ButtonsInsideFrameGabriel de Dietrich2018-02-055-37/+26
| | | | | | | | | | This is currently only used in QMacStyle since, on macOS, the spin-box buttons are always beside the line-edit. Hence, there is no need to tamper with the line-edit frame. Change-Id: I8ccfbab547fccae89a8ddeaeb7005cb17d5951e6 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* QMacStyle: CC_SpinBox is now HITheme-freeGabriel de Dietrich2018-02-052-31/+34
| | | | | | | | | | | | | | | | | | | | Bonus changes in this edition: * The focus frame shows only around the spin-box's line-edit, as it should. This requires getting access to the spin-box's line-edit, which we do by setting a property on the former. Notice that the stepper doesn't get focus. On this point, macOS is inconsistent (partly because there's no such thing as an NSSpinBox, and partly because spin-box buttons are a separate control), so we copy the same focus behavior as NSDatePicker. * We clean some QFocusFrame related dead code in QMacStyle::event(). Change-Id: I204ca2093d9db343c78f0420811dda35c463bbcd Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Unconditionally log to stderr, regardless of qt_logging_to_console()Tor Arne Vestbø2018-02-051-1/+1
| | | | | | | | | | | | | | | Regression after 114f7952217c9c, which incorrectly assumed that checking qt_logging_to_console() was a safe behavior change to include. Unfortunately that broke debug output in Qt Creator, as Creator doesn't seem to run applications with a controlling TTY unless it itself was started with one, and doesn't set QT_LOGGING_TO_CONSOLE to force log console output either. Task-number: QTBUG-66153 Change-Id: I775cb06953122a3f20c16bfe21e19de2d1aa5b52 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* QVariant: convert QDateTime and QTime to string with millisecondsThiago Macieira2018-02-052-4/+10
| | | | | | | | | | | | | | This way, it's lossless. This commit is a cherry-pick of ab1e50757454b5afda2f6dec52d2eb16a32d4798, which was reverted. [ChangeLog][QtCore][QVariant] Conversions of QDateTime to strings now contain the millisecond components. Change-Id: I5e421e32396d44e4b39efffd150b744e40fff3a1 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
* eglfs_kms_vsp2: Add support for setting layer alphaJohan Klokkhammer Helsing2018-02-059-0/+63
| | | | | | | Exposed through QEglFSFunctions::vsp2SetLayerAlpha. Change-Id: I2a600971d5a2aa56d4bf7cde03df3323f17249cd Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Say hello to ImhNoEditMenu & ImhNoTextHandlesBogDan Vatra2018-02-052-0/+6
| | | | | | | | The actual implementation for Android will come later. Change-Id: Ia68fcb03ea5d769d302ec6f77e5666292b567ffa Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* QPlatformWindow: add startSystemMove()Alexander Volkov2018-02-046-25/+61
| | | | | | | | | | | | | | It can be used by custom widgets or for example by the Breeze style from KDE, which allows to drag windows by some widgets. It's important on X11 because _NET_WM_MOVERESIZE requests induced by touch sequences require support from Qt. Task-number: QTBUG-58044 Change-Id: I31c37534555a9050cf361cad85bdef13c2808572 Reviewed-by: Johan Helsing <johan.helsing@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* QUtf8: Add some UTF-8 text operation functionsThiago Macieira2018-02-032-1/+169
| | | | | | | | | | | The first, isValidUtf8(), as the name says, returns true if the string is valid UTF-8. As a bonus, it also returns whether it's valid US-ASCII. The other two are meant to compare an UTF-8 string to either a Latin1 one or an UTF-8 one, without memory allocation. Change-Id: Ic38ec929fc3f4bb795dafffd150ad0d63e28cd32 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* QUuid: add a way to get the string form without the bracesThiago Macieira2018-02-033-7/+137
| | | | | | | | | | | | | | While we're at it, add a way to get it without the dashes too. I'm calling it "id128", as in "128-bit ID", as seen in journald's sd_id128_t type and the sd_id128_xxx() API. [ChangeLog][QtCore][QUuid] Added a parameter to both toString() and toByteArray() to allow controlling the use or not of the braces and dashes in the string form. Change-Id: I56b444f9d6274221a3b7fffd150cde706cfc5098 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* doc: Add missing \fn commands for new membersMartin Smith2018-02-033-11/+25
| | | | | | | | | | | | New members were added to QVarLengthArray and QVector, but the engineer didn't document them. Since they are only slightly different versions of existing functions, their \fn commands were added to the eisting qdoc comments. Some defined(Q_CLANG_QDOC) uses were also added. Change-Id: I8a5505ca27efc9205b1387ed0be310e4b74ec490 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* doc: Add tests of Q_CLANG_QDOCMartin Smith2018-02-032-6/+6
| | | | | | | Some defined(Q_CLANG_QDOC) uses were added. Change-Id: I5688fee0d0d8f00bb97e3e63bd02a68ddbfdda11 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* doc: Add qtlinguist to depends for QtWidgetsMartin Smith2018-02-031-1/+1
| | | | | | | | QtWidgets has one link to the linguist manual, so it needs to see the3 index file for qtlinguist. Change-Id: I2bbbc4cc9e6d43fed1b6cdee556bc9c4d5f01299 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* doc: Change \l StyleSheetEditor to \c StyleSheetEditorMartin Smith2018-02-031-1/+1
| | | | | | | | | A \l was changed to \c to be consistent with all the other references to the class name.. Change-Id: Ic7449a06e0a1f1d6d7087e11cc85258e81a0dfab Reviewed-by: Martin Smith <martin.smith@qt.io> Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* doc: Add 2 missing return types to \fn commandsMartin Smith2018-02-031-2/+2
| | | | | | | | | | | Return types were missing from two \fn commands, but clang-qdoc did not detect they were missing on macOS. clang-qdoc on linux did detect them. This could mean there is a problem with the function that matches a \fn signature with its declaration in the database. It might be too forgiving. Change-Id: I01f107a6162e2f36b594b5d3dd4029b8ef2db678 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* qdoc: Remove __cplusplus from the defines listMartin Smith2018-02-031-3/+1
| | | | | | | | __cplusplus was removed from the list of defines passed to qdoc because it should not be there for clang-qdoc. Change-Id: I32802e68d915f7a5b717f16ba26a1cd57d7ff645 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* QListView: Honor css :first/:middle/:last Pseudo-StatesChristian Ehrlicher2018-02-031-0/+9
| | | | | | | | | Properly set QStyleOptionViewItem::viewItemPosition to honor the css Pseudo-States. Task-number: QTBUG-27110 Change-Id: I9b9bb4913210feb665fd9d00a71dc4a953a93606 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
* QtEdidSupport: Fix private headersFriedemann Kleint2018-02-023-6/+12
| | | | | | | | | | | Fix warnings: QtEdidSupport: WARNING: qtbase/src/platformsupport/edid/qedidparser_p.h does not have the "We mean it." warning QtEdidSupport: WARNING: qtbase/src/platformsupport/edid/qedidvendortable_p.h does not have the "We mean it." warning Amends 5f7ab880558240be952b17a5dc0c9ea3805fc5cf. Change-Id: I3868096344480d509d7b7c1833389adaa67623a0 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* Skip QWSIF::WindowScreenChanged events if the screen is unchangedFriedemann Kleint2018-02-021-0/+2
| | | | | | | | | | | WindowScreenChanged events might be reported repeatedly from the QPA backends until the event has reached GuiApplicationPrivate::processWindowScreenChangedEvent() which sets the screen. Ignore events in case the screen is already correct. Task-number: QTBUG-65580 Task-number: QTBUG-62971 Change-Id: Ie5fc9830771e816db942355efbe5a48e829914cb Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
* Diaglib: Make mouse event logging more verboseFriedemann Kleint2018-02-021-0/+29
| | | | | | | | Add information about mouse tracking/grabbing for widgets and window where applicable. Change-Id: Idfe8bef6d146ff06dfe95c0bad5e29e7a4ea7adc Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Make it easier to specify test databases on a per system levelAndy Shaw2018-01-261-72/+52
| | | | | | | | | | | | | | | Instead of having to modify the tst_databases.h file whenever you want to add a test database, this will now read from a file to find what databases are available. This defaults to dbs.json in the same directory or the QT_TEST_DATABASES_FILE environment variable can be set to point to the file that contains the databases. The latter makes it easier for CI then to have something set up on a per configuration basis. The SQLite database stays hardcoded so this will continue to be tested as before without any additional changes. Change-Id: I7e7ccde6a6be3e490dd640b1590e3b691a6b2ab3 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* doc: clang-qdoc must not see certain function declarationsMartin Smith2018-01-242-2/+4
| | | | | | | | | | | | | | | The macro Q_DECLARE_INTERFACE declared some qobject_cast() functions that clang-qdoc must not see in the contexts where the macro is used. This update prevents that from happening by ensuring that Q_CLANG_QDOC is not defined when the macro is defined. This update also adds a \fn command for a declaration of qobject_cast() that was missing in the documentation. There are two versions of the function, one with a const parameter and one with a non-const parameter, and they both share one qdoc comment. Change-Id: Ic74d0aaae62767cd0391474ee95ae3f4f820b06e Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* doc: Add documentation for swap() functionsMartin Smith2018-01-242-0/+11
| | | | | | | | The functions had been added without documentation. This update adds the documentation. Change-Id: Ib29e9356b26c248b5fcc9f13ecf77371fbae054a Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* doc: Add more missing return types to \fn commandsMartin Smith2018-01-245-13/+7
| | | | | | | | Added missing return types to \fn commands and removed some unnecessary \internal comments. Change-Id: Ie6691f83a1c510134d1e83c3d98758360a67217e Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* doc: Fix a property declaration for clang-qdocMartin Smith2018-01-241-1/+1
| | | | | | | The * must be adjacent to the type for clang-qdoc. Change-Id: Icc3dedcb2f4cd426993901b8f3003c942e753c68 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* doc: Fix many qdoc warnings, mostly missing return typesMartin Smith2018-01-2421-49/+74
| | | | | | | | | | | Fixed many cases of missing return types in \fn commands. Added a fake GLxxx typedef for a GL type that wasn't there because the GL includes weren't accessible. Also added some fake declarations for a few functions declared in namespace Qt in QtWidgets that must be seen by qdoc in QtCore. Change-Id: Id82476042d0563d32fa85c4ae81a58c1298a468a Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* QOffscreenIntegration: add missing overrideAnton Kudryavtsev2018-01-241-2/+2
| | | | | Change-Id: I8165b44e28bd8da637e75e5b11bc429cdf2deb02 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* QDockWidgetTitleButton: Limit icon size to dpiScaled(10) on WindowsFriedemann Kleint2018-01-241-5/+47
| | | | | | | | Adding larger pixmaps to the icon caused the icon to grow. Task-number: QTBUG-38776 Change-Id: I29148d70afa55e287f2ad254e449a98c4aa631fb Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
* QCommonStyle: Add dock title bar iconsFriedemann Kleint2018-01-2415-0/+49
| | | | | | | | | Add larger pixmaps for the dock title bar icons; override them by the XPM in fusion style to maintain the behavior. Task-number: QTBUG-38776 Change-Id: I7d0e022bbf620d2aad2b6ee011b8bb9a745d7c3b Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
* Rename existing dock title icons to contain "macstyle"Friedemann Kleint2018-01-245-4/+4
| | | | | | | | Make way for adding dock title icons to QCommonStyle. Task-number: QTBUG-38776 Change-Id: If1729478f55f0bce5e04399d0cca98afd2facb31 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
* itemviews: When an index widget gets focus, update the current indexAndy Shaw2018-01-223-0/+74
| | | | | | | | | | | By ensuring that the current index follows the focus of an index widget, we can ensure that moving the cursor will happen in the way that is expected from the focused widget. Task-number: QTBUG-27793 Change-Id: Ia36891a94ce41c7d12fba678de23a6f3b69374ae Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
* QTextItemInt: replace 0 with nullptrAnton Kudryavtsev2018-01-221-6/+18
| | | | | | | | | While touching the code, move initialization from body of ctor to initializer list Change-Id: Idfcb4fb771d1414268f8685874395ca54b20621a Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* QMenuBar: Fix repetitive emission of triggered() when using addAction(QString)Yulong Bai2018-01-212-5/+33
| | | | | | | | | | | | | | | | | | The action which added by QMenuBar::addAction(const QString &text) already connected relevant signals and slots implicitly, however, while QMenuBarPrivate::updateGeometry -ing, it reconnects them if there's a extension button associated with a hidden popup menu. In that case the QMenuBar::triggered would be fired twice. Since the QAction's ownership may be changed or added dynamically, there are still very rare cases like several widgets share the same QAction object to result in this problem. [ChangeLog][QtWidgets][QMenu] Fixed a bug in QMenu that caused QMenuBar::triggered to be fired multiple times. Task-number: QTBUG-25669 Change-Id: I4d52e82a2136a992e0b37118e41237d96a2c5d22 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* Merge "Merge remote-tracking branch 'origin/5.10' into dev" into ↵Liang Qi2018-01-21161-12973/+13831
|\ | | | | | | refs/staging/dev
| * Merge remote-tracking branch 'origin/5.10' into devLiang Qi2018-01-20161-12973/+13831
| |\ | | | | | | | | | | | | | | | | | | Conflicts: tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp Change-Id: If089d5010d15c33b3c1f13912d4386207456c1a9
| | * QNativeSocketEngine: fix typo in warning messageAlex Trotsenko2018-01-201-1/+1
| | | | | | | | | | | | | | | Change-Id: Ic53a8a53b882f1e6b6434b943fff0a6fcd95f341 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| | * Fix cast-function-type gcc 8 warningAllan Sandfeld Jensen2018-01-182-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Gcc 8 now warns against casting functions taking references to functions taking pointers: warning: cast between incompatible function types from ‘QVariant (*)(const int&, const int&, double)’ to ‘QVariant (*)(const void*, const void*, double)’ [-Werror=cast-function-type] Suppressed by casting over void(*)(). Change-Id: I48bee53253b8e87110e8a49efa761fc2add89c5a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * Only define QT_FASTCALL on x86_32Martin Storsjö2018-01-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The __fastcall calling convention is silently ignored on other architectures. The GNU attribute regparm is allowed but doesn't make sense on x86_64. On other architectures, the attribute isn't supported at all. This fixes building with clang for MinGW/ARM and ARM64. Change-Id: Ice1c6eadd0e90b2e5e34736542ee49a25dc67fe6 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * Fix gcc 8 string-op-truncation warningAllan Sandfeld Jensen2018-01-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Don't use the full size of dest in strncpy, we override the last byte anyway afterwards. Change-Id: I9f1618cc9019e0060f01deed58a726caa1989d3f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * Skip arm pixman drawhelpers on windows just like on iosMartin Storsjö2018-01-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Windows on arm (which uses clang, or msvc, but no gcc is available for that setup) can't assemble these sources. (On linux, builds with clang force deferring it to the external assembler, but for windows on arm, no gas compatible external assembler is available). Change-Id: I139572257884cfdc57d3c32061a8c2e28c6e24de Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| | * Doc: add doc to Anchor Layout ExampleNico Vertriest2018-01-181-0/+43
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-60635 Change-Id: Iec6cae8c3caeac4bfabddae79b6ed2b47c5f2edf Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
| | * Undef interface in more places, fixing builds with libc++ on windowsMartin Storsjö2018-01-185-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After including windows.h, interface is a define that expands to "struct" (unless WIN32_LEAN_AND_MEAN is defined). This name is used as a normal identifier in multiple places within Qt. This has already been worked around in a number of places (in e.g. 3ba61d9baa569ea69e41a943981680c09c521ff7 and 786d23bb4966b6697ac04c43158e2312d898e133). After qrandom.h was included in <QtCore/QtCore>, this header implicitly includes <random>. In libc++ on windows, this header then transitively includes windows.h, exposing the clash with the name "interface" in even more locations than before. For cases within qtbase internals, it could also alternatively be handled by defining WIN32_LEAN_AND_MEAN while building QtDbus, but for occurrences in public headers, the undef trick needs to be used. Change-Id: I89754f38f55ae7f2145255a2c8a71b23492be6a1 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * Merge "Merge remote-tracking branch 'origin/5.9' into 5.10" into ↵Tor Arne Vestbø2018-01-1726-12902/+13540
| | |\ | | | | | | | | | | | | refs/staging/5.10
| | | * Merge remote-tracking branch 'origin/5.9' into 5.10Tor Arne Vestbø2018-01-1626-12902/+13540
| | | |\ | | | | | | | | | | | | | | | Change-Id: I896b0cf54f317c4336cc3d3db319a0b89e421728
| | | | * Prevent O(n^2) behavior when calling QObject::deleteLaterErik Verbruggen2018-01-163-14/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a deleteLater event is queued, a check if done if the same event for the same receiver is queued before by scanning all pending events. This leads to quadratic behavior, which is quite noticeable. By using an unused bit in QObjectData, this can be prevented. Now the duplicate event scanning in QCoreApplication is only done for the quit event. Task-number: QTBUG-65712 Change-Id: Ie505acbbec802f91ebd0b94ac067e362c2476113 Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| | | | * Use font set in the style option if there is no font set in the ruleAndy Shaw2018-01-161-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the stylesheet does not have a rule that manipulates the font at all for the menu item, then it should use the one passed into the style option instead. Task-number: QTBUG-65034 Change-Id: I6cae3fad3cc22d5ab2b984e4a58b14303bcd6d03 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
| | | | * Doc: Clarify auto detection of file format in QImageEirik Aavitsland2018-01-151-11/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The documentation of the QImage file loader methods contained a simplified and somewhat misleading description of the format auto detection algorithm. Fix up the language and link to the detailed explanation. Task-number: QTBUG-51596 Task-number: QTBUG-65438 Change-Id: I33ebc81c78e685c7ec4803fa56efd4e9cbc4eda5 Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
| | | | * Fix memory leak in QStandardPaths::displayName() on Apple platformsJake Petroules2018-01-121-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-65687 Change-Id: Ie795c8ac715e36656dabcbcdf8976d303ebaf0d1 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
| | | | * qmake: ignore QT if we have failed requires()Oswald Buddenhagen2018-01-121-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | otherwise the project would need to clear QT despite using qtHaveModule() in requires() (or REQUIRES=). Task-number: QTBUG-65106 Change-Id: I568202214c8eafcdbe2d0e253b18f0e171293aff Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| | | | * Warn when ending painting on backingstore while there's still an active painterTor Arne Vestbø2018-01-121-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There's no way for the backingstore to end painting on the device by itself, so we warn the user about what's going on. Failing to end painting on the device will e.g. in the case of QRasterBackingStore result in having to make a copy of the QImage data during flush. Change-Id: I3fbac2d7a8a440fdb23197ac2d57d95bfaf9e125 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
| | | | * Merge remote-tracking branch 'origin/5.9.4' into 5.9Liang Qi2018-01-1116-12869/+13486
| | | | |\ | | | | | | | | | | | | | | | | | | Change-Id: Ic23e90146470d69060313628562f76a710696bab