aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside2
Commit message (Collapse)AuthorAgeFilesLines
* Cleanup version string for releasev5.11.15.11.1Simo Fält2018-07-271-2/+2
| | | | | | | | | | Empty pre-release string creates wheels with correct name. Change-Id: I2eed39a9fb6ea5a3ce6138216ee6e9ffbf016b75 Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Alex Blasche <alexander.blasche@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Pep 384 Final Cut: Remove PepTypeChristian Tismer2018-07-2317-57/+57
| | | | | | | | | | | | | | | | | | | | | | | | | While trying to document the Limited API Project, it suddenly struck me: We can make the patch much much simpler and implement it without the necessity to have an extra PepType! Now I am happy to continue the documentation, because it is now no more improvable. This version will last as long as the layout of PyTypeObject does not change substantially. When that happens, then we need to rewrite stuff with the according PyType_GetSlot() access functions. These access functions will until then be complete enough so that we can live without the tricks like inventing a reduced PyTypeObject as was done in the current implementation. Task-number: PYSIDE-560 Change-Id: I49849cc377baa6794a5b53292691e21d6e2853ab Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Doc: Add snippet override for QQuickViewVenugopal Shivashankar2018-07-191-0/+67
| | | | | Change-Id: I051ddcc61904f293ed0f21173e040f8c89e2232e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Doc: Remove repetitive text in the licenses pageVenugopal Shivashankar2018-07-191-4/+0
| | | | | Change-Id: Ide68c9045413f26ad7d7fc781aef03d61ea99179 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Generate fully Qualified Names for FlagsChristian Tismer2018-07-161-2/+2
| | | | | | | | | The flags structure should give correct full names. See the doc in the issue tracker. Task-number: PYSIDE-747 Change-Id: I6b5c602566d3e4b8a2a93e2522e92da956578b18 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Doc: Add doc config for the QtQml moduleVenugopal Shivashankar2018-07-101-0/+5
| | | | | | | | This enables qdoc to include the content from the QtQml module page. Change-Id: I889e7918ae33cdc7d11f08a7e68a97c123fa05cc Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Adapt Licenses to Python 3.7.0Christian Tismer2018-07-097-5619/+44
| | | | | | | | | | | Certain Python files were no longer used when moved to Python 3.7.0 . To finish that, these files are now also removed from the source. As a consequence, qt-attribution files needed to be changed. I took the chance to also update the license files to the new version. Change-Id: If058d1013f1d8cb937ee0305a5eb21ae2ebdd4e0 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Fix Limited API and Signature Glitches in Python 3.7Christian Tismer2018-07-093-6/+5
| | | | | | | | | | | | | | | | | When the homebrew version of Python 3.7 appeared so unforeseen early, I felt inclined to fix these glitches, immediately: In Python 3.7, the typing module was more changed than expected. Since we don't support versions below 3.5, it was easy to fix by avoiding to copy typing.py for version 3.x, altogether. It stays there for Python 2.7 . Furthermore, the Python issue 33738 will later be solved than the code expected, so I fixed that one for all by a macro definition. Task-number: PYSIDE-741 Change-Id: Ia56ccd1ef20cb9536b1d39f190e011e5dccf1f22 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Add missing ownership handling for QtChartsCristian Maureira-Fredes2018-07-061-5/+136
| | | | | | | | | | | | | Many classes have special methods that need to properly handle ownership of different charts, series, etc, but they were not properly handled. Now all the cases are covered, so one can easily port any QtCharts/C++ example to PySide. Task-number: PYSIDE-738 Change-Id: I5db94c4362ac1f5bf2e563ff99aa62662a30c176 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Remove Py_TPFLAGS_HAVE_VERSION_TAG in Python 3Boxiang Sun2018-07-052-0/+66
| | | | | | | | | | | | | The Py_TPFLAGS_DEFAULT in Python 3 has the Py_TPFLAGS_HAVE_VERSION_TAG flag, which causes the type attribute cache in _PyType_Lookup. According to the Shiboken implementation for Python 2, this is not we expected. So remove the Py_TPFLAGS_HAVE_VERSION_TAG flag from Py_TPFLAGS_DEFAULT in Python 3. Task-number: PYSIDE-60 Change-Id: Id731a59b65640eb5adea56fe06e0deb58ac4a168 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Add test case for QVariant/PySequence issueCristian Maureira-Fredes2018-07-041-8/+34
| | | | | | | | | | Simple test to see if the current implementation is working in all the platforms Task-number: PYSIDE-641 Change-Id: I85f19979b84314d42deb6686f2cdb29ba6af079c Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Add test for "Segfault when emitting string with emoji"Christian Tismer2018-07-042-0/+79
| | | | | | | | | | | | | The used constant was encoded directly as a unicode literal. This was the same possible in Python 2 and 3 due to https://www.python.org/dev/peps/pep-0414/ . Note that the emoji character creates a 1 or 2 codepoints long constant because Python 2 can be built with UCS-4 or UCS-2. Task-number: PYSIDE-336 Change-Id: Icc7ea664cf64f9e53ef5f7696c56c6470f7ada4a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Implement proper slice assignment for QByteArrayBoxiang Sun2018-07-023-40/+249
| | | | | | | | | | | | | | | | | | | Index assignment now only accept str/bytes, bytearray, QByteArray with size 1; Slice assignment only accept str/bytes, bytearray, QByteArray with limitation, that is if the step is not 1, then the number slots and the size of the target value must be equal. Range delete: a[2:5] = None Shrink: value length smaller than the slot length of the slice Expanse: value length bigger than the slot length of the slice Range assignment with step: a[2:5:1] = ... Range assignment with step which bigger than 1: a[2:9:2] = ... Range assignment with native step: a[5:2:-1] Change-Id: Ib9b929d09a691ed18c91e0c1c6b5dde827bf8d42 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Christian Tismer <tismer@stackless.com>
* Change deprecated header qtest_global.hCristian Maureira-Fredes2018-07-021-1/+1
| | | | | | | | The proper header is QtTest/qttestglobal.h Change-Id: Ifaa57bbca39552fbaa87e317989f0e49a4442dd1 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Implement proper convert from QString to PyUnicodeObjectBoxiang Sun2018-06-291-5/+2
| | | | | | Task-number: PYSIDE-336 Change-Id: Ie7d955b3b4d35e24a9eac5e7958ce2077370a34b Reviewed-by: Christian Tismer <tismer@stackless.com>
* Doc: Add the snippets for QtUiTools and QtChartsVenugopal Shivashankar2018-06-292-0/+96
| | | | | Change-Id: I13d72daba91e608ede9498b04044bf048834f321 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Create registry files for 5.11Christian Tismer2018-06-293-0/+55760
| | | | | | | | | Update of the signature registry files for 5.11 . This works now in a single go, because the missing files are generated as a flaky test. Change-Id: I455eba83ae8b81ce97d5d7bcc41e7ff98c5be8bd Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Doc: Update doc config to enable conditional exclusionVenugopal Shivashankar2018-06-281-0/+3
| | | | | | | | | | This should help excluding parts of qt documentation that are not relevant for Qt for Python. For example, the \snippet entries that include qmake project file statements. Change-Id: Iec05be72b1400ecb61a109688aaa9e3bf19e95b5 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Christian Tismer <tismer@stackless.com>
* existence_test.py: Make multi signature mismatch message more verboseFriedemann Kleint2018-06-261-2/+12
| | | | | | | | | It now looks like: multi-signature count mismatch for 'QOpenGLShaderProgram.setAttributeArray'. Actual 10 [ (int,PySide2.QtGui.QVector2D,int) (int,PySide2.QtGui.QVector3D,int) (int,PySide2.QtGui.QVector4D,int) (int,float,int,int) (int,int,int,int,int) (str,PySide2.QtGui.QVector2D,int) (str,PySide2.QtGui.QVector3D,int) (str,PySide2.QtGui.QVector4D,int) (str,float,int,int) (str,int,int,int,int)] vs. expected 4 [ (int,float,int,int) (int,int,int,int,int) (str,float,int,int) (str,int,int,int,int)]') Change-Id: I6c99e1fceeeb1647c8b3b291564190b9a2c0dd32 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Christian Tismer <tismer@stackless.com>
* Fix index() method of QAbstractItemModel-derived classesFriedemann Kleint2018-06-251-0/+2
| | | | | | | | | Prepend virtual methods when creating function groups so that overriding method the most-derived class is seen first. Task-number: PYSIDE-570 Change-Id: I791e3da09783c4c31ac293060aed8bb2bc8472d5 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Doc: Fix typos and minor editsVenugopal Shivashankar2018-06-252-4/+4
| | | | | | | | In addition, scaled down the app screenshot. Change-Id: I9edf9bf6dc3c2f4e81097feaccaa266498776a6f Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Doc: Add the missing snippet filesVenugopal Shivashankar2018-06-2213-0/+689
| | | | | Change-Id: I83b66d2aa7a9e607d458f22b2ef6fc25e4abe944 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Fix QtQml/bug_814.pyCristian Maureira-Fredes2018-06-221-1/+1
| | | | | | | | | | Since roleNames() expects a QByteArray we should pass the roleName as bytes, not a Python string. Task-number: PYSIDE-722 Change-Id: I67bf78503cd1e6acf43aab3531bf3b184e9a9159 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Allow building just QtCore bindingsAlexandru Croitor2018-06-222-1/+18
| | | | | | | | | | | | | | | | | | | This change introduces tracking of modules for which bindings will not be built. This allows us to add conditions on disabled modules, and thus disable certain tests. Thus we disable pysidetest test when its dependencies are not met. Due to this, we can now builtd bindings only for QtCore, allowing faster development iteration when touching only QtCore. Note that this only affects which module bindings will be created. Shiboken itself still requires QtCore, QtXml and QtXmlPatterns, as does pyside2-rcc. Change-Id: I75084a1741e7f4c3594e43af0fd9668a0e969c56 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Fix QVariant conversions when using PySequencesCristian Maureira-Fredes2018-06-211-10/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | Currently we transform QVariant arguments to internal types, starting from the Python ones, to others related to shiboken. After checking if the current object is a PyDict we proceed to check if it's a PySequence. PySequence is the complementary 'sequence-like' type of PyDict, and allows finite and infinite sequences, like lists or generators. The problem is that when one implements a class which includes the __getitem__ method, Python already thinks that it correspond to a PySequence, then we try to get the elements to transform into a QList<QVariant> but it fails at the first attempt. The solution was to not assume that all PySequences have finite length (or a length), and also to have a fallback case similarly to the PyDict treatment, wrapping the PyObject as a QVariant. Task-number: PYSIDE-641 Change-Id: I3b755f47ed076147024de38e5e0a86932d981f88 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Remove QT_LOGGING_RULES to fix QLibraryPath pathsCristian Maureira-Fredes2018-06-212-19/+0
| | | | | | | | | | | | | QT_LOGGING_RULES was internally overwriting the PySide2 QLibraryPath configuration, so all the paths were incorrect. Please follow PYSIDE-717 for a discussion on an alternative to have a proper solution. Task-number: PYSIDE-694 Change-Id: I551d7876a416ac31fcff70d843a28c98dfa5ed08 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Bump 5.11 branch version to 5.11.1a1Alexandru Croitor2018-06-131-3/+3
| | | | | | | | | This is to start generating snapshot wheels again, so that they would not override the v5.11.0 release wheels. Change-Id: I1b4c5211471ec760cad14d56aa3ee2102fea5322 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Simo Fält <simo.falt@qt.io>
* Be more descriptive about version parts in pyside_version.pyAlexandru Croitor2018-06-111-2/+8
| | | | | | | | | And in shiboken_version.py. Change-Id: I52132c555ee9a911c2232f5eeabfa0d7960990bc Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Bump version to 5.11.0, for first TP releaseAlexandru Croitor2018-06-111-2/+2
| | | | | | Change-Id: Ie3eefe170294a8eafc91b434650dc483aadf02c0 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Fix failing versioninfo_test when the version is not a pre-release oneAlexandru Croitor2018-06-083-3/+3
| | | | | | | | | | | | The test used to fail when pre-release version parts are empty (aka there is no "beta1" or "alpha2"). Make sure to always include at least an empty string when those version parts are not set, and adjust the test accordintly to check for a string. Change-Id: Ia30bb99de7f122456e132516346df4e3c0a1fa94 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Merge branch '5.9' into 5.11Alexandru Croitor2018-06-087-5/+156
|\ | | | | | | Change-Id: I7e55b4f27f77e2333b9e0f4cddc8de4b89b6043b
| * Doc: Fix typo in the code snippet for QQuickImageProvider5.9Venugopal Shivashankar2018-06-081-1/+1
| | | | | | | | | | Change-Id: I2af23226c93706c0c18f07ce4cf59e362b170997 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| * Add bindings for QtWebEngine (aka Quick)Alexandru Croitor2018-06-075-2/+153
| | | | | | | | | | | | | | | | | | | | | | There is only one method we really need, QtWebEngine::initialize() which is used for all Qt Quick based WebEngine applications. Otherwise you get a warning upon startup of a Qt Quick WebEngine application, and this might lead to undefined behavior. Task-number: PYSIDE-688 Change-Id: I7de2bbb58c49cb2a41b0e13ffc9de6a3161f3960 Reviewed-by: Christian Tismer <tismer@stackless.com>
| * Fix openssl lib path not being properly set on WindowsAlexandru Croitor2018-06-071-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | This lead to failure of importing PySide2, because on Windows __init__.py tried to load QtNetwork and that failed because it could't find the ssl libraries. This is a regression and amend of 87e85c460 . Task-number: PYSIDE-687 Change-Id: I298153b054baf5fa85b1831d88a99480c5c0a249 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Christian Tismer <tismer@stackless.com>
* | Merge branch '5.9' into 5.11Alexandru Croitor2018-06-0742-189/+425
|\| | | | | | | Change-Id: I2de0fe8456fca242c56ea28520126f9ebbf540d8
| * Fix addImageProvider ownership transferCristian Maureira-Fredes2018-06-071-0/+5
| | | | | | | | | | | | | | The QQmlEngine takes ownership of the QQmlImageProviderBase. Change-Id: Ia01e4151054623c96c24a2d07009d876eaacaa55 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| * Fix glitch in voidptr.cpp after the PEP 384 commitChristian Tismer2018-06-052-0/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By lots of editing, somehow an expression in voidptr.cpp became incomplete. We should improve the current test to be certain that the VoidPtr is working. This problem can be avoided by not doing many type casts at once. Doing the same in two steps is much safer because a forgotten call would give a compile time error. Task-number: PYSIDE-560 Change-Id: Ibb24a27f439cbda490723131f34f93978725420f Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * Doc: Include webengine module docsVenugopal Shivashankar2018-06-053-0/+10
| | | | | | | | | | Change-Id: I9ea0bed7709265c89e1bf38624024e61ee07adc7 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * Doc: Update the html_title and download.qt.io URLVenugopal Shivashankar2018-06-012-2/+2
| | | | | | | | | | Change-Id: I9b923d6fefbfae4efcf63f7459cf1ee89fb08f19 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * Doc: Document the tabbed browser demoVenugopal Shivashankar2018-06-014-4/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | - Added docstrings to the examples sources to autogenerate the docs for the different parts. - Updated the conf.py.in to include sphinx.ext.viewcode to generate html for every source file of the example. Change-Id: I668c55070556ca49d12d38c8ec83f09313bffc36 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * Improve the QByteArray implementationBoxiang Sun2018-06-0131-187/+281
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The available constructors for QByteArray are now: bytes, bytearray, and QByteArray, unicode is not accepted anymore. Also the concatenation is now possible between QByteArrays. Even though is not possible to initialize a QByteArray with an unicode, we include the possibility to compare it with one (Compatibility with PyQt). The __repr__ and __str__ are now properly working. There seemed to be a confusion regarding data types between Shiboken, Python2 and Python3 related to bytes, so now the structure is based on the flag SBK_BYTES_NAME, which is define as "bytes" for Python3 and "str" for Python2. Many tests were modified to properly handle string, using the `py3kcompat` module. Task-number: PYSIDE-232 Change-Id: I8b671f367c60a0870c72dcbe5662106b3225037d Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| * Improve sbkstring::toCString to support unicodeBoxiang Sun2018-06-011-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | If `unicode` is used in Python 2, shiboken cannot properly translate it to `const char *`. sbkstring did not supported a proper conversion of unicode types in Python2, and this change includes it. Task-number: PYSIDE-100 Change-Id: I3a70d935ad61b0e567e620c62754800370270a6b Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into 5.11Friedemann Kleint2018-06-0141-712/+579
|\| | | | | | | Change-Id: I31a0ff26bc02e6cc2ec2a816c16d170fc334f800
| * Fix test to assert only if english is the localeCristian Maureira-Fredes2018-06-011-4/+4
| | | | | | | | | | | | Change-Id: I3188c33414d283478a6ff6d7d354ce9231b4f106 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| * Add missing API of QtWebEngineWidgetsDavid Rosca2018-06-012-10/+21
| | | | | | | | | | | | Change-Id: Ifafae9a5eac1844bf9057bc5e1f912e287499aa7 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| * Don't pass -DFORCE_LIMITED_API=yes from setup.py unless asked forAlexandru Croitor2018-05-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It was weird seeing "-DFORCE_LIMITED_API=yes" being passed from setup.py to CMake when "--limited-api" is not included on the command line, and then seeing "-DFORCE_LIMITED_API=yes" with Python 2 builds. It gives the impression that maybe it could work with Python 2. Instead, don't pass "FORCE_LIMITED_API=yes" from setup.py by default (but still pass it if it's present on the command line), and instead default to "yes" within the CMake project themselves. In the end nothing changes, limited API builds will still be default, but at least it's not as confusing to see the "-DFORCE_LIMITED_API=yes" lines for Python 2 builds in the CI log. Change-Id: I08c863394dd148d88bec324a6cab35459d75303a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * Fix module names to contain correct limited api suffixAlexandru Croitor2018-05-311-47/+51
| | | | | | | | | | | | | | | | | | | | | | This includes .abi3.so on Linux and macOS, and .pyd on Windows. Otherwise if you build with Python 3.6, and try to install the package on Python 3.5, none of the modules would be found on import. Change-Id: I56639da6319cfa06e23ae793d66099813074adf4 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
| * PEP 384-squash: Implement PEP 384Christian Tismer2018-05-3037-655/+516
| | | | | | | | | | | | | | | | | | | | This is the condensed checkin of 18 commits which created the implementation of PEP 384. Task-number: PYSIDE-560 Change-Id: I834c659af4c2b55b268f8e8dc4cfa53f02502409 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| * Fix qtattributionsscannertorst.pyFriedemann Kleint2018-05-291-37/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The tool was originally written to handle a license embedded in a Python file. This has changed, the license now exists as a text file. Rewrite the tool to concatenate the output piece-wise instead of using fixed formats to be able to cope with missing URLs and versions. Add the copyrights, which were previously missing. Task-number: PSYIDE-363 Change-Id: I5ec0bd7a4b81e9f794f56f6b2b09062c331936ae Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into 5.11Friedemann Kleint2018-05-293-3/+13
|\| | | | | | | Change-Id: I4b6ef2bcc91c46b3084f9797c1bbfaddc4367941