diff --git a/ZRCola/zrcolacomppnl.cpp b/ZRCola/zrcolacomppnl.cpp index 078f9bb..a96c3c4 100644 --- a/ZRCola/zrcolacomppnl.cpp +++ b/ZRCola/zrcolacomppnl.cpp @@ -95,15 +95,6 @@ void wxZRColaComposerPanel::SynchronizePanels() m_mapping.clear(); - if (app->m_mainWnd->m_composition) { - // ZRCola decompose first, then re-compose. - app->m_t_db.TranslateInv(ZRCOLA_TRANSEQID_DEFAULT, dst.data(), dst.size(), dst2, &map); - m_mapping.push_back(std::move(map)); - - app->m_t_db.Translate(ZRCOLA_TRANSEQID_DEFAULT, dst2.data(), dst2.size(), dst, &map); - m_mapping.push_back(std::move(map)); - } - // Other translations const ZRCola::transetid_t *sets_begin, *sets_end; GetTranslationSeq(sets_begin, sets_end); @@ -113,6 +104,15 @@ void wxZRColaComposerPanel::SynchronizePanels() dst = std::move(dst2); } + if (app->m_mainWnd->m_composition) { + // ZRCola decompose first, then re-compose. + app->m_t_db.TranslateInv(ZRCOLA_TRANSEQID_DEFAULT, dst.data(), dst.size(), dst2, &map); + m_mapping.push_back(std::move(map)); + + app->m_t_db.Translate(ZRCOLA_TRANSEQID_DEFAULT, dst2.data(), dst2.size(), dst, &map); + m_mapping.push_back(std::move(map)); + } + m_source->GetSelection(&m_selSource.first, &m_selSource.second); // Update source HEX dump. @@ -139,20 +139,20 @@ void wxZRColaComposerPanel::SynchronizePanels() m_mapping.clear(); - // Other translations - const ZRCola::transetid_t *sets_begin, *sets_end; - GetTranslationSeq(sets_begin, sets_end); - for (auto s = sets_end; (s--) != sets_begin;) { - app->m_t_db.TranslateInv(*s, dst.data(), dst.size(), dst2, &map); + if (app->m_mainWnd->m_composition) { + // ZRCola decompose. + app->m_t_db.TranslateInv(ZRCOLA_TRANSEQID_DEFAULT, dst.data(), dst.size(), &app->m_lc_db, app->m_mainWnd->m_settings->m_lang, dst2, &map); dst = std::move(dst2); map.invert(); m_mapping.push_back(std::move(map)); } - if (app->m_mainWnd->m_composition) { - // ZRCola decompose. - app->m_t_db.TranslateInv(ZRCOLA_TRANSEQID_DEFAULT, dst.data(), dst.size(), &app->m_lc_db, app->m_mainWnd->m_settings->m_lang, dst2, &map); + // Other translations + const ZRCola::transetid_t *sets_begin, *sets_end; + GetTranslationSeq(sets_begin, sets_end); + for (auto s = sets_end; (s--) != sets_begin;) { + app->m_t_db.TranslateInv(*s, dst.data(), dst.size(), dst2, &map); dst = std::move(dst2); map.invert();