Created attachment 59856 [details] extention This file ([url=https://bugs.freedesktop.org/attachment.cgi?id=59854]attachment 59854[/url]) is created Microsoft Visio 2000, and contains blocks of text in Russian. Draw opens text blocks in the Greek character set. Now I use an extension (see attachment) to correct this error. -- P.S. Text blocks (CP-1251) of MS_Visio-XP&2003's files open correctly.
That document crashes LO 3.5.2, BTW.
(In reply to comment #1) > That document crashes LO 3.5.2, BTW. Start the LibreOffice and run Draw. Open the document after these actions. All OK - LibO-3.5.2 and LibO-3.5.3rc0 in Windows-XPsp2 (x64) and Windows-7sp1 (HPx32).
OK, we don't really convert correctly the charsets for visio 2000 and 2002 file-format. We only recently reverse-engineered how this is stored and did not yet have the time to implement it.
I would discourage the use of random extensions. It would be much better to help a bit to extend libvisio capacities. We have the conversion tables for all MS codepages (apart the CJK ones that are a bit more complicated) and if someone has some time, I would not mind to explain what to do.
Valek, could you check what is going wrong with this file: https://bugs.freedesktop.org/attachment.cgi?id=59854 Oletoy spits the following on the console when opening it: Version: 6 Size: 26c61 ptr_search failed in 1d !!! --------------- !!! 82 03 1:2:11:1:1:405:0:0 !!! --------------- !!! 82 03 1:2:11:1:1:452:0:0 And we get out of bonds when we try to access an index of a colour. Two things come to mind: 1) Either the colours are having somewhere ids that are not the same as their order 2) we are reading the colourId to be used wrongly.
I don't see any place in the file from where this out of range colourID could be requested (Line/Fill/CharIX). "ptr_search failed in 1d" -- cosmetic (no stencils, so no pointers in stream 1d). "!!! --------------- !!! 82 03 1:2:11:1:1:405:0:0 !!! --------------- !!! 82 03 1:2:11:1:1:452:0:0" oletoy barfs because we've never seen chunk 0x82 before. Both 0x82 in the file only have 0's. Those chunks are part of the 'Shape="Guide"', shouldn't be a problem. For charset conversion: - text is stored in "Text IX" ('readText' in VSD6Parser.cpp), - charset is at offset 2 (after header) in Font ('readFontIX' in VSDXParser.cpp), - conversion is here http://cgit.freedesktop.org/libreoffice/libcdr/commit/?id=5c5a45a5dbfdaf4e63f08bdcdbe98300dcc5b6fa
But why does it still crash Draw somewhere in component_getFactory?
Fridrich Štrba committed a patch related to this issue. It has been pushed to "libreoffice-3-6": http://cgit.freedesktop.org/libreoffice/core/commit/?id=c1ee18d5dfb92a9ffb0f8f5f069b8de936c75562&g=libreoffice-3-6 Uploading libvisio 0.0.18, fixing fdo#48602 It will be available in LibreOffice 3.6.
Fridrich Å trba committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=8c2843d807c15452a5b03ec8287d4f1c1ed35b01 Uploading libvisio 0.0.18, fixing fdo#48602
Fridrich Å trba committed a patch related to this issue. It has been pushed to "libreoffice-3-5": http://cgit.freedesktop.org/libreoffice/core/commit/?id=949c6d959af1971552ae78e69251fab1b8e7dce3&g=libreoffice-3-5 Uploading libvisio 0.0.18, fixing fdo#48602 It will be available in LibreOffice 3.5.6.
Fridrich Å trba committed a patch related to this issue. It has been pushed to "libreoffice-3-5-5": http://cgit.freedesktop.org/libreoffice/core/commit/?id=4a6b4b93173e5c354f315ff85afa6ffa8ee1774a&g=libreoffice-3-5-5 Uploading libvisio 0.0.18, fixing fdo#48602 It will be available already in LibreOffice 3.5.5.
I believe this one is fixed. ape, Большое спасибо за сообщение об ошибке!