summaryrefslogtreecommitdiffstats
path: root/src/gui
Commit message (Collapse)AuthorAgeFilesLines
...
| * Fix build error with macOS 10.13 SDKJake Petroules2017-08-042-18/+2
| | | | | | | | | | | | | | | | | | | | | | Several of these variables/macros are no longer defined. We didn't validate the preconditions on iOS, tvOS, or watchOS, so no need to bother validating them on macOS either. Nor did we check the OSStatus result on any platform anyways. Task-number: QTBUG-62266 Change-Id: Id19ebead5d3a8a08a0a56d798f0173d0d893fc91 Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
| * Fix RGBA64 interpolation when x remainder equals zeroAllan Sandfeld Jensen2017-08-021-9/+12
| | | | | | | | | | | | | | | | | | | | The 16-bit multiplication can not handle the case where one of the numbers is 65536, so skip it in that case as we do when the y remainder triggers the same issue. Task-number: QTBUG-62165 Change-Id: Iea2ebe557949797d9aa77b8d7cdac9247eea7b84 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
| * QWindowSystemInterfacePrivate::toNativeTouchPoints(): Add missing scalingFriedemann Kleint2017-08-021-2/+2
| | | | | | | | | | | | | | | | Scale velocity and raw positions as does QWindowSystemInterfacePrivate::fromNativeTouchPoints(). Change-Id: I4c9e03e4c2f4ca807319b1a7d1f4a9e56a25b06c Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* | Add QTextOption/QTextEdit/QPlainTextEdit::tabStopDistance propertyEskil Abrahamsen Blomfeldt2017-08-065-12/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In Qt, we have QTextOption::tabStop, QTextEdit::tabStopWidth and QPlainTextEdit::tabStopWidth. Neither are very good names, since the tab stop is neither a numerical value as in the former, nor does it have any dimensions that can be measured, as in the latter. Vertical text advances may also be supported by Qt at some point in the future, at which point the name would make even less sense. At the same time, we expose the actual type of the tab stop distance as floating point in the QTextEdit and QPlainTextEdit API instead of always rounding it to an int. To avoid duplicating either of these APIs in Qt Quick, we introduce tabStopDistance as the common term instead and deprecate the old names. [ChangeLog][Text] Introduced tabStopDistance property in QTextOption, QTextEdit and QPlainTextEdit as replacement for the inconsistently named tabStop and tabStopWidth properties. QTextOption::tabStop, QTextEdit::tabStopWidth and QPlainTextEdit::tabStopWidth have subsequently been deprecated. Change-Id: Ib7e01387910cddb58adaaaadcd56c0e69edc4bc2 Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | GLSL 1.00 ES must be selected using "#version 100"Kevin Ottens2017-08-041-1/+1
| | | | | | | | | | | | | | | | I was mistaken before, the "es" part for that version isn't optional, it *must* be omitted. Change-Id: I9e83d2317523fb0a905e40b95a56033cf693b93b Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | xcb: don't rely on _NET_WORKAREA for available geometry on multi-head systemsGatis Paeglis2017-08-021-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On X11, QScreen::availableGeometry() is broken with multi-head systems, and there doesn't seem to be a real fix for this due to limitation in the protocol and therefore support in WMs (more details in the patch). In Gnome this issue is more visible because on this DE the _NET_WORKAREA rectangle represents the intersection of the available geometries on all monitors. This results in a big area of "dead space" on the secondary screen, when primary screen is positioned lower in the virtual space. If menu is opened by clicking in this dead space, the menu is awfully misplaced (qmenu uses availableGeometry() to calculate the position of menu). On Ubuntu with Unity (same is true for KDE Neon+Kwin and LUbuntu+Openbox), _NET_WORKAREA returns a bounding rectangle containing all monitors. Which does not cause the menu misplacement as "dead space" is outside clickable area. But this does not mean that the QScreen::availableGeometry() reported values are correct. With the same setup as described above, QScreen::availableGeometry() thinks that we have a tool panel on the right screen, when in reality it is on the left screen. AwesomeWM for example does not set _NET_WORKAREA at all, which means QScreen::availableGeometry() == QScreen::geometry(). I am not aware that it would cause any issues for popup/menu window positioning in Qt (Qt positions these windows manually by bypassing WM (via Qt::BypassWindowManagerHint) and using availableGeometry for calculations. With this patch, we would take the same code path as if _NET_WORKAREA was not set (where we know that_NET_WORKAREA is cleary wrong). The solution here is to recognize _NET_WORKAREA as true available geometry only in specific cases (cases where the meaning is cleary defined by the specification) and adjust the documentation accordingly. Not knowing the true available geometry on X11 is mitigated by WMs. Window manager can position windows as it wants. WMs are smart enough not to place windows on top of reserved areas at edges (even if user has explicitly requested this via setGeometry based on inaccurate information from availableGeometry()). [ChangeLog][Platform Specific Changes][Linux] The _NET_WORKAREA atom is used for calculating QScreen::availableGeometry() only on systems with one monitor. In all other cases QScreen::availableGeometry() is equal to QScreen::geometry(). To restore the legacy behavior with untrustworthy values in QScreen::availableGeometry() set QT_RELY_ON_NET_WORKAREA_ATOM=1 environment variable. Task-number: QTBUG-60513 Task-number: QTBUG-29278 Task-number: QTBUG-43768 Task-number: QTBUG-18380 Change-Id: I7e0f62f81d1444991b8a6c007c2527d8f96088c2 Reviewed-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into devOswald Buddenhagen2017-08-027-55/+476
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/platforms/xcb/qxcbconnection.h src/plugins/platforms/xcb/qxcbconnection_xi2.cpp src/plugins/sqldrivers/sqlite/qsql_sqlite.cpp src/plugins/styles/mac/qmacstyle_mac.mm src/widgets/widgets/qdockarealayout.cpp src/widgets/widgets/qmainwindow.cpp src/widgets/widgets/qmainwindowlayout.cpp src/widgets/widgets/qmainwindowlayout_p.h tests/auto/corelib/tools/qlocale/tst_qlocale.cpp tests/auto/other/macnativeevents/BLACKLIST tests/auto/widgets/widgets/qmenu/BLACKLIST Change-Id: Ic8e724b80a65e7b1af25511b0e674d209265e567
| * ANGLE: Fix build for newer MinGW versionsOliver Wolff2017-08-021-0/+10
| | | | | | | | | | | | | | | | | | | | | | Availability of D3D11_QUERY_DATA_TIMESTAMP_DISJOINT depends on the used MinGW version so that the check for MINGW is not sufficient. The newly added configure test can be used for every toolset. Task-number: QTBUG-57916 Change-Id: Ia9cb48f3e673841101a93cbc8ea23aff9547f639 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Kai Koehne <kai.koehne@qt.io>
| * configure: Add a feature to write tests in the .json fileThiago Macieira2017-08-021-44/+440
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We're adding a lot of unnecessary files that end up later as cargo-cult, for at most a handful of lines. So instead move the testcases directly into the .json file. The following sources were not inlined, because multiple tests share them, and the inlining infra does not support that (yet): - avx512 - openssl - gnu-libiconv/sun-libiconv (there is also a command line option to select the exact variant, which makes it hard/impossible to properly coalesce the library sources) The following sources were not inlined because of "complications": - verifyspec contains a lengthy function in the project file - stl contains lots of code in the source file - xlocalescanprint includes a private header from the source tree via a relative path, which we can't do, as the test's physical location is variable. - corewlan uses objective c++, which the inline system doesn't support reduce_relocs and reduce_exports now create libraries with main(), which is weird enough, but doesn't hurt. Done-with: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Change-Id: Ic3a088f9f08a4fd7ae91fffd14ce8a262021cca0 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * Fix precisions check for using fast transformsAllan Sandfeld Jensen2017-08-021-2/+2
| | | | | | | | | | | | | | | | The coordinates need to be representable in signed 16-bit not unsigned. Task-number: QTBUG-62251 Change-Id: I1d4aaa2fb90b8f428380277d5b4e416a4672ee6a Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
| * Fix QStandardItem::setChild crash when passing a null pointerJesus Fernandez2017-07-271-2/+13
| | | | | | | | | | | | | | | | | | | | | | | | Passing a null pointer as a parameter to the setChild function no longer crashes when calling the QStandardItemModelPrivate::itemChanged signal. The child is removed from the model. The patch also fixes the behavior of deleting a item. A dataChanged signal is emitted. Change-Id: I027e8b0d84fe33c5fca056df870f0e60a020824b Reviewed-by: David Faure <david.faure@kdab.com>
| * QFontDatabase: Output family in warning about missing Open Type supportFriedemann Kleint2017-07-271-2/+4
| | | | | | | | | | | | | | | | | | | | OpenType support missing for script 11 becomes: OpenType support missing for "SimSun", script 11 Change-Id: I562e20d630c9cdd888f75fd99b987de5152cd77e Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
| * Add QDebugStateSaver to QVectorPath operator<<Jesus Fernandez2017-07-251-0/+1
| | | | | | | | | | | | | | | | | | &operator<<(QDebug &, const QVectorPath &) was modifying the QDebug state without restoring it after finishing. Change-Id: I28c377bc99bfeb5a7bc67ca9affa8123f04583df Coverity-Id: 11375 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * QPMCache::remove(): Do not dereference erased iteratorFriedemann Kleint2017-07-191-1/+2
| | | | | | | | | | | | | | | | Fixes a crash in tst_QGL::textureCleanup() (developer build). Amends 467b15a20c3d6eb611ea5f6ccffd5fc0df81b0c4. Change-Id: I7026b3c2a27c02a80b995fde67a832dc2d19031d Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * Fix QHighDpi::fromNativeLocalExposedRegion rounding errorsTor Arne Vestbø2017-07-191-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Calling bottom/right/bottomRight on a QRect is discouraged, as it does not give the true bottom-right corner of the rectangle, instead giving a point one unit to the left and top of the true bottom right. Dividing this point by a scale factor of e.g. 2, and then using qCeil on the bottom right x and y coordinates would result in a pointRegion that was 1x1 * scaleFactor larger than it should, manifesting as rendering issues at later stages. We can get away from the whole problem by initially converting the QRect to a QRectF, and basing the pointRegion's rect on the scaled size instead of bottom-right coordinates. Change-Id: I4d4895660655cfa8749c93c7d2573ae79cd7898b Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | Implement graph layers support in QShaderGeneratorKevin Ottens2017-08-022-5/+13
| | | | | | | | | | Change-Id: I823f7866bc5e1f3b262f1aacf4c341dabda7305d Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Add support for layers in QShaderGraphLoader formatKevin Ottens2017-08-021-0/+14
| | | | | | | | | | Change-Id: I5038600e73523ac7eb37a88ddff1f942af18f18e Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Implement graph layers support in QShaderGraphKevin Ottens2017-08-022-8/+34
| | | | | | | | | | | | | | | | | | | | | | When creating the statements, it is now possible to pass a list of enabled layer names. Every node or edge which is not in the list of enabled layers will be pruned from the graph prior to traversal. Note that an empty layer list for a node or an edge means it is on all layers. Change-Id: I61a4df7d395b4beb42ee55ce08fef8ebe04263c9 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Add the layer concept to QShaderNode and QShaderGraph::EdgeKevin Ottens2017-08-023-0/+15
| | | | | | | | | | | | | | This will be used in further commits Change-Id: I49977f1ea482b97dc0a159f69a0d2eda3865ec44 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Add support for QShaderLanguage enums in QShaderGeneratorKevin Ottens2017-08-021-5/+227
| | | | | | | | | | Change-Id: I93306d783309cda09fedae3713afde851df3e9a3 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Extend the parameter support in QShaderGraphLoader for richer typesKevin Ottens2017-08-021-1/+25
| | | | | | | | | | | | | | In particular, go through QMetaType/QMetaEnum to deal with enums. Change-Id: I2e847ba328eb46609b86b3dfd6c4dbf532d78b7d Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Extend the parameter support in QShaderNodeLoader for richer typesKevin Ottens2017-08-021-1/+25
| | | | | | | | | | | | | | In particular, go through QMetaType/QMetaEnum to deal with enums. Change-Id: Idbe16c913c1d471a4a91d219f77876e498c192d9 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | [Shader Graph Gen.] Introduce QShaderLanguageKevin Ottens2017-08-023-0/+221
| | | | | | | | | | | | | | | | This is a new namespace with helper enums to have richer parameters available to QShaderNode. Will be used in further commits. Change-Id: I9a61481c1e89ddd08327211e90eeabf0172c3b7a Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Add API to disable text shaping on fontsEskil Abrahamsen Blomfeldt2017-07-267-32/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the past, we had an undocumented text flag that worked with one of the QPainter::drawText() overloads. This was never intended as public API and served a specific cause in Qt WebKit at one point. But there is a general need for such API, as disabling shaping features easily gives 25% performance improvement on text rendering even for fairly short strings. This patch adds a new style strategy flag to disable shaping and will just uses the CMAP and HDMX tables to get glyph indices and advances for the characters. In Qt 6, the TextBypassShaping flag can be removed completely and be replaced by the style strategy. [ChangeLog][QtGui][Text] Added QFont::PreferNoShaping style strategy to support improvements to performance at the expense of some cosmetic font features. Task-number: QTBUG-56728 Change-Id: I48e025dcc06afe02824bf5b5011702a7e0036f6d Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | doc: minor cleanup in QPlatformWindow::setGeometry()Gatis Paeglis2017-07-251-2/+3
| | | | | | | | | | | | | | | | | | | | This patch amends a4c8129. This is more consistent with other parts in QPlatformWindow docs. Change-Id: I26d7a91849f3fde3ab2a0f3c81e00a5f9c830707 Reviewed-by: Jesus Fernandez <Jesus.Fernandez@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | Fix some qdoc warnings for 5.10Friedemann Kleint2017-07-251-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | src/corelib/io/qfiledevice.cpp:741: warning: Can't link to 'setFileName()' src/corelib/io/qfiledevice.cpp:772: warning: Can't link to 'setFileName()' src/corelib/io/qfiledevice.cpp:790: warning: No such parameter 'time' in QFileDevice::setFileTime() src/corelib/io/qfiledevice.cpp:790: warning: Undocumented parameter 'fileTime' in QFileDevice::setFileTime() src/corelib/io/qfileinfo.cpp:1344: warning: Can't link to 'FileTime' src/corelib/kernel/qcoreapplication.cpp:2007: warning: Can't link to 'isTranslatorInstalled()' src/gui/opengl/qopenglextrafunctions.h:468: warning: No documentation for 'QOpenGLExtraFunctions::glBlendBarrier(void )' src/gui/opengl/qopenglextrafunctions.h:494: warning: No documentation for 'QOpenGLExtraFunctions::glGetGraphicsResetStatus(void )' src/gui/opengl/qopenglextrafunctions.h:475: warning: No documentation for 'QOpenGLExtraFunctions::glPopDebugGroup(void )' src/sql/models/qsqlquerymodel.cpp:217: warning: Unknown command '\override' Change-Id: Ide0ce911f6faf964fda8f32fac433da7d2cb11de Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Add QPlatformWindow::initialize() for two-step window creationTor Arne Vestbø2017-07-173-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The QWindow::create method calls createPlatformWindow, and assigns the result to d->platformWindow. If the platform sends any sort of events synchronously during the creation, the event will be delivered to a QWindow that doesn't have a handle() yet, resulting in noop handling of the event, or crashes. To mitigate this situations, platforms should do as little a possible in the QPlatformWindow constructor, and leave initialization to the new method, where the QWindow will have a handle(). The macOS platform plugin still has a m_initialized guard, to prevent sending geometry changes during initialization, as this will result in a resize event before a show event. This forced behavior seems dubious, but is left for a followup patch. Task-number: QTBUG-61977 Change-Id: I04d32d93391e89d068752b719270438e7024ad46 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Flesh out and clean up QBackingStore documentationTor Arne Vestbø2017-07-144-72/+74
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some of the functions had wording that suggested people subclass QBackingStore, probably because the docs came from QWindowSurface in QWS times. Clarify the role of the region, window, and offset arguments to flush(), in the case of flushing child windows. Document that paintDevice() is only valid after calling beginPaint(), and should not be cached. Although our own QRasterWindow, and the rasterwindow example, both allow backingstores for child windows, and it works in practice on a few platforms, we keep the documentation stating that they should only be used for top level windows, until we've verified and formalized support for this across platforms. Change-Id: I7b4d6128a0cd2faeb2af9405ac1bcca46440ead1 Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into devGabriel de Dietrich2017-07-133-19/+49
|\| | | | | | | | | | | | | Conflicts: src/widgets/widgets/qmainwindowlayout.cpp Change-Id: I306b4f5ad11bceb336c9091241b468d455fe6bb6
| * Fix buffer overflow in text blendingAllan Sandfeld Jensen2017-07-111-4/+4
| | | | | | | | | | | | | | | | | | Clip buffers being converted to those being worked on so we don't write outside the lines. Task-number: QTBUG-61863 Change-Id: Icc7c6c0946fa522b5afeca0663fc2b45151b1897 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
| * Fix modernize-use-bool-literals issuesKevin Funk2017-07-081-2/+2
| | | | | | | | | | | | | | | | | | | | | | Reported by clang-tidy. Skipped fixes in implementation files, only changed headers. Change-Id: I5cfd266b3d4046f90baebc0c538b1b6ab03a02d2 Reviewed-by: Volker Krause <volker.krause@kdab.com> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * Fix polygon stroking with cosmetic penAllan Sandfeld Jensen2017-07-051-13/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix a number of issues that caused polygons to not always be drawn fully connected. Ensures the original lastPixel is set when drawing closed polygons, ensure we don't round away from the original starting point, and add handling of edges that need to be rounded half a pixel sideways to line up with endpoints. Task-number: QTBUG-27053 Change-Id: Ib51ee5623a629996af51a0967096383f04e91e2f Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* | Fix deprecation warningsAllan Sandfeld Jensen2017-07-112-2/+2
| | | | | | | | | | | | | | Switch to QImage::sizeInBytes for huge QImage support. Change-Id: I0145f204dd2db6670e199c320fff9064b4a97ef4 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | Document expose event behaviorMorten Johan Sørvig2017-07-112-1/+22
| | | | | | | | | | | | | | | | | | | | | | | | Document that "visible"-but-obscured windows may not get expose events for various audiences: QTestLib users, platform plugin authors and on the QExposeEvent itself. QWindow::exposeEvent() already has this documented and is not changed. Task-number: QTBUG-50414 Change-Id: I91042e8b1c70e48f10e692b2e80367d242a8ccbe Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | Add support for parameters in QShaderGeneratorKevin Ottens2017-07-081-2/+19
| | | | | | | | | | Change-Id: Iff8fec51ddbf9b018cb5ec3aff357125134013eb Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Add support for node parameters in QShaderGraphLoaderKevin Ottens2017-07-081-0/+9
| | | | | | | | | | | | | | | | Now the parameters from the prototypes are used as default values and the graph file can overload them. Change-Id: I9a8a73963c7e578bd0a34e96f76f147a12224f4f Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Add support for node parameters in QShaderNodesLoaderKevin Ottens2017-07-081-0/+8
| | | | | | | | | | | | | | | | This will allow to make the prototypes more extensible when referred to from a graph file while providing some sane defaults. Change-Id: I1ae10182427d8a7d29c51a64e19e99139494ea92 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Add parameters to QShaderNodeKevin Ottens2017-07-082-0/+26
| | | | | | | | | | | | | | | | | | This will allow to create nodes having an entry point for tuning, still need to be exploited by the loaders and the shader generator. Coming in further commits. Change-Id: I8384b0f528c9919e9f8d35102adde2b307f08b80 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Allow QImage with more than 2GByte of image dataAllan Sandfeld Jensen2017-07-0814-52/+74
| | | | | | | | | | | | | | | | | | | | | | | | Changes internal data-size and pointer calculations to qssize_t. Adds new sizeInBytes() accessor to read byte size, and marks the old one deprecated. Task-number: QTBUG-50912 Change-Id: Idf0c2010542b0ec1c9abef8afd02d6db07f43e6d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Ensure all platforms send geometry events if request was not fulfilledTor Arne Vestbø2017-07-074-28/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The logic of deciding whether or not to send resize and move events has been centralized in QGuiApplication. This ensures that if a window with geometry 100,100+200x200 is moved and resized to e.g. 0,0+100x100, but the window manager denies the request (because the window would e.g. overlap with system UI), and issues a geometry update with the original geometry, 100,100+200x200, we will still treat that as warrant of a move/resize event to the application, so the application knows that its position and size is as before. [ChangeLog][Qt Gui][QPA] QWindowSystemInterfacePrivate::handleGeometryChange no longer takes the old geometry as an argument. Task-number: QTBUG-57608 Change-Id: I1d471cc7a257fef958bdb1e56184fa95489403a3 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Relieve platform plugins of having to persist geometry on WM callbacksTor Arne Vestbø2017-07-072-4/+19
| | | | | | | | | | | | | | | | | | We can offload this to QGuiApplication, just like the geometry of the QWindow is set. This ensures that all platforms behave the same, and that the documentation of QPlatformWindow::setGeometry is adhered. Change-Id: I19dbc32cb4fb146d716ec289c28030a547d3afaa Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into devLiang Qi2017-07-063-43/+37
|\| | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: I43531e087bb810889d5c1fbfcdffb29b78804839
| * Fix capitalization of x11-xcb pkg-config module nameDmitry Shachnev2017-07-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | $ pkg-config --exists X11-xcb && echo True $ pkg-config --exists x11-xcb && echo True True See https://cgit.freedesktop.org/xorg/lib/libX11/tree/x11-xcb.pc.in. Change-Id: I1485f124e2926bb1c6a2b5eb83c4963c095d0f12 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * Fix detection of AT-SPIBernhard Rosenkränzer2017-07-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Building qtbase 5.9.1 on Linux always results in a build with accessibility support disabled. The problem is that the config option for accessibility-atspi-bridge checks for config.atspi, which isn't defined anywhere - it should check for libs.atspi (which is set if pkg-config finds atspi-2) instead. [ChangeLog][QtGui][Platform Specific Changes][Linux/XCB] Fixed detection of AT-SPI, allowing accessibility support to be built again. Task-number: QTBUG-61731 Change-Id: If3bd5dfccda40158c566f8507e34b6877b59b6fb Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io> Reviewed-by: Bernhard Rosenkränzer <bero@lindev.ch>
| * Fix BMP ImageFormat for semi-transparent filesAllan Sandfeld Jensen2017-07-032-41/+35
| | | | | | | | | | | | | | | | | | Reads the v4 and v5 info-header together with the rest of the info- headers, and use that to report the correct image format before decoding. Change-Id: I69e2bcc54367b7f14820815ae2ae1fa2d8d5dc8c Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* | Use qRadiansToDegrees() and qDegreesToRadians() more widelyEdward Welbourne2017-07-053-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Especially in examples, where we should show off our convenience functions, prefer calling these functions over doing arithmetic with M_PI (or approximations thereto) and 180 (give or take simple factors). This incidentally documents what's going on, just by the name of the function used (and reveals at least one place where variables were misnamed; the return from atan is in radians, *not* degrees). Task-number: QTBUG-58083 Change-Id: I6e5d66721cafab423378f970af525400423e971e Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | Merge remote-tracking branch 'origin/5.9' into devLiang Qi2017-07-0411-39/+45
|\| | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/io/qprocess_unix.cpp src/plugins/platforms/xcb/qxcbconnection.cpp src/plugins/platforms/xcb/qxcbwindow.cpp src/widgets/util/util.pri tests/auto/corelib/thread/qthread/qthread.pro tests/auto/corelib/thread/qthread/tst_qthread.cpp Change-Id: I5c45ab54d46d3c75a5c6c116777ebf5bc47a871b
| * xcb: Replace XCB_USE_XINPUT define by QT_CONFIG macroAlexander Volkov2017-06-291-1/+1
| | | | | | | | | | | | | | | | .. and remove it from qxcbconnection_xi2.cpp as this file is build _only_ when xinput2 is available. Change-Id: I66d6a299c120fc034f8519cd188e1b845d5bd1bc Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
| * Convert features.whatsthis to QT_[REQUIRE_]CONFIGStephan Binner2017-06-296-7/+13
| | | | | | | | | | | | | | Move feature definition to gui/configure.json Change-Id: I00b35c0e259d0a695d84a9bf6803eba74d41465a Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * Fix GCC 8 warnings about ignored const on cast result typesMarc Mutz2017-06-281-1/+1
| | | | | | | | | | | | | | | | | | | | qdrawhelper.cpp:1365:25: error: type qualifiers ignored on cast result type [-Werror=ignored-qualifiers] for (; i < count && (const uintptr_t)buffer & 0xF; ++i) { ^~~~~~~~~~~~~~~~~~~~~~~ etc... Change-Id: I702f9aada24ad49ebc7ede0a04e5afc1b0164e30 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>