https://bugs.documentfoundation.org/show_bug.cgi?id=89226

--- Comment #6 from Mike Kaganski <[email protected]> ---
Here are some details:

1. The problems introduced ~20 aug 2013 totally prevented the Chinese
convertion from working. They have been fixed between 4.2.0.1 and 4.2.0.2 (dec
2013-jan 2014)
2. Meanwhile, another problem was introduced with commit
575e88da278f536ebfb6562dfd98f341240afec4 (author Kohei Yoshida
<[email protected]> 2014-02-18 02:57:01 (GMT)): fdo#75032: Handle
note copying correctly.

That commit fails to check the pointer argument p in
void CopyCellNotesHandler::operator() ( size_t nRow, const ScPostIt* p )
The null pointer is passed there if the cell doesn't contain a note.
That is the cause of this bug.

But fixing that uncovers another problem here.
If some cells that undergo the conversion do contain notes with them, then
undoing the conversion works (given the zero-checking is enabled), but redoing
crashes LO. That's because of a memory corruption in first undo in
static void
noncopyable_managed_element_block::overwrite_values(base_element_block& block,
size_t pos, size_t len)
called from
multi_type_vector<_CellBlockFunc>::set_impl(size_type pos, size_type start_row,
size_type block_index, const _T& value)

This method overwrites a copy of ScPostIt, that later is used in redo.

So, working on a better fix

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Libreoffice-bugs mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs

Reply via email to