From 74dddd8b483d89dc7915471441cc30a1aa342363 Mon Sep 17 00:00:00 2001 From: Miklos Vajna Date: Mon, 19 Dec 2016 19:35:20 +0100 Subject: tdf#104162 DOCX import: fix crash on in a comment table sw comments are handled by editeng, so tables in comments aren't imported. That means lcl_emptyRow() may get a row where the first cell's start is an empty reference, so handle that case. Change-Id: I43e286314143934c20e6cbbd656d32883b6b2efe --- writerfilter/source/dmapper/DomainMapperTableHandler.cxx | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'writerfilter') diff --git a/writerfilter/source/dmapper/DomainMapperTableHandler.cxx b/writerfilter/source/dmapper/DomainMapperTableHandler.cxx index 61f53e03219a..30a4ad73c368 100644 --- a/writerfilter/source/dmapper/DomainMapperTableHandler.cxx +++ b/writerfilter/source/dmapper/DomainMapperTableHandler.cxx @@ -896,6 +896,14 @@ bool lcl_emptyRow(std::vector& rTableRanges, sal_Int32 nRow) return false; } + if (!rRowSeq[0][0].is()) + { + // This can happen when we can't import the table, e.g. we're inside a + // comment. + SAL_WARN("writerfilter.dmapper", "rRowSeq[0][0] is an empty reference"); + return false; + } + uno::Reference xTextRangeCompare(rRowSeq[0][0]->getText(), uno::UNO_QUERY); try { -- cgit