summaryrefslogtreecommitdiffstats
path: root/src/widgets
Commit message (Collapse)AuthorAgeFilesLines
...
* | | Fix warning that QRegion::rects() is deprecatedThiago Macieira2018-06-181-1/+2
| | | | | | | | | | | | | | | | | | | | | Since we do need a container so we can sort, use std::back_inserter. Change-Id: I6efb28c3145047559ec0fffd153880918eb47184 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* | | QTreeWidget: Keep items hidden even if their parents are reparentedAndy Shaw2018-06-153-10/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When an item is explicitly hidden, then it should stay that way even if its parent is reparented. The item itself needs to be explicitly shown for it to be made visible. Task-number: QTBUG-54843 Change-Id: I0c6eea9a936f82d5874e3246292bd16365440411 Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | | Add itemAlignment property to QListViewAlexander Volkov2018-06-083-5/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This property allows to change the default behavior in which list items occupy the entire width of their column. Setting it to Qt::{AlignLeft,AlignRight,AlignHCenter} will reduce their widths to the minimum values, thus allowing to have intermediate free space. Then the user will be able to begin selections by mouse from this space. [ChangeLog][QtWidgets][QListView] Added itemAlignment property. Task-number: QTBUG-56606 Change-Id: Iae55c251379be4e45d0c0d69175ff4388b5785b4 Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | | Merge "Merge remote-tracking branch 'origin/5.11' into dev" into ↵Liang Qi2018-06-0848-149/+175
|\ \ \ | | | | | | | | | | | | refs/staging/dev
| * \ \ Merge remote-tracking branch 'origin/5.11' into devLiang Qi2018-06-0748-149/+175
| |\ \ \ | | | |/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/corelib/kernel/qeventdispatcher_cf.mm src/gui/kernel/qguiapplication_p.h src/gui/kernel/qwindowsysteminterface.cpp src/gui/kernel/qwindowsysteminterface.h src/plugins/platforms/cocoa/qcocoawindow.mm src/plugins/platforms/cocoa/qnswindowdelegate.mm src/plugins/platforms/ios/qioseventdispatcher.mm src/plugins/platforms/windows/qwindowsdrag.h src/plugins/platforms/windows/qwindowsinternalmimedata.h src/plugins/platforms/windows/qwindowsmime.cpp src/plugins/platforms/winrt/qwinrtscreen.cpp Change-Id: Ic817f265c2386e83839d2bb9ef7419cb29705246
| | * | Fix build for Android with android-clang in r17Liang Qi2018-06-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-67464 Change-Id: Ib971a5da82b31bce9ac1c9ac623ad7d5302cfaec Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
| | * | Fix building with -no-feature-dirmodel -no-feature-filesystemmodelJoni Poikelin2018-06-041-0/+1
| | | | | | | | | | | | | | | | | | | | Change-Id: I7ab90043b2bf6ee41412480f72eb701230cecb38 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
| | * | QAbstractSpinBox: Add more documentation cross linksAndre Hartmann2018-06-041-0/+4
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | stepUp() and stepDown() already linked to stepBy(), so add the reverse too. keyPressEvent() talks about stepBy() too, so add it to the cross reference. Change-Id: I22c841821331eaed9607cfb2807dcf0e2886d952 Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de> Reviewed-by: Luca Beldi <v.ronin@yahoo.it> Reviewed-by: Samuel Gaist <samuel.gaist@edeltech.ch> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| | * Render QOpenGLWidget/QQuickWidget with AlwaysStackOnTopAllan Sandfeld Jensen2018-05-311-14/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QWidget::render was ignoring QOpenGLWidget/QQuickWidget with AlwaysStackOnTop set, because normally they will be composited later, however when not doing a backing store render, they need to be painted right away as there is no later. Task-number: QTBUG-67533 Change-Id: I08e2eeee5e7a8f0dbbf43f659fcfa9068e8c46d1 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| | * QAbstractSpinBox: Fix missing frame conditionGabriel de Dietrich2018-05-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Wrong check for SH_SpinBox_ButtonsInsideFrame in initStyleOption(). Change-Id: I35c6ff4d007f171fe44d7f3e5734c6f4586d871b Task-number: QTBUG-68238 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| | * Make sure we can build with -no-feature-draganddropJoerg Bornemann2018-05-2945-133/+152
| | | | | | | | | | | | | | | | | | | | | | | | | | | We move QInternalMimeData to a separate file, because this class is used, even if draganddrop is disabled. From now on, include qinternalmimedata_p.h instead of qdnd_p.h for QInternalMimeData. Change-Id: I594e08e2e90d574dc445119091686b4b69e4731b Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* | | QDialog::done(): improve the docsGiuseppe D'Angelo2018-06-071-3/+6
|/ / | | | | | | | | | | | | Explain that finished() will also be emitted. Change-Id: Ic6b55fee8b3af59d989e074e52da7a4398a3052a Reviewed-by: hjk <hjk@qt.io>
* | QLineEdit: Emit inputRejected() when part of the input is rejectedAndy Shaw2018-06-062-2/+7
| | | | | | | | | | | | | | | | | | | | | | When pasting text, it is possible that part of the text is still pasted but part of it is not. For example, if there is a maximum length set then only the first part of the text is pasted and the rest is dropped. In this case it should still emit inputRejected() as not all of the input was accepted. This amends c901cdadc0a6ec65eddfe4f181274e56567f9973. Change-Id: If7906767be27e88ed9914c50bf0427833de5b8fa Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | Handle negative leading in layoutAllan Sandfeld Jensen2018-06-061-0/+3
| | | | | | | | | | | | | | | | Adjust line positions to deal with negative leading which isn't included in height of QTextLine. Change-Id: Id7918968c0f9d7e65700b9e7a08fc5d761883f22 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* | QLineEdit: Add an inputRejected() signal for when a key is not allowedAndy Shaw2018-06-015-0/+21
| | | | | | | | | | | | | | | | | | | | [ChangeLog][QtWidgets][QLineEdit] Added inputRejected() signal for when a key press is not accepted by the QLineEdit. For instance, when an invalid key is pressed for a validator set. Task-number: QTBUG-57448 Change-Id: I39182a78b07b37c6da01905b8da4c57930e3454b Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | QToolTip: replace deprecated QDesktopWidget::screenGeometry()Christian Ehrlicher2018-05-281-1/+1
| | | | | | | | | | | | | | | | QDesktopWidget::screenGeometry() was deprecated in 5.11 and replaced by QScreen::geometry() Change-Id: I23f5b6a4ed6b76cf558cd8d3ad49bc8029c16f61 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | Merge remote-tracking branch 'origin/5.11' into devLiang Qi2018-05-242-9/+10
|\| | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/features/qt_common.prf src/corelib/tools/qstring.cpp src/plugins/platforms/windows/qwindowsmousehandler.cpp src/widgets/widgets/qmainwindowlayout_p.h Change-Id: I5df613008f6336f69b257d08e49a133d033a9d65
| * 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-151-11/+15
| | | | | | | | | | Change-Id: I450bd9f160c64f718c49e87d274c1ccc4a657aca Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | Apply Qt::ControlModifier to all spin box interactionsNathan Collins2018-05-242-6/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A step modifier already existed when scrolling with the Qt::ControlModifier held. This patch applies this functionality to other methods of stepping a spin box. Holding the modifier increases the step rate when: - scrolling; - pressing the up/down keys; - pressing the spin box up/down buttons. [ChangeLog][QtWidgets][QAbstractSpinBox] The Qt::ControlModifier increases the number of steps a QAbstractSpinBox takes for the following interactions: scrolling, up/down keyboard keys and the spin box buttons. Previously, Qt::ControlModifier only affected scrolling. Task-number: QTBUG-67380 Change-Id: Icc8754d5c007da0771bfaef113603a2f334dd494 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Add attribute to indicate a widget was the target of a style sheetAaron Kennedy2018-05-231-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Qt already has the widget attribute WA_StyleSheet to which indicates that a widget was subject to a style sheet, but it doesn't indicate that the widget was actually affected by the style sheet. For example, an application style sheet will set the WA_StyleSheet attribute on all widgets, even if it only targets QPushButtons. The WA_StyleSheetTarget new attribute pairs with WA_StyleSheet to give this extra information. [ChangeLog][QtWidgets] Added the Qt::WA_StyleSheetTarget attribute to indicate that a widget was affected by a style sheet. Change-Id: I7cca18ddec8fbb69f294ae2ef990672a5f4f1d83 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io> Reviewed-by: Sérgio Martins <sergio.martins@kdab.com>
* | qtlite: Fix build with -no-feature-cursor or -no-feature-dockwidgetMikhail Svetkin2018-05-152-6/+13
| | | | | | | | | | Change-Id: Iae8c20172e43fcde816df3b87ad67f4ea2cda804 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | Add a note to QDialog::exec() to prefer open() insteadGiuseppe D'Angelo2018-05-151-0/+7
| | | | | | | | | | | | | | | | | | | | QDialog::exec() has a number of problems due to spinning an inner event loop (to counteract its being synchronous). We've had QDialog::open() as a better alternative for a long while now, so encourage people to use that instead. Change-Id: I51a69a018dcbf6133adb6c2f69c7caf442008b36 Reviewed-by: Martin Smith <martin.smith@qt.io>
* | Merge "Merge remote-tracking branch 'origin/5.11' into dev" into ↵Liang Qi2018-05-141-0/+2
|\ \ | | | | | | | | | refs/staging/dev
| * | Merge remote-tracking branch 'origin/5.11' into devLiang Qi2018-05-141-0/+2
| |\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/features/qt_module_headers.prf tests/auto/widgets/itemviews/qheaderview/tst_qheaderview.cpp tests/auto/widgets/kernel/qwidget/BLACKLIST Change-Id: I2a08952d28d1d0e3d73f521a3d44700ce79ff16c
| | * Fix build without features.completerTasuku Suzuki2018-05-091-0/+2
| | | | | | | | | | | | | | | Change-Id: Idc79921f85a920bc8c1280513ce78ee0cb00d415 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | | QTableWidget: fix handling of Qt::EditRole/DisplayRole in setItemData()Christian Ehrlicher2018-05-141-3/+6
|/ / | | | | | | | | | | | | | | | | | | | | | | QTableModel::setItemData() did not treat Qt::EditRole and Qt::DisplayRole as the same. This lead to inconsistencies between setItemData() and QTableWidgetItem::setData() [ChangeLog][QtWidgets][QTableWidget] Fix handling of Qt::EditRole and Qt::DisplayRole in setItemData(). Change-Id: I456f4c8e654de701dcd579236162b8aaa8ba1e53 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | QTableWidgetItem: pass role to dataChanged() signalChristian Ehrlicher2018-05-123-10/+16
| | | | | | | | | | | | | | | | | | | | QAbstractItemModel::dataChanged() gained an optional role parameter with Qt5 which was not filled within QTableWidgetItem setData() function Task-number: QTBUG-48295 Change-Id: I82289b6db78eeef09d586da267046032984952da Reviewed-by: Samuel Gaist <samuel.gaist@edeltech.ch> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | QStyleSheet: fix typo in propertyNameForStandardPixmap for discardChristian Ehrlicher2018-05-121-1/+1
| | | | | | | | | | | | | | | | | | The property name for SP_DialogDiscardButton is missing the 'dialog-' prefix to match the property described in knownStyleHints. Task-number: QTBUG-58674 Change-Id: Ie5b7412765e19defb3644d7cac2fe08bf8119a8d Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | QHeaderView: reset cached size hint on reset()Christian Ehrlicher2018-05-101-0/+2
| | | | | | | | | | | | | | | | | | QHeaderView::reset() did not reset the cached size hint which could lead to wrong geometries when the model was reset. Task-number: QTBUG-67927 Change-Id: I5100b28a741cc816133a229c422f9abf83f2187e Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
* | Merge remote-tracking branch 'origin/5.11' into devLiang Qi2018-05-081-0/+2
|\| | | | | | | | | | | | | | | Conflicts: src/plugins/sqldrivers/sqlite/qsql_sqlite.cpp tests/auto/corelib/io/qresourceengine/qresourceengine_test.pro Change-Id: I3169f709cc2a1b75007cb23c02c4c79b74feeb04
| * Fix building with -no-feature-shortcutJoni Poikelin2018-05-081-0/+2
| | | | | | | | | | Change-Id: I7576055a6d81d6a7a075ebff16ca6b0ced4e984e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | Move default implementation of update requests to QPlatformWindowTor Arne Vestbø2018-05-071-2/+4
| | | | | | | | | | Change-Id: I4cbb8d2023068288e298ab21f5cd8bc258825c77 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Merge remote-tracking branch 'origin/5.11' into devQt Forward Merge Bot2018-05-051-1/+1
|\| | | | | | | Change-Id: Ib58433da04bffb5dfab5486b80f17f39cc4145fa
| * 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>
* | Port placeholder rendering to palette placeholder color roleFilipe Azevedo2018-05-043-6/+3
| | | | | | | | | | Change-Id: I7671d4b55677866b61627cc55a3029a3848f455d Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | QFileSystemModel: remove unused function naturalCompare()Christian Ehrlicher2018-05-041-2/+0
| | | | | | | | | | | | | | | | The implementation of the private function naturalCompare was removed with 197da3d220f but the declaration was forgotten. Change-Id: I14b44e3aeccac2c428e509f115ea93c4ba2a7c9b Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | QShortcut: Try harder to find a widget for parentless menubarsGabriel de Dietrich2018-05-031-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add QPlatformMenuBar::parentWindow(). Since we call handleReparent() every so often, it's reasonable to be able to get its value back. While this parent window won't give us much information from the point of view of the actual QWidget parent for the menubar, the main reason we will need this is to check for modality blockage. Indeed, QApplicationPrivate::tryModalHelper() only cares about the widget's window since modality blockage is decided at the window level. Change-Id: Ie79f483424b01e430bc9168ba82489e30d15aec6 Task-number: QTBUG-67938 Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* | Merge remote-tracking branch 'origin/5.11' into devLiang Qi2018-05-032-11/+26
|\| | | | | | | | | | | | | | | | | | | | | | | Conflicts: examples/widgets/graphicsview/elasticnodes/graphwidget.cpp examples/widgets/graphicsview/elasticnodes/node.cpp examples/widgets/graphicsview/elasticnodes/node.h src/plugins/platforms/cocoa/qnsview.mm src/plugins/platforms/cocoa/qnsview_drawing.mm src/widgets/kernel/qmacgesturerecognizer_p.h Change-Id: I13cf06bac75d48d779d8ee7b5c91bfc976f2a32c
| * Fix crash in QMacPanGestureRecognizerJan Arve Saether2018-05-022-2/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The reason it crashed was this: 1. Button was pressed => _panTimer started with the graphics view as destination. 2. Button was released => the graphicsview is destroyed 3. 300 ms later: Qt tries to deliver TimerEvent from _panTimer to the graphics view. Unfortunately, the graphics view is deleted, but Qt doesn't know that... (*crash*) We therefore chose to start the timer with a destination we are controlling the lifetime of: the QMacPanGestureRecognizer. Inside the timerEvent of that we can check if the actual target is already destroyed. Task-number: QTBUG-60404 Change-Id: Iff8f5b7217de42c4c5cf551ca507f0cff1c99a78 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* | Merge remote-tracking branch 'origin/5.11' into devQt Forward Merge Bot2018-05-0230-158/+167
|\| | | | | | | Change-Id: Ia082e20e2eb4b76afd4c1a1584ff4e5514655d7a
| * Convert features.toolbar to QT_[REQUIRE_]CONFIGStephan Binner2018-05-0227-155/+160
| | | | | | | | | | | | | | | | Move declaration of pick/perp helpers up the dependency chain Change-Id: I7084ed829a057a0c45d60445c416fb07f2cb5624 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * Remove assert from QFormLayout::takeRow()Sergio Martins2018-04-301-2/+0
| | | | | | | | | | | | | | | | | | | | Having rows without fields is a supported use case so it shouldn't assert. Code works quite well in release mode, but crashes in debug mode. Change-Id: I1c4f736318489bae09780fcdb56136181afcac17 Reviewed-by: Samuel Gaist <samuel.gaist@edeltech.ch> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * Fix for input method commit that ends with newlinePaul Olav Tvete2018-04-271-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | If the input method event contains a commit text that ends with a newline, text, the commit string is inserted first. This changes the current block. This change makes sure that we apply the formatting changes (including removing the old preedit text) to the old block in this specific case. Task-number: QTBUG-67836 Change-Id: Ia83963780fb14b3c571dbbe3eb81fbbe20fbf412 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
| * QWidgetWindow: Immediately forward close events to QWindowUlf Hermann2018-04-271-0/+1
| | | | | | | | | | | | | | | | | | This way the platform window is destroyed in a timely manner, preventing redundant close events from the window system. Task-number: QTBUG-43344 Change-Id: Ifdfca59ceacef54405f1c227c493dc514a1b27ea Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* | QGraphicsView: Improve high-DPI item cachingMorten Johan Sørvig2018-04-261-11/+20
| | | | | | | | | | | | | | | | | | | | | | | | Scale cache size by target paint device devicePixelRatio. Add manual test for the cache modes. Change-Id: I9f3a2b4c4cf12571aefe54ebf534009a2448fb48 Done-with: MihailNaydenov <garfieldhq@yahoo.com> Task-number: QTBUG-26795 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | QGraphicsView: Create high-dpi background pixmapMorten Johan Sørvig2018-04-261-3/+11
| | | | | | | | | | | | | | | | | | | | Scale pixmap size by the viewport devicePixelRatio, and make sure scrolling deltas and expose regions are correctly scaled. Change-Id: Ibeac34c5ecd531ca7c09802f0b5e1f45b8e31b65 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* | QToolButton: Elide text when constraints prevent from showing whole textChristian Ehrlicher2018-04-261-1/+2
| | | | | | | | | | | | | | | | | | | | When a QToolButton has a fixed width and the text is too long, the text was cropped which made the button look ugly. Fix it by eliding the text in the middle in this case. Task-number: QTBUG-64132 Change-Id: I7bc46d1edcf4e67b5e1a5b651d4793f9ffa15310 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
* | QColorDialog: deprecate rgba()Giuseppe D'Angelo2018-04-262-2/+5
| | | | | | | | | | | | | | | | | | It was already deprecated in the documentation, just use the QT_DEPRECATED macros. Change-Id: Ie9ba7dd36af8e4eb5bddb7429182db98c7c638f5 Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | Merge remote-tracking branch 'origin/5.11' into devLiang Qi2018-04-262-5/+8
|\| | | | | | | | | | | | | | | Conflicts: src/plugins/platforms/cocoa/qcocoafontdialoghelper.mm src/plugins/platforms/cocoa/qcocoawindow.mm Change-Id: Ideea96d1b43d47b1d9b34e11c9986a88e240aa71