qt6-bb10/src/widgets
Błażej Szczygieł bc410cc706 QtWidgets: Reduce paint events when resizing native widget
This patch reduces paint events by removing code which sets native
widgets dirty in QWidgetWindow::handleExposeEvent. Native widgets are
also marked dirty in QWidgetPrivate::drawWidget, so it is enough for
proper painting.

This restores Qt4 behavior when one resize means one repaint for native
widgets. Without this patch the native widget is marked as dirty on
every expose event, so one repaint is from syncBackingStore and second
(or more) is from marking the widget dirty explicitly.

This patch improves performance of native widgets and it also reduces
locks when paint event is v-synced, e.g. on OpenGL swap buffers or on
any other technology like VDPAU, VA-API, etc.

Added autotest for checking number of paint events for native widgets.

Task-number: QTBUG-50796
Change-Id: I4e1649069e2e73d15b038fd1834d0551915252ee
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2016-05-19 10:11:27 +00:00
..
accessible QAccessibleMenuItem: Implement QAccessibleInterface::window(). 2016-05-06 21:25:54 +00:00
dialogs Remove dead code from QColorDialog 2016-05-14 01:21:22 +00:00
doc Doc: Remove repository name from examplesinstallpath 2016-05-12 12:15:52 +00:00
effects QtWidgets: includemocs 2016-03-18 22:37:50 +00:00
graphicsview QGraphicsView: clarify documentation for viewportTransform 2016-04-02 20:46:30 +00:00
itemviews QTableView: Fix selection for reordered or hidden rows/columns 2016-05-09 05:14:38 +00:00
kernel QtWidgets: Reduce paint events when resizing native widget 2016-05-19 10:11:27 +00:00
statemachine QtWidgets: includemocs 2016-03-18 22:37:50 +00:00
styles qstyle: Make image description match the image. 2016-04-28 23:05:38 +00:00
util Document how to save an application using QUndoStack 2016-05-11 17:38:23 +00:00
widgets QMenuBar: nested parenting fix 2016-05-18 17:40:11 +00:00
Qt5WidgetsConfigExtras.cmake.in CMake: Include the definition of the Qt5::AccessibleFactory target. 2014-04-16 15:21:50 +02:00
Qt5WidgetsMacros.cmake Updated BSD licensed file headers 2015-02-15 07:41:17 +00:00
QtWidgets.dynlist Update dynlist file for QtWidgets 2013-03-18 17:11:03 +01:00
widgets.pro consistently put {qt,qml}_{module,plugin} at the end of project files 2016-03-07 14:09:49 +00:00