You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by st...@apache.org on 2013/12/30 06:52:36 UTC

svn commit: r1554147 - in /openoffice/trunk/main/oox: inc/oox/xls/worksheethelper.hxx source/xls/worksheetfragment.cxx source/xls/worksheethelper.cxx

Author: steve_y
Date: Mon Dec 30 05:52:36 2013
New Revision: 1554147

URL: http://svn.apache.org/r1554147
Log:
Bug 123910 - The reference in validation condition change to #REF! in exported xls file

Build break fix

Modified:
    openoffice/trunk/main/oox/inc/oox/xls/worksheethelper.hxx
    openoffice/trunk/main/oox/source/xls/worksheetfragment.cxx
    openoffice/trunk/main/oox/source/xls/worksheethelper.cxx

Modified: openoffice/trunk/main/oox/inc/oox/xls/worksheethelper.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/oox/inc/oox/xls/worksheethelper.hxx?rev=1554147&r1=1554146&r2=1554147&view=diff
==============================================================================
--- openoffice/trunk/main/oox/inc/oox/xls/worksheethelper.hxx (original)
+++ openoffice/trunk/main/oox/inc/oox/xls/worksheethelper.hxx Mon Dec 30 05:52:36 2013
@@ -154,6 +154,7 @@ struct ValidationModel
     ApiCellRangeList    maRanges;
     ApiTokenSequence    maTokens1;
     ApiTokenSequence    maTokens2;
+    ::rtl::OUString     msRef;
     ::rtl::OUString     maInputTitle;
     ::rtl::OUString     maInputMessage;
     ::rtl::OUString     maErrorTitle;

Modified: openoffice/trunk/main/oox/source/xls/worksheetfragment.cxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/oox/source/xls/worksheetfragment.cxx?rev=1554147&r1=1554146&r2=1554147&view=diff
==============================================================================
--- openoffice/trunk/main/oox/source/xls/worksheetfragment.cxx (original)
+++ openoffice/trunk/main/oox/source/xls/worksheetfragment.cxx Mon Dec 30 05:52:36 2013
@@ -158,6 +158,7 @@ void DataValidationsContext::importDataV
 {
     mxValModel.reset( new ValidationModel );
     getAddressConverter().convertToCellRangeList( mxValModel->maRanges, rAttribs.getString( XML_sqref, OUString() ), getSheetIndex(), true );
+    mxValModel->msRef          = rAttribs.getString( XML_sqref, OUString() );
     mxValModel->maInputTitle   = rAttribs.getXString( XML_promptTitle, OUString() );
     mxValModel->maInputMessage = rAttribs.getXString( XML_prompt, OUString() );
     mxValModel->maErrorTitle   = rAttribs.getXString( XML_errorTitle, OUString() );

Modified: openoffice/trunk/main/oox/source/xls/worksheethelper.cxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/oox/source/xls/worksheethelper.cxx?rev=1554147&r1=1554146&r2=1554147&view=diff
==============================================================================
--- openoffice/trunk/main/oox/source/xls/worksheethelper.cxx (original)
+++ openoffice/trunk/main/oox/source/xls/worksheethelper.cxx Mon Dec 30 05:52:36 2013
@@ -1093,6 +1093,26 @@ void WorksheetGlobals::finalizeValidatio
             {
             }
 
+            try
+            {
+                sal_Int32 nIndex = 0;
+                OUString aToken = aIt->msRef.getToken( 0, ' ', nIndex );
+
+                Reference<XSpreadsheet> xSheet = getSheetFromDoc( getCurrentSheetIndex() );
+                Reference<XCellRange> xDBCellRange;
+                Reference<XCell> xCell;
+                xDBCellRange = xSheet->getCellRangeByName( aToken );
+
+                xCell = xDBCellRange->getCellByPosition( 0, 0 );
+                Reference<XCellAddressable> xCellAddressable( xCell, UNO_QUERY_THROW );
+                CellAddress aFirstCell = xCellAddressable->getCellAddress();
+                Reference<XSheetCondition> xCondition( xValidation, UNO_QUERY_THROW );
+                xCondition->setSourcePosition( aFirstCell );	
+            }
+            catch( Exception& )
+            {
+            }
+
             // convert validation type to API enum
             ValidationType eType = ValidationType_ANY;
             switch( aIt->mnType )