summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Handle OOM condition in the validation of plugin metadataAndre de la Rocha2018-01-191-8/+21
| | | | | | | | | | | | | | | | | | | | | | A large plugin dll (e.g., one with many MB of debug info) could cause a 32-bit application to crash when the entire dll file could not fit within the address space of the process. The code for validating a plugin library and retrieving metadata from it first tried to map the entire file in memory, which failed for large files, returning NULL. In this case, the code tried then to read the entire file via QFile::readAll(), which deep below caused a bad_alloc exception in malloc, resulting in the termination of the application. This change handles the case where the library could not be mapped into memory, in spite of memory mapping being supported, by reporting the error and returning false, making the plugin unavailable. [ChangeLog][QtCore][QPluginLoader] Fixed a bug that would cause the Qt plugin scanning system to allocate too much memory and possibly crash the process. Task-number: QTBUG-65197 Change-Id: I8c7235d86175c9fcd2b87fcb1151570da9b9ebe3 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* Enable glyph cache workaround for Mali-T880Tero Alamäki2018-01-191-0/+1
| | | | | Change-Id: I531e57c26e886cd8de09ca860d7e10b05d1a724b Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Doc: Mention exact Qt version the third party attributions apply toKai Koehne2018-01-195-9/+14
| | | | | | | | | | | | | | | | We do add, remove or update third party code in minor releases, sometimes even in patch level releases. However, the documentation is supposed to be valid for all existing Qt 5 versions, but doing this for attributions would require infrastructure we don't have. Therefore rather make it explicit which Qt version the attributions apply to. Also mention since when Qt is available under LGPLv3 (starting with Qt 5.4). Task-number: QTBUG-65665 Change-Id: I328b5bf0c143f78ea61aad51f0644c3cbb6dee49 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* Use a proper test for absolute path for qmake's locationEdward Welbourne2018-01-181-1/+4
| | | | | | | | | QFileInfo.isRelative() deems any path starting with a slash to be absolute; on MS-Win, such paths need a drive specifier (unless they're UNC), so use IoUtils's more robust test for absolute paths. Change-Id: I7d0872a87833cbf1cc1a6ef107941adc4c529624 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Fix QMacTimeZonePrivate::previousTransition() for early after epochEdward Welbourne2018-01-181-18/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The native APIs don't support previous transition, only next after a stipulated date. The prior code started its search at the epoch; if used for a time before the first transition after the epoch, this found no transitions so returned invalid data, when the last transition before the epoch would have been suitable. It also wound through all transitions since the epoch, on its way to the selected time, which was potentially laborious. Instead, start a year before the stipulated time; this should get a transition if the zone uses DST. If it doesn't, start with the first known transition and binary-chop our way to one within a year of the last before the stipulated time; then wind forward one transition at a time, as before. The chopping is actually faster than binary: each time we find a transition after the interval mid-point but early enough, we move the early end of our interval to the transition, which is later than the old interval's middle. Using halving, starting with a vast interval, should thus only incur modest cost, while ensuring we give up early when no transition data is available at all or the zone's first transition ever was after the stipulated time. Task-number: QTBUG-65443 Change-Id: I96c14540fc2600837e6a22e480fb8dc36cb37220 (cherry picked from commit 7c0b706488b0edcc2fd6db7870db700ff0548f21) (cherry picked from commit a090076e93487f8e461d9b866b9da1c0c21cb59b) Reviewed-by: Andy Shaw <andy.shaw@qt.io> Reviewed-by: Jason Dolan <jason.t.dolan@gmail.com>
* configure: express dependency of fontconfig on freetype more clearlyOswald Buddenhagen2018-01-181-9/+4
| | | | | | | | | | | use a "use" entry instead of including the transitive dep into the list of libraries. this also removes the redundant check of freetype features from the fontconfig test code. Change-Id: I86b78028255c9bf0a62be5ec0f97a62ef3fda36f Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* configure: inline D3D11_QUERY_DATA_TIMESTAMP_DISJOINT testOswald Buddenhagen2018-01-183-51/+7
| | | | | | | amends a96656a8fb. Change-Id: Ic434c272bfe985ea0410090537b8a22aad3192f1 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* fix example source installation of qrc/rc files in subdirsOswald Buddenhagen2018-01-181-6/+12
| | | | | | | | | | such a project structure violates the assumption that the referenced resources are specified relative to the sub-project root, so we must resolve them to absolute paths manually. Task-number: QTBUG-65753 Change-Id: I8bcd5c6e7d7c6a713e5fcd3668be7d2f23169501 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* qmake: require a drive in a DOS path for it to be absoluteEdward Welbourne2018-01-186-42/+157
| | | | | | | | | | | | | | | | | | | | | | | | | | For Q_OS_WIN, a path is only truly absolute if it includes a drive letter; merely starting with a slash is not enough. (We can't support UNC paths, so don't even try: qmake runs various commands in the source directory using CMD.exe, which doesn't support UNC as PWD.) This requires, when resolving a path relative to a root, transcribing the root's drive to such not-quite-absolute paths. Changed QMakeGlobals, $$absolute_path() and $$relative_path() to now use IoUtils::resolvePath() rather than delegating to QDir's absolute path method, since that doesn't correctly recognize the need for a drive letter (and qmake did run into problems with some paths, from splitPathList and a failing test, as a result). Moved existing ioUtils tests for handling of relative / absolute paths out into separate functions and expanded significantly. Fixed some existing tests to use an absolute path where one is needed; added two tests involving driveless (but rooted) paths; and fixed the test init to set a value for QT_HOST_DATA/src property (the lack of which lead to an assertion failure with this fix). Task-number: QTBUG-50839 Change-Id: I2bfc13c1bfbe1ae09997274622ea55cb3de31b43 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* use correct path separators when invoking testcases on windowsOswald Buddenhagen2018-01-181-1/+1
| | | | | | Change-Id: Iad541f0d62ffdb2751da6225b9d40229d7d9a03f Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Win: Document limitation regarding registry types not being preservedAndy Shaw2018-01-181-0/+5
| | | | | | | | | | | | QSettings does not preserve the original key type in the registry, it will set the type for the key based on the value that is being set. Therefore we should make it clear that existing key types will be overridden as this can cause some problems with types we do not directly support (such as REG_EXPAND_SZ). Task-number: QTBUG-2894 Change-Id: Ib2f2eed02759591e69fefb98a4a1f3cf897dd5cb Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Merge "Merge remote-tracking branch 'origin/5.9.4' into 5.9" into ↵Liang Qi2018-01-182-5/+9
|\ | | | | | | refs/staging/5.9
| * Merge remote-tracking branch 'origin/5.9.4' into 5.9Liang Qi2018-01-182-5/+9
| |\ | | | | | | | | | Change-Id: If83012432650a697fe4e8e773ade366589b63b0d
| | * QMacStyle: Revert state changes for PE_IndicatorMenuCheckMarkv5.9.4Gabriel de Dietrich2018-01-161-5/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The changes introduced in 0e810e27a5e5a6c2e244ca439fbdf4f4ccc5b3da turn out to be incompatible with our style sheets styling. We partially revert the style option state check, so that the look for a highlighted PE_IndicatorMenuCheckMark only depends on State_On, as it's expected in QWindowsStyle and QCommonStyle. [ChangeLog][QtWidgets][QMacStyle] PE_IndicatorMenuCheckMark goes back to only depend on State_On for its highlighted look. Change-Id: I20f8e712196b5515bd5528ff6eedcdca9df5856f Task-number: QTBUG-65773 Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
| | * Add bearer plugin removal notice to changelogMorten Johan Sørvig2018-01-141-0/+6
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-40332 Change-Id: Ie975ad86a235ccfff0c3f72bb108b6fa9a89ad13 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | | gtk3: Disable native file dialogs on GTK3 < 3.15.5Frank Richter2018-01-182-1/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Showing file dialogs if running on a system that has an older GTK3 version installed results in a crash. Do a version check at runtime and disable native file dialog support if the version is too old. (GTK3 bug: https://bugzilla.gnome.org/show_bug.cgi?id=725164) Change-Id: I77bd23f1298333412bae04f52153e1a224ddf470 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: J-P Nurmi <jpnurmi@qt.io> Reviewed-by: Dmitry Shachnev <mitya57@gmail.com>
* | | QProcess/Windows: Include PID in pipe namesFrank Richter2018-01-181-1/+1
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Although qt_create_pipe() tries again if the pipe name is already in use, it doesn't handle the case when another user has created the pipe with the name (the error is "access denied" in that case). The chance that it happens is small, but it can be entirely eliminated by including a unique part in the pipe name, in this case the PID. [ChangeLog][Windows] Named pipes internally created by QProcess now contain the PID in their name to ensure uniqueness. Change-Id: I079f1b68695c1ddea3eccad241061d11e08b60f4 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | QThreadPool: Add missing semicolon after class in documentationAndre Hartmann2018-01-171-1/+1
| | | | | | | | | | | | | | Makes it easier to copy and paste the snippet into a code editor. Change-Id: I27c0a7aa268bd4fd0af885e929f67a28f083dabf Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | config_help.txt: document that some sanitize combinations are not validMitch Curtis2018-01-171-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | Saves people the trouble of trying it out themselves. When I tried "address" and "thread", I got: cc1plus: error: -fsanitize=address and -fsanitize=kernel-address are incompatible with -fsanitize=thread Change-Id: I48ae817e60d0b71d5349e1dbce8706cc8430c2c4 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | unify windows mkspecs: update definitionsAlexander Shevchenko2018-01-174-10/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mingw-w64 toolchain: - add missing compiler definitions, similar to 'msvc-desktop.conf' toolchain, - describe the reasons of missing compiler definitions, available in 'msvc-desktop.conf' toolchain, - add missing 'QMAKE_CXXFLAGS' and 'QMAKE_CXXFLAGS_WARN_ON' variables, similar to 'msvc-desktop.conf' toolchain. ICC on Windows toolchain: - add 'QMAKE_CFLAGS_OPTIMIZE_FULL' variable, similar to 'gcc-base.conf' toolchain, though left it unused for now, - add missing flags to 'QMAKE_CFLAGS' variable, similar to 'msvc-desktop.conf' toolchain, - update deprecated 'Qwd' flag with 'Qdiag-disable', - use 'QMAKE_CFLAGS_OPTIMIZE_DEBUG' variable instead of '-Od' flag, similar to 'gcc-base.conf' toolchain (ICC implies '-O2' optimization level by default, while MSVC implies '-Od'), - add 'QMAKE_CFLAGS_UTF8_SOURCE' variable, similar to 'msvc-version.conf' toolchain; use a workaround to initialize it, until '-utf-8' flag would be supported by ICC on Windows, - update deprecated '-Qstd=c++1z' flag with '-Qstd=c++17', MSVC toolchain: - remove 'incremental' from MSVC 'CONFIG' variable, since it has relevance only for the Unix generator, - add 'QMAKE_CFLAGS_OPTIMIZE_DEBUG' variable, used in ICC for Windows toolchain, - add empty 'QMAKE_LIBS' variable, similar to 'win32-g++' toolchain, - add 'uuid.lib' library to 'QMAKE_LIBS_GUI' variable, similar to 'win32-g++' toolchain, - add C++14 and C++17 language support flags, though left them disabled for now, similar to 'win32-icc' toolchain. Change-Id: Ideef62d0422674184836faa655bfc5d09a5f612f Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Kai Koehne <kai.koehne@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | QWidget: Fix a crash when platform window creation failsFriedemann Kleint2018-01-161-1/+2
| | | | | | | | | | | | | | | | Add a check on the platform window to QWidgetPrivate::create_sys(). Task-number: QTBUG-65783 Change-Id: I077882e1cf22ef49bb6f578f7460493ef48c9627 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | Prevent O(n^2) behavior when calling QObject::deleteLaterErik Verbruggen2018-01-163-14/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When a deleteLater event is queued, a check if done if the same event for the same receiver is queued before by scanning all pending events. This leads to quadratic behavior, which is quite noticeable. By using an unused bit in QObjectData, this can be prevented. Now the duplicate event scanning in QCoreApplication is only done for the quit event. Task-number: QTBUG-65712 Change-Id: Ie505acbbec802f91ebd0b94ac067e362c2476113 Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Use font set in the style option if there is no font set in the ruleAndy Shaw2018-01-161-2/+3
| | | | | | | | | | | | | | | | | | | | | | If the stylesheet does not have a rule that manipulates the font at all for the menu item, then it should use the one passed into the style option instead. Task-number: QTBUG-65034 Change-Id: I6cae3fad3cc22d5ab2b984e4a58b14303bcd6d03 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
* | Doc: Clarify auto detection of file format in QImageEirik Aavitsland2018-01-151-11/+9
| | | | | | | | | | | | | | | | | | | | | | | | The documentation of the QImage file loader methods contained a simplified and somewhat misleading description of the format auto detection algorithm. Fix up the language and link to the detailed explanation. Task-number: QTBUG-51596 Task-number: QTBUG-65438 Change-Id: I33ebc81c78e685c7ec4803fa56efd4e9cbc4eda5 Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
* | Fix memory leak in QStandardPaths::displayName() on Apple platformsJake Petroules2018-01-121-2/+2
| | | | | | | | | | | | | | Task-number: QTBUG-65687 Change-Id: Ie795c8ac715e36656dabcbcdf8976d303ebaf0d1 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | qmake: ignore QT if we have failed requires()Oswald Buddenhagen2018-01-121-0/+4
| | | | | | | | | | | | | | | | | | otherwise the project would need to clear QT despite using qtHaveModule() in requires() (or REQUIRES=). Task-number: QTBUG-65106 Change-Id: I568202214c8eafcdbe2d0e253b18f0e171293aff Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Warn when ending painting on backingstore while there's still an active painterTor Arne Vestbø2018-01-121-0/+3
| | | | | | | | | | | | | | | | | | | | There's no way for the backingstore to end painting on the device by itself, so we warn the user about what's going on. Failing to end painting on the device will e.g. in the case of QRasterBackingStore result in having to make a copy of the QImage data during flush. Change-Id: I3fbac2d7a8a440fdb23197ac2d57d95bfaf9e125 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* | Merge remote-tracking branch 'origin/5.9.4' into 5.9Liang Qi2018-01-1116-12869/+13486
|\| | | | | | | Change-Id: Ic23e90146470d69060313628562f76a710696bab
| * macOS: Namespace FullScreenProperty category on NSWindowTor Arne Vestbø2018-01-101-0/+5
| | | | | | | | | | Change-Id: I48e1bf91ebcfe10bd8b6a2df510c8b6a3e19e1d9 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
| * macOS: Simplify mangling of QNSPanelDelegate protocolTor Arne Vestbø2018-01-104-5/+8
| | | | | | | | | | Change-Id: If29bc36ecab2feb4ce3372153d0d1566cdffc719 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
| * macOS: Namespace QNSWindowProtocol when building with -qtnamespaceTor Arne Vestbø2018-01-101-0/+3
| | | | | | | | | | | | | | | | | | Otherwise the protocol name might clash with existing protocols when using Qt as a plugin, and those existing protocols may have lived in images that since have been unloaded, causing crashes. Change-Id: I68fbe290bcbf2fabf463647c960f686971e066dd Reviewed-by: Jake Petroules <jake.petroules@qt.io>
| * macOS: Replace category methods with functionsPavol Markovic2018-01-104-42/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Objective-C category methods prohibit safe unloading of dynamic libraries / plugins statically linked to Qt. Although they can be called in convenient way they can be replaced with standalone functions without noticeable drawback. Remove unused qt_validModesForFontPanel category method. Remove empty NSStatusItem (Qt) category. Task-number: QTBUG-59884 Change-Id: I69503a115b1177623da91c67b62d72e56f43ffcf Reviewed-by: Jake Petroules <jake.petroules@qt.io>
| * Fix regression in painted emoji offsetAllan Sandfeld Jensen2018-01-101-1/+4
| | | | | | | | | | | | | | | | | | | | | | Factor out translation from the matrix applied on bitmap glyphs, as that gets applied as position when painted. Task-number: QTBUG-64313 Change-Id: Iab8d995c00ee02eda0896242903312d837b6d790 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> (cherry picked from commit 07fcfb793d52b94f0f108cbfc025050b2353f9a1) Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
| * Add changes file for Qt 5.9.4Antti Kokko2018-01-101-0/+183
| | | | | | | | | | | | | | | | Done-with: Thiago Macieira <thiago.macieira@intel.com> Done-with: Richard Moe Gustavsen <richard.gustavsen@qt.io> Done-with: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Change-Id: I885e27686810e707186a5c4fce8f3301094698a8 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
| * Revert "QTreeView: Make sure QHeaderView is notified on layoutChanged()"Thorbjørn Lund Martsum2018-01-052-24/+3
| | | | | | | | | | | | | | | | | | | | | | | | It caused some sorting issues. This reverts commit 93dabeba9dc5f6cbab60e65b3cc8df5fe48745a9. Change-Id: Ie8c7f2d47885be6626ddb6284474a78dcf09cf33 Task-number: QTBUG-65478 Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com> Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
| * Update qurltlds_p.hAllan Sandfeld Jensen2018-01-052-12797/+13273
| | | | | | | | | | | | | | | | | | It has been a while and it is supposed to be updated at every release. [ChangeLog][Third-Party Code] Updated top level domain-list from Mozilla Change-Id: Ifd3e5fe33166e793908b3ce28d29a507b483dd8a Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* | Add overrideAlbert Astals Cid2018-01-101-1/+1
| | | | | | | | | | Change-Id: Iafa8e21d7d47797c1c085aced9a0cd92179385a2 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | Document Q_COREAPP_STARTUP_FUNCTION is no good in static libsLaszlo Agocs2018-01-101-0/+4
| | | | | | | | | | Change-Id: Iaffa08332c87095a64e25e2da4ed56bfd3d0e84f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | MySQL: Fix qAddPostRoutine of mysql_server_end() on WindowsThiago Macieira2018-01-101-1/+1
| | | | | | | | | | | | | | | | | | | | The function is declared as STDCALL, so we can't add a direct function pointer to it (calling convention doesn't match what QtCore will try to use). Instead, add a lambda as a trampoline. Task-number: QTBUG-65471 Change-Id: I39332e0a867442d58082fffd1504002206e5cfaf Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* | macOS: Blacklist modalWindowEnterEventOnHide_QTBUG35109 instead of skippingTor Arne Vestbø2018-01-092-3/+1
| | | | | | | | | | | | | | | | | | We have the ability to blacklist tests for CI runs now. Task-number: QTBUG-35109 Change-Id: I8590e83faba764dce2d52e8c62e2e2c63f7bf219 Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | QFtp: only use fall-back password for anonymous accessRyan Chu2018-01-092-4/+217
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The code used to fall back to anonymous login independently for username and password; however, it should only use a fall-back password if the username is missing or (case-insensitive) "anonymous". When a non-anonymous username is given without password, we should simply skip he PASS message to FTP. If the FTP server requests a password, in the latter case, QFtp will signal authenticationRequired; in all cases, if the server rejects the given credentials, QFtp signals authenticationFailed. Either way, the client code can then query the user for credentials as usual. Task-number: QTBUG-25033 Change-Id: I2a4a3b2725819ab19c8a7e4baa431af539edcd8d Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | Clarify behavior of setData in QListWidget, QTableWidget, and QTreeWidgetKavindra Palaraja2018-01-093-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | setData()'s default implementation for QListWidget, QTableWidget, and QTreeWidget treats Qt::EditRole and Qt::DisplayRole as referring to the same data. Used the same sentence from QStandardItem::setData for consistency. Task-number: QTBUG-11549 Change-Id: I41d06bdaaa8e7d4a86e24147b3d8222ad7823a6c Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* | CMake: qt5_add_binary_resource: re-run if neededKevin Funk2018-01-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | qt5_add_binary_resources() macro did not recompile for CMake generated input before this patch. Adding the input files to the DEPENDS option corrects this issue: Task-number: QTBUG-60714 Change-Id: I0f46918c6f1079fed7ee1b21305b18ff38f863f8 Reviewed-by: David Faure <david.faure@kdab.com>
* | Fix ZWJ and ZWNJ when fallback font is in useEskil Abrahamsen Blomfeldt2018-01-091-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When applying fallback fonts to characters that are joined by ZWJ or ZWNJ, we also have to set the same font for the control characters, otherwise we will split the text and the necessary shaping will not take place. This was reported for emojis, but will probably also happen for Indic scripts where joiners are used predominately. [ChangeLog][QtGui][Text] Fixed ZWJ and ZWNJ control characters when fallback fonts are in use. Task-number: QTBUG-65519 Change-Id: Ia37233f3319b95af68ae6053c29997eac65448e0 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | CoreText: Order fallback fonts based on writing system supportEskil Abrahamsen Blomfeldt2018-01-093-0/+73
| | | | | | | | | | | | | | | | | | | | | | | | After we stopped sanitizing the fallback font list (with change 6ca48a847a1805c3826004c5b989b4ae14397a37), we now need to make sure it is ordered so that the fonts that support the writing system in question are always tested first, otherwise we can end up loading a lot of fonts that will never be used. Task-number: QTBUG-65605 Change-Id: Id2a65bbff3e64e6d6e6b4f72500778ee3e811e84 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* | QFileSystemModel/Windows: Make file name checking case-insensitiveFriedemann Kleint2018-01-093-8/+49
| | | | | | | | | | | | | | | | | | | | | | Introduce a special hash modeled on the one used for QFileSystemWatcher on Windows. Task-number: QTBUG-31103 Task-number: QTBUG-64147 Change-Id: I69ebabe841716e4957ae3fb04fa5c43d233a3552 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | Avoid providing bad pixelDeltas on X11Allan Sandfeld Jensen2018-01-092-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | With libinput we now get a hardcoded resolution that is unrelated to the hardware. So avoid using that as a real pixel delta and document pixel deltas as being driver specific and unreliable on X11. Task-number: QTBUG-59261 Change-Id: I9fe86d80e7ccd290ed2e4091d7eafa52cb537d34 Reviewed-by: David Edmundson <davidedmundson@kde.org> Reviewed-by: Marco Martin <mart@kde.org> Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* | Fix license headersJani Heikkinen2018-01-093-59/+38
| | | | | | | | | | | | | | | | | | | | | | | | Old header.LGPL21 header was used at some files. Replase those with new header.LGPL one Remove old header.LGPL21 Task-number: QTBUG-57147 Change-Id: I650e39024ed4876bba27e954c7d61fdb025b46ef Reviewed-by: Kai Koehne <kai.koehne@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Fix fallback fonts for non-common writing systemEskil Abrahamsen Blomfeldt2018-01-082-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we request fallback fonts, we cannot discriminate the fonts based on the writing system support. This is especially important since common script is now merged with other scripts, meaning that a common script character will always go through the fallback mechanism when not supported by the main font. When drawing for instance a string of Devanagari characters on macOS, we would get a list of 33 fallback fonts, but almost all of them would be the default Devanagari font, since none of the other fallbacks would support that script. Meaning that we would just check the same font over and over, which makes no sense. The fallback list has been retrieved specifically for the given script, so we do not need to consider that when fetching the fonts. For most of the common set, we will not have noticed the bug, because at least one of the writing system-specific fallbacks will have had support for latin characters as well. But when trying to mix emojis and some non-common script, we would get a box in place of the emoji, which had been adopted to the main script and would only be looked for in the fonts supporting this. Note that this exposed an issue with the QRawFont test on some systems. When the sample text contained a space, it would be possible to get a fallback font for this character, since we now effectively support fallbacks. This is not the correct behavior, but it is unrelated to this fix, and it was not what the QRawFont::unsupportedWritingSystem() test was written to check. I have therefore removed the space from the sample text to make the test pass, and will make a separate task of fixing the issue of merging fonts for whitespace characters. [ChangeLog][QtGui][Text] Fixed a bug where mixing different writing systems with emojis could lead to missing glyphs. Task-number: QTBUG-61882 Change-Id: I00f6043bb01af1f2277723ccf643034aebf3e18f Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* | Revert "Blacklist tst_QDateTime::operator_eqeq"Edward Welbourne2018-01-071-3/+0
| | | | | | | | | | | | | | | | | | | | | | Remove black-listing of test; the problem was due to misconfigured time-zone on the CI system - it was on some zone that presently coincides with UTC, not actually on UTC as supposed. This reverts commit 597b96b8fa2fc8b9331db8ecc85d742be83fbec5. Change-Id: I72ad1dfa38532362c05aef33cd874f7f79879a41 Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>