Commit Graph

123 Commits (bc4ce284ade4e3584370a74a0cc6aadc40301231)

Author SHA1 Message Date
Friedemann Kleint bc4ce284ad Windows: Generate expose events for layered transient children.
Layered (translucent/non-opaque) windows do not receive WM_PAINT,
expose events need to be generated. Improve
6800728d09 to handle transient
children as well.

Task-number: QTBUG-17548
Change-Id: Id113604512692dfbea1f2b10d0db3068213cf599
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-08-21 16:39:55 +02:00
Friedemann Kleint eb2ae61cb4 Windows: Add hit test handling for non-client areas.
Suppress resize cursor for fixed size windows.

Task-number: QTBUG-32663
Change-Id: I9579bb13d494fe21e5db7b75d01a3cf1b693c7f6
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-08-19 21:56:12 +02:00
Sergio Ahumada 6a56fd3069 Merge branch 'release' into stable
Change-Id: I5e94c4f01564df633c9925561ebb0b553bd31a2e
2013-08-09 12:38:19 +02:00
Sérgio Martins 0ec917123f Fix build with QT_NO_CURSOR.
Just moved applyCursor() and defaultCursor() to a #ifndef block.

Change-Id: I14c21aa509395fb1bd72d389cfc46f0f34ab7649
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-07-31 15:04:58 +02:00
Friedemann Kleint 88f4baf089 Windows: Clear window under mouse in destruction of platform window.
Task-number: QTBUG-32042

Change-Id: I8aa5df84b7ca6deb47e0c3eff9a6a7d2c4793553
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-07-30 09:39:30 +02:00
Friedemann Kleint 49a55be973 Windows: Synthesize expose event for shrinking windows.
Synthesize expose events for all Windows except ANGLE-windows.

Task-number: QTBUG-32121

Change-Id: Ifbff2730ec8f2e8cfe23eeb4022b76a6e432598e
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-07-15 09:46:23 +02:00
Friedemann Kleint 35f79a2c11 Fix crash caused by ~QWindowsWindow flushing the event queue.
Remove call to QWindowSystemInterface::flushWindowSystemEvents()
introduced by 153d613353 .

Task-number: QTBUG-32125

Change-Id: I14aa2772848e04b47deff6218b48eaf69f0bb649
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-07-04 17:18:44 +02:00
Sérgio Martins 6800728d09 Windows: Fix bug where windows stopped painting after a restore.
Usually, a window get un-exposed when minimized, and exposed
after the first WM_Paint event when restored.

With layered windows (translucent+frameless) we never receive
a WM_Paint, so lets send the expose event when the window is
restired.

Task-number: QTBUG-17548

Change-Id: Ib56d8abd91b15f9238d223fe692b19a3d2c930b7
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-07-02 11:05:18 +02:00
Friedemann Kleint b24a115706 Mac/XCB/Windows: Fix initial setting of window icons.
Setting an icon on a QWindow before creating the platform
window did not have any effect.

Task-number: QTBUG-31961
Change-Id: I8e58a3b239c8bc69af58f765e7826337463d2201
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-26 13:54:13 +02:00
Friedemann Kleint 81e981a704 Fix QPlatformWindow::initialGeometry() to not touch large windows.
Do not touch windows whose geometry (including the  unknown frame
size) is likely to be larger than the screen.

Remove fix-up in the Windows plugin.

Task-number: QTBUG-30142
Task-number: QTBUG-31071
Change-Id: I13a8ffb9fb9d8c71d35de75094275388fa427f2c
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-05-28 19:56:50 +02:00
Gabriel de Dietrich 60768a0af9 Windows: Respect geometry set before native window creation
Task-number: QTBUG-31071
Change-Id: Idab21c5996d1dc31b0a6fab4960c3c48a50d4966
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-05-27 15:46:48 +02:00
Friedemann Kleint 26ae24e20b Windows: Fix toplevel window flags for Qt::Dialogs/Qt::Tool.
Task-number: QTBUG-31111

Change-Id: I58dcf8101077f18c7867cae914026c692735fc15
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-05-23 16:21:43 +02:00
Friedemann Kleint 5d5a476e59 Windows: Pass auto-fixed window flags to shouldShowMaximizeButton().
Task-number: QTBUG-28407
Task-number: QTBUG-31258

Change-Id: Ie918fddbeb6adee4ccbfffb2fab62b3d1842d272
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-05-23 12:49:39 +02:00
Friedemann Kleint 8078a04e19 Observe initial screen for fullscreen windows.
Introduce flag to determine "create" state and do
not try to determine the screen from the geometry.

Fixes breakage introduced by
ded4613ae4.

Task-number: QTBUG-31166
Task-number: QTBUG-30724

Change-Id: Ibe8df95e0ea84be070fdd06b158a6a10c76d42be
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-05-23 12:49:39 +02:00
Friedemann Kleint 3860848674 Windows: Update transient parent in show().
Similar to XCB.

Task-number: QTBUG-30707

Change-Id: I6dd7aa370891a46aa5a2243528692180d8366486
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-04-25 17:56:26 +02:00
Gunnar Sletta 2e0575ce89 Fix windows expose logic
Make sure the value of QWindowsWindow::isExposed is in sync
with regions we expose.

This provoked a couple of existing issues in the qwidget test.

setWindowGeometry tested that windows with invalid sizes got
exposed on screen. They didn't, but because the plugin sent
bogus events, these used to pass. Same with windowMoveResize.

The expect fails are also rather bogus. Showing invalid-size
widgets could be considered undefined behavior. The Window
manager could resize it, choose to not show it at all, etc,
but they now pass on windows.

resizeEvent has been broken since 5.0.0, but the test didn't
spin the event loop so the second event didn't get delivered
before the test completed.

Task-number: QTBUG-30744
Change-Id: I3a9efcd095f366126a87739f4248185b6c81d407
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-04-25 15:41:54 +02:00
Friedemann Kleint ded4613ae4 Windows: Position full screen windows on the correct screen.
Find effective screen by searching the virtual sibling that
contains the center as does QDesktopWidget::screenNumber().

Task-number: QTBUG-30724
Change-Id: I8441ab4f3e5ee8169613a82f150d1a4f1777b662
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-04-24 11:10:02 +02:00
Friedemann Kleint da01deb0ac Implement alertion state for windows.
Add QWindow::alert() and QPlatformWindow::setAlertState().
Add logic to clear alertion state when the window becomes
active. The platform plugins then only need to implement a setter
and a cheap getter and need not handle activation.

Prototypically implement X11 and Windows.

Task-number: QTBUG-30416
Change-Id: Ia70c4722d812462a21f4034b7d52735c9f2bc49c
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-04-19 20:10:46 +02:00
Friedemann Kleint 23051ff7ec Clean up touch window registration.
Stop processing for Qt::Desktop windows (which caused
RegisterTouchWindow() to fail with access denied) and set a
flag to cleanly unregister.

Change-Id: I3d10c93ec92536d3ab1c0503f088c40b0c08a01f
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2013-03-25 10:42:01 +01:00
Caroline Chao a410273fab Fix wrong initial position
If the widget is larger than the screen,
its title bar top left corner will be shown
inside the screen.

Task-number: QTBUG-30142

Change-Id: Id93773874be3616b3ef4b9bee6e1bb751c541d7b
Reviewed-by: Caroline Chao <caroline.chao@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-03-12 15:59:21 +01:00
Friedemann Kleint da672eba99 Windows: Use arrow cursor for toplevels with no cursor set.
Fixes unsetting the cursor in Qt Quick Controls.

Task-number: QTBUG-28879

Change-Id: I049beafaa723f6e782df872f14c09b7f927e70ac
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-03-12 09:16:42 +01:00
Frederik Gladhorn 49a2ec05b4 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	src/plugins/platforms/qnx/qqnxscreen.cpp
	src/plugins/platforms/windows/qwindowsdialoghelpers.cpp

Change-Id: Ib64f21c077b54f2291d19187590bfe869b98477a
2013-03-06 14:38:07 +01:00
Frederik Gladhorn 5e8ae03578 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	configure
	qmake/generators/mac/pbuilder_pbx.cpp
	src/corelib/kernel/qtimerinfo_unix.cpp
	src/plugins/platforms/cocoa/qcocoabackingstore.mm
	src/plugins/platforms/cocoa/qcocoawindow.mm
	src/plugins/platforms/windows/qwindowswindow.cpp
	src/plugins/platforms/xcb/qglxintegration.cpp

Change-Id: I8d125fe498f5304874e6976b53f588d3e98a66ac
2013-03-05 13:42:11 +01:00
Friedemann Kleint 9100a68221 Windows: Print size constraints in geometry warning.
Change-Id: I0f8f82e975bfe7e9b00c48741b2a0317fac5f839
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-03-05 08:31:23 +01:00
Friedemann Kleint f4933eba54 Windows: Take custom margins into account for size constraints.
Fix a warning unearthed by the task's code example. The minimum
size of the window would be too big since it did not take the
negative custom top margin into account.

Task-number: QTBUG-29904

Change-Id: I8b71a39f0724bdd1b9359676ce1d86ef5384d685
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-03-05 08:31:23 +01:00
Friedemann Kleint bc741b867c Windows: Repaint when switching off layered windows by opacity.
Task-number: QTBUG-29010

Change-Id: I565a800e5a5b4870bd3ee2e3fb3f55523334425f
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-03-04 17:41:15 +01:00
Friedemann Kleint e265a1a4bd Disable maximize button for fixed-size windows.
Task-number: QTBUG-28407

Change-Id: I5bab7fcf4ad3ecc7008ef02b9d3575d75893895d
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2013-02-27 20:17:25 +01:00
Shawn Rutledge 153d613353 Transient QWindows centered; default-constructed geometry
Default-constructed geometry does not mean put the window at 0,0,
and it does not mean center the window on the screen: it means
let the window manager position the window.  If the window is
explicitly positioned at 0,0 though, that is a higher priority
than the transient hint; without this change, the transientFor property
had no effect.  On X11, transient means use center "gravity" to
make the transient window exactly centered.  But the user can still
override the geometry of a transient window, as with any window.
On OSX and Windows, neither transient window functionality nor smart
initial positioning are provided, so a window with no position set
will be centered on the screen, and a transient window will be put
at the center of its transientParent.

Change-Id: I4f5e37480eef5d105e45ffd60362a57f13ec55f5
Task-number: QTBUG-26903
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-02-24 20:41:05 +01:00
Frederik Gladhorn e65cd6f379 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	src/concurrent/doc/qtconcurrent.qdocconf
	src/corelib/doc/qtcore.qdocconf
	src/corelib/global/qglobal.h
	src/dbus/doc/qtdbus.qdocconf
	src/dbus/qdbusmessage.h
	src/gui/doc/qtgui.qdocconf
	src/gui/image/qimagereader.cpp
	src/network/doc/qtnetwork.qdocconf
	src/opengl/doc/qtopengl.qdocconf
	src/opengl/qgl.h
	src/plugins/platforms/windows/qwindowswindow.cpp
	src/printsupport/doc/qtprintsupport.qdocconf
	src/sql/doc/qtsql.qdocconf
	src/testlib/doc/qttestlib.qdocconf
	src/tools/qdoc/doc/config/qt-cpp-ignore.qdocconf
	src/widgets/doc/qtwidgets.qdocconf
	src/xml/doc/qtxml.qdocconf

Change-Id: Ie9a1fa2cc44bec22a0b942e817a1095ca3414629
2013-02-14 14:24:57 +01:00
Friedemann Kleint 391b5a465e Do not force top level flag on embedded windows.
Regression introduced by cd7ba89a07.

Task-number: QTBUG-29564
Task-number: QTBUG-28872
Change-Id: I6402a971af89321d18afb42dc25e54b1c88df129
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-02-08 15:24:13 +01:00
Bjoern Breitmeyer b06363886d Fixed QT_NO_DRAGANDDROP build for the windows plugin
Change-Id: Ieb987105bdcc08118a1b83cf3b74a93fa402264a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-02-07 18:22:08 +01:00
Bjoern Breitmeyer e74bf9497c Fixed QT_NO_CURSOR build for windows/CE plugin.
Change-Id: I02f13b2af2d8c285fbca46917ff77826720857be
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-02-07 16:10:47 +01:00
Bjoern Breitmeyer d45b40007f Removed User32.dll usage on WINCE
Change-Id: Id65dc0a9a829d66d0a2cc7bd40c5ba3190d9ecba
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Janne Anttila <janne.anttila@digia.com>
2013-02-07 16:10:47 +01:00
David Faure ca19cba2ac Factorize code for formatting window titles into QPlatformWindow.
Change-Id: I0dcccd08916fc2ea1b795681e9b98a9550ef51b6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-02-06 18:39:32 +01:00
Friedemann Kleint b3820b12fb Windows: Fix setting of layered windows.
The setting/clearing of WS_EX_LAYERED in the backing store
interfered with the setting/clearing in setWindowOpacity
when combining translucent and non-opaque windows.
Introduce QWindowsWindow::setWindowLayered to handle
it consistently.

Task-number: QTBUG-29010
Task-number: QTBUG-28531
Change-Id: Ib6e2740aae417bdf7b3db9ef7deb646be98df1d6
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-02-06 14:21:44 +01:00
Frederik Gladhorn c608ec8254 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	src/corelib/io/qsavefile_p.h
	src/corelib/tools/qregularexpression.cpp
	src/gui/util/qvalidator.cpp
	src/gui/util/qvalidator.h

Change-Id: I58fdf0358bd86e2fad5d9ad0556f3d3f1f535825
2013-01-22 18:40:13 +01:00
Friedemann Kleint c24a7377dd Regression: Fix setting of custom cursors for native widgets.
Currently, there is no concept of not having a cursor set on
a Window. Qt::ArrowCursor is always set instead. This causes
bugs when native child widgets are involved, for example setting
a cursor on the native widget's parent no longer works since
the child's Qt::ArrowCursor applies.

Introduce QWindowPrivate::hasCursor tracking whether a cursor
has been explicitly set and clear in QWindow::unsetCursor().

Handle 0 in QPlatformCursor::changeCursor() to mean
"unsetCursor()":
- Windows: Introduce default constructor for QWindowsWindowCursor
  meaning "0". Search for applicable parent cursor in applyCursor.
- XCB: No big changes required, set XCB_CURSOR_NONE for no cursor.
- Other platforms: Assume Qt::ArrowCursor when cursor = 0 is
  passed for now.

Task-number: QTBUG-28879
Change-Id: Id82722592f3cd5fe577a5b64dcc600c85cfea484
Reviewed-by: Jonathan Liu <net147@gmail.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-01-21 21:50:45 +01:00
Friedemann Kleint aacf4d0263 Fix a crash when minimizing a QQuickWindow.
Send empty expose event and flush queue when minimizing.

Task-number: QTBUG-28439
Task-number: QTBUG-26424

Change-Id: I2e921a86660f946ced7af735cdf197fb666e2934
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-01-18 15:42:59 +01:00
Sergio Ahumada 48e0c4df23 Update copyright year in Digia's license headers
Change-Id: Ic804938fc352291d011800d21e549c10acac66fb
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-01-18 09:07:35 +01:00
Frederik Gladhorn 7075e29199 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	src/widgets/styles/qstyleanimation.cpp

Change-Id: Iae570895be6544de80f9c1ec309d1a08c59daff8
2013-01-16 01:22:45 +01:00
Friedemann Kleint cd7ba89a07 Windows: Force toplevel flag in setParent() in both cases.
When re-applying window flags in setParent, force top level on
or off according to state.

Task-number: QTBUG-28872
Change-Id: If931fcb38394f472a6cdf260aa935c1d03779611
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-01-15 13:38:55 +01:00
Friedemann Kleint f5fd534603 Fix frame of Aero-Style wizards.
Add custom frames which are added to the system frame to
the platform plugin. Make them settable when creating a platform
window using dynamic properties and per window properties
of the platform native interface.

Use this in favor of the native event handling changing the frame
in wizard_win.cpp since that caused the frame/backing store sizes
of the QWindow to be wrong.

Task-number: QTBUG-28099

Change-Id: Idd6416cf1b0eb629f56663088b0ce17162e1739d
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-01-09 20:53:57 +01:00
Friedemann Kleint 6ecc3e76e8 Add API dealing with QMargins to QRect.
- Addition of a QMargin to a QRect.
- Removal of a QMargin from a QRect.
- Remove implementation from Windows platform plugin.

Change-Id: Iae54bc13e94a7ece48853b1d3f3de2bfc154d2dd
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
2013-01-07 16:11:19 +01:00
Jonathan Liu acbb6f1897 Windows: Remove warning when creating QWindow
Change-Id: I63c76710ab84c88ba8b4b6f24e6161ae2db77a5f
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2012-12-17 11:57:02 +01:00
David Faure 92bd9aecfb Fix empty window title regression, add application display name to window title
This increases consistency a lot: all windows and dialogs from a Qt
application will show the app display name in the caption, on Windows and X11.
This helps identifying which app a dialog belongs to, which is especially
useful when the dialog is very generic and shows up unexpectedly.

For compatibility reasons, the app name is added to the caption only
if setApplicationDisplayName() was called -- or if the caption would be
completely empty. The standard Qt4 case (setWindowTitle + no display name)
is unchanged.

Change-Id: Ib284c62c1f4c0bc923e5bc2d10247d95e9aa76c1
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2012-12-14 08:56:02 +01:00
Friedemann Kleint 76ce3e6419 Fix QWidget::setWindowOpacity() when called before show().
Pass opacity from the QWidget to QWindow and to the platform
windows.

Task-number: QTBUG-28477
Change-Id: If5a85d9183bd1ca33dac2052936ecd1e6c0b5f6c
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2012-12-12 21:55:57 +01:00
Oliver Wolff e9a8b026f5 Fix touch event handling for Windows
Filtering touch events depending on Qt::WA_AcceptTouchEvents
is not trivial. I thought about doing so in
QWidgetWindow::handleTouchEvent but the target widget (not
window), which has to be checked, has to be obtained using
the primary touch event's position etc.
Thus that is not part of this commit and will be done in a
followup.

Change-Id: I876ee72acd7fdfbe46da61c6eb3c5891ea319cd8
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2012-11-27 16:18:19 +01:00
Samuel Rødal 7a7102ad07 Fixed abbreviations in QWindow::framePos() and QWindow::setFramePos().
As 672e7c875e did changing pos() to
position() and setPos() to setPosition().

Luckily there's not much code that uses these.

Change-Id: I1e1982f00412a22bd376e667a5e8c30b6149f9b5
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2012-11-27 15:24:31 +01:00
Shawn Rutledge cd34da5426 Rename all QWindow properties that have "window" in them
windowTitle, windowModality, windowIcon and so on are named that way
to be similar to the ones in QWidget.  However QQuickWindow inherits
all of the declared properties, and we would like to have shorter
property names in QML.  If you are working with a Window then it's
obvious the title property is the window title.  Unfortunately,
there must be patches in many other modules which depend on this one.
In order to avoid the need to merge them all at the same time,
there is also patch https://codereview.qt-project.org/#change,39001
which temporarily adds backwards-compatible accessors, which can be
removed after the other modules are able to build without them.

We should not rename windowState to state, because in QML, state
usually drives the state machine for animation transitions etc.
(although QWindow is not an Item, a user might get confused about it).

Related patches are
https://codereview.qt-project.org/#change,39001
https://codereview.qt-project.org/#change,37764
https://codereview.qt-project.org/#change,37765
https://codereview.qt-project.org/#change,37766
https://codereview.qt-project.org/#change,37762

Change-Id: Ie4424ec15fbdef6b29b137f90a2ae33f173edd21
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2012-11-07 21:26:08 +01:00
Miikka Heikkinen c4109fe103 Fix crash when handling WM_PAINT during COM operations
Synchronous expose corrupts painter state if it is done during existing
paint operation, which can happen e.g. when requesting some value from
dumpcpp generated wrapper inside a slot.

Fixed by implementing support for setting asynchronous expose and
doing expose according to the setting in handleWmPaint().

Task-number: QTBUG-27209
Change-Id: I89b5aa823fda947d26b1a4757f129e7c31ea408b
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2012-10-25 14:10:04 +02:00