- 10 May, 2016 - 1 commit
-
-
Gabriel de Dietrich authored
~QWidgetPrivate() may end up calling QWidgetPrivate:: deleteTLSysExtra() which, in turn, calls QWindow::destroy(). This sends an event to the window itself. This reaches QWidgetWindow::event() which will forward the event to the widget. However, the widget has just been deleted since the sequence was initiated by ~QObject(). Task-number: QTBUG-53103 Change-Id: Ib511714a76bbc1e734d6f2800a983eb1459bbf0b Reviewed-by:
Marc Mutz <marc.mutz@kdab.com> Reviewed-by:
Friedemann Kleint <Friedemann.Kleint@qt.io>
-
- 24 Mar, 2016 - 1 commit
-
-
Alexander Volkov authored
Show and Hide events were not propagated before this change. Add Timer, DynamicPropertyChange, ChildAdded, and ChildRemoved, because they are supposed to be delivered to one QObject. Also don't propagate these events if WA_DontShowOnScreen is set. Change-Id: I134bf3909d46141e4d3e39f41983f493a4f35478 Reviewed-by:
Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
-
- 18 Mar, 2016 - 1 commit
-
-
Marc Mutz authored
A very simple way to save ~3KiB in test size and 440b in data size on GCC 5.3 Linux AMD64 release builds. Change-Id: I6619148cc497116b9772a00e1bc30d573a2b2534 Reviewed-by:
Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
-
- 24 Feb, 2016 - 2 commits
-
-
Błażej Szczygieł authored
When mouse events are delivered using XInput2 then the wheel event is missing on submenus, because XInput2 delivers the wheel event only to the root menu. Task-number: QTBUG-50996 Change-Id: I757c0b5e3aea4606d2e45dfc8180c263e02167ca Reviewed-by:
Shawn Rutledge <shawn.rutledge@theqtcompany.com>
-
Błażej Szczygieł authored
First-level context menu grabs the mouse, so all mouse events are delivered to it. This menu passes the mouse events to submenus. Any platform delivers mouse enter/leave event differently when window is grabbed. This patch unifies event delivery to context menus - it can block some unwanted events and it emulates fake events if necessary. This patch can reduce duplicated events and can provide proper enter or leave event to additional widgets in the context menu. It can also prevent submenu from unwanted close on Windows and X11. Added autotest. Task-number: QTBUG-45565 Task-number: QTBUG-45893 Task-number: QTBUG-47515 Change-Id: I7dd476d0be23afa34e947e54aef235012d173dcf Reviewed-by:
Shawn Rutledge <shawn.rutledge@theqtcompany.com>
-
- 05 Feb, 2016 - 1 commit
-
-
Friedemann Kleint authored
The patch causes the window creation on reshowing nested QWidget with native windows to create child windows with 0-parent handles, which can have adverse effects on the various platforms. The patch might be re-applied on top of 73c86fcb. This reverts commit 470c8b68 . Task-number: QTBUG-43344 Task-number: QTBUG-50854 Change-Id: I2ad837c3800fc71cccf04d455d1b9c3600b233e7 Reviewed-by:
Laszlo Agocs <laszlo.agocs@theqtcompany.com> Reviewed-by:
Andy Shaw <andy.shaw@theqtcompany.com>
-
- 21 Dec, 2015 - 1 commit
-
-
Gabriel de Dietrich authored
This partially reverts commit 025d6a77 . Change-Id: I7b964b0d598abe46137c22177fe2b5dcca5bb812 Task-number: QTBUG-49831 Reviewed-by:
Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com> Reviewed-by:
Andy Shaw <andy.shaw@theqtcompany.com>
-
- 28 Nov, 2015 - 1 commit
-
-
Marc Mutz authored
This information is already registered by the QMessageLogger ctor. Where, by dropping the << Q_FUNC_INFO in ostream-style qDebug(), only a string literal remained, converted to printf-style qDebug() on the go. Change-Id: I3f261c98fd7bcfa1fead381a75a82713bb75e6f3 Reviewed-by:
Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
-
- 23 Sep, 2015 - 1 commit
-
-
Morten Johan Sørvig authored
Call the QWindow close event handler when processing close events in QWidgetWindow. Change-Id: I2b8691735962f6a222a30a847bb18cc6c86b55d4 Task-number: QTBUG-43344 Reviewed-by:
Laszlo Agocs <laszlo.agocs@theqtcompany.com>
-
- 22 Sep, 2015 - 1 commit
-
-
Friedemann Kleint authored
On Windows, Qt needs to return false in case it does not handle the "extra" buttons (like WM_XBUTTONDOWN) which causes Windows to send the corresponding WM_APPCOMMAND message (like APPCOMMAND_BROWSER_FORWARD). Task-number: QTBUG-48117 Change-Id: I093cd2d8205a39c3a042dd8a0d19c7229003761f Reviewed-by:
Andy Shaw <andy.shaw@theqtcompany.com>
-
- 20 Aug, 2015 - 1 commit
-
-
Jorgen Lind authored
Task-number: QTBUG-45565 Change-Id: I92c1dc0a14440259349eeae40372221dbc3c548f Reviewed-by:
Andy Shaw <andy.shaw@theqtcompany.com>
-
- 30 Jul, 2015 - 1 commit
-
-
Morten Johan Sørvig authored
Add a coordinate scaling layer to QtGui, which supports 'devicePixelRatio' type high-dpi on all platforms, in production and also for development and testing purposes. High-DPI scaling is opt-in, by setting environment variables: QT_SCALE_FACTOR - sets a global scale factor QT_AUTO_SCREEN_SCALE_FACTOR - sets per-screen scale factors, where the scale factors are provided by the platform plugin. This QtGui scaling can be used instead of or in addition to scaling done by the window system. This distinction is not visible to applications [when they use Qt API], which will see a change in the value returned by the devicePixelRatio() accessors as usual. Introduce a new (private to Qt) coordinate system: native pixels. The coordinate system stack now looks like: device-independent pixels (app, upper parts of Qt) native pixels (lower parts of Qt Gui, platform plugins) device pixels (backing stores and OpenGL) Add private QHighDpi namespace with scaling functions that convert between device-independent pixels and native pixels: T toNativePixels(T, QWindow *); T fromNativePixels(T, QWindow *); Add scaling calls the QWindow (and friends) cross-platform implementation, around the calls to QPlatformWindow functions. QPlatformWindow now uses native coordinates - platform code remains largely unchanged since native coordinates are window system coordinates. QWindow now uses (possibly) scaled coordinates. This means that platform plugins no longer can rely on QWindow::geometry() and related functions. QPlatformWindow::windowGeometry() and other convenience functions have been added for use when the platform plugin needs to convert scaled geometry to native geometry. Add Qt::AA_NoHighDpiScaling, which can be use to disable any scaling in QtGui, effectively ignoring the environment variables. (Note that this does not disable any scaling done by the window system.) Contributions from Friedemann and Paul. Task-number: QTBUG-46615 Change-Id: I673bbd69c130e73b13cce83be11bfb28f580bf60 Reviewed-by:
Lars Knoll <lars.knoll@theqtcompany.com>
-
- 27 Jul, 2015 - 1 commit
-
-
Friedemann Kleint authored
Task-number: QTBUG-46694 Change-Id: Ie95a452dfffd6685dd2a32068872dc18f727c288 Reviewed-by:
Shawn Rutledge <shawn.rutledge@theqtcompany.com>
-
- 25 May, 2015 - 1 commit
-
-
Sérgio Martins authored
Don't initialize it before main, instead, do it whenever QWidgetWindow::handleTabletEvent() is called, which is seldomly. Change-Id: I16935e223d4f9879257e7be026fee0215b9dde22 Reviewed-by:
Marc Mutz <marc.mutz@kdab.com>
-
- 12 May, 2015 - 1 commit
-
-
Alexander Volkov authored
Simplify the code by passing the source of a mouse event directly to the constructor instead of setting it by QGuiApplicationPrivate::setMouseEventSource(). Change-Id: I1774cf39a211d36d3adf0ff30f3bd2fb7c5fb429 Reviewed-by:
Laszlo Agocs <laszlo.agocs@theqtcompany.com>
-
- 26 Mar, 2015 - 1 commit
-
-
Giuseppe D'Angelo authored
The fallback code for unhandled event types in QWidgetWindow::event directly called event() on the underlying QWidget (i.e. m_widget->event(e)). The problem with that approach is that it does not activate any event filters that can have been installed on the top level widget. Instead, let's use sendEvent to forward the event to the widget. An extra modification becomes necessary: the events received when creating/showing/etc. a widget change, hence the corresponding test needs to be tuned. On the other hand, apparently this fixes a long time XFAIL in that test. Task-number: QTBUG-42281 Task-number: QTBUG-26424 Change-Id: I237bbbc301e3e9e10f071589629c71343a600ef9 Reviewed-by:
Lars Knoll <lars.knoll@digia.com>
-
- 25 Mar, 2015 - 1 commit
-
-
Alexander Volkov authored
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>
-
- 12 Mar, 2015 - 1 commit
-
-
Friedemann Kleint authored
Task-number: QTBUG-44913 Change-Id: I0d9411b4bbd6a6affe85eb9856a1eb93d444d377 Reviewed-by:
Andy Shaw <andy.shaw@digia.com>
-
- 25 Feb, 2015 - 1 commit
-
-
Friedemann Kleint authored
Change-Id: I99ba58763f6063fa2a6f511adbea0163cce7ea32 Reviewed-by:
Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by:
Shawn Rutledge <shawn.rutledge@digia.com>
-
- 24 Feb, 2015 - 1 commit
-
-
Jørgen Lind authored
before marking the backingstore as dirty. The QWidgetBackingstore has an assert that the region or the rect passed in is not empty, hence its programming error not to check before calling this function. Task-number: QTBUG-43489 Change-Id: Ic67fb6ca7959466e1758ce91827cd4b8acdf73fc Reviewed-by:
Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
-
- 16 Feb, 2015 - 1 commit
-
-
Laszlo Agocs authored
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>
-
- 11 Feb, 2015 - 1 commit
-
-
Jani Heikkinen authored
Qt copyrights are now in The Qt Company, so we could update the source code headers accordingly. In the same go we should also fix the links to point to qt.io. Outdated header.LGPL removed (use header.LGPL21 instead) Old header.LGPL3 renamed to header.LGPL3-COMM to match actual licensing combination. New header.LGPL-COMM taken in the use file which were using old header.LGPL3 (src/plugins/platforms/android/extract.cpp) Added new header.LGPL3 containing Commercial + LGPLv3 + GPLv2 license combination Change-Id: I6f49b819a8a20cc4f88b794a8f6726d975e8ffbe Reviewed-by:
Matti Paaso <matti.paaso@theqtcompany.com>
-
- 07 Feb, 2015 - 1 commit
-
-
Shawn Rutledge authored
Don't crash; restore windows when all screens are removed and re-added. xcb: on configure notify, check for screen change: it may be that a window belonging to a screen which was removed has now gotten mapped to the new screen. On screen change, send a synthetic expose event, because the real expose events already happened. Task-number: QTBUG-38326 Task-number: QTBUG-32973 Task-number: QTBUG-42985 Change-Id: If334f55c248468ad3c95e7066bb14eca377d2050 Reviewed-by:
Jørgen Lind <jorgen.lind@theqtcompany.com>
-
- 13 Jan, 2015 - 1 commit
-
-
Shawn Rutledge authored
This is analogous to 0a92295c which added QMouseEvent::source. For now, we say that a wheel event is synthetic when it comes from a trackpad or other device that provides scrolling by some means other than an actual wheel. Change-Id: I0452ca2080b551b18b9c2f6e42db925d14ae339e Reviewed-by:
Morten Johan Sørvig <morten.sorvig@digia.com>
-
- 10 Dec, 2014 - 1 commit
-
-
Paul Olav Tvete authored
Make it possible for widgets to have non-widget focus objects. Since we cannot add new virtual functions due to binary compatibility, we have to do it in QWidgetPrivate. Task-number: QTBUG-42677 Change-Id: I5f74daed2793c1c149bbe02e54ff2f7e2ad1af9e Reviewed-by:
Jørgen Lind <jorgen.lind@theqtcompany.com>
-
- 03 Dec, 2014 - 1 commit
-
-
Olivier Goffart authored
Done automatically with clang-modernize on linux (But does not add Q_DECL_OVERRIDE to the function that are marked as inline because it a compilation error with MSVC2010) Change-Id: I2196ee26e3e6fe20816834ecea5ea389eeab3171 Reviewed-by:
Thiago Macieira <thiago.macieira@intel.com>
-
- 27 Nov, 2014 - 1 commit
-
-
Friedemann Kleint authored
Add a virtual function QWindowPrivate::closestAcceptableGeometry() which is called from the platform plugin. Task-number: QTBUG-36220 Task-number: QTBUG-36318 Change-Id: I2b3d205e2c75f1d4dd2ba1d333b0d89bc0fcf13a Reviewed-by:
Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
-
- 07 Nov, 2014 - 1 commit
-
-
Jørgen Lind authored
If a context menu contains a menu item which will open a dialog, the context menu will never get the leave event, which might leave the menu in an invalid state. Synthetic leave events are sent to windows, but not to popups that are blocked by modal dialogs. Hovever, a popup is removed from the popup stack in QApplication before it receives the leave event. Therefore always give popups events, even when they are not visible. Task-number: QTBUG-38021 Change-Id: I63f6febed44f1e7c8f29e7a09af07f32b4ddbc82 Reviewed-by:
Shawn Rutledge <shawn.rutledge@digia.com>
-
- 04 Nov, 2014 - 1 commit
-
-
Jørgen Lind authored
When the QWidgetWindow receives a resize or move event, it should check with the widget if its crect already has this geometry. if not then send the resize or move event Ideally events should be sent whenever the QWidgetWindow receives them. QTBUG-42383 is created for this problem Task-number: QTBUG-29937 Task-number: QTBUG-38768 Task-number: QTBUG-30744 Change-Id: I1e9a5d25de29a98885edece927ba14d7a763eb01 Reviewed-by:
Shawn Rutledge <shawn.rutledge@digia.com>
-
- 28 Oct, 2014 - 1 commit
-
-
Friedemann Kleint authored
Task-number: QTBUG-41869 Task-number: QTBUG-39313 Change-Id: I2b59f5db6f0ae4007b1a3b58a79eed958e662272 Reviewed-by:
Laszlo Agocs <laszlo.agocs@digia.com>
-
- 20 Oct, 2014 - 1 commit
-
-
Tor Arne Vestbø authored
The focusObject of a QWidgetWindow is the focusWidget() of the top level widget, so when clearing the focus object of the window we should clear focus of the same focusWidget, not the application-wide focus widget, which may live in another window. Change-Id: Ib9162418865c225e23aac7987e119b3b651983eb Reviewed-by:
Tor Arne Vestbø <tor.arne.vestbo@digia.com>
-
- 24 Sep, 2014 - 1 commit
-
-
Matti Paaso authored
- Renamed LICENSE.LGPL to LICENSE.LGPLv21 - Added LICENSE.LGPLv3 - Removed LICENSE.GPL Change-Id: Iec3406e3eb3f133be549092015cefe33d259a3f2 Reviewed-by:
Iikka Eklund <iikka.eklund@digia.com>
-
- 10 Sep, 2014 - 1 commit
-
-
Laszlo Agocs authored
Unlike ordinary widgets, the ones that have OpenGL framebuffers must know about screen changes because the device pixel ratio may be different on the new screen. Add an internal event, ScreenChangeInternal, as the counterpart to WindowChangeInternal. Change-Id: I5e55999838e4c0284e7d9832299f7cc6b541ee3f Reviewed-by:
Paul Olav Tvete <paul.tvete@digia.com>
-
- 28 Jul, 2014 - 1 commit
-
-
Shawn Rutledge authored
Until now, it has been necessary for tablet-oriented applications which care about multi-button styli to reject each tablet event and wait for the mouse event in order to know which buttons are pressed. This patch adds the new API and also the X11/xcb implementation. [ChangeLog][QtCore][Tablet support] Added buttons to QTabletEvent Task-number: QTBUG-39458 Change-Id: If2c9ec1ceacc1700a82686c5fc6f568f9111055a Reviewed-by:
Frederik Gladhorn <frederik.gladhorn@digia.com>
-
- 13 Jun, 2014 - 1 commit
-
-
Friedemann Kleint authored
This reverts commit a1c51983 . The idea of detecting non-spontaneous events by comparing against the widget's crect has problems when sequences of programmatic resizes occur. In addition, QWindowSystemInterface's queueing of events is problematic for this. Task-number: QTBUG-39611 Task-number: QTBUG-32590 Change-Id: I4674d8d5d5d432d938f7226b5790543335665c1f Reviewed-by:
Andy Shaw <andy.shaw@digia.com>
-
- 06 Jun, 2014 - 1 commit
-
-
Friedemann Kleint authored
QWidget::resize() or QWidget::move() set the new size/position values and send events. The spontaneous events generated by the platform should be ignored in that case. Task-number: QTBUG-30744 Task-number: QTBUG-38768 Task-number: QTBUG-32590 Change-Id: I9c0ae38842ed76a8a88ca64fdc9bbe106b2766b7 Reviewed-by:
Andy Shaw <andy.shaw@digia.com>
-
- 19 May, 2014 - 1 commit
-
-
Tor Arne Vestbø authored
Change-Id: I24835b86194653e89c0bacefd22ddbff06b6e97b Reviewed-by:
Tor Arne Vestbø <tor.arne.vestbo@digia.com>
-
- 18 May, 2014 - 1 commit
-
-
Friedemann Kleint authored
Introduce function to set the spontaneous flag to QCoreApplicationPrivate to solve a few cases. Change-Id: I7c1f1f3644defe00deea9cecb244ca258afd5b94 Reviewed-by:
Thiago Macieira <thiago.macieira@intel.com>
-
- 06 May, 2014 - 1 commit
-
-
Friedemann Kleint authored
When replaying the mouse events synchronously, nested calls of QEventLoop::exec() may happen in conjunction with menus. Task-number: QTBUG-38550 Change-Id: I2b1dafdac59d1a080775af5f165d1e594ea58804 Reviewed-by:
Gabriel de Dietrich <gabriel.dedietrich@digia.com>
-
- 04 Apr, 2014 - 1 commit
-
-
Shawn Rutledge authored
In this scenario there is a widget with a button inside, and you click the button with the tablet. The target of the event is the button, but when you click it, the parent (or ancestor) is destroyed. Commit 2bac4926 took care of the case when the parent is a window, but it is not always a window which is being destroyed. So the approach of using a QPointer is better because it should take care of all the cases when the qt_tablet_target is destroyed during the course of a tablet event sequence. Task-number: QTBUG-36848 Task-number: QTBUG-38040 Change-Id: Ia0e861f2cb2fbc30234aa596f3a36ddd0835a9af Reviewed-by:
Laszlo Agocs <laszlo.agocs@digia.com>
-