summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* tests/auto/corelib/mimetypes: use local QThreadPoolMarc Mutz2016-09-171-12/+11
| | | | | | | | | | | | | | Isolates the test from anything that might be going on on the globalInstance(). Enabled by the explicit thread-pool feature on QtConcurrent::run(). Add explicit timed wait (unit tests should contain as little indefinite waits as possible). Also avoids the use of QFutureSynchronizer, which makes my static QList checker go nuts, with no way of fixing it until Qt 6. Change-Id: I0829992642b2a49bb6a10ddd4b31eb3f88e3adeb Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QSqlRelation: mark shared-come-qt6Marc Mutz2016-09-171-1/+12
| | | | | | | ... and plaster API with nothrow (well, one function). Change-Id: I36fd64c6fda5390954c82bba307c720d3b3215df Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Change some #elif to #endif / #if in qcompilerdetection.hThiago Macieira2016-09-161-2/+4
| | | | | | | | | | The conditions aren't exclusive, but complementary. This change removes one check for defined(Q_CC_INTEL) because it was disabled before and requires testing before we confirm it to be correct. Change-Id: I33dc971f005a4848bb8ffffd14748cde4dd23333 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Correct the C++ standard references in QMutex functionsThiago Macieira2016-09-161-3/+3
| | | | | | | | | Section 30.4.1.3 [thread.timedmutex.requirements] has 16 paragraphs and 2 subsections. Change-Id: I9093948278414644a416fffd1473fec7fdd2716c Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Add a QT_REQUIRE_CONFIG(feature) macroLars Knoll2016-09-163-13/+47
| | | | | | | | | | | | | This macro expands into a static_assert and can be used to trigger a compile error if a certain feature is not available when trying to compile some code. This is especially useful to protect against accidental inclusion of headers that implement functionality related to a feature. Change-Id: I456c55b989ce5f35f3af0e13c1886a85c23dfe29 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Say hello to Android 6+ permissions modelBogDan Vatra2016-09-166-7/+158
| | | | | | | | | | | | | | | | | | | | | | | | | | This API was introduced by Android v23 and is used in connection with the new permission request system. From Android v23 onwards, some permissions such as Location permissions cannot only be granted via Android's Manifest files. An additional runtime check/request system was introduced which forces applications to prompt the user the first time a privileged function is called. Such user prompt responses are returned to the current application via the Activity.onRequestPermissionsResult(..) callback. This change add Qt API to nicely check & request permissions. For now this is private API which can be used to fix permission problems in other Qt compontents. Later Qt versions will introduce a public API to QtAndroidExtras. [ChangeLog][QtCore][Android] Introduced a mechanism to forward permission related callbacks on Activity objects to interested parties. Task-number: QTBUG-55035 Task-number: QTBUG-50759 Change-Id: I64ee748d741b39e35c4713ed9fdd15dd1d96dc56 Reviewed-by: Christian Stromme <christian.stromme@qt.io> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* HTTP/2 tests: Remove execute permissions from source filesEdward Welbourne2016-09-062-0/+0
| | | | | | | Source (.cpp and .h) files should not be executable. Change-Id: I021d8733185d73d071fcaf3df7e529862a490b63 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
* Fix out of source builds on windowsMaurice Kalinowski2016-09-163-3/+3
| | | | | | Change-Id: If4d03e889dda3cf7557c3d41dda4ffad8790f2e0 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* moc: Fix asserts on moc on empty token preceding ## operatorOlivier Goffart2016-09-163-3/+9
| | | | | | | | | | Regression introduced in c32ef0a725c7ac9d8a9ab053407389ef2fddc64e The expansion vector can be empty, in that case it is not allowed to call constLast() Task-number: QTBUG-55853 Change-Id: I47aa8eb7507ee91662215df42b4a66eebaa32bb5 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
* DirectWrite: Fix embedding fonts in PDFEskil Abrahamsen Blomfeldt2016-09-162-0/+92
| | | | | | | | | | | | | | | | | | | If no filename is stored in the faceId() of the font engine, then the PDF engine will bail out and embed each glyph separately instead of embedding the font. This would cause PDFs to be huge and unsearchable when high-dpi was active, since we will automatically default to the DirectWrite engine in this case. [ChangeLog][QtGui][Windows] Fixed embedding fonts in PDF when dpi scaling is active or when the hinting preference was none or vertical hinting. Task-number: QTBUG-54740 Change-Id: I20630595f51660109c5a12c52076738a04036520 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Bring back QSysInfo enumeration values for Windows CEFriedemann Kleint2016-09-162-1/+13
| | | | | | | | | | | Partially revert 7fc2864dc5391096a19c2d5f80695129c24cc303. Entries should be kept until Qt 6 for source compatibility. Task-number: QTBUG-55973 Change-Id: I09346fcd9227224f878f5ee064152e85f075ae09 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QtConcurrent: use QDeadlineTimer to get the clock tickThiago Macieira2016-09-152-77/+2
| | | | | | | | | | | | | | Instead of duplicating what QElapsedTimer & QDeadlineTimer already do. Well, technically speaking, we aren't getting ticks, but nanoseconds now, but the times are only used in comparisons with each other, to measure the control overhead, so the unit in which they are measured doesn't matter. This also makes all OSes use the same type of timers. There's no exception for per-thread timing. Change-Id: I115db302eb114bed8cd1fffd14557b228284f2c0 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Nitpick: fix style in QtCore code added since 5.7Thiago Macieira2016-09-151-1/+2
| | | | | | Change-Id: I9093948278414644a416fffd147400f99fc9f844 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Anton Kudryavtsev <a.kudryavtsev@netris.ru>
* API Review: Don't reorder existing enum valuesSune Vuorela2016-09-151-2/+2
| | | | | | | | | Inserting things into the middle of an enum breaks backwards compatibility, so don't do that. Change-Id: Ie8e2768e8681f0237e7f233f4461f884b4b1b4f9 Reviewed-by: Richard J. Moore <rich@kde.org> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Use QString::fromLatin1() less to avoid string allocationsAnton Kudryavtsev2016-09-1518-29/+31
| | | | | | | | | | | | | | | | | | | | | | QString::fromLatin1 always allocates memory, but there are cases where we can avoid/reduce allocations or/and reduce text size, e.g.: QStringBuilder expressions Fix: replace QString::fromLatin1 with QL1S QString::fromLatin1().arg(String) pattern Fix: replace with QStringBuilder Overloaded functions with QL1S arg Fix: replace QString::fromLatin1 with QL1S In rare cases if there is no overloaded function with QL1S and we have deal with string literal, replace QString::fromLatin1 with QStringLiteral. Change-Id: Iabe1a3cc0830f40ef78a0548afa4368583c31def Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Silence warning from syncqtUlf Hermann2016-09-151-1/+1
| | | | | | | | | Apparently syncqt considers anything like "<blah.h>" to be an include statement, even if it's in a comment. Yet, in fact, the comment was not entirely correct here. Change-Id: I7a661007ee86bb20242d54eb128c6b646cac15e7 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* winrt: Fix initialization of input contextMaurice Kalinowski2016-09-151-17/+18
| | | | | | | | | f104e43a72380f66f8c517b90326a9209612106d moved QWinRTInputContext to the gui thread. However, IInputPane needs to be queried from Xaml itself. Otherwise it might cause unhandled exceptions. Change-Id: I43848c796e7ff163e6befa7c58f0ad68445b9865 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Fix test for sandboxed targetsMaurice Kalinowski2016-09-151-0/+12
| | | | | | | | | Instead of creating files relative to the application binary, use a temporary directory. This also cleans up the test data after execution. Change-Id: I5d680fd01c60b0d33df06f9cb9aaef7c86279710 Reviewed-by: Jesus Fernandez <jesus.fernandez@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Use QStringBuilder more to optimize memory allocationsAnton Kudryavtsev2016-09-157-23/+12
| | | | | Change-Id: I2939ffa10496fdc59e0402a9cb54458565ccd657 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Check the context of Q_ENUM[_NS] and Q_FLAG[_NS]BogDan Vatra2016-09-152-0/+40
| | | | | Change-Id: Ifc8cb50efe3b07a79c8afbb382fba12649b602b2 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* Minimize register conversions in NEON optimizationAllan Sandfeld Jensen2016-09-151-38/+29
| | | | | | | | | Redoes the simple calculation of x coordinates in integer registers rather than use the potentially expensive extract/move from NEON register. Change-Id: I914b463d6c20be2281710d626407196112d1615b Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
* don't complain about missing QPA plugin on androidOswald Buddenhagen2016-09-151-1/+1
| | | | | | | | android is linux, but the QPA plugin is not enabled by configure, so skip the warning here. Change-Id: Ib136dd142b775a00686cdaa0cec5414d035c9516 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* make the style listing in the configure summary less weirdOswald Buddenhagen2016-09-151-6/+6
| | | | | | | | remove the redundant 'Style' suffix, and use CamelCased words (the list uses space as a separator). Change-Id: I169a741fdc293ac42ae6b97a5726477b53127506 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Convert the old feature systemLars Knoll2016-09-1533-182/+981
| | | | | | | | | | | | | ... to the new qmake based configuration system. This removes the old qfeatures.txt (distributed over configure.json files) and qfeatures.h (distributed over qconfig-<module>.h files). qfeatures.prf is gone without replacement, as attempts to use it would lead to followup errors anyway. Change-Id: I1598de19db937082283a905b9592d3849d2199d0 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Make things compile with the printer feature disabledLars Knoll2016-09-156-1/+14
| | | | | | | | | Always include qtprintsupportglobal.h before checking the ifdef, and add ifdef's where they where missing. Change-Id: I535dce33b26955fb0196ea05d54be41fe93e9151 Reviewed-by: Jake Petroules <jake.petroules@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* rename description => label in configure.jsonOswald Buddenhagen2016-09-159-362/+362
| | | | | | | | | | "description" suggests something slightly longer. this may seem like a gratuitous change, but the upcoming replacement of the old feature system clarifies makes it seem much less so. Change-Id: Ibe702e01cb146b59127bf1f990b4acaef1c61d55 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Modularize configure.json/.priLars Knoll2016-09-1557-1878/+2141
| | | | | | | | | | | | Move the different parts of configure.json/.pri into the libraries where they belong. Gui is not yet fully modularized, and contains many things related to the different QPA plugins. Done-with: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Change-Id: I6659bb29354ed1f36b95b8c69e7fce58f642053f Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* xcb: Remove unused NoFontHinting hintAlexander Volkov2016-09-124-8/+0
| | | | | | | | It is unused since 0f7bc885aa7ae8cc3c448cc751aba4eba8c1c8b8 (Turn off font hinting when active highdpi scaling). Change-Id: I901407bedf24ae301acbe6afa94bc0a4cadb0620 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Fix Linux build without XINPUT2Allan Sandfeld Jensen2016-09-121-0/+4
| | | | | | | | XcbConnection::TabletData only exist if XCB_USE_XINPUT2 is defined and QT_NO_TABLETEVENT is not. Change-Id: I94f4558714b105f2ce98b9b4a7462e7a8eb628e3 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* winrt: Report system languages for QLocale::uiLanguagesMaurice Kalinowski2016-09-111-36/+8
| | | | | | | | | | | | dc3e7e45ebe447c139868cc161b484eac478194d introduced locales from a packaging perspective, providing the information available from the package manifest. However, developers are rather interested in the available and preferred system languages to update user interfaces. Task-number: QTBUG-55672 Change-Id: I740d4f9c9ca21a8cbd437d3b232470897c569d34 Reviewed-by: Jens Bache-Wiig <jensbw@gmail.com> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* winrt: Fix display of tooltipsMaurice Kalinowski2016-09-112-10/+31
| | | | | | | | | | | | | | | | | This touches multiple areas. First adding a tooltip to the window list should not automatically invoke focussing and hence handleWindowActivated should not be invoked. This is the same approach as on the windows qpa. The winrt qpa supports multiple (non-fullscreen) windows since a while. However, pointerUpdated still acted on the top level window, which caused problems resolving the real target of a mouse event. In this case the tooltip received all events, while the application window should get them. Hence identify the target window via the system coordinates. Task-number: QTBUG-50733 Change-Id: Iea1f4cd7406e6cde85ab3fc83f018b871fc30824 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Fix missing GL function protos with newer GLES headersLaszlo Agocs2016-09-101-3/+4
| | | | | | | | | | A recent ANGLE update added GL_GLEXT_PROTOTYPES for gl2.h. That was a good first step, but we need this for gl3.h and gl31.h as well, because once one upgrades to a newer EGL/GLES capable build of Mesa, the same problem will surface. Change-Id: I138ae32e3461dc87bf789aa641359ae46c0ec170 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Add a spec for NXP Colibri VF50/61Laszlo Agocs2016-09-102-0/+57
| | | | | Change-Id: I12450a214d61ffa00270095df0c77e57647d7a2c Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* Modularize the new configure system (infrastructure part)Lars Knoll2016-09-1016-276/+486
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change implements the required infrastructure to modularize the new configuration system. This requires a hierarchy of configuration files, both for handling multiple repositories and for individual modules inside the same repository. When configuring, they all need to get loaded first, as command line processing needs to know about all possible command line options. When the command line has been processed, the individual configuration files need to get processed one after the other and independently from each other. Configure is now automatically invoked when building the a project tree's "root" project; this works with both modular and top-level builds of Qt (the latter with an according change in the super repo). As an immediate consequence, the -skip option moves to the super repo with a different implementation, as configuration is now done after the repo list is determined. The option belongs there anyway. This commit also adds an optional testDir entry to the json file. Like this, we can still have all configure tests in qtbase/config.tests and the configuration file in, e.g., corelib can reference those. The files section can now be left out as long as a 'module' entry is present, specifying the module name. The names of the files to generate can then be deduced from that name. We still need to be able to specify names directly for the global configuration files. qtConfig() now also queries features which are module-specific. As it is sometimes necessary to query the configuration of modules which should not be actually linked (and cannot in the case of subdirs projects), the new variable QT_FOR_CONFIG which allows specifying configuration-only dependencies is introduced. Done-with: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Change-Id: Id1b518a3aa34044748b87fb8fac14d79653f6b18 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Turn the available sql drivers into public featuresLars Knoll2016-09-103-53/+50
| | | | | | | | This is required to do the modularization of those features properly. Change-Id: I384aff20274e795aa70483980f0ef25309328800 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* minor optimization in stale file removal codeOswald Buddenhagen2016-09-101-0/+1
| | | | | | | | don't bother opening headers.pri files, as they won't match anyway. Change-Id: I4d923266dabf1c9684fba4086f55bc24d76d23c5 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Be more robust when reading the library version number from pkg-configLars Knoll2016-09-101-0/+1
| | | | | | | | Ignore everything that after the initial period separated numbers. Change-Id: I376b154ff0ab6e3877223ec1383ed4708ecd2164 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* qmake: remove unused #includeMarc Mutz2016-09-091-1/+0
| | | | | | | | Amends 5af12dae41da231c9e8fa25478605a760ccb03bd. Change-Id: I8dd35d21de882be2628f5dd75a5ddd9deef71a19 Reviewed-by: Jesus Fernandez <jesus.fernandez@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Optimize Q_FOREACH for rvaluesMarc Mutz2016-09-091-3/+4
| | | | | | | | | | | | | | | | Add an rvalue overload of the QForeachContainer ctor to allow moving rvalues into the internal container copy. This does not change the semantics of Q_FOREACH. It is just an optimization. Port to NSDMI to minimize code duplication. Costs ~1.3KiB across all libraries and plugins in a QtBase Linux build (optimized GCC 6.1 AMD64). Change-Id: I180e35ecab68aa1d37773b3546787481bb5515a2 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* Make blendPixel function generalAllan Sandfeld Jensen2016-09-093-29/+20
| | | | | | | | Moves the blendPixel function from the SSSE3 file and use it more generally, also adds a const_alpha version. Change-Id: Ia29d1ab3879a845d5b65e0610b7836507e33c7ed Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Minor improvements to bilinear filteringAllan Sandfeld Jensen2016-09-091-24/+28
| | | | | | | | Duplicates the improved bounds check for rotated sampling in RGB64, and improves two prologs by using that x1 == x2 during the prolog. Change-Id: I562c5bee12e314c36d3b304f2f72d7635d22d7d4 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* winrt: Make sure that cursor is visible when virtual keyboard is shownOliver Wolff2016-09-075-6/+69
| | | | | | | | | | | | | | | | We have to check whether the cursor is covered by the virtual keyboard when it is shown. If that is the case and the keyboard is snapped to the bottom of the screen the whole content is moved up to ensure the cursors's visibility. WinRT's input context had to be moved from the XAML to the GUI thread as the signal/slot connection does not work otherwise. Signals from QInputMethod were emitted but not handled in QWinRTInputContext as it ran on another thread which did not spin an event loop. Task-number: QTBUG-50291 Change-Id: Id89e970dc194c25ad07ceab14d9fea51bd7388b2 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* winrt: Use ComPtrs in input contextOliver Wolff2016-09-071-4/+3
| | | | | | | | By doing so we no longer leak the input pane inside the destructor. Additionally the coding style is closer to the rest of the WinRT port. Change-Id: I0d56086719c98585cec8bc3c4bcb2d86c3ea2e79 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* winrt: Fix build without SSL supportMaurice Kalinowski2016-09-071-0/+2
| | | | | | Task-number: QTBUG-55716 Change-Id: I0c843af7592803362ff2498b102e9264a03b389a Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* winrt: Add tests to blacklistMaurice Kalinowski2016-09-071-0/+8
| | | | | | | This synchronizes with windows. Change-Id: I25a7d9969db37d44c2389a7dceb5f7096f658295 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* winrt: Differentiate between windows and winrtMaurice Kalinowski2016-09-071-1/+1
| | | | | | | | While there are similarities, we want to keep control over those tests which affect only one platform. Change-Id: Id1f6eb9954169148d70cea14969f34f21d1e6690 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Add BLACKLIST to builtin_testdataMaurice Kalinowski2016-09-071-0/+5
| | | | | | | | | For platforms which require packaging the testdata into the application resources, the BLACKLIST file needs to be added. Otherwise it will not be found during runtime. Change-Id: I2d5c3b3040b3b268bc73254459b8b902b7fae4e2 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Parse namespaces only for current file, add Q_NAMESPACE support to qmakeBogDan Vatra2016-09-065-5/+22
| | | | | | | Parsing the other files will (re)generate the same metaobject info in two places Change-Id: I8984ed30751a7587de870f55dd427f067d1b2495 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* Merge "Merge remote-tracking branch 'origin/5.7' into 5.8" into refs/staging/5.8Liang Qi2016-09-06126-1192/+1397
|\
| * Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-09-05126-1192/+1397
| |\ | | | | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/features/qt_common.prf src/plugins/platforms/windows/qwindowsdialoghelpers.cpp Change-Id: I03b92b6b89ecc5a8db7c95f04ebb92ed198098a8