From 4393b02323ed51122fe5ab009758ee1b8c35a185 Mon Sep 17 00:00:00 2001 From: Simon Rozman Date: Mon, 1 Apr 2019 09:17:35 +0200 Subject: [PATCH] Fix decomposition Signed-off-by: Simon Rozman --- ZRCola/zrcolacomppnl.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/ZRCola/zrcolacomppnl.cpp b/ZRCola/zrcolacomppnl.cpp index 95a694a..078f9bb 100644 --- a/ZRCola/zrcolacomppnl.cpp +++ b/ZRCola/zrcolacomppnl.cpp @@ -96,7 +96,7 @@ void wxZRColaComposerPanel::SynchronizePanels() m_mapping.clear(); if (app->m_mainWnd->m_composition) { - // ZRCola Decomposed => ZRCola Composed should decompose first. + // 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)); @@ -151,8 +151,12 @@ void wxZRColaComposerPanel::SynchronizePanels() } if (app->m_mainWnd->m_composition) { - // ZRCola Decomposed => ZRCola Composed + // 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)); } m_destination->GetSelection(&m_selDestination.first, &m_selDestination.second);