From 5b524a1262f2e7bffb4dc5cb71cb3b7eea527d99 Mon Sep 17 00:00:00 2001 From: wp_xxyyzz Date: Sat, 19 Mar 2016 21:33:01 +0000 Subject: [PATCH] fpspreadsheet: Fix ods writer crashing occasionally due to uninitialized local rowheight variaible. git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4577 8e941d3f-bd1b-0410-a28a-d453659cc2b4 --- .../examples/read_write/opendocdemo/opendocwrite.lpr | 3 ++- components/fpspreadsheet/fpsopendocument.pas | 7 ++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/components/fpspreadsheet/examples/read_write/opendocdemo/opendocwrite.lpr b/components/fpspreadsheet/examples/read_write/opendocdemo/opendocwrite.lpr index da1e9da80..fe7f59789 100644 --- a/components/fpspreadsheet/examples/read_write/opendocdemo/opendocwrite.lpr +++ b/components/fpspreadsheet/examples/read_write/opendocdemo/opendocwrite.lpr @@ -43,6 +43,7 @@ begin MyWorksheet.WriteNumber(0, 1, 2.0); // B1 MyWorksheet.WriteNumber(0, 2, 3.0); // C1 MyWorksheet.WriteNumber(0, 3, 4.0); // D1 + MyWorksheet.WriteText(4, 2, 'Total:'); // C5 MyWorksheet.WriteNumber(4, 3, 10); // D5 MyWorksheet.WriteDateTime(5, 0, now); @@ -281,7 +282,7 @@ begin MyWorksheet := MyWorkbook.AddWorksheet('My Worksheet 2'); // Save the spreadsheet to a file - MyWorkbook.WriteToFile(MyDir + 'test.ods', sfOpenDocument); + MyWorkbook.WriteToFile(MyDir + 'test1.ods', sfOpenDocument, true); MyWorkbook.Free; end. diff --git a/components/fpspreadsheet/fpsopendocument.pas b/components/fpspreadsheet/fpsopendocument.pas index 2b08672f0..47cd6bfc0 100755 --- a/components/fpspreadsheet/fpsopendocument.pas +++ b/components/fpspreadsheet/fpsopendocument.pas @@ -5257,9 +5257,10 @@ begin // Look for the row style of the current row (r) row := ASheet.FindRow(r); - if row = nil then - styleName := 'ro1' - else + if row = nil then begin + styleName := 'ro1'; + h := ASheet.ReadDefaultRowHeight(FWorkbook.Units); + end else begin styleName := '';