diff options
author | Konstantin Ritt <ritt.ks@gmail.com> | 2014-11-28 15:47:05 +0400 |
---|---|---|
committer | Konstantin Ritt <ritt.ks@gmail.com> | 2014-11-29 15:15:13 +0100 |
commit | 62bf16d99278374d54670691ea0cdcd562f00ecf (patch) | |
tree | e3cf044dacf621a991e1d47372b223be72ae8195 /src | |
parent | 155f664ac2d6be47e231c32cf5f02aed3b5202f9 (diff) |
Fix assertion introduced in 8e3fdf13543f43d7a4cb4fa41f7279f9a5d274d3
It is clear from the commit itself that `m_engines[1]` isn't accessible
after `m_engines.resize(1)`.
Change-Id: I7b3977cca3f3aeaabadb5ff4f3e52a418022123c
Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/gui/text/qfontengine.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/gui/text/qfontengine.cpp b/src/gui/text/qfontengine.cpp index af37c05e41..d6597a7a59 100644 --- a/src/gui/text/qfontengine.cpp +++ b/src/gui/text/qfontengine.cpp @@ -1567,7 +1567,7 @@ QFontEngineMulti::QFontEngineMulti(QFontEngine *engine, int script, const QStrin m_fallbackFamilies << QString(); } - m_engines.fill(0, m_fallbackFamilies.size() + 1); + m_engines.resize(m_fallbackFamilies.size() + 1); engine->ref.ref(); m_engines[0] = engine; @@ -1601,15 +1601,15 @@ void QFontEngineMulti::setFallbackFamiliesList(const QStringList &fallbackFamili Q_ASSERT(!m_fallbackFamiliesQueried); m_fallbackFamilies = fallbackFamilies; - - m_engines.resize(m_fallbackFamilies.size() + 1); - if (m_fallbackFamilies.isEmpty()) { // turns out we lied about having any fallback at all + Q_ASSERT(m_engines.size() == 2); // see c-tor for details QFontEngine *engine = m_engines.at(0); engine->ref.ref(); m_engines[1] = engine; m_fallbackFamilies << fontDef.family; + } else { + m_engines.resize(m_fallbackFamilies.size() + 1); } m_fallbackFamiliesQueried = true; |