From 94fe4d2fdae529c7234e1ba8c74ebce4bd3224f0 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 26 Nov 2019 12:30:59 +0100 Subject: [PATCH] [libcalamares] Avoid weak vtables in string-pair implementation --- src/libcalamares/locale/TimeZone.cpp | 15 +++++++++++++++ src/libcalamares/locale/TimeZone.h | 8 ++------ 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/src/libcalamares/locale/TimeZone.cpp b/src/libcalamares/locale/TimeZone.cpp index 900548c72..420344ed7 100644 --- a/src/libcalamares/locale/TimeZone.cpp +++ b/src/libcalamares/locale/TimeZone.cpp @@ -79,5 +79,20 @@ CStringPair::~CStringPair() free( m_key ); } + +QString +TZRegion::tr() const +{ + // NOTE: context name must match what's used in zone-extractor.py + return QObject::tr( m_human, "tz_regions" ); +} + +QString +TZZone::tr() const +{ + // NOTE: context name must match what's used in zone-extractor.py + return QObject::tr( m_human, "tz_names" ); +} + } // namespace Locale } // namespace CalamaresUtils diff --git a/src/libcalamares/locale/TimeZone.h b/src/libcalamares/locale/TimeZone.h index f3590c898..8bba1c45d 100644 --- a/src/libcalamares/locale/TimeZone.h +++ b/src/libcalamares/locale/TimeZone.h @@ -61,9 +61,7 @@ class TZRegion : public CStringPair { public: using CStringPair::CStringPair; - - // NOTE: context name must match what's used in zone-extractor.py - QString tr() const override { return QObject::tr( m_human, "tz_regions" ); } + QString tr() const override; }; /// @brief A pair of strings for specific timezone names (e.g. "New_York") @@ -71,9 +69,7 @@ class TZZone : public CStringPair { public: using CStringPair::CStringPair; - - // NOTE: context name must match what's used in zone-extractor.py - QString tr() const override { return QObject::tr( m_human, "tz_names" ); } + QString tr() const override; }; } // namespace Locale