From 62bf16d99278374d54670691ea0cdcd562f00ecf Mon Sep 17 00:00:00 2001 From: Konstantin Ritt Date: Fri, 28 Nov 2014 15:47:05 +0400 Subject: Fix assertion introduced in 8e3fdf13543f43d7a4cb4fa41f7279f9a5d274d3 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- src/gui/text/qfontengine.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/gui/text/qfontengine.cpp') 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; -- cgit v1.2.3