summaryrefslogtreecommitdiff
path: root/writerfilter
diff options
context:
space:
mode:
authorCzeber László Ádám <czeber.laszloadam@nisz.hu>2023-04-18 15:01:14 +0200
committerAndras Timar <andras.timar@collabora.com>2023-05-13 20:05:28 +0200
commit3175210666d6810fe0b480d139a776c6153be37d (patch)
tree31f2134faf65ede921c8c290e69044bca339e2a7 /writerfilter
parentc90828dce2146e2b1f764c211d34171cc485bd8e (diff)
tdf#138093 DOCX import: fix broken date selector control in table
In tables, first character of the text value of the date selector control left outside of the control during the import, resulting broken date selector, e.g. 2[023] instead of [2023]. (Clicking on the broken control, according to the year *023*, the selector listed the lowest possible value, year 1900, and selecting that, the result became 2[1900].) Note: the fix works well with nested tables, too, so likely the condition with tables is obsolete. Perhaps regression from commit b36ef83ea59eeaca239e58b95aa0b1acdcb99efc "tdf126701: MSForms: Fix import of date field at the end of the paragraph." and commit 68e1be4ccbb90ee9a788962219a88312c4ffbea2 "MSForms: Rework text-based date form field's representation". Change-Id: Ib217a3a06522bfe7b3b0fbc884f98504f628fc59 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150575 Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: László Németh <nemeth@numbertext.org> Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151053 Tested-by: Jenkins
Diffstat (limited to 'writerfilter')
-rw-r--r--writerfilter/source/dmapper/SdtHelper.cxx4
1 files changed, 3 insertions, 1 deletions
diff --git a/writerfilter/source/dmapper/SdtHelper.cxx b/writerfilter/source/dmapper/SdtHelper.cxx
index f7642c464889..46112c22f45f 100644
--- a/writerfilter/source/dmapper/SdtHelper.cxx
+++ b/writerfilter/source/dmapper/SdtHelper.cxx
@@ -380,8 +380,10 @@ void SdtHelper::createDateContentControl()
try
{
xCrsr->gotoRange(m_xDateFieldStartRange, false);
+ // tdf#138093: Date selector reset, if placed inside table
+ // Modified to XOR relationship
bool bIsInTable = (m_rDM_Impl.hasTableManager() && m_rDM_Impl.getTableManager().isInTable())
- || (m_rDM_Impl.m_nTableDepth > 0);
+ != (m_rDM_Impl.m_nTableDepth > 0);
if (bIsInTable)
xCrsr->goRight(1, false);
xCrsr->gotoEnd(true);