summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel
Commit message (Collapse)AuthorAgeFilesLines
* QShapedPixmapWindow: ensure we set a valid geometryRichard Moe Gustavsen2015-05-063-9/+16
| | | | | | | | | | | | | | | | | | | | | On touch platforms, QCursor::pos() will only be 'valid' when a touch event has (at least once) been translated to a mouse event. Currently this never happens in QtQuick since QtQuick always accepts all touch events and performs its own translations. So rather than setting the geometry of QShapedPixmapWindow from QCursor directly, we instead base it on mouse events. This will ensure that we never try to set the geometry of the window to an 'invalid' value, which can cause a crash on platforms like iOS. Note that we currenly miss an API in Qt to get the current touch points. When that is in place, we can also set a correct start position for the window before the first mouse move event arrives. Task-number: QTBUG-45877 Change-Id: I320598e87d43f6e9e087c204a69b95465128f468 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* QShapedPixmapWindow: don't accept input focusRichard Moe Gustavsen2015-05-061-1/+1
| | | | | | | | | | | | Inform the platform that it should not activate the window when shown by setting Qt::WindowDoesNotAcceptFocus. This compliments the already set Qt::WindowTransparentForInput, which specifies that mouse/touch events should also pass through the window. In other words, the window is just for showing output and should not respond to input. Change-Id: I3e90a28be2f2e27e2044effedf64f47c94a857a5 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* Revert change of NOTHROW to NOEXCEPTAllan Sandfeld Jensen2015-05-051-1/+1
| | | | | | | | The change would remove the noexception hint on MSVC versions that doesn't support noexcept but supports their older 'throw()' hint. Change-Id: Ie5163f2413522f427279f59c8562c0ce4769bc82 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Add noexcept to move constructors and assignment operatorsAllan Sandfeld Jensen2015-05-042-7/+12
| | | | | | | | | Add the noexcept attribute to all move constructors and assignment operators in QtGui that didn't already have it. Change-Id: Idcdf79ae8349b8793e7394b5ae7c08e6111fbc9a Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* Enhance QWindow::devicePixelRatio() docsLaszlo Agocs2015-04-211-0/+4
| | | | | | | | | | Document that fact that for non-create()'ed windows this is the same as QGuiApplication::devicePixelRatio() which is the highest dpr in the system. This has consequences when running with multiple displays so application developer's have to be aware of this. Change-Id: Ic05a18732ff021659da04428cb49421ac3453870 Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
* Enable checking for whether the system palette was explicitly setHarald Hvaal2015-04-201-0/+1
| | | | | | | | | | In order to obey a palette set globally on QApplication, an application attribute for checking if it's set at all is added. Task-number: QTBUG-39800 Change-Id: I26b965e6e18e0e1ca4df03cf343b3527df3636b2 Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.4' into 5.5Liang Qi2015-04-151-2/+2
|\ | | | | | | Change-Id: I004854a25ebbf12b1fda88900162fe7878716c58
| * Fix QNX and Blackberry -qtnamespace buildSérgio Martins2015-04-011-2/+2
| | | | | | | | | | | | Task-number: QTBUG-43569 Change-Id: I81a560d1508de4d808a807f1febdc17619cf4dda Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* | Defer Q(OpenGL|Raster)Window updates when non-exposedLaszlo Agocs2015-04-141-4/+18
| | | | | | | | | | | | | | | | | | | | This is similar to how widgets work. On platforms like OS X this becomes essential since in non-exposed state SwapBuffers does not block so continuing to update continuously leads to undesirable effects. Task-number: QTBUG-45524 Change-Id: I80f4c00b218561b9e62c3cad1e66f61f4debd4af Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
* | Expose ItemViewActivateItemOnSingleClick in QStyleHintsEike Hein2015-04-105-1/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This completes support for ItemViewActivateItemOnSingleClick in QPlatformIntegration and exposes the setting in QStyleHints. Based on the review process, the public name used is 'singleClickActivation' for brevity, as well as to avoid con- fusion over alluding to "item views" in the Qt Quick context. KDE Plasma intends to use this via Qt.styleHints to have Qt Quick-based UI correctly implement the global single vs. double click user preference for item activation. [ChangeLog][QtGui] Added QStyleHints::singleClickActivation to access whether the platform expects item activation to occur on single clicks rather than double clicks. Change-Id: I0916e9e68c3a157f95053da8227b2612803653f7 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* | Add a means to set the application icon where supportedAndy Shaw2015-04-103-2/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | On OS X the application icon can be changed at runtime, so this adds a way to set this via the QPlatformIntegration. [ChangeLog][OS X] QApplication::setWindowIcon now changes the icon for the application in the dock. Task-number: QTBUG-43999 Change-Id: Ice298c0bd52f10f4866f37c6d3f20cf5419b7a1b Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com> Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
* | Remove table of mostly null pointersAllan Sandfeld Jensen2015-04-081-0/+3
| | | | | | | | | | | | | | | | | | The patch moves the initialization of the format to format blend tables to runtime, so we only have to explicitly set the values that are not null. This removes most of the lines in qblendfunctions.cpp. Change-Id: Ie017f380ff11cfb764a631cfea7626786731b5fb Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* | Merge "Merge remote-tracking branch 'origin/5.4' into 5.5" into refs/staging/5.5Liang Qi2015-04-013-15/+22
|\ \
| * | Merge remote-tracking branch 'origin/5.4' into 5.5Liang Qi2015-03-313-15/+22
| |\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/android-g++/qmake.conf qmake/generators/unix/unixmake2.cpp src/gui/image/qimage_conversions.cpp Change-Id: Ib76264b8c2d29a0228438ec02bd97d4b97545be0
| | * Fix use of the window geometry specificationAlexander Volkov2015-03-273-14/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Until now we applied the geometry in QWidget::setVisible() by calling QWidget::move() and QWidget::resize(). But these methods are unreliable when the window is created but not visible yet. For example, specifying the window position by "-geometry +0+0" will take no effect. Apply the geometry directly to QWindow in QWindow::setVisible(). QWidget will update its geometry after the response of the window system. Besides it allows to specify the geometry for QML applications. Task-number: QTBUG-44713 Change-Id: I9a0e110e81e569c81da802729707fec104fef887 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
| | * Always clear QWindowPrivate::positionAutomatic in setFramePosition()Alexander Volkov2015-03-061-1/+1
| | | | | | | | | | | | | | | Change-Id: I3dd494eee6a133c05256cc1518853e6c5511f8b7 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* | | Split out some inline qdebug formatting helpers to qdebug_p.h.Friedemann Kleint2015-04-011-41/+83
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Extract helpers to be able to format classes without type names and use those for formatting QEvents to reduce clutter. For example: QWidgetWindow/"MainWindowClassWindow" QMouseEvent(QEvent::Type(MouseMove), buttons=QFlags<Qt::MouseButtons>(LeftButton), localPos=QPointF(50,116), screenPos=QPointF(948,652)) QWidget/"qt_scrollarea_viewport" QMouseEvent(QEvent::Type(MouseMove), buttons=QFlags<Qt::MouseButtons>(LeftButton), localPos=QPointF(45,32), screenPos=QPointF(948,652)) becomes QWidgetWindow/"MainWindowClassWindow" QMouseEvent(MouseMove, LeftButton, localPos=50,116, screenPos=948,652) QWidget/"qt_scrollarea_viewport" QMouseEvent(MouseMove, LeftButton, localPos=45,32, screenPos=948,652) Change-Id: Ie5441d922962a05caed6b7079a74ea8a2b8a64fb Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* | Fix incorrect FBO bindings with QOpenGLWidgetLaszlo Agocs2015-03-302-3/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | QOpenGLContext::defaultFramebufferObject() knows nothing about QOpenGLWidget and QQuickWidget. The problem is that this function (and others that rely on it) is expected to give the widget's backing FBO in paintGL() and friends. To overcome this, we have to provide a way for such widgets that indicate what is the expected "default fbo". Task-number: QTBUG-43269 Change-Id: I43f439f8609382b9f7004707ab0ef9f091952b4f Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* | Use QDebugStateSaver to restore space setting in stream operators.Friedemann Kleint2015-03-306-8/+16
| | | | | | | | | | | | | | | | Returning dbg.space() breaks formatting on streams that already have nospace() set. Change-Id: I55e38b018679a67eb40be6b4664505483a3a7d8e Reviewed-by: David Faure <david.faure@kdab.com>
* | Make versioned OpenGL functions working with the subclass patternLaszlo Agocs2015-03-273-1/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QOpenGLFunctions allows both deriving from it and getting an instance via QOpenGLContext::functions(). Unsurprisingly a large number of users attempt to use the versioned function wrappers in the same way. Unfortunately this approach was not that well supported. Besides some potential base class exporting issues the real blocker for QOpenGLWidget - or any versionfunction subclass whose associated context changes during its lifetime - is that the functions instances could only be initialized once. Unlike instances retrieved via QOpenGLContext::versionFunctions(), instances created "manually" were not deinitialized upon the destruction of the associated context because context did not know about them. A pattern like initializeOpenGLFunctions(); delete context; create new context and make it current initializeOpenGLFunctions(); is working fine in QOpenGLFunctions-derived classes but not with the versioned ones. To overcome this, start registering such instances to the context too. QOpenGLContext::destroy() can then reset the internal state so a subsequent initializeOpenGLFunctions() will reinitialize properly instead of bailing out mistakenly thinking that everything is ready to use. Task-number: QTBUG-45199 Change-Id: Ia1420bcccb33c51508698b7a1b036c7544a66e74 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Don't replay mouse press event which closes a popup on X11Alexander Volkov2015-03-252-1/+4
| | | | | | | | | | | | | | | | | | | | | | Add a new style hint to QPlatformIntegration: ReplayMousePressOutsidePopup. Return false for it in the xcb plugin. This commit restores the behavior which was in Qt 4. Task-number: QTBUG-34814 Change-Id: I19fee762395a51475cc67b52b368c70679ca736b Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* | Improve debug formatting of key and mouse events.Friedemann Kleint2015-03-251-5/+5
| | | | | | | | | | | | | | | | Use the debug operator for enums and flags to format keys and modifiers. Change-Id: Id748e4b2202797efcbf3a616d111399929ada8b1 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* | Add a note about not requesting a profileLaszlo Agocs2015-03-201-1/+1
| | | | | | | | | | | | | | | | As per spec not requesting a profile on 3.2+ is same as requesting core since the profile mask defaults to core. Change-Id: I5d03ac08bcba20c273c1c32a51f6a105eba0629f Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* | improve QTouchEvent::TouchPoint qDebug operatorShawn Rutledge2015-03-181-1/+2
| | | | | | | | | | | | | | Include pressure, startPos and lastPos. Change-Id: Ib08b52e25bc2c298b712becf858c87d16fd7a7ae Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* | Support QCursor::setPos() properly for eglfsLaszlo Agocs2015-03-142-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The internal state of the input handlers need updating too. This was not possible in the past due to the one way communication from the input handlers (that are potentially loaded as interface-less generic plugins), but using our new private QInputDeviceManager in QtGui we can now easily implement "talking back" from QtGui to the input handlers, regardless of them being plugins or compiled in. The rest of setPos() is in place already for eglfs. linuxfb will be handled in follow-up patches. Task-number: QTBUG-44856 Change-Id: Id72fdb8b1ea176ddfe082e466e7a538a2a98a005 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com> Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
* | eglfs: Generate enter and leave eventsLaszlo Agocs2015-03-143-0/+17
| | | | | | | | | | | | | | | | | | | | | | In addition the logic in QGuiApplication that picks the target window for input events with a null window has to be enhanced to be compatible with how real windowing systems work: mouse events following a press are delivered to the same window until the release, even if the cursor has left the original target window. Task-number: QTBUG-44814 Change-Id: I3fea84ac77a5ccebeae5def64f92d8d2e03d13ff Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
* | Fix build with QT_NO_CURSORAndrew Knight2015-03-121-2/+2
| | | | | | | | | | | | | | The the static cursor methods still need to be compiled. Change-Id: Ic92eb706af67d3c2645e45cd91cb099c3263a869 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* | QShortCut: Check whether the menu is QPA-disabledGabriel de Dietrich2015-03-111-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | When climbing the menu hierarchy, it's sounder to check whether the actual QPA menu is enabled. This way we can trigger modifier-less shortcuts even in submenus. Task-number: QTBUG-38256 Task-number: QTBUG-42584 Change-Id: I13a27027306bce0f0732b05bf9469f3b77028f73 Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
* | QScreen availableGeometryChanged signal: emit correct valueShawn Rutledge2015-03-111-1/+1
| | | | | | | | | | | | | | | | | | Need to emit availableGeometry not geometry Task-number: QTBUG-44916 Change-Id: I6eb7eb0b8e46d6d8249fa67f57374b25e21f2ade Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* | Gui: Fix compilation with QT_NO_OPENGLKai Koehne2015-03-111-0/+7
| | | | | | | | | | Change-Id: I96674b39fd4176cf9d93b7ce00efa2b035128b61 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* | docs: QPlatformWindow::screen() and QWindow::screen() can return nullShawn Rutledge2015-03-062-2/+3
| | | | | | | | | | | | | | | | | | | | After change f4b8697c40bd476ef6bf83418e144adce7c7d4a3, it is normal on X11 to have a null screen when all outputs have been disconnected or turned off. Change-Id: I97eeefd86d97701be50f0757fe5c53ca36d79aaa Reviewed-by: Harri Porten <porten@froglogic.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* | xcb: do not create a dummy QScreen when there are no outputsShawn Rutledge2015-03-061-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Whenever a QWindow is associated with a QScreen, the screen is expected to be a real working one, so that rendering continues to be possible. This partially reverts 52f5e50f11a3ba82e32dc2efc656e4021a3fa4f5 [ChangeLog][QPA][Xcb] If all QScreens (xcb outputs) are disconnected while an application is running, QGuiApplication::primaryScreen() will return null until a screen is connected again. Task-number: QTBUG-40174 Task-number: QTBUG-42985 Change-Id: Id1b29dd70eaf3f2e7fd477516ce7e2bf24e095f6 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com> Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
* | Remove debug formatting functions obsoleted by the new debug operator for ↵Friedemann Kleint2015-03-051-55/+4
| | | | | | | | | | | | | | | | QFlag<T>. Change-Id: I6d737eb86b790eeefb537ca5e6a075bf30a3dcfb Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* | xcb: QkeySequence::Quit is control-QShawn Rutledge2015-03-051-1/+1
| | | | | | | | | | | | | | | | Until now it was mapped that way only under KDE and Gnome. Task-number: QTBUG-44772 Change-Id: I65a425bb531909dff4110f086c9aee8ae7a747c6 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* | Fix shortcut overriding.Christian Strømme2015-03-052-4/+13
| | | | | | | | | | | | | | | | | | | | | | | | Moved to processKeyEvents() on all platforms except OS X. Previously QWindowSystemInterface::tryHandleShortcutEvent() was called from inside QWindowSystemInterface, this is considered unsafe as it ends up calling sendEvent(). On some platforms the call might come from a different thread then the receiver and cause an assert. Task-number: QTBUG-44712 Change-Id: Ie80c698f63b9c3d9f52aa94380e539a84caea912 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
* | QEvent types: use Q_ENUM qDebug support instead of custom formattersShawn Rutledge2015-03-031-102/+18
| | | | | | | | | | Change-Id: I10886de57b3ba24dddfcd4b78e1a32c470ac1889 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* | Prevent static functions of Q[Gui]Application from crashing if there is no ↵Friedemann Kleint2015-02-271-0/+15
| | | | | | | | | | | | | | | | | | | | instance. Add tests. Task-number: QTBUG-44499 Change-Id: I160b089ad3f23ab71a87519e50f8a2ef5d2a4a6f Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | Improve setDefaultFormat docs regarding AA_ShareOpenGLContextsLaszlo Agocs2015-02-251-0/+6
| | | | | | | | | | | | | | | | | | | | | | When using core profile contexts, sharing with the global share context may not work if the global one is a non-core context. This can happen when setDefaultFormat() is called only after Q(Gui)Application is constructed. This is a typical issue on OS X, so document it. Change-Id: I6a8dca442ffeb884faedb9c6346351bb6eef3cff Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
* | Fix crash when accessing QStyleHints before QGuiApplication is constructed.Friedemann Kleint2015-02-253-7/+13
| | | | | | | | | | | | | | | | | | | | | | Make styleHints a static member variable of QGuiApplicationPrivate and fix accessor accordingly. Extend tst_QApplication::settableStyleHints() to run without QApplication instance as well and add a similar test to QGuiApplication. Task-number: QTBUG-44499 Change-Id: I42b92ef38f7dd512d08d70accfa7dd4f09a22f01 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* | Fix invocations of static methods of QGuiApplication/QApplication.Friedemann Kleint2015-02-252-9/+9
| | | | | | | | | | | | Change-Id: I99ba58763f6063fa2a6f511adbea0163cce7ea32 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* | Decide whether to synthesize mouse events on a per device basisAlexander Volkov2015-02-256-15/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently Qt uses the QPlatformIntegration::StyleHint SynthesizeMouseFromTouchEvents to check whether to synthesize mouse events from touch events. But not only platform plugins can produce touch events, they can be created by e.g. QTest::touchEvent() and in this case we almost definitely need synthesizing regardless of the platform. This commit introduces a QTouchDevice::MouseEmulation capability which replaces use of the QPlatformIntegration::SynthesizeMouseFromTouchEvents. So it's possible to pass QTouchDevice without this capability to QTest::touchEvent() and be sure that mouse events will be synthesized. Notice that touch pads always emulate mouse events. As a result we can activate some tests which were disabled for specific platform configurations by commits 6c1670d8c273819435867c42725c0db0eee597dc and e9760f1559361c39f269fb89f1ebd01f6ee8378d. Change-Id: Idc82fa4007a095fc1cb5934979361b0023d2b793 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* | Ensure QGuiApplicationPrivate::screen_list is correctly populatedSandro Mani2015-02-252-3/+7
| | | | | | | | | | | | | | | | | | | | Ensure QGuiApplicationPrivate::screen_list always contains at least one screen, and that the first item (returned by QGuiApplication::primaryScreen) is always the current primary screen Task-number: QTBUG-42985 Change-Id: I08b880b3e94387f28230ed5fc738bceea943bad3 Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.4' into 5.5Frederik Gladhorn2015-02-241-8/+6
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: examples/xml/htmlinfo/simpleexample.html examples/xml/rsslisting/rsslisting.cpp qmake/generators/win32/msbuild_objectmodel.cpp src/3rdparty/harfbuzz-ng/src/hb-private.hh src/corelib/global/qlogging.cpp src/corelib/io/qstorageinfo_unix.cpp src/corelib/thread/qwaitcondition_unix.cpp src/gui/kernel/qguiapplication.cpp src/plugins/platforms/linuxfb/qlinuxfbintegration.cpp src/testlib/doc/src/qt-webpages.qdoc tests/auto/other/qaccessibility/tst_qaccessibility.cpp Change-Id: Ib272ff0bc30a1a5d51275eb3cd2f201dc82c11ff
| * QGuiApplication: revert b8d0fac5a9 (mouse event handling)Richard Moe Gustavsen2015-02-151-8/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current attempt to fix the problem described in b8d0fac5a9 has shown to have unforeseen issues. The assert in the patch has been triggered in user code (see bug report), which, when looking more closely, shows that the assert cannot be guaranteed for all cases. E.g if user code (or Qt drag'n'drop code) starts a new event loop upon receiving the move event, this can deliver new mouse events before the move returns, which will trigger the assert. So it seems like the most correct solution is to *post* the second button event after all (directly trailing the move event), to at least make sure mouse events are being delivered in the correct order. The crash that caused the original change will need to be fixed by other means. Task-number: QTBUG-38597 Change-Id: I47633d1ea310b7c16e937ef0404d9954281452c3 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* | Merge dev into 5.5Oswald Buddenhagen2015-02-234-4/+4
|\ \ | | | | | | | | | Change-Id: Id6dbbbfc542c214fe695c6795c6aaf23aedc1cd1
| * | Fixed license headersJani Heikkinen2015-02-174-4/+4
| | | | | | | | | | | | | | | Change-Id: Ibebe1318d1c2de97601aa07269705c87737083ee Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | | Use QPlatformWindow::mapToGlobal()/mapFromGlobal() for Qt::ForeignWindow.Friedemann Kleint2015-02-181-6/+10
|/ / | | | | | | | | | | | | Task-number: QTBUG-43252 Task-number: QTBUG-41186 Change-Id: I91654b6591585dec9748982a0686becf3f5e2718 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | Add widget support for requestUpdate() and improve its docs and testsLaszlo Agocs2015-02-161-4/+9
| | | | | | | | | | | | | | | | | | | | | | We must do something when requestUpdate() is called on a QWidgetWindow. The semantics of UpdateRequest for QWindow and QWidget are unfortunately different: for widgets an UpdateRequest means "sync the backing store". For QWindow it also involves marking as dirty. Change-Id: Idf40b3fc0873652dc081edeb12c96b3007a126ef Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com> Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
* | QScreen: add devicePixelRatio propertyShawn Rutledge2015-02-142-1/+7
| | | | | | | | | | | | | | | | | | It has been only an accessor until now. [ChangeLog][QtGui][QScreen] added devicePixelRatio property Change-Id: I3b9d0aed437cc11a8ddb5b601dd8db6ed5ca9748 Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
* | FreeType: Support RGB rendering when not using FontConfigSérgio Martins2015-02-142-0/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Windows+FreeType, Linux with -no-fontconfig and the forthcoming OSX FreeType engine can now use sub pixel rendering. The function to get the subpixel type is in QPlatformScreen because we're moving to per screen font settings in the future. This patch is safe, as no functionality is changed for existing users, if one wants sub pixel rendering they'll still have to pass -DFT_CONFIG_OPTION_SUBPIXEL_RENDERING to configure. Task-number: QTBUG-44269 Change-Id: Ib6c22d48a1b7c7b85ee316d5d9e3b6eae0c1ecc0 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>