Legacy reports (not Sun/Oracle Report Builder ones) created by
LibreOffice 3.4 or earlier fail to open in LibreOffice 3.5 and later:
show empty data.

That's because LibreOffice 3.5 expects a hidden control named
"Sorting" to be present; but older versions did not create it.

Attached patch fixes that to cleanly catch the exception and act
accordingly. Please apply to libreoffice-3-5 branch.

-- 
Lionel
>From 3533328aae5f38d6d21c2baee782abc4511bb649 Mon Sep 17 00:00:00 2001
From: Lionel Elie Mamane <lio...@mamane.lu>
Date: Tue, 5 Jun 2012 18:40:13 +0200
Subject: [PATCH] fdo#47325 legacy reports: survive absence of Sorting hidden
 control

Reports created in 3.4 and earlier lack it.

Change-Id: I2cf1cad75fff59f23ad98299c4f94253adf7355b
---
 .../wizards/report/ReportTextImplementation.java   |   11 ++++++++++-
 1 files changed, 10 insertions(+), 1 deletions(-)

diff --git a/wizards/com/sun/star/wizards/report/ReportTextImplementation.java b/wizards/com/sun/star/wizards/report/ReportTextImplementation.java
index 9e73038..9b1e1e2 100644
--- a/wizards/com/sun/star/wizards/report/ReportTextImplementation.java
+++ b/wizards/com/sun/star/wizards/report/ReportTextImplementation.java
@@ -57,6 +57,7 @@ import com.sun.star.wizards.common.PropertyNames;
 import com.sun.star.wizards.common.SystemDialog;
 import com.sun.star.wizards.db.DBMetaData;
 import com.sun.star.wizards.document.OfficeDocument;
+import com.sun.star.wizards.document.FormHandler.UnknownHiddenControlException;
 import com.sun.star.wizards.ui.UIConsts;
 import java.util.ArrayList;
 import java.util.Vector;
@@ -233,7 +234,15 @@ public class ReportTextImplementation extends ReportImplementationHelper impleme
                 String sCommandType = getDoc().oFormHandler.getValueofHiddenControl(xNamedForm, PropertyNames.COMMAND_TYPE, sMsg);
                 String sGroupFieldNames = getDoc().oFormHandler.getValueofHiddenControl(xNamedForm, "GroupFieldNames", sMsg);
                 String sFieldNames = getDoc().oFormHandler.getValueofHiddenControl(xNamedForm, "FieldNames", sMsg);
-                final String sorting = getDoc().oFormHandler.getValueofHiddenControl(xNamedForm, "Sorting", sMsg);
+                String sorting;
+                try
+                {
+                    sorting = getDoc().oFormHandler.getValueofHiddenControl(xNamedForm, "Sorting", sMsg);
+                }
+                catch (UnknownHiddenControlException exception)
+                {
+		    sorting = "";
+                }
                 String sRecordFieldNames = getDoc().oFormHandler.getValueofHiddenControl(xNamedForm, "RecordFieldNames", sMsg);
                 if (xNamedForm.hasByName("QueryName"))
                 {
-- 
1.7.7.3

_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice

Reply via email to