summaryrefslogtreecommitdiffstats
path: root/src/plugins
Commit message (Collapse)AuthorAgeFilesLines
* QPA: Fix semantics of GUI event dispatcher ownership in platform pluginsTor Arne Vestbø2013-09-3028-90/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The QPlatformIntegration::guiThreadEventDispatcher() function acted as an accessor to event dispatchers created in the constructor of each platform plugin, but the logic and semantics of event-dispatcher handling in Qt itself (QCoreApplication/QGuiApplication) still assumed both ownership and control over the event dispatcher, such as when to create one, which one to create, and when to delete it. This conflicted with the explicit calls in the platform plugins to QGuiApplication::setEventDispatcher(), as well as left a possibility that the event-dispatcher created by the platform plugin would never be deleted, as none of the platform plugins actually took full ownership of the dispatcher and deleted it in its destructor. The integration function has now been renamed back to its old name, createEventDispatcher(), and acts as a factory function, leaving the logic and lifetime of event dispatcher to QtCoreApplication. The only platform left with creating the event-dispatcher in the constructor is QNX, where other parts of the platform relies on having an event-dispatcher before their initialization. We then need to manually take care of the ownership transfer, so that the event-dispatcher is still destroyed at some point. Change-Id: I113db97d2545ebda39ebdefa865e488d2ce9368b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* xcb: Don't connect() to event-dispatcher until we are sure we have oneTor Arne Vestbø2013-09-302-14/+23
| | | | | | | | | | | | | | | | | | | QCoreApplication sets up the event dispatcher in the constructor, through createEventDispatcher(), which is overridden in QGuiApplication to take the platform-integration into account. The problem is that the platform integration is created before the event dispatcher, so when we create the QXcbConnection we are not guaranteed to have an event dispatcher yet. This is not an issue when using xcb_poll_for_queued_event() in a thread, but for the fallback case we connect to the event-dispatcher's awake() and aboutToBlock() signals. To ensure that we do this only when we have an event dispatcher we post a queued method invocation, that will be processed as one of the first events once there is an event-dispatcher. Change-Id: I623011af447b585884b84c7559737f134aab83e8 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com> Reviewed-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Fix regression in trackpad scroll event handling.Morten Johan Sørvig2013-09-271-10/+11
| | | | | | | | | | | | | | | | | | | | | | bab29dd76 changed scroll event handling to update the keyboard modifier state during scroll event streams and brought back the bug where Qt Creator would suddenly change the font size if you pressed the command key while scrolling. Use momemtumPhase to detect scroll event streams. momemtumPahse will be NSEventPhaseNone as long as there are fingers on the trackpad. After liftoff it will have a different value, and at this point we freeze the keyboard modifier state until the scroll event stream has ended. This approach does not interfere with normal mouse scroll wheels since momentumPhase is PahseNone for all such scroll events. Change-Id: I668ade8e794a97491487c9465366a316a7d6a9c8 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Clear m_activePopupWindow on popup close.Morten Johan Sørvig2013-09-271-7/+9
| | | | | | | | | | | | | | | | QCocoaWindow keeps track of popup windows in order to close them when appropriate, for example on mouse clicks outside the popup. In this case the mouse click will be used to close the popup, and will not be send to the QCocoaWindow. Clear m_activePopupWindow when the popup is closed to fix a bug where the first mouse click after closing a popup would have no effect. Change-Id: I7a3e850e4fbf4686540d5d89dac6d7b613ed10a4 Reviewed-by: Eike Ziller <eike.ziller@digia.com> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* QWindowsWindow: Output warnings with classname/objectname.Friedemann Kleint2013-09-271-8/+11
| | | | | | Change-Id: I55a165669dbcadf2bd06b2315b1db43b092a1758 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* Windows: Use PostMessage for clipboard notifications for debugged apps.Friedemann Kleint2013-09-271-6/+5
| | | | | | | Task-number: QTBUG-33492 Change-Id: I68af5f8ad767c55c95f758259cbb5d8a8080e70e Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Cocoa: Allow widgets to receive events event when no app is runningGabriel de Dietrich2013-09-262-2/+11
| | | | | | | | | | This is necessary for QMacNativeWidget, where there exists a QApplication, but is never executed. This directly translates in calls to the event dispatcher's processEvents() function, whose calls we keep track. If no calls have been made, we always allow timer and posted events to be processed. Change-Id: Ia0062ee8c59a2572082f520a2eb85ed44a9856a7 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* QCocoaBackingStore: Initialize non-opaque images with transparent colorGabriel de Dietrich2013-09-261-0/+2
| | | | | | | | In particular, this is needed when a QWidget has WA_TranslucentBackground set and nobody is painting anything behind it (except maybe some native view). Change-Id: Ib1f0714f85fa7eeced527617ecd09bb2ed6ddfc9 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* [QNSView viewWillMoveToWindow:] remove observer from previous windowShawn Rutledge2013-09-261-2/+2
| | | | | | | | Even if there is not a new window, the notifications from the old one are not needed. Change-Id: I9c1858d25e49379ca4737e23beec06623e91b69c Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Mac: QWizard default background pixmap works againLiang Qi2013-09-262-0/+32
| | | | | | | | Task-number: QTBUG-26722 Change-Id: I579111b5d34f8e3cdc6bb016d9c0e42ec3ffb8c9 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com> Reviewed-by: Stephen Chu <stephen@ju-ju.com>
* Fix QT_NO_PRINTER build on MacVitalii Shastun2013-09-264-2/+10
| | | | | | | | On Mac the QT_NO_PRINTER build was not implemented. Task-number: QTBUG-33565 Change-Id: I118472f9400aa0a0d0e192ae39a11ea38a66f340 Reviewed-by: John Layt <jlayt@kde.org>
* Correct the detection of Windows-generated mouse eventsLaszlo Agocs2013-09-261-2/+4
| | | | | | | | | | | Check only bit 8 to decide if the mouse event is generated from a touch or pen event. Task-number: QTBUG-33460 Change-Id: I83b23267b5de6df5e0e6b7113ecf377dd7e86c84 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* QCocoaApplicationDelegate: Play nice with the user's application delegateGabriel de Dietrich2013-09-251-7/+6
| | | | | | | We tended to ignore the original application delegate a bit too often. Change-Id: I0844c8658d128e4fbb9a6fc5000025f55e5293c2 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Android: remove environment variable warnings at app startup.Yoann Lopes2013-09-251-1/+1
| | | | | Change-Id: I8542809fd16465a29b4fb7e8276b63d71e1b9c0e Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* Cocoa: Use internal style mask to disable resizing popup parentsGabriel de Dietrich2013-09-242-5/+10
| | | | | | | | | Using QCocoaWindow::windowStyleMask() resets some private flags Cocoa sets when showing sheets. Task-number: QTBUG-33126 Change-Id: I34f0713f98e81e7010b0b7620ee24ea30f04dcff Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* iOS: bugfix touch events to also work in inverted portrait/landscapeRichard Moe Gustavsen2013-09-241-11/+5
| | | | | | | | | | | This patch simplifies the implementation of touch events to use a views superview for calculating global touch coordinates rather than the screen. This removes the need for taking orientation into account, and will also play better along in a mixed environment. This will also fix touch events reported for inverted orientations. Change-Id: I0c8fd8745a1f65f0f4a97447a5676a38165ed032 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* Remove some qBinaryFind usages from the Cocoa helpersGiuseppe D'Angelo2013-09-241-4/+4
| | | | | | | | This is done per the mailing list discussion at http://www.mail-archive.com/development@qt-project.org/msg01603.html Change-Id: I374ee2c88ee18d20fb2b295c936adaca1d696199 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Fix a c&p bug in the IA2 bridge when returning the row descriptionJan Arve Saether2013-09-231-1/+1
| | | | | | | | Unfortunately we returned the column description when the AT client asked for the row description.... Change-Id: I46bc0edb4fd0f7cc6d98d7d6e0d8ca6f77553a26 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* qios: always auto rotate as specified in Info.plistRichard Moe Gustavsen2013-09-231-8/+3
| | | | | | | | | | | | | Before this patch, we would only rotate if no autoRotationMask was set. This was a temporary way to lock orientation from code until a better API for this was in place. But this causes problems for applications that both wants to auto rotate but at the same time sets a mask to get QScreen::orientation updates. So remove this heuristic before application code starts to depend on it. Change-Id: Idb54abd471b33afd866322738f4860c57bc9dcf7 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* Merge branch 'stable' into devSergio Ahumada2013-09-217-15/+161
|\ | | | | | | Change-Id: I37d85631ab1165ab91457d8880c4da907a9df73b
| * Fix timing issue in incremental data retrieval mechanismGatis Paeglis2013-09-192-5/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make sure that we are not reading wrong PropertyNotify events. From icccm: Requestors may receive a property of type INCR in response to any target that results in selection data. This indicates that the owner will send the actual data incrementally. The selection requestor: - Waits for the SelectionNotify event. - Loops: + Retrieving data using GetProperty with the delete argument True. + Waiting for a PropertyNotify with the state argument NewValue. - Waits until the property named by the PropertyNotify event is zero-length. - Deletes the zero-length property. The issue with the current approach was that after receiving INCR we simply fetched the first PropertyNotify event from the queue, where timestamp indicates that it was generated before INCR, which is not what need. We need PropertyNotify events with a timestamp older than the one on INCR. Task-number: QTBUG-32045 Change-Id: I3b9a006f7d346f67c51e1a296d67a9dc89efadb1 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| * Implement INCR property mechanism for large data transfers [XCB]Gatis Paeglis2013-09-193-4/+138
| | | | | | | | | | | | | | Implement INCR property mechanism according to the icccm specification. Change-Id: Ic8f85b71cab825d70ee1b61f29acd09fa4c3e642 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| * Keep Cocoa screen list in sync on screen connect.Morten Johan Sørvig2013-09-172-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The backtrace in QTBUG-33012 indicates that the screen list is getting out of sync on plugging/unplugging an external monitor. This happens on 10.9 only. Check if we are about to out of bounds access the screen list; call updateScreens() which will add the new screen. Task-number: QTBUG-33012 Change-Id: Id1acc3baca9e60e7f2a83188d66cdf9d322a582c Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
| * xcb: QWindow never uses XCB_GRAVITY_CENTERShawn Rutledge2013-09-161-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | Center gravity doesn't mean center the window, it only affects the method of converting between internal window bounds and decorated bounds. So wanting to have each dialog centered w.r.t. its transient parent is not a reason for using center gravity. Instead it caused the bug that when you resize a QMessageBox by clicking the Show Details button, it jumps downwards on the screen. Task-number: QTBUG-32473 Change-Id: I3fabf3caa1e4d10fd4f7508e297f73efe5cc51b6 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
| * accessible: fix if (!foo != const) constructMarc Mutz2013-09-161-1/+1
| | | | | | | | | | | | | | Fixes a Clang warning. Change-Id: I114cf0f84ef9a4fe4ae814cedca883945d76e86c Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
| * Revert recent attempt to fix Invalid Drawable error on Mac.Chris Meyer2013-09-132-7/+3
| | | | | | | | | | | | | | | | This reverts commit 59fd36bb914cae248d3c5100dd734d6d90a58dca, which caused other drawing problems. Change-Id: I3bb75fd3ca1cd21ffbb9ef5474266f4cd615a64a Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* | Port of Qt 4's Windows session managementSamuel Gaist2013-09-218-3/+308
| | | | | | | | | | | | | | | | | | | | This patch aims to implement the session management for Windows. Based on the Qt 4 QApplication windows specific code Task-number: QTBUG-28228 Task-number: QTBUG-33032 Change-Id: I7059298ad9661aebd51e77a03f55a7a04f461479 Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* | iOS: Compare similar types when setting up QPlatformScreenTor Arne Vestbø2013-09-211-1/+1
| | | | | | | | | | | | | | [NSArray count] returns an NSUInteger (unsigned long). Change-Id: I3b1c6720e9503ed181f01a7e737de07a277f7bde Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* | eglfs: Unify the native resource gettersLaszlo Agocs2013-09-213-18/+58
| | | | | | | | | | | | | | | | | | Similarly to how it's done in xcb. And add support for eglwindow since the WId will soon once again cease to be an EGLNativeWindowType. Change-Id: I0e3b86a21179439821550c9423f0e747ccae5897 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com> Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* | Added support for cover windows on BlackBerry platformBernd Weimer2013-09-2010-29/+256
| | | | | | | | | | | | | | | | | | | | | | | | On the BlackBerry platform when an application is minimized an alternate cover window is shown. This patch allows Qt to render into those windows. A new window type "Qt::CoverWindow" has been introduced. Change-Id: If5e321f5cb00f6d3ed7a5dc0af425655d7a9253a Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com> Reviewed-by: Fabian Bumberger <fbumberger@rim.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* | Build X11 session management only if dependencies are foundTeo Mrnjavac2013-09-203-2/+3
| | | | | | | | | | | | | | | | | | | | | | This fixes the build breakage caused by Change I50b33d05 when attempting to compile on Linux with session management enabled but libSM and/or libICE not present. Change-Id: I127f32e7041deb2ff968eae8458fee7d4e95d7a5 Reviewed-by: Samuel Gaist <samuel.gaist@edeltech.ch> Reviewed-by: Bernd Weimer <bweimer@blackberry.com> Reviewed-by: aavit <eirik.aavitsland@digia.com>
* | Android: Use the new QJNI api in our QLocale implementation.Christian Strømme2013-09-201-11/+9
| | | | | | | | | | | | | | This change makes use of the private QJNI api that now exists in QtCore. Change-Id: Id03664942d6c6cbfec028a3b52729057153a8466 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* | Add missing implementation in QAccessibleTabBar::indexOfChildJan Arve Saether2013-09-201-2/+10
| | | | | | | | | | | | | | This avoids the assertion in iaccessible2.cpp(510) Change-Id: I1a4c007ffcbcda70f0e37ef3cf55a303683b58c1 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* | WinRT: Basic global supportAndrew Knight2013-09-201-1/+1
| | | | | | | | | | | | | | | | Various global changes, primarily preprocessor flow, to support the WinRT platform. Change-Id: I3fa9cf91d5fb24019362e88fcf205e31b4f810b5 Reviewed-by: Andrew Knight <andrew.knight@digia.com>
* | Add a WindowManagement capability to QPlatformIntegrationLaszlo Agocs2013-09-201-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | To be set to false by eglfs and similar platforms where no real window management is provided. When this capability is not set, some of the changes done for QTBUG-26903 will be disabled, allowing dialogs to show up at their QDialog-chosen place on platforms where no WM is present and so windows are never repositioned by the system. Change-Id: If1dac3cd11f2a856913a51277431fe3ec644b719 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* | eglfs: Support multiple raster windowsLaszlo Agocs2013-09-2012-155/+386
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow widget apps with popups and multiple top-level widgets to function on the eglfs platform. GL and Quick2 apps are not affected. Instead of trying to create a native window and EGL surface for each window, do it only for the window that is created first. This first window is forced to fullscreen as usual. Later windows however are treated differently: These will not have a native window, surface or context, and keep their normal size. All the textures belonging to the raster windows are then rendered in one step, using a stacking order maintained based on visibility changes and window activation. Note that this will only help apps that create a main window first and have everything else inside that window or on top of it as menus, dialogs, popups, etc. Change-Id: Ia435458ba81bf3c35cc8f61bcb2d2a50cf17f0e3 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com> Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* | Revert "Fix Invalid Drawable error when using createWindowContainer on Mac."Gunnar Sletta2013-09-202-7/+3
| | | | | | | | | | | | | | | | | | This reverts commit 04325bdd26810cd9067ad4b0b9e458b06ce2a3db. This change breaks qtdeclarative on Mac. Change-Id: I77b121cc6b283cf7498e93e4b914d2fb68808ab6 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Fix android after Eglfs binary compatibility breakPaul Olav Tvete2013-09-201-2/+3
| | | | | | | | | | Change-Id: I95d98b475188b43f1e0946c7ad6fd2388839d619 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* | Android: handle inverted orientationsPaul Olav Tvete2013-09-2010-11/+92
| | | | | | | | | | | | | | | | | | | | Add logic to detect InvertedPortrait and InvertedLandscape orientations and implement QPlatformScreen::nativeOrientation() for Android. Task-number: QTBUG-32144 Change-Id: I294506714ea0faa9eacd7a15e1cfc45342659964 Reviewed-by: BogDan Vatra <bogdan@kde.org>
* | Make Accessibility publicFrederik Gladhorn2013-09-197-13/+6
| | | | | | | | | | | | | | | | | | There is no point in having QAccessible2, so merge it with the normal QAccessible. The header will be removed in a subsequent commit as it is still needed by declarative at this point in time. Change-Id: I1fc47d484d482f25387eba827bc5a373536b7a8b Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* | Split QQnxWindow into QQnxEglWindow and QQnxRasterWindowFabian Bumberger2013-09-1811-475/+718
| | | | | | | | | | | | | | | | Change-Id: I2fb4096ccca54fa6631aa16c9b8d1308b0a6b918 Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com> Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
* | Include hidden headers in trees and tables consistentlyJan Arve Saether2013-09-182-3/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There was a disagreement between the a11y plugin and QTreeView whether the horizontal header should have been exposed or not. When the header was hidden, this resulted in that we sent an event with a child id that was wrong, or in worst case higher than QAI::childrenCount(). This was the reason we got the warning output as described in the task. With this commit, we consistently *expose* hidden headers both for QTreeView and QTableView, but ensure that their state().invisible is set to true instead. This makes it consistent with how hidden cells are exposed. This also fixes a bug in QTableViewPrivate::accessibleTable2Index where we always added 1 to the index, which was spotted while writing the test. Task-number: QTBUG-33247 Change-Id: Ifd1f83d56296dd071424fdb81fce7628bc24fe0a Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* | Use egl.prf in xcb instead of hardcoding -lEGLLaszlo Agocs2013-09-171-1/+1
| | | | | | | | | | | | Task-number: QTBUG-33494 Change-Id: I55df1acdf2c95f66a93890b4b30f14a52bee6684 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* | eglfs: Do not leak the QOpenGLShaderProgram instanceLaszlo Agocs2013-09-171-0/+1
| | | | | | | | | | Change-Id: Ia0691b99d57986328b9dd81e527ea4f402d7bc5b Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* | eglfs: Sanitize the X11 hooksLaszlo Agocs2013-09-174-40/+121
| | | | | | | | | | | | | | | | | | | | Replace all xlib calls with xcb equivalents, leaving only the absolutely required xlib calls. Handle WM_DELETE_WINDOW so that closing the window exits the app as expected. Finally, introduce EGLFS_X11_FULLSCREEN to enable requesting a fullscreen native window. Change-Id: I8c46ae832d38549ec7d673592f400a4f34bf4314 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* | Export x11 screen of the QXcbConnection to the native interfaceMartin Gräßlin2013-09-172-2/+16
| | | | | | | | | | | | | | | | | | | | | | With XCB a client cannot retrieve the information on which X screen it is running. This information is only available when opening the xcb connection. As this is done by Qt no application is able to retrieve this information. By exporting the x11 screen we can provide this information again in QtX11Extras. Change-Id: I50f1d3e803dc7e3afac0e5c7f1648ccda4502e7c Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Remove mentioning of 5.0 Alpha from QPA ReadmeKai Koehne2013-09-171-6/+4
| | | | | | | | | | | | | | | | While at it, I hope that qplatformtheme API's are stable by now :) Change-Id: I83bf3118c91608710bb19380458e8f55cb3d427b Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Remove useless code setting but not using variablesThiago Macieira2013-09-171-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | Clang 3.3 found a variable assigned to itself, probably to cause GCC to shut up about a variable set-but-unused. So simply stop assigning the value at all to this variable. qxcbxsettings.cpp:155:16: error: explicitly assigning a variable of type 'uint' (aka 'unsigned int') to itself [-Werror,-Wself-assign] Change-Id: I74ae8f724e87c1b3f6b9d358e13d6a440ff4a3e1 Reviewed-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* | Don't send posted events from QWindowSystemInterface::sendWindowSystemEventsTor Arne Vestbø2013-09-164-8/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The responsibility of sendWindowSystemEvents() is to process events from the window system. Historially that logic was part of the QPA/QWS event dispatcher, which naturally also sent posted events. Through refactoring, the code at some point ended up in in the QWindowSystemInterface class, still with the posting of events in place. This resulted in QPA event dispatchers adopting a pattern of just calling sendWindowSystemEvents(), as that would cover both posted and window system events. Other event dispatchers would call sendWindowSystemEvents(), and then use a base-class implementation from QtCore for processing events, resulting in two calls to QCoreApplication::sendPostedEvents() per iteration of processEvents(). This breaks the contract that processEvents will only process posted events that has been queued up until then. We fix this entanglement by removing the sendPostedEvents() call from QWindowSystemInterface::sendWindowSystemEvents() and move it to the respective event dispatchers. For some EDs it means an explicit call to sendPostedEvents, while others were already doing sendPostedEvents though a separate source (GLib), or using a base-class (UNIX/BB), and did not need an extra call. We still keep the ordering of the original sendWindowSystemEvents() function of first sending posted events, and then processing any window system events. Task-number: QTBUG-33485 Change-Id: I8b069e76cea1f37875e72a034c11d09bf3fe166a Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* | remove unnecessary beginPaint and endPaint overridesShawn Rutledge2013-09-1612-38/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | QPlatformBackingStore::endPaint does not take a QRegion parameter. 6ce6b8a378b0d97ba950240ffb048a4b7e485235 set the API, but the platform implementations were not all synced up since then. There was anyway no point in overriding beginPaint and endPaint on platforms which don't need to do anything there. This fixes clang warnings of the form QXcbBackingStore::endPaint hides overloaded virtual function Change-Id: Id6cd0fc2c831a34576ac2c73eeb0d5741d26e622 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>