summaryrefslogtreecommitdiffstats
path: root/src/gui
Commit message (Collapse)AuthorAgeFilesLines
* Revert "Enable "combined-angle-lib" for ANGLE builds"v5.9.0-rc1Oliver Wolff2017-05-191-1/+0
| | | | | | | | | | | | | Combining libEGL and libGLESv2 into QtANGLE cannot be the default any longer, as the change was binary incompatible. We just had to return to previous behavior temporarily to be able to fix qtlocation. This reverts commit 97ab65076e30d8cd0cbe6bdbdb51d1dc2c0ff7e7. Task-number: QTBUG-60795 Change-Id: I3095cb5f9da30e2d873d9a186cfbc5aee3fb10b2 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* Enable "combined-angle-lib" for ANGLE buildsOliver Wolff2017-05-171-0/+1
| | | | | | | | | | | | As qtlocation's mapboxgl plugin links to QtANGLE if dynamic opengl is used, we have to keep the combined library being the default until qtlocation is fixed. As soon as the qtlocation fix has landed in 5.9.0 this change should be reverted. Task-number: QTBUG-60795 Change-Id: I0781695e085a28a8971a6245a352413c0f779025 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Restore behavior of using libEGL and libGLESv2 as default for angleOliver Wolff2017-05-111-0/+12
| | | | | | | | | | | | | | | | | As Qt applications using OpenGL are linked against these libs, merging them into QtANGLE by default (780105f9062dec350bbe2a6800c40db3e6382578) was a binary incompatible change. This change restores the default behavior to the one before given change. If the user wants the libraries to be merged, he can pass combined-angle-lib to configure. Task-number: QTBUG-60373 Change-Id: Iedbd3f2ce9284fdde924cfae8d915d6d5fef00db Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Revert gamma-corrected handling of transparent destination bufferAllan Sandfeld Jensen2017-05-081-37/+29
| | | | | | | | | | | | Due to the text blend routines being used by ARGB32 and due to another bug on invalid premultiplied buffers, we need to keep using the naive blend on non-opaque pixels for now. Task-number: QTBUG-60562 Task-number: QTBUG-60571 Change-Id: Idfbb2c2e24dd840189c4fbed4e167f03bbc6ca8d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* QIconLoaderEngine: Fix actualSize() for no-entryPalo Kisa2017-05-031-1/+4
| | | | | | | | | Return an empty size if no suitable entry found to avoid mismatch with the returned pixmap()'s size (the QIconEngine::actualSize() returns the originally requested size). Change-Id: Ia278719a54392b62c5f9fc0529476baba5cd7df0 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* macOS: Add auto-release pools for Q*ApplicationPrivate::init()Tor Arne Vestbø2017-05-021-0/+4
| | | | | | | | | | So that any objects autoreleased during application initialization are released. Otherwise they will end up in the root level pool and only be released when the application exits and the application goes out of scope. Change-Id: If02d24fd70098f9b4b1b0ea3218e0a15e438b9db Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* Handle implicit close in QDashedStrokeProcessorAllan Sandfeld Jensen2017-05-022-3/+11
| | | | | | | | | Otherwise dashed polygons will not be closed when stroked like they are documented to be. Task-number: QTBUG-60397 Change-Id: I58e9e3a06af157f9a2789ccab640c9da75867962 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* Cleanup rgb32 text-blending code pathAllan Sandfeld Jensen2017-05-021-92/+57
| | | | | | | | | | | | Cleans up the rgb32 text-blending functions, so they now follow the new pattern used in the new generic text-blending functions. This also means they can now handle gamma-corrected blending on top of transparent destination pixels instead of falling back to naive blending. Task-number: QTBUG-60469 Change-Id: I154ba513ff99c0cefab8fa12f4ed43fcd6563a6a Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* Doc: Fix references to QIconEngineV2 and QIconEnginePluginV2Aaron Linville2017-04-281-3/+3
| | | | | | | | Fix a few lingering doc references to the old classes. Task-number: QTBUG-59815 Change-Id: Ia6b406485260c943b018422aaeb8e22ca4406e81 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Export QPlatformThemeFactory, for use in qtdiagThiago Macieira2017-04-281-1/+1
| | | | | Change-Id: I0e1a09998253489388abfffd14b5ee5392b0ce52 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Fix return of empty paths with multiple points on intersectionsAllan Sandfeld Jensen2017-04-281-1/+6
| | | | | | | | | | The intersection algorithm for intersection with rects, might return one edge of the rect even if that edge does not intersect with the path. To deal with that we collapse paths with empty bounding rects to the empty path. Task-number: QTBUG-60024 Change-Id: I3e305983c66548e772d7d7ce3de99d715edbdd1b Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* Don't use eglGetProcAddress() on AndroidPaul Olav Tvete2017-04-251-0/+568
| | | | | | | | | | | | Android 4.1 has a limitation on how many slots are available for eglGetProcAddress(). This reverts commit 7e393280e4d073930f5dd45881b68f4afbcab84e ("OpenGLES20 direct function call removed") for the Android platform only. Task-number: QTBUG-60318 Change-Id: I4a7224583e775143021735c037af07a95abbd6bf Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Prevent busy loop in glib event dispatcherGatis Paeglis2017-04-243-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | .. when running event loop with QEventLoop::ExcludeUserInputEvents. In a properly functioning code, g_main_context_iteration is expected to block until any event source becomes ready to dispatch an event (or interrupt occurs). Qt provides several custom event sources to the Glib event loop. The bug (busy loop) was caused by faulty event source implementation when QEventLoop::ExcludeUserInputEvents is set. As long as the window system's event queue was not empty, we signaled to the event dispatcher that there is an event ready to be dispatched. This results in the dispatcher calling the relevant dispatch function (which does handle the ExcludeUserInputEvents flag correctly). As we do not dispatch user events, the window system's event queue never becomes empty and we enter a busy loop (CPU running at 100%) where we signal that we have events to dispatch, but we actually do not dispatch them and g_main_context_iteration never gets to block. This busy loop can cause blocking GTK functions such as gtk_dialog_run() never return. Task-number: QTBUG-59760 Task-number: QTBUG-57101 Change-Id: I545b7951108eeaba019614ae8f5a1168c8b26c27 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Gunnar Sletta <gunnar@crimson.no>
* Fix UB in QStandardItemModelOlivier Goffart2017-04-232-21/+14
| | | | | | | | | | | | | | The destructor of QStandardItem needs to access the model. So we need to destroy them before the QStrandardItemModel gets destroyed. In the destructor of the private, it is already too late because we are already in the ~QObject Since the destructor of QStandardItemPrivate is now empty, remove it completely. There is no need for QStandardItemPrivate to have a virtual table as there are no class that inherit from it. Change-Id: Id6639e21f277f1c4e85c3f9bc720b4f29eb16c2c Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Update qopenglext.hLaszlo Agocs2017-04-221-74/+713
| | | | | | Change-Id: Ifb1d20855f0c0b9459d7ff2e01fbda1f713bff35 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Update qopengles2ext.hLaszlo Agocs2017-04-221-8/+1307
| | | | | Change-Id: I03b867133a00ef6e662a05d5eac7a733747fb8be Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* macOS: Defer population of localized font family aliases until neededTor Arne Vestbø2017-04-212-0/+5
| | | | | | | | | | | | Getting the localized family name of a font involves quite a bit of work internally in CoreText, e.g. creating and sorting font descriptors. By deferring population of family aliases until a font match misses we shave off ~1 second of startup time for applications that use non- localized font families (most applications). Change-Id: I021952c311c0d70d7769ccf764dbf997ebf30a4b Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Fall back to QWindow's screen when resolving DPR instead of using qAppTor Arne Vestbø2017-04-211-7/+6
| | | | | | | | | | | QGuiApplication::devicePixelRatio() should only be used when we don't know which window we're targeting. For QWindow::devicePixelRatio(), we can go though the associated screen to get a more accurate DPR. Change-Id: Idf511fa5c09562a6daf391cd4d0b8b99471045e7 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* Fix build without features.xlibTasuku Suzuki2017-04-211-1/+1
| | | | | | Change-Id: I5c95540ba0deb8a1688d8994522324552f2432e2 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* Fix typo in QRasterPlatformPixmap::metric()Laszlo Agocs2017-04-201-1/+1
| | | | | | Task-number: QTBUG-60132 Change-Id: I1f0ad7babf16800d3acdf579db6abd6854e1ed76 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* Move Q_REQUIRED_RESULT to its correct positionThiago Macieira2017-04-2011-50/+50
| | | | | | | | | | | That's before the return type or static, inline, constexpr or such keywords (if any). Perl Script: s/^(\s+)(.*) Q_REQUIRED_RESULT(;)?(\s*\/\/.*)?$/\1Q_REQUIRED_RESULT \2\3\4/ Change-Id: I7814054a102a407d876ffffd14b6a16182f159e2 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* qgrayraster: use a cast to void to mark a variable as unusedGiuseppe D'Angelo2017-04-201-5/+1
| | | | | | | | | | | | | | Do not use a self-assignment, as that may trigger compiler warnings. Casting to void is also what Q_UNUSED is doing these days, but we can't use it here because qgrayraster.c does not include qglobal.h. Remove a 15-years old comment related to the self assignment. Found by clazy. Change-Id: I8cc92b7a1b0b5fb13824959740243e17606ec753 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Doc: Fix link errorsNico Vertriest2017-04-192-3/+3
| | | | | | | | qimage.cpp:2127: warning: Can't link to 'isDetached()' qmatrix4x4.cpp:1933: warning: Can't link to 'operator()()' Change-Id: I93a2ead9650faf139040173f8d3b24cfa1e730ae Reviewed-by: Martin Smith <martin.smith@qt.io>
* Fix PNGs saved from QImage transform of 8-bit imagesAllan Sandfeld Jensen2017-04-192-2/+2
| | | | | | | | | | | Fixes two separate errors. QImage::transform was incorrectly adding colors to the color-table of the returned image when the converted image would not be indexed, and qpnghandler was looking at non-empty color- table instead of color format. Task-number: QTBUG-43708 Change-Id: Ife14b6428ca65ac7d3a0b36a89a73e56d64586b4 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* Doc: Hide QPA classesFriedemann Kleint2017-04-192-6/+3
| | | | | | | Mark QPlatformGraphicsBuffer and QSystemTrayIcon as internal. Change-Id: I39e5b4f635fca21ab0544cd840a113514b6b1e99 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Add debug output for QScrollPrepareEvent and QScrollEventFriedemann Kleint2017-04-191-0/+14
| | | | | Change-Id: If283cecbefdf20c80ce00f689003f6a0ed9fe42b Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Doc: Remove broken link to QWindowSystemInterface::registerTouchDevice()Leena Miettinen2017-04-182-2/+6
| | | | | | | | | | | | Mention that it is a private function. Also mention using QTest::createTouchDevice() for adding simulated touch screens to autotests. Task-number: QTBUG-26647 Change-Id: I08c12225768e76b1b9e3fc0fda00af86d44ca766 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Bo Thorsen <bo@vikingsoft.eu> Reviewed-by: Rainer Keller <Rainer.Keller@qt.io>
* Doc: add missing specs about parametersNico Vertriest2017-04-182-1/+7
| | | | | | | | | qopengltexture.cpp:3476: warning: Undocumented parameter 'layerCount' in QOpenGLTexture::setCompressedData() and QOpenGLTexture::setData() qimage.cpp:2127: warning: Undocumented parameter 'format' in QImage::reinterpretAsFormat() Change-Id: I17feb2256a29f3bb722d2de3a83b390abff85a35 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Add debug operators for font database structs for easier debuggingTor Arne Vestbø2017-04-182-0/+28
| | | | | Change-Id: Ice1b27ff93de2d369dc6b66c72a64eb05da5639c Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Merge remote-tracking branch 'origin/5.8' into 5.9Liang Qi2017-04-182-2/+3
|\ | | | | | | | | | | | | Conflicts: src/corelib/global/qglobal.cpp Change-Id: I375fa4afa662fa411a15f212ebd5f2f0dffdba7f
| * QMatrix4x4: fix aliasing problem in operator*=Marc Mutz2017-04-141-1/+2
| | | | | | | | | | | | | | | | | | | | | | When multiplying a QMatrix4x4 by itself, we were clobbering the very matrix we read from. Employ read-caching to avoid this aliasing problem. [ChangeLog][QtGui][QMatrix4x4] operator*=() now calculates the correct result even if the RHS and LHS are the same object. Change-Id: I8534d56cfdd62c336577125127f05173fcec2873 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * Doc: updated QSyntaxHighlighter documentation and use QRegularExpressionSamuel Gaist2017-04-121-1/+1
| | | | | | | | | | | | | | | | | | The documentation of QSyntaxHighlighter still uses the deprecated QRegExp class. This patch updates the code samples as well as cleanup some typos. Change-Id: I87b525fddb560b7c5bb38f96d9aaceadb594f76c Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
* | Be more explicit about the supported platforms for OpenGL ES 2Jake Petroules2017-04-131-3/+3
| | | | | | | | | | | | | | | | The OpenGLES framework is only supported on iOS and tvOS, and does not exist on macOS and watchOS. Change-Id: I643d3bdac522b67a8d945648dfcc8f1780ab0d7f Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
* | Merge remote-tracking branch 'origin/5.8' into 5.9Liang Qi2017-04-122-13/+17
|\| | | | | | | Change-Id: I3bd83a839b16822035ed56a5cffe77bd6bc3f08d
| * configure: fix detection of xcb extensionsGatis Paeglis2017-04-111-12/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Properly detect xcb-render and xkb features. a) when -qt-xcb, use bundled versions b) when -system-xcb, detect from system - Be consistent with other features (jpeg, png) in "enable"/"disable" field handling. - And move the "xkb" feature higer up in configure.json. It is an X11 extension, so keep them all together (instead of grouping it with libxkbcommon). Task-number: QTBUG-59064 Change-Id: I60f95fb37060b8abde4c611cdef178ba3795982c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * Fix hidpi support for opengl window grabbingFilipe Azevedo2017-04-091-1/+3
| | | | | | | | | | | | | | | | | | | | Now set the QImage devicePixelRatio so the content is correct on all screens. Task-number: QTBUG-53795 Change-Id: Ic92eee98f691ebb1e0212498c1ae13ede74bca93 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* | Prevent QWindow transient parent loopTor Arne Vestbø2017-04-121-0/+4
| | | | | | | | | | | | | | | | Clients may wrongly set the transient parent to the window itself, causing endless loop when e.g. looking for the top level parent. Change-Id: Ib23cae3a5576320435ae9b76dd618d1e5ae08b5d Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | QTextDocument: improve import of DIV tagsDavid Faure2017-04-101-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | <div>1<br/></div>2 was inserting two newlines between 1 and 2, while all tested web browsers only insert one newline - as long as there is nothing between the <br/> and the </div>. This was the cause for extra newlines being inserted in KMail when replying to HTML emails, such as those generated by gmail. Change-Id: I5145d977701e68913264357bba22780e7cdd3f7d Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Android: fix Menu and Back key handlingJ-P Nurmi2017-04-071-3/+11
| | | | | | | | | | | | | | | | | | | | Don't quit on Back key release when Back shortcut was accepted and likewise for the Menu key, don't trigger the platform menubar if Menu shortcut was accepted. Change-Id: Ifde87cbc2d95be1beb90ca59f55889b83a90ff02 Task-number: QTBUG-59670 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Merge remote-tracking branch 'origin/5.8' into 5.9Liang Qi2017-04-069-39/+86
|\| | | | | | | | | | | | | | | | | | | Conflicts: src/platformsupport/fontdatabases/freetype/qfontengine_ft.cpp src/platformsupport/fontdatabases/freetype/qfreetypefontdatabase.cpp src/plugins/platformthemes/gtk3/qgtk3dialoghelpers.cpp src/widgets/widgets/qtabbar.cpp Change-Id: Iaa9daee5f7a6490d56257a3824730a35751ceb05
| * Copy stretch to multifont fontDefAllan Sandfeld Jensen2017-04-051-0/+2
| | | | | | | | | | | | | | | | If we do not the fontDef of the multifont will be the default 0. Task-number: QTBUG-59443 Change-Id: Ib223517975b2a57b2371e309d12cd8f918d30825 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
| * Environment variable enabling the workaround FBO readback bugMarco Martin2017-04-051-0/+34
| | | | | | | | | | | | | | | | | | | | On some ARM devices the font glyph generation is broken Add an environment variable to enable workaround_brokenFBOReadBack in QOpenGLContext, to fix font rendering on such devices as Mali and Adreno Change-Id: I9cc99ecb8b71a35bc369ec9dd11b877016b1179e Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| * qbmphandler fix: use qint64 for caching QIODevice file positionHendrick Melo2017-04-042-4/+4
| | | | | | | | | | | | | | | | | | | | | | Changed the file position and offset types so they can properly handle files larger than the 32bit limit Task-number: QTBUG-59493 Change-Id: I00e1741c7682c4c79f35fef808fe1ea26e67c8b5 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io> Reviewed-by: Hendrick Melo
| * GCC 7: fix -Werror=implicit-fallthroughGiuseppe D'Angelo2017-04-045-35/+46
| | | | | | | | | | | | | | | | More fallthrough-are-errors fixed. Change-Id: I9a6cb6efe988400ed3f9cb95d1e426dac317e6c4 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | Fix warnings for -no-feature-settingsStephan Binner2017-04-041-0/+2
| | | | | | | | | | | | Change-Id: I79ce0b9c5eb931e238394519ba80bf35e4ff3bf7 Reviewed-by: Tasuku Suzuki <tasuku.suzuki@qt.io> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Fix warning for -no-feature-texthtmlparserStephan Binner2017-04-041-2/+2
| | | | | | | | | | | | Change-Id: I6dd6e80a546a76ce3717855ebacb188254fe70d6 Reviewed-by: Tasuku Suzuki <tasuku.suzuki@qt.io> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Fix warning for -no-feature-wheeleventStephan Binner2017-04-041-0/+2
| | | | | | | | | | | | Change-Id: Ibf240228100bbc7cd8a85e49abc9dbff026e5433 Reviewed-by: Tasuku Suzuki <tasuku.suzuki@qt.io> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Delete QRasterWindow backingstore while window is still aliveTor Arne Vestbø2017-04-042-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The platform backingstore might need access to the window that the backingstore was created for, e.g. for makingCurrent to release OpenGL resources. In that case leaving it to the QRasterWindowPrivate destructor would be too late, as the QWindow was gone. This was seen on iOS, where the backingstore inherits QRasterBackingStore, and uses composeAndFlush to composit via GL. The raster backingstore cleans up these GL resources in its destructor, so the QIOSBackingStore destructor makes sure that the GL context is current for the window, resulting in a crash since the window is long gone by then. Change-Id: I5a22597842819f0fe3b580856b9e75e4fab32ae5 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | Share FreeType font engine creation code between platformsTor Arne Vestbø2017-04-042-11/+0
| | | | | | | | | | | | | | | | | | | | The FreeType font engine setup is spread out between factory functions, constructors, and init() functions, so let's at least try to share as much as possible of it to make it easier to reason about and possibly refactor in the future. Change-Id: Ic39353d2b3111024e0589a70211bac80feb8498e Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* | No divide by zero if all imageformat features are disabledStephan Binner2017-04-041-1/+2
| | | | | | | | | | | | Change-Id: Ib3e8a4b62ae627bc3dc8541767dafff4e493d2f8 Reviewed-by: Tasuku Suzuki <tasuku.suzuki@qt.io> Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>