summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--instsetoo_native/inc_openoffice/windows/msi_templates/AppSearc.idt2
-rw-r--r--instsetoo_native/inc_openoffice/windows/msi_templates/RegLocat.idt6
-rw-r--r--instsetoo_native/inc_sdkoo/windows/msi_templates/AppSearc.idt2
-rw-r--r--instsetoo_native/inc_sdkoo/windows/msi_templates/RegLocat.idt6
-rw-r--r--sc/source/core/data/documen4.cxx7
-rw-r--r--[-rwxr-xr-x]sc/source/core/data/dptablecache.cxx14
-rw-r--r--sc/source/ui/view/output2.cxx13
-rw-r--r--scp2/source/binfilter/module_binfilter.scp2
-rw-r--r--scp2/source/templates/module_langpack_binfilter.sct2
-rw-r--r--solenv/inc/minor.mk6
-rwxr-xr-xvcl/aqua/source/app/vclnsapp.mm3
-rw-r--r--vcl/aqua/source/dtrans/aqua_clipboard.cxx30
-rw-r--r--vcl/source/gdi/outdev.cxx6
-rw-r--r--xmloff/source/draw/ximpshap.cxx30
14 files changed, 98 insertions, 31 deletions
diff --git a/instsetoo_native/inc_openoffice/windows/msi_templates/AppSearc.idt b/instsetoo_native/inc_openoffice/windows/msi_templates/AppSearc.idt
index 9bb051e56492..3968375a8815 100644
--- a/instsetoo_native/inc_openoffice/windows/msi_templates/AppSearc.idt
+++ b/instsetoo_native/inc_openoffice/windows/msi_templates/AppSearc.idt
@@ -2,4 +2,6 @@ Property Signature_
s72 s72
AppSearch Property Signature_
INSTALLLOCATION installuser
+INSTALLLOCATION installuser_
INSTALLLOCATION installmachine
+INSTALLLOCATION installmachine_
diff --git a/instsetoo_native/inc_openoffice/windows/msi_templates/RegLocat.idt b/instsetoo_native/inc_openoffice/windows/msi_templates/RegLocat.idt
index 2fb2d2963727..661b9a4be210 100644
--- a/instsetoo_native/inc_openoffice/windows/msi_templates/RegLocat.idt
+++ b/instsetoo_native/inc_openoffice/windows/msi_templates/RegLocat.idt
@@ -1,5 +1,7 @@
Signature_ Root Key Name Type
s72 i2 s255 S255 I2
RegLocator Signature_
-installuser 1 Software\OpenOffice.org\LAYERNAMETEMPLATE\[DEFINEDPRODUCT]\[BRANDPACKAGEVERSION] INSTALLLOCATION 2
-installmachine 2 Software\OpenOffice.org\LAYERNAMETEMPLATE\[DEFINEDPRODUCT]\[BRANDPACKAGEVERSION] INSTALLLOCATION 2
+installuser 1 Software\OpenOffice.org\Layers\[DEFINEDPRODUCT]\[BRANDPACKAGEVERSION] INSTALLLOCATION 2
+installuser_ 1 Software\OpenOffice.org\Layers_\[DEFINEDPRODUCT]\[BRANDPACKAGEVERSION] INSTALLLOCATION 2
+installmachine 2 Software\OpenOffice.org\Layers\[DEFINEDPRODUCT]\[BRANDPACKAGEVERSION] INSTALLLOCATION 2
+installmachine_ 2 Software\OpenOffice.org\Layers_\[DEFINEDPRODUCT]\[BRANDPACKAGEVERSION] INSTALLLOCATION 2
diff --git a/instsetoo_native/inc_sdkoo/windows/msi_templates/AppSearc.idt b/instsetoo_native/inc_sdkoo/windows/msi_templates/AppSearc.idt
index 41ff1521764a..9a3dac51143c 100644
--- a/instsetoo_native/inc_sdkoo/windows/msi_templates/AppSearc.idt
+++ b/instsetoo_native/inc_sdkoo/windows/msi_templates/AppSearc.idt
@@ -2,4 +2,6 @@ Property Signature_
s72 s72
AppSearch Property Signature_
INSTALLLOCATION basisinstalluser
+INSTALLLOCATION basisinstalluser_
INSTALLLOCATION basisinstallmachine
+INSTALLLOCATION basisinstallmachine_
diff --git a/instsetoo_native/inc_sdkoo/windows/msi_templates/RegLocat.idt b/instsetoo_native/inc_sdkoo/windows/msi_templates/RegLocat.idt
index 5121f7870124..072fdcf6c291 100644
--- a/instsetoo_native/inc_sdkoo/windows/msi_templates/RegLocat.idt
+++ b/instsetoo_native/inc_sdkoo/windows/msi_templates/RegLocat.idt
@@ -1,5 +1,7 @@
Signature_ Root Key Name Type
s72 i2 s255 S255 I2
RegLocator Signature_
-basisinstalluser 1 Software\OpenOffice.org\LAYERNAMETEMPLATE\Basis\[OOOBASEVERSION] BASISINSTALLLOCATION 2
-basisinstallmachine 2 Software\OpenOffice.org\LAYERNAMETEMPLATE\Basis\[OOOBASEVERSION] BASISINSTALLLOCATION 2
+basisinstalluser 1 Software\OpenOffice.org\Layers\Basis\[OOOBASEVERSION] BASISINSTALLLOCATION 2
+basisinstalluser_ 1 Software\OpenOffice.org\Layers_\Basis\[OOOBASEVERSION] BASISINSTALLLOCATION 2
+basisinstallmachine 2 Software\OpenOffice.org\Layers\Basis\[OOOBASEVERSION] BASISINSTALLLOCATION 2
+basisinstallmachine_ 2 Software\OpenOffice.org\Layers_\Basis\[OOOBASEVERSION] BASISINSTALLLOCATION 2
diff --git a/sc/source/core/data/documen4.cxx b/sc/source/core/data/documen4.cxx
index 148cc367534c..e8b58b0f71d3 100644
--- a/sc/source/core/data/documen4.cxx
+++ b/sc/source/core/data/documen4.cxx
@@ -505,7 +505,7 @@ double ScDocument::RoundValueAsShown( double fVal, ULONG nFormat )
&& nType != NUMBERFORMAT_TIME && nType != NUMBERFORMAT_DATETIME )
{
short nPrecision;
- if ( nFormat )
+ if ((nFormat % SV_COUNTRY_LANGUAGE_OFFSET) != 0)
{
nPrecision = (short)GetFormatTable()->GetFormatPrecision( nFormat );
switch ( nType )
@@ -524,7 +524,12 @@ double ScDocument::RoundValueAsShown( double fVal, ULONG nFormat )
}
}
else
+ {
nPrecision = (short)GetDocOptions().GetStdPrecision();
+ // #i115512# no rounding for automatic decimals
+ if (nPrecision == static_cast<short>(SvNumberFormatter::UNLIMITED_PRECISION))
+ return fVal;
+ }
double fRound = ::rtl::math::round( fVal, nPrecision );
if ( ::rtl::math::approxEqual( fVal, fRound ) )
return fVal; // durch Rundung hoechstens Fehler
diff --git a/sc/source/core/data/dptablecache.cxx b/sc/source/core/data/dptablecache.cxx
index 8f25b70e41b6..8d2a5ec070f5 100755..100644
--- a/sc/source/core/data/dptablecache.cxx
+++ b/sc/source/core/data/dptablecache.cxx
@@ -201,8 +201,11 @@ ScDPItemData::ScDPItemData( ScDocument* pDoc, SCROW nRow, USHORT nCol, USHORT nD
ScBaseCell* pCell = pDoc->GetCell( aPos );
if ( pCell && pCell->GetCellType() == CELLTYPE_FORMULA && ((ScFormulaCell*)pCell)->GetErrCode() )
+ {
SetString ( aDocStr ); //[SODC_19347] add liyi
//bErr = TRUE; //[SODC_19347] del liyi
+ mbFlag |= MK_ERR;
+ }
else if ( pDoc->HasValueData( nCol, nRow, nDocTab ) )
{
double fVal = pDoc->GetValue(ScAddress(nCol, nRow, nDocTab));
@@ -672,8 +675,15 @@ bool ScDPTableDataCache::ValidQuery( SCROW nRow, const ScQueryParam &rParam, BOO
{
ScQueryEntry& rEntry = rParam.GetEntry(i);
// we can only handle one single direct query
- SCROW nId = GetItemDataId( (SCCOL)rEntry.nField, nRow, FALSE );
- const ScDPItemData* pCellData = GetItemDataById( (SCCOL)rEntry.nField, nId);
+ // #i115431# nField in QueryParam is the sheet column, not the field within the source range
+ SCCOL nQueryCol = (SCCOL)rEntry.nField;
+ if ( nQueryCol < rParam.nCol1 )
+ nQueryCol = rParam.nCol1;
+ if ( nQueryCol > rParam.nCol2 )
+ nQueryCol = rParam.nCol2;
+ SCCOL nSourceField = nQueryCol - rParam.nCol1;
+ SCROW nId = GetItemDataId( nSourceField, nRow, FALSE );
+ const ScDPItemData* pCellData = GetItemDataById( nSourceField, nId );
BOOL bOk = FALSE;
BOOL bTestEqual = FALSE;
diff --git a/sc/source/ui/view/output2.cxx b/sc/source/ui/view/output2.cxx
index 61289cc7f931..b0df298315bf 100644
--- a/sc/source/ui/view/output2.cxx
+++ b/sc/source/ui/view/output2.cxx
@@ -529,9 +529,18 @@ void ScDrawStringsVars::SetTextToWidthOrHash( ScBaseCell* pCell, long nWidth )
// must be a value or formula cell.
return;
- if (eType == CELLTYPE_FORMULA && !static_cast<ScFormulaCell*>(pCell)->IsValue())
+ if (eType == CELLTYPE_FORMULA)
+ {
+ ScFormulaCell* pFCell = static_cast<ScFormulaCell*>(pCell);
+ if (pFCell->GetErrCode() != 0)
+ {
+ SetHashText(); // If the error string doesn't fit, always use "###"
+ return;
+ }
// If it's formula, the result must be a value.
- return;
+ if (!pFCell->IsValue())
+ return;
+ }
ULONG nFormat = GetValueFormat();
if ((nFormat % SV_COUNTRY_LANGUAGE_OFFSET) != 0)
diff --git a/scp2/source/binfilter/module_binfilter.scp b/scp2/source/binfilter/module_binfilter.scp
index ca3c94b759e0..4857ecf3804b 100644
--- a/scp2/source/binfilter/module_binfilter.scp
+++ b/scp2/source/binfilter/module_binfilter.scp
@@ -60,7 +60,7 @@ Module gid_Module_Langpack_Binfilter_Template
ParentID = gid_Module_Optional_Binfilter;
Name = "gid_Module_Langpack_Binfilter_Template";
Description = "gid_Module_Langpack_Binfilter_Template";
- Default = NO;
+ Default = YES;
Styles = (TEMPLATEMODULE);
Files = (gid_File_Res_Bf_Sch,
gid_File_Res_Bf_Svx,
diff --git a/scp2/source/templates/module_langpack_binfilter.sct b/scp2/source/templates/module_langpack_binfilter.sct
index 72c209228849..ffcabf0cf587 100644
--- a/scp2/source/templates/module_langpack_binfilter.sct
+++ b/scp2/source/templates/module_langpack_binfilter.sct
@@ -28,7 +28,7 @@
Module gid_Module_Langpack_Binfilter_<LANGUAGE_>
ParentID = gid_Module_Langpack_Root_<LANGUAGE_>;
Sortkey = "900";
- Default = NO;
+ Default = YES;
Language = "<LANGUAGE>";
Assigns = gid_Module_Langpack_Binfilter_Template;
Name = "gid_Module_Langpack_Binfilter_<LANGUAGE_>";
diff --git a/solenv/inc/minor.mk b/solenv/inc/minor.mk
index aed4bf72ba61..e22bfc3b7c0b 100644
--- a/solenv/inc/minor.mk
+++ b/solenv/inc/minor.mk
@@ -1,5 +1,5 @@
RSCVERSION=330
-RSCREVISION=330m14(Build:9542)
-BUILD=9542
-LAST_MINOR=m14
+RSCREVISION=330m15(Build:9546)
+BUILD=9546
+LAST_MINOR=m15
SOURCEVERSION=OOO330
diff --git a/vcl/aqua/source/app/vclnsapp.mm b/vcl/aqua/source/app/vclnsapp.mm
index f33599fa086e..4264f8802126 100755
--- a/vcl/aqua/source/app/vclnsapp.mm
+++ b/vcl/aqua/source/app/vclnsapp.mm
@@ -39,6 +39,8 @@
#include "vcl/cmdevt.hxx"
#include "rtl/ustrbuf.hxx"
+#include "vcl/impimagetree.hxx"
+
#include "premac.h"
#import "Carbon/Carbon.h"
#import "apple_remote/RemoteControl.h"
@@ -416,6 +418,7 @@
#else // the clean version follows
return pSalData->maFrames.front()->CallCallback( SALEVENT_SHUTDOWN, NULL ) ? NSTerminateCancel : NSTerminateNow;
#endif
+ ImplImageTreeSingletonRef()->shutDown();
return NSTerminateNow;
}
diff --git a/vcl/aqua/source/dtrans/aqua_clipboard.cxx b/vcl/aqua/source/dtrans/aqua_clipboard.cxx
index 52fb13e1e11f..abffeebcb6c1 100644
--- a/vcl/aqua/source/dtrans/aqua_clipboard.cxx
+++ b/vcl/aqua/source/dtrans/aqua_clipboard.cxx
@@ -322,14 +322,17 @@ void AquaClipboard::fireLostClipboardOwnershipEvent(Reference<XClipboardOwner> o
void AquaClipboard::provideDataForType(NSPasteboard* sender, NSString* type)
{
- DataProviderPtr_t dp = mpDataFlavorMapper->getDataProvider(type, mXClipboardContent);
- NSData* pBoardData = NULL;
-
- if (dp.get() != NULL)
- {
- pBoardData = (NSData*)dp->getSystemData();
- [sender setData: pBoardData forType: type];
- }
+ if( mXClipboardContent.is() )
+ {
+ DataProviderPtr_t dp = mpDataFlavorMapper->getDataProvider(type, mXClipboardContent);
+ NSData* pBoardData = NULL;
+
+ if (dp.get() != NULL)
+ {
+ pBoardData = (NSData*)dp->getSystemData();
+ [sender setData: pBoardData forType: type];
+ }
+ }
}
@@ -340,20 +343,21 @@ void AquaClipboard::provideDataForType(NSPasteboard* sender, NSString* type)
void SAL_CALL AquaClipboard::flushClipboard()
throw(RuntimeException)
{
- if (mXClipboardContent.is())
+ if (mXClipboardContent.is())
{
Sequence<DataFlavor> flavorList = mXClipboardContent->getTransferDataFlavors();
sal_uInt32 nFlavors = flavorList.getLength();
for (sal_uInt32 i = 0; i < nFlavors; i++)
- {
+ {
NSString* sysType = mpDataFlavorMapper->openOfficeToSystemFlavor(flavorList[i]);
if (sysType != NULL)
- {
+ {
provideDataForType(mPasteboard, sysType);
- }
- }
+ }
+ }
+ mXClipboardContent.clear();
}
}
diff --git a/vcl/source/gdi/outdev.cxx b/vcl/source/gdi/outdev.cxx
index a011e4ee4a92..847a8d7a299a 100644
--- a/vcl/source/gdi/outdev.cxx
+++ b/vcl/source/gdi/outdev.cxx
@@ -2495,6 +2495,9 @@ void OutputDevice::DrawLine( const Point& rStartPt, const Point& rEndPt,
const bool bDashUsed(LINE_DASH == aInfo.GetStyle());
const bool bLineWidthUsed(aInfo.GetWidth() > 1);
+ if ( mbInitLineColor )
+ ImplInitLineColor();
+
if(bDashUsed || bLineWidthUsed)
{
basegfx::B2DPolygon aLinePolygon;
@@ -2505,9 +2508,6 @@ void OutputDevice::DrawLine( const Point& rStartPt, const Point& rEndPt,
}
else
{
- if ( mbInitLineColor )
- ImplInitLineColor();
-
mpGraphics->DrawLine( aStartPt.X(), aStartPt.Y(), aEndPt.X(), aEndPt.Y(), this );
}
diff --git a/xmloff/source/draw/ximpshap.cxx b/xmloff/source/draw/ximpshap.cxx
index b073e1e28d40..a26806ce6c24 100644
--- a/xmloff/source/draw/ximpshap.cxx
+++ b/xmloff/source/draw/ximpshap.cxx
@@ -1926,7 +1926,35 @@ void SdXMLConnectorShapeContext::StartElement(const uno::Reference< xml::sax::XA
SetLayer();
if ( maPath.hasValue() )
- xProps->setPropertyValue( OUString(RTL_CONSTASCII_USTRINGPARAM("PolyPolygonBezier") ), maPath );
+ {
+ // --> OD #i115492#
+ // Ignore svg:d attribute for text documents created by OpenOffice.org
+ // versions before OOo 3.3, because these OOo versions are storing
+ // svg:d values not using the correct unit.
+ bool bApplySVGD( true );
+ if ( uno::Reference< text::XTextDocument >(GetImport().GetModel(), uno::UNO_QUERY).is() )
+ {
+ sal_Int32 nUPD( 0 );
+ sal_Int32 nBuild( 0 );
+ const bool bBuildIdFound = GetImport().getBuildIds( nUPD, nBuild );
+ if ( GetImport().IsTextDocInOOoFileFormat() ||
+ ( bBuildIdFound &&
+ ( ( nUPD == 641 ) || ( nUPD == 645 ) || // prior OOo 2.0
+ ( nUPD == 680 ) || // OOo 2.x
+ ( nUPD == 300 ) || // OOo 3.0 - OOo 3.0.1
+ ( nUPD == 310 ) || // OOo 3.1 - OOo 3.1.1
+ ( nUPD == 320 ) ) ) ) // OOo 3.2 - OOo 3.2.1
+ {
+ bApplySVGD = false;
+ }
+ }
+
+ if ( bApplySVGD )
+ {
+ xProps->setPropertyValue( OUString(RTL_CONSTASCII_USTRINGPARAM("PolyPolygonBezier") ), maPath );
+ }
+ // <--
+ }
SdXMLShapeContext::StartElement(xAttrList);
}