summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Cleanup SimpleTreeModel exampleChristian Ehrlicher2019-01-235-37/+31
| | | | | | | | | | | Cleanup the SimpleTreeModel example: - include own headers first - use nullptr - add sanity checks Change-Id: If57d608e3919368b2022ff86aede8de9c2ba7369 Reviewed-by: Luca Beldi <v.ronin@yahoo.it> Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
* Schannel supportMårten Nordheim2019-01-2218-17/+2428
| | | | | | | | | | | | | Adds support for Schannel, an SSL backend for Windows, as an alternative to OpenSSL. [ChangeLog][QtNetwork][Ssl] Added support for Schannel on Desktop Windows. To build Qt with Schannel support use '-schannel' during configure. Task-number: QTBUG-62637 Change-Id: Ic4fb8ed3657dab994f9f4a4ac5cbddc7001a0a46 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Add QStringList::indexOf/lastIndexOf for QStringView and QLatin1StringAlbert Astals Cid2019-01-224-28/+165
| | | | | Change-Id: I42eac69c1f7ab88441d464b9d325139defe32b03 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Update manual qsslsocket test to use HTTP/2 instead of spdyMårten Nordheim2019-01-221-6/+6
| | | | | | | | | Some of the spdy/3 tests don't pass anymore because those services no longer support spdy/3. Solve this by updating it to HTTP/2 (h2). Change-Id: Ib3ef6109b75f4298fed15c1c7922deca35459df9 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* OCSP - simplify feature testTimur Pocheptsov2019-01-221-4/+0
| | | | | | | | Make it more like feature 'dtls' test. Change-Id: I29f5e9337d99440015431a8cfb001f5fb28e1c5f Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2019-01-21117-838/+1043
|\ | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: Ibfcb30053f3aacb8ec2ec480e146538c9bf440ea
| * tst_QPrinter: stabilize qprinter testChristian Ehrlicher2019-01-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | The CreationDate entry in the two PDF files can potentially be different depending on when the test is run. 97b4c5a5746a33a27076d72ceb3533fbd54b9642 already accounts for it but the current tag for creation date is '/CreationDate'. Therefore check if the line contains 'CreationDate' instead. Change-Id: I1fc069cf935bba07084ac4a0743ff05312374d10 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * tst_QString: fix localeAwareCompare() when using ICUChristian Ehrlicher2019-01-201-25/+25
| | | | | | | | | | | | | | | | | | | | | | | | tst_QString::localeAwareCompare() is failing since ab448f731ecd8437c7c5c8b96a0e7f419ec3a7ca because the 'C' locale no longer initializes ICU and falls back to simple QString comparison. Fix it by explicitly setting the locale for the testdata to en_US so the QCollator is properly initialized. Task-number: QTBUG-73116 Change-Id: I9d4d55e666c5c52f93298dedb7e22da01a25318d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * Android: fix NPE on m_editPopupMenuVyacheslav Koscheev2019-01-171-2/+4
| | | | | | | | | | Change-Id: Id6d4aea91d621194cf85f604b1b9acdc916bede1 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
| * QSqlRelationalDelegate: compile with QT_NO_CAST_FROM_BYTEARRAYChristian Ehrlicher2019-01-161-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | QSqlRelationalDelegate::setEditorData() does not compile when QT_NO_CAST_FROM_BYTEARRAY is defined. Since it's a public header this will break user code. Fix it by calling QByteArray::data() instead of relying on the implicit cast. Fixes: QTBUG-72764 Change-Id: I9c111dd25f48c9c9780d9f9a5b6b75eed0c8d6ed Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Andy Shaw <andy.shaw@qt.io>
| * Eliminate some stray misleading paths from expected output filesEdward Welbourne2019-01-165-12/+12
| | | | | | | | | | | | | | | | | | The output files for the tuplediagnostics selftest of testlib had a stray non-canoical path fragment in them; so replaced with its canonical form. Change-Id: Ib421380036c3fb1b91447eb8c87be4ad0dfe5c96 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
| * Update bundled libpng to version 1.6.36André Klitzing2019-01-1628-639/+634
| | | | | | | | | | | | | | | | | | | | The remaining diff to clean 1.6.36 is archived in the qtpatches.diff file. [ChangeLog][Third-Party Code] libpng was updated to version 1.6.36 Change-Id: Ia9d20c5abca115d509ed0aaf9eebfc85a88bef1d Reviewed-by: Kai Koehne <kai.koehne@qt.io> Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
| * clang-cl: use GCC -m CPU feature flag optionMårten Nordheim2019-01-161-0/+21
| | | | | | | | | | | | | | | | To enable non-default options Change-Id: I2d2f5dc8368a8235fd91e7f9986df4402612a823 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * tst_qsyntaxhighlighter: fix no-op QTRY_VERIFY checkMårten Nordheim2019-01-161-1/+2
| | | | | | | | | | | | | | | | The bool is assigned on the previous line: QTRY_VERIFY will not do anything because the statement is already true. Change-Id: I067290e19ffd100819b2b631af431c6013623a00 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
| * QSyntaxHighlighter: cancel delayed highlight if done manuallyMårten Nordheim2019-01-162-0/+20
| | | | | | | | | | | | | | | | | | | | It was an implicit effect before which stopped working after dec7961709c90f6977d2447f7fa6c6625af41cb2. Reintroduce it as some projects used this side-effect as a way to abort the initial highlighting. Change-Id: I5340ee9882a242bc8b5f7f843f1cfe793a65d357 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
| * Add the command line option --no-strip to androiddeployqtJoerg Bornemann2019-01-161-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | There are certain use cases for keeping debug information on the device, for example collecting stack traces when the app crashes. [ChangeLog][Android] Added the --no-strip command line option to androiddeployqt. Change-Id: I96574c2c57d85fb23d5fc65380e471fa892b6543 Fixes: QTBUG-57771 Reviewed-by: Volker Krause <volker.krause@kdab.com> Reviewed-by: Andy Shaw <andy.shaw@qt.io>
| * Fix multiple emission of QGuiApplication::lastWindowClosed() when native ↵Friedemann Kleint2019-01-161-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | child widgets are used Run the handling in QWindowPrivate::maybeQuitOnLastWindowClosed() for top level windows only. Fixes: QTBUG-73061 Change-Id: I74deb50b06a64e8ef0e438d2abf14888f778a46e Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
| * QMacStyle - take into account that native controls are transparent nowTimur Pocheptsov2019-01-161-0/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We use NSButton to emulate tabs in QTabWidget. Starting from 10.14 in dark theme those button objects tend to be somewhat transparent, thus widget's frame is visible through tab buttons. This is true for native controls also - NSButton, NSSegmentedControl, NSTabView - they all show the similar behavior. The only difference is NSTabView, which is the closest control to our QTabWidget - tab buttons are transparent, but they (AppKit) it would appear just do not draw the frame under this area. Let's do the same, but using clipping. Task-number: QTBUG-71741 Change-Id: I9f19014d0db5f36bacf76ee0068fae6eee793c0f Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
| * Update QOpenGLTexture::generateMipMaps for ES 3Michael Brasser2019-01-151-4/+3
| | | | | | | | | | | | | | Per the Khronos documentation, this operation is not permitted on ES 3. Change-Id: Iff70ef83d48228277b883df588011432ba80f4bd Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
| * testlib: Add missing header files to .pro fileOliver Wolff2019-01-151-1/+16
| | | | | | | | | | | | | | | | With all the headers missing, Creator's clang code model just gives up and it's impossible to work on testlib in Creator. Change-Id: I8814264db10992eeec6f45625580f6788d23b56b Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| * Fix default rpath dirs on Apple platformsTor Arne Vestbø2019-01-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The @executable_path relative framework directory is one step below the executable, as in: Foo.app/Contents/Frameworks not: Foo.app/Contents/MacOS/Frameworks The former is what Xcode defaults to for new projects. Change-Id: Id08f3f1d80f1c84d76fb71676c5df4a3a6b3da36 Reviewed-by: Kai Koehne <kai.koehne@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
| * Fix alignment-warnings about Q_DECLARE_PRIVATE's castsEdward Welbourne2019-01-152-4/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Q_DECLARE_PRIVATE gets used in the declaration of the public class, where the private class is typically visible only as a forward-decl, with no knowledge of what it's based on; consequently, the macro is obliged to use reinterpret_cast<>, which is subject to warnings when the compiler *can* see both types and their alignments differ. The same applies to Q_DECLARE_PRIVATE_D. So suppress gcc's -Wcast-align around the d_func() return statements. (If we get similar problems with other compilers we can add their suppressions likewise; but, for now, we've only seen this on MIPS64, where we use gcc.) This tripped over one use of Q_DECLARE_PRIVATE in a private Q_SLOTS: section; for some reason, gcc didn't like the semicolon on the friend declaration. Changing the context to plain private fixed that. Fixes: QTBUG-72885 Change-Id: I5edc11d46bd4eb820713adede79d53191a7e2736 Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io> Reviewed-by: Boxiang Sun <daetalusun@gmail.com>
| * fix out-of-bounds access on trailing percent sign in tr() argumentOswald Buddenhagen2019-01-143-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | tr() recognizes %n and %Ln. it offers no way to escape lone percent signs, which implies that they must be interpreted verbatim, which is what the code actually does. except that it would run off the end if the % appeared at the end of the string. Fixes: QTBUG-57171 Done-with: Mateusz Starzycki <mstarzycki@gmail.com> Change-Id: Icf81925c482be1ea66ec8daafb3e92ad17ea7fab Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
| * Bump versionKari Oikarinen2019-01-141-1/+1
| | | | | | | | Change-Id: I80954f7a3f33dbc8f04b61ebe5b5ed8b6ecb7b6a
| * QLocale: fix crash when using qDebug() in a global destructorDavid Faure2019-01-131-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | `kdevelop -s doesnotexist` led to ASSERT failure in Q_GLOBAL_STATIC: "The global static was used after being destroyed because of a qDebug() statement in some "unregister" method called by a global object's destructor. This is normally fine, but with %{time} in QT_MESSAGE_PATTERN, qDebug() ends up using QLocale after its global objects (systemLocalePrivate and defaultLocalePrivate) were destroyed. Change-Id: I8d8b34e0197ad1eda8283fcf36d2c250385bb1a3 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * macOS: Use tool environment to ensure tests load matching Qt librariesTor Arne Vestbø2019-01-122-11/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Linking with a framework suffix to pick up the debug version of libraries doesn't work as long as the dependencies picked up from prl files are not rewritten to also include the suffix. The result is that we end up loading both release and debug versions of the Qt libraries. Use the target environment (target_wrapper.sh) to set the image suffix instead, which means 'make check' will automatically work. Change-Id: I60b0840760f68e579c270245d394e1dd609a0ebb Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
| * qmltestcase: Fix generation of Visual Studio project filesOliver Wolff2019-01-111-1/+2
| | | | | | | | | | | | | | | | | | Mimicking the approach from testlib_defines.prf, DEFINES containing a path surrounded by quotation marks have to be handled differently for Visual Studio projects. Change-Id: I26f6a45d4df154f599e8be15b3aa3905cf703a1f Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * QtOpenGLExtensions: Unify license headersKai Koehne2019-01-112-2/+2
| | | | | | | | | | Change-Id: If410c0dc739657a65732d29d45a86a35bee359de Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
| * Documentation: Add \nullptr macro and use where applicableFriedemann Kleint2019-01-1036-61/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Qt for Python users reading the documentation assume that int(0) can be passed for pointer parameters. Use the newly introduced \nullptr to disambiguate this. In a follow-up step, the \nullptr macro can be defined as None when generating the Qt for Python documentation. Task-number: PYSIDE-903 Change-Id: I3a45f87175a0668ab5f3f95f0aff409f7e3ef027 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io>
| * Doc: mention that some filtered events need to be explicitly acceptedMitch Curtis2019-01-101-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QKeyEvent's detailed description already documents this: "A key event contains a special accept flag that indicates whether the receiver will handle the key event. This flag is set by default for QEvent::KeyPress and QEvent::KeyRelease, so there is no need to call accept() when acting on a key event. For QEvent::ShortcutOverride the receiver needs to explicitly accept the event to trigger the override. Calling ignore() on a key event will propagate it to the parent widget. The event is propagated up the parent widget chain until a widget accepts it or an event filter consumes it." However, someone looking at eventFilter() won't see this, resulting in the shortcut not being consumed and propagating elsewhere, so mention it in the docs for eventFilter() too. Change-Id: I14fece52133be641ccdabd81f75706cd10b64669 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io>
| * qWaitFor: Prevent being stuck in QCoreApplication::processEventsTor Arne Vestbø2019-01-099-10/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When using the overload of QCoreApplication::processEvents that takes a maxtime argument, the function will keep processing events until there are no more events, or until it times out. The problem is that the function doesn't distinguish between events that were on the event queue when the function was called, and events generated by processing events as part of its own execution. If for example a widget calls update() in its paintEvent, the function will spin for the entire duration of maxtime. That doesn't work for qWaitFor, where we need to check the predicate between each pass, so we use the overload of processEvents that doesn't take a maxtime. That's fine, as we have our own timeout logic. Change-Id: I9738d7d0187c36d4a5ddfcd3fd075b0bd84583c4 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
| * Increase sysctl argument buffer size to include null characterRoland Rossgotterer2019-01-091-5/+5
| | | | | | | | | | | | | | | | | | | | An UUID is 36 characters long, but sysctl and sysctlbyname return a null terminated string with 37 characters. That was too long for the provided buffer. Surprisingly the return code was still 0 instead of -1. The returned buffer was empty though. Change-Id: Ic4d20ecc1b2b3a3e98468d31ac304957d56deee9 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * Always access the 64-bit registry key to read MachineGuidRoland Rossgotterer2019-01-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When running a 32bit application on a 64bit Windows, the call to open the key "HKLM/Software/Microsoft/Cryptography/MachineGuid" will by default be redirect to "HKLM/Software/WOW6432Node/Microsoft/Cryptography/MachineGuid" which does not exist. Instead access the 64bit key from either a 32bit or 64bit application. KEY_WOW64_64KEY has no effect on 32bit Windows. Change-Id: Ic5e13f99d08aef2658d58a52cffe66dbab0510b8 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * wasm: fix blob download handlingLorn Potter2019-01-091-11/+16
| | | | | | | | | | | | Change-Id: I34a8ec05c18b15ed71787986b5b0316693235b4d Fixes: QTBUG-72105 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
| * Doc: Complete doc on QHostAddress::clear()Nico Vertriest2019-01-081-1/+2
| | | | | | | | | | | | | | Task-number: QTBUG-31280 Change-Id: Ia9904433b0b67bead8831f2ef678b9598977df6b Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io>
| * Fix typo in fontconfig autotestKai Koehne2019-01-081-1/+1
| | | | | | | | | | Change-Id: Ie6ef3aa654083cd23320eda99660ff85050d999c Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
| * Blacklist a flaky qtableview function in WinRTTony Sarajärvi2019-01-081-0/+2
| | | | | | | | | | | | Task-number: QTBUG-72853 Change-Id: Iaf2b25712b571a3ce73387cb3d2e70d427808364 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
| * Make Android arch x86_64 to use platform-21Heikki Halmet2019-01-081-0/+3
| | | | | | | | | | Change-Id: I0dc1f87af2270aa5a8ac9fcc256b5b923e1c8c21 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
| * Emit paletteChanged and send ApplicationPaletteChange on theme changeTimur Pocheptsov2019-01-084-18/+34
| | | | | | | | | | | | Fixes: QTBUG-72575 Change-Id: I407e081295a456a7bdd36de91ca5bbf74bba6078 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
| * QNetworkReplyHttpImpl::_q_startOperation - remove a useless warningTimur Pocheptsov2019-01-081-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since it explains nothing and now, after some other bug was fixed (see, for example, c89d0f9d532), we trigger this message on the first request, which happens because: - 'createSession()' indeed, creates a session, compares a previous kwnon state (which happens to be 'Invalid') with a current state, which is 'Connected' and then invokes '_q_networkSessionStateChanged'. - '_q_networkSessionStateChanged()' on 'Connected' emits 'networkSessionConnected()' to which a newly-created QNetworkReplyHttpImpl will respond with it's _q_startOperation(). - QHttpNetworkReplyImpl will also try to 'open' a session, its 'opened()' signal will trigger, again, 'networkSessionConnected()' and ... the next _q_startOperation(). Now, not to add even more twisted spaghetti if/conditions with some unpredictable regressions, let's suppress a useless warning and silently return. We, indeed, in 'Working' state, let's keep working. Task-number: QTBUG-72463 Change-Id: I5282979920915ffded889c20b8ae740a46efef04 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
| * QSplashScreen: Fix positioning in multimonitor setupsFriedemann Kleint2019-01-081-10/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, QSplashScreen::setPixmap() used QDesktopWidgetPrivate::screenGeometry().center() to determine the screen position, which would always result in the primary screen being used. That is counter to the documentation of QSplashScreen(QWidget *, QPixmap), which states that a desktop screen widget can be passed as parent to set the screen. To fix that and make it easier to work with QScreen (which is the likely outcome of QTBUG-62094), extract the setPixmap() to QSplashScreenPrivate with an additional QScreen * parameter and add a helper to determine it. Do not set a position in case no parent was passed so that QPlatformWindow::initialGeometry() triggers, centering it over the cursor. Fixes: QTBUG-72819 Task-number: QTBUG-62094 Change-Id: Ic38cfecd24c3ff6b82dff37702b627c5a50a3e1d Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
| * qmake: make CONFIG+=egl work againOswald Buddenhagen2019-01-072-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | while it's legacy and should not be used (use QMAKE_USE+=egl instead), it shouldn't be broken nonetheless. amends 310bf3f57c. Fixes: QTBUG-72564 Change-Id: Id6a070a4653dc1182a6b4d75af027a6ee6cbacae Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> Reviewed-by: Rolf Eike Beer <eb@emlix.com>
| * XCB: Use application name for X11 selection owner nameMax Mazurov2019-01-071-1/+2
| | | | | | | | | | | | | | | | | | This makes it possible for clipboard managers (or other scripts) to distinguish different Qt applications and act differently. Change-Id: I5bc5a1914b51127b24a81142ca9dbdb196ffd0d8 Fixes: QTBUG-72806 Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
| * Fix warnings about uninitialized variables - qrgba64_p.hLiang Qi2019-01-071-4/+4
| | | | | | | | | | | | | | | | | | | | In function 'QRgba64 rgbBlend(QRgba64, QRgba64, uint)': error: 'blend.QRgba64::rgba' is used uninitialized in this function [-Werror=uninitialized] qrgba64_p.h:246:13: note: 'blend' was declared here QRgba64 blend; Change-Id: I7b263f863281c51c7d8099704f2cffcc7e1a07df Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * Bump versionKari Oikarinen2019-01-071-1/+1
| | | | | | | | | | Change-Id: I2bf8da98a140bdd9848139a96bea736708357a1a Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
| * configure: improve warning when all qpa plugins disabled with features.guiGatis Paeglis2019-01-072-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | The mentioned README file has never been very trustworthy and after 863c6887495c0bd9ee3a85aa7cd2d997cdc5c93c it has become very minimal - it doesn't contain anything that is not already present in "configure --help" and enforced by the configure process. Furthermore, the warning was XCB specific, but Qt supports also other QPA plugins on linux. Change-Id: I3211dda3f294cbcd5f3d15fe8c21a1af7627f048 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Fix the timing issue of vsftpd during boot (probably invalid config)Ryan Chu2019-01-161-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This appears to be a timing issue of vsftpd's initial script (/etc/init.d/vsftpd). When starting the vsftpd service, the script uses a while loop to make sure that the vsftpd process has been created with the expected PID. The problem is that it should sleep if it can't grep the same PID via ps command. while [ ${n} -le 5 ] do _PID="$(if [ -e ...vsftpd.pid ]; then cat ...vsftpd.pid; fi)" if ! ps -C vsftpd | grep -qs "${_PID}" then break fi sleep 1 n=$(( $n + 1 )) done if ! ps -C vsftpd | grep -qs "${_PID}" then log_warning_msg "vsftpd failed - probably invalid config." exit 1 fi However, synchronization based on time is not working in general. This change will rewrite the while loop to an infinite loop and remove the exclamation symbol (!) from the if condition. Upgrading the version of vsftpd is not helpful here because vsftpd_3.0.3-11 (Ubuntu 18.10) didn't resolve it yet. Change-Id: I07382709c33bd9bab61fcea76ab7deca5f630084 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | Support debug_and_release option (which is the default under Windows)Ryan Chu2019-01-151-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When debug_and_release option is in use, qmake will generate one mata-Makefile and two additional leaf Makefile (Makefile.Debug and Makefile.Release). In such case, testserver.pri will be included in all three passes. The problem is that the mata-Mafile is used to invoke leaf Mafile recursively. The docker test server should only be integrated in the leaf Makefile. To resolve this problem, this change uses "!build_pass" condition to determine whether this is a pass of meta-Makefile, and then skip it. Change-Id: Ibc48d657680e089ebaa1bc356b87eb4cfd9f4580 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | Fix the AVX2 ARGB->ARGB64 conversion codeThiago Macieira2019-01-151-5/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit c8c5ff19de1c34a99b8315e59015d115957b3584 introduced the solution as a simple scaling up of the code in qdrawhelper_sse4.cpp, but it's bad due to the way that the 256-bit unpack instructions work: the unpack-low instruction unpacks the lower half of each half of the 256-bit register. So we fix it up by inserting a permute4x64 that swaps the middle two quarters of the 256-bit register (permute8x32 requires a __m256i parameter, instead of an immediate). This introduces an instruction that costs 3 cycles in each loop, but since the AVX2 code has double the throughput compared to SSE4 code, it should still be faster. This problem does not affect the ARGB->ARGB32 code because that repacks at the end. Change-Id: I4d4dadb709f1482fa8ccfffd1578620b45166a4f Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Fix deprecation warnings about QFontMetrics::widthShawn Rutledge2019-01-151-3/+3
| | | | | | | | | | | | | | | | Recommend QFontMetrics::horizontalAdvance not QFont::horizontalAdvance Amends c2bf0cac957b1e7866538201433f3cd38313ab7f Change-Id: I7699acb7855fcff2297507343851b42b14d0f7f6 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>