summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix determination of OpenGL include paths on macOSJoerg Bornemann2019-02-122-5/+1
| | | | | | | | | Since include paths are fully resolved, we must remove the code that prepends the SDK path to the OpenGL include paths. Change-Id: I80d74629c7fc989a89c3f1d95d6de43b4c1de17a Fixes: QTBUG-73736 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Widgets: Only set WA_WState_ExplicitShowHide via public APITor Arne Vestbø2019-02-123-54/+58
| | | | | | | | | | | Calling QWindow::setVisible doesn't have the same semantics, so we split off QWidget::setVisible into QWidgetPrivate::setVisible and call that instead from QWidgetWindow. Task-number QTBUG-67504 Change-Id: Ie50938d4a1d33ad4b59c742e75e3ca30f1b19399 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Fix crash when using Qt Virtual Keyboard with QCalendarWidgetMitch Curtis2019-02-121-12/+15
| | | | | | | | | | For some reason, QCalendarWidget gets filtered press events that were intended for Qt Virtual Keyboard's input panel (QQuickView), so we have to make sure that the window is indeed a QWidget - no static_cast. Change-Id: Ibc9dce956918ac50d1fed8231a445b7338aef09c Fixes: QTBUG-72925 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* eglfs: avoid breaking builds without EGL_EXT_platform_baseLaszlo Agocs2019-02-122-1/+4
| | | | | | Change-Id: I9183e17b42c00435f20c00a414e1f20aa3972351 Fixes: QTBUG-72559 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* configure: use proper separator for mingw librariesEric Lemanissier2019-02-121-1/+4
| | | | | | | Change-Id: Ic328691fe2f08e918c1bb67910521d85b274a8fd Fixes: QTBUG-73466 Reviewed-by: Kai Koehne <kai.koehne@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Win32 makefile for qmake: Use proper linkerYuhang Zhao2019-02-111-2/+2
| | | | | | | | Use xilink for ICC and lld-link for Clang. Change-Id: I13c74339ae9e3e5c97210afd20a53c7e474b873b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* macOS: Don't send redundant geometry change events for top level windowsTor Arne Vestbø2019-02-111-0/+3
| | | | | | | | Top level windows already get their geometry changes via windowDidMove and windowDidResize. Change-Id: Ie6370aa290ef48c8b3ac770e77adb57ce43cbb47 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* macOS: Treat default swapInterval (-1) as vsync-enabled display-linkTor Arne Vestbø2019-02-113-6/+12
| | | | | Change-Id: I6d3d241d3813bfac36155ad219d4a338cb1ef6f7 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* macOS: Simplify mouse trackingTor Arne Vestbø2019-02-112-33/+25
| | | | | | | | | | We don't need to react to updateTrackingAreas, as we only have a single tracking area that we can add once and forget. By asking AppKit to track all events in the visible rect, we can also pass a zero-rect for the tracking area. Change-Id: I2545712adc49b51904d5adc11f1faca36901b49d Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* macOS: Explain QNSViewMouseMoveHelper for future generationsTor Arne Vestbø2019-02-111-0/+16
| | | | | Change-Id: I61f38ee38d5afb657cd8b76b2b9dba1dac7167b4 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* harbuzzng: Remove assumption about Core Text working in 96 DPITor Arne Vestbø2019-02-111-21/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Core Text doesn't actually have a concept of DPI internally, as it doesn't rasterize anything by itself, it just generates vector paths that get passed along to Core Graphics. In practice this means Core Text operates in the classical macOS logical DPI of 72, with one typographic point corresponding to one point in the Core Graphics coordinate system, which for a normal bitmap context then corresponds to one pixel -- or two pixels for a "retina" context with a 2x scale transform. Scaling the font point sizes given to HarfBuzz to an assumed DPI of 96 is problematic with this in mind, as fonts with optical features such as 'trak' tables for tracking, or color glyphs, will then base the metrics off of the wrong point size compared to what the client asked for. This in turn causes mismatches between the metrics of the shaped text and the actual rasterization, which doesn't include the 72 to 96 DPI scaling. If a 96 DPI is needed, such as on the Web, the scaling should be done outside of HarfBuzz, allowing the client to keep the DPI of the shaping in sync with the rasterization. The recommended way to do that is by scaling the font point size, not by applying a transform to the target Core Graphics context, to let Core Text choose the right optical features of the target point size, as described in WWDC 2015 session 804: https://developer.apple.com/videos/play/wwdc2015/804/ GitHub-PR: https://github.com/harfbuzz/harfbuzz/pull/1484 Change-Id: I830f0cd7a82552422bbe09226e2d571e246fe3f4 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix two smaller bugs in the BiDi engineLars Knoll2019-02-093-20/+23
| | | | | | | | | | | | | | | | | | Remove wrong code changing the Bido level of line separators. This lead to wrong ordering of the string in case the line separator was meant to be ignored and the string should be rendered in one line. Line breaks are anyways already reset to the paragraph level by the algorithm and reordering is done on a line by line basis, so this will work correctly when doing proper line breaking. Secondly fix a small bug found while testing the above change, where we wouldn't set the correct levels for boundary neutrals and explicit embedding chars because we did that processing before we were fully done with the BiDi algorithm. Change-Id: Id88f91cd58d2ab29be864aef34ca1727c1586611 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Fix an assertion in the BiDi algorithmLars Knoll2019-02-092-14/+34
| | | | | | | | | | | | | The algorithm has been treating DirB inconsistently so far. initScriptAnalysisAndIsolatePairs was treating it differently than generateDireationalRuns leading to assertions. It wasn't visible in our test data, as DirB is in almost all cases the paragraph separator, where we split strings anyway. Change-Id: I7dc0e7bbcf30ee84d8781ea06097da023e371f05 Fixes: QTBUG-73238 Reviewed-by: Robert Loehning <robert.loehning@qt.io> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Fix QTextTable:insertRows() for tables with spanning cellsLars Knoll2019-02-092-4/+14
| | | | | | | | | Don't resize the height of cells spanning several columns multiple times. Fixes: QTBUG-36713 Change-Id: I5eb45892f2008e6a4f85745b56efd04323e25673 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Avoid read-outside-array error by QStringRef over-reachEdward Welbourne2019-02-082-5/+19
| | | | | | | | | | | | | | | | | | | Constructing a QStringRef directly from the string, offset and a length is UB if the offset + length exceeds the string's length. Thanks to Robert Loehning and libFuzzer for finding this. QString::midRef (as correctly used in both changed uses of QStringRef, since 432d3b69629) takes care of that for us. Changed one UB case and a matching but correct case, for consistency. In the process, deduplicate a QStringList look-up. Added tests to exercise the code (but the one that exercises the formerly UB case doesn't crash before the fix, so isn't very useful; the invalid read is only outside the array it's scanning, not outside allocated memory). Change-Id: I7051bbbc0267dd7ec0a8f75eee2034d0b7eb75a2 Reviewed-by: Anton Kudryavtsev <antkudr@mail.ru> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix QDeadlineTimer::Forever case in QWaitConditionMorten Johan Sørvig2019-02-081-1/+3
| | | | | | | | | | | | | The timeout will never be larger than numeric_limits<quint64>::max(), especially on platforms with 32-bit longs. Instead, test if the timeout is exactly numeric_limits<unsigned long>::max(), which matches the ULONG_MAX value which is documented to indicate no timeout. Change-Id: Ib663eddb5703797c50c04fd4eae60bd64f379d1c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* winrt qpa: Remove last windows phone leftoversOliver Wolff2019-02-084-40/+0
| | | | | | | | WINAPI_PARTITION_PHONE_APP is defined for all our winrt mkspecs nowadays so the code can be used unconditionally. Change-Id: I4f2b60a0b9bba5b407ebbc213c44a0e5b4057855 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* winrt: Warn if OpenGL ES version is set to a value > 3.0Oliver Wolff2019-02-081-0/+4
| | | | | | | | | Our bundled ANGLE library only partially supports OpenGL ES > 3.0 so warn users that there might be dragons. Change-Id: I16711fe9f449e85dd8b2369e1fcec6c9f81d5ae0 Reviewed-by: Andre de la Rocha <andre.rocha@qt.io> Reviewed-by: Miguel Costa <miguel.costa@qt.io>
* windows: Support OpenGL ES versions > 3.0 with ANGLEOliver Wolff2019-02-081-2/+8
| | | | | | | | | | | Even though our ANGLE versions only partially supports OpenGL ES > 3.0, there are users who want to use functionality that is available. By setting major and minor version we can support this use case. Fixes: QTBUG-72762 Change-Id: I9a1d3009355693baa971deb3c4bbf14c595edf0b Reviewed-by: Andre de la Rocha <andre.rocha@qt.io> Reviewed-by: Miguel Costa <miguel.costa@qt.io>
* Revert "winrt: Skip context validation in ANGLE"Oliver Wolff2019-02-081-1/+0
| | | | | | | | | | | | | | | | | Our current ANGLE version (chromium/3280) relies on validation to be done when doing the rendering, as the validation at the same time completes the caching. Skipping the validation caused asserts and rendering issues. The part of the validation that failed before is now deactivated in Qt's copy of ANGLE as it is not relevant for our use case, so that validation can be re-enabled now. This reverts commit a1dec825f9aa9d7f86d740fd420f1c084463f507. Fixes: QTBUG-73317 Change-Id: I5fd176eaa0bc28d93ca93019b7092211fe5bcce5 Reviewed-by: Miguel Costa <miguel.costa@qt.io> Reviewed-by: Andre de la Rocha <andre.rocha@qt.io>
* winrt: Use ES3 ANGLE code path when blitting widgetsOliver Wolff2019-02-082-4/+5
| | | | | | | | | | | | | | We run into validation issues when using the ES2 code path when blitting widgets on winrt. By using ES3 we not only avoid this issue, but there might also be performance gains. We now call window()->format() instead of window()->requestedFormat as the latter will not respect the values that were set on initialization of the native window (which is done in QWinRTWindow's constructor). Change-Id: I5ed7a9326691375f9c9cb5d8d22ee8d1b643fbd0 Reviewed-by: Andre de la Rocha <andre.rocha@qt.io> Reviewed-by: Miguel Costa <miguel.costa@qt.io>
* Android: follow official android flags for cmakeBogDan Vatra2019-02-071-2/+5
| | | | | | | | Update our cflags and lflags with the ones found in android.toolchain.cmake Fixes: QTBUG-73274 Change-Id: Id9fd9bf04df959239abd3100090a1485e872b2f0 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* QToolButton: fix handling multi-line textsChristian Ehrlicher2019-02-072-2/+25
| | | | | | | | | | | | The patch to elide the QToolButton text when there is not enough space introduced a regression with multi-line text. Fix it by using the newly introduced common function to elide multi-line text. Fixes: QTBUG-72226 Change-Id: I066ebbd2f360add93406cc29bb4bbbebf599ba42 Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* QCommonStyle: factor out elided text calculationChristian Ehrlicher2019-02-072-61/+86
| | | | | | | | | | Factor out the calculation of the elided text from QCommonStylePrivate::viewItemDrawText() so it can be used by other painting functions. Change-Id: I28e6bfd2fe4d7c552848446fa9913df78589d15b Reviewed-by: Christian Andersen <csandersen3@gmail.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* QMetaObject::Connection overview documentation improvementsAndreas Hartmetz2019-02-061-4/+7
| | | | | | | | | Try to better describe what it is and what it does. Also mention its strongest use case. Change-Id: Ib5c3e8a3c9b96169c139c5d7e8995a6a49d7d5e1 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* Add testlib selftests for double and for non-finite float and doubleEdward Welbourne2019-02-0613-86/+2481
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tidied up the existing float tests in the process. (In particular, s/SUCCESS/PASS/ since that matches real test output.) These verify that QCOMPARE() handles floats and doubles as intended. Extended the existing qFuzzyCompare tests to probe the boundaries of the ranges of values of both types, in the process. Revised the toString<double> that qCompare() uses to give enough precision to actually show some of the differences being tested there (12 digits, to match what qFuzzyCompare tests, so as to show different values rather than, e.g. 1e12 for both expected and actual) and to give consistent results for infinities and NaN (MinGW had eccentric versions for these, leading to different output from tests, which thus failed); did the latter also for toString<float> and fixed stray zeros in MinGW's exponents (which made a kludge in tst_selftest.cpp redundant, so I removed that, too). That's further complicated handling of floating-point types, so let's just keep an eye on how expensive that's getting by adding a benchmark test for QTest::toString(). Unfortunately, default settings only get runs that take modest numbers of milliseconds (some as low as 40) while increasing this with -minumumvalue 100 or more gets the process killed - and I'm unable to find out who's doing the killing (it's not QProcess::kill, ::kill or the QtTest WatchDog, as far as I can tell). So results are rather noisy; the integral tests exhibit speed-ups by factors up to 5, and slow-downs by factors up to 100, between runs with and without this change, which does not affec the integral tests. The relatively modest slow-downs and speed-ups in the floating point tests thus seem likely to be happenstance rather than signal. Change-Id: I4a6bbbab6a43bf14a4089e96238a7c8da2c3127e Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Improve keyboard navigation in QListView when isWrapping is enabledAlexander Volkov2019-02-062-8/+51
| | | | | | | | | | Search the previous item or the next item in a model instead of searching them on visual layout. This way the cursor will not stop at the beginning or at the end of a row or a column. Fixes: QTBUG-14444 Change-Id: I0ef203a4dcd876e4c50559fb87e61585f07434d1 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Merge "Merge remote-tracking branch 'origin/5.12.1' into 5.12" into ↵Qt Forward Merge Bot2019-02-064-7/+9
|\ | | | | | | refs/staging/5.12
| * Merge remote-tracking branch 'origin/5.12.1' into 5.12Qt Forward Merge Bot2019-02-064-7/+9
| |\ | | | | | | | | | Change-Id: I486f3c51df4b60fe60b75ba642636a835a75f731
| | * Fix llvm-strip errorv5.12.1BogDan Vatra2019-01-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | In NDKr19 they removed "-strip-all-gnu" argument, now llvm-strip prints tons of: .../llvm-strip: error: unknown argument '-strip-all-gnu'. Change-Id: I11bb2d6abcc5f236730c57b5b93cc932c7ba58c6 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
| | * Fix corewlan configure testJoerg Bornemann2019-01-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Configure is unable to find header files that are located in frameworks. Work around that by specifying "include" on "test" level instead of "headers" on "corewlan" level. This amends commit 10adbc4f0f. Change-Id: I0650585eb9a4e881dc2e3733d8db40c6e50cf1f3 Fixes: QTBUG-72964 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| | * Disable NEON flags from Integrity compilerJanne Koskinen2019-01-251-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Integrity assembler doesn't understand NEON assembly statements. Compiler enables _ARM_NEON_ and _ARM_NEON to indicate that NEON intrinsics are available. _ARM_NEON_ and _ARM_NEON needs to be disabled to skip handwritten assembly code paths in Qt.Auto- vectorization is enabled without the flags enabled. Task-number: QTBUG-72716 Change-Id: I84cfbf98bd2af47740a79f4b300c1801017ee22c Reviewed-by: Tuukka Turunen <tuukka.turunen@qt.io> Reviewed-by: Kimmo Ollila <kimmo.ollila@qt.io> Reviewed-by: Timo Aarnipuro <timo.aarnipuro@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| | * Fix OpenGL library paths on INTEGRITY QC Snapdragon 820Kimmo Ollila2019-01-251-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After 521a85395da1a2728902816c072ec46bcb0ad380 configure doesn't find OpenGL libraries from QMAKE_LIBDIR, hence we use QMAKE_LIBDIR_OPENGL_ES2 and QMAKE_LIBDIR_EGL instead. Task-number: QTBUG-73136 Change-Id: Iaeac46000c5d684f601741cbef91ce745ceb4ea2 Reviewed-by: Janne Koskinen <janne.p.koskinen@qt.io>
* | | x86: Disable AVX support on 64-bit MinGWThiago Macieira2019-02-061-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GCC for 64-bit Windows has a bug that it fails to properly re-align the stack pointer for use with 256-bit memory addresses (AVX). Therefore, there's about a 50/50 chance that any function using AVX will have an improperly-aligned stack. In release mode, stack accesses should be rare, but in debug mode they happen frequently. Either way, this is a ticking time bomb, so we disable. Clang is not affected. 32-bit MinGW is not affected. 64-bit in other OSes with GCC are not affected. Fixes: QTBUG-73539 Change-Id: Id061f35c088044b69a15fffd1580967808f31671 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | | Fix "error: too many arguments to function media_get_entity_by_name()"Boubacar DIENE2019-02-061-2/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since the official v4l-utils-1.12.0 release, media_get_entity_by_name() function expects only two arguments instead of three as in older versions thus breaking build of eglfs_kms_vsp2 backend. Cf. https://git.linuxtv.org/v4l-utils.git/tree/utils/media-ctl/mediactl.h#n253 Fixes it by creating an overloaded wrapper function that will choose the right version based on the signature of the media_get_entity_by_name function pointer argument. Fixes: QTBUG-73427 Change-Id: Idab52558b6f2f23137456c21e33ece1ef0e9aa4e Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | | QWizard: Correctly calculate watermark size hintKari Oikarinen2019-02-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | If we have have AA_EnableHighDpiScaling on and have loaded a @2x image, layout calculations can't use the real pixels of the QPixmap directly. Fixes: QTBUG-73401 Change-Id: I1891411a0e359e0148476f73b6cc3a128893a374 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | | Blacklist tst_QGraphicsItem::cursor on WinRTKari Oikarinen2019-02-061-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | It is the flaky test causing most failures in qtbase at the moment. Task-number: QTBUG-73545 Change-Id: Id9c5db27ebd08a4cf3c119d2fada12fdf1a5d2a0 Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io> Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
* | | Fix install targets for generated private headersJoerg Bornemann2019-02-061-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Header files of modules that specify generated_privates are usually not yet available at qmake-time. Thus, the installation rule must not check for the file's existence. Change-Id: Ifc7ff95422912d255744c9006382ff181176ae77 Fixes: QTBUG-71340 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | | Normalize some SIGNAL/SLOT signaturesJoerg Bornemann2019-02-066-8/+8
|/ / | | | | | | | | | | | | ...for a minor performance gain. Change-Id: I4bef867055e069926fdc24fa98a6f94b6a0630e2 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | Include relevant example code in documentation of setUrlHandlerVolker Hilsheimer2019-02-061-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | By only looking at the function prototype, it's tempting to assume that the handler needs to be registered with the usual SLOT macro. That is not the case. The code snippet is already included in the class description, but it doesn't hurt to repeat it here. Change-Id: If24fdca41a4bd976ebd1156c9e1106469388265c Fixes: QTBUG-50484 Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* | Doc: decrease confusion about HSV vs HSL in QColorEirik Aavitsland2019-02-051-29/+37
| | | | | | | | | | | | | | | | | | | | The non-qualified hue() and saturation() etc. refers to those values in the HSV, not HSL, color model. Make this more explicit in the documentation to avoid confusion. Task-number: QTBUG-73129 Change-Id: Ief337672966ac72d0d0c3606d8d68acf01ffe7ee Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
* | Fix QColor::toCmyk() for rgb(0, 0, 0)Eirik Aavitsland2019-02-052-18/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | We translate all pure gray colors into cmyk having c,m,y=0 and only the k value expressing the darkness. But a fix introduced to avoid division by 0 caused rgb(0, 0, 0) to be an exception to this; it ended up being translated as c,m,y,k=1 instead. Fix by catching the potential div-by-0 situation earlier and directly set the orthodox cmyk translation: c,m,y=0,k=1. Fixes: QTBUG-73171 Change-Id: I3774eaf9d96e096ac5c47c55d28881bea2bd1309 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Painter path stroking: fix capping of beziers ending in tight turnsEirik Aavitsland2019-02-052-14/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | For some overly tight beziers where the start or end point and the next control point are closer than the pen width, the stroker's shifting algorithm will produce a start/end tangent pointing in the opposite direction from what is expected, for one of the sides. This would break the square and round capping logic. Fix by detecting the situation in the capping function and reversing the tangent when necessary. Change-Id: I48f4f017403d7b289b0483dd2b3a7ff1bbd0cf2a Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Fix xbm image format handler: properly reject invalid filesEirik Aavitsland2019-02-051-0/+4
| | | | | | | | | | | | | | | | | | The read_xbm_header() function is used to check for valid file header, containing valid width and height values. But in case of an invalid file, the check could depend on uninitialized variables. Change-Id: I9f933ed6e38d86109e5b5a8d55fe763ab928d749 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | QMenuItem: fix rendering with css stylingChristian Ehrlicher2019-02-051-14/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The rendering of a css styled menu item with icons or checkmark was partially fixed with aa1bc47942e2062dc7fad3e139bb4ceecc74f947 but introduced some other painting regressions, especially in RTL mode. Fix it by syncing the code with fusion and windows style. With this patch a menu text with a check mark but no icon is now aligned exactly the same as a menu text with a icon. Fixes: QTBUG-66380 Fixes: QTBUG-70491 Fixes: QTBUG-72817 Change-Id: I83a95d15eb130e7f72471820b53c3cd5554d9334 Reviewed-by: Nick D'Ademo <nickdademo@gmail.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | tst_QHeaderView: fix defaultSectionSizeTest() on High-DPI screensChristian Ehrlicher2019-02-051-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | tst_QHeaderView::defaultSectionSizeTest() fails on High-DPI screens because the default minimum section size is greater than the values used for testing the header sizes. Therefore the test will fail. Fix it by explicitly setting the minimum header size to something smaller than the test values. Also add a debug line to output the default minimum section sizes so other failures due to this problem can be debugged better. Fixes: QTBUG-73309 Change-Id: I257f341cef9381f140aa4d4f68376c5edadc39cc Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | macOS: Don't deliver update requests for windows that need displayTor Arne Vestbø2019-02-041-0/+11
| | | | | | | | | | | | | | | | | | | | If a window needs display due to e.g. being resized, we need to wait until the corresponding expose event has been delivered before we resume update requests, otherwise the update requests may result in partial paints that do not fully cover the area needing display. Change-Id: Ibfb54bfe3c2e85b606ef67d34a6a5fdb85456edd Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* | qmake: Add variables for setting the version number and name in AndroidAndy Shaw2019-02-043-1/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes it much easier to have the version information set for an Android APK without having to manually modify the AndroidManifest.xml each time. [ChangeLog][Android][qmake] Can now set the version name and code for Android using ANDROID_VERSION_NAME and ANDROID_VERSION_CODE respectively in the pro file. Change-Id: Ie6813bc3a7444f7baa5e772b93bc2695d9b81e57 Done-with: Markus Maier <markus.maier@rosenberger.de> Reviewed-by: Markus Maier <markus.maier@rosenberger.de> Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* | Make the Makefile a dependency of default targets for nmakeJoerg Bornemann2019-02-044-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the user changes the .pro file, the Makefile is supposed to be re-generated by calling qmake again. NMake however lacks a "Makefile remake feature" like GNU make has. The generated Makefiles for nmake however have already a proper Makefile target that can be used to re-generate the Makefile. What was missing is the dependency from an entry-target in the meta-Makefile. Now changes in the .pro file trigger a re-generation of Makefile.Debug/Makefile.Release when calling nmake without target arguments or with "debug" or "release". Fixes: QTBUG-29193 Change-Id: I9f2dd5deba4a043ab6c9502bb0b0ba83dc843612 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | qtmain_win.cpp: Remove unused header filesYuhang Zhao2019-02-042-11/+4
| | | | | | | | | | | | | | | | 1. Removed all Qt header files and make it a pure win32 project because it doesn't use any Qt features. 2. According to MSDN, CommandLineToArgvW is in shellapi.h, so replace ShlObj.h with it. Change-Id: I3daacb97f34664ac36f8e887a2c31d38f611b16e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>