From 911477d8da320db645db2b6b6180f1193ba7d36f Mon Sep 17 00:00:00 2001 From: Antti Kokko Date: Tue, 20 Aug 2019 13:16:26 +0300 Subject: Add changes file for Qt 5.12.5 + b22049ea14b62a2a743fd5fbd23563c566ef528a qdoc: Add id attribute for all HTML headings + c7f96f5301c2e60d1c5ef1e945e70e921afc71ce Close the last SELECT query with pending results + 0d2a9408ed2a5c664330c5742c9afb610a6c7348 lupdate: Improve documentation of -recursive, -no-recursive + fcb96af0215a9ae070face3997cdf84dafc057e5 distancefieldgenerator: Fix cmap error for some fonts + 8e7db0dd1cdc63c962359b37f882643dd3ed0e1a distancefieldgenerator: Avoid exceeding max texture size + d7e346b58260b24e02c64f82b2900bfba5951330 distancefieldgenerator: Remove unused variable + a05eb132416fcce8eb6a9fb240d0867796ed9deb distancefieldgenerator: Fix crash with multiple textures + 73ecd39debe850c11293fcf175c1e2b637edc5f3 distancefieldgenerator: Fix failure reading CMAP for some fonts + 2ecbaa7c29de2350486c6e83375ba8c83fee6cda Qt Linguist: Document CMake macros + e42dd0a13ebf37f7402a4cf09a6fb62b8c740c76 qdoc: Avoid duplicating version strings in HTML element + 86f264b491fced5efd37127ac1a31880fe909f5c Bump version + a9790627873d17f91f29c9bd8be0fb609ec29f03 CMake: Ensure unique lst file name in qt5_create_translation + a690022b7e56b2e36a95ef22b854af4c82c5fdc8 Qt Designer: Enable editing of current dates + 40a7f2c6469e1702e791c66414051fed385a7930 distancefieldgenerator: Fix garbled text with large fonts on little endian Change-Id: I9dcfc3d86ec7744aadeb24e4fc1b293503373d86 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io> --- dist/changes-5.12.5 | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 dist/changes-5.12.5 diff --git a/dist/changes-5.12.5 b/dist/changes-5.12.5 new file mode 100644 index 000000000..379f39064 --- /dev/null +++ b/dist/changes-5.12.5 @@ -0,0 +1,37 @@ +Qt 5.12.5 is a bug-fix release. It maintains both forward and backward +compatibility (source and binary) with Qt 5.12.0 through 5.12.4. + +For more details, refer to the online documentation included in this +distribution. The documentation is also available online: + +https://doc.qt.io/qt-5/index.html + +The Qt version 5.12 series is binary compatible with the 5.11.x series. +Applications compiled for 5.11 will continue to run with 5.12. + +Some of the changes listed in this file include issue tracking numbers +corresponding to tasks in the Qt Bug Tracker: + +https://bugreports.qt.io/ + +Each of these identifiers can be entered in the bug tracker to obtain more +information about a particular change. + +**************************************************************************** +* distancefieldgenerator * +**************************************************************************** + + - [QTBUG-76188] Fixed bug where the tool would fail for valid fonts with + the message "end of cmap table reached when parsing subtable". + - [QTBUG-76528] Fixed a bug where the generated textures might exceed the + maximum height. + - [QTBUG-76188][QTBUG-76528] Fixed possible crash when generating large + number of glyphs with a small texture size. + - [QTBUG-77501] Fixed broken text rendering when generating large glyph + sets. + +**************************************************************************** +* Qt Help * +**************************************************************************** + + - [QDS-779] Fixed possible application freeze when using QtHelp module. -- cgit v1.2.1 From 121887b051150af7490f79402248e92c7d7d0f0a Mon Sep 17 00:00:00 2001 From: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> Date: Thu, 15 Aug 2019 16:00:45 +0200 Subject: distancefieldgenerator: Fix performance when selecting unicode ranges Calling the QItemSelectionModel::select() function that takes a single index is extremely slow, so for large ranges that span e.g. 20000 glyphs in the font, such as some of the Chinese ideographic ranges can, the application would appear to freeze for many seconds while updating the selections. Instead we use the overload that takes a QList. Metrics: For a specific CJK font, this reduces the time taken when selecting a single unicode range from 30 seconds to 70 ms. [ChangeLog][Distance Field Generator] Improved performance when selecting unicode ranges in large fonts. Task-number: QTBUG-77499 Change-Id: I7ed9bec26b3cbc7e273d305f270a4a6690a81407 Reviewed-by: Kai Koehne <kai.koehne@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io> --- src/distancefieldgenerator/mainwindow.cpp | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/src/distancefieldgenerator/mainwindow.cpp b/src/distancefieldgenerator/mainwindow.cpp index ee4475ada..6bc793ede 100644 --- a/src/distancefieldgenerator/mainwindow.cpp +++ b/src/distancefieldgenerator/mainwindow.cpp @@ -693,18 +693,25 @@ void MainWindow::updateUnicodeRanges() this, &MainWindow::updateSelection); + QItemSelection selectedItems; + for (int i = 0; i < ui->lwUnicodeRanges->count(); ++i) { QListWidgetItem *item = ui->lwUnicodeRanges->item(i); - DistanceFieldModel::UnicodeRange unicodeRange = item->data(Qt::UserRole).value<DistanceFieldModel::UnicodeRange>(); - QList<glyph_t> glyphIndexes = m_model->glyphIndexesForUnicodeRange(unicodeRange); - for (glyph_t glyphIndex : glyphIndexes) { - QModelIndex index = m_model->index(glyphIndex); - ui->lvGlyphs->selectionModel()->select(index, item->isSelected() - ? QItemSelectionModel::Select - : QItemSelectionModel::Deselect); + if (item->isSelected()) { + DistanceFieldModel::UnicodeRange unicodeRange = item->data(Qt::UserRole).value<DistanceFieldModel::UnicodeRange>(); + QList<glyph_t> glyphIndexes = m_model->glyphIndexesForUnicodeRange(unicodeRange); + + for (glyph_t glyphIndex : glyphIndexes) { + QModelIndex index = m_model->index(glyphIndex); + selectedItems.select(index, index); + } } } + ui->lvGlyphs->selectionModel()->clearSelection(); + if (!selectedItems.isEmpty()) + ui->lvGlyphs->selectionModel()->select(selectedItems, QItemSelectionModel::Select); + connect(ui->lvGlyphs->selectionModel(), &QItemSelectionModel::selectionChanged, this, -- cgit v1.2.1 From 3480921b44f7a4dc8a38656a9722c1507a1b840a Mon Sep 17 00:00:00 2001 From: Kai Koehne <kai.koehne@qt.io> Date: Fri, 7 Jun 2019 16:00:59 +0200 Subject: lupdate: Warn about calls with template literals JS template literals do not really mix well with the Qt Linguist toochain, at least if template arguments are used: This makes the source string dynamic. So far qsTr(``) calls were just ignored. Now lupdate prints a warning. Task-number: QTBUG-76265 Change-Id: I935c382695a86ecd6fd076b31a68fa987be8fd84 Reviewed-by: Lucie Gerard <lucie.gerard@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> --- src/linguist/lupdate/qdeclarative.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/linguist/lupdate/qdeclarative.cpp b/src/linguist/lupdate/qdeclarative.cpp index fa8ad260e..707ea0b79 100644 --- a/src/linguist/lupdate/qdeclarative.cpp +++ b/src/linguist/lupdate/qdeclarative.cpp @@ -112,6 +112,10 @@ protected: yyMsg(identLineNo) << qPrintable(LU::tr("%1() requires at least one argument.\n").arg(name)); return; } + if (AST::cast<AST::TemplateLiteral *>(node->arguments->expression)) { + yyMsg(identLineNo) << qPrintable(LU::tr("%1() cannot be used with template literals. Ignoring\n").arg(name)); + return; + } QString source; if (!createString(node->arguments->expression, &source)) -- cgit v1.2.1