summaryrefslogtreecommitdiffstats
path: root/src/widgets
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/5.11' into 5.12Liang Qi2018-11-094-15/+6
|\ | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf qmake/Makefile.unix src/gui/text/qtextdocument.cpp src/gui/text/qtextdocument.h Change-Id: Iba26da0ecbf2aa4ff4b956391cfb373f977f88c9
| * Modernize the "textcodec" featureLiang Qi2018-11-073-2/+5
| | | | | | | | | | | | | | | | | | Also clean up QTextCodec usage in qmake build and some includes of qtextcodec.h. Change-Id: I0475b82690024054add4e85a8724c8ea3adcf62a Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * windows: Give up on SwitchableCompositionLaszlo Agocs2018-11-051-13/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Opt out of switching between the normal and OpenGL based flush paths. Once a QOpenGLWidget or QQuickWidget becomes visible in a window, the window contents will be composed using OpenGL from that point on, even if said widgets become invisible afterwards. Now that Qt Creator does not rely on QQuickWidget the issue is less burning anyways. Task-number: QTBUG-68329 Change-Id: I177e6e6094ee06ea26d8d0343bd3d84aadfa5913 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | QStyleSheet: use the << form of qWarning to get more infoThiago Macieira2018-11-081-1/+1
| | | | | | | | | | | | | | | | %p just prints a pointer. The operator<<(QObject*) member will print the class type and object name. Change-Id: Iba4b5c183776497d8ee1fffd1564951da0c6bebc Reviewed-by: Sérgio Martins <sergio.martins@kdab.com>
* | QWidgetWindow: check if receiver is deleted after event deliveryRichard Moe Gustavsen2018-11-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a popup is active, we set the receiver of mouse events to be the active popup widget. But when we send a mouse event to the popup, the receiver might start a new QEventLoop (e.g by executing a new dialog). And in the meantime, the popup will be destroyed. This will cause a crash in the line after the event delivery (where we sat "qt_last_mouse_receiver = receiver"), since at that point, "receiver" would be a dangling pointer. This patch will use a QPointer instead of a raw pointer to store "receiver", to ensure that it's set to null for such cases. Fixes: QTBUG-71062 Change-Id: Ie017cfa97370513ecfdd62c056fcb0e6c991f9f6 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* | Avoid crashing with opaque opacity effectAllan Sandfeld Jensen2018-11-071-1/+5
| | | | | | | | | | | | | | | | Fixes the crash, but doesn't fix the underlying bug. Task-number: QTBUG-60231 Change-Id: I5db9b151089b5c0e21e21443c77c725804d3059c Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | Merge remote-tracking branch 'origin/5.12.0' into 5.12Liang Qi2018-11-053-1/+2
|\ \ | | | | | | | | | Change-Id: I12f26470e01a8582d0f02f51e20d5b742bd95d6f
| * | Merge remote-tracking branch 'origin/5.11' into 5.12.0Liang Qi2018-11-051-0/+1
| |\| | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/platforms/cocoa/qcocoaglcontext.mm src/plugins/platforms/xcb/qxcbscreen.h Change-Id: If9b4c67288396ff7346088ce591c7a3588b51979
| | * Fix stylesheet example for QLineEdit:read-only code exampleArnaud Bienner2018-10-221-0/+1
| | | | | | | | | | | | | | | Change-Id: I987a4129968e9af74e21a2d855c4576a9caada73 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * | Doc: Solve issue with gridlayout image fileNico Vertriest2018-11-022-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Due to name conflict with file from qtdeclarative Task-number: QTBUG-65769 Change-Id: I9ebf237701ce76b424f528feacb24e4158f06c0d Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
* | | QColorDialog: use customColorCount() instead hardcoded valueChristian Ehrlicher2018-11-021-1/+1
|/ / | | | | | | | | | | | | | | | | | | A hardcoded value of 16 was used in QColorDialogPrivate::_q_addCustom() instead QColorDialogOptions::customColorCount() Fixes: QTBUG-58425 Change-Id: I7ae9881abd5926e0c6b118d5c84c3f259c545d35 Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | itemviews: Fix a condition typoIvan Komissarov2018-10-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | 'QAbstractItemView::NoSelection' named constant with the value of 0 was used in the bitwise operation Task-number: QTBUG-71156 Change-Id: I2d5099f9ed03cc42061508cc78282412a09825cb Reviewed-by: Mikhail Svetkin <mikhail.svetkin@qt.io> Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de> Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch>
* | QTableWidget: fix cellChanged signal emitted by takeItem()Christian Ehrlicher2018-10-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | QTableWidget::takeItem() emitted cellChanged with row and column set to -1. The internal functions searched for item after it was reset to nullptr and therefore it was not found. Since the modified cell is known because it's passed to the takeItem function, the correct row/column can be retrieved from there. Task-number: QTBUG-70478 Change-Id: I5ff5991c49f3200efe95fde4c7d0d28e19be7ebf Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | Remove empty function QWidgetPrivate::registerDropSite()Friedemann Kleint2018-10-172-10/+0
| | | | | | | | | | | | | | | | Apparently it is a left-over from Qt 4. Task-number: QTBUG-70240 Change-Id: I6b882728defef1ab78331b03e76459a7419cd386 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | Fix scrollbar updates in QPlaintTextEdit on block-visibility changesAllan Sandfeld Jensen2018-10-171-2/+7
| | | | | | | | | | | | | | | | | | Trigger documentSizeChanged when block visibility changes, since block count remains constant in this case. Task-number: QTBUG-69310 Change-Id: I5ec7a4f9008f26ea8602356bcbaefbda293e54a3 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | Merge remote-tracking branch 'origin/5.11' into 5.12Liang Qi2018-10-1725-86/+104
|\| | | | | | | | | | | | | | | Conflicts: src/plugins/platformthemes/platformthemes.pro src/printsupport/kernel/qplatformprintdevice.cpp Change-Id: Iac01729ad954bb1c7af5867d982eb243b2139ee6
| * Modernize the "mimetype" featureLiang Qi2018-10-122-5/+7
| | | | | | | | | | | | Change-Id: I9b67c2cbc0891a38ece18d521c86fbc7344dce7a Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * Modernize the "animation" featureLiang Qi2018-10-1223-81/+97
| | | | | | | | | | | | Change-Id: Ibc164b3df3cf87db569ef4813de458a9067b7f7d Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | xcb: respect QEventLoop::ExcludeUserInputEvents in native event handlersGatis Paeglis2018-10-161-5/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was a regression from Qt 4. Before this patch, we supported filtering events only at QWindowSystemInterface level, but to properly support filtering in QAbstractEventDispatcher::filterNativeEvent, we have to filter the events earlier. Now it is possible to enable/disable this feature for platforms that support native event filtering. The mapping of which events are user input events were taken from QWindowSystemInterfacePrivate::EventType. Task-number: QTBUG-69687 Change-Id: I9a5fb9f999451c47abcdc83fdcc129b5eeb55447 Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Fix typo vice versaCristian Maureira-Fredes2018-10-152-3/+3
| | | | | | | | | | Change-Id: I639d6f9d2019998d91b52506afa2cbd861a0dbe4 Reviewed-by: Gabriel de Dietrich (DO NOT ADD TO REVIEWS) <gabriel.dedietrich@gmail.com>
* | Doc: Move literal code block to a separate fileCristian Maureira-Fredes2018-10-1510-89/+193
| | | | | | | | | | | | | | | | | | | | | | We need to override this snippet for the documentation we generate for Qt for Python, and it is easier to have it on a separate file. Task-number: PYSIDE-801 Task-number: PYSIDE-691 Change-Id: Ideb5b6af25024279f167137d3b65660bb9c96a7e Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* | QToolTip: Don't crash if a tool tip is shown outside screen geometryJohan Klokkhammer Helsing2018-10-151-6/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In some cases, a tool tip may be shown outside screen geometry, i.e. if: - QToolTip::showText is invoked manually with a position outside. - In tst_QToolTip::setPalette if there is no screen at (0, 0). This might happen in a multi-monitor setups where one screen is taller than the other. - On Wayland windows are (by design) not allowed to know their position on the screen. This means that global positions can't be trusted. This started crashing when QDesktopWidget::screenGeometry(pos) was replaced with QGuiApplication::screenAt(pos)->geometry() because screenAt will return null if no screen is found, while screenGeometry defaulted to the primary screen. This reverts to the old behavior of falling back to the primary screen. This won't solve the issue completely for the Wayland case, but at least we will stop crashing. Change-Id: I42dd07cc21c2f9f0ea0d69f0c25bd46d8a2615a0 Reviewed-by: Filipe Azevedo <filipe.azevedo@kdab.com> 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 5.12Qt Forward Merge Bot2018-10-081-1/+1
|\| | | | | | | | | | | | | Conflicts: src/corelib/tools/qtimezoneprivate.cpp Change-Id: Icbb5999d378711ce3786a4fe0aba176a45ac702c
| * Use update() instead of repaint() when displaying a new messageAndy Shaw2018-10-021-1/+1
| | | | | | | | | | | | | | | | | | There is no advantage to using repaint() here, so using update will give a performance improvement. Change-Id: Icc6a28dfc12dffb8ea3df0300fd14c66c775bf16 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | QLineEdit: take the size of actions' icons from a styleAlexander Volkov2018-10-062-2/+3
| | | | | | | | | | | | | | | | | | | | The height of a line edit depends on the height of its font, which in turn depends on DPI. So use the DPI-scaled icon size from a style instead of hard-coded values. Task-number: QTBUG-65627 Change-Id: Ic1f5af61b0d6346cfbc828817c4a3a39296a41ba Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | QtWidgets: Fix Qt application coming to the foreground when launching app by ↵Friedemann Kleint2018-10-051-2/+5
| | | | | | | | | | | | | | | | | | | | popup menu Check on the application state before requesting activation. Fixes: QTBUG-70810 Change-Id: I550137dc00209b17f4b3c033287ceef1b871ff50 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | QTreeView: adjust documentation of key bindingsChristian Ehrlicher2018-10-041-3/+4
| | | | | | | | | | | | | | | | | | | | | | The documentation for key bindings was a little bit unclear for key asterisk. Also sync the names of the left and right key was not consistent (Left/RightArrow - Left/Right) Change-Id: Icee0821880fcc3ebc2ade939cf80127ebf0976ad Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Luca Beldi <v.ronin@yahoo.it> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* | StyleSheetStyle: Load @Nx imagesMorten Johan Sørvig2018-10-042-9/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | Perform a @Nx image file lookup when loading pixmaps. Make drawBackgroundImage() handle high-dpi pixmaps, here the layout calculations needs to be in device- independent pixels Fixes: QTBUG-36825 Change-Id: I61e6f53c59f61f3bd88c34a036349e51e8c8ad92 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | QGraphicsScene: Make focusing on touchBegin optionalUlf Hermann2018-10-043-27/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Usually we focus in when we receive a click or equivalent. QGraphicsScene by default also transfers the focus when you start a touch on a trackpad or similar. Most of the time this also generates a synthetic mouse click, so people don't necessary notice. However, at least on macOS you can configure this behavior. With focusOnTouch switched off, QGraphicsScene behaves as one would expect on macOS. Fixes: QTBUG-59442 Change-Id: Ib87112640eef6b77892ad2490d80eedd055e6dce Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | QAccessibleTable(Header)Cell: fix isValid()Christian Ehrlicher2018-10-031-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | QAccessibleTable(Header)Cell::isValid() did not check if the view is still valid as it is done in QAccessibleTable::isValid() which can lead to a crash during destruction when e.g. operator<<(QAccessibleInterface) is called. Change-Id: I930bf4c22aa0aa6868f58a8e5d0dd1557f6b17af Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* | Restore styling of QDockWidget title fontAllan Sandfeld Jensen2018-10-031-2/+6
| | | | | | | | | | | | | | | | | | Do not override a custom font with the style default. Task-number: QTBUG-70276 Change-Id: I58bf43f791aee5409e29459d579725365703e4f3 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | Prevent instantiation of QGestureManager in ~QWidget, ~QGraphicsItem()Friedemann Kleint2018-10-035-6/+8
| | | | | | | | | | | | | | | | | | | | | | Debugging PYSIDE-815 revealed that QGestureManager is instantiated in the application destruction sequence. To prevent that, add a "force" parameter defaulting to true to QGestureManager::instance() and pass false in the destructors and QGestureManager::gesturePending(). Change-Id: I1b76173c926c2a156252b88832b032508d8e8a73 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | Make overloaded function appear in assistant indexJarek Kobus2018-10-0114-31/+0
| | | | | | | | | | | | | | | | | | | | When there are overloaded function for one class, at least one of them mustn't possess \overload command, otherwise it won't appear at all in doc index. Task-number: QTBUG-59506 Change-Id: I650a3969cb45c1a5efdfc3a654e01d113c398f16 Reviewed-by: Martin Smith <martin.smith@qt.io>
* | Merge remote-tracking branch 'origin/5.11' into 5.12Qt Forward Merge Bot2018-09-303-31/+33
|\| | | | | | | Change-Id: Iaa438d14357be1bf75bb645cb8d3245947c055b8
| * Modernize the "filesystemwatcher" featureLiang Qi2018-09-273-31/+33
| | | | | | | | | | | | Change-Id: If030b56ad97e047d89d442629262b4839df306d4 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | QDockWidget: Fix icons being too large when using a style proxying Windows styleFriedemann Kleint2018-09-291-0/+5
| | | | | | | | | | | | | | | | | | Extend the check for Windows style to QProxyStyle. Amends 43b9c9b9937c5aaeec611bd32a50a15e81573550. Task-number: QTBUG-38776 Change-Id: I5331d0c29bea59c59309feeab153437a72e0e30f Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | Doc: fix minor issues in QMessageBox docsShawn Rutledge2018-09-291-3/+3
| | | | | | | | | | Change-Id: I58a41b3d66bc1fd8af0136f2ef616f717f4a1173 Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
* | Doc: Remove expired link and add see also entry for style sheetsPaul Wicking2018-09-281-4/+2
| | | | | | | | | | | | | | | | | | Remove link to qt.nokia.com and add see also link to Qt Style Sheets that contain the necessary information. Change-Id: I05f6f760f3f9735f99385bdb39507b0878ec220c Fixes: QTBUG-70805 Reviewed-by: Martin Smith <martin.smith@qt.io>
* | Fix disabled IME when QPlainTextEdit read only property is toggledJussi Witick2018-09-281-1/+1
| | | | | | | | | | | | | | | | | | | | Mirror the behavior of working QTextEdit in QPlainTextEdit. The WA_InputMethodEnabled flag was overridden by the following call to setTextInteractionFlags(). Task-number: QTBUG-55699 Change-Id: I46402f5d94204acd304d56f488bb0fb342d1a846 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* | QGraphicsScene::update(): Keep the list of updatedRects() uniqueFriedemann Kleint2018-09-281-1/+2
| | | | | | | | | | | | | | | | Otherwise, the rects will pile up when the item is not part of a view. Task-number: QTBUG-54275 Change-Id: I29c989e25ce0ca1ac0b87d0388a476ef1acd9cfd Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Do not fall back after resizing a dockMaurice Kalinowski2018-09-281-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | This is a follow up to 60be2fb6a13315f074c3c0b7793c38632f291e8b. Above change only covers resizes via QMainWindowLayout::hover. Doing a resize via the separator was not covered. Task-number: QTBUG-70571 Change-Id: Ic1d1cc6d672b97e8c130864f8708268fd6003204 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
* | wasm: enable filesystemmodel for nothreadLorn Potter2018-09-281-1/+1
| | | | | | | | | | | | | | Task-number: QTBUG-70005 Change-Id: I10b09c1681716b4610147b57db14bce7b0f91b47 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* | Merge "Merge remote-tracking branch 'origin/5.11' into 5.12" into ↵Liang Qi2018-09-274-6/+10
|\ \ | | | | | | | | | refs/staging/5.12
| * | Merge remote-tracking branch 'origin/5.11' into 5.12Liang Qi2018-09-274-6/+10
| |\| | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/global/qconfig-bootstrapped.h src/widgets/util/qcompleter.cpp Change-Id: I4f44f0f074982530f2f2e750ce696230b2754cf3
| | * Fix QCompleter popups preventing the application from exitingAlexandru Croitor2018-09-261-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Due to an implementation detail regarding setParent() and setWindowFlags(), if a QCompleter popup ends up being the last open window after closing the main window, the application would be prevented from exiting even after selecting an item in the popup. This is due to adjustQuitOnCloseAttribute() not being called when passing a Qt::Popup flag to setParent(parent, windowFlags). Use setWindowFlags() directly, which adjusts the quit on close attribute, and allows an application to exit properly. Change-Id: Ic4cff9504df268556d851e40d5ae08b7ed4dc3bf Fixes: QTBUG-69924 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
| | * QHeaderView: Don't unhide hidden sections on layoutChanged()Christian Ehrlicher2018-09-241-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When storing the persistent indexes within _q_sectionsAboutToBeChanged() there was a limit one how much persistent indexes should be stored due to performance concerns. This resulted in unhiding hidden rows. The rationale behind this was that storing persistent indexes is slow and that hiding a large amount of rows/columns should be done with a QSortFilterProxyModel. Fix it by removing the limit since it does not really hurt performance. Task-number: QTBUG-70633 Change-Id: I2311213c2b63c67e2210aa7f73f07d28dc0e47be Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
| | * Modernize the "datestring" featureLiang Qi2018-09-242-2/+2
| | | | | | | | | | | | | | | | | | Change-Id: I2236a456fe3758d9054b22e36fe6316f3522d533 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | | Keep tiled subwindow order on resizePaul Olav Tvete2018-09-271-1/+1
|/ / | | | | | | | | | | | | | | | | | | | | | | | | QMdiArea::tileSubWindows() will move the active window to the first position, in order to be consistent with other MDI applications on Windows (according to the original commit message). However, the same function is also used for re-tiling on resize, so we must make sure to not reorder in that case. Fixes: QTBUG-51761 Change-Id: Ibf93a0bf7e663f983b9160364f812c84b5539171 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | Android: add support for custom buttons in native MessageDialog helperShawn Rutledge2018-09-251-4/+19
| | | | | | | | | | | | | | | | | | New API in QMessageDialogOptions and implementation on Android. Task-number: QTBUG-35545 Change-Id: I59567251199f220862d01ba76979266379eecd86 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | Ensure that QTabletEvent is not pre-accepted before sendingShawn Rutledge2018-09-252-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In QWidget-world it's normal for input events to have the accepted flag false by default, so that it's obvious after visiting a widget subclass that does not override a particular handler function that it did not handle that event type at all. For tablet events in particular, the contract (to which we've been paying more attention to ensure that QTBUG-47007 remains properly fixed) is that if a QTabletEvent is not accepted, a mouse event will follow. Tablet-unaware applications need to get the same mouse events from a Wacom stylus as they would receive from an actual mouse. In this case the issue was missing hover events (mouse movements in which no mouse button is pressed). Without those, the enterEvent and exitEvent virtuals are also not invoked properly. Task-number: QTBUG-47007 Task-number: QTBUG-65199 Change-Id: I957005aad9d2bf85a3a41bbdebe3e046e34dee4d Reviewed-by: Andy Shaw <andy.shaw@qt.io>