Go to file
Eskil Abrahamsen Blomfeldt 3ccdeb4b58 Remove specialized multi font engine on Windows
This was added as a platform-specific implementation of the multi engine
in 2005, before this code was generalized, and it currently only has the purpose
of special handling loadEngine().

The way this was special handled was by creating a new QFontEngine for every
fallback family *every* time, never checking if the font engine already exists
in the cache (like the superclass implementation does). The result of this was
that if you had 500 fonts and each of them had 500 fallback fonts, and made
a loop that would load all of them, then you would get 250000 font engines.
At some point before this, we would run out of available handles and crash.

There shouldn't be any need to have special handling of fallback font loading
on Windows (i.e. all the platform specific parts should go through the normal
mechanisms in QPA), so lets just go through the superclass implementation instead.

[ChangeLog][Windows][Text] Reduced the number of font engines that are
created when loading new fonts, fixing crashes in some special cases where
a large number of fonts are created during a short period of time.

Fixes: QTBUG-70032
Change-Id: I05040dd458e820510685e8c6df8f31876d9bdb89
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2018-12-17 08:10:19 +00:00
bin syncqt: Do not clean header directory before "-minimal" run 2018-11-22 14:16:53 +00:00
config.tests configure: convert xlib to a proper library definition 2018-12-07 23:48:48 +00:00
dist Include CLDR 34 update in change log 2018-12-11 18:57:27 +00:00
doc doc: Update online navigation header to match http://doc.qt.io/ 2018-10-17 16:16:28 +00:00
examples threads: disable threads examples for nothread builds 2018-12-10 05:36:08 +00:00
lib Purge all fonts 2015-08-18 19:59:14 +00:00
mkspecs Fix clang LTCG config on Windows 2018-12-16 10:40:03 +00:00
qmake qmake: don't mess up linking order of libraries 2018-12-14 17:20:11 +00:00
src Remove specialized multi font engine on Windows 2018-12-17 08:10:19 +00:00
tests nativewindow: Add additional test for 8pt font size 2018-12-16 15:02:19 +00:00
util Clean up and update Unicode character data 3rd-party infrastructure 2018-11-11 22:09:27 +00:00
.gitattributes Update the git-archive export options 2012-09-07 15:39:31 +02:00
.gitignore Remove support for qml1 plugins and modules 2018-11-15 19:52:13 +00:00
.qmake.conf Bump version 2018-11-08 11:26:39 +01:00
.tag Update the git-archive export options 2012-09-07 15:39:31 +02:00
config_help.txt src/3rdparty: remove xkbcommon 2018-11-30 09:47:03 +00:00
configure configure: Treat win32-clang-g++ the same as win32-g++ 2018-10-10 04:10:40 +00:00
configure.bat configure: Prefer cl.exe over clang-cl.exe 2018-01-04 21:22:42 +00:00
configure.json configure: verify header presence against sources 2018-12-14 23:44:30 +00:00
configure.pri configure: fix license determination failure message 2018-11-21 23:07:48 +00:00
header.BSD Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.COMM Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.FDL Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.GPL Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.GPL-EXCEPT Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.LGPL Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.LGPL3 Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.LGPL3-COMM Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.LGPL-NOGPL2 Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.LGPL-ONLY Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.MIT qsimd: add support for new x86 CPU features 2018-05-05 06:20:07 +00:00
INSTALL Doc: Update links in INSTALL file 2015-02-16 09:06:41 +00:00
LICENSE.FDL Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
LICENSE.GPL2 Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.GPL3 Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.GPL3-EXCEPT Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.LGPL3 Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.LGPLv3 Remove LICENSE.GPLv3, LICENSE.LGPLv21, LGPL_EXCEPTION.txt 2018-04-16 11:02:14 +00:00
LICENSE.QT-LICENSE-AGREEMENT-4.0 Replace commercial preview license with Qt License Agreement 4.0 2018-06-21 11:39:15 +00:00
qtbase.pro nuke configure -host-option 2016-12-13 18:55:59 +00:00
sync.profile Fix build failed with ANGLE 2018-10-16 05:19:43 +00:00