summaryrefslogtreecommitdiffstats
path: root/src/platformsupport
Commit message (Collapse)AuthorAgeFilesLines
* DRM/KMS config: add support for specifying the primary screenLaszlo Agocs2017-01-182-7/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Not having a way to say that a given output should be registered as the primary screen (meaning it comes first in the QGuiApplication::screens() list, emits primaryScreenChanged() signal etc.) can be a problem for some systems. The order of the outputs array in the JSON configuration file is not relevant in this respect since screens are registered either in the original DRM connector order, or, when the virtual desktop layout is specified via virtualIndex, in the order specified by virtualIndex. The primary screen status is independent from this. Therefore, add a new, optional boolean property: primary. For example, the following forces the QScreen corresponding to the VGA output to be the primary screen on the Renesas R-Car H2 board, even though by default it is the HDMI one that happens to be reported first by the system. { "device": "/dev/dri/card0", "outputs": [ { "name": "HDMI1", "mode": "1280x720" }, { "name": "VGA1", "mode": "1280x720", "primary": true }, { "name": "LVDS1", "mode": "off" } ] } In addition, improve the quality of the logging output. [ChangeLog][Platform Specific Changes] Added support for specifying the primary screen in the JSON config file in QT_QPA_EGLFS_KMS_CONFIG when running on DRM/KMS with eglfs. Task-number: QTBUG-57980 Change-Id: Iba490800dee3b7162c68c4d40b0822f3f6d81b69 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* QOpenGLCompositorWindow virtual destructorPier Luigi Fiorini2017-01-091-0/+1
| | | | | | | | QOpenGLCompositorWindow had virtual methods and accessible non-virtual destructor. Change-Id: I50e5bc30e0fce9a39db83ae395fcab239b251c59 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* A few fixes to evdev touch filteringGunnar Sletta2017-01-091-3/+10
| | | | | | | | - Clamp the position to the bounding rect of the device - Send TouchRelease only once Change-Id: I8776079dbc886612e6adfb1fef5ec7cf14a8af3b Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Q_ENUMS -> Q_ENUM and Q_FLAGS -> Q_FLAGAlbert Astals Cid2017-01-021-1/+1
| | | | | Change-Id: I3cdc7338354da40ab20bdaeb9d5745264ea27228 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* linuxfb: generate expose eventsLaszlo Agocs2016-12-251-3/+18
| | | | | | Task-number: QTBUG-57747 Change-Id: I7e6a26b447cb929842e69e85fb91882c04ae10d0 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* Merge remote-tracking branch 'origin/5.8' into devLiang Qi2016-12-161-2/+2
|\ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure configure.pri examples/widgets/painting/fontsampler/mainwindow.cpp examples/widgets/painting/fontsampler/mainwindow.h mkspecs/features/moc.prf src/corelib/global/qglobal.h src/gui/text/qtextdocument.cpp Change-Id: Ica65512e00871695190a14ccea5c275b0165f787
| * Merge remote-tracking branch 'origin/5.8.0' into 5.8Liang Qi2016-12-161-2/+2
| |\ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: doc/global/qt-cpp-defines.qdocconf src/plugins/platforms/android/qandroidplatformopenglcontext.h src/plugins/platforms/android/qandroidplatformtheme.h Change-Id: I13d51cc66f708138ff4d667ceea7d515992e58a4
| | * REG: Fix missing glyphs with DirectWrite and stretch == QFont::AnyStretchEskil Abrahamsen Blomfeldt2016-12-091-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A stretch equal to 0 is since 5.8 defined as "accept the stretch of the font", and this needs to be accounted for in the font engines. Task-number: QTBUG-57491 Change-Id: Idabbe44677c4b92cbd8ad8278b054de53e9cc7f9 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Alessandro Portale <alessandro.portale@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | | Windows Font DB: Add missing libraryGabriel de Dietrich2016-12-151-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | This amends 59b80d606eb5bf90c41e6d for MinGW. Change-Id: I37cd9a0902350e57d4f0961f88734d3b72cb22fa Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | | Windows Font DB: Add missing libraryGabriel de Dietrich2016-12-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This solves link errors with font support in the minimal QPA plugin. This is similar to 449204f8c0d6679ae0e58 in the Cocoa font DB. Change-Id: Ia0268b5c4d3c69125c909e458d15ea5224d2630a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | | Add support for filtering in the qevdevtouch pluginGunnar Sletta2016-12-133-37/+412
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds a Kalman filter to the evdev touch plugin which samples velocity and position in x and y direction and uses this to emit touch points in sync with the application's repaint rate. The filter also allows for basic prediction based on current position and velocity estimates. Filtering is opt-in, and can be enabled by passing for instance > app -plugin evdevtouch:/dev/touchscreen:filtered:prediction=16 The logic relies on a stable QWindow::requestUpdate() and will work best in combination with QtQuick and blocking swap buffers (or equivalent). QScreen::refreshRate() will also have to be reasonably accurate. [ChangeLog][Platform Specific Changes] The evdevtouch plugin now has the option to apply filtering and prediction. Enabled by passing "filtered" as an argument. Prediction can be specified by passing "prediction=X" as an argument, where X is in milliseconds. Change-Id: I682db4386fe3a7cef8b4a08ea0d16c1491efb873 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | | Merge remote-tracking branch 'origin/5.8' into devLiang Qi2016-12-1316-218/+293
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure qmake/Makefile.unix.macos qmake/Makefile.unix.win32 qmake/generators/win32/msvc_vcproj.cpp src/3rdparty/pcre/qt_attribution.json src/corelib/io/qsettings.cpp src/corelib/kernel/qdeadlinetimer.cpp src/platformsupport/kmsconvenience/qkmsdevice.cpp src/platformsupport/kmsconvenience/qkmsdevice_p.h src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmscreen.cpp src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_egldevice/qeglfskmsegldeviceintegration.cpp src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_egldevice/qeglfskmsegldevicescreen.cpp src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsdevice.cpp src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsscreen.h tests/manual/qstorageinfo/printvolumes.cpp tools/configure/configureapp.cpp Change-Id: Ibaabcc8e965c44926f9fb018466e8b132b8df49e
| * | UIKit: Improve handling of private system fonts / fallback fontsTor Arne Vestbø2016-12-082-20/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 2bc7a40048 taught the CoreText font database to populate the families lazily, and in the process added a guard to ensure that we didn't populate internal fonts (prefixed with a '.'), as these fonts would then show up in font selection dialogs. Commit 909d3f5c7 then added support for private fonts, by making it possible to filter out any private fonts from font selection daialogs. But the guard was not removed, so we were still not populating these fonts. This guard has been removed, and the filtering function has been updated to include the conditions of the guard. Next, commit e5e93345c5 used [UIFont fontNamesForFamilyName:] to verify that each family that we registered with the font database would also have matching fonts when finally populated. This is not the right approach, as [UIFont fontNamesForFamilyName:] does not handle internal fonts. Instead we trust what CTFontDescriptorCreateMatchingFontDescriptors() gives us, but make sure to register the resulting font descriptors with the original/originating font family, instead of the one we pull out of the font descriptor. Finally, as of iOS 10, we can use CTFontManagerCopyAvailableFontFamilyNames instead of [UIFont familyNames], which gives us all of the internal font families like on macOS, instead of just the user-visible families. For earlier iOS versions we manually add '.PhoneFallback', as we know it will be available even if not listed in [UIFont familyNames]. The end result is that we register and populate families like '.PhoneFallback', which is critical to supporting more esoteric writing systems. The check in tst_QFont that styles for a given family is not empty has been removed, as we can't guarantee that on all platforms, which is also documented for QFontDatabase::styles(). Task-number: QTBUG-45746 Task-number: QTBUG-50624 Change-Id: I04674dcb2bb36b4cdf5646d540c35727ff3daaad Reviewed-by: Jake Petroules <jake.petroules@qt.io>
| * | Add EGL_STREAM_FIFO_LENGTH to the helper headerLaszlo Agocs2016-12-031-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Parent patch introducing usage of this attribute did not add it to the EGLStream support header. This is likely not fatal, but follow the practice of defining the constants ourselves, in case they are not present. Change-Id: Ib16f9809f9c6a212570c49472bb840183232e68a Reviewed-by: Pasi Petäjäjärvi <pasi.petajajarvi@qt.io>
| * | dbustray: Handle StatusNotifierWatcher appearing and disappearingDmitry Shachnev2016-12-024-3/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the StatusNotifierWatcher disappears and then appears again, we need to register our tray icon again with it. To do this, split the “register with watcher” part into a separate method, and call it when m_dbusWatcher emits its serviceRegistered() signal. Change-Id: Id5fc8ac81b5038a61b678514dabd3eb9c8f1c106 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| * | winrt: Add missing overrideAlexander Volkov2016-11-302-12/+12
| | | | | | | | | | | | | | | Change-Id: I2f257756bc606f8eb5cad2afe67b90810a2e394c Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
| * | winrt: Replace Q_DECL_OVERRIDE by overrideAlexander Volkov2016-11-301-7/+7
| |/ | | | | | | | | | | | | We can use 'override' keyword directly since Qt 5.7. Change-Id: I31127478a0a96798a4e018d9996842204e307552 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
| * Don't set platform specific QT_NO_FOO defines in qglobal.hLars Knoll2016-11-241-1/+2
| | | | | | | | | | | | | | | | | | They should be enabled/disabled through the configuration system. Remove some unused defines, and move one define from qglobal.h to a proper feature definition in Qt Gui. Change-Id: Ie8d5bff9712ba745af60b42ceca3f0440bed2706 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * Register fonts with preferred names on WindowsAllan Sandfeld Jensen2016-11-234-174/+189
| | | | | | | | | | | | | | | | | | | | | | | | | | Looks up the canonical names of enumerated fonts and register them under their preferred names if present. Also changes the logic handling registration of english aliases, so it is always done, even if it might in rare cases cause a double registration since that is safe. Task-number: QTBUG-53458 Change-Id: Ia010774b26072192b55697b717cc37442c852881 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* | CoreText Font DB: Link to AppKit instead of ApplicationServicesGabriel de Dietrich2016-12-121-3/+2
| | | | | | | | | | | | | | This solves link errors with font support in the minimal QPA plugin. Change-Id: Id05128e1d752b974621d7035f1e886e75aa004f0 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* | Platform support/Windows classes: Use member initializationFriedemann Kleint2016-11-246-41/+22
| | | | | | | | | | | | | | | | Use C++ 11 member initialization in value-type structs. Task-number: QTBUG-51673 Change-Id: Ic45ab21c738ec7b7d526e30a1de2e19206da89ed Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | linuxfb: add experimental support for DRM dumb buffersLaszlo Agocs2016-11-242-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a QFbScreen implementation that uses DRM dumb buffers and page flipping, thus implementing a vsynced, double (triple) buffered plain software platform plugin. Besides better supporting systems that by now only do fbdev via (possibly buggy) emulation, this can also be an enabler for implementing certain types of 2D accelerated compositors e.g. for Wayland. Enable with QT_QPA_FB_DRM=1. Right now there is no good way to autodetect the support for dumb buffers early enough so the default is always the traditional fbdev path. Long-term this will also enable proper multi-display support like with eglfs' DRM backends. Multiple QScreens are not yet reported currently due to the single-screen limitations of fbconvenience. The generic DRM code is shared with eglfs, meaning configuration happens via the JSON file specified in QT_QPA_(EGLFS_)KMS_CONFIG. This allows changing the screen resolution, disabling outputs, etc. [ChangeLog][Platform Specific Changes][linuxfb] Added experimental support for DRM dumb buffers. Enable by setting the environment variable QT_QPA_FB_DRM to 1. Task-number: QTBUG-56306 Change-Id: I4bdcf16fff67412183220dffa0c4ea235c5cad3d Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | Add aliases for env vars common to eglfs and linuxfbLaszlo Agocs2016-11-241-6/+13
| | | | | | | | | | | | | | | | | | | | Now that the generic DRM code is shared between multiple platform plugins, the QT_QPA_EGLFS prefix is not that ideal anymore. Introduce aliases without EGLFS. Task-number: QTBUG-56306 Change-Id: I0cf374f8c8d12aa0eab2f026ffa9201b3af35ce2 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | Merge "Merge remote-tracking branch 'origin/5.8' into dev" into refs/staging/devLiang Qi2016-11-187-30/+627
|\ \
| * | Merge remote-tracking branch 'origin/5.8' into devLiang Qi2016-11-177-30/+627
| |\| | | | | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/features/mac/default_post.prf mkspecs/features/uikit/default_post.prf Change-Id: I2a6f783451f2ac9eb4c1a050f605435d2dacf218
| | * Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-11-162-27/+27
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/common/linux-android.conf src/gui/opengl/qopengl.h src/network/socket/qnativesocketengine_winrt.cpp src/network/socket/qnativesocketengine_winrt_p.h src/plugins/platforms/cocoa/qcocoawindow.mm src/plugins/platforms/eglfs/api/qeglfsintegration.cpp src/plugins/platforms/linuxfb/qlinuxfbintegration.cpp sync.profile Change-Id: If70aaf2c49df91157b864cf0d7d9513546c9bec4
| | | * Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-11-151-26/+26
| | | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure src/plugins/platforms/eglfs/qeglfsintegration.cpp src/plugins/platforms/linuxfb/qlinuxfbintegration.cpp Change-Id: Id2da7c775439adb62646d5b741ee7c638042b34b
| | | | * QFontconfigDatabase: remove 200 unneeded relocationsMarc Mutz2016-11-081-26/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Same change as in QColor (d38f86e50b01c6dd60f5a97355031e08d6a47d18). No text and data reduction numbers (ubsan build). Change-Id: I7280a511e785c9442a3a6a1ed55e10011ce0a84e Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| | | * | Fix EGL break on Debian X32Laszlo Agocs2016-11-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change to QT_POINTER_SIZE instead of Q_PROCESSOR_WORDSIZE. The latter is 8 due to targeting 64-bit, but pointers are 32-bit still in such builds. For the condition in question it is the pointer size that matters. Task-number: QTBUG-56686 Change-Id: I96c203cae91ceb8404606de605c4fdb1a02a9d5f Reviewed-by: Dmitry Shachnev <mitya57@gmail.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * | | Improve use of QHash to minimize double hashingAllan Sandfeld Jensen2016-11-101-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Avoid looking up by key twice in a row in various locations, but instead using iterators and index lookup. Change-Id: I61a079115199ab9c041ad3a26d36b45ee3f775e0 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * | | Move WinRT font database to QtFontDatabaseSupportGabriel de Dietrich2016-11-094-0/+596
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Similar to what we recently did with the Windows font databases. The goal, again, is to add platform font database support for the minimal QPA plugin. Change-Id: Ide5f4ec452c920f169cc31c617cbcf19d8d1764d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
| | * | | Windows: Don't claim bitmap fonts support all standard sizesEskil Abrahamsen Blomfeldt2016-11-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We were throwing away important information by claiming that all fonts support all the standard sizes in QFontDatabase on Windows This caused the font dialog to list unsupported sizes for bitmap fonts, unlike the native font dialog. We would also claim to support creating bitmap fonts at unsupported sizes, which would lead to 1. QFontInfo(font).pointSize() would return the requested size, not the actual rendered size. 2. Bitmap fonts created at 64 pixels and higher would be invisible. On Mac, there are no system bitmap fonts, and the use is not very common, but installing some bitmap fonts on the system, it does seem to ignore the sizes supported in the font and just displays the standard list instead, so we keep the current behavior there. [ChangeLog][QtGui][Text] Fixed list of supported sizes for bitmap fonts on Windows. Task-number: QTBUG-56672 Change-Id: Idbec2db9eb3381ab5ddf6259bd2befcba9b93564 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | | | Enable support for OpenVGAndy Nichols2016-11-172-6/+19
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit re-enables support for OpenVG in Qt, but not in the same way as in Qt 4.8. The first part is about adding a test and using the new configure system to enable OpenVG. There is still support code in Qt for setting up EGL to provide a surface and context for rendering with the OpenVG API, this commit enables a path to do so. Normally to get access to an EGLContext from a QWindow you do so via QOpenGLContext, but in setups without OpenGL but with EGL and OpenVG this doesn't make sense (there would be no QOpenGLContext). So the intended way is to use a QWindow to get an EGLSurface, then create an EGLContext directly (without going through QPA). Change-Id: I0f75aadbaa3cd006deb7e6fd12cfbb574870fba4 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | | | Clean up QFbCursorLaszlo Agocs2016-11-162-15/+14
| | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-56306 Change-Id: If0cccbf20d4956c19622651864f42f854247b54b Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | | | Remove dead code from QFbWindow and ScreenLaszlo Agocs2016-11-163-134/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The "rect cache" has been #if 0'd out for ever. Do not waste time on maintaining a vector for nothing. Change the screen image to be a normal member variable. There is no need for extra heap allocations. Task-number: QTBUG-56306 Change-Id: Ib88aa57896bf1a616b8cedbec7490f0a4bf0ba5f Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | | | Move DRM/KMS code from eglfs into kmsconvenienceLaszlo Agocs2016-11-164-0/+795
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The generic DRM code, not involving any GBM or EGLDevice stuff, can now be reused in components outside eglfs, for example linuxfb in order to get support for DRM dumb buffers. Task-number: QTBUG-56306 Change-Id: If7dffdb2415489dbc6470782fa76efcaeccf01c7 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | | | linuxfb: Make first window fullscreen like eglfsLaszlo Agocs2016-11-093-3/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ...unless the legacy behavior is requested via QT_QPA_FB_FORCE_FULLSCREEN=0 or the platform plugin overrides QFbScreen::flags() to return QFbScreen::DontForceFirstWindowToFullScreen. The long pending asymmetry between eglfs and linuxfb is going to end because with the increased focus on the integrated Qt Quick Software backend the expectation for launching apps with -platform linuxfb is to behave in the normal, eglfs style, embedded manner. Forcing every app to handle this manually in QML is silly. Widget applications also benefit since the old non-fullscreen main window approach is pretty much never what is wanted (considering there is no desktop and the content in the background is either garbage or whatever was on the terminal). However, not every fbconvenience-based platform wants this. For example, vnc should remain with the old way where window sizes are not altered. vnc therefore opts out via QFbScreen::flags(). bsdfb follows the linuxfb behavior. [ChangeLog][Important Behavior Changes] The linuxfb and bsdfb platform plugins now follow the behavior of eglfs by making the first window fullscreen. This provides consistency and avoids applications having to make their windows match the screen size manually. The new behavior can be disabled by setting the environment variable QT_QPA_FB_FORCE_FULLSCREEN=0. Task-number: QTBUG-48658 Task-number: QTBUG-56306 Change-Id: I63d917147ce37205e29cbd0c6f37f35c46d4509c Reviewed-by: Louai Al-Khanji <louai.al-khanji@qt.io> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | | Merge remote-tracking branch 'gerrit/5.8' into devTor Arne Vestbø2016-11-052-5/+4
|\| | | | | | | | | | | | | | | Change-Id: Ib31cae9b57f6fb078739c409162bf2987eb430ad
| * | | Windows: Fix high-dpi text renderingEskil Abrahamsen Blomfeldt2016-11-041-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In change ce2ae6ebd8cfebf9edbb0b5653e80de029669548 we added support for hinted rendering to the DirectWrite engine. Previously, we would just use the DirectWrite engine for all text rendering in high-dpi and assume we would get only vertical hinting, but since the default changed, we ended up scaling hinted text and the resulting text layouts were a mess. Task-number: QTBUG-56841 Change-Id: I52101ea264878138de41878d1677c0ef8b522e78 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * | | remove bogus freetype dependency stuffOswald Buddenhagen2016-11-011-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fixes rebase FAIL in f9a80e06a. the ft dependency itself is pulled in via the basic font database, which is included if ft is used. Change-Id: I4e9c0c44bd0360b702953e51cde4c5d526eff499 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | | | Don't disable CoreText on watchOS Simulator (take 2)Jake Petroules2016-11-031-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Follows up f607233c7ce899c27034eca01c23b0da2895bf93 (which originally introduced this workaround) and 397f345a6a2c69c8f15f5d2f21989c303aca586e (which refactored simulator_and_device not to use exclusive builds). Change-Id: I97f0edefb1bc97167cfa83e4ac0f7581713fb092 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | | | Merge remote-tracking branch 'origin/5.8' into devLiang Qi2016-11-0270-249/+6049
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Blacklist tst_QMenuBar::taskQTBUG46812_doNotLeaveMenubarHighlighted() on macOS. Conflicts: mkspecs/features/mac/default_post.prf mkspecs/features/mac/sdk.prf mkspecs/features/uikit/default_post.prf mkspecs/features/uikit/sdk.prf src/angle/src/libEGL/libEGL.pro src/platformsupport/fontdatabases/fontdatabases.pro src/platformsupport/platformsupport.pro src/plugins/platforms/cocoa/qnswindowdelegate.mm src/plugins/platforms/direct2d/qwindowsdirect2dintegration.cpp src/plugins/platforms/ios/ios.pro src/plugins/platforms/ios/kernel.pro tests/auto/widgets/widgets/qmenubar/BLACKLIST tests/auto/widgets/widgets/qmenubar/tst_qmenubar.cpp Task-number: QTBUG-56853 Change-Id: If58785210feee3550892fc7768cce90e75a2416c
| * | | Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-11-012-3/+7
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: config.tests/win/msvc_version.cpp configure.pri mkspecs/macx-ios-clang/features/default_post.prf mkspecs/macx-ios-clang/features/resolve_config.prf mkspecs/features/uikit/default_post.prf mkspecs/features/uikit/resolve_config.prf src/corelib/io/qsettings_mac.cpp src/corelib/json/qjsondocument.cpp src/plugins/platforms/cocoa/qcocoawindow.h src/plugins/platforms/cocoa/qcocoawindow.mm src/plugins/platforms/cocoa/qnswindowdelegate.h src/plugins/platforms/cocoa/qnswindowdelegate.mm src/plugins/platforms/ios/ios.pro src/plugins/platforms/ios/kernel.pro src/plugins/platforms/ios/qiosintegration.h src/plugins/platforms/minimalegl/qminimaleglintegration.cpp tests/auto/gui/painting/qpainter/tst_qpainter.cpp tools/configure/environment.cpp Change-Id: I654845e54e40f5951fb78aab349ca667e9f27843
| | * | xcb: Avoid crash when requesting non-supported stereo formatsLaszlo Agocs2016-10-281-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduced in the 5.7 branch by 5f39a0ef8d037ed8d1fa19d5514308ed4a2ca161. Add also a warning in the GLX backend instead of just dereferencing the null pointer. Task-number: QTBUG-55291 Change-Id: I1f2930768b39a04ee443a68d0ac7dc9ecf26cb9c Reviewed-by: Louai Al-Khanji <louai.al-khanji@qt.io>
| | * | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-10-271-3/+2
| | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/platforms/ios/ios.pro src/plugins/platforms/ios/kernel.pro src/plugins/platforms/ios/optional/nsphotolibrarysupport/qiosfileengineassetslibrary.h src/plugins/platforms/ios/optional/nsphotolibrarysupport/qiosfileengineassetslibrary.mm src/plugins/platforms/ios/optional/nsphotolibrarysupport/qiosfileenginefactory.h src/plugins/platforms/ios/qiosintegration.h src/widgets/widgets/qcombobox.cpp tests/auto/widgets/dialogs/qwizard/tst_qwizard.cpp tests/auto/widgets/graphicsview/qgraphicsitem/tst_qgraphicsitem.cpp Change-Id: Ibaee7cbbba99e7c4b1d8926e55932ffa6030ce45
| | | * qmacmime: convert UTF-16 using QTextCodecRichard Moe Gustavsen2016-10-261-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current implementation of QMacPasteboardMimeUnicodeText didn't contain any logic to handle unicode text with a byte order mark (BOM). According to the docs (*), 'public.utf16-plain-text' can have an optional BOM. Because of that, Qt would fail encoding UTF-16 text from the pasteboard if it had a BOM. Additionally, perhaps because of a bug in iOS 10, UTF-16 text placed on the pasteboard by Qt ends up being encoded wrong by native apps, unless the text has a BOM. Rather than hard-coding UTF-16 encoding/decoding in qmacmime, we now leave it to QTextCodec. QTextCodec will add a BOM by default, and can handle decoding of UTF-16 both with, and without, a BOM. *: https://developer.apple.com/library/content/documentation/Miscellaneous/Reference/UTIRef/Articles/System-DeclaredUniformTypeIdentifiers.html Task-number: QTBUG-56229 Change-Id: I3a08deb0262350c67e5622cf23eb3c3a4907ec39 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
| * | | Windows QPA: Do not use QSettings to access the registryFriedemann Kleint2016-10-283-4/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When commenting out the warning in createOrOpenKey() (src\corelib\io\qsettings_win.cpp:157), applications produce warnings: QSettings: Failed to create subkey "Software\Microsoft\Windows NT\CurrentVersion\FontSubstitutes": Access is denied. indicating that an attempt to open the registry in read/write mode fails. Add a utility function to read out registry strings in read-only mode to the font database and use that instead. Change-Id: I4187344cac7ec2ba27f15b51e237575efc171853 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * | | remove monolithic platformsupport moduleOswald Buddenhagen2016-10-283-85/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | all users have migrated to the modular libraries. Change-Id: Ifc470583c86a4f30af5335c21f2e3e4d19d39954 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * | | Move Windows font DB and engines to QtFontDatabaseSupportGabriel de Dietrich2016-10-2813-1/+5615
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows creating or extending QPA plugins to provide access to QFont and related types. It concerns both GDI and DirectWrite engines, as well as the regular and the freetype based font databases. The qt.qpa.fonts logging category has been moved together into the QWindowsFontDatabase related files to avoid depending on the qwindowscontext.h header file. Finally, QwindowsNativeImage is following pending a future refactor with similar code in qpixmap_win.cpp and the Windows XP style. Change-Id: Iddff2f3d715e3ab7695e6c2052b7596a01fd6fa8 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * | | Replace PKGCONFIG+=foo usages with QMAKE_USELars Knoll2016-10-261-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | replace explicit pkg-config uses with the results of configure tests, for consistency. Change-Id: I3587db6085798ea7a49f8871fc6838eb687a6391 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>