summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms
Commit message (Collapse)AuthorAgeFilesLines
...
* | | Reduce allocations by using reserve()Sérgio Martins2016-02-071-1/+3
| | | | | | | | | | | | | | | Change-Id: If34fa53402985f6b3c5e7217bce4a1177af835b6 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | | xcb: Fix not delivering focusIn event on hide/showAlexander Bersenev2016-02-061-4/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Consider a window which was hidden and shown with hide() and show() methods and mouse pointer was in window when hide() was called. At first, window got focusOutEvent and then Qt library sends X server a message to unmap the window. Then X server will send client two messages: 1) FocusOut(10) detail=Nonlinear(0x03) 2) FocusIn(9) detail=Pointer(0x05) QXcbWindow has a logic for not seting active window to 0 if there is a FocusIn coming (see QXcbWindow::doFocusOut). So QGuiApplicationPrivate::focus_window still points to the current window. Then when show() is called, qt compares previous focus with new focus and, since they are equal, doesn't do anything. Event focusInEvent isn't delivered to the window. Here are two links why X server sends FocusIn just after FocusOut: http://lists.freedesktop.org/archives/xorg/2008-December/041684.html https://tronche.com/gui/x/xlib/events/input-focus/normal-and-grabbed.html Proposed fix ignores FocusIn events with detail==Pointer. The text of explaining comment is taken from the Chromium project: https://chromium.googlesource.com/chromium/src/+/master/ui/views/widget/desktop_aura/x11_desktop_handler.cc from X11DesktopHandler::ProcessXEvent function. [ChangeLog][module][Linux/XCB] Fix not delivering focusIn event on hide/show with XCB Task-number: QTBUG-49071 Change-Id: I433c8b638834c25f113cc134ee4185778c44f540 Reviewed-by: André Hartmann <aha_1980@gmx.de> Reviewed-by: Lisandro Damián Nicanor Pérez Meyer <perezmeyer@gmail.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
* | | xcb: Correct enter/leave event handling when mouse button is pressedBłażej Szczygieł2016-02-061-3/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes cursor shape when mouse leaves the window and enters the window again with pressed mouse button - ignore the mouse enter and leave event when any of mouse buttons is pressed. Task-number: QTBUG-46576 Change-Id: Id6ce50cd0d66da51a251d4811bc42cd31606de29 Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
* | | xcb: XInput2 fixes, enter/leave event fixesBłażej Szczygieł2016-02-067-95/+183
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added enter/leave event handling in XInput2 to avoid problems with those events when the mouse is grabbed. This commit amends: 53d289ec4c0f512a3475da4bbf1f940cd6838ace This commit amends: ed2e15780385f7cf0a0d3aedc9cb2059d470bd58 Task-number: QTBUG-50340 Change-Id: I7a120b46daa4f8fa4c218346273ae90b6abfa156 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
* | | If the font is not being found then get the English name regardlessAndy Shaw2016-02-051-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In a case of having a non English system locale, then the face and name of the font may be localized but will not match up what is in the registry. Therefore we need to try with the English name if is possible that there is one, so in the case of when registerAlias is false we should try to get the English name if necessary. Change-Id: Id1064b6f5263677320374dbddfad852f30f041c5 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com> Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
* | | Windows QPA: Remove dead code as detected by Clang.Friedemann Kleint2016-02-0512-97/+6
| | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-50804 Change-Id: Id87ca4ac98eb17b1e743a10080554da38d609588 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com> Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com> Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
* | | Windows QPA: Add missing override declarations.Friedemann Kleint2016-02-053-8/+8
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-50804 Change-Id: I27017b0d0fd44cf746d180fdb126d1e6593e7d7b Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
* | | Accessibility OS X: Improve password handlingFrederik Gladhorn2016-02-041-10/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | Set the right sub role (NSAccessibilitySecureTextFieldSubrole) and return the bullet point character for the text contents. This alignes the behavior with native widgets. Change-Id: I7305e08dca61097dd8c050aed64c792c06de0a4d Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
* | | Windows QPA/Accessibility: Fix Clang warnings about comparing different enums.Friedemann Kleint2016-02-041-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | accessible\iaccessible2.cpp(1708,40) : warning: comparison of two values with different enumeration types ('IA2Role' and 'QAccessible::Role') [-Wenum-compare] Q_STATIC_ASSERT(IA2_ROLE_COLOR_CHOOSER == QAccessible::ColorChooser); Task-number: QTBUG-50804 Change-Id: I25a1f00fdbd687ff23f875542a6aa0cc0cab3d23 Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
* | | Direct2D: Spell out ~QWindowsDirect2DPaintDevice.Friedemann Kleint2016-02-042-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes warning about deleting the incomplete type QWindowsDirect2DPaintDevicePrivate. Task-number: QTBUG-50860 Change-Id: I11edb49e6e3996963913155e307fd5f3944bffd2 Reviewed-by: Louai Al-Khanji <louai.al-khanji@theqtcompany.com>
* | | egldevice: Add a way to force mode settingLaszlo Agocs2016-02-041-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Normally setting the mode again and again on each application startup is not desirable as it takes time and considerably affects the application startup experience. However, in some cases (like shutting down the X server) the output gets powered down and there seems to be no way to detect this. Here setting the mode again becomes necessary. Until there is a better solution, add an environment variable QT_QPA_EGLFS_ALWAYS_SET_MODE which, upon a non-zero value, leads to always calling drmModeSetCrtc. The issue is not specific to Qt, the same is visible with the NV examples as they try to minimize redundant mode set calls in the same manner. Change-Id: If2b5e3fda74e077a747dd03cee65c936560a5026 Reviewed-by: Louai Al-Khanji <louai.al-khanji@theqtcompany.com>
* | | xcb: Take into account the orientation of touch pointsAlexander Volkov2016-02-033-5/+40
| |/ |/| | | | | | | | | | | | | | | | | | | Add support for ABS_MT_ORIENTATION value. Linux kernel multi-touch protocol allows it to be in a wide range: https://www.kernel.org/doc/Documentation/input/multi-touch-protocol.txt, but we need only to know whether the touch point rect is rotated by 90 degress. So adjust the angle to the closest axis. Change-Id: Ie20725dc4bef509e2f9b19571efc69502d00c019 Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
* | xcb: Ignore Mouse Enter:ungrab, Leave:grab events.Gatis Paeglis2016-02-011-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These are "special" XCB_NOTIFY_MODE_(UN)GRAB Enter/Leave events and we do not have handlers for them in Qt, so lets just ignore events with this mode. Patch fixes Qt+ArchLinux+Awesome WM issues, where Qt applications were receiving Enter/Leave events for mouse clicks in the application window. This patch does not affect "normal" XCB_NOTIFY_MODE_NORMAL Enter/Leave event handling. Task-number: QTBUG-45818 Change-Id: Ib70fdd9ed9200364a9753904f8e63d1ed9e2072f Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
* | Move Cocoa key code helper functions to QtCoreTor Arne Vestbø2016-01-292-140/+0
| | | | | | | | | | | | | | | | Can be useful for e.g. testlib for handling native key events. Change-Id: I6560c6e28799e25eb3bdcaa0f2ca3c17644c62db Reviewed-by: Jake Petroules <jake.petroules@theqtcompany.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* | Windows QPA: Clear maximized state before setting the normal geometry.Friedemann Kleint2016-01-291-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | A sequence of state changes fullscreen, maximized and back can leave the window in a maximized state after setting the top level style. It needs to be cleared before applying the normal geometry, otherwise, the window ends up with a maximized button and normal geometry. Amends change e3288f246b44ba2b6d90b90eb99ab61f496d8d57. Task-number: QTBUG-49709 Change-Id: I0bb4ac1d60693e25d5ee74e763d293405636bb13 Reviewed-by: Błażej Szczygieł <spaz16@wp.pl> Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | Windows QPA: Fix drag cursor and hotspot for pixmaps with DPR.Friedemann Kleint2016-01-291-19/+22
| | | | | | | | | | | | | | | | | | | | | | | | Introduce separate scale factors for hot spot and pixmap and set the devicePixelRatio of the scaled pixmap to 1 matching that of the target pixmap which will be converted to a Windows cursor. Change-Id: I0b0f6c6a79589ec954b5a1a09a86b87c91b5147d Task-number: QTBUG-46068 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by: Alexandru Croitor <alexandru.croitor@theqtcompany.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
* | Windows QPA: Fix position of the fake touch drag cursor window for HighDPI.Friedemann Kleint2016-01-291-1/+1
| | | | | | | | | | | | | | Use QCursor::pos() to obtain the position in device independent pixels. Change-Id: Ia54701c556188f40ba678341125114d113ffe8c7 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | QWindowsFontEngine: Get rid of some dead codeKonstantin Ritt2016-01-291-12/+3
| | | | | | | | | | | | | | | | | | | | Q_DEAD_CODE_FROM_QT4_WINCE was never defined anywhere and there are no other engines that do similar trick; so remove the code at all. Consider this "feature" lost in WinCE history ;) Change-Id: I99183a07ccb45b6b970cd33414708288bd0d7efa Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com> Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
* | Don't use QStringLiteral in comparisonsAnton Kudryavtsev2016-01-284-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For QLatin1String, operator== is overloaded, so comparing to a latin-1 (C) string literal is efficient, since strlen() is comparatively fast. OTOH, QStringLiteral, when not using RVO, litters the code with QString dtor calls, which are not inline. Worse, absent lambdas, it even allocates memory. So, just compare using QLatin1String instead. Change-Id: I761b2b26ab5b416bc695f524a9ee607dacf0a7b2 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | Cocoa: Support high-dpi DnD pixmaps.Morten Johan Sørvig2016-01-261-1/+3
| | | | | | | | | | | | | | | | | | | | Set the NSImage size (which is in points/device independent pixels) to inform Cocoa DnD about the intended image visual size. Change-Id: I6fadd77f4e0173e8e9773725fab3b35f70a055ff Task-id: QTBUG-44179 Reviewed-by: Andy Shaw <andy.shaw@theqtcompany.com>
* | winrt: fix typoMaurice Kalinowski2016-01-261-1/+1
| | | | | | | | | | Change-Id: I621043b6be797e250fd2cd17de22a18d8773b01c Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
* | Handle native views visibility properly.BogDan Vatra2016-01-263-1/+16
|/ | | | | | | | Hide the native view in constructor and in destructor. Task-number: QTBUG-40159 Change-Id: I200b28af9ac2928c38299b71395a97e39f1bbe6d Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* Cocoa: Update QWindow::screen() on expose/show.Morten Johan Sørvig2016-01-221-0/+12
| | | | | | | | | This is needed to correctly handle show on non-primary screens. Change-Id: I80b13372b3a92786987a66f0da385af6b4a6a863 Task-number: QTBUG-47950 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
* Use QFileInfo::exists(f) instead of QFileInfo(f).exists()Tobias Koenig2016-01-211-1/+1
| | | | | | | QFileInfo::exists(f) is somewhat faster than the version which creates an temporary object. Change-Id: I5f931a86d9dfad57d99efe04ca115422de43def9 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* eglfs: Detect llvmpipe and show a warningLaszlo Agocs2016-01-212-0/+11
| | | | | | | | | | Do ourselves and our users a favor by pointing out why Qt (Quick) apps perform horribly on commonly used distros on the RPi. Using a software rasterizer on such boards is not going to cut it. Task-number: QTBUG-50533 Change-Id: I087f502ddb9c6bdde84343e6abd85c87cdc474f0 Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
* Merge "Merge remote-tracking branch 'origin/5.5' into 5.6" into refs/staging/5.6Jani Heikkinen2016-01-213-2/+17
|\
| * Merge remote-tracking branch 'origin/5.5' into 5.6Liang Qi2016-01-193-2/+17
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: config.tests/common/atomic64/atomic64.cpp configure src/3rdparty/forkfd/forkfd.c src/corelib/io/forkfd_qt.cpp src/widgets/kernel/qwidgetwindow.cpp tests/auto/corelib/statemachine/qstatemachine/tst_qstatemachine.cpp tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp tools/configure/configureapp.cpp Change-Id: Ic6168d82e51a0ef1862c3a63bee6722e8f138414
| | * xcb: Fallback to Xlib screen when glXGetCurrentDisplay() returns NULLBłażej Szczygieł2016-01-182-6/+11
| | | | | | | | | | | | | | | Change-Id: Ie25b3fac4c0224f847c77c0515894a9df84077a2 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
| | * Don't pass NULL Display to glXGetClientStringDāvis Mosāns2016-01-112-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | glXGetCurrentDisplay can return NULL so need to check for that. Change-Id: I1b85a5c575d1deb24dcce4719b6f737283adeabe Reviewed-by: Błażej Szczygieł <spaz16@wp.pl> Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
| | * Fix XI2 smooth scroll with inverted directionMaxim Mikityanskiy2015-12-171-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When touchpad scroll direction is inverted, verticalIncrement and horizontalIncrement of scrollingDevice are negative, and rawDelta remains unfilled. It leads to pixelDelta.isNull() being true in wheel event handler even when XI2 smooth scrolling is available on the system. Fix that and fill rawDelta with correct values when inverted scroll direction is used. Change-Id: I9c0bdbad2c6b9bbed765eaa895dca300c5c70e86 Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
* | | Fix transformed text with DirectWrite engineEskil Abrahamsen Blomfeldt2016-01-191-47/+98
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a port of f54c5d9133d7aa7636988db36fa6cc51d26434b6 from Qt 4.8 which was lost in the transition to Qt 5. It makes sure we use the correct bounding box for the transformed glyph by getting from DirectWrite itself. [ChangeLog][Windows] Fixed transformed text when using the DirectWrite font engine. Task-number: QTBUG-50009 Change-Id: I416ab64253165b878af6b9837348134fede8092e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com> Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | | OS X: Ensure system tray icon is prepared even when menu bar is hiddenTor Arne Vestbø2016-01-191-1/+1
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On OS X 10.11 (El Capitan) the system menu bar can be automatically hidden, in which case the menu bar height is reported to be 0 when using the menuBarHeight API. This resulted in failing to prepare an image for the system tray icon item, making the tray item "invisible". Instead we now use the [[NSStatusBar systemStatusBar] thickness] API, which returns the correct height regardless of the menu bar being hidden or not. Task-number: QTBUG-48960 Change-Id: I208fb8df13754964a6f254cadfbff06dd56c6bab Reviewed-by: Markus Goetz (Woboq GmbH) <markus@woboq.com> Reviewed-by: Jake Petroules <jake.petroules@theqtcompany.com>
* | WinCE: Build accessibility support on WinCE7Tobias Koenig2016-01-182-17/+34
| | | | | | | | | | | | | | | | | | | | | | Build the QPlatformAccessibility support on WinCE7, so that QtQuickControls, which depend on the availability of QPlatformAccessibility, can be used on WinCE7 as well. Change-Id: Ice7370b891a2963483bbfe1af8b219717541e64b Reviewed-by: Björn Breitmeyer <bjoern.breitmeyer@kdab.com> Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
* | Passing parameters to convertLineOffset by pointer instead of referenceFrederik Gladhorn2016-01-181-12/+12
| | | | | | | | | | | | | | | | | | This is aligned with our coding style and it should have been this way from the start. Change-Id: I23a00eb220dd9f17d9239c811b556885a2c0186a Reviewed-by: Fredrik de Vibe <fredrik.devibe@theqtcompany.com> Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
* | Mirclient: update with upstream changesEirik Aavitsland2016-01-1818-374/+956
| | | | | | | | | | | | | | Merge in the changes up to revision 306 of the lp:qtubuntu repo. Change-Id: I55dcb9e06e0a3503d6abe4b0894d5ef5a785b6bb Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* | Promote backingstore image format to alphaLaszlo Agocs2016-01-172-4/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Like xcb does since 1bcfc3de7586ddb9f5d1b778b97b26ae3dc9584d. For TranslucentBackground (ARGB32_Premultiplied) there is no change in practice. For RGB32 we will promote to ARGB32_Premultiplied but everything should behave like before, except that we do not rely on undefined behavior anymore when QOpenGL/QuickWidget is in use. For RGB16 this will enable QOpenGL/QuickWidget since there the hole punching mechanism needs an alpha channel always. Change-Id: Id04ea548cee245ec91642f1358a5e501b62ff64c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* | Windows/Direct2D QPA plugins: Fix overrides.Friedemann Kleint2016-01-1411-93/+95
| | | | | | | | | | | | | | Fix warnings found by clang. Change-Id: Ia8e7a271e9d33011eded1e63e61dbcaeaf692600 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | xcb: Don't clear alpha on every repaintBłażej Szczygieł2016-01-141-2/+7
| | | | | | | | | | | | | | | | | | Since 1bcfc3de7586ddb9f5d1b778b97b26ae3dc9584d every image has alpha in XCB even if it is not used by window. This patch prevents clearing the alpha channel on every repaint when window is not transparent. Change-Id: Icfdd39f8636401906ace77ea3c2fa25386979d5f Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* | winrt: enable hardware buttons for Windows 10Maurice Kalinowski2016-01-142-37/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously the hardware and camera button handler were guarded inside a Q_OS_WINPHONE which does not apply to Windows 10. Instead use WINAPI_PARTITION_FAMILY like on other places, this covers Windows Phone 8.1 as well as Windows 10. To find windows.phone.ui.input.h at build time the Mobile Extension directory needs to be added to the include paths inside qmake. On runtime we need to check whether we have hardware buttons or not. In case they exist, register the handlers, otherwise skip registration. Skipping also helps to keep WACK succeeding. Task-number: QTBUG-50427 Change-Id: Ibeae15dbde12553cebd2b73b1a40b754c014f426 Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
* | xcb: Don't duplicate expose eventsBłażej Szczygieł2016-01-132-21/+18
| | | | | | | | | | | | | | | | | | Use ExposeCompressor for mapping the window to prevent duplicating expose event when window is mapped. Remove sending expose event from configure notivy event. Change-Id: I6836c06047ffebd65775aa8aca90750afba6efe8 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* | eglfs: Round value returned from pixelDensity()Morten Johan Sørvig2016-01-131-1/+1
| | | | | | | | | | | | | | | | | | Avoid returning fractional scale factors, which we do not support. This matches the pixelDensity() implementation for the Xcb and Windows platform plugins. Change-Id: I79156e802a0a436b9344f12d35d1f4861e20e7fa Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
* | iOS: fix crash on iOS 8 due to unsupported selectorRichard Moe Gustavsen2016-01-112-5/+9
| | | | | | | | | | | | | | | | | | | | | | | | It turns out that f558bde was not enough to stop a crash when trying to access forceTouchCapability of traitCollection. The reason is that traitCollection is available on UIScreen starting from iOS 8, while forceTouchCapability is available on UITraitCollection starting from iOS 9. So only checking the former will cause a crash when running on iOS 8. Change-Id: I44f9fb785349694004fbf2f48fe3b85bb01d9a5a Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* | winrt: Flush the system event queue when adding/removing windowsMaurice Kalinowski2016-01-111-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This has only been identified by WACK for Windows 10. QWinRTWindow::setVisible adds a Window to the screen and immediately tries to set the native visibility. This only works when the system events are handled immediately. While this is the case most of the time, certification tests revealed that this is not always the case. We have to flush before setting the element visibility. Change-Id: Ifce4c045c185c57bc386a4e832074fb84f5d0053 Reviewed-by: Andrew Knight <andrew.knight@intopalo.com> Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
* | winphone: Properly close the applicationMaurice Kalinowski2016-01-113-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When shutting down an application on Windows Phone the SceneGraph tries to create an offscreen surface to render into. If there is no offscreen surface available, it creates a new native window and tries to hide it. As the native event loop is about to shut down, creation fails and exceptions are raised. Instead we create a vanilla QPlatformOffscreenSurface. The SceneGraph recognizes it as such and can handle a proper cleanup on its own. Furthermore removing the suspend/resume handler in the destructor of QWinRTIntegration fails for Windows Phone as the application object itself does not accept this anymore. Hence skip this part for this platform. Task-number: QTBUG-49310 Change-Id: I02acdd5a635ef0b9d6ef8199376537b8f0f1a8fb Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
* | WinRT: Invoke correct remove handlerMaurice Kalinowski2016-01-111-1/+1
| | | | | | | | | | | | | | Probably a typo when moving to Xaml. Change-Id: I0739f4561912e1e16df7b124d6d187cd0f60f657 Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
* | WinRT: Fix application shutdownMaurice Kalinowski2016-01-111-6/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Do not create a dummy eglDisplay when the global static is constructed. This causes ANGLE to wrongly set some internals, which breaks usage of EGL_PLATFORM_ANGLE_ENABLE_AUTOMATIC_TRIM_ANGLE as the attribute map might be empty after calling eglGetPlatformDisplayEXT. Furthermore initialize() assigns a new display to it without terminating the old one. This way, the internal suspend handler in ANGLE (Trim11.cpp) will be added to the application. The suspend handler is not invoked when an application suspends though. Reason being that the handler needs to be added from inside the Xaml thread. As we cannot control this inside ANGLE, we will call eglInitialize inside the Xaml thread and hence get the suspend event properly. Task-number: QTBUG-50337 Task-number: QTBUG-50292 Change-Id: I3867377254c37084bf24f18e78af467f6237db57 Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
* | Windows: Output resulting DPI awareness in debug and warning output.Friedemann Kleint2016-01-083-4/+21
| | | | | | | | | | | | | | | | | | | | | | | | Fix the signature of QWindowsShcoreDLL::GetProcessDpiAwareness and output the value in the warning about failures of SetProcessDpiAwareness and in debug output. Failures occur when Qt is embedded into another application, for example Active Qt servers. Task-number: QTBUG-41186 Task-number: QTBUG-50206 Change-Id: I3fd6cba26826ee8bbfa0a34f129deb64797c947f Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | xcb: Remove QXcbScreen::m_nativeGeometryAlexander Volkov2016-01-083-12/+4
| | | | | | | | | | | | | | | | | | | | | | | | It is equal to m_geometry since c173a5071906867de9da26ee8f49224b23c2ef1d (Remove QT_DEVICE_PIXEL_RATIO support from xcb). Also remove the declaration for QXcbWindow::screenForNativeGeometry(), which was forgotten to be removed in that commit. Change-Id: I8ec425a3bc111ec579e2e25c4fda8a02f1c8d09c Reviewed-by: Błażej Szczygieł <spaz16@wp.pl> Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
* | Use backing store formats with alphaAllan Sandfeld Jensen2016-01-081-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | We depend on being able to punch holes in the backing store when integrating with FBO elements. To do that we need a format with an alpha channel. This was only working previously because RGB32 didn't mask when filling or when converting to ARGB32_PM, but other formats didn't. Also unifies the logic for getting alpha versions of QImage formats. Task-number: QTBUG-50281 Change-Id: Ied1325f60e2b67d9ea2dfa9701b06fc2231ebfca Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* | windows: bump OpenGL blacklist versionLaszlo Agocs2016-01-081-1/+1
| | | | | | | | | | Change-Id: If27c36de850b55907143e2b8a412fa8ac458fe97 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>