summaryrefslogtreecommitdiffstats
path: root/src/gui
Commit message (Collapse)AuthorAgeFilesLines
* QPathSegments: set pathId to zero in ctorAnton Kudryavtsev2016-01-141-1/+2
| | | | | Change-Id: Iaa4349914fbeca9c64863addb9892412e1bad65b Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* Merge "Merge remote-tracking branch 'origin/5.6' into dev" into refs/staging/devSimon Hausmann2016-01-134-52/+39
|\
| * Merge remote-tracking branch 'origin/5.6' into devSimon Hausmann2016-01-124-52/+39
| |\ | | | | | | | | | Change-Id: I5839bded07e23af65ced9491c4f50242f964dd31
| | * Fix a few container detachmentsSérgio Martins2016-01-101-1/+1
| | | | | | | | | | | | | | | Change-Id: I018a1fe4bdbbe42b683793d7ddbf19f464d6e3b0 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
| | * Use backing store formats with alphaAllan Sandfeld Jensen2016-01-083-51/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We depend on being able to punch holes in the backing store when integrating with FBO elements. To do that we need a format with an alpha channel. This was only working previously because RGB32 didn't mask when filling or when converting to ARGB32_PM, but other formats didn't. Also unifies the logic for getting alpha versions of QImage formats. Task-number: QTBUG-50281 Change-Id: Ied1325f60e2b67d9ea2dfa9701b06fc2231ebfca Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* | | QStaticTextItem: use smart pointer membersMarc Mutz2016-01-122-60/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... so we can drop the user-defined copy special member functions and the destructor. As a side-effect, enables the move special member functions, which were previously inhibited by the presence of the now-removed functions, and makes the copy constructor safe for self-assignment. Change-Id: I430f83a6a08b1f5ee94b52f52e4d80fa1139d1c1 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | | QColor: fix misleading code in op==Marc Mutz2016-01-121-2/+1
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For HSL colors, the (heavily over-parenthesized) code compared hslHue values mod 36000, _and also_ for equality. Of course, the second comparison is dead code. This was a cut'n'paste error from the non-HSL comparison. So, remove it. And also some of the over-parenthesization. There are no tests for operator==, and the HSL color comparison is completely opaque for me, so I'm not going to write any for this trivial change. Change-Id: I74572273730cb5cc9f427c524c268ba3f90304c1 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | QSyntaxHighlighterPrivate: use erase and std::remove_if with QVectorAnton Kudryavtsev2016-01-111-9/+11
| | | | | | | | | | | | | | | | ... instead of using erase in a loop, with quadratic complexity. Change-Id: If30c6c99a775aec07eef9ddf953e944dc916b5a2 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | Merge remote-tracking branch 'origin/5.6' into devFrederik Gladhorn2016-01-088-172/+122
|\| | | | | | | | | | | Based on merge done by Liang Qi Change-Id: Id566e5b9f284d29bff2199f13f9417c660f5b26f
| * Fix offset and size for native child rtt widgetsLaszlo Agocs2016-01-071-11/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Render-to-texture widgets that are native children may have a non-zero offset telling the position within the top-level widget. The size is usually different (smaller) than the tlw's size as well. An unfortunate optimization attempt led to ignoring the size for native children with offset (0, 0). This resulted in interesting rendering artifacts whenever such widgets were placed in the top-left corner of the toplevel. This is now corrected. Task-number: QTBUG-48130 Change-Id: If449610c3f3333cb73ae149efaefd7ef42953951 Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
| * doc: correct documentation of QT_AUTO_SCREEN_SCALE_FACTOR env varShawn Rutledge2016-01-071-1/+1
| | | | | | | | | | Change-Id: I4fa57279b23911893a615fe8a3ce9854d0fec971 Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
| * QtGui: Don't set screen to a child window when processing screen eventsBłażej Szczygieł2016-01-071-4/+6
| | | | | | | | | | | | | | | | | | Setting a screen to a child window causes a warning message. This patch prevents the debug message by catching incorrect behavior made by QPA earlier. Change-Id: Idf3ac02290a18afc134f19c2b91348dc009ca4ca Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
| * QtGui: Fix obtaining the top level window at a pointBłażej Szczygieł2016-01-071-10/+30
| | | | | | | | | | | | | | | | | | | | Find the top level window on the primary virtual desktop first to avoid obtaining a window which doesn't belong to the primary virtual desktop when screen geometry is similar. Change-Id: I78fdfa0b5146d0ba9b912338adeb612c102c4ac3 Reviewed-by: Adam Majer <adamm@zombino.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
| * QtGui: Don't set a screen to a child windowBłażej Szczygieł2016-01-061-7/+9
| | | | | | | | | | | | | | | | This is a partial revert of eaa3a9d0108cdf692f1686cafefb7b834f0e5af6 Task-number: QTBUG-50081 Change-Id: Ic3dc4daa90d7a968a4ebf45d3029c99a12985686 Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
| * Avoid unnecessary detaching of the pending deletions list.Volker Krause2016-01-061-3/+3
| | | | | | | | | | | | | | | | | | | | | | This code seems to be hit three times per frame in a hybrid QQ2/Qt3D app, quickly generating thousands of allocations here via the detach in begin(). Heaptrack confirms they are all gone now. Change-Id: I7d09f3f5c2b24a2590b701216715055751306e82 Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
| * Don't detach QGradientStopsSérgio Martins2016-01-051-1/+1
| | | | | | | | | | Change-Id: I1ae84d0ae825e9fb474d4fab45b0c475a3878b25 Reviewed-by: David Faure <david.faure@kdab.com>
| * QOpenGLTexture: fix target for compressed texturesMauro Persano2016-01-041-138/+70
| | | | | | | | | | | | | | | | | | | | | | Trying to set data for a compressed cubemap texture face fails, because the code incorrectly tries to bind to a cubemap face target. This was already fixed for uncompressed textures. Instead of duplicating the code, moved the texture binding/unbinding code to a RAII class. Change-Id: I8f1cb7fc661b919200f85c3465d6e6e3c22d0871 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * Fix QPainter::rotate() documentationMitch Curtis2016-01-041-1/+1
| | | | | | | | | | Change-Id: I5d11f84181cad9be644e850c83459b47ec2f2f15 Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
| * Fix crash because of NULL screen in QXcbWindowBłażej Szczygieł2016-01-041-8/+6
| | | | | | | | | | | | Change-Id: If7bbe3ad1656dadcb098bcd3ece2e7b064eeb44d Task-number: QTBUG-50081 Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
| * Fix broken permission to mode mappingFrank Meerkoetter2015-12-191-3/+3
| | | | | | | | | | | | | | Fixes coverity CID154258. Change-Id: Ia958d24c533c4f0077abd363ee4c041cc2cdb6f0 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* | QFactoryLoader: generalize qLoadPlugin()Marc Mutz2016-01-054-20/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - Use perfect forwarding for the additional argument. - Provide a variadic template version - Deprecate qLoadPlugin1() — there's no reason for a different name — and fix all callers in qtbase. - Provide non-variadic overloads for up to three additional args (QPlatformIntegration rolled its own function because it needs three args). Change-Id: I72fb2dd9a021de704cbf5e4b6ea31c80447fb3b1 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | QPlatformTheme: Resync StandardPixmap with QStyle::StandardPixmapFrank Richter2015-12-311-0/+1
| | | | | | | | | | Change-Id: I17a91c378175dbbe8066bccb94cc93f0a1fd3d71 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
* | QGraphicsScene: prevent lots of detaching d/t editing of copiesMarc Mutz2015-12-221-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QTouchEvent::touchPoints() returns a const-&, but the old code took a copy, over which it then iterated, modifying the touch points, causing (necessary) detaches of both the list and the touch points. Befriend QTouchEvent and modify the list in-place, avoiding all detaches in the likely case that QTouchPoint contains the only copy of the touch point list. This is all the more important as the function is called once for every item-under-mouse in sendTouchBeginEvent(). Port to C++11 range-for as a drive-by. Change-Id: I2f74d19845711d97e3566886123b5d18d55db74c Reviewed-by: Andreas Aardal Hanssen <andreas@hanssen.name>
* | Make use of new QHash::erase(const_iterator) overloadMarc Mutz2015-12-191-2/+2
| | | | | | | | | | | | | | | | | | | | Drive-by changes: - use auto for iterators - add Q_UNLIKELY for conditions leading to a qWarning etc Change-Id: Iff8f36d67c96674d354a501b26640f73c15ce58d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Sérgio Martins <iamsergio@gmail.com>
* | Fix linux-clang build.Erik Verbruggen2015-12-191-0/+1
| | | | | | | | | | | | | | | | | | Clang's integrated assembler does not accept this assembler syntax, so tell it to only run the preprocessor, and pipe everything through the system assembler. Change-Id: I6bd884473e634837b47480546a1d1d8d62e7a2b6 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.6' into devLiang Qi2015-12-1815-47/+127
|\| | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gui/painting/painting.pri src/plugins/platforms/xcb/qxcbconnection.cpp tests/auto/corelib/thread/qthreadstorage/qthreadstorage.pro tests/auto/corelib/tools/qlocale/test/test.pro tests/auto/gui/kernel/qwindow/tst_qwindow.cpp tools/configure/environment.cpp Change-Id: I9c40f458b89b2c206de2d2c24e90b5f679c93495
| * Use Q_CONSTRUCTOR_FUNCTION instead of doing the same manuallyAllan Sandfeld Jensen2015-12-172-23/+7
| | | | | | | | | | | | | | | | Use the macro we have that does exactly what we want without the boiler plate code. Change-Id: I25c67a71f83f91f50128c8a54033ee53ad28e88a Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
| * QOpenGLTexture: fix the number of faces returned by faces()Giuseppe D'Angelo2015-12-161-0/+2
| | | | | | | | | | Change-Id: I7bf08eee357fb9641ff9118edcf97809f98605b7 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * QOpenGLTexture: check textureId for knowing whether a texture was createdGiuseppe D'Angelo2015-12-161-1/+1
| | | | | | | | | | Change-Id: I0775ad9538a7793dc6628abe4556404634ae0462 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * QOpenGLTexturePrivate: remove unused member variableGiuseppe D'Angelo2015-12-161-1/+0
| | | | | | | | | | Change-Id: I4d897c522087654649547c0ca4750ba4dbfa5cbf Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * Cache font fallback families to reduce startup timeKonstantin Ritt2015-12-161-3/+52
| | | | | | | | | | Change-Id: I593708d76d513028ba1b59621b83cbc32e63d4e6 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
| * Use the cached font fallback families list in QFont::defaultFamily()Konstantin Ritt2015-12-151-2/+4
| | | | | | | | | | | | Change-Id: Iba1d9db05f7a09aabb81d0429e6081cd7710d381 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
| * Don't detach the color table vectorSérgio Martins2015-12-131-2/+3
| | | | | | | | | | | | Change-Id: Iec7814b0aca74ddc9744af358561b18b96d7a266 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
| * Remove iOS workaround for pixman drawhelpersTor Arne Vestbø2015-12-121-7/+2
| | | | | | | | | | | | Change-Id: I8636993571b04d8cda74708777ba3ef2bac09fb5 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
| * iOS: Enable non-pixman NEON drawhelpers for both 32 and 64-bitTor Arne Vestbø2015-12-123-11/+13
| | | | | | | | | | | | | | | | | | | | | | | | The pixman drawhelpers are implemented using GAS syntax, which the Clang assembler doesn't handle, nor do they work on 64-bit ARM, so we disable them selectively. They are only used for 16-bit surfaces anyways, so it not a big deal on iOS. (cherry picked from commit 49568df95450733dc4c273945e5ced218132c123) Change-Id: I70848981c794739d40a6a2d9a537307bc80d61a6 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
| * xcb: Use a placeholder QScreen when there are no outputs connectedBłażej Szczygieł2015-12-111-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If no screens are available, windows could disappear, could stop rendering graphics, or the application could crash. This is a real use case in several scenarios: with x11vnc, when all monitors are physically disconnected from a desktop machine, or in some cases even when the monitor sleeps. Now when the last screen is disconnected, it is transformed into a fake screen. When a physical screen appears, the fake QScreen is transformed into a representation of the physical screen. Every virtual desktop has its own fake screen, and primary screens must belong to the primary virtual desktop. It fixes updating screen geometry on temporarily disabled screens in the middle of the mode switch. Expected results: Windows don't disappear, the application doesn't crash, and QMenu is displayed on the appropriate screen. This reverts patch 51ada7734ad780178ecced11e0dff454dfc2e5f2 Change-Id: I6e8eb682b0c8425d08ffdaecbd4c6c7700c914b4 Task-number: QTBUG-42985 Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
| * QPlatformTheme: added TabButtonFont and GroupBoxTitleFontLiang Qi2015-12-101-0/+2
| | | | | | | | | | | | | | Which is needed by Qt Labs Controls. Change-Id: I2f91a1cbe8218170f894189b56f3fef77207eaec Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
| * Register QPA Menu, Dialog & SysTray enums & flagsJ-P Nurmi2015-12-093-0/+21
| | | | | | | | | | | | | | | | | | | | This allows QML Menu, Dialog & SystemTrayIcon to use the same enums without having to duplicate them. Change-Id: I1401583d3ae2ef07cdc795d2765fba07c9b30f2f Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
| * Fix debug operator for QRegion.Friedemann Kleint2015-12-091-6/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use QDebugStateSaver, drop the multiline format, check for null, empty and output rectangular regions as: QRegion(0,0 252x188) and complicated regions as: QRegion(size=4, bounds=(0,0 278x262) - [(0,0 278x13), (0,13 13x188), (265,13 13x188), (0,201 278x61)]) Change-Id: I82b8f58af08f7128e6cf2c2c8b06c4684fc6a9c8 Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com> Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
| * Reduce flushes with repaint() when GL-based compositing is activeLaszlo Agocs2015-12-092-0/+4
| | | | | | | | | | | | Task-number: QTBUG-49655 Change-Id: I7a5d08f681a7d87709aac745154730764040e922 Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
* | iOS: Implement support for QApplication::beep()Tor Arne Vestbø2015-12-172-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | Vibrates the device or plays an alert sound on devices that do not support vibration. The other implementations of beep() have been moved to QPlatformIntegration as a proper API instead of having them as invokables in QPlatformNativeInterface. Change-Id: Ic597dbef04b46d49862b070e78ddfc0d763829a2 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com> Reviewed-by: Kai Uwe Broulik <kde@privat.broulik.de>
* | NEON optimized bilinear samplingAllan Sandfeld Jensen2015-12-173-43/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds NEON version of interpolate_4_pixels used by smooth upscaling, and bilinear sampling. The SSE2 version is reordered to match the NEON version so they have the same order of operations and a faster version that loads directly into vector registers. Testing is extended so we have a test of smoothness that can catch more possible mistakes. Change-Id: I0de4aecf5cb79468e7c8f19f421aa24b2955547c Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* | Make native cursor handles accessible.Friedemann Kleint2015-12-142-0/+12
| | | | | | | | | | | | | | | | | | | | Add QWindowsNativeInterface::nativeResourceForCursor() and implement for Windows (returning the HCURSOR) and XCB (returning the xcb_cursor). Task-number: QTBUG-49386 Change-Id: I963869f6e8741449822ecbe6489f9c42a786c7a6 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | Fix inconsistent override warnings.Erik Verbruggen2015-12-102-4/+5
| | | | | | | | | | | | | | | | | | | | For example: ../../include/QtGui/5.7.0/QtGui/private/../../../../../../../../qt5-dev/qtbase/src/gui/painting/qpaintengine_blitter_p.h:67:18: warning: 'end' overrides a member function but is not marked 'override' [-Winconsistent-missing-override] Change-Id: I2845d8e4b5a7e11c57ac1933a6d152df1ef5d07f Reviewed-by: Jake Petroules <jake.petroules@theqtcompany.com>
* | QCosmeticStroker: fix misleading use of & on bool operandsAnton Kudryavtsev2015-12-101-2/+2
| | | | | | | | | | Change-Id: I0e885391b220c30fc1482446d1dc9a2be035d45a Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | iOS: Enable non-pixman NEON drawhelpers for both 32 and 64-bitTor Arne Vestbø2015-12-093-11/+13
| | | | | | | | | | | | | | | | | | | | The pixman drawhelpers are implemented using GAS syntax, which the Clang assembler doesn't handle, nor do they work on 64-bit ARM, so we disable them selectively. They are only used for 16-bit surfaces anyways, so it not a big deal on iOS. Change-Id: I78417fabd7f671f9c5d94b6e5fa5ce10d3fc1d27 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.6' into devSimon Hausmann2015-12-0814-59/+111
|\| | | | | | | Change-Id: I2532c7f7db5e6cc3ef09753d886279816dd662b2
| * QPlatformWindow::initialGeometry(): Pass screen when scaling.Friedemann Kleint2015-12-071-15/+16
| | | | | | | | | | | | | | | | | | Otherwise, the window may up outside the display area when centering on a secondary screen and the primary screen has a different scale factor. Task-number: QTBUG-49803 Change-Id: I91ec7c5348722a90012f80a247e662e96bcbb391 Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
| * Add QStyleHints::showIsMaximized().Friedemann Kleint2015-12-072-1/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | Expose QPlatformIntegration::ShowIsMaximized similarly to QPlatformIntegration::ShowIsFullScreen. This allows for applications to adapt their UI to mobile/desktop accordingly. Change-Id: Ic14d16fde11d7d2740b2f4092ae12e88a2f522fd Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com> Reviewed-by: Gunnar Sletta <gunnar@sletta.org> Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
| * Optimize qt_findAtNxFile by reducing the amount of allocationsOlivier Goffart2015-12-071-4/+5
| | | | | | | | | | Change-Id: I94a2b40933f9469f509a4cc54d68138696704ba2 Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>