summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/offscreen
Commit message (Collapse)AuthorAgeFilesLines
* Avoid crashing in offscreen with X11 builtin but not availableAllan Sandfeld Jensen2020-09-091-2/+4
| | | | | | | Pick-to: 5.15 Change-Id: Id385bc750f1cc6dfc2ad7e0248dbc56fa5b6e4d2 Reviewed-by: Michal Klocek <michal.klocek@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Get rid of hasPendingEvents() and flush()Lars Knoll2020-09-061-13/+0
| | | | | | | They are unused. Change-Id: I77383f2be45551401ed9c2f88285511134cc8b0d Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Fix build with mingw gcc 9 and -Wsuggest-overrideKai Koehne2020-08-101-3/+3
| | | | | Change-Id: I780b0761a7f6b19022116b738efa7aca1378b715 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Move glxconvenience into QtGuiFriedemann Kleint2020-07-104-6/+1
| | | | | | | | | OpenGL is not quite as dead as initially assumed. Task-number: QTBUG-83255 Change-Id: I953040149812a5258caad5fe6bac0835e1982dd0 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Move qglxconvenience to QtOpenGLFriedemann Kleint2020-07-084-4/+4
| | | | | | Task-number: QTBUG-83255 Change-Id: I7640caf8afbae0a7310a264f333bb3a6cfa3c6ed Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Add ; to Q_UNUSEDLars Schmertmann2020-07-071-1/+1
| | | | | | | | This is required to remove the ; from the macro with Qt 6. Task-number: QTBUG-82978 Change-Id: I3f0b6717956ca8fa486bed9817b89dfa19f5e0e1 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Introduce platform API abstraction for QOpenGLContextTor Arne Vestbø2020-07-022-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The API is available by including qopenglcontext.h as usual, but scoped in the QPlatformInterface namespace. The namespace exposes platform specific type-safe interfaces that provide: a) Factory functions for adopting native contexts, e.g. QCocoaGLContext::fromNative(nsContext, shareContext); b) Access to underlying native handles, e.g. openGLContext->platformInterface<QCocoaGLContext>->nativeContext() c) Platform specific functionality, e.g. static QWGLContext::openGLModuleHandle() openGLContext->platformInterface<QEGLContext>->doSomething(); The platform interfaces live close to the classes they extend, removing the need for complex indirection and plumbing, and avoids kitchen-sink modules and APIs such as the extras modules, QPlatformFunctions, or QPlatformNativeInterface. In the case of QOpenGLContext these platform APIs are backed by the platform plugin, so dynamic_cast is used to ensure the platform plugin supports the requested interface, but this is and implementation detail. The interface APIs are agnostic to where the implementation lives, while still being available to the user as part of the APIs they extend/augment. The documentation will be restored when the dust settles. Task-number: QTBUG-80233 Change-Id: Iac612403383991c4b24064332542a6e4bcbb3293 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Move Unix font databases into QtGuiFriedemann Kleint2020-06-154-15/+3
| | | | | | Task-number: QTBUG-83255 Change-Id: Id85a1e0f3de371951783fe97485158c4a02e1f15 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Move windows font databases into QtGuiFriedemann Kleint2020-06-113-3/+3
| | | | | | | | | | Requires adapting a few config checks since cmake currently does not detect directwrite. Task-number: QTBUG-83255 Task-number: QTBUG-83931 Change-Id: I521f1924f701260b41dccbcecf87b19f08df5ccc Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Move the UNIX event dispatchers into QtGuiFriedemann Kleint2020-06-104-14/+3
| | | | | | Task-number: QTBUG-83255 Change-Id: I7d32eb1ec01784c9ed6bf5fc4913ffc5b3a34a49 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Move the Windows Event Dispatcher into QtGuiFriedemann Kleint2020-06-093-6/+14
| | | | | | Task-number: QTBUG-83255 Change-Id: Ida86f27d7f52b9be48fbea909979320866ff8dae Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Remove winrtOliver Wolff2020-06-061-8/+0
| | | | | | | | | Macros and the await helper function from qfunctions_winrt(_p).h are needed in other Qt modules which use UWP APIs on desktop windows. Task-number: QTBUG-84434 Change-Id: Ice09c11436ad151c17bdccd2c7defadd08c13925 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* CMake: Regenerate src/pluginsAlexandru Croitor2020-05-292-4/+12
| | | | | Change-Id: Icceceeb42023e7fa5edf320bb21f03d11bd357b7 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Move CoreText font engine/database to QtGuiTor Arne Vestbø2020-05-272-2/+4
| | | | | | Task-number: QTBUG-83255 Change-Id: Id34ed1759fdebbb1d09e51009f0370736002167c Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Move FreeType font engine/database to QtGuiTor Arne Vestbø2020-05-271-1/+1
| | | | | | Task-number: QTBUG-83255 Change-Id: If6be7057d6bd25b34acd99e18658744161985ed0 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* CMake: Regenerate projects to match updated plugin APILeander Beernaert2020-04-272-2/+2
| | | | | Change-Id: Iafe0a953e74d7f36ec48fa075b3725dd6466c5e3 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Regenerate projects to correctly handle private dependenciesAlexandru Croitor2020-02-052-18/+8
| | | | | | | Change-Id: I7d84bc9962bff5c89a90367ae704974c6ce2ec89 Reviewed-by: Qt CMake Build Bot Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Regenerate plugin projects to get new target namesAlexandru Croitor2020-01-272-8/+8
| | | | | | | | | And also to get the original output names (qmake's "TARGET"), so that the plugin file names are as they were in Qt 5. Change-Id: I96a060d1a81693652847857372bec334728cb549 Reviewed-by: Qt CMake Build Bot Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Merge remote-tracking branch 'origin/dev' into merge-devLeander Beernaert2020-01-245-14/+14
|\ | | | | | | Change-Id: I31b761cfd5ea01373c60d02a5da8c33398d34739
| * Tidy nullptr usageAllan Sandfeld Jensen2019-12-065-14/+14
| | | | | | | | | | | | | | | | | | | | | | Move away from using 0 as pointer literal. Done using clang-tidy. This is not complete as run-clang-tidy can't handle all of qtbase in one go. Change-Id: I1076a21f32aac0dab078af6f175f7508145eece0 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Regenerate src/*Alexandru Croitor2019-11-142-4/+4
| | | | | | | | | | | | Change-Id: I0314b4faa1e4860e86198eea4189987e527dfec2 Reviewed-by: Qt CMake Build Bot Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Regenerate everything under ./srcAlexandru Croitor2019-11-122-2/+0
| | | | | | | | | | | | | | Change-Id: Ibdbdc17f8c2ee41356f490dd839a47e1bcf4c586 Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Qt CMake Build Bot
* | Merge remote-tracking branch 'origin/wip/qt6' into wip/cmakeAlexandru Croitor2019-10-111-1/+2
|\| | | | | | | Change-Id: I3a1d7673c3c20019ab12a2ea0a60f1619920a34c
| * Update QPA mouse event handling in offscreen and VNC pluginsShawn Rutledge2019-08-301-1/+2
| | | | | | | | | | | | | | | | | | This is needed after a37785ec7638e7485112b87dd7e767881fecc114 deprecated the versions of QWindowSystemInterface::handleMouseEvent() that were in use here. Change-Id: Ib704ae2be905436f5a4a80ae6686b5fe3972d34c Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | Regenerate platforms plugins part 5Alexandru Croitor2019-10-082-2/+46
| | | | | | | | | | | | Change-Id: I6d480372eb62ffff46ce3102d9adf3b4a6da1b7d Reviewed-by: Qt CMake Build Bot Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | cmake: implement default qpa plugin behavior for static buildsJean-Michaël Celerier2019-07-051-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is done by adding a DEFAULT_IF argument to add_qt_plugin, which accepts if-evaluated expressions. e.g. add_qt_plugin(myplugin DEFAULT_IF ${foo} STREQUAL ${bar} ... ) so that this mechanism can be reused later if necessary. Change-Id: I7eba9adaaa28e55a4f0f94cf206e868b990027e6 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Re-generate the CMakeLists.txt and add the prev filesSimon Hausmann2019-06-051-1/+3
| | | | | | | | | | Change-Id: I93ea196bdd5807bccebf81e72332966288a35a4f Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Revert "CMake: better GLX detection"Simon Hausmann2019-05-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes the build when GLX is available. In the .pro files as well as the .cpp files the condition of enabling GLX support is based on the Qt feature system (xlib && opengl && !opengles2). The change to replace the !opengles check with a cmake target check is incomplete for two reasons: (1) the target check would _never_ succeed because there was no find_package() call in scope that would create the target. (2) when the target is found, the .cpp code that checks for the features would fail, because that continues to use the !opengles2 condition -- the preprocessor can't know about cmake targets. So this reverts commit 1361cf5d50e0baa901c06cab7f87785a03c57cb7 and instead calls for an investigation why in Ville's machine desktop gl was disabled. Change-Id: I9a7957224f81b800282c260dee8abcd421fdbc9e Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
* | Fix build by re-generating CMakeLists.txt from offscreen.proSimon Hausmann2019-05-021-5/+1
| | | | | | | | | | | | | | | | We don't need the _dummy.cpp files in the build anymore that don't exist anyway. Change-Id: I70e12dd39009c86779f3863c945e835b76cb24f6 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | CMake: better GLX detectionVille Voutilainen2019-05-021-2/+6
| | | | | | | | | | Change-Id: I71dfbb331cb02a3249b0c3c65f2a9bd9ce68c739 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* | Merge commit 'dev' into 'wip/cmake-merge'Tobias Hunger2019-04-167-89/+127
|\| | | | | | | Change-Id: I176c40d031be26a1dd1cf08843e448a660598783
| * Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-03-201-1/+2
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gui/kernel/qplatformintegration.cpp src/gui/kernel/qplatformintegration.h src/plugins/platforms/wasm/qwasmintegration.cpp src/plugins/platforms/xcb/qxcbconnection_screens.cpp Change-Id: I15063d42e9a1e226d9d2d2d372f75141b84c5c1b
| | * Move screen maintenance functions from QPlatformIntegration to QWSITor Arne Vestbø2019-03-191-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QWindowSystemInterface is the de facto API for any plumbing going from the platform plugin to QtGui. Having the functions as protected members of QPlatformIntegration was idiosyncratic, and resulted in awkward workarounds to be able to call the functions from outside of the QPlatformIntegration subclass. The functions in QPlatformIntegration have been left in, but deprecated so that platform plugins outside of qtbase have a chance to move over to the new QWSI API before they are removed. Change-Id: I327fec460db6b0faaf0ae2a151c20aa30dbe7182 Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
| * | offscreen: remove false conditionGatis Paeglis2019-02-212-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This plugin does not use any XCB libs. This patch amends 94a4f06fb88ec6c7fa5e31dfd28af4e9b3cdbdd8 and 744be250bf8dbd3e5065662f55a4655c14aa512c Change-Id: I33e2647ace3d9f32a420551b3b198e33a182a06f Reviewed-by: Michal Klocek <michal.klocek@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * | Add run-time qpa offscreen glx support selectionMichal Klocek2019-02-184-53/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce QT_QPA_OFFSCREEN_NO_GLX to run offscreen qpa without glx even if compiled with x11 support. Task-number: QTBUG-63346 Change-Id: I647bf5df27f095c3dd27a90415cc9c445df93fd1 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| * | Fix handling of glxconfig and glxcontext in offscreen pluginMichal Klocek2019-02-132-9/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | Return glxconfig and glxcontext, it is needed by share context in chromium. Task-number: QTBUG-63346 Change-Id: Ief15bf7170af9cf61a71453043a2629a4bcbcdc2 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| * | Fix incorrect surface type in offscreen pluginMichal Klocek2019-02-131-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | In case we use glx backend set correct surface. Task-number: QTBUG-63346 Change-Id: I5827bf5b8e4ed60b933c25ce234fdd4a3dd20c88 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| * | Add native handle for context in offscreen pluginMichal Klocek2019-02-131-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Offscreen plugin can be compiled with x11 support. In case of glx add missing native handle for context. This fixes crashes of running web engine with offscreenplugin (with glx support). Task-number: QTBUG-63346 Change-Id: Ia717ad2551536fbfdfb6633e506704a3ebe42a2b Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| * | Add platform native interface to offscreen pluginMichal Klocek2019-02-123-25/+62
| |/ | | | | | | | | | | | | | | | | | | | | Adds trival support for querying "display" and "glxconfig" in case offscreen plugin is compiled with xlib support. This is required so this plugin could work with webengine. Taks-number: QTBUG-63346 Change-Id: Ie0f29385cb44429ddf383ad459e0c9f3263ccffe Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| * Fix building offscreen QPA with Qt XCBAllan Sandfeld Jensen2019-01-291-1/+1
| | | | | | | | | | | | | | Only builds without XCB or with system XCB Change-Id: I1161c5b78c92308ac63c2e2907b9a5d8477ab2f0 Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
| * Offscreen QPA: use a CoreText font database on macOSR.J.V. Bertin2018-12-111-1/+4
| | | | | | | | | | | | | | | | | | | | | | Without this applications using the Offscreen QPA don't have access to any fonts on macOS and thus cannot render text correctly. Task-number: QTBUG-72335 Change-Id: I8e58c066365d0231d0993ad3b480d957a32f7f7b Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | CMake: Re-generate plugins/platforms/offscreenTobias Hunger2019-03-291-11/+10
| | | | | | | | | | Change-Id: Ie26bed794881835278f3874e318d00affad8aa05 Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
* | cmake: build the offscreen platform plugin on macOSLiang Qi2019-02-111-1/+1
| | | | | | | | | | | | | | This amends beace29a573df43b242d611f94bbd23af4232797. Change-Id: I38fef70687f36d3b2ab4ff9cd001dc35cc79942d Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
* | cmake: build the offscreen platform pluginAlbert Astals Cid2019-02-111-0/+45
|/ | | | | Change-Id: I6ccd430a2779fb889329cd411221c29b2601acfb Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Make sure we can build with -no-feature-draganddropJoerg Bornemann2018-05-293-5/+7
| | | | | | | | | We move QInternalMimeData to a separate file, because this class is used, even if draganddrop is disabled. From now on, include qinternalmimedata_p.h instead of qdnd_p.h for QInternalMimeData. Change-Id: I594e08e2e90d574dc445119091686b4b69e4731b Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* Handle unset $DISPLAY variable when using the offscreen platformJan Murawski2018-02-161-2/+6
| | | | | | | | | | Skip the initialization of a QOffscreenX11GLXContext and thereby fix a null pointer dereference if the environment variable $DISPLAY is unset or contains invalid information. Task-number: QTBUG-66423 Change-Id: Ideea510d1c63a4f6700839955d833cd10e3b0bbe Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* QOffscreenIntegration: add missing overrideAnton Kudryavtsev2018-01-241-2/+2
| | | | | Change-Id: I8165b44e28bd8da637e75e5b11bc429cdf2deb02 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Merge remote-tracking branch 'origin/5.10' into devLiang Qi2017-11-232-0/+35
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/network/access/qhttp2protocolhandler_p.h src/network/kernel/kernel.pri src/network/ssl/qsslkey_qt.cpp src/plugins/platforms/cocoa/qcocoascreen.mm src/plugins/platforms/windows/accessible/iaccessible2.cpp src/plugins/platforms/windows/accessible/iaccessible2.h src/plugins/platforms/windows/accessible/qwindowsaccessibility.cpp src/plugins/platforms/windows/accessible/qwindowsmsaaaccessible.cpp src/plugins/platforms/windows/accessible/qwindowsmsaaaccessible.h src/widgets/widgets/qmenu_p.h tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp tests/auto/other/qaccessibility/tst_qaccessibility.cpp tests/auto/testlib/selftests/expected_cmptest.lightxml tests/auto/testlib/selftests/expected_cmptest.teamcity tests/auto/testlib/selftests/expected_cmptest.txt tests/auto/testlib/selftests/expected_cmptest.xml Done-with: Edward Welbourne <edward.welbourne@qt.io> Change-Id: I4217cc7d840cbae3e3dd28574741544469c4c6b9
| * Offscreen QPA: Use fusion style alwaysFriedemann Kleint2017-11-142-0/+35
| | | | | | | | | | | | | | | | | | | | | | Prevent it from crashing when naively using it for example on Windows, which defaults to the Windows Vista style operating on native window handles. Change-Id: I7b1dfb00a6b6860d0f0a134653ce1142b45959ec Reviewed-by: Sami Nurmenniemi <sami.nurmenniemi@qt.io> Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io> Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* | Replace Q_DECL_OVERRIDE with override where possibleKevin Funk2017-09-196-38/+38
|/ | | | | | | | | | | | | | | | Remaining uses of Q_DECL_OVERRIDE are in: src/corelib/global/qcompilerdetection.h src/corelib/global/qglobal.cpp doc/global/qt-cpp-defines.qdocconf (definition and documentation of Q_DECL_OVERRIDE) tests/manual/qcursor/qcursorhighdpi/main.cpp (a test executable compilable both under Qt4 and Qt5) Change-Id: Ib9b05d829add69e98a86238274b6a1fcb19b49ba Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>