https://bugs.documentfoundation.org/show_bug.cgi?id=141619
Kevin Suo <suokunl...@126.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Version|4.2.8.2 release |4.2.0.4 release --- Comment #8 from Kevin Suo <suokunl...@126.com> --- Bug introduced by the any of the following 3 commits related to the switch to use mdds for cell storage. 1. commit c008dc483f8c6840803983e7e351cec6fdd32070 Author: Kohei Yoshida <kohei.yosh...@gmail.com> Date: Fri May 24 11:52:18 2013 -0400 Switch to using multi_type_vector for cell storage. 2. commit 3b0c069c9a157c4cd9ec5636c776115af6d9664f Author: Kohei Yoshida <kohei.yosh...@gmail.com> Date: Wed Jun 19 11:54:12 2013 -0400 Don't forget to return true if we are successful. 3. commit e3b91687590f08438b5a5d4eec72e634b11a8589 Author: Kohei Yoshida <kohei.yosh...@gmail.com> Date: Wed Jun 19 16:48:32 2013 -0400 Fix the horizontal cell iterator. (Note that #2 is to fix the hang when open a calc document, and #3 is to fix a crach when open a calc document, so the most possible first bad commit is #1. However, #3 may also possible to cause the bug.) ========== Below I describe how I identified the 3 commits, in case someone is interested: 1. Set up a old Fedora 19 VM. Branch off based on: commit ac84ffb3c90bb5788608eadf2177f587021daaad (Remove unnecessary debug outputs that would slow down perf tests., 2013-05-22) I use this as the base for the new branch because it is the last known commit which can pass the build before commit c7bdee8dbd1cf260a8513a0d31b36f90daa70f1c which added "#include <mdds/multi_type_vector_custom_func3.hpp> but this header file does not exists in mdds 0.8.1 (this header is added in 0.9.0). 2. cherry-pick the mdds 0.9.0 commits: $ git cherry-pick -x 878f46727d8bcf1f75d056d9270ef3e2fe0b9d88 $ git cherry-pick -x bb7d5ce2a8bd1dca51eb627aa2df811541053969 $ git cherry-pick -x 4347e3b15f10784b482544bd6324d3fcd4f0146c and adjust the following file (see mdds 0.9.0 API Incompatibility Note) sc/inc/mtvelements.hxx: -typedef mdds::mtv::custom_block_func1<sc::element_type_broadcaster, sc::custom_broadcaster_block> BCBlkFunc; +typedef mdds::mtv::custom_block_func1<sc::custom_broadcaster_block> BCBlkFunc; -typedef mdds::mtv::custom_block_func1<sc::element_type_celltextattr, sc::custom_celltextattr_block> CTAttrFunc; +typedef mdds::mtv::custom_block_func1<sc::custom_celltextattr_block> CTAttrFunc; sc/source/core/tool/scmatrix.cxx: - static void delete_block(mdds::mtv::base_element_block* p) + static void delete_block(const mdds::mtv::base_element_block* p) Build successful. Tested and bug does not exists. 3. Cherry-pick the first commit in the bibisect range: c7bdee8dbd1cf260a8513a0d31b36f90daa70f1c Define block types for string, edit text and formula cell elements. (need to fix a confict due to step 2) 4. Commit the following changes to make the above commit buildable: sc/inc/mtvelements.hxx // Cell container typedef mdds::mtv::custom_block_func3< - sc::element_type_string, sc::string_block, - sc::element_type_edittext, sc::edittext_block, - sc::element_type_formula, sc::formula_block> CellFunc; + sc::string_block, + sc::edittext_block, + sc::formula_block> CellFunc; Build successful. Bug does not exists. 5. cherry-pick 77ec47356025de4e46f48f94629f896349b0a8e5 Reduce dependency on mtvelements.hxx header. build successful. Bug does not exists. 6. Cherry-pick e9c5eb60d53204261c7937108bd53e86e46fc2f3 Re-org the headers a bit. In column?.cxx, column.hxx must be the first. Building sucessful. Bug does not exists. 7. cherry-pick 75dec25730c88bdb8eb5e2a3f92689460fa89d29 Add new cell container to ScColumn. No need to build and test because this change does not change any behaviour. 8. Cherry-pick c008dc483f8c6840803983e7e351cec6fdd32070 Switch to using multi_type_vector for cell storage. (need to resolve conflicts) Building sucessful, but hang when opening the test file and crash when create empty calc document, so we need next steps. 9. Cherry-pick these two commits which are for the fix of the hang and the crash: 3b0c069c9a157c4cd9ec5636c776115af6d9664f Don't forget to return true if we are successful. e3b91687590f08438b5a5d4eec72e634b11a8589 Fix the horizontal cell iterator. Build successful. But exists! So: e3b91687590f08438b5a5d4eec72e634b11a8589 Fix the horizontal cell iterator. 3b0c069c9a157c4cd9ec5636c776115af6d9664f Don't forget to return true if we are successful. c008dc483f8c6840803983e7e351cec6fdd32070 Switch to using multi_type_vector for cell storage. -- You are receiving this mail because: You are the assignee for the bug.