summaryrefslogtreecommitdiffstats
path: root/src/gui
Commit message (Collapse)AuthorAgeFilesLines
* fix HTML subset documentation is not very readable on smaller screensAndrew O'Doherty2018-09-301-8/+6
| | | | | | | | | | | | | | When viewing "Supported HTML Subset" documentation in Qt Creator (in QTextBrowser), the first table that lists all tags is quite unreadable (see images). It happens because there is a code snippet in Comment column for tag "meta" that uses pre-formatted text. Because it should not be wrapped automatically, it ends up pushing first 2 columns into their minimum size, which mostly makes them take a single letter per row. Task-number: QTBUG-64126 Change-Id: I08bf6f61806d52e7a2f47bdbed1b5950825ce739 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Disable RGB64 backend for ARGB32 when it will be very slowAllan Sandfeld Jensen2018-09-141-0/+2
| | | | | | | | | | | Fixes a speed regression on ARGB32 painting on low end hardware introduced when it was switched to using the RGB64 raster routines. It turns out several of our embedded QPA targets use ARGB32 as native format. Task-number: QTBUG-69724 Change-Id: I6d7993c12da46a85b8354eb905930dae9602b5e6 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* bmp image handler: check for out of range image sizeEirik Aavitsland2018-09-111-0/+2
| | | | | | | | Make the decoder fail early to avoid spending time and memory on attempting to decode a corrupt image file. Change-Id: I874e04f3b43122d73f8e58c7a5bcc4a741b68264 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Merge remote-tracking branch 'origin/5.11.2' into 5.11Qt Forward Merge Bot2018-09-092-0/+6
|\ | | | | | | Change-Id: I2fa26fa061cbf5d2bded203a299a19b7d1c31d0a
| * Merge 5.11 into 5.11.2Frederik Gladhorn2018-08-271-2/+2
| |\ | | | | | | | | | Change-Id: I672bc167de3801c944315d92120c5e03da69e9c7
| * | Fix crash when combining QOpenGLWidget, QStaticText and Qt QuickEskil Abrahamsen Blomfeldt2018-08-242-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Under certain circumstances, if you had a widget with a QOpenGLPaintEngine, and drew QStaticText into this, and then later had Qt Quick access the same cache and try to resize it, we would get a crash because the resize function would have a pointer to the paint engine and try to access its shader manager (which would now be null, since this is outside the begin()/end() phase of the paint engine. The solution is to reset the paint engine pointer to null on the cache once it has been populated and it is no longer needed. [ChangeLog][QtGui][Text] Fixed a possible crash when combining QStaticText, QOpenGLWidget and Qt Quick in the same application. Task-number: QTBUG-70096 Change-Id: I7383ad7456d1a72499cfcd2da09a5a808d4b3eff Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | Revise an incorrect QVulkanWindow doc noteLaszlo Agocs2018-09-061-9/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Applying the transformation in question has no effect on the winding order. Rewrite that section. While all the examples are correct, clarify the rules for the geometry they use since the winding order varies. Fix up the triangle example code to use front=CCW for clarity (even though it does not matter much since culling is off there). Change-Id: Icb968c76cc9fa918a5608d3c66b4fccd5668175e Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* | | Avoid conversion over RGBA64 for RGB32 LCD text blendingAllan Sandfeld Jensen2018-08-301-9/+49
| | | | | | | | | | | | | | | | | | | | | | | | Short-cuts the case where there is no gamma correction to avoid a conversion over RGBA64 and back. Change-Id: I100697a9f7a4b94283557b2c0eaa45e0eff81785 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | Doc: Check before including the \snippet from a .pro fileVenugopal Shivashankar2018-08-301-1/+4
| |/ |/| | | | | | | | | Change-Id: Icc7552b46a2657c81958e40f33596ddeee045172 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* | Doc: fix typo in QNativeGestureEvent docsMitch Curtis2018-08-231-1/+1
| | | | | | | | | | Change-Id: I83ac3463752488d7dbb758ea767ba186ddd3fa2a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | Fix spacing in << operator for QEventMitch Curtis2018-08-211-1/+1
|/ | | | | | | | | | | | | | | Turns QNativeGestureEvent(ZoomNativeGesturelocalPos=686.855,312.836, value=0.0259857) into QNativeGestureEvent(ZoomNativeGesture, localPos=686.855,312.836, value=0.0259857) Change-Id: Id30860a3c7a1b6da583369126a31934ddb32d4b9 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Don't reset the bidi level on spacesLars Knoll2018-08-171-1/+0
| | | | | | | | | Fixes a regression introduced with the update to the bidi algorithm. Task-number: QTBUG-69633 Change-Id: I7eac45ed3ffb41f89ea3f793eedcfb6fcdace871 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Only show the bidi cursor mark if we actually have bidirectional textLars Knoll2018-08-171-8/+20
| | | | | | | | | Don't show the mark simply because we have unicode code points larger than 0x590. Task-number: QTBUG-69665 Change-Id: I9af97383f3bcd52277a5288e7ad06ec240c7e51c Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Don't block on lost contextDavid Edmundson2018-08-161-4/+15
| | | | | | | | | | | | | When glGetError returns GL_CONTEXT_LOST, on XCB + Nvidia at least, the error does not get cleared until the next successful glGetGraphicsResetStatus. We can't handle this properly until the start of the next frame where we will hopefully have a valid context, but in the meantime we should avoid locking up completely. Change-Id: Id438d44d83b926e1f3e4281ca3704231bf1a23cf Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* doc: Add missing override and remove redundant virtual for snippetsAlexander Volkov2018-08-1610-21/+21
| | | | | Change-Id: I2395fd01b93c4ea364225e0cf1a5f59908b691d0 Reviewed-by: Martin Smith <martin.smith@qt.io>
* Fix potential crash when showing line/paragraph separatorsEskil Abrahamsen Blomfeldt2018-08-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | When showing line and paragraph separators at an offset from the start of the string, the end of string pointer would be incorrectly set, and we would read past the end of the string. If any part of this memory happened to match the line or paragraph separator, then we would overwrite it and have a crash. I couldn't find any reliable way to test this, since the crash depends on the contents of the memory after the string allocated by the algorithm. But with an overflow of 100 000 characters, I found that it crashed every time I ran the test. [ChangeLog][QtGui][Text] Fixed potential crash when using QTextOption::ShowLineAndParagraphSeparators. Task-number: QTBUG-69661 Change-Id: I17d1996b883560bacdc7ce114c8aeb2b0108faea Reviewed-by: JiDe Zhang <zccrs@live.com> Reviewed-by: Michal Lazo <xlazom00@gmail.com> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* Add QPlatformScreen::windows() helper to return all windows on screenTor Arne Vestbø2018-08-062-9/+17
| | | | | Change-Id: Ib55b37b64ed0890ca777dfea8c4d702e267c34bf Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* Use consistent naming of QPA screen change callbacks in QGuiApplicationTor Arne Vestbø2018-08-062-12/+12
| | | | | | Change-Id: I76be8a993e5d71e472faf9a5770b4c1128e8a4c6 Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Doc: Fix wrong link in QFont documentationPaul Wicking2018-08-031-1/+1
| | | | | | Task-number: QTBUG-62072 Change-Id: I587534fc5723b3d198fe2065fbcf1bee4871a768 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Fix conversion from transparent indexed8 to RGB32Allan Sandfeld Jensen2018-08-031-2/+3
| | | | | | | | A typo meant the color-table was not fixed. For safety fallback colors are also made opaque. Change-Id: I3e609882177604910c4343c86f00221a89af9078 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* Optimize blits of any compatible formatsAllan Sandfeld Jensen2018-08-032-2/+120
| | | | | | | | | | | The fast image blending is only used for SourceOver composition, but several of our embedded backends make heavy use of Source composition which doesn't have a short-cut. This patch adds a blitting short cut that works in those cases. Task-number: QTBUG-69724 Change-Id: Icc61a67cc27bc83863153d69cae60dd986d26f69 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Add missing optimization for loading RGB32 to RGBA64 using NEONAllan Sandfeld Jensen2018-08-031-0/+61
| | | | | | | | | | The rest of the RGB64 routines were optimized, but the loading of RGB32 was not as it was originally not used much, but with ARGB32 using the RGB64 backend, it is essential for decent performance. Task-number: QTBUG-69724 Change-Id: I1c02411ed29d3d993427afde44dfa83689d117e0 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Fix crash in qppmhandler for certain malformed image filesEirik Aavitsland2018-08-031-1/+1
| | | | | | | | | | The ppm format specifies that the maximum color value field must be less than 65536. The handler did not enforce this, leading to potentional overflow when the value was used in 16 bits context. Task-number: QTBUG-69449 Change-Id: Iea7a7e0f8953ec1ea8571e215687d12a9d77e11c Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* HiDPI: Fix calculating window mask from pixmap on drag and dropBłażej Szczygieł2018-08-021-1/+8
| | | | | | | | | | | Use platform window directly for setting a mask to prevent bitmap scaling if pixmap and window DPR are the same. Amends: 42f788ffe26d67864d569c3a3044619d49fc693a Task-number: QTBUG-61948 Change-Id: I5eec85c01f20bdefff7343e83ff10cbcb2c79508 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Doc: Remove typo and add line breaks after \internalPaul Wicking2018-07-262-4/+10
| | | | | | | | | In an unrelated change, it seems \internal \obsolete can cause unexpected behavior when generating the documentation. Adding this line break should fix that. Change-Id: I95eceb109faaf89be8f258fba8c31008fdc4ca57 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* Replace 0 with nullptrAlbert Astals Cid2018-07-195-5/+5
| | | | | | | | So if people are using the -Wzero-as-null-pointer-constant don't get a warning when using these private QPA includes Change-Id: I6deb089b17a844680db24998d60c94de7a1227b1 Reviewed-by: David Faure <david.faure@kdab.com> Reviewed-by: Jesus Fernandez <Jesus.Fernandez@qt.io>
* Fix incorrect warning message in QOpenGLBufferTakumi ASAKI2018-07-171-1/+1
| | | | | | Change-Id: I932aa10814049e78da35ea12b7552bf676545c89 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Fix: png handler returning Mono QImage with color table < 2 itemsEirik Aavitsland2018-07-161-1/+1
| | | | | | | | | | A bit depth 1 png image may contain a single color table item. The png handler would in such cases reduce the size of the QImage color table to 1, which could easily lead to crashes later on. Task-number: QTBUG-69256 Change-Id: I01d78977c121bacc44b823231d8f32ca63d8a98c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix the copyright year of the qgrayraster.c dependencyNicolas Ettlin2018-07-101-1/+1
| | | | | | | | | | The copyright year of the qgrayraster.c dependency was incorrectly set to “2006-2015”, instead of 2000-2016 (as stated in the file’s header comments). This commit solves this issue. Task-number: QTBUG-69261 Change-Id: I307b6eabdd133fe4f8371b963577b59af8620838 Reviewed-by: hjk <hjk@qt.io>
* Fix: bad-looking scaled rendering of painterpath in OpenGL paint engineEirik Aavitsland2018-06-281-21/+17
| | | | | | | | | | | | | | | For performance, the triangulation of a painter path is stored for reuse. Re-triangulation was only done if the path was to be painted at a significantly different scale AND it contained a curve (bezier) element. But also the triangulation of a path with only straight lines can lose precision if rendered at a small scale, and so look bad when used at a higher scale factor. Fix by removing the mentioned curve element condition. Task-number: QTBUG-68873 Change-Id: Id3492514e9382a5828377b7bafea8cfac7b850a6 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* ItemModels: Cache last-known child indexErik Verbruggen2018-06-272-11/+25
| | | | | | | | | | | | | | | Instead of caching the last index of a search for a child item, cache the index of the child in the child item. When the item model is not changed, the index is valid. Otherwise, the index can only change when items get inserted or removed before the child. So in that case, start searching in the vicinity of the previously known index. As an example: a selectAll() on the view will always hit the cached index, so no search is performed for any item in the model/view. Task-number: QTBUG-61368 Change-Id: I85d085299987237fae23451d9e8bbb6060464ef2 Reviewed-by: David Faure <david.faure@kdab.com>
* ItemModels: search for the child index in 2 directionsErik Verbruggen2018-06-271-7/+29
| | | | | | | | | | | | | | | Previously, the search for the index of a child was done by searching forwards (minus 2) from the last search, and subsequently backwards when it wasn't found. This would cause quite some searching in models with lots of items, and where the child lay before the last search. We still assume that subsequent searches for children are "nearby" the previous search, but instead of first searching forwards and then backwards, do the search in both directions. Task-number: QTBUG-61368 Change-Id: Idb549c2d02840632cd658f906816ce911f3ff8bc Reviewed-by: David Faure <david.faure@kdab.com>
* Doc: Fix typoPaul Wicking2018-06-261-1/+1
| | | | | | Task-number: QTBUG-69093 Change-Id: Ica63482251b2a614a17a996fac9bcc16b96c200f Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* Fix the qHash implementation for QMatrix / QTransformGiuseppe D'Angelo2018-06-212-15/+15
| | | | | | | | | | | | | | | The order of the arguments of QHashCombine::operator() was accidentally swapped -- the first is supposed to be the accumlated value, the second the new value to combine. [ChangeLog][QtGui][QMatrix] The qHash() implementation for QMatrix has been changed. [ChangeLog][QtGui][QTransform] The qHash() implementation for QTransform has been changed. Change-Id: Iba13f76ff734a2184c96184ee0e5748c05db07fa Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Doc: Add missing full stops in briefsPaul Wicking2018-06-215-5/+5
| | | | | | Task-number: QTBUG-68933 Change-Id: I3f2a9f8c562f9a44bb32bddd31d75abbfe6de04d Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* Merge remote-tracking branch 'origin/5.11.1' into 5.11Qt Forward Merge Bot2018-06-191-3/+11
|\ | | | | | | Change-Id: I9a4571ccf826a86e055dfbba23b5e5cbd8ea55e8
| * Merge 5.11 into 5.11.1Oswald Buddenhagen2018-06-075-11/+12
| |\ | | | | | | | | | Change-Id: I28f48e980a9e23ddde5251608dd9d1d83df65392
| * | Ignore XDG_SESSION_TYPE=wayland on gnome-shellJohan Klokkhammer Helsing2018-06-051-3/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][Wayland] In Qt 5.11.0, support for selecting a platform plugin based on the XDG_SESSION_TYPE environment variable was added. On gnome-shell, however, bugs—in both Qt and gnome-shell—made many widget applications almost unusable. So until those bugs are fixed XDG_SESSION_TYPE=wayland is now ignored on gnome-shell. Task-number: QTBUG-68619 Change-Id: I902acd1c4fc996f46e8431c12c0a5cdbab883abf Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | Fix black border around main widget with non-integer scalingAllan Sandfeld Jensen2018-06-071-1/+1
| |/ |/| | | | | | | | | | | | | | | All the other highdpi scaling uses rounding, and not using it here may offset the compositing by a line. Task-number: QTBUG-67994 Change-Id: I2f5f328c091d0e85c40b1663e22c82f364df65e5 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* | Fix build for Android with android-clang in r17Liang Qi2018-06-063-7/+7
| | | | | | | | | | | | Task-number: QTBUG-67464 Change-Id: Ib971a5da82b31bce9ac1c9ac623ad7d5302cfaec Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* | Fix HDR format in QOpenGLFramebufferObject::toImage()Allan Sandfeld Jensen2018-06-061-2/+5
| | | | | | | | | | | | | | | | If the fbo had samples > 0 set, it would use a temporary fbo with a default configuration losing the HDR precision. Change-Id: I7e9966165b3100f148c4ad24738f3ee71273f29a Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | Fix QTransform::transposed() result having wrong transformation typeEirik Aavitsland2018-06-061-2/+0
|/ | | | | | | | | | The implementation of QTransform::transposed() had a wrong assumption about the type of the result. Task-number: QTBUG-68630 Change-Id: Ia5ce794efe773d74fb5fdaff3da8cae2b452e7e5 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Reduce recent performance regressionAllan Sandfeld Jensen2018-05-301-2/+2
| | | | | | | | | | | | | | The change to fix 16-bit integer overflow used two floor operations when only one is necessary. With floor being rather expensive on x86 without SSE4.1 this caused a performance regression in ARGB32 smooth perspective transforms. This eliminates one of the floor operations which is unnecessary as the number is always positive in this case and thus truncation will yield the same result faster. Change-Id: Iaae76820d4bc2f368e49ed143130b5075fc760a2 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* QOpenGLTexture: Enable multisample 2D textures on GLES 3.1+Laszlo Agocs2018-05-301-0/+6
| | | | | | Task-number: QTBUG-68510 Change-Id: Ib224189906b595bbae5aab95c888dd13e94171aa Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* Make sure we can build with -no-feature-draganddropJoerg Bornemann2018-05-2923-315/+410
| | | | | | | | | 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>
* Fix potential 16-bit integer overflowAllan Sandfeld Jensen2018-05-231-4/+4
| | | | | | | | | | | When multiplying a float in [0;1[ with (1<<16), with rounding, it might end up being rounded to 65536 even if the input was under 1. This patch uses a floor operation to make sure the value can be in a ushort, and cleans up the surrounding code so it is clearer what it does. Task-number: QTBUG-68360 Change-Id: I2d566586765db3d68e8e7e5fb2fd1df20dabd922 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* Documentation: Fix URLs to GL(ES) functionsFriedemann Kleint2018-05-181-358/+358
| | | | | | | | Replace the XML pages which are typically displayed as broken by the XTHML pages. Strip some suffixes. Change-Id: Idf2b9706f169484c659582a1a2d38904d5dd81aa Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* QtGui: Enable synchronous delivery for QWSysIf:::WindowScreenChangedEventFriedemann Kleint2018-05-082-2/+4
| | | | | | | Task-number: QTBUG-67777 Change-Id: I6d52b650fb33283010ef06259da83cdb2fd3483f Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* QShortcutMap: print ambiguous shortcuts when DEBUG_QSHORTCUTMAP is definedMitch Curtis2018-05-071-0/+13
| | | | | | | | | | | | | This is useful to see why shortcuts (in Qt Widgets and Qt Quick) are not behaving as expected. For example: The following shortcuts are about to be activated ambiguously: - QKeySequence("Esc") (belonging to QQuickShortcut(0x7fcd4c8e6a70, name = "exploreViewBackOrCloseShortcut")) - QKeySequence("Esc") (belonging to QQuickPopupItem(0x7fcd4c8e5110)) Change-Id: Id20a3017d69cfe417c2286dccf46b3d5ff0b31b2 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Fix for mouse with modifiers handlingKarim Pinter2018-05-022-23/+2
| | | | | | | | | | | | Modifier keys are saved in qinputdevicemanager such way that both evdev and libinput can use it the same way, it is also handling the repeating modifier key events. Evdev support is important for VxWorks support because it is using it. Task-number: QTBUG-60694 Change-Id: I49038cb7fe2ad5134b3a37167c19953867ea31c3 Reviewed-by: Andy Shaw <andy.shaw@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>