summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms
Commit message (Collapse)AuthorAgeFilesLines
* Make QWindow's windowState a QFlags of the WindowStateOlivier Goffart2017-03-1621-241/+249
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This reflects QWidget API, and restores some behavior from Qt4. Some WM can have several state at the same time. On Plasma for example, when a window is both maximized and minimized, the "maximized" checkbox is checked from the taskbar entry. The API of QPlatformWindow was changed to take a QFlag and the platform plugins were adapted. - On XCB: Always send the full state to the WM. And read the full state. - On Windows: The code was originally written with '&' in Qt4, and was changed to == when porting. Some adaptation had to be made so the states would be preserved. - On macOS: Only a single state can be set and is reported back for now, with the possibly to expand this in the future. - Other platforms: Just do as before with the effective state. Task-number: QTBUG-57882 Task-number: QTBUG-52616 Task-number: QTBUG-52555 Change-Id: I7a1f7cac64236bbd4c591f796374315639233dad Reviewed-by: Gunnar Sletta <gunnar@crimson.no> Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
* Merge remote-tracking branch 'origin/5.9' into devLiang Qi2017-03-1415-27/+70
|\ | | | | | | | | | | | | Conflicts: src/widgets/widgets/qpushbutton.cpp Change-Id: I615de00e6e64540c50f658d4d8ab3e002d701a81
| * Windows QPA: Better recover from removed screens when fullscreenJocelyn Turcotte2017-03-081-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QWindowsWindow::handleResized would call isFullScreen_sys which checks if the window's screen geometry matches the one of the window. When switching back from fullscreen, Windows will have set the geometry to fill the next window, but we don't switch QScreen until later in that function, inside handleGeometryChange. This would result in our window to take the whole screen geometry, but the FullScreen state wouldn't be transferred to the new screen. Fix the issue by using screenForGeometry and check if we are fullscreen on any screen. Also make sure that we check the validity of m_savedFrameGeometry when restoring after a screen remove, since we would previously restore to an area not covered by any screen anymore. Change-Id: I43bc02738007918e9a26c1d27a699c51d3365034 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * xcb: stringify enums for tablet qt.qpa.input.events qCDebugShawn Rutledge2017-03-031-4/+18
| | | | | | | | | | | | | | | | It's a bit easier to read, not having to look up TabletDevice and PointerType enum values manually. Change-Id: I53353be4dcea3e2cb875f04250502ffe802fc971 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
| * Make "finger touch" not be a tabletAlbert Astals Cid2017-03-031-0/+2
| | | | | | | | | | | | | | Otherwise QTouchDevices::devices() doesn't return the touchscreen on my Thinkpad Yoga 460 Change-Id: Ibb829df95f92152a77c512e4325522825901074e Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| * Fix build with -no-openglPaul Olav Tvete2017-03-035-8/+17
| | | | | | | | | | | | Change-Id: I6fb61944ef88e328a94ea6b7ab42db271828a602 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| * winrt: Fix potential warningMaurice Kalinowski2017-03-031-1/+1
| | | | | | | | | | | | | | | | fix warning about non-portable-includepath due to case insensitivity on windows file system. Change-Id: Ib92db836910c2b9d06a18c841e7c6f0c2e9abab4 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * winrt: Fix compiler warningMaurice Kalinowski2017-03-031-0/+2
| | | | | | | | | | | | | | The drag event handler classes should have virtual destructors. Change-Id: Ia011856eec37ed303649a1eda036c52f5fa9f8e5 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * Make VNC a proper featurePaul Olav Tvete2017-03-011-1/+1
| | | | | | | | | | Change-Id: Iffae3f4d77f46bbf7ac38e7c9bc916f060606dd9 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * Fix build with -no-feature-cursorPaul Olav Tvete2017-03-015-9/+19
| | | | | | | | | | Change-Id: I971dbe7827adf0cf06337348a0d011632c364725 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Remove QPlatformDrag::platformDropDataAlbert Astals Cid2017-03-139-25/+9
| | | | | | | | | | | | | | | | | | | | | | | | Its only uses were: * Call it to just store it in QDragManager::QDragManager * qnsview.mm calls it but since it knows it's a QCocoaDrag it can just call a function of that class directly * qxcbdrag.cpp calls it but since it basically was calling itself can just use the class member directly Change-Id: Ic7797c877d77f944a1212a7ea01173393bf903fe Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | xcb: remove code and macros related to Q_XCB_DEBUGGatis Paeglis2017-03-1011-384/+277
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... early spring-cleaning, leaving one block of virtual root debug code that was inappropriately conditioned on Q_XCB_DEBUG; it now gets its own define. Removed Q_XCB_CALL: 1) I don't know anyone who actually uses it. 2) Enabling this feature (via Q_XCB_DEBUG) fails to build (and has been like that for about 1 year). 3) There are better ways to debug X11 client message exchange (see xtrace for example). 4) Using Q_XCB_CALL is a very fragile approach. Grep for example for xcb_change_property and you will see that half of the calls are not wrapped with the Q_XCB_CALL macro. This patch also removes the Q_XCB_NOOP macro. It's unclear what its purpose was. There was a TODO comment in qxcbeglcontext.h suggesting removal of this macro as well. Its evaluation of its parameter, even without Q_XCB_DEBUG, had no side-effects, so its removal should be harmless. Change-Id: I9fa48af454061d8b38f69f308131647cd18f85f4 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Alexander Volkov <a.volkov@rusbitech.ru> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | Remove remaining Carbon includes from QtCore, QtGui and QtWidgetsJake Petroules2017-03-072-4/+2
| | | | | | | | | | | | | | | | | | Carbon is deprecated and we should not rely on it at runtime or compile time. These headers were only included for a small collection of keyboard key constants which have now been hardcoded instead. Change-Id: Ia2eaa267584b63be8019be3bbf64cba897a985a8 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
* | Remove unused Carbon includeJake Petroules2017-03-031-2/+0
| | | | | | | | | | Change-Id: I62d7fa00da98e2925049fc381f0a592e27f2a245 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
* | xcb: Optimize QXcb{Screen,VirtualDesktop} for multi-monitor setupAlexander Volkov2017-03-022-241/+267
| | | | | | | | | | | | | | | | | | | | Move non-monitor-specific members of QXcbScreen to QXcbVirtualDesktop: they relate to an X screen rather than to a monitor. It allows to save some memory and X server callings that were previously made for each monitor. Change-Id: I079cdec5f27ca93a2aade00c3040936a0e50b494 Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into devLiang Qi2017-03-0225-281/+397
|\| | | | | | | Change-Id: I84097f8e7b3b2128028bd7693c913d6968b82bfe
| * Windows QPA: Replace LGP21 with LGPL license headerKai Koehne2017-02-281-14/+20
| | | | | | | | | | | | | | Also use canonical contact url. Change-Id: I58c7f5309883fa775d1bf7b56692e4c237a3f5a4 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * Integrity plugin: Replace LGPL21 with LGPL license headerKai Koehne2017-02-287-98/+140
| | | | | | | | | | | | | | | | Also use canonical contact url. Change-Id: I7faf9b329f4dd2c2a422d02e171bc2d39c359ed3 Reviewed-by: Rolland Dudemaine <rolland@ghs.com> Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
| * bsdfb plugin: Replace LGPL21 with LGPL license headerKai Koehne2017-02-285-70/+100
| | | | | | | | | | | | | | Also use canonical contact url. Change-Id: Iaf22c48d0a548efaccd816132e8730cbb6e0bb5d Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| * IOS: Replace LGPL21 with LGPL license headerKai Koehne2017-02-286-84/+120
| | | | | | | | | | | | | | Also use canonical contact url. Change-Id: Id1d8328e6cc9aab82a30e0ee3a971e6935341b42 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
| * xcb: correct conversion of AbsX/AbsY to tablet width and heightShawn Rutledge2017-02-271-2/+2
| | | | | | | | | | | | | | | | This was a mistake in cb37ab82982569ef316d4948e0f13a9bfa6b3f55 Change-Id: I5897ceb34ab4aa1655efd20697d0e761cf7796b1 Reviewed-by: Andy Shaw <andy.shaw@qt.io> Reviewed-by: Alexander Volkov <a.volkov@rusbitech.ru>
| * Merge remote-tracking branch 'origin/5.8' into 5.9Liang Qi2017-02-245-9/+14
| |\ | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/features/moc.prf Change-Id: Ia71c8e3b3185f7c999bf226d0675051b10b8740b
| | * Android: Fix OpenGL shader compilation on updated emulatorEskil Abrahamsen Blomfeldt2017-02-231-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In 0ae4b948515af904dba397448839056d9b7965af, we added a work-around specifically for the Android emulator, causing it to override the precision qualifiers in shader code, since the emulator would send the shader code directly to the host OpenGL driver and thus there was no guarantee that the qualifiers would be supported. Since then, the original issue with the emulator has been fixed, so now Qt applications are failing because of the work-around. [ChangeLog][Android] Removed old work-around which was causing OpenGL shader compilation to fail on updated Android emulators. Task-number: QTBUG-44697 Change-Id: I0da879b3a8fbe7cb2d0969cdf45664d0b3499891 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> Reviewed-by: BogDan Vatra <bogdan@kdab.com>
| | * fix VNC platform plugin build on big-endian machinesShawn Rutledge2017-02-173-5/+10
| | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-58734 Change-Id: I3e44ee4be5003acaba2f1b8ed2658a3ff1bd700e Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Dmitry Shachnev <mitya57@gmail.com>
| | * macOS: use active window device pixel ratio for drag pixmapOleg Yadrov2017-02-171-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In QCocoaDrag::dragPixmap, it treats QDrag::source as a QWindow, but it is not - it's just a generic QObject* of some kind (which QQuickDrag sets to the originating QQuickItem, and the widgets stack sets to a QWidget). This failure means that dpr stayed at 1.0. Unfortunately it’s not possible to receive a pointer on QWindow directly from QQuickItem because QtWidgets and QtQuick do not share the sources, but we can use the same dpr as current focused window has because drag can only start from active window - press on a window which is not focused should activate it first. Task-number: QTBUG-57942 Change-Id: Id358c181d03d519188caaa83fb4226033b8ed1ea Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
| * | handle TabletMove events during stylus hoverShawn Rutledge2017-02-231-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The main reason for this is to get feedback about the stylus orientation (angles and rotation) before the user presses it. For example an application might provide an image of the brush which rotates along with the stylus. As with mouse events, applications can distinguish hovering by the fact that no buttons are pressed. On the xcb platform we need to stop blocking the hover events, and in QWidgetWindow we need to send the event to the widget being hovered, while keeping the existing "grab" behavior: after pressing the stylus (or any button on the stylus or on the tablet), keep sending the events to the same widget until release. Task-number: QTBUG-26116 Change-Id: Iaed8b3b94961290dbb29b5fd2ea892fed7221685 Reviewed-by: Dmitry Kazakov <dimula73@gmail.com> Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* | | Merge remote-tracking branch 'origin/5.9' into devLiang Qi2017-02-2817-55/+111
|\| | | | | | | | | | | Change-Id: I7d84cfed0b2a122d334b8a920e6e4f18472d2f11
| * | macOS: Make sure NSResizableWindowMask is set when toggling fullscreenTor Arne Vestbø2017-02-222-14/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of setting the mask in toggleFullScreen(), which is only hit when going to fullscreen via our own API, we do it in the window notification callbacks, which also includes going to full screen via the native macOS title bar buttons. This allows making customized windows without Qt::WindowMaximizeButtonHint full screen with the full geometry of the screen. Change-Id: I63c3e4582ea7c4fe8c0008265793c5f656b830b2 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
| * | QWindow: Remove "_q_foreignWinId" dynamic propertyTor Arne Vestbø2017-02-2214-38/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The platform plugins reading this out of the QWindow was a layering violation, and propagates the notion that a window can shape shift into representing a new native handle, while none of the platform plugins support this. A foreign QWindow is created via the factory function fromWinId(), at which point we can pass the WId all the way to the platform plugin as function arguments, where the platform will create a corresponding platform-window. The platform window can then answer the question of whether or not it's representing a foreign window, which determines a few behavioral changes here and there, as well as supplying the native window handle back for QWindow::winId(); [ChangeLog][QtGui][QWindow] The "_q_foreignWinId" dynamic property is no longer set nor read. [ChangeLog][QtGui][QPA] The function createForeignWindow() has been added to QPlatormIntegration and is now responsible for creating foreign windows. The function isForeignWindow() in QPlatformWindow has been added, and platforms should implement this to return true for windows created by createForeignWindow(). Task-number: QTBUG-58383 Change-Id: If84142f95172f62b9377eb5d2a4d792cad36010b Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
| * | macOS: Retain foreign windowsTor Arne Vestbø2017-02-201-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Regression after 89842b97d74d1, where the retain was part of setView. We release m_view in the destructor, regardless of how the view was acquired, and the non-foreign window retains by being the one creating the view. Task-number: QTBUG-59001 Change-Id: I6d9621a63ea6ec2cee008986b0ab72ff61110ad7 Reviewed-by: René J.V. Bertin <rjvbertin@gmail.com> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
| * | Make better use of new QStringList::join(QLatin1String) overloadMarc Mutz2017-02-192-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | It was added in Qt 5.8. Change-Id: I7194fbfaef9219110604f3b03a893a658c996c06 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * | qeglfskmsegldevicescreen.cpp: add errno.h includeDavid Faure2017-02-181-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Compilation failed with clang 3.9.1: qeglfskmsegldevicescreen.cpp:104:27: error: use of undeclared identifier 'errno' qErrnoWarning(errno, "drmModeSetCrtc failed"); Change-Id: I7cf08494359092b9cdac10bb013ac56c3ddf5597 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | | Enable QWindowContainer on AndroidLaszlo Agocs2017-02-271-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][Platform Specific Changes][Android] QWidget::createWindowContainer() is now supported on Android for embedding OpenGL-based QWindows into widget UIs. Task-number: QTBUG-59175 Change-Id: I84d3703bcd44c63b1fdfe6772b7f3de9d5c18ddf Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* | | remove duplicate init check in xcb GLX threading supportJeremy Katz2017-02-271-2/+1
| | | | | | | | | | | | | | | Change-Id: Ifdaadcb26acfccb9625df23e6526c341cf7ebde0 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | | Add sRGB capable default framebuffer support for WGLLaszlo Agocs2017-02-262-19/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Not that it changes much since one tyically gets sRGB capable by default on AMD and NVIDIA at least, but let's handle the QSurfaceFormat flag correctly via WGL_EXT_framebuffer_sRGB. Task-number: QTBUG-50987 Change-Id: I898c3757ab6fea51323d6c041b2511bea780c3fb Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | | Support windows with sRGB-capable default framebuffers in QSurfaceFormatLaszlo Agocs2017-02-261-1/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Backend implementation is done for GLX for now. WGL and EGL may follow later on. [ChangeLog][QtGui] Added support for requesting OpenGL windows with sRGB-capable default framebuffers. While this is implicit on some platforms, QSurfaceFormat now has the necessary flags to request such windows in a cross-platform manner. Task-number: QTBUG-50987 Change-Id: I4df1f786e41e63396f46920a81afdf5ecb5eedea Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | | eglfs_kms: Mode supportPier Luigi Fiorini2017-02-242-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for reporting available modes. [ChangeLog][QPA][eglfs][kms] List screen modes, current and preferred mode. Change-Id: If64c1512271fadbafbb8c9fd715e64663d598599 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | | xcb: Wrap xcb callings in macrosAlexander Volkov2017-02-2314-578/+276
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... to improve readability and reliability. This change introduces macros Q_XCB_REPLY and Q_XCB_REPLY_UNCHECKED that allow to replace couples of xcb cookie/reply callings by a single "calling" of a macro. The macros wrap the reply in std::unique_ptr thus preventing the need to free it manually. The following C++11 features are used: - variadic macros - std::unique_ptr - auto type deduction Change-Id: Icf9b93353404a39bf5f4a4562b9234db18cac696 Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* | | xcb: Move QXcbConnection::xi2*() methods() to qxcbconnection_xi2.cppAlexander Volkov2017-02-222-46/+44
| | | | | | | | | | | | | | | | | | Change-Id: I7af7bd7590b95f6092fcca718931b1f1462c0ae5 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* | | xcb: Remove XIproto.h include from qxcbxsettings.cppAlexander Volkov2017-02-211-12/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | It indirectly includes X.h with LSBFirst and MSBFirst macros. Use XCB_IMAGE_ORDER_LSB_FIRST and XCB_IMAGE_ORDER_MSB_FIRST macros instead and remove unneeded XCB_USE_XLIB guards. Change-Id: Ic24c9605d0a627253f2793f9feab6c6e19dcda08 Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* | | Merge remote-tracking branch 'origin/5.9' into devLiang Qi2017-02-1718-197/+308
|\| | | | | | | | | | | | | | | | | | | | Conflicts: qmake/Makefile.unix Change-Id: Ia18e391198222eef34ffa2df6f683e052058d032
| * | xcb: support graphics tablets with the "uc-logic" nameDmitry Kazakov2017-02-171-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Similar to support for the other Genius tablets. https://bugs.kde.org/show_bug.cgi?id=359642 Task-number: QTBUG-52626 Change-Id: I3e2033d547d8bab4b6fb93be3a172bdce4fc5666 Reviewed-by: Dmitry Kazakov <dimula73@gmail.com> Reviewed-by: Andy Shaw <andy.shaw@qt.io>
| * | Merge "Merge remote-tracking branch 'origin/5.8' into 5.9" into refs/staging/5.9Liang Qi2017-02-172-2/+4
| |\ \
| | * | Merge remote-tracking branch 'origin/5.8' into 5.9Liang Qi2017-02-162-2/+4
| | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/plugin/qlibrary_unix.cpp src/plugins/platforms/xcb/qxcbconnection.cpp tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp Change-Id: I632c400d909f8c204f55743aadc7886af2f15dfb
| | | * xcb: Allow to disable XInput 2 support by setting QT_XCB_NO_XI2 env varAlexander Volkov2017-02-161-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use of XInput 2 may result in regressions. For example we call XISelectEvents for each window every time a device plugs/unplugs. It causes significant delays when there are many native windows. Change-Id: I60b799bb667d0e4bca1f9c52cdaa07b04bcc749f Task-number: QTBUG-57013 Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
| | | * Windows QPA: Fix compilation with QT_NO_OPENGLOlivier Goffart2017-02-141-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Compilation error introduced in 7780ee9e5f20f80ab9e053058d0b6d92586cf876 Change-Id: Ia770ca207cdd25bb15c74d681ece391a844791a7 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * | | Windows QPA: Call QWSI::flushWindowSystemEvents() from WM_PAINT for full ↵v5.9.0-alpha1Friedemann Kleint2017-02-171-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | update only It was introduced by 071914232189735ae6475d44d07f11f90b4729a1 (macOS QML fix) for apparently historical reasons and has been found to cause various problems: - Flicker when using QGLWidget in a QSplitter - (obscure) crashes due to flushing out input events in setVisible(). Task-number: QTBUG-38327 Task-number: QTBUG-39842 Change-Id: I18081da5f4645271774a51f1d6a88e778adbd6ac Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * | | macOS: Move NSWindow creation properties into createNSWindow()Tor Arne Vestbø2017-02-161-56/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allows the block in recreateWindowIfNeeded() that calls createNSWindow() to focus on how to (re)parent windows/views, while createNSWindow() takes care of how to set up the window. Dynamic properties that may change later on are handled in e.g. setWindowFlags(). Change-Id: Ice0e44d004bd2608b2b54e6dde0f404a1e07dc10 Reviewed-by: Mike Krus <mike.krus@kdab.com>
| * | | Use static initialization for QBasicAtomicsMarc Mutz2017-02-161-1/+1
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A default-constructed static QBasicAtomicInt at function scope will be dynamically initialized. It will still be zero-initialized, but at least GCC adds guard variables for such objects. When using aggregate initialization, the guard disappears. Amends 04d6495bf773a6bb0d4fa6980df22d3b81a605b0. Change-Id: Id9335cffdd43094cafb231fdde2523d013abe1d6 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * | Resize the window when the screen's dpi changesOlivier Goffart2017-02-164-3/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | That's what the MSDN documentation say one should do in the handler for WM_DPICHANGED [ChangeLog][QtGui][Windows] Windows are now automatically resized when they are moved on a screen to adapt to the new pixel ratio. Task-number: QTBUG-55510 Task-number: QTBUG-48242 Change-Id: I7688f12165f76585d75686e2e94b0fc562627be2 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>