summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms
Commit message (Collapse)AuthorAgeFilesLines
* macOS: Mark the widget's container as embedded when placed into NSMenuItemv5.10.0-beta2Tor Arne Vestbø2017-10-161-1/+1
| | | | | | | | | | | | | | Otherwise we'll end up creating a NSPanel for the QMacNativeWidget which is never closed, even if the backing NSView is moved to a new superview. Ideally this would be based on [NSView viewDidMoveToSuperview] and [NSView viewDidMoveToWindow], with retain/releases of the corresponding NSWindow, but that needs more research, especially as AppKit on macOS 10.13 will always keep a strong reference to the NSWindow. Task-number: QTBUG-63443 Change-Id: I9eec5ea871373d00dedf154600bf7005898cf37a Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* macOS: Add support for non-window backed offscreen surfacesTor Arne Vestbø2017-10-163-2/+27
| | | | | | | | | The modern approach to offscreen rendering on macOS is via FBOs, which means there's no reason to allocate an NSView and corresponding NSWindow just for that. In the offscreen case the NSOpenGLContext has a nil-view. Change-Id: I2d1d407069af4d5283e6f56fba83db8eaf694ac6 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Avoid using deprecated APIs on iOS 10.0+Lars Schmertmann2017-10-061-2/+4
| | | | | Change-Id: Ic9dc6a24ef793a29c2652ad37bc11120e2e6ceef Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* macOS: Split QCocoaScreen out from qcocoaintegration.mmTor Arne Vestbø2017-10-056-276/+391
| | | | | | | | It's confusing to keep it along with an unrelated class. Let's keep it in its own file like for most other platform plugins. Change-Id: I449ee061ff9fd5dc7ef06cadd633414d6b16358f Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
* QMacStyle: smooth QMenu corners for realOleg Yadrov2017-10-051-1/+0
| | | | | | | | | | | | | | | | | | | It's been for years that QMenu's rounded corners in qmacstyle_mac were done via QWidget::setMask(QRegion). Unfortunately, QRegion mask does not work well with retina displays and also does not support translucency. That's why in this change we explicitly make QMenu's background transparent and then draw a rectangle with rounded corners in QMacStyle::drawPrimitive(PE_PanelMenu). This not only gives much better result than the mask-based approach, but also de-HIThemes QMenu. As a consequence, QComboBoxPrivateContainer doesn't get any mask from QMacStyle anymore. Therefore, when the mask is empty, we need to paint PE_PanelMenu before invoking QFrame's paint event handler. Made-with: Gabriel de Dietrich <gabriel.dedietrich@qt.io> Change-Id: Ia9236176113f23b86e45507fa6ddf77236084ce3 Reviewed-by: Oleg Yadrov <oleg.yadrov@qt.io> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
* Merge "Merge remote-tracking branch 'origin/5.9' into 5.10" into ↵Liang Qi2017-10-059-14/+64
|\ | | | | | | refs/staging/5.10
| * Merge remote-tracking branch 'origin/5.9' into 5.10Liang Qi2017-10-049-14/+64
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/global/qconfig-bootstrapped.h src/corelib/global/qglobal.h src/corelib/tools/qcryptographichash.cpp src/corelib/tools/qcryptographichash.h src/corelib/tools/qmessageauthenticationcode.cpp src/plugins/platforms/windows/qwindowswindow.h tests/auto/gui/kernel/qwindow/BLACKLIST tests/auto/widgets/itemviews/qitemdelegate/BLACKLIST Change-Id: Ib68112de985a3d714c2071f47c10e907e4f0229a
| | * QWindowsMouseHandler: Add documentation link for bitmask magicGabriel de Dietrich2017-09-281-0/+1
| | | | | | | | | | | | | | | Change-Id: I743aef0e15ef42347c5222d0e50577b006483cc4 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| | * macOS: Bail out early when handling shortcut event results in closing windowAnders Hafreager2017-09-281-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | When Cmd+W is used to close a window, check if m_platformWindow is still valid before accessing window property. Task-number: QTBUG-63389 Change-Id: I9abda19b8482e7a1fd07b07d8981b6a768e96c2e Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
| | * Windows QPA: Call raise() also for SubWindows with WindowStaysOnTopHintFriedemann Kleint2017-09-261-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | QMdiSubWindows may have WindowStaysOnTopHint set. Task-number: QTBUG-63121 Change-Id: I21f80311fdf57e775df895122299bb7beb6ec4e6 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
| | * Windows QPA: Detect screen by mouse position when dragging a windowFriedemann Kleint2017-09-264-11/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When dragging a window by its border, detect the screen by mouse position to prevent it from oscillating between screens when it resizes. Task-number: QTBUG-62971 Change-Id: I0a4a584ef8ff3bb7288d1abec4de51fb4091dccd Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
| | * Windows QPA: Move function to find screen by HWND to QWindowsScreenManagerFriedemann Kleint2017-09-253-8/+24
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-62971 Change-Id: Ida0a8e758723f0f617011a89dc89c266d2506aad Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| | * XCB: also test for Xinerama's presenceThiago Macieira2017-09-211-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | It's included unconditionally from qxcbconnection.cpp and qxcbscreen.h. Task-number: QTBUG-53537 Change-Id: I6e1fe42ae4b742a7b811fffd14e5d374155660f3 Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* | | Let QPlatformBackingStore handle its own QOpenGLContextTor Arne Vestbø2017-10-054-20/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The resources allocated by QPlatformBackingStore are owned by the class, and should be allocated in a context the class also owns. This removes the asymmetry of having to pass in a context to composeAndFlush, while having to make the same context current before destroying the platform backingstore. The context owned by QPlatformBackingStore is shared with the associated window though a new QWindowPrivate::shareContext() API. The result is that on e.g. iOS, the backingstore does not need to tie the resource allocation of QPlatformBackingStore to the global share context, but can instead tie them to the per-window context, and hence clean them up after each window is closed. Task-number: QTBUG-56653 Change-Id: Ic1bcae50dafeeafaa8d16a7febd83b840ec6367a Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | | macOS: Prevent backingstore image detach during color space assignmentv5.10.0-beta1Tor Arne Vestbø2017-10-042-27/+11
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The call to CGImageCreateCopyWithColorSpace took a naked toCGImage(), which left the resulting CGImageRef without a release, causing the extra ref by toCGImage() to never be derefed, and a subsequent detach of the image data on the next paint event. Wrapping the call in a QCFType<CGImageRef> solves the problem. The code has also been moved directly into QCocoaBackingStore::flush(), as there is no need to keep the CGImageRef a member. A local autorelease pool has been added to QCocoaBackingStore::flush(), so that the NSImage used for blitting the backingstore is released upon exit of the function, thereby releasing the corresponding CGImageRef. Note that for layered mode, the QImage will still detach, as the view's layer.contents property keeps a reference to the image data until being replaced in a subsequent flush. Task-number: QTBUG-63559 Change-Id: I06b9298f65a84deae7cc2eff617ba75c92ec3b87 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* | macOS: Tighten up window icon and represented filename handlingTor Arne Vestbø2017-10-033-19/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Window icons on macOS are tied to document windows, and should not show up unless a represented filename has also been set according to the HIG. We follow this, and no longer create a document button based on the window title if one did no exists. We also fall back to using the filename of the file if a title has not been set, including being able to restore this default title after setting a custom title. The icon is no longer reset to nil after setting a QIcon(), which would remove the icon completely, but instead we restore the default behavior of showing the default filetype icon of the file. Finally, the two callbacks in QNSWindowDelegate dealing with the document icon/title popups and drags have been taught to look for spaces in the represented filename. This allows clients who really want the old behavior of setting an icon without caring about the filename to set the filename to a single space character, which will prevent the dropdowna and drag from occurring. The reason for not tying this behavior to the existence of the file in the filesystem is that being able to represent a file that is yet to be saved is a valid usecase. Task-number: QTBUG-63338 Change-Id: I7d4377c6358226fb6058f8c2b3c28588eec77ce5 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* | Clean up OS version checks for Apple platformsJake Petroules2017-09-297-8/+7
| | | | | | | | | | | | | | | | | | | | Convert QSysInfo/QOperatingSystemVersion to __builtin_available where required or possible, or to QOperatingSystemVersion where __builtin_available cannot be used and is not needed (such as negated conditions, which are not supported by that construct). Change-Id: I83c0e7e777605b99ff4d24598bfcccf22126fdda Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | macOS: Apply window file path when creating new NSWindowTor Arne Vestbø2017-09-281-0/+1
| | | | | | | | | | | | | | Otherwise QWindow::setFilePath() before create() would have no effect. Change-Id: Ia2171054aa13e21316d525193d330efaf4653dbf Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* | macOS: Deliver NSWindow notifications to all windows, not just top levelTor Arne Vestbø2017-09-262-45/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Child QWindows (or in the case of QWindows embedded in native applications: top level QWindows where the corresponding NSView is a child of another view, so not being the contentView of its window), still need some of the NSWindow notifications to e.g. update their exposed state when the window becomes visible. We make sure to send the notification to all QCococaWindow children of the relevant NSWindow, and let each callback decide if it should only apply to content views. This fixes an issue where a QWindow would never be exposed if the window was a child NSView and added to a NSWindow that was yet to be shown. Change-Id: I7f7df8bc5f4ca3ac553a2c146f8c3229b197c059 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* | macOS: Don't send expose event as update request when becoming visibleTor Arne Vestbø2017-09-261-6/+16
| | | | | | | | | | | | | | | | | | QGuiApplicationPrivate::processExposeEvent updates the QWindow's exposed state, so we need to call QWindowSystemInterface::handleExposeEvent() when going from non-exposed to exposed. Change-Id: I461b2fb27cd8fd4bdb250d05d47f9af6cb3eb15c Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* | Remove obsolete version checksJake Petroules2017-09-253-35/+10
| | | | | | | | | | | | | | Our iOS deployment target is now 8, so this code will never be executed. Change-Id: I7dd4001c01d7c8c2e8e977753cb3fa246b19ce06 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
* | macOS touch and gestures: pay attention to deviceIDShawn Rutledge2017-09-213-24/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously we pretended that there is only one touch device; but in fact, different trackpads have different deviceIDs, and this may be useful in some scenarios to tell them apart, as on other platforms. So far we don't expect to get touch events from actual touchscreens though, because macOS only turns single-touch events into mouse events and does not interpret gestures on touchscreens. So there isn't API which can distinguish touchscreens from touchpads as far as we know. QCocoaTouch::getTouchDevice() takes the type as a parameter, just in case this changes some day. Change-Id: I56228471363235c5d0cc2a55a35a3c3288f3b1a1 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* | make the QTouchDevice available in each QNativeGestureEventShawn Rutledge2017-09-211-11/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | QtQuick is beginning to have a use for this, to distinguish native gestures which come from actual trackpad rather than from the "core pointer". It might as well use a real device ID instead of making one up, as it has to do for the core pointer. So far on macOS, the device ID isn't a real one; but that can be fixed, as the qCDebug lines demonstrate (different trackpads have different IDs). Change-Id: I5841deb1c4cc0b77a3b1df70904f70b3d2d71853 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into 5.10Liang Qi2017-09-203-11/+26
|\| | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/styles/mac/qmacstyle_mac.mm src/widgets/util/qcompleter.cpp src/widgets/widgets/qmainwindowlayout.cpp src/widgets/widgets/qmdisubwindow.cpp Change-Id: If0e96981af07ce36ac68f2e69211bc2120f93973
| * windows: Blacklist Intel 8.15.10.1749Laszlo Agocs2017-09-191-1/+16
| | | | | | | | | | | | | | Task-number: QTBUG-56360 Change-Id: I438e58e13b364a7c4748a4325cb7ff00bb00b25b Reviewed-by: Joni Poikelin <joni.poikelin@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * Cocoa: Update the known menu items when the QCocoaMenuBar is deletedAndy Shaw2017-09-081-8/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | If an application has more than one menubar, for instance, one for each mainwindow it has visible then once one is deleted it needs to ensure the application menu items are updated as appropriate. To do this the resetting of the known menu items is extended to cover all the application specific ones so that they can all be updated correctly. Task-number: QTBUG-62193 Change-Id: I61f46a4745f4e40b9283d40fa5a7473f2721c354 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
| * Cocoa: Check if charactersIgnoringModifiers is not empty tooAndy Shaw2017-09-081-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | If a dead key occurs as a result of pressing a key combination then characters will have 0 length, but charactersIgnoringModifiers will have a valid character in it. This enables key combinations such as ALT+E to be used as a shortcut with an English keyboard even though pressing ALT+E will give a dead key while doing normal text input. Task-number: QTBUG-57933 Change-Id: I52fe9edacefe7298a96af5430831f805626bacd2 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | Merge "Merge remote-tracking branch 'origin/5.9' into 5.10" into ↵Liang Qi2017-09-064-4/+54
|\ \ | | | | | | | | | refs/staging/5.10
| * | Merge remote-tracking branch 'origin/5.9' into 5.10Liang Qi2017-09-064-4/+54
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: examples/opengl/qopenglwidget/main.cpp src/3rdparty/pcre2/src/pcre2_printint.c src/plugins/platforms/cocoa/qnsview.mm src/widgets/widgets/qcombobox.cpp Change-Id: I37ced9da1e8056f95851568bcc52cd5dc34f56af
| | * Windows QPA: Do not call EnableNonClientDpiScaling() on Desktop GL WindowsFriedemann Kleint2017-09-051-3/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It causes artifacts when moving the windows between monitors. Amends e8ecde99df8dc8959e1a5af679961cb946ccae69. Task-number: QTBUG-53255 Task-number: QTBUG-62901 Change-Id: Ia8b0f760370887a75efa05bc9736075afebfe069 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
| | * macOS: Don’t color convert the backing storeMorten Johan Sørvig2017-09-051-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The backing store was assigned the sRGB color profile as an unintended side effect of the QImage -> CGImage conversion function refactoring in ac899f6d. This caused Core Graphics to add a color convert step, which in some cases caused performance issues. Restore fast, previous behavior by assigning the target display color profile to the backing store image. Color correctness is still a goal, but we’ll add API for it and make it opt-in. Task-number: QTBUG-61384 Change-Id: I107f06a881a34fa711b386265d8dc2edfb246624 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
| | * macOS: Reset composition when focus object changes inside windowEskil Abrahamsen Blomfeldt2017-09-043-1/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the focus object inside a window changes and we are currently composing text, we have to cancel composition to avoid getting into an inconsistent state. This is what already happens if you switch to a different top level window. Note: Because we limit the user's ability to change focus inside a window when composing text, this would only happen under certain circumstances, such as creating a new MDI window with an editor while still composing text in a previous one. [ChangeLog][macOS] Switching focus objects inside a top level window while composing text using dead keys or input method events would leave the application in an inconsistent state. The composition now automatically cancels when the focus object changes. Task-number: QTBUG-59222 Change-Id: I06792a7db1441dcc5c87e4bf0861b422a25f7f7c Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | | QCocoaKeyMapper: Remove unused member variablesGabriel de Dietrich2017-09-062-13/+0
|/ / | | | | | | | | | | | | These are written into, but never read from. Change-Id: I23af5dbb2d162b06ed93f32459140a8385d65a95 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | vnc: remove unused qlibinputhandler_p.h includeGatis Paeglis2017-09-051-3/+0
| | | | | | | | | | | | | | | | It has been there since the first commit 6d70e543aa64fb9d618d899977ce9a7c10967944 of VNC platform plugin, and it has never actually been used. Change-Id: I6a9c4e6a27de042e18650fa88728a1849a99b094 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | macOS: Don’t color convert the backing storeMorten Johan Sørvig2017-09-051-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The backing store was assigned the sRGB color profile as an unintended side effect of the QImage -> CGImage conversion function refactoring in ac899f6d. This caused Core Graphics to add a color convert step, which in some cases caused performance issues. Restore fast, previous behavior by assigning the target display color profile to the backing store image. Color correctness is still a goal, but we’ll add API for it and make it opt-in. Task-number: QTBUG-61384 Change-Id: Ia36d29404c64d8030a100f6a71816d84e484308b Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | Windows: Make dropped files be opened or attachedAndre de la Rocha2017-09-054-2/+165
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds QWindowsDropDataObject as a QWindowsOleDataObject subclass specialized for handling Drag & Drop, which only allows "text/uri-list" data to be exported as CF_HDROP, to allow files dragged from Qt applications and dropped into other applications to be recognized as attachments or opened. Otherwise, files would be imported as URLs and inserted as local hyperlinks. [ChangeLog][Important Behavior Changes][Windows] On Windows, a drag & drop operation of local files URIs, like QListView items backed by a QFileSystemModel, will result in the attachment or opening of the files by the target application, instead of the creation of hyperlinks. Task-number: QTBUG-62662 Change-Id: I51efa4a56574b5e5fb3ee736ede14b5da24caac4 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | macOS: Fix support for issuing requestUpdate during expose eventTor Arne Vestbø2017-09-051-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | AppKit will clear the needsDisplay state of a view when finishing the display cycle, so if the client requested an update when delivering the expose event, the update request would not be delivered unless the view was otherwise exposed in some way at a later point. Task-number: QTBUG-62964 Task-number: QTBUG-62963 Change-Id: I5ac9bf2f19af775294d093c8b7a414af22efee92 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | iOS: Fix implicit conversion warning in QIOSEventDispatcherTor Arne Vestbø2017-09-041-1/+1
| | | | | | | | | | Change-Id: Id9650dde73e1cfbe8626b4d31b86e9bbf007be89 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | eglfs_x11: remove unused event handlersGatis Paeglis2017-09-041-71/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Logic that utilizes these event handlers was added by f610814b058b4639ef0d4d2592a8bcc3f81c974d and few months later broken by 2b20ed5af4d10533a14477750c7572ef09e60005. The original code used an event mask to select press/release/ motion events when creating window with XCreateWindow. The XCB replacement (xcb_create_window) changed event mask to 0, which means that these event handlers have been unused for about ~4 years and can be safely removed. The eglfs_x11 integration receives mouse input directly from libinput/evedev. Change-Id: Iac1521365445b8423898a16c3e609deb0806ce5e Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | Merge dev into 5.10Frederik Gladhorn2017-09-0219-159/+79
|\ \ | | | | | | | | | Change-Id: I5fb5e7e6e57bb5db6fcb1f670f7f6cbc8def2d60
| * | Merge remote-tracking branch 'origin/5.9' into devLiang Qi2017-08-3119-159/+79
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: examples/examples.pro qmake/library/qmakebuiltins.cpp src/corelib/global/qglobal.cpp Re-apply b525ec2 to qrandom.cpp(code movement in 030782e) src/corelib/global/qnamespace.qdoc src/corelib/global/qrandom.cpp src/gui/kernel/qwindow.cpp Re-apply a3d59c7 to QWindowPrivate::setVisible() (code movement in d7a9e08) src/network/ssl/qsslkey_openssl.cpp src/plugins/platforms/android/androidjniinput.cpp src/plugins/platforms/xcb/qxcbconnection.cpp src/plugins/platforms/xcb/qxcbconnection_xi2.cpp src/widgets/widgets/qmenu.cpp tests/auto/widgets/kernel/qwidget_window/tst_qwidget_window.cpp Change-Id: If7ab427804408877a93cbe02079fca58e568bfd3
| | * Cocoa integration: do not use released sessionTimur Pocheptsov2017-08-291-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QTBUG_10735_crashWithDialog started to show flakyness recently - it crashes, but not every time (which fits the definition of UB perfectly). While the test itself is doing weird things and puts our event dispatcher into a weird state, our API allows to: 1. Using QDialog to enter event loop (with runModalSession under the hood), then ... 2. to call from a slot (e.g. timer-attached) QApplication::closeAllWindows() while ... 3. we are still inside that special loop and using the 'session' object, thus ... 4. on the next iteration with [NSApp runModalSession:session] we'll re-use already released session (released by endModalSession which in turn was called indirectly by closeAllWindows). And Cocoa gives us a warning/hint: "Use of freed session detected. Do not call runModalSession: after calling endModalSesion:." Task-number: QTBUG-62589 Change-Id: Ie651cee1fba43cfd2b0fc44af5eddc5fd52e2907 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
| | * QCocoaMenu: Stop update timerGabriel de Dietrich2017-08-281-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | This amends patch f27d1ccbb24ec2fd4098f2976503478831006cc8. Change-Id: I4c7a390a5f2cdd3307007c7b6708692c36f861b4 Task-number: QTBUG-62396 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
| | * Remove QMAKE_LIBS_CORE variableJoerg Bornemann2017-08-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Define the lib dependencies for corelib in corelib.pro, where they belong. Change-Id: I973d3b0c571782d869b27dea243e899db4dddc43 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| | * Add missing #ifdef for isTouchScreen() implementationAndy Shaw2017-08-251-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | The definition of isTouchScreen() is protected with XCB_USE_XINPUT22 so the implementation needs to have this too. Task-number: QTBUG-62226 Change-Id: Icc3de01a6cb1299b43e56fc9f77833764131ca4b Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
| | * Cocoa: Fix compile when using QT_NO_TABLETEVENTAndy Shaw2017-08-252-0/+6
| | | | | | | | | | | | | | | Change-Id: I76f08d747009a5bf2c0e8004c3443e16e83b6a7d Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
| | * Initialize the print engine with the given printer nameAndy Shaw2017-08-254-6/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Originally when the QPrinter was created it would create the engine with the default printer and then change it afterwards even though the desired printer may already be known here. So by passing the printer name we ensure that it is initialized with the desired one right away. Task-number: QTBUG-62221 Change-Id: Iaa90243708b57bf89354a527a982ac45c991f603 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| | * iOS: Remove support for OpenGL-backed QBackingStoreTor Arne Vestbø2017-08-243-141/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The default on iOS has been raster for two years now, as of 3e892e4a97, and we haven't seen any major performance regressions that would warrant keeping the OpenGL based code-path alive. This includes the default surface format, which was ony set so that QPainter clip regions would work when using the GL backed backing store. Change-Id: I37b880a758b9c3fad1f23ae60268629ffbe9bc3e Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
| | * Windows QPA: Call raise unconditionally for popupsFriedemann Kleint2017-08-221-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A case of nested Qt::WindowStaysOnTopHint may occur when context menus are created on windows with Qt::WindowStaysOnTopHint set. Raise the popup in that case. Amends 329a029c361bcbaf70f3aa919693f0bef48a152f. Task-number: QTBUG-62004 Change-Id: Ifb761edbd42b1447bec30735810c006d02e1aa97 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| | * Android: stop composing before pasting new textPaul Olav Tvete2017-08-211-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We have to exit composition mode before inserting text. Otherwise, the state of the input method will be out of sync with the contents of the text editor. Task-number: QTBUG-61717 Change-Id: I58bf3988ae9e0acf3302e810e46bb0ebeda30d17 Reviewed-by: BogDan Vatra <bogdan@kdab.com>