merge from master-3.5

f41
David Tardon 13 years ago
commit 692fa46f87

15
.gitignore vendored

@ -31,3 +31,18 @@
/libreoffice-filters-3.4.4.2.tar.bz2
/libreoffice-help-3.4.4.2.tar.bz2
/libreoffice-impress-3.4.4.2.tar.bz2
/libreoffice-core-3.5.0.0.tar.bz2
/libreoffice-binfilter-3.5.0.0.tar.bz2
/a8b25a0bf696fd126a08319d88998492-libvisio-0.0.11.tar.bz2
/e1c178b18f130b40494561f02bc1a948-libexttextcat-3.2.0.tar.bz2
/libreoffice-help-3.5.0.0.tar.bz2
/7c2549f6b0a8bb604e6c4c729ffdcfe6-libcmis-0.1.0.tar.gz
/0981bda6548a8c8233ffce2b6e4b2a23-mysql-connector-c++-1.1.0.tar.gz
/libreoffice-translations-3.5.0.0.tar.bz2
/libreoffice-multiliblauncher.sh
/8f107ffb3fc9d9b920b7bbd0bc79c7e8-libvisio-0.0.10.tar.bz2
/libreoffice-core-3.4.99.1.tar.bz2
/libreoffice-binfilter-3.4.99.1.tar.bz2
/libreoffice-help-3.4.99.1.tar.bz2
/libreoffice-translations-3.4.99.1.tar.bz2
/cc8eb870d6a324d36575420efd856319-libcdr-0.0.0.tar.bz2

@ -0,0 +1,52 @@
From 75d215d47331f816c5d41a34b63badf6e1636ac8 Mon Sep 17 00:00:00 2001
From: Stephan Bergmann <sbergman@redhat.com>
Date: Fri, 16 Dec 2011 09:53:31 +0100
Subject: [PATCH] Fix typo and clean up.
---
scp2/source/ooo/module_hidden_ooo.scp | 1 -
scp2/source/python/module_python.scp | 2 +-
scp2/source/python/module_python_mailmerge.scp | 2 +-
3 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/scp2/source/ooo/module_hidden_ooo.scp b/scp2/source/ooo/module_hidden_ooo.scp
index da5775b..024ec68 100644
--- a/scp2/source/ooo/module_hidden_ooo.scp
+++ b/scp2/source/ooo/module_hidden_ooo.scp
@@ -616,7 +616,6 @@ Module gid_Module_Root_Files_6
gid_File_Share_Registry_Main_Xcd,
gid_File_Share_Registry_Forcedefault_Xcd,
gid_File_Pymailmerge,
- gid_File_Pymailmerge_msgbox,
gid_File_Xsl_Common_Measure_Conversion,
gid_File_Xsl_Common_Math_Functions,
gid_File_Xsl_Export_Common_Body,
diff --git a/scp2/source/python/module_python.scp b/scp2/source/python/module_python.scp
index 32f0dc8..6ee8345 100644
--- a/scp2/source/python/module_python.scp
+++ b/scp2/source/python/module_python.scp
@@ -41,7 +41,7 @@ Module gid_Module_Optional_Pyuno
gid_Dir_PythonFramework_Versions_ver_lib,
gid_Dir_PythonFramework_Versions_ver_lib_pythonver,
gid_Dir_PythonFramework_Versions_ver_lib_pythonver_config);
- Files = (gid_File_Pyuno,gid_File_Lib_Pyuno,gid_File_Lib_Pythonloader,gid_File_Py_Unohelper,gid_File_Py_Officehelper,gid_File_Py_Uno,gid_File_Py_Pythonloader,gid_File_Py_Python_Core,gid_File_Py_Python_Bin,gid_File_Lib_Python_So,gid_Shortcut_Lib_Python_So,gid_File_Scripts_Python,gid_File_Share_Registry_Pyuno_Xcd);
+ Files = (gid_File_Pyuno,gid_File_Lib_Pyuno,gid_File_Lib_Pythonloader,gid_File_Py_Unohelper,gid_File_Py_Uno,gid_File_Py_Pythonloader,gid_File_Py_Python_Core,gid_File_Py_Python_Bin,gid_File_Lib_Python_So,gid_Shortcut_Lib_Python_So,gid_File_Scripts_Python,gid_File_Share_Registry_Pyuno_Xcd);
Unixlinks = (gid_Unixlink_Python_Headers,
gid_Unixlink_Python_Resources,
gid_Unixlink_Python_Versions_Current,
diff --git a/scp2/source/python/module_python_mailmerge.scp b/scp2/source/python/module_python_mailmerge.scp
index 3027e85..cf5ad7e 100644
--- a/scp2/source/python/module_python_mailmerge.scp
+++ b/scp2/source/python/module_python_mailmerge.scp
@@ -32,7 +32,7 @@
File gid_File_Pymailmerge
TXT_FILE_BODY;
Dir = gid_Brand_Dir_Program;
- name = "mailmerge.zip";
+ Name = "mailmerge.zip";
Styles = (ARCHIVE);
End
#endif
--
1.7.7.3

@ -1,21 +0,0 @@
From 5e4c9fb9bbf12b40afbefb30e8d71d6e046b5bd0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
Date: Fri, 26 Aug 2011 13:05:32 +0100
Subject: [PATCH] Related: fdo#37195 migrationoo3 not registered
---
postprocess/packcomponents/makefile.mk | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/postprocess/packcomponents/makefile.mk b/postprocess/packcomponents/makefile.mk
index b5f50a0..c23da77 100644
--- a/postprocess/packcomponents/makefile.mk
+++ b/postprocess/packcomponents/makefile.mk
@@ -126,6 +126,7 @@
lwpfilter \
mcnttype \
migrationoo2 \
+ migrationoo3 \
mtfrenderer \
msfilter \
msworksfilter \

@ -1,102 +0,0 @@
From 3524727db0f3cfecf3a47046795c527808c10c3e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
Date: Thu, 23 Jun 2011 15:14:00 +0100
Subject: [PATCH] Related: #i58612# don't crash anyway
---
sw/source/core/text/frmform.cxx | 11 ++++++-----
sw/source/core/text/inftxt.cxx | 3 ++-
sw/source/core/text/txtfly.cxx | 6 ++++--
sw/source/core/text/txtfrm.cxx | 7 +++++--
4 files changed, 17 insertions(+), 10 deletions(-)
diff --git a/sw/source/core/text/frmform.cxx b/sw/source/core/text/frmform.cxx
index 6a4be32..6b3b9cc 100755
--- a/sw/source/core/text/frmform.cxx
+++ b/sw/source/core/text/frmform.cxx
@@ -1463,10 +1463,11 @@ void SwTxtFrm::_Format( SwTxtFormatter &rLine, SwTxtFormatInfo &rInf,
if( IsFollow() && IsFieldFollow() && rLine.GetStart() == GetOfst() )
{
- const SwLineLayout* pLine;
+ SwTxtFrm *pMaster = FindMaster();
+ OSL_ENSURE( pMaster, "SwTxtFrm::Format: homeless follow" );
+ const SwLineLayout* pLine=NULL;
+ if (pMaster)
{
- SwTxtFrm *pMaster = FindMaster();
- OSL_ENSURE( pMaster, "SwTxtFrm::Format: homeless follow" );
if( !pMaster->HasPara() )
pMaster->GetFormatted();
SwTxtSizeInfo aInf( pMaster );
@@ -1474,8 +1475,8 @@ void SwTxtFrm::_Format( SwTxtFormatter &rLine, SwTxtFormatInfo &rInf,
aMasterLine.Bottom();
pLine = aMasterLine.GetCurr();
}
- SwLinePortion* pRest =
- rLine.MakeRestPortion( pLine, GetOfst() );
+ SwLinePortion* pRest = pLine ?
+ rLine.MakeRestPortion(pLine, GetOfst()) : NULL;
if( pRest )
rInf.SetRest( pRest );
else
diff --git a/sw/source/core/text/inftxt.cxx b/sw/source/core/text/inftxt.cxx
index 570b3c6..a76d746 100644
--- a/sw/source/core/text/inftxt.cxx
+++ b/sw/source/core/text/inftxt.cxx
@@ -1465,7 +1465,8 @@ void SwTxtFormatInfo::Init()
if ( GetTxtFrm()->IsFollow() )
{
const SwTxtFrm* pMaster = GetTxtFrm()->FindMaster();
- const SwLinePortion* pTmpPara = pMaster->GetPara();
+ OSL_ENSURE(pMaster, "pTxtFrm without Master");
+ const SwLinePortion* pTmpPara = pMaster ? pMaster->GetPara() : NULL;
// there is a master for this follow and the master does not have
// any contents (especially it does not have a number portion)
diff --git a/sw/source/core/text/txtfly.cxx b/sw/source/core/text/txtfly.cxx
index 2d21ece..fbff110 100644
--- a/sw/source/core/text/txtfly.cxx
+++ b/sw/source/core/text/txtfly.cxx
@@ -890,7 +890,7 @@ sal_Bool SwTxtFly::IsAnyObj( const SwRect &rRect ) const
const SwCntntFrm* SwTxtFly::_GetMaster()
{
pMaster = pCurrFrm;
- while( pMaster->IsFollow() )
+ while( pMaster && pMaster->IsFollow() )
pMaster = (SwCntntFrm*)pMaster->FindMaster();
return pMaster;
}
@@ -1551,7 +1551,9 @@ SwAnchoredObjList* SwTxtFly::InitAnchoredObjList()
SwTwips SwTxtFly::CalcMinBottom() const
{
SwTwips nRet = 0;
- const SwSortedObjs *pDrawObj = GetMaster()->GetDrawObjs();
+ const SwCntntFrm *pLclMaster = GetMaster();
+ OSL_ENSURE(pLclMaster, "SwTxtFly without master");
+ const SwSortedObjs *pDrawObj = pLclMaster ? pLclMaster->GetDrawObjs() : NULL;
const sal_uInt32 nCount = pDrawObj ? pDrawObj->Count() : 0;
if( nCount )
{
diff --git a/sw/source/core/text/txtfrm.cxx b/sw/source/core/text/txtfrm.cxx
index 6e5f764..9e4a237 100644
--- a/sw/source/core/text/txtfrm.cxx
+++ b/sw/source/core/text/txtfrm.cxx
@@ -646,9 +646,12 @@ void SwTxtFrm::HideAndShowObjects()
}
}
- if ( IsFollow() )
+ if (IsFollow())
{
- FindMaster()->HideAndShowObjects();
+ SwTxtFrm *pMaster = FindMaster();
+ OSL_ENSURE(pMaster, "SwTxtFrm without master");
+ if (pMaster)
+ pMaster->HideAndShowObjects();
}
}
--
1.7.6.4

@ -1,127 +0,0 @@
From 5613954b275de8de9e6852738a7bfd215252d134 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
Date: Tue, 7 Jun 2011 17:03:52 +0100
Subject: [PATCH] Related: rhbz#652604 better survive exceptions thrown during
autorecover
---
framework/inc/services/autorecovery.hxx | 20 ++++++++++++++
framework/source/services/autorecovery.cxx | 40 +++++++++++++++++++++------
2 files changed, 51 insertions(+), 9 deletions(-)
diff --git a/framework/inc/services/autorecovery.hxx b/framework/inc/services/autorecovery.hxx
index 636ad98..6c4207e 100644
--- a/framework/inc/services/autorecovery.hxx
+++ b/framework/inc/services/autorecovery.hxx
@@ -861,6 +861,26 @@ class AutoRecovery : public css::lang::XTypeProvider
const ::rtl::OUString& sEventType,
AutoRecovery::TDocumentInfo* pInfo );
+
+ class ListenerInformer
+ {
+ private:
+ AutoRecovery &m_rRecovery;
+ sal_Int32 m_eJob;
+ bool m_bStopped;
+ public:
+ ListenerInformer(AutoRecovery &rRecovery, sal_Int32 eJob)
+ : m_rRecovery(rRecovery), m_eJob(eJob), m_bStopped(false)
+ {
+ }
+ void start();
+ void stop();
+ ~ListenerInformer()
+ {
+ stop();
+ }
+ };
+
//---------------------------------------
// TODO document me
diff --git a/framework/source/services/autorecovery.cxx b/framework/source/services/autorecovery.cxx
index efe2f17..ec60d13 100644
--- a/framework/source/services/autorecovery.cxx
+++ b/framework/source/services/autorecovery.cxx
@@ -576,6 +576,21 @@ void SAL_CALL AutoRecovery::dispatch(const css::util::URL&
implts_dispatch(aParams);
}
+void AutoRecovery::ListenerInformer::start()
+{
+ m_rRecovery.implts_informListener(m_eJob,
+ AutoRecovery::implst_createFeatureStateEvent(m_eJob, OPERATION_START, NULL));
+}
+
+void AutoRecovery::ListenerInformer::stop()
+{
+ if (m_bStopped)
+ return;
+ m_rRecovery.implts_informListener(m_eJob,
+ AutoRecovery::implst_createFeatureStateEvent(m_eJob, OPERATION_STOP, NULL));
+ m_bStopped = true;
+}
+
//-----------------------------------------------
void AutoRecovery::implts_dispatch(const DispatchParams& aParams)
{
@@ -599,8 +614,8 @@ void AutoRecovery::implts_dispatch(const DispatchParams& aParams)
implts_stopTimer();
implts_stopListening();
- implts_informListener(eJob,
- AutoRecovery::implst_createFeatureStateEvent(eJob, OPERATION_START, NULL));
+ ListenerInformer aListenerInformer(*this, eJob);
+ aListenerInformer.start();
try
{
@@ -676,13 +691,14 @@ void AutoRecovery::implts_dispatch(const DispatchParams& aParams)
)
implts_cleanUpWorkingEntry(aParams);
}
- catch(const css::uno::RuntimeException& exRun)
- { throw exRun; }
+ catch(const css::uno::RuntimeException&)
+ {
+ throw;
+ }
catch(const css::uno::Exception&)
{} // TODO better error handling
- implts_informListener(eJob,
- AutoRecovery::implst_createFeatureStateEvent(eJob, OPERATION_STOP, NULL));
+ aListenerInformer.stop();
// SAFE -> ----------------------------------
aWriteLock.lock();
@@ -1304,8 +1320,8 @@ void AutoRecovery::implts_flushConfigItem(const AutoRecovery::TDocumentInfo& rIn
xModify->insertByName(sID, css::uno::makeAny(xSet));
}
}
- catch(const css::uno::RuntimeException& exRun)
- { throw exRun; }
+ catch(const css::uno::RuntimeException&)
+ { throw; }
catch(const css::uno::Exception&)
{} // ??? can it happen that a full disc let these set of operations fail too ???
@@ -1627,7 +1643,13 @@ IMPL_LINK(AutoRecovery, implts_asyncDispatch, void*, EMPTYARG)
aWriteLock.unlock();
// <- SAFE
- implts_dispatch(aParams);
+ try
+ {
+ implts_dispatch(aParams);
+ }
+ catch (...)
+ {
+ }
return 0;
}
--
1.7.5.2

@ -1,54 +0,0 @@
From 6f42aa185adc436d976da04b8b193dfe25d61f7a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
Date: Fri, 17 Jun 2011 13:38:27 +0100
Subject: [PATCH] Related: rhbz#702833 addEventListener without
removeEventListener
---
.../source/deployment/gui/dp_gui_extlistbox.cxx | 12 +++++++++++-
1 files changed, 11 insertions(+), 1 deletions(-)
diff --git a/desktop/source/deployment/gui/dp_gui_extlistbox.cxx b/desktop/source/deployment/gui/dp_gui_extlistbox.cxx
index 8cdf0a6..3d0d426 100644
--- a/desktop/source/deployment/gui/dp_gui_extlistbox.cxx
+++ b/desktop/source/deployment/gui/dp_gui_extlistbox.cxx
@@ -970,18 +970,20 @@ long ExtensionBox_Impl::addEntry( const uno::Reference< deployment::XPackage > &
if ( ! pEntry->m_sTitle.Len() )
return 0;
- xPackage->addEventListener( uno::Reference< lang::XEventListener > ( m_xRemoveListener, uno::UNO_QUERY ) );
+ bool bNewEntryInserted = false;
::osl::ClearableMutexGuard guard(m_entriesMutex);
if ( m_vEntries.empty() )
{
m_vEntries.push_back( pEntry );
+ bNewEntryInserted = true;
}
else
{
if ( !FindEntryPos( pEntry, 0, m_vEntries.size()-1, nPos ) )
{
m_vEntries.insert( m_vEntries.begin()+nPos, pEntry );
+ bNewEntryInserted = true;
}
else if ( !m_bInCheckMode )
{
@@ -989,6 +991,14 @@ long ExtensionBox_Impl::addEntry( const uno::Reference< deployment::XPackage > &
}
}
+ //Related: rhbz#702833 Only add a Listener if we're adding a new entry, to
+ //keep in sync with removeEventListener logic
+ if (bNewEntryInserted)
+ {
+ pEntry->m_xPackage->addEventListener(uno::Reference< lang::XEventListener > ( m_xRemoveListener, uno::UNO_QUERY ) );
+ }
+
+
pEntry->m_bHasOptions = m_pManager->supportsOptions( xPackage );
pEntry->m_bUser = xPackage->getRepositoryName().equals( USER_PACKAGE_MANAGER );
pEntry->m_bShared = xPackage->getRepositoryName().equals( SHARED_PACKAGE_MANAGER );
--
1.7.5.4

@ -1,26 +0,0 @@
From fe44d66adbab17b804a27d91148490b23fce75da Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
Date: Fri, 17 Jun 2011 16:14:12 +0100
Subject: [PATCH] Related: rhbz#711087 band-aid
---
sc/source/ui/undo/undoblk.cxx | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/sc/source/ui/undo/undoblk.cxx b/sc/source/ui/undo/undoblk.cxx
index 8439801..d535c9c 100644
--- a/sc/source/ui/undo/undoblk.cxx
+++ b/sc/source/ui/undo/undoblk.cxx
@@ -2084,6 +2084,9 @@ void ScUndoRemoveMerge::Undo()
for (set<SCTAB>::const_iterator itr = maOption.maTabs.begin(), itrEnd = maOption.maTabs.end();
itr != itrEnd; ++itr)
{
+ OSL_ENSURE(pUndoDoc, "NULL pUndoDoc!");
+ if (!pUndoDoc)
+ continue;
// There is no need to extend merge area because it's already been extended.
ScRange aRange = maOption.getSingleRange(*itr);
pDoc->DeleteAreaTab(aRange, IDF_ATTRIB);
--
1.7.5.4

@ -1,37 +0,0 @@
From 04a5edc0b8a6399e0e692b4164dc72851fffcab9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
Date: Tue, 5 Jul 2011 12:41:43 +0100
Subject: [PATCH] Related: rhbz#718976 crash in SwTxtSizeInfo::GetMultiCreator
---
sw/source/core/text/pormulti.cxx | 7 +++++--
1 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/sw/source/core/text/pormulti.cxx b/sw/source/core/text/pormulti.cxx
index 1a31cf4..336a57d 100644
--- a/sw/source/core/text/pormulti.cxx
+++ b/sw/source/core/text/pormulti.cxx
@@ -947,15 +947,18 @@ SwMultiCreator* SwTxtSizeInfo::GetMultiCreator( xub_StrLen &rPos,
else
pRotItem = NULL;
const SvxTwoLinesItem* p2Lines = NULL;
+ const SwTxtNode *pLclTxtNode = pFrm->GetTxtNode();
+ if( !pLclTxtNode )
+ return NULL;
const SfxPoolItem* pItem;
- if( SFX_ITEM_SET == pFrm->GetTxtNode()->GetSwAttrSet().
+ if( SFX_ITEM_SET == pLclTxtNode->GetSwAttrSet().
GetItemState( RES_CHRATR_TWO_LINES, sal_True, &pItem ) &&
((SvxTwoLinesItem*)pItem)->GetValue() )
p2Lines = (SvxTwoLinesItem*)pItem;
else
pItem = NULL;
- const SwpHints *pHints = pFrm->GetTxtNode()->GetpSwpHints();
+ const SwpHints *pHints = pLclTxtNode->GetpSwpHints();
if( !pHints && !p2Lines && !pRotate )
return NULL;
const SwTxtAttr *pRuby = NULL;
--
1.7.5.4

@ -1,25 +0,0 @@
From 761d4c5487570b9c1b37ac4ea13d86fcdb244f65 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
Date: Fri, 12 Aug 2011 09:44:45 +0100
Subject: [PATCH] Related: rhbz#730225 avoid segv in ld, this was set to -O0
around 2000
---
sd/Library_sdfilt.mk | 12 +-----------
1 files changed, 1 insertions(+), 11 deletions(-)
diff --git a/sd/source/filter/eppt/makefile.mk b/sd/source/filter/eppt/makefile.mk
index 2a91103..7871436 100644
--- a/sd/source/filter/eppt/makefile.mk
+++ b/sd/source/filter/eppt/makefile.mk
@@ -37,10 +37,6 @@ VISIBILITY_HIDDEN=TRUE
# --- Files --------------------------------------------------------
-.IF "$(COM)"=="GCC"
-NOOPTFILES= $(SLO)$/epptso.obj
-.ENDIF
-
SLOFILES = $(SLO)$/eppt.obj \
$(SLO)$/epptso.obj \
$(SLO)$/escherex.obj \

@ -1,82 +0,0 @@
From fd567018ec52a53b00b5da7782b3100177b2c028 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
Date: Fri, 11 Nov 2011 15:45:58 +0000
Subject: [PATCH] Related: rhbz#753201 fedora ant+java-1.5.0-gcj won't resolve
env variables
---
rhino/makefile.mk | 4 ++--
rhino/rhino1_5R5-find_swing.patch | 5 ++---
2 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/rhino/makefile.mk b/rhino/makefile.mk
index 91117d9..577d030 100644
--- a/rhino/makefile.mk
+++ b/rhino/makefile.mk
@@ -58,9 +58,9 @@ FIXED_TARFILE_LOCATION=$(TARFILE_LOCATION)
.IF "$(JAVACISGCJ)"=="yes"
JAVA_HOME=
.EXPORT : JAVA_HOME
-BUILD_ACTION=$(ANT) -Dbuild.label="build-$(RSCREVISION)" -Dbuild.compiler=gcj jar
+BUILD_ACTION=$(ANT) -DTARFILE_LOCATION="$(FIXED_TARFILE_LOCATION)" -Dbuild.label="build-$(RSCREVISION)" -Dbuild.compiler=gcj jar
.ELSE
-BUILD_ACTION=TARFILE_LOCATION="$(FIXED_TARFILE_LOCATION)" $(ANT) -Dbuild.label="build-$(RSCREVISION)" -Dant.build.javac.source=$(JAVA_SOURCE_VER) -Dant.build.javac.target=$(JAVA_TARGET_VER) jar
+BUILD_ACTION=$(ANT) -DTARFILE_LOCATION="$(FIXED_TARFILE_LOCATION)" -Dbuild.label="build-$(RSCREVISION)" -Dant.build.javac.source=$(JAVA_SOURCE_VER) -Dant.build.javac.target=$(JAVA_TARGET_VER) jar
.ENDIF
# --- Targets ------------------------------------------------------
diff --git a/rhino/rhino1_5R5-find_swing.patch b/rhino/rhino1_5R5-find_swing.patch
index 220c4f4..f074fa8 100644
--- a/rhino/rhino1_5R5-find_swing.patch
+++ b/rhino/rhino1_5R5-find_swing.patch
@@ -1,11 +1,10 @@
--- misc/rhino1_5R5/toolsrc/build.xml 2009-10-29 18:29:46.605524507 +0100
+++ misc/build/rhino1_5R5/toolsrc/build.xml 2009-10-29 18:29:26.536908810 +0100
-@@ -12,6 +12,8 @@
+@@ -12,6 +12,7 @@
<os family="unix"/>
</and>
</condition>
-+ <property environment="solenv"/>
-+ <property name="swing_zip" value="${solenv.TARFILE_LOCATION}/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip"/>
++ <property name="swing_zip" value="${TARFILE_LOCATION}/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip"/>
<path id="macPath" location="${java.home}/../Classes/classes.jar"/>
<!-- rhino.jar from OpenJDK breaks build -->
<path id="nonMacPath">
--
1.7.6.4
diff -up libreoffice-3.4.4.2/scripting/java/build.xml.dt libreoffice-3.4.4.2/scripting/java/build.xml
--- libreoffice-3.4.4.2/scripting/java/build.xml.dt 2011-12-07 12:31:17.491262301 +0100
+++ libreoffice-3.4.4.2/scripting/java/build.xml 2011-12-07 12:32:04.561151965 +0100
@@ -42,9 +42,6 @@
Not needed in default build -->
<property name="netbeans.install.path" value="/export/home/netbeans"/>
- <property environment="env"/>
- <property name="env.BSH_JAR" value="${solar.jar}/bsh.jar"/>
-
<!-- ==================== classpath setting ============================ -->
<path id="idlclasspath">
<pathelement location="${solar.jar}/jurt.jar"/>
@@ -52,7 +49,7 @@
<pathelement location="${solar.jar}/juh.jar"/>
<pathelement location="${solar.jar}/java_uno.jar"/>
<pathelement location="${solar.jar}/ridl.jar"/>
- <pathelement location="${env.BSH_JAR}"/>
+ <pathelement location="${BSH_JAR}"/>
<pathelement location="${solar.jar}/js.jar"/>
<pathelement location="${jardir}"/>
</path>
diff -up libreoffice-3.4.4.2/scripting/java/makefile.mk.dt libreoffice-3.4.4.2/scripting/java/makefile.mk
--- libreoffice-3.4.4.2/scripting/java/makefile.mk.dt 2011-12-07 12:31:11.820396072 +0100
+++ libreoffice-3.4.4.2/scripting/java/makefile.mk 2011-12-07 12:31:28.111011791 +0100
@@ -29,6 +29,8 @@ PRJ=..
PRJNAME=scripting
TARGET=scriptruntimeforjava
+ANT_FLAGS := -DBSH_JAR="$(BSH_JAR)"
+
.INCLUDE : ant.mk
.IF "$(L10N_framework)"==""

@ -1,311 +0,0 @@
From 58b48f188bbfd9a3382460d6de63848eb3db416d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
Date: Thu, 27 Oct 2011 12:24:11 +0100
Subject: [PATCH] Resolves: fdo#32665 handle that FreeSerif lacks some glyphs
in bold/italic
FreeSerif lacks glyphs in bold/italic variants that it has in the normal one. A
lot of our glyph fallback infrastructure, especially the caches don't expect
that a normal variant of a font with extra emboldening or extra font skew can
be a fallback for a bold/italic variant of itself which exists, but doesn't
have the missing glyphs that the normal one does.
We really need to improve our glyph/font caching, but we can get 90% of the
way there by excluding such cases from the caches.
---
vcl/generic/fontmanager/fontconfig.cxx | 18 ++++++++-
vcl/generic/fontmanager/fontsubst.cxx | 6 +++-
vcl/generic/glyphs/glyphcache.cxx | 7 ++++
vcl/inc/outfont.hxx | 19 ++++++++++
vcl/inc/vcl/fontmanager.hxx | 3 +-
vcl/source/gdi/outdev3.cxx | 60 ++++++++++++++++++++++----------
6 files changed, 90 insertions(+), 23 deletions(-)
diff --git a/vcl/generic/fontmanager/fontconfig.cxx b/vcl/generic/fontmanager/fontconfig.cxx
index be91349..a4f5f7f 100644
--- a/vcl/unx/source/fontmanager/fontconfig.cxx
+++ b/vcl/unx/source/fontmanager/fontconfig.cxx
@@ -68,6 +68,9 @@
#ifndef FC_EMBOLDEN
#define FC_EMBOLDEN "embolden"
#endif
+ #ifndef FC_MATRIX
+ #define FC_MATRIX "matrix"
+ #endif
#ifndef FC_FONTFORMAT
#define FC_FONTFORMAT "fontformat"
#endif
@@ -145,6 +148,7 @@
FcResult (*m_pFcPatternGetString)(const FcPattern*,const char*,int,FcChar8**);
FcResult (*m_pFcPatternGetInteger)(const FcPattern*,const char*,int,int*);
FcResult (*m_pFcPatternGetDouble)(const FcPattern*,const char*,int,double*);
+ FcResult (*m_pFcPatternGetMatrix)(const FcPattern*,const char*,int,FcMatrix**);
FcResult (*m_pFcPatternGetBool)(const FcPattern*,const char*,int,FcBool*);
void (*m_pFcDefaultSubstitute)(FcPattern *);
FcPattern* (*m_pFcFontSetMatch)(FcConfig*,FcFontSet**, int, FcPattern*,FcResult*);
@@ -255,6 +259,9 @@
FcResult FcPatternGetDouble( const FcPattern* pPattern, const char* object, int n, double* s )
{ return m_pFcPatternGetDouble( pPattern, object, n, s ); }
+ FcResult FcPatternGetMatrix( const FcPattern* pPattern, const char* object, int n, FcMatrix** s )
+ { return m_pFcPatternGetMatrix( pPattern, object, n, s ); }
+
FcResult FcPatternGetBool( const FcPattern* pPattern, const char* object, int n, FcBool* s )
{ return m_pFcPatternGetBool( pPattern, object, n, s ); }
FcBool FcConfigAppFontAddFile( FcConfig* pConfig, const FcChar8* pFileName )
@@ -381,6 +388,8 @@
loadSymbol( "FcPatternGetInteger" );
m_pFcPatternGetDouble = (FcResult(*)(const FcPattern*,const char*,int,double*))
loadSymbol( "FcPatternGetDouble" );
+ m_pFcPatternGetMatrix = (FcResult(*)(const FcPattern*,const char*,int,FcMatrix**))
+ loadSymbol( "FcPatternGetMatrix" );
m_pFcPatternGetBool = (FcResult(*)(const FcPattern*,const char*,int,FcBool*))
loadSymbol( "FcPatternGetBool" );
m_pFcConfigAppFontAddFile = (FcBool(*)(FcConfig*, const FcChar8*))
@@ -453,6 +462,7 @@
m_pFcPatternGetString &&
m_pFcPatternGetInteger &&
m_pFcPatternGetDouble &&
+ m_pFcPatternGetMatrix &&
m_pFcPatternGetBool &&
m_pFcConfigAppFontAddFile &&
m_pFcConfigAppFontAddDir &&
@@ -1260,7 +1270,7 @@
rtl::OUString PrintFontManager::Substitute(const rtl::OUString& rFontName,
rtl::OUString& rMissingCodes, const rtl::OString &rLangAttrib,
italic::type &rItalic, weight::type &rWeight,
- width::type &rWidth, pitch::type &rPitch) const
+ width::type &rWidth, pitch::type &rPitch, bool &rEmbolden, ItalicMatrix &rMatrix) const
{
rtl::OUString aName;
FontCfgWrapper& rWrapper = FontCfgWrapper::get();
@@ -1353,6 +1363,17 @@
rPitch = convertSpacing(val);
if ( FcResultMatch == rWrapper.FcPatternGetInteger( pSet->fonts[0], FC_WIDTH, 0, &val))
rWidth = convertWidth(val);
+ FcBool bEmbolden;
+ if (FcResultMatch == rWrapper.FcPatternGetBool(pSet->fonts[0], FC_EMBOLDEN, 0, &bEmbolden))
+ rEmbolden = bEmbolden;
+ FcMatrix *pMatrix = 0;
+ if (FcResultMatch == rWrapper.FcPatternGetMatrix(pSet->fonts[0], FC_MATRIX, 0, &pMatrix))
+ {
+ rMatrix.xx = pMatrix->xx;
+ rMatrix.xy = pMatrix->xy;
+ rMatrix.yx = pMatrix->yx;
+ rMatrix.yy = pMatrix->yy;
+ }
}
// update rMissingCodes by removing resolved unicodes
diff --git a/vcl/generic/fontmanager/fontsubst.cxx b/vcl/generic/fontmanager/fontsubst.cxx
index 3bf2d07..2d187b1 100644
--- a/vcl/unx/source/gdi/salgdi3.cxx
+++ b/vcl/unx/source/gdi/salgdi3.cxx
@@ -1526,8 +1526,14 @@
}
}
+ bool bEmbolden = rFontSelData.mbEmbolden;
+ ItalicMatrix aMatrix = rFontSelData.maItalicMatrix;
+
const psp::PrintFontManager& rMgr = psp::PrintFontManager::get();
- aRet.maSearchName = rMgr.Substitute( rFontSelData.maTargetName, rMissingCodes, aLangAttrib, eItalic, eWeight, eWidth, ePitch);
+ aRet.maSearchName = rMgr.Substitute( rFontSelData.maTargetName, rMissingCodes, aLangAttrib, eItalic, eWeight, eWidth, ePitch, bEmbolden, aMatrix );
+
+ aRet.maItalicMatrix = aMatrix;
+ aRet.mbEmbolden = bEmbolden;
switch (eItalic)
{
diff --git a/vcl/generic/glyphs/glyphcache.cxx b/vcl/generic/glyphs/glyphcache.cxx
index 5322b65..fa712bb 100644
--- a/vcl/source/glyphs/glyphcache.cxx
+++ b/vcl/source/glyphs/glyphcache.cxx
@@ -163,6 +163,13 @@ bool GlyphCache::IFSD_Equal::operator()( const ImplFontSelectData& rA, const Imp
!= STRING_NOTFOUND) && rA.maTargetName != rB.maTargetName)
return false;
#endif
+
+ if (rA.mbEmbolden != rB.mbEmbolden)
+ return false;
+
+ if (rA.maItalicMatrix != rB.maItalicMatrix)
+ return false;
+
return true;
}
diff --git a/vcl/inc/outfont.hxx b/vcl/inc/outfont.hxx
index faf2b00..857d944 100644
--- a/vcl/inc/vcl/outfont.hxx
+++ b/vcl/inc/vcl/outfont.hxx
@@ -175,6 +191,9 @@ public: // TODO: change to private
bool mbVertical; // vertical mode of requested font
bool mbNonAntialiased; // true if antialiasing is disabled
+ bool mbEmbolden; // Force emboldening
+ ItalicMatrix maItalicMatrix; // Force matrix for slant
+
const ImplFontData* mpFontData; // a matching ImplFontData object
ImplFontEntry* mpFontEntry; // pointer to the resulting FontCache entry
};
diff --git a/vcl/inc/vcl/fontmanager.hxx b/vcl/inc/vcl/fontmanager.hxx
index 0af5e14..4a110ad 100644
--- a/vcl/inc/vcl/fontmanager.hxx
+++ b/vcl/inc/vcl/fontmanager.hxx
@@ -36,6 +36,7 @@
#include "vcl/dllapi.h"
#include "vcl/helper.hxx"
+#include "vcl/vclenum.hxx"
#include "com/sun/star/lang/Locale.hpp"
@@ -737,7 +738,7 @@
rtl::OUString Substitute( const rtl::OUString& rFontName, rtl::OUString& rMissingCodes,
const rtl::OString& rLangAttrib, italic::type& rItalic, weight::type& rWeight,
- width::type& rWidth, pitch::type& rPitch) const;
+ width::type& rWidth, pitch::type& rPitch, bool &rEmboldening, ItalicMatrix &rMatrix) const;
bool hasFontconfig() const { return m_bFontconfigSuccess; }
int FreeTypeCharIndex( void *pFace, sal_uInt32 aChar );
diff --git a/vcl/source/gdi/outdev3.cxx b/vcl/source/gdi/outdev3.cxx
index b0f59cd..3cc438c 100755
--- a/vcl/source/gdi/outdev3.cxx
+++ b/vcl/source/gdi/outdev3.cxx
@@ -865,9 +865,11 @@ bool ImplFontData::IsBetterMatch( const ImplFontSelectData& rFSD, FontMatchStatu
if( rFSD.meWeight != WEIGHT_DONTKNOW )
{
- // if not bold prefer light fonts to bold fonts
- int nReqWeight = (int)rFSD.meWeight;
- if ( rFSD.meWeight > WEIGHT_MEDIUM )
+ // if not bold or requiring emboldening prefer light fonts to bold fonts
+ FontWeight ePatternWeight = rFSD.mbEmbolden ? WEIGHT_NORMAL : rFSD.meWeight;
+
+ int nReqWeight = (int)ePatternWeight;
+ if ( ePatternWeight > WEIGHT_MEDIUM )
nReqWeight += 100;
int nGivenWeight = (int)meWeight;
@@ -897,14 +899,17 @@ bool ImplFontData::IsBetterMatch( const ImplFontSelectData& rFSD, FontMatchStatu
nMatch += 150;
}
- if ( rFSD.meItalic == ITALIC_NONE )
+ // if requiring custom matrix to fake italic, prefer upright font
+ FontItalic ePatternItalic = rFSD.maItalicMatrix != ItalicMatrix() ? ITALIC_NONE : rFSD.meItalic;
+
+ if ( ePatternItalic == ITALIC_NONE )
{
if( meItalic == ITALIC_NONE )
nMatch += 900;
}
else
{
- if( rFSD.meItalic == meItalic )
+ if( ePatternItalic == meItalic )
nMatch += 900;
else if( meItalic != ITALIC_NONE )
nMatch += 600;
@@ -1457,22 +1462,31 @@ ImplDevFontListData* ImplDevFontList::GetGlyphFallbackFont( ImplFontSelectData&
else
rFontSelData.maSearchName = String();
- // cache the result even if there was no match
- for(;;)
- {
- if( !rFontSelData.mpFontEntry->GetFallbackForUnicode( cChar, rFontSelData.GetWeight(), &rFontSelData.maSearchName ) )
- rFontSelData.mpFontEntry->AddFallbackForUnicode( cChar, rFontSelData.GetWeight(), rFontSelData.maSearchName );
- if( nStrIndex >= aOldMissingCodes.getLength() )
- break;
- cChar = aOldMissingCodes.iterateCodePoints( &nStrIndex );
- }
- if( rFontSelData.maSearchName.Len() != 0 )
+ //See fdo#32665 for an example. FreeSerif that has glyphs in normal
+ //font, but not in the italic or bold version
+ bool bSubSetOfFontRequiresPropertyFaking = rFontSelData.mbEmbolden || rFontSelData.maItalicMatrix != ItalicMatrix();
+
+ // cache the result even if there was no match, unless its from part of a font for which the properties need
+ // to be faked. We need to rework this cache to take into account that fontconfig can return different fonts
+ // for different input sizes, weights, etc. Basically the cache is way to naive
+ if (!bSubSetOfFontRequiresPropertyFaking)
{
- // remove cache entries that were still not resolved
- for( nStrIndex = 0; nStrIndex < rMissingCodes.getLength(); )
+ for(;;)
{
- cChar = rMissingCodes.iterateCodePoints( &nStrIndex );
- rFontSelData.mpFontEntry->IgnoreFallbackForUnicode( cChar, rFontSelData.GetWeight(), rFontSelData.maSearchName );
+ if( !rFontSelData.mpFontEntry->GetFallbackForUnicode( cChar, rFontSelData.GetWeight(), &rFontSelData.maSearchName ) )
+ rFontSelData.mpFontEntry->AddFallbackForUnicode( cChar, rFontSelData.GetWeight(), rFontSelData.maSearchName );
+ if( nStrIndex >= aOldMissingCodes.getLength() )
+ break;
+ cChar = aOldMissingCodes.iterateCodePoints( &nStrIndex );
+ }
+ if( rFontSelData.maSearchName.Len() != 0 )
+ {
+ // remove cache entries that were still not resolved
+ for( nStrIndex = 0; nStrIndex < rMissingCodes.getLength(); )
+ {
+ cChar = rMissingCodes.iterateCodePoints( &nStrIndex );
+ rFontSelData.mpFontEntry->IgnoreFallbackForUnicode( cChar, rFontSelData.GetWeight(), rFontSelData.maSearchName );
+ }
}
}
}
@@ -2180,6 +2194,7 @@ ImplFontSelectData::ImplFontSelectData( const Font& rFont,
meLanguage( rFont.GetLanguage() ),
mbVertical( rFont.IsVertical() ),
mbNonAntialiased( false ),
+ mbEmbolden( false ),
mpFontData( NULL ),
mpFontEntry( NULL )
{
@@ -2215,6 +2230,7 @@ ImplFontSelectData::ImplFontSelectData( const ImplFontData& rFontData,
meLanguage( 0 ),
mbVertical( bVertical ),
mbNonAntialiased( false ),
+ mbEmbolden( false ),
mpFontData( &rFontData ),
mpFontEntry( NULL )
{
@@ -2297,6 +2313,12 @@ bool ImplFontCache::IFSD_Equal::operator()(const ImplFontSelectData& rA, const I
return false;
#endif
+ if (rA.mbEmbolden != rB.mbEmbolden)
+ return false;
+
+ if (rA.maItalicMatrix != rB.maItalicMatrix)
+ return false;
+
return true;
}
--- a/vcl/inc/vcl/vclenum.hxx 2011-10-27 15:10:10.402317337 +0100
+++ b/vcl/inc/vcl/vclenum.hxx 2011-10-27 15:10:29.561528762 +0100
@@ -326,6 +326,22 @@
#endif
+struct ItalicMatrix
+{
+ double xx, xy, yx, yy;
+ ItalicMatrix() : xx(1), xy(0), yx(0), yy(1) {}
+};
+
+inline bool operator ==(const ItalicMatrix& a, const ItalicMatrix& b)
+{
+ return a.xx == b.xx && a.xy == b.xy && a.yx == b.yx && a.yy == b.yy;
+}
+
+inline bool operator !=(const ItalicMatrix& a, const ItalicMatrix& b)
+{
+ return a.xx != b.xx || a.xy != b.xy || a.yx != b.yx || a.yy != b.yy;
+}
+
#endif // _VCL_VCLENUM_HXX
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */

@ -1,65 +0,0 @@
From 0da2906aa147050c3e99846d5908a60b99df69ba Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
Date: Tue, 2 Aug 2011 16:56:30 +0100
Subject: [PATCH] Resolves: rhbz#693265 fix crash from unhandled exception
---
vcl/source/gdi/impgraph.cxx | 28 ++++++++++++++++++++++++----
1 files changed, 24 insertions(+), 4 deletions(-)
diff --git a/vcl/source/gdi/impgraph.cxx b/vcl/source/gdi/impgraph.cxx
index 3b6d9a4..6fdb163 100644
--- a/vcl/source/gdi/impgraph.cxx
+++ b/vcl/source/gdi/impgraph.cxx
@@ -1077,7 +1077,14 @@ sal_Bool ImpGraphic::ImplReadEmbedded( SvStream& rIStm, sal_Bool bSwap )
if( aTmpURL.GetMainURL( INetURLObject::NO_DECODE ).getLength() )
{
- SvStream* pOStm = ::utl::UcbStreamHelper::CreateStream( aTmpURL.GetMainURL( INetURLObject::NO_DECODE ), STREAM_READWRITE | STREAM_SHARE_DENYWRITE );
+ SvStream* pOStm = NULL;
+ try
+ {
+ pOStm = ::utl::UcbStreamHelper::CreateStream( aTmpURL.GetMainURL( INetURLObject::NO_DECODE ), STREAM_READWRITE | STREAM_SHARE_DENYWRITE );
+ }
+ catch( const ::com::sun::star::uno::Exception& )
+ {
+ }
if( pOStm )
{
@@ -1282,8 +1289,14 @@ sal_Bool ImpGraphic::ImplSwapOut()
if( aTmpURL.GetMainURL( INetURLObject::NO_DECODE ).getLength() )
{
- SvStream* pOStm = ::utl::UcbStreamHelper::CreateStream( aTmpURL.GetMainURL( INetURLObject::NO_DECODE ), STREAM_READWRITE | STREAM_SHARE_DENYWRITE );
-
+ SvStream* pOStm = NULL;
+ try
+ {
+ pOStm = ::utl::UcbStreamHelper::CreateStream( aTmpURL.GetMainURL( INetURLObject::NO_DECODE ), STREAM_READWRITE | STREAM_SHARE_DENYWRITE );
+ }
+ catch( const ::com::sun::star::uno::Exception& )
+ {
+ }
if( pOStm )
{
pOStm->SetVersion( SOFFICE_FILEFORMAT_50 );
@@ -1382,7 +1395,14 @@ sal_Bool ImpGraphic::ImplSwapIn()
if( aSwapURL.Len() )
{
- SvStream* pIStm = ::utl::UcbStreamHelper::CreateStream( aSwapURL, STREAM_READWRITE | STREAM_SHARE_DENYWRITE );
+ SvStream* pIStm = NULL;
+ try
+ {
+ pIStm = ::utl::UcbStreamHelper::CreateStream( aSwapURL, STREAM_READWRITE | STREAM_SHARE_DENYWRITE );
+ }
+ catch( const ::com::sun::star::uno::Exception& )
+ {
+ }
if( pIStm )
{
--
1.7.6

@ -1,26 +0,0 @@
From 5cc73f49400f9719ffd5382e64931de6eb8f130c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
Date: Sun, 17 Apr 2011 22:57:40 +0100
Subject: [PATCH] Resolves: rhbz#695509 crash in RefreshDocumentLB
---
sd/source/ui/dlg/navigatr.cxx | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/sd/source/ui/dlg/navigatr.cxx b/sd/source/ui/dlg/navigatr.cxx
index 09426b8..edee709 100644
--- a/sd/source/ui/dlg/navigatr.cxx
+++ b/sd/source/ui/dlg/navigatr.cxx
@@ -713,7 +713,8 @@ void SdNavigatorWin::RefreshDocumentLB( const String* pDocName )
NavDocInfo* pInfo = new NavDocInfo();
pInfo->mpDocShell = pDocShell;
- aStr = pDocShell->GetMedium()->GetName();
+ SfxMedium *pMedium = pDocShell->GetMedium();
+ aStr = pMedium ? pMedium->GetName() : String();
if( aStr.Len() )
pInfo->SetName();
else
--
1.7.4.2

@ -1,511 +0,0 @@
From e7493d7aa73cfaab2e2f81b7fb6a71e2af77fcc2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
Date: Thu, 16 Jun 2011 12:41:45 +0100
Subject: [PATCH] Resolves: rhbz#713154 pdf export dialog too tall to fit on
netbooks
---
filter/source/pdf/impdialog.cxx | 8 +++
filter/source/pdf/impdialog.hrc | 5 ++
filter/source/pdf/impdialog.hxx | 8 +++
filter/source/pdf/impdialog.src | 119 ++++++++++++++++++++++++---------------
4 files changed, 94 insertions(+), 46 deletions(-)
diff --git a/filter/source/pdf/impdialog.cxx b/filter/source/pdf/impdialog.cxx
index c8d5049..54ec9b3 100644
--- a/filter/source/pdf/impdialog.cxx
+++ b/filter/source/pdf/impdialog.cxx
@@ -434,6 +434,8 @@ ImpPDFTabGeneralPage::ImpPDFTabGeneralPage( Window* pParent,
maCbReduceImageResolution( this, PDFFilterResId( CB_REDUCEIMAGERESOLUTION ) ),
maCoReduceImageResolution( this, PDFFilterResId( CO_REDUCEIMAGERESOLUTION ) ),
+ m_aVerticalLine(this, PDFFilterResId(FL_GENERAL_VERTICAL)),
+
maFlGeneral( this, PDFFilterResId( FL_GENERAL ) ),
maCbPDFA1b( this, PDFFilterResId( CB_PDFA_1B_SELECT ) ),
@@ -791,6 +793,8 @@ ImpPDFTabOpnFtrPage::ImpPDFTabOpnFtrPage( Window* pParent,
maRbMagnZoom( this, PDFFilterResId( RB_MAGNF_ZOOM ) ),
maNumZoom( this, PDFFilterResId( NUM_MAGNF_ZOOM ) ),
+ m_aVerticalLine(this, PDFFilterResId(FL_INITVIEW_VERTICAL)),
+
maFlPageLayout( this, PDFFilterResId( FL_PAGE_LAYOUT ) ),
maRbPgLyDefault( this, PDFFilterResId( RB_PGLY_DEFAULT ) ),
maRbPgLySinglePage( this, PDFFilterResId( RB_PGLY_SINGPG ) ),
@@ -955,6 +959,8 @@ ImpPDFTabViewerPage::ImpPDFTabViewerPage( Window* pParent,
maCbOpenFullScreen( this, PDFFilterResId( CB_WNDOPT_OPNFULL ) ),
maCbDispDocTitle( this, PDFFilterResId( CB_DISPDOCTITLE ) ),
+ m_aVerticalLine(this, PDFFilterResId(FL_VPREFER_VERTICAL)),
+
maFlUIOptions( this, PDFFilterResId( FL_USRIFOPT ) ),
maCbHideViewerMenubar( this, PDFFilterResId( CB_UOP_HIDEVMENUBAR ) ),
maCbHideViewerToolbar( this, PDFFilterResId( CB_UOP_HIDEVTOOLBAR ) ),
@@ -1053,6 +1059,8 @@ ImpPDFTabSecurityPage::ImpPDFTabSecurityPage( Window* i_pParent,
maOwnerPwdUnset( PDFFilterResId( STR_OWNER_PWD_UNSET ) ),
maOwnerPwdPdfa( PDFFilterResId( STR_OWNER_PWD_PDFA ) ),
+ m_aVerticalLine(this, PDFFilterResId(FL_SECURITY_VERTICAL)),
+
maFlPrintPermissions( this, PDFFilterResId( FL_PRINT_PERMISSIONS ) ),
maRbPrintNone( this, PDFFilterResId( RB_PRINT_NONE ) ),
maRbPrintLowRes( this, PDFFilterResId( RB_PRINT_LOWRES ) ),
diff --git a/filter/source/pdf/impdialog.hrc b/filter/source/pdf/impdialog.hrc
index 75708d1..61f2d14 100644
--- a/filter/source/pdf/impdialog.hrc
+++ b/filter/source/pdf/impdialog.hrc
@@ -188,3 +188,8 @@
#define CB_CNV_OOO_DOCTOPDF 155
#define CB_EXP_BMRK_TO_DEST 156
//<---
+
+#define FL_GENERAL_VERTICAL 157
+#define FL_INITVIEW_VERTICAL 158
+#define FL_VPREFER_VERTICAL 158
+#define FL_SECURITY_VERTICAL 160
diff --git a/filter/source/pdf/impdialog.hxx b/filter/source/pdf/impdialog.hxx
index bc2cd3e..a784973 100644
--- a/filter/source/pdf/impdialog.hxx
+++ b/filter/source/pdf/impdialog.hxx
@@ -190,6 +190,8 @@ class ImpPDFTabGeneralPage : public SfxTabPage
CheckBox maCbReduceImageResolution;
ComboBox maCoReduceImageResolution;
+ FixedLine m_aVerticalLine;
+
FixedLine maFlGeneral;
CheckBox maCbPDFA1b;
CheckBox maCbTaggedPDF;
@@ -254,6 +256,8 @@ class ImpPDFTabOpnFtrPage : public SfxTabPage
RadioButton maRbMagnZoom;
MetricField maNumZoom;
+ FixedLine m_aVerticalLine;
+
FixedLine maFlPageLayout;
RadioButton maRbPgLyDefault;
RadioButton maRbPgLySinglePage;
@@ -287,6 +291,8 @@ class ImpPDFTabViewerPage : public SfxTabPage
CheckBox maCbOpenFullScreen;
CheckBox maCbDispDocTitle;
+ FixedLine m_aVerticalLine;
+
FixedLine maFlUIOptions;
CheckBox maCbHideViewerMenubar;
CheckBox maCbHideViewerToolbar;
@@ -330,6 +336,8 @@ class ImpPDFTabSecurityPage : public SfxTabPage
String maOwnerPwdUnset;
String maOwnerPwdPdfa;
+ FixedLine m_aVerticalLine;
+
FixedLine maFlPrintPermissions;
RadioButton maRbPrintNone;
RadioButton maRbPrintLowRes;
diff --git a/filter/source/pdf/impdialog.src b/filter/source/pdf/impdialog.src
index 531d728..1779b5f 100644
--- a/filter/source/pdf/impdialog.src
+++ b/filter/source/pdf/impdialog.src
@@ -27,7 +27,7 @@
#include "impdialog.hrc"
-#define TAB_PDF_SIZE Size = MAP_APPFONT ( 176, 268 )
+#define TAB_PDF_SIZE Size = MAP_APPFONT ( 352, 155 )
//string for TabDialog standard buttons
String STR_PDF_EXPORT
{
@@ -153,16 +153,24 @@
"1200 DPI" ;
};
};
+
+ FixedLine FL_GENERAL_VERTICAL
+ {
+ Pos = MAP_APPFONT ( 175 , 3 ) ;
+ Size = MAP_APPFONT ( 4 , 150 ) ;
+ Vert = TRUE;
+ };
+
FixedLine FL_GENERAL
{
- Pos = MAP_APPFONT ( 6 , 117 ) ;
+ Pos = MAP_APPFONT ( 182 , 3 ) ;
Size = MAP_APPFONT ( 164 , 8 ) ;
Text[ en-US ] = "General";
};
CheckBox CB_PDFA_1B_SELECT
{
HelpID = "filter:CheckBox:RID_PDF_TAB_GENER:CB_PDFA_1B_SELECT";
- Pos = MAP_APPFONT ( 12, 128 ) ;
+ Pos = MAP_APPFONT ( 188, 14 ) ;
Size = MAP_APPFONT ( 158 , 10 ) ;
TabStop = TRUE ;
Text[ en-US ] = "P~DF/A-1a";
@@ -170,7 +178,7 @@
CheckBox CB_TAGGEDPDF
{
HelpID = "filter:CheckBox:RID_PDF_TAB_GENER:CB_TAGGEDPDF";
- Pos = MAP_APPFONT ( 12 , 141 ) ;
+ Pos = MAP_APPFONT ( 188 , 27 ) ;
Size = MAP_APPFONT ( 158 , 10 ) ;
TabStop = TRUE ;
Text[ en-US ] = "~Tagged PDF";
@@ -178,14 +186,14 @@
CheckBox CB_EXPORTFORMFIELDS
{
HelpID = "filter:CheckBox:RID_PDF_TAB_GENER:CB_EXPORTFORMFIELDS";
- Pos = MAP_APPFONT ( 12 , 154 ) ;
+ Pos = MAP_APPFONT ( 188 , 40 ) ;
Size = MAP_APPFONT ( 158 , 10 ) ;
TabStop = TRUE ;
Text[ en-US ] = "~Create PDF form";
};
FixedText FT_FORMSFORMAT
{
- Pos = MAP_APPFONT ( 30 , 168 ) ;
+ Pos = MAP_APPFONT ( 206 , 54 ) ;
Size = MAP_APPFONT ( 93, 8 ) ;
Text[ en-US ] = "Submit ~format";
};
@@ -193,7 +201,7 @@
{
HelpID = "filter:ListBox:RID_PDF_TAB_GENER:LB_FORMSFORMAT";
Border = TRUE ;
- Pos = MAP_APPFONT ( 126, 166 ) ;
+ Pos = MAP_APPFONT ( 302, 52 ) ;
Size = MAP_APPFONT ( 38, 48 ) ;
DeltaLang = < Default ; Default ; Default ; Default ; > ;
TabStop = TRUE ;
@@ -209,7 +217,7 @@
CheckBox CB_ALLOWDUPLICATEFIELDNAMES
{
HelpID = "filter:CheckBox:RID_PDF_TAB_GENER:CB_ALLOWDUPLICATEFIELDNAMES";
- Pos = MAP_APPFONT( 30, 178 );
+ Pos = MAP_APPFONT( 206, 64 );
Size = MAP_APPFONT( 128, 10 );
TabStop = TRUE;
Text [ en-US ] = "Allow duplicate field ~names";
@@ -217,7 +225,7 @@
CheckBox CB_EXPORTBOOKMARKS
{
HelpID = "filter:CheckBox:RID_PDF_TAB_GENER:CB_EXPORTBOOKMARKS";
- Pos = MAP_APPFONT ( 12 , 190 ) ;
+ Pos = MAP_APPFONT ( 188 , 76 ) ;
Size = MAP_APPFONT ( 158 , 10 ) ;
TabStop = TRUE ;
Text[ en-US ] = "Export ~bookmarks";
@@ -225,7 +233,7 @@
CheckBox CB_EXPORTNOTES
{
HelpID = "filter:CheckBox:RID_PDF_TAB_GENER:CB_EXPORTNOTES";
- Pos = MAP_APPFONT ( 12 , 203 ) ;
+ Pos = MAP_APPFONT ( 188 , 89 ) ;
Size = MAP_APPFONT ( 158 , 10 ) ;
TabStop = TRUE ;
Text[ en-US ] = "~Export comments";
@@ -233,7 +241,7 @@
CheckBox CB_EXPORTNOTESPAGES
{
HelpID = "filter:CheckBox:RID_PDF_TAB_GENER:CB_EXPORTNOTESPAGES";
- Pos = MAP_APPFONT ( 12 , 216 ) ;
+ Pos = MAP_APPFONT ( 188 , 102 ) ;
Size = MAP_APPFONT ( 158 , 10 ) ;
TabStop = TRUE ;
Text[ en-US ] = "Export ~notes pages";
@@ -241,7 +249,7 @@
CheckBox CB_EXPORTEMPTYPAGES
{
HelpID = "filter:CheckBox:RID_PDF_TAB_GENER:CB_EXPORTEMPTYPAGES";
- Pos = MAP_APPFONT ( 12 , 229 ) ;
+ Pos = MAP_APPFONT ( 188 , 115 ) ;
Size = MAP_APPFONT ( 158 , 16 ) ;
TabStop = TRUE ;
WordBreak = TRUE ;
@@ -250,7 +258,7 @@
CheckBox CB_EMBEDSTANDARDFONTS
{
HelpID = "filter:CheckBox:RID_PDF_TAB_GENER:CB_EMBEDSTANDARDFONTS";
- Pos = MAP_APPFONT ( 12 , 248 ) ;
+ Pos = MAP_APPFONT ( 188 , 134 ) ;
Size = MAP_APPFONT ( 158 , 10 ) ;
TabStop = TRUE ;
Text[ en-US ] = "E~mbed standard fonts";
@@ -258,7 +266,7 @@
CheckBox CB_ADDSTREAM
{
HelpID = "filter:CheckBox:RID_PDF_TAB_GENER:CB_ADDSTREAM";
- Pos = MAP_APPFONT ( 12 , 261 ) ;
+ Pos = MAP_APPFONT ( 188 , 147 ) ;
Size = MAP_APPFONT ( 158 , 10 ) ;
TabStop = TRUE ;
Text[ en-US ] = "Create ~hybrid file";
@@ -385,45 +393,52 @@
Minimum = 50;
Maximum = 1600;
};
-////////////////////////////////////////
+
+ FixedLine FL_INITVIEW_VERTICAL
+ {
+ Pos = MAP_APPFONT ( 175 , 3 ) ;
+ Size = MAP_APPFONT ( 4 , 150 ) ;
+ Vert = TRUE;
+ };
+
FixedLine FL_PAGE_LAYOUT
{
- Pos = MAP_APPFONT ( 6 , 146 ) ;
- Size = MAP_APPFONT (164 , 8 ) ;
+ Pos = MAP_APPFONT ( 182 , 3 ) ;
+ Size = MAP_APPFONT (164 , 8 ) ;
Text[ en-US ] = "Page layout" ;
};
RadioButton RB_PGLY_DEFAULT
{
HelpID = "filter:RadioButton:RID_PDF_TAB_OPNFTR:RB_PGLY_DEFAULT";
- Pos = MAP_APPFONT ( 12 , 158 ) ;
+ Pos = MAP_APPFONT ( 188 , 15 ) ;
Size = MAP_APPFONT ( 158 , 10 ) ;
Text[ en-US ] = "D~efault" ;
};
RadioButton RB_PGLY_SINGPG
{
HelpID = "filter:RadioButton:RID_PDF_TAB_OPNFTR:RB_PGLY_SINGPG";
- Pos = MAP_APPFONT ( 12 , 170 ) ;
+ Pos = MAP_APPFONT ( 188 , 27 ) ;
Size = MAP_APPFONT ( 158 , 10 ) ;
Text[ en-US ] = "~Single page" ;
};
RadioButton RB_PGLY_CONT
{
HelpID = "filter:RadioButton:RID_PDF_TAB_OPNFTR:RB_PGLY_CONT";
- Pos = MAP_APPFONT ( 12 , 182 ) ;
+ Pos = MAP_APPFONT ( 188 , 39 ) ;
Size = MAP_APPFONT ( 158 , 10 ) ;
Text[ en-US ] = "~Continuous" ;
};
RadioButton RB_PGLY_CONTFAC
{
HelpID = "filter:RadioButton:RID_PDF_TAB_OPNFTR:RB_PGLY_CONTFAC";
- Pos = MAP_APPFONT ( 12 , 194 ) ;
+ Pos = MAP_APPFONT ( 188 , 51 ) ;
Size = MAP_APPFONT ( 158 , 10 ) ;
Text[ en-US ] = "C~ontinuous facing" ;
};
CheckBox CB_PGLY_FIRSTLEFT
{
HelpID = "filter:CheckBox:RID_PDF_TAB_OPNFTR:CB_PGLY_FIRSTLEFT";
- Pos = MAP_APPFONT ( 22 , 206 ) ;
+ Pos = MAP_APPFONT ( 198 , 63 ) ;
Size = MAP_APPFONT ( 148 , 10 ) ;
Text[ en-US ] = "First page is ~left" ;
};
@@ -478,17 +493,23 @@
Text[ en-US ] = "~Display document title";
};
-////////////////////////////////
+ FixedLine FL_VPREFER_VERTICAL
+ {
+ Pos = MAP_APPFONT ( 175 , 3 ) ;
+ Size = MAP_APPFONT ( 4 , 150 ) ;
+ Vert = TRUE;
+ };
+
FixedLine FL_USRIFOPT
{
- Pos = MAP_APPFONT ( 6 , 64 ) ;
+ Pos = MAP_APPFONT ( 182 , 3 ) ;
Size = MAP_APPFONT ( 164 , 8 ) ;
Text[ en-US ] = "User interface options" ;
};
CheckBox CB_UOP_HIDEVMENUBAR
{
HelpID = "filter:CheckBox:RID_PDF_TAB_VPREFER:CB_UOP_HIDEVMENUBAR";
- Pos = MAP_APPFONT ( 12 , 76 ) ;
+ Pos = MAP_APPFONT ( 188 , 15 ) ;
Size = MAP_APPFONT ( 158 , 10 ) ;
TabStop = TRUE ;
Text[ en-US ] = "Hide ~menubar";
@@ -496,7 +517,7 @@
CheckBox CB_UOP_HIDEVTOOLBAR
{
HelpID = "filter:CheckBox:RID_PDF_TAB_VPREFER:CB_UOP_HIDEVTOOLBAR";
- Pos = MAP_APPFONT ( 12 , 88 ) ;
+ Pos = MAP_APPFONT ( 188 , 27 ) ;
Size = MAP_APPFONT ( 158 , 10 ) ;
TabStop = TRUE ;
Text[ en-US ] = "Hide ~toolbar";
@@ -504,7 +525,7 @@
CheckBox CB_UOP_HIDEVWINCTRL
{
HelpID = "filter:CheckBox:RID_PDF_TAB_VPREFER:CB_UOP_HIDEVWINCTRL";
- Pos = MAP_APPFONT ( 12 , 100 ) ;
+ Pos = MAP_APPFONT ( 188 , 39 ) ;
Size = MAP_APPFONT ( 158 , 10 ) ;
TabStop = TRUE ;
Text[ en-US ] = "Hide ~window controls";
@@ -513,14 +534,14 @@
////////////////////////////////
FixedLine FL_TRANSITIONS
{
- Pos = MAP_APPFONT ( 6 , 114 ) ;
+ Pos = MAP_APPFONT ( 6 , 64 ) ;
Size = MAP_APPFONT ( 164 , 8 ) ;
Text[ en-US ] = "Transitions" ;
};
CheckBox CB_TRANSITIONEFFECTS
{
HelpID = "filter:CheckBox:RID_PDF_TAB_VPREFER:CB_TRANSITIONEFFECTS";
- Pos = MAP_APPFONT ( 12 , 126 ) ;
+ Pos = MAP_APPFONT ( 12 , 76 ) ;
Size = MAP_APPFONT ( 158 , 10 ) ;
TabStop = TRUE ;
Text[ en-US ] = "~Use transition effects";
@@ -528,28 +549,28 @@
////////////////////////////////
FixedLine FL_BOOKMARKS
{
- Pos = MAP_APPFONT ( 6 , 140 ) ;
+ Pos = MAP_APPFONT ( 182 , 64 ) ;
Size = MAP_APPFONT ( 164 , 8 ) ;
Text[ en-US ] = "Bookmarks" ;
};
RadioButton RB_ALLBOOKMARKLEVELS
{
HelpID = "filter:RadioButton:RID_PDF_TAB_VPREFER:RB_ALLBOOKMARKLEVELS";
- Pos = MAP_APPFONT ( 12 , 152 ) ;
+ Pos = MAP_APPFONT ( 188 , 76 ) ;
Size = MAP_APPFONT ( 158 , 10 ) ;
Text[ en-US ] = "All bookmark levels";
};
RadioButton RB_VISIBLEBOOKMARKLEVELS
{
HelpID = "filter:RadioButton:RID_PDF_TAB_VPREFER:RB_VISIBLEBOOKMARKLEVELS";
- Pos = MAP_APPFONT ( 12 , 166 ) ;
+ Pos = MAP_APPFONT ( 188 , 90 ) ;
Size = MAP_APPFONT ( 117 , 10 ) ;
Text[ en-US ] = "Visible bookmark levels";
};
NumericField NUM_BOOKMARKLEVELS
{
HelpID = "filter:NumericField:RID_PDF_TAB_VPREFER:NUM_BOOKMARKLEVELS";
- Pos = MAP_APPFONT ( 132 , 165 ) ;
+ Pos = MAP_APPFONT ( 308 , 89 ) ;
Size = MAP_APPFONT ( 32 , 12 ) ;
Border = TRUE;
Spin = TRUE;
@@ -649,31 +670,37 @@
Text [en-US] = "PDF doument will not be restricted due to PDF/A export.";
};
-//////////////////////////////
+ FixedLine FL_SECURITY_VERTICAL
+ {
+ Pos = MAP_APPFONT ( 175 , 3 ) ;
+ Size = MAP_APPFONT ( 4 , 150 ) ;
+ Vert = TRUE;
+ };
+
FixedLine FL_PRINT_PERMISSIONS
{
- Pos = MAP_APPFONT ( 12 , 90 ) ;
+ Pos = MAP_APPFONT ( 182 , 5 ) ;
Size = MAP_APPFONT (156 , 8 ) ;
Text[ en-US ] = "Printing" ;
};
RadioButton RB_PRINT_NONE
{
HelpID = "filter:RadioButton:RID_PDF_TAB_SECURITY:RB_PRINT_NONE";
- Pos = MAP_APPFONT ( 18 , 101 ) ;
+ Pos = MAP_APPFONT ( 188 , 16 ) ;
Size = MAP_APPFONT ( 150 , 10 ) ;
Text[ en-US ] = "~Not permitted";
};
RadioButton RB_PRINT_LOWRES
{
HelpID = "filter:RadioButton:RID_PDF_TAB_SECURITY:RB_PRINT_LOWRES";
- Pos = MAP_APPFONT ( 18 , 112 ) ;
+ Pos = MAP_APPFONT ( 188 , 27 ) ;
Size = MAP_APPFONT ( 150 , 10 ) ;
Text[ en-US ] = "~Low resolution (150 dpi)";
};
RadioButton RB_PRINT_HIGHRES
{
HelpID = "filter:RadioButton:RID_PDF_TAB_SECURITY:RB_PRINT_HIGHRES";
- Pos = MAP_APPFONT ( 18 , 123 ) ;
+ Pos = MAP_APPFONT ( 188 , 38 ) ;
Size = MAP_APPFONT ( 150 , 10 ) ;
Text[ en-US ] = "~High resolution";
};
@@ -681,35 +708,35 @@
/////////////////////////////
FixedLine FL_CHANGES_ALLOWED
{
- Pos = MAP_APPFONT ( 12 , 134 ) ;
+ Pos = MAP_APPFONT ( 182 , 49 ) ;
Size = MAP_APPFONT (156 , 8 ) ;
Text[ en-US ] = "Changes" ;
};
RadioButton RB_CHANGES_NONE
{
HelpID = "filter:RadioButton:RID_PDF_TAB_SECURITY:RB_CHANGES_NONE";
- Pos = MAP_APPFONT ( 18 , 145 ) ;
+ Pos = MAP_APPFONT ( 188 , 60 ) ;
Size = MAP_APPFONT ( 150 , 10 ) ;
Text[ en-US ] = "No~t permitted";
};
RadioButton RB_CHANGES_INSDEL
{
HelpID = "filter:RadioButton:RID_PDF_TAB_SECURITY:RB_CHANGES_INSDEL";
- Pos = MAP_APPFONT ( 18 , 157 ) ;
+ Pos = MAP_APPFONT ( 188 , 72 ) ;
Size = MAP_APPFONT ( 150 , 10 ) ;
Text[ en-US ] = "~Inserting, deleting, and rotating pages";
};
RadioButton RB_CHANGES_FILLFORM
{
HelpID = "filter:RadioButton:RID_PDF_TAB_SECURITY:RB_CHANGES_FILLFORM";
- Pos = MAP_APPFONT ( 18 , 168 ) ;
+ Pos = MAP_APPFONT ( 188 , 83 ) ;
Size = MAP_APPFONT ( 150 , 10 ) ;
Text[ en-US ] = "~Filling in form fields";
};
RadioButton RB_CHANGES_COMMENT
{
HelpID = "filter:RadioButton:RID_PDF_TAB_SECURITY:RB_CHANGES_COMMENT";
- Pos = MAP_APPFONT ( 18 , 179 ) ;
+ Pos = MAP_APPFONT ( 188 , 94 ) ;
Size = MAP_APPFONT ( 152 , 16 ) ;
WordBreak = TRUE ;
Text[ en-US ] = "~Commenting, filling in form fields";
@@ -717,7 +744,7 @@
RadioButton RB_CHANGES_ANY_NOCOPY
{
HelpID = "filter:RadioButton:RID_PDF_TAB_SECURITY:RB_CHANGES_ANY_NOCOPY";
- Pos = MAP_APPFONT ( 18 , 198 ) ;
+ Pos = MAP_APPFONT ( 188 , 113 ) ;
Size = MAP_APPFONT ( 152 , 10 ) ;
Text[ en-US ] = "~Any except extracting pages";
};
@@ -725,7 +752,7 @@
CheckBox CB_ENDAB_COPY
{
HelpID = "filter:CheckBox:RID_PDF_TAB_SECURITY:CB_ENDAB_COPY";
- Pos = MAP_APPFONT ( 12 , 211 ) ;
+ Pos = MAP_APPFONT ( 182 , 126 ) ;
Size = MAP_APPFONT ( 158 , 10 ) ;
TabStop = TRUE ;
Text[ en-US ] = "Ena~ble copying of content" ;
@@ -734,7 +761,7 @@
CheckBox CB_ENAB_ACCESS
{
HelpID = "filter:CheckBox:RID_PDF_TAB_SECURITY:CB_ENAB_ACCESS";
- Pos = MAP_APPFONT ( 12 , 224 ) ;
+ Pos = MAP_APPFONT ( 182 , 139 ) ;
Size = MAP_APPFONT ( 158 , 10 ) ;
TabStop = TRUE ;
Text[ en-US ] = "Enable text access for acce~ssibility tools" ;

@ -1,213 +0,0 @@
From 4d974b37e75d1c46b9ddbf86bc6f2756014c7c46 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
Date: Tue, 19 Jul 2011 13:39:34 +0100
Subject: [PATCH] Resolves: rhbz#715549 use fontconfig's detected format when
available
---
vcl/inc/vcl/fontmanager.hxx | 2 +-
vcl/unx/generic/fontmanager/fontconfig.cxx | 12 +++-
vcl/unx/generic/fontmanager/fontmanager.cxx | 81 +++++++++++++++++----------
3 files changed, 62 insertions(+), 33 deletions(-)
diff --git a/vcl/inc/vcl/fontmanager.hxx b/vcl/inc/vcl/fontmanager.hxx
index 410ecf1..816adbe 100644
--- a/vcl/inc/vcl/fontmanager.hxx
+++ b/vcl/inc/vcl/fontmanager.hxx
@@ -333,7 +333,7 @@ class VCL_PLUGIN_PUBLIC PrintFontManager
void getFontAttributesFromXLFD( PrintFont* pFont, const std::list< rtl::OString >& rXLFDs ) const;
- bool analyzeFontFile( int nDirID, const rtl::OString& rFileName, const std::list< rtl::OString >& rXLFDs, std::list< PrintFont* >& rNewFonts ) const;
+ bool analyzeFontFile( int nDirID, const rtl::OString& rFileName, const std::list< rtl::OString >& rXLFDs, std::list< PrintFont* >& rNewFonts, const char *pFormat=NULL ) const;
rtl::OUString convertTrueTypeName( void* pNameRecord ) const; // actually a NameRecord* formt font subsetting code
void analyzeTrueTypeFamilyName( void* pTTFont, std::list< rtl::OUString >& rnames ) const; // actually a TrueTypeFont* from font subsetting code
bool analyzeTrueTypeFile( PrintFont* pFont ) const;
diff --git a/vcl/unx/source/fontmanager/fontconfig.cxx b/vcl/unx/source/fontmanager/fontconfig.cxx
index e4b2f00..5e97bec 100644
--- a/vcl/unx/source/fontmanager/fontconfig.cxx
+++ b/vcl/unx/source/fontmanager/fontconfig.cxx
@@ -68,6 +68,9 @@
#ifndef FC_EMBOLDEN
#define FC_EMBOLDEN "embolden"
#endif
+ #ifndef FC_FONTFORMAT
+ #define FC_FONTFORMAT "fontformat"
+ #endif
#else
typedef void FcConfig;
typedef void FcObjectSet;
@@ -842,6 +845,7 @@
FcChar8* file = NULL;
FcChar8* family = NULL;
FcChar8* style = NULL;
+ FcChar8* format = NULL;
int slant = 0;
int weight = 0;
int spacing = 0;
@@ -856,6 +860,7 @@
FcResult eSpacRes = rWrapper.FcPatternGetInteger( pFSet->fonts[i], FC_SPACING, 0, &spacing );
FcResult eOutRes = rWrapper.FcPatternGetBool( pFSet->fonts[i], FC_OUTLINE, 0, &outline );
FcResult eIndexRes = rWrapper.FcPatternGetInteger( pFSet->fonts[i], FC_INDEX, 0, &nCollectionEntry );
+ FcResult eFormatRes = rWrapper.FcPatternGetString(pFSet->fonts[i], FC_FONTFORMAT, 0, &format);
if( eFileRes != FcResultMatch || eFamilyRes != FcResultMatch || eOutRes != FcResultMatch )
continue;
@@ -863,13 +868,14 @@
#if (OSL_DEBUG_LEVEL > 2)
fprintf( stderr, "found font \"%s\" in file %s\n"
" weight = %d, slant = %d, style = \"%s\"\n"
- " spacing = %d, outline = %d\n"
+ " spacing = %d, outline = %d, format %s\n"
, family, file
, eWeightRes == FcResultMatch ? weight : -1
, eSpacRes == FcResultMatch ? slant : -1
, eStyleRes == FcResultMatch ? (const char*) style : "<nil>"
, eSpacRes == FcResultMatch ? spacing : -1
, eOutRes == FcResultMatch ? outline : -1
+ , eFormatRes == FcResultMatch ? (const char*)format : "<unknown>"
);
#endif
@@ -904,7 +910,9 @@
// not known, analyze font file to get attributes
// not described by fontconfig (e.g. alias names, PSName)
std::list< OString > aDummy;
- analyzeFontFile( nDirID, aBase, aDummy, aFonts );
+ if (eFormatRes != FcResultMatch)
+ format = NULL;
+ analyzeFontFile( nDirID, aBase, aDummy, aFonts, (const char*)format );
#if OSL_DEBUG_LEVEL > 1
if( aFonts.empty() )
fprintf( stderr, "Warning: file \"%s\" is unusable to psprint\n", aOrgPath.getStr() );
diff --git a/vcl/unx/source/fontmanager/fontmanager.cxx b/vcl/unx/source/fontmanager/fontmanager.cxx
index 2dceb35..27a2629 100644
--- a/vcl/unx/source/fontmanager/fontmanager.cxx
+++ b/vcl/unx/source/fontmanager/fontmanager.cxx
@@ -1281,9 +1281,12 @@ int PrintFontManager::addFontFile( const ::rtl::OString& rFileName, int /*nFaceN
return nFontId;
}
-// -------------------------------------------------------------------------
+enum fontFormat
+{
+ UNKNOWN, TRUETYPE, CFF, TYPE1, AFM
+};
-bool PrintFontManager::analyzeFontFile( int nDirID, const OString& rFontFile, const ::std::list<OString>& rXLFDs, ::std::list< PrintFontManager::PrintFont* >& rNewFonts ) const
+bool PrintFontManager::analyzeFontFile( int nDirID, const OString& rFontFile, const ::std::list<OString>& rXLFDs, ::std::list< PrintFontManager::PrintFont* >& rNewFonts, const char *pFormat ) const
{
rNewFonts.clear();
@@ -1297,8 +1300,32 @@ bool PrintFontManager::analyzeFontFile( int nDirID, const OString& rFontFile, co
if( access( aFullPath.getStr(), R_OK ) )
return false;
- ByteString aExt( rFontFile.copy( rFontFile.lastIndexOf( '.' )+1 ) );
- if( aExt.EqualsIgnoreCaseAscii( "pfb" ) || aExt.EqualsIgnoreCaseAscii( "pfa" ) )
+ fontFormat eFormat = UNKNOWN;
+ if (pFormat)
+ {
+ if (!strcmp(pFormat, "TrueType"))
+ eFormat = TRUETYPE;
+ else if (!strcmp(pFormat, "CFF"))
+ eFormat = CFF;
+ else if (!strcmp(pFormat, "Type 1"))
+ eFormat = TYPE1;
+ }
+ if (eFormat == UNKNOWN)
+ {
+ ByteString aExt( rFontFile.copy( rFontFile.lastIndexOf( '.' )+1 ) );
+ if( aExt.EqualsIgnoreCaseAscii( "pfb" ) || aExt.EqualsIgnoreCaseAscii( "pfa" ) )
+ eFormat = TYPE1;
+ else if( aExt.EqualsIgnoreCaseAscii( "afm" ) )
+ eFormat = AFM;
+ else if( aExt.EqualsIgnoreCaseAscii( "ttf" )
+ || aExt.EqualsIgnoreCaseAscii( "ttc" )
+ || aExt.EqualsIgnoreCaseAscii( "tte" ) ) // #i33947# for Gaiji support
+ eFormat = TRUETYPE;
+ else if( aExt.EqualsIgnoreCaseAscii( "otf" ) ) // check for TTF- and PS-OpenType too
+ eFormat = CFF;
+ }
+
+ if (eFormat == TYPE1)
{
// check for corresponding afm metric
// first look for an adjacent file
@@ -1352,7 +1379,7 @@ bool PrintFontManager::analyzeFontFile( int nDirID, const OString& rFontFile, co
}
}
}
- else if( aExt.EqualsIgnoreCaseAscii( "afm" ) )
+ else if (eFormat == AFM)
{
ByteString aFilePath( aDir );
aFilePath.Append( '/' );
@@ -1365,34 +1392,14 @@ bool PrintFontManager::analyzeFontFile( int nDirID, const OString& rFontFile, co
else
delete pFont;
}
- else if( aExt.EqualsIgnoreCaseAscii( "ttf" )
- || aExt.EqualsIgnoreCaseAscii( "tte" ) // #i33947# for Gaiji support
- || aExt.EqualsIgnoreCaseAscii( "otf" ) ) // check for TTF- and PS-OpenType too
- {
- TrueTypeFontFile* pFont = new TrueTypeFontFile();
- pFont->m_nDirectory = nDirID;
- pFont->m_aFontFile = rFontFile;
- pFont->m_nCollectionEntry = -1;
-
- if( rXLFDs.size() )
- getFontAttributesFromXLFD( pFont, rXLFDs );
- // need to read the font anyway to get aliases inside the font file
- if( ! analyzeTrueTypeFile( pFont ) )
- {
- delete pFont;
- pFont = NULL;
- }
- else
- rNewFonts.push_back( pFont );
- }
- else if( aExt.EqualsIgnoreCaseAscii( "ttc" ) )
+ else if (eFormat == TRUETYPE || eFormat == CFF)
{
// get number of ttc entries
int nLength = CountTTCFonts( aFullPath.getStr() );
if( nLength )
{
#if OSL_DEBUG_LEVEL > 1
- fprintf( stderr, "%s contains %d fonts\n", aFullPath.getStr(), nLength );
+ fprintf( stderr, "ttc: %s contains %d fonts\n", aFullPath.getStr(), nLength );
#endif
for( int i = 0; i < nLength; i++ )
{
@@ -1411,10 +1418,24 @@ bool PrintFontManager::analyzeFontFile( int nDirID, const OString& rFontFile, co
rNewFonts.push_back( pFont );
}
}
-#if OSL_DEBUG_LEVEL > 1
else
- fprintf( stderr, "CountTTCFonts( \"%s/%s\" ) failed\n", getDirectory(nDirID).getStr(), rFontFile.getStr() );
-#endif
+ {
+ TrueTypeFontFile* pFont = new TrueTypeFontFile();
+ pFont->m_nDirectory = nDirID;
+ pFont->m_aFontFile = rFontFile;
+ pFont->m_nCollectionEntry = -1;
+
+ if( rXLFDs.size() )
+ getFontAttributesFromXLFD( pFont, rXLFDs );
+ // need to read the font anyway to get aliases inside the font file
+ if( ! analyzeTrueTypeFile( pFont ) )
+ {
+ delete pFont;
+ pFont = NULL;
+ }
+ else
+ rNewFonts.push_back( pFont );
+ }
}
return ! rNewFonts.empty();
}
--
1.7.6

@ -1,39 +0,0 @@
From 76cf006837fdb687ce0a34ac673f3b8531b19700 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
Date: Thu, 15 Sep 2011 12:32:51 +0100
Subject: [PATCH] Resolves: rhbz#738255 avoid crash on NULL pointer
---
sc/source/ui/app/inputhdl.cxx | 15 +++++++++------
1 files changed, 9 insertions(+), 6 deletions(-)
diff --git a/sc/source/ui/app/inputhdl.cxx b/sc/source/ui/app/inputhdl.cxx
index 1524397..c30a8fd 100644
--- a/sc/source/ui/app/inputhdl.cxx
+++ b/sc/source/ui/app/inputhdl.cxx
@@ -2469,13 +2469,16 @@ void ScInputHandler::EnterHandler( sal_uInt8 nBlockMode )
ScDocument* pDoc = pActiveViewSh->GetViewData()->GetDocument();
// #i67990# don't use pLastPattern in EnterHandler
const ScPatternAttr* pPattern = pDoc->GetPattern( aCursorPos.Col(), aCursorPos.Row(), aCursorPos.Tab() );
- SvNumberFormatter* pFormatter = pDoc->GetFormatTable();
- // without conditional format, as in ScColumn::SetString
- sal_uInt32 nFormat = pPattern->GetNumberFormat( pFormatter );
- double nVal;
- if ( pFormatter->IsNumberFormat( aString, nFormat, nVal ) )
+ if (pPattern)
{
- bSpellErrors = false; // ignore the spelling errors
+ SvNumberFormatter* pFormatter = pDoc->GetFormatTable();
+ // without conditional format, as in ScColumn::SetString
+ sal_uInt32 nFormat = pPattern->GetNumberFormat( pFormatter );
+ double nVal;
+ if ( pFormatter->IsNumberFormat( aString, nFormat, nVal ) )
+ {
+ bSpellErrors = false; // ignore the spelling errors
+ }
}
}
}
--
1.7.6

@ -1,60 +0,0 @@
From 7cd58dbe32e5421986216dd7c6b24a4bb0b9c1e5 Mon Sep 17 00:00:00 2001
From: Luboš Luňák <l.lunak@suse.cz>
Date: Tue, 18 Oct 2011 14:52:47 +0000
Subject: style tooltips properly with KDE4 vclplug (fdo#40461)
---
(limited to 'vcl/unx/kde4')
diff --git a/vcl/unx/kde4/KDESalFrame.cxx b/vcl/unx/kde4/KDESalFrame.cxx
index 10e7350..4dd54e5 100644
--- a/vcl/unx/kde4/KDESalFrame.cxx
+++ b/vcl/unx/kde4/KDESalFrame.cxx
@@ -38,6 +38,8 @@
#include <kmainwindow.h>
#include <kapplication.h>
#include <ktoolbar.h>
+#include <qdebug.h>
+#include <qtooltip.h>
#undef Region
@@ -239,11 +241,9 @@ void KDESalFrame::UpdateSettings( AllSettings& rSettings )
style.SetFieldTextColor( aText );
style.SetFieldRolloverTextColor( aText );
style.SetWindowTextColor( aText );
- style.SetHelpTextColor( aText );
// Base
style.SetFieldColor( aBase );
- style.SetHelpColor( aBase );
style.SetWindowColor( aBase );
style.SetActiveTabColor( aBase );
@@ -268,11 +268,14 @@ void KDESalFrame::UpdateSettings( AllSettings& rSettings )
style.SetHighlightColor( aHigh );
style.SetHighlightTextColor( toColor(pal.color( QPalette::HighlightedText)) );
+ // Tooltip
+ style.SetHelpColor( toColor( QToolTip::palette().color( QPalette::Active, QPalette::ToolTipBase )));
+ style.SetHelpTextColor( toColor( QToolTip::palette().color( QPalette::Active, QPalette::ToolTipText )));
+
// Font
Font aFont = toFont( kapp->font(), rSettings.GetUILocale() );
style.SetAppFont( aFont );
- style.SetHelpFont( aFont );
style.SetMenuFont( aFont ); // will be changed according to pMenuBar
//style.SetToolFont( aFont ); //already set above
@@ -291,6 +294,8 @@ void KDESalFrame::UpdateSettings( AllSettings& rSettings )
}
style.SetFloatTitleFont( aFont );
+ style.SetHelpFont( toFont( QToolTip::font(), rSettings.GetUILocale()));
+
int flash_time = QApplication::cursorFlashTime();
style.SetCursorBlinkTime( flash_time != 0 ? flash_time/2 : STYLE_CURSOR_NOBLINKTIME );
--
cgit v0.9.0.2-2-gbebe

@ -9,8 +9,8 @@ Subject: [PATCH] Resolves: rhbz#761009 IFSD_Equal is asymmetrical
diff --git a/vcl/generic/glyphs/glyphcache.cxx b/vcl/generic/glyphs/glyphcache.cxx
index 89696d1..c524c08 100644
--- a/vcl/source/glyphs/glyphcache.cxx
+++ b/vcl/source/glyphs/glyphcache.cxx
--- a/vcl/generic/glyphs/glyphcache.cxx
+++ b/vcl/generic/glyphs/glyphcache.cxx
@@ -148,9 +148,11 @@ bool GlyphCache::IFSD_Equal::operator()( const FontSelectPattern& rA, const Font
// NOTE: ignoring meFamily deliberately

@ -1,68 +0,0 @@
From 549e54fb2f8113502743c443d6deadfe648dede1 Mon Sep 17 00:00:00 2001
From: Hanno Meyer-Thurow <h.mth@web.de>
Date: Tue, 13 Sep 2011 13:23:28 +0100
Subject: [PATCH] add Oracle Java 1.7.0 recognition
---
.../OpenOfficeorg/javavendors_linux.xml | 4 ++++
jvmfwk/plugins/sunmajor/javaenvsetup/javaldx.cxx | 2 ++
jvmfwk/plugins/sunmajor/pluginlib/vendorlist.cxx | 1 +
3 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/jvmfwk/distributions/OpenOfficeorg/javavendors_linux.xml b/jvmfwk/distributions/OpenOfficeorg/javavendors_linux.xml
index ed329e5..489511f 100644
--- a/jvmfwk/distributions/OpenOfficeorg/javavendors_linux.xml
+++ b/jvmfwk/distributions/OpenOfficeorg/javavendors_linux.xml
@@ -9,6 +9,9 @@
<vendor name="Sun Microsystems Inc.">
<minVersion>1.5.0</minVersion>
</vendor>
+ <vendor name="Oracle Corporation">
+ <minVersion>1.7.0</minVersion>
+ </vendor>
<vendor name="IBM Corporation">
<minVersion>1.5.0</minVersion>
</vendor>
@@ -25,6 +28,7 @@
<plugins>
<library vendor="Sun Microsystems Inc.">vnd.sun.star.expand:$URE_INTERNAL_LIB_DIR/sunjavaplugin.so</library>
+ <library vendor="Oracle Corporation">vnd.sun.star.expand:$URE_INTERNAL_LIB_DIR/sunjavaplugin.so</library>
<library vendor="IBM Corporation">vnd.sun.star.expand:$URE_INTERNAL_LIB_DIR/sunjavaplugin.so</library>
<library vendor="Blackdown Java-Linux Team">vnd.sun.star.expand:$URE_INTERNAL_LIB_DIR/sunjavaplugin.so</library>
<library vendor="Free Software Foundation, Inc.">vnd.sun.star.expand:$URE_INTERNAL_LIB_DIR/sunjavaplugin.so</library>
diff --git a/jvmfwk/plugins/sunmajor/javaenvsetup/javaldx.cxx b/jvmfwk/plugins/sunmajor/javaenvsetup/javaldx.cxx
index 8567d79..91ad4c6 100644
--- a/jvmfwk/plugins/sunmajor/javaenvsetup/javaldx.cxx
+++ b/jvmfwk/plugins/sunmajor/javaenvsetup/javaldx.cxx
@@ -112,6 +112,7 @@ SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, argv)
//Only do something if the sunjavaplugin created this JavaInfo
rtl::OUString sVendor1(RTL_CONSTASCII_USTRINGPARAM("Sun Microsystems Inc."));
+ rtl::OUString sVendor9(RTL_CONSTASCII_USTRINGPARAM("Oracle Corporation"));
rtl::OUString sVendor2(RTL_CONSTASCII_USTRINGPARAM("IBM Corporation"));
rtl::OUString sVendor3(RTL_CONSTASCII_USTRINGPARAM("Blackdown Java-Linux Team"));
rtl::OUString sVendor4(RTL_CONSTASCII_USTRINGPARAM("Apple Inc."));
@@ -121,6 +122,7 @@ SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, argv)
rtl::OUString sVendor8(RTL_CONSTASCII_USTRINGPARAM("The FreeBSD Foundation"));
if ( ! (sVendor1.equals(pInfo->sVendor) == sal_True
|| sVendor2.equals(pInfo->sVendor) == sal_True
+ || sVendor9.equals(pInfo->sVendor) == sal_True
|| sVendor3.equals(pInfo->sVendor) == sal_True
|| sVendor4.equals(pInfo->sVendor) == sal_True
|| sVendor5.equals(pInfo->sVendor) == sal_True
diff --git a/jvmfwk/plugins/sunmajor/pluginlib/vendorlist.cxx b/jvmfwk/plugins/sunmajor/pluginlib/vendorlist.cxx
index f24b6ff..5e87002 100644
--- a/jvmfwk/plugins/sunmajor/pluginlib/vendorlist.cxx
+++ b/jvmfwk/plugins/sunmajor/pluginlib/vendorlist.cxx
@@ -52,6 +52,7 @@ namespace jfw_plugin
*/
BEGIN_VENDOR_MAP()
VENDOR_MAP_ENTRY("Sun Microsystems Inc.", SunInfo)
+ VENDOR_MAP_ENTRY("Oracle Corporation", SunInfo)
VENDOR_MAP_ENTRY("IBM Corporation", OtherInfo)
VENDOR_MAP_ENTRY("Blackdown Java-Linux Team", OtherInfo)
VENDOR_MAP_ENTRY("Apple Inc.", OtherInfo)
--
1.7.6.4

@ -1,47 +0,0 @@
From 04c5a36ab8d514cfbe8e40f4493787b2ab392ab5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
Date: Tue, 25 Oct 2011 13:49:51 +0100
Subject: [PATCH] avoid using com.sun.org apis
---
.../pentaho/output/OfficeDocumentReportTarget.java | 10 ++++++----
1 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/reportbuilder/java/com/sun/star/report/pentaho/output/OfficeDocumentReportTarget.java b/reportbuilder/java/com/sun/star/report/pentaho/output/OfficeDocumentReportTarget.java
index cdc8eae..ef99a15 100644
--- a/reportbuilder/java/com/sun/star/report/pentaho/output/OfficeDocumentReportTarget.java
+++ b/reportbuilder/java/com/sun/star/report/pentaho/output/OfficeDocumentReportTarget.java
@@ -41,7 +41,6 @@ import com.sun.star.report.pentaho.model.OfficeStyles;
import com.sun.star.report.pentaho.model.OfficeStylesCollection;
import com.sun.star.report.pentaho.styles.LengthCalculator;
import com.sun.star.report.pentaho.styles.StyleMapper;
-import com.sun.org.apache.xerces.internal.parsers.DOMParser;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.xml.transform.OutputKeys;
@@ -49,6 +48,8 @@ import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.DocumentBuilder;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
@@ -1058,9 +1059,10 @@ public abstract class OfficeDocumentReportTarget extends AbstractReportTarget
try
{
inputStream = getInputRepository().createInputStream("meta.xml");
- DOMParser dOMParser = new DOMParser();
- dOMParser.parse(new InputSource(inputStream));
- Document document = dOMParser.getDocument();
+ DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
+ DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
+ Document document = dBuilder.parse(new InputSource(inputStream));
+
NodeList nl = document.getElementsByTagName("document-meta/meta/generator");
Node node = document.getFirstChild().getFirstChild().getFirstChild().getFirstChild();
String creator = node.getNodeValue();
--
1.7.6.4

@ -1,61 +0,0 @@
From e33537190f7a57ddcfe1382d330fa5d28581f16b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
Date: Mon, 18 Apr 2011 09:01:37 +0100
Subject: [PATCH] bubble down configure test findings on visibility
---
solenv/gbuild/platform/unxgcc.mk | 22 ++++++++++++++++++----
1 files changed, 18 insertions(+), 4 deletions(-)
diff --git a/solenv/gbuild/platform/unxgcc.mk b/solenv/gbuild/platform/unxgcc.mk
index 11a0205..b58e4ba 100755
--- a/solenv/gbuild/platform/unxgcc.mk
+++ b/solenv/gbuild/platform/unxgcc.mk
@@ -59,7 +59,6 @@ endif
gb_COMPILERDEFS := \
-D$(COM) \
- -DHAVE_GCC_VISIBILITY_FEATURE \
-DCPPU_ENV=gcc3 \
-DGXX_INCLUDE_PATH=$(GXX_INCLUDE_PATH) \
@@ -71,7 +70,6 @@ gb_CFLAGS := \
-fPIC \
-fmessage-length=0 \
-fno-common \
- -fvisibility=hidden \
-pipe \
gb_CXXFLAGS := \
@@ -85,10 +83,26 @@ gb_CXXFLAGS := \
-fPIC \
-fmessage-length=0 \
-fno-common \
- -fvisibility-inlines-hidden \
- -fvisibility=hidden \
-pipe \
+ifeq ($(HAVE_GCC_VISIBILITY_FEATURE),TRUE)
+gb_COMPILERDEFS += \
+ -DHAVE_GCC_VISIBILITY_FEATURE \
+
+gb_CFLAGS += \
+ -fvisibility=hidden
+
+gb_CXXFLAGS += \
+ -fvisibility=hidden \
+
+ifneq ($(HAVE_GCC_VISIBILITY_BROKEN),TRUE)
+gb_CXXFLAGS += \
+ -fvisibility-inlines-hidden \
+
+endif
+
+endif
+
gb_CCVER := $(shell $(gb_CC) -dumpversion | $(gb_AWK) -F. -- '{ print $$1*10000+$$2*100+$$3 }')
gb_StrictAliasingUnsafe := $(shell expr $(gb_CCVER) \< 40600)
--
1.7.4.2

@ -1,65 +0,0 @@
From 082ecb53a9077b6ae01ce66237f48d88bcb0cc00 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Lubo=C5=A1=20Lu=C5=88=C3=A1k?= <l.lunak@suse.cz>
Date: Thu, 20 Oct 2011 19:05:13 +0200
Subject: [PATCH] fix horizontal scrollbars with KDE oxygen style (bnc#722918)
Apparently there are two style flags for detecting the widget
is horizontal.
---
vcl/unx/kde4/KDESalGraphics.cxx | 19 +++++++++++++------
1 files changed, 13 insertions(+), 6 deletions(-)
diff --git a/vcl/unx/kde4/KDESalGraphics.cxx b/vcl/unx/kde4/KDESalGraphics.cxx
index 749fbf0..b09fe53 100644
--- a/vcl/unx/kde4/KDESalGraphics.cxx
+++ b/vcl/unx/kde4/KDESalGraphics.cxx
@@ -493,10 +493,9 @@ sal_Bool KDESalGraphics::drawNativeControl( ControlType type, ControlPart part,
if (sbVal->mnVisibleSize < sbVal->mnMax)
option.state = QStyle::State_MouseOver;
- //horizontal or vertical
- if (part == PART_DRAW_BACKGROUND_VERT)
- option.orientation = Qt::Vertical;
- else
+ bool horizontal = ( part == PART_DRAW_BACKGROUND_HORZ ); //horizontal or vertical
+ option.orientation = horizontal ? Qt::Horizontal : Qt::Vertical;
+ if( horizontal )
option.state |= QStyle::State_Horizontal;
//setup parameters from the OO values
@@ -592,7 +591,10 @@ sal_Bool KDESalGraphics::drawNativeControl( ControlType type, ControlPart part,
option.maximum = slVal->mnMax;
option.minimum = slVal->mnMin;
option.sliderPosition = option.sliderValue = slVal->mnCur;
- option.orientation = (part == PART_TRACK_HORZ_AREA) ? Qt::Horizontal : Qt::Vertical;
+ bool horizontal = ( part == PART_TRACK_HORZ_AREA ); //horizontal or vertical
+ option.orientation = horizontal ? Qt::Horizontal : Qt::Vertical;
+ if( horizontal )
+ option.state |= QStyle::State_Horizontal;
draw( QStyle::CC_Slider, &option, m_image, vclStateValue2StateFlag(nControlState, value) );
}
@@ -903,7 +905,10 @@ sal_Bool KDESalGraphics::getNativeControlRegion( ControlType type, ControlPart p
QStyleOptionSlider option;
OSL_ASSERT( val.getType() == CTRL_SCROLLBAR );
const ScrollbarValue* sbVal = static_cast<const ScrollbarValue *>(&val);
- option.orientation = ( part == PART_TRACK_HORZ_AREA ) ? Qt::Horizontal : Qt::Vertical;
+ bool horizontal = ( part == PART_TRACK_HORZ_AREA ); //horizontal or vertical
+ option.orientation = horizontal ? Qt::Horizontal : Qt::Vertical;
+ if( horizontal )
+ option.state |= QStyle::State_Horizontal;
option.minimum = sbVal->mnMin;
option.maximum = sbVal->mnMax;
option.sliderValue = sbVal->mnCur;
@@ -971,6 +976,8 @@ sal_Bool KDESalGraphics::hitTestNativeControl( ControlType nType, ControlPart nP
rect.moveTo( 0, 0 );
QStyleOptionSlider options;
options.orientation = bHorizontal ? Qt::Horizontal : Qt::Vertical;
+ if( bHorizontal )
+ options.state |= QStyle::State_Horizontal;
options.rect = rect;
// some random sensible values, since we call this code only for scrollbar buttons,
// the slider position does not exactly matter
--
1.7.6.4

@ -0,0 +1,85 @@
From c57fcf8d8873638b8ea9eb33c527e03939aaf80a Mon Sep 17 00:00:00 2001
From: David Tardon <dtardon@redhat.com>
Date: Fri, 16 Dec 2011 06:44:18 +0100
Subject: [PATCH 1/2] fix syntactic error
---
.../sun/star/wizards/common/PropertySetHelper.py | 18 ++++++------------
1 files changed, 6 insertions(+), 12 deletions(-)
diff --git a/wizards/com/sun/star/wizards/common/PropertySetHelper.py b/wizards/com/sun/star/wizards/common/PropertySetHelper.py
index fbb31d8..8ce949e 100644
--- a/wizards/com/sun/star/wizards/common/PropertySetHelper.py
+++ b/wizards/com/sun/star/wizards/common/PropertySetHelper.py
@@ -4,16 +4,8 @@ class PropertySetHelper(object):
@classmethod
def __init__(self, _aObj):
- if not _aObj:
- return
-
self.m_xPropertySet = _aObj
-
- def getHashMap(self):
- if self.m_aHashMap == None:
- self.m_aHashMap = HashMap < String, Object >.Object()
-
- return self.m_aHashMap
+ self.m_aHashMap = {}
'''
set a property, don't throw any exceptions,
@@ -55,7 +47,7 @@ class PropertySetHelper(object):
DebugHelper.exception(e)
else:
- getHashMap().put(_sName, _aValue)
+ self.m_aHashMap[_sName] = _aValue
'''
get a property and convert it to a int value
@@ -128,9 +120,11 @@ class PropertySetHelper(object):
except com.sun.star.lang.WrappedTargetException, e:
DebugHelper.writeInfo(e.getMessage())
+ # TODO: I wonder why the same thing is not done in the rest of the
+ # getPropertyValueAs* functions...
if aObject == None:
- if getHashMap().containsKey(_sName):
- aObject = getHashMap().get(_sName)
+ if _sName in self.m_aHashMap:
+ aObject = self.m_aHashMap[_sName]
if aObject != None:
try:
--
1.7.7.3
From 0e7ac37f00ded5db953aed60ec67fafcfe28f21c Mon Sep 17 00:00:00 2001
From: David Tardon <dtardon@redhat.com>
Date: Fri, 16 Dec 2011 06:53:23 +0100
Subject: [PATCH 2/2] fix syntactic error
---
.../sun/star/wizards/common/PropertySetHelper.py | 5 +----
1 files changed, 1 insertions(+), 4 deletions(-)
diff --git a/wizards/com/sun/star/wizards/common/PropertySetHelper.py b/wizards/com/sun/star/wizards/common/PropertySetHelper.py
index 8ce949e..970e453 100644
--- a/wizards/com/sun/star/wizards/common/PropertySetHelper.py
+++ b/wizards/com/sun/star/wizards/common/PropertySetHelper.py
@@ -225,10 +225,7 @@ class PropertySetHelper(object):
def showProperties(self):
sName = ""
if self.m_xPropertySet != None:
- XServiceInfo xServiceInfo = (XServiceInfo)
- UnoRuntime.queryInterface(XServiceInfo.class, self.m_xPropertySet)
- if xServiceInfo != None:
- sName = xServiceInfo.getImplementationName()
+ sName = self.m_xPropertySet.getImplementationName()
xInfo = self.m_xPropertySet.getPropertySetInfo()
aAllProperties = xInfo.getProperties()
--
1.7.7.3

@ -0,0 +1,28 @@
From ee29bb2a47311d86f794d10bbcfad27644baebb5 Mon Sep 17 00:00:00 2001
From: David Tardon <dtardon@redhat.com>
Date: Wed, 14 Dec 2011 07:11:47 +0100
Subject: [PATCH] force gbuild stage for CustomTargets
gb_SourceEnvAndRecurse_STAGE is unset in CustomTarget's make process
when the parent make has been started in sourced environment. This leads
to all sorts of "interesting" failures because the gbuild classes and
platform stuff are not loaded...
---
solenv/gbuild/CustomTarget.mk | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/solenv/gbuild/CustomTarget.mk b/solenv/gbuild/CustomTarget.mk
index 41b23b8..1e075af 100644
--- a/solenv/gbuild/CustomTarget.mk
+++ b/solenv/gbuild/CustomTarget.mk
@@ -31,6 +31,7 @@ define gb_CustomTarget__command
+$(call gb_Helper_abbreviate_dirs,\
mkdir -p $(call gb_CustomTarget_get_workdir,$(2)) && \
gb_AWK="$(gb_AWK)" gb_XSLTPROC="$(gb_XSLTPROC)" GBUILDDIR="$(GBUILDDIR)" SRCDIR="$(SRCDIR)" \
+ gb_SourceEnvAndRecurse_STAGE=gbuild \
$(MAKE) -C $(call gb_CustomTarget_get_workdir,$(2)) -f $< && \
touch $(1))
--
1.7.7.3

@ -1,26 +0,0 @@
From a07e8231a5cd3e12f7120486098479ab6ae6bcc2 Mon Sep 17 00:00:00 2001
From: Michael Meeks <michael.meeks@suse.com>
Date: Thu, 20 Oct 2011 21:49:40 +0100
Subject: [PATCH] gtk3: fix cairo canvas crash for non X (or svp) backend
---
canvas/source/cairo/cairo_xlib_cairo.cxx | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/canvas/source/cairo/cairo_xlib_cairo.cxx b/canvas/source/cairo/cairo_xlib_cairo.cxx
index a0569ab..8e9120d 100644
--- a/canvas/source/cairo/cairo_xlib_cairo.cxx
+++ b/canvas/source/cairo/cairo_xlib_cairo.cxx
@@ -55,6 +55,9 @@ namespace cairo
return false;
Display* pDisplay = (Display*)pOutDev->GetSystemGfxData().pDisplay;
+ if( !pDisplay )
+ return false;
+
int nDummy;
return XQueryExtension( pDisplay, "RENDER", &nDummy, &nDummy, &nDummy );
}
--
1.7.6.4

@ -1,622 +0,0 @@
diff --git a/sal/rtl/source/alloc_arena.c b/sal/rtl/source/alloc_arena.c
index 27ac970..c2294d8 100644
--- a/sal/rtl/source/alloc_arena.c
+++ b/sal/rtl/source/alloc_arena.c
@@ -102,13 +102,6 @@ rtl_machdep_pagesize (void);
rtl_arena_type * gp_default_arena = 0;
-/** rtl_arena_init()
- * @internal
- */
-static int
-rtl_arena_init (void);
-
-
/* ================================================================= */
/** rtl_arena_segment_constructor()
@@ -921,6 +914,8 @@ rtl_arena_deactivate (
*
* ================================================================= */
+extern void ensureArenaSingleton();
+
/** rtl_arena_create()
*/
rtl_arena_type *
@@ -973,7 +968,8 @@ try_alloc:
}
else if (gp_arena_arena == 0)
{
- if (rtl_arena_init())
+ ensureArenaSingleton();
+ if (gp_arena_arena)
{
/* try again */
goto try_alloc;
@@ -1279,8 +1275,8 @@ rtl_machdep_pagesize (void)
*
* ================================================================= */
-static void
-rtl_arena_once_init (void)
+void
+rtl_arena_init (void)
{
{
/* list of arenas */
@@ -1342,36 +1338,11 @@ rtl_arena_once_init (void)
);
OSL_ASSERT(gp_arena_arena != 0);
}
-}
-
-static int
-rtl_arena_init (void)
-{
- static sal_once_type g_once = SAL_ONCE_INIT;
- SAL_ONCE(&g_once, rtl_arena_once_init);
- return (gp_arena_arena != 0);
+ OSL_TRACE("rtl_arena_init completed");
}
/* ================================================================= */
-/*
- Issue http://udk.openoffice.org/issues/show_bug.cgi?id=92388
-
- Mac OS X does not seem to support "__cxa__atexit", thus leading
- to the situation that "__attribute__((destructor))__" functions
- (in particular "rtl_{memory|cache|arena}_fini") become called
- _before_ global C++ object d'tors.
-
- Delegated the call to "rtl_arena_fini()" into a dummy C++ object,
- see alloc_fini.cxx .
-*/
-#if defined(__GNUC__) && !defined(MACOSX)
-static void rtl_arena_fini (void) __attribute__((destructor));
-#elif defined(__SUNPRO_C) || defined(__SUNPRO_CC)
-#pragma fini(rtl_arena_fini)
-static void rtl_arena_fini (void);
-#endif /* __GNUC__ || __SUNPRO_C */
-
void
rtl_arena_fini (void)
{
@@ -1394,6 +1365,7 @@ rtl_arena_fini (void)
}
RTL_MEMORY_LOCK_RELEASE(&(g_arena_list.m_lock));
}
+ OSL_TRACE("rtl_arena_fini completed");
}
/* ================================================================= */
diff --git a/sal/rtl/source/alloc_cache.c b/sal/rtl/source/alloc_cache.c
index 06de201..ebf799e 100644
--- a/sal/rtl/source/alloc_cache.c
+++ b/sal/rtl/source/alloc_cache.c
@@ -99,13 +99,6 @@ static rtl_cache_type * gp_cache_slab_cache = 0;
static rtl_cache_type * gp_cache_bufctl_cache = 0;
-/** rtl_cache_init()
- * @internal
- */
-static int
-rtl_cache_init (void);
-
-
/* ================================================================= */
/** RTL_CACHE_HASH_INDEX()
@@ -1119,6 +1112,8 @@ rtl_cache_deactivate (
*
* ================================================================= */
+extern void ensureCacheSingleton();
+
/** rtl_cache_create()
*/
rtl_cache_type *
@@ -1176,7 +1171,8 @@ try_alloc:
}
else if (gp_cache_arena == 0)
{
- if (rtl_cache_init())
+ ensureCacheSingleton();
+ if (gp_cache_arena)
{
/* try again */
goto try_alloc;
@@ -1583,8 +1579,8 @@ rtl_cache_wsupdate_all (void * arg)
*
* ================================================================= */
-static void
-rtl_cache_once_init (void)
+void
+rtl_cache_init (void)
{
{
/* list of caches */
@@ -1680,36 +1676,11 @@ rtl_cache_once_init (void)
}
rtl_cache_wsupdate_init();
-}
-
-static int
-rtl_cache_init (void)
-{
- static sal_once_type g_once = SAL_ONCE_INIT;
- SAL_ONCE(&g_once, rtl_cache_once_init);
- return (gp_cache_arena != 0);
+ OSL_TRACE("rtl_cache_init completed");
}
/* ================================================================= */
-/*
- Issue http://udk.openoffice.org/issues/show_bug.cgi?id=92388
-
- Mac OS X does not seem to support "__cxa__atexit", thus leading
- to the situation that "__attribute__((destructor))__" functions
- (in particular "rtl_{memory|cache|arena}_fini") become called
- _before_ global C++ object d'tors.
-
- Delegated the call to "rtl_cache_fini()" into a dummy C++ object,
- see alloc_fini.cxx .
-*/
-#if defined(__GNUC__) && !defined(MACOSX)
-static void rtl_cache_fini (void) __attribute__((destructor));
-#elif defined(__SUNPRO_C) || defined(__SUNPRO_CC)
-#pragma fini(rtl_cache_fini)
-static void rtl_cache_fini (void);
-#endif /* __GNUC__ || __SUNPRO_C */
-
void
rtl_cache_fini (void)
{
@@ -1765,6 +1736,7 @@ rtl_cache_fini (void)
}
RTL_MEMORY_LOCK_RELEASE(&(g_cache_list.m_lock));
}
+ OSL_TRACE("rtl_cache_fini completed");
}
/* ================================================================= */
diff --git a/sal/rtl/source/alloc_fini.cxx b/sal/rtl/source/alloc_fini.cxx
index 5bc174e..f079676 100644
--- a/sal/rtl/source/alloc_fini.cxx
+++ b/sal/rtl/source/alloc_fini.cxx
@@ -26,33 +26,72 @@
*
************************************************************************/
-/*
- Issue http://udk.openoffice.org/issues/show_bug.cgi?id=92388
-
- Mac OS X does not seem to support "__cxa__atexit", thus leading
- to the situation that "__attribute__((destructor))__" functions
- (in particular "rtl_{memory|cache|arena}_fini") become called
- _before_ global C++ object d'tors.
-
- Using a C++ dummy object instead.
-*/
+#include <rtl/instance.hxx>
extern "C" void rtl_memory_fini (void);
-extern "C" void rtl_cache_fini (void);
-extern "C" void rtl_arena_fini (void);
-
-struct RTL_Alloc_Fini
+extern "C" void rtl_memory_init (void);
+namespace
+{
+ struct rtlMemorySingleton
+ {
+ rtlMemorySingleton()
+ {
+ rtl_memory_init();
+ }
+ ~rtlMemorySingleton()
+ {
+ rtl_memory_fini();
+ }
+ };
+ class theMemorySingleton : public rtl::Static<rtlMemorySingleton, theMemorySingleton>{};
+}
+extern "C" void ensureMemorySingleton()
{
- ~RTL_Alloc_Fini() ;
-};
+ theMemorySingleton::get();
+}
-RTL_Alloc_Fini::~RTL_Alloc_Fini()
+extern "C" void rtl_cache_fini (void);
+extern "C" void rtl_cache_init (void);
+namespace
+{
+ struct rtlCacheSingleton
+ {
+ rtlCacheSingleton()
+ {
+ rtl_cache_init();
+ }
+ ~rtlCacheSingleton()
+ {
+ rtl_cache_fini();
+ }
+ };
+ class theCacheSingleton : public rtl::Static<rtlCacheSingleton, theCacheSingleton>{};
+}
+extern "C" void ensureCacheSingleton()
{
- rtl_memory_fini();
- rtl_cache_fini();
- rtl_arena_fini();
+ theCacheSingleton::get();
}
-static RTL_Alloc_Fini g_RTL_Alloc_Fini;
+extern "C" void rtl_arena_fini (void);
+extern "C" void rtl_arena_init (void);
+namespace
+{
+ struct rtlArenaSingleton
+ {
+ rtlArenaSingleton()
+ {
+ rtl_arena_init();
+ }
+ ~rtlArenaSingleton()
+ {
+ rtl_arena_fini();
+ }
+ };
+ class theArenaSingleton : public rtl::Static<rtlArenaSingleton, theArenaSingleton>{};
+}
+extern "C" void ensureArenaSingleton()
+{
+ theArenaSingleton::get();
+}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sal/rtl/source/alloc_global.c b/sal/rtl/source/alloc_global.c
index 70504ac..fb95e83 100644
--- a/sal/rtl/source/alloc_global.c
+++ b/sal/rtl/source/alloc_global.c
@@ -29,6 +29,7 @@
#include "alloc_impl.h"
#include "rtl/alloc.h"
#include <sal/macros.h>
+#include <osl/diagnose.h>
#include <string.h>
#include <stdio.h>
@@ -66,7 +67,6 @@ static void determine_alloc_mode(void)
#include "internal/once.h"
#include "sal/macros.h"
-#include "osl/diagnose.h"
/* ================================================================= *
*
@@ -108,60 +108,7 @@ static rtl_cache_type * g_alloc_table[RTL_MEMORY_CACHED_LIMIT >> RTL_MEMALIGN_SH
static rtl_arena_type * gp_alloc_arena = 0;
-/* ================================================================= *
- *
- * custom allocator initialization / finalization.
- *
- * ================================================================= */
-
-static void
-rtl_memory_once_init (void)
-{
- {
- /* global memory arena */
- OSL_ASSERT(gp_alloc_arena == 0);
-
- gp_alloc_arena = rtl_arena_create (
- "rtl_alloc_arena",
- 2048, /* quantum */
- 0, /* w/o quantum caching */
- 0, /* default source */
- rtl_arena_alloc,
- rtl_arena_free,
- 0 /* flags */
- );
- OSL_ASSERT(gp_alloc_arena != 0);
- }
- {
- sal_Size size;
- int i, n = RTL_MEMORY_CACHED_SIZES;
-
- for (i = 0; i < n; i++)
- {
- char name[RTL_CACHE_NAME_LENGTH + 1];
- (void) snprintf (name, sizeof(name), "rtl_alloc_%lu", g_alloc_sizes[i]);
- g_alloc_caches[i] = rtl_cache_create (name, g_alloc_sizes[i], 0, NULL, NULL, NULL, NULL, NULL, 0);
- }
-
- size = RTL_MEMALIGN;
- for (i = 0; i < n; i++)
- {
- while (size <= g_alloc_sizes[i])
- {
- g_alloc_table[(size - 1) >> RTL_MEMALIGN_SHIFT] = g_alloc_caches[i];
- size += RTL_MEMALIGN;
- }
- }
- }
-}
-
-static int
-rtl_memory_init (void)
-{
- static sal_once_type g_once = SAL_ONCE_INIT;
- SAL_ONCE(&g_once, rtl_memory_once_init);
- return (gp_alloc_arena != 0);
-}
+extern void ensureMemorySingleton();
/* ================================================================= *
*
@@ -198,7 +145,8 @@ try_alloc:
}
else if (gp_alloc_arena == 0)
{
- if (rtl_memory_init())
+ ensureMemorySingleton();
+ if (gp_alloc_arena)
{
/* try again */
goto try_alloc;
@@ -256,28 +204,58 @@ void * SAL_CALL rtl_reallocateMemory_CUSTOM (void * p, sal_Size n) SAL_THROW_EXT
#endif
+/* ================================================================= *
+ *
+ * custom allocator initialization / finalization.
+ *
+ * ================================================================= */
+
+void rtl_memory_init (void)
+{
+#if !defined(FORCE_SYSALLOC)
+ {
+ /* global memory arena */
+ OSL_ASSERT(gp_alloc_arena == 0);
+
+ gp_alloc_arena = rtl_arena_create (
+ "rtl_alloc_arena",
+ 2048, /* quantum */
+ 0, /* w/o quantum caching */
+ 0, /* default source */
+ rtl_arena_alloc,
+ rtl_arena_free,
+ 0 /* flags */
+ );
+ OSL_ASSERT(gp_alloc_arena != 0);
+ }
+ {
+ sal_Size size;
+ int i, n = RTL_MEMORY_CACHED_SIZES;
+
+ for (i = 0; i < n; i++)
+ {
+ char name[RTL_CACHE_NAME_LENGTH + 1];
+ (void) snprintf (name, sizeof(name), "rtl_alloc_%lu", g_alloc_sizes[i]);
+ g_alloc_caches[i] = rtl_cache_create (name, g_alloc_sizes[i], 0, NULL, NULL, NULL, NULL, NULL, 0);
+ }
+
+ size = RTL_MEMALIGN;
+ for (i = 0; i < n; i++)
+ {
+ while (size <= g_alloc_sizes[i])
+ {
+ g_alloc_table[(size - 1) >> RTL_MEMALIGN_SHIFT] = g_alloc_caches[i];
+ size += RTL_MEMALIGN;
+ }
+ }
+ }
+#endif
+ OSL_TRACE("rtl_memory_init completed");
+}
+
/* ================================================================= */
-/*
- Issue http://udk.openoffice.org/issues/show_bug.cgi?id=92388
-
- Mac OS X does not seem to support "__cxa__atexit", thus leading
- to the situation that "__attribute__((destructor))__" functions
- (in particular "rtl_memory_fini") become called _before_ global
- C++ object d'tors.
-
- Delegated the call to "rtl_memory_fini" into a dummy C++ object,
- see memory_fini.cxx .
-*/
-#if defined(__GNUC__) && !defined(MACOSX) && !defined(AIX)
-static void rtl_memory_fini (void) __attribute__((destructor));
-#elif defined(__SUNPRO_C) || defined(__SUNPRO_CC)
-#pragma fini(rtl_memory_fini)
-static void rtl_memory_fini (void);
-#endif /* __GNUC__ || __SUNPRO_C */
-
-void
-rtl_memory_fini (void)
+void rtl_memory_fini (void)
{
#if !defined(FORCE_SYSALLOC)
int i, n;
@@ -302,6 +280,7 @@ rtl_memory_fini (void)
gp_alloc_arena = 0;
}
#endif
+ OSL_TRACE("rtl_memory_fini completed");
}
/* ================================================================= *
diff --git a/sal/rtl/source/makefile.mk b/sal/rtl/source/makefile.mk
index 67ae7f8..9c3921d 100644
--- a/sal/rtl/source/makefile.mk
+++ b/sal/rtl/source/makefile.mk
@@ -100,12 +100,8 @@ SLOFILES= \
$(SLO)$/math.obj \
$(SLO)$/alloc_global.obj\
$(SLO)$/alloc_cache.obj \
- $(SLO)$/alloc_arena.obj
-
-.IF "$(OS)"=="MACOSX" || "$(OS)"=="AIX"
-SLOFILES+=$(SLO)$/alloc_fini.obj
-.ENDIF
-
+ $(SLO)$/alloc_arena.obj \
+ $(SLO)$/alloc_fini.obj
OBJFILES= \
$(OBJ)$/memory.obj \
@@ -132,11 +128,8 @@ OBJFILES= \
$(OBJ)$/math.obj \
$(OBJ)$/alloc_global.obj\
$(OBJ)$/alloc_cache.obj \
- $(OBJ)$/alloc_arena.obj
-
-.IF "$(OS)"=="MACOSX" || "$(OS)"=="AIX"
-OBJFILES+=$(OBJ)$/alloc_fini.obj
-.ENDIF
+ $(OBJ)$/alloc_arena.obj \
+ $(OBJ)$/alloc_fini.obj
APP1TARGET=gen_makefile
diff --git a/sal/rtl/source/alloc_fini.cxx b/sal/rtl/source/alloc_fini.cxx
index f079676..dfd3599 100644
--- a/sal/rtl/source/alloc_fini.cxx
+++ b/sal/rtl/source/alloc_fini.cxx
@@ -43,7 +43,8 @@ namespace
rtl_memory_fini();
}
};
- class theMemorySingleton : public rtl::Static<rtlMemorySingleton, theMemorySingleton>{};
+ class theMemorySingleton
+ : public rtl::Static<rtlMemorySingleton, theMemorySingleton>{};
}
extern "C" void ensureMemorySingleton()
{
@@ -65,7 +66,8 @@ namespace
rtl_cache_fini();
}
};
- class theCacheSingleton : public rtl::Static<rtlCacheSingleton, theCacheSingleton>{};
+ class theCacheSingleton
+ : public rtl::Static<rtlCacheSingleton, theCacheSingleton>{};
}
extern "C" void ensureCacheSingleton()
{
@@ -87,11 +89,35 @@ namespace
rtl_arena_fini();
}
};
- class theArenaSingleton : public rtl::Static<rtlArenaSingleton, theArenaSingleton>{};
+ class theArenaSingleton
+ : public rtl::Static<rtlArenaSingleton, theArenaSingleton>{};
}
extern "C" void ensureArenaSingleton()
{
theArenaSingleton::get();
}
+extern "C" void rtl_locale_fini (void);
+extern "C" void rtl_locale_init (void);
+namespace
+{
+ struct rtlLocaleSingleton
+ {
+ rtlLocaleSingleton()
+ {
+ rtl_locale_init();
+ }
+ ~rtlLocaleSingleton()
+ {
+ rtl_locale_fini();
+ }
+ };
+ class theLocaleSingleton
+ : public rtl::Static<rtlLocaleSingleton, theLocaleSingleton>{};
+}
+extern "C" void ensureLocaleSingleton()
+{
+ theLocaleSingleton::get();
+}
+
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sal/rtl/source/locale.c b/sal/rtl/source/locale.c
index 964be09..79f2fb8 100644
--- a/sal/rtl/source/locale.c
+++ b/sal/rtl/source/locale.c
@@ -58,8 +58,6 @@ static RTL_HASHTABLE* g_pLocaleTable = NULL;
static rtl_Locale* g_pDefaultLocale = NULL;
-static int rtl_locale_init (void);
-
/*************************************************************************
*/
void rtl_hashentry_destroy(RTL_HASHENTRY* entry)
@@ -228,29 +226,15 @@ sal_Bool rtl_hashtable_find(RTL_HASHTABLE * table, sal_Int32 key, sal_Int32 hash
/*************************************************************************
* rtl_locale_init
*/
-static void rtl_locale_once_init (void)
+void rtl_locale_init (void)
{
OSL_ASSERT(g_pLocaleTable == 0);
rtl_hashtable_init(&g_pLocaleTable, 1);
}
-static int rtl_locale_init (void)
-{
- static sal_once_type g_once = SAL_ONCE_INIT;
- SAL_ONCE(&g_once, rtl_locale_once_init);
- return (g_pLocaleTable != 0);
-}
-
/*************************************************************************
* rtl_locale_fini
*/
-#if defined(__GNUC__)
-static void rtl_locale_fini (void) __attribute__((destructor));
-#elif defined(__SUNPRO_C) || defined(__SUNPRO_CC)
-#pragma fini(rtl_locale_fini)
-static void rtl_locale_fini (void);
-#endif /* __GNUC__ || __SUNPRO_C */
-
void rtl_locale_fini (void)
{
if (g_pLocaleTable != 0)
@@ -260,6 +244,8 @@ void rtl_locale_fini (void)
}
}
+extern void ensureLocaleSingleton();
+
/*************************************************************************
* rtl_locale_register
*/
@@ -278,7 +264,8 @@ rtl_Locale * SAL_CALL rtl_locale_register( const sal_Unicode * language, const s
if ( !variant )
variant = &c;
- if (!rtl_locale_init())
+ ensureLocaleSingleton();
+ if (!g_pLocaleTable)
return NULL;
hashCode = rtl_ustr_hashCode(language) ^ rtl_ustr_hashCode(country) ^ rtl_ustr_hashCode(variant);

@ -1,32 +0,0 @@
From fc23cec13e5e17fb6d0f2d650b8889041af2da68 Mon Sep 17 00:00:00 2001
From: David Tardon <dtardon@redhat.com>
Date: Sat, 18 Jun 2011 16:54:43 +0200
Subject: [PATCH] rhbz#667082 do not crash importing section containing just
an empty paragraph
---
writerfilter/source/dmapper/DomainMapper_Impl.cxx | 8 +-------
1 files changed, 1 insertions(+), 7 deletions(-)
diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
index 759f8e7..9944c8c 100644
--- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx
+++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
@@ -937,13 +937,7 @@ void DomainMapper_Impl::finishParagraph( PropertyMapPtr pPropertyMap )
uno::Reference< text::XTextRange > xParaEnd( xCur, uno::UNO_QUERY );
CheckParaRedline( xParaEnd );
- // Remove the last empty section paragraph if needed
- if ( m_bIsLastParaInSection && !m_bParaChanged )
- {
- RemoveLastParagraph( );
- m_bIsLastParaInSection = false;
- }
-
+ m_bIsLastParaInSection = false;
m_bParaChanged = false;
}
if( !bKeepLastParagraphProperties )
--
1.7.5.2

@ -1,42 +0,0 @@
From 6b8151cf40be1257db1c5165c5015490390cab6f Mon Sep 17 00:00:00 2001
From: David Tardon <dtardon@redhat.com>
Date: Tue, 10 May 2011 09:55:55 +0200
Subject: [PATCH] rhbz#702635 set correct page number when exporting selected
pages
---
filter/source/pdf/pdfexport.cxx | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/filter/source/pdf/pdfexport.cxx b/filter/source/pdf/pdfexport.cxx
index bffd26c..5de0cbc 100644
--- a/filter/source/pdf/pdfexport.cxx
+++ b/filter/source/pdf/pdfexport.cxx
@@ -193,6 +193,7 @@ sal_Bool PDFExport::ExportSelection( vcl::PDFWriter& rPDFWriter, Reference< com:
if ( nPageCount )
{
sal_Int32 nSel = aMultiSelection.FirstSelected();
+ sal_Int32 nCurrentPage(0);
while ( nSel != sal_Int32(SFX_ENDOFSELECTION) )
{
Sequence< PropertyValue > aRenderer( rRenderable->getRenderer( nSel - 1, rSelection, rRenderOptions ) );
@@ -204,7 +205,7 @@ sal_Bool PDFExport::ExportSelection( vcl::PDFWriter& rPDFWriter, Reference< com:
aRenderer[ nProperty].Value >>= aPageSize;
}
- pPDFExtOutDevData->SetCurrentPageNumber( nSel - 1 );
+ pPDFExtOutDevData->SetCurrentPageNumber( nCurrentPage );
GDIMetaFile aMtf;
const MapMode aMapMode( MAP_100TH_MM );
@@ -242,6 +243,7 @@ sal_Bool PDFExport::ExportSelection( vcl::PDFWriter& rPDFWriter, Reference< com:
*pFirstPage <<= sal_False;
++mnProgressValue;
+ ++nCurrentPage;
}
}
else
--
1.7.5.1

@ -0,0 +1,403 @@
From 4d9293660776b6d97289cf7a1bf8f6be7ad05649 Mon Sep 17 00:00:00 2001
From: David Tardon <dtardon@redhat.com>
Date: Thu, 15 Dec 2011 12:49:36 +0100
Subject: [PATCH] these translations do already exist in translations repo
---
sysui/desktop/share/launcher_comment.ulf | 169 --------------------------
sysui/desktop/share/launcher_genericname.ulf | 167 -------------------------
2 files changed, 0 insertions(+), 336 deletions(-)
diff --git a/sysui/desktop/share/launcher_comment.ulf b/sysui/desktop/share/launcher_comment.ulf
index c9cd594..71c82e2 100755
--- a/sysui/desktop/share/launcher_comment.ulf
+++ b/sysui/desktop/share/launcher_comment.ulf
@@ -1,190 +1,21 @@
[writer]
en-US = "Create and edit text and graphics in letters, reports, documents and Web pages by using Writer."
-ast = "Escribi y edita testos y gráficos en cartes, informes, documentos y páxines web."
-ca = "Creeu i editeu text i gràfics a cartes, informes, documents i pàgines web."
-da = "Opret og redigér tekst og grafik i breve, rapporter, dokumenter og hjemmesider."
-de = "Texte und Grafiken in Briefen, Berichten, Dokumenten und Webseiten erstellen und bearbeiten."
-es = "Cree y edite textos y gráficos en cartas, informes, documentos y páginas web."
-fi = "Luo ja muokkaa tekstejä ja grafiikkaa kirjeisiin, raportteihin, asiakirjoihin ja WWW-sivuille."
-fr = "Créer et modifier des textes et graphiques pour lettres, rapports, documents ou pages Web."
-gl = "Cree e modifique textos e gráficos en cartas, informes, documentos e páxinas web."
-he = "יצירה ועריכה של טקסט וגרפיקה במכתבים, דוחות, מסמכים ואתרי אינטרנט."
-hr = "Stvorite i uredite tekstualna i grafička pisma, izvještaje, dokumente i web stranice."
-hu = "Levelek, jelentések, dokumentumok és weboldalak szövegének és grafikájának létrehozása és szerkesztése"
-it = "Crea e modifica testo e grafica in lettere, rapporti, documenti e pagine Web."
-is = "Búa til og sýsla með texta og myndefni í bréfum, skýrslum, ýmsum textaskjölum og vefsíðum."
-ja = "手紙やレポート、文書、Webページ向けの文章や画像を作成・編集します。"
-ku = "Nivîs û grafîkên di name, rapor, belge û rûpelên torê de çêbike û sererast bike."
-nl = "Tekst en afbeeldingen bewerken in brieven, rapporten, documenten en webpagina's. "
-pt_BR = "Crie e edite seus textos e gráficos em cartas, relatórios, documentos ou páginas da web."
-ro = "Creați și editați documente text și grafice sub formă de scrisori, rapoarte, articole sau pagini web."
-ru = "Создание и редактирование текстов и изображений в письмах, отчётах, документах и на веб-страницах."
-sl = "Ustvarjajte in urejajte besedilo in grafiko v pismih, poročilih, dokumentih in spletnih straneh."
-te = "పత్రాలు, నివేదికలు మరియు వెబ్ పేజీలలో పాఠ్యం మరియు గ్రాఫిక్స్ సృష్టి మరియు సవరణ"
-vi = "Tạo và soạn văn bản và hình trong thư, báo cáo, tài liệu và trang web."
-zh_CN = "创建编辑文档、报告、信件和网页中的文本和图形。"
-zh_TW = "建立與編輯書信、報告、文件與網頁中的文字和圖形。"
[impress]
en-US = "Create and edit presentations for slideshows, meeting and Web pages by using Impress."
-ast = "Fai y edita presentaciones pa pases de diapositives, reuniones y páxines web."
-ca = "Creeu i editeu presentacions per a diapositives, conferències i pàgines web."
-da = "Opret og rediger præsentationer til diasshows, møder og hjemmesider."
-de = "Präsentationen für Vorführungen, Besprechungen und Web-Auftritte erstellen und bearbeiten."
-el = "Δημιουργία και επεξεργασία παρουσιάσεων για προβολές διαφανειών, συσκέψεις και ιστοσελίδες"
-es = "Cree y edite presentaciones para pases de diapositivas, reuniones y páginas web."
-fi = "Luo ja muokkaa esityksiä esitelmiin, tapaamisiin ja WWW-sivuille."
-fr = "Créer et modifier des présentations pour des diaporamas, des conférences et pour le Web."
-gl = "Cree e modifique presentacións para diaporamas, conferencias e páxinas web."
-he = "יצירה ועריכה של מצגות עבור שקופיות, פגישות ואתרי אינטרנט."
-hr = "Stvorite i uredite prezentacije za sastanke i web stranice."
-hu = "Bemutatók készítése és szerkesztése diavetítésekhez vagy a webre"
-it = "Crea e modifica presentazioni per proiezioni, meeting e pagine Web."
-is = "Búa til og breyta kynningum fyrir ráðstefnur, fyrirlestra og fyrir birtingu á vef."
-ja = "スライドショーや会議、Webページ向けのプレゼンテーションを作成・編集します。"
-nl = "Presentaties maken voor diavoorstellingen, vergaderingen en webpagina's."
-pt_BR = "Crie e edite apresentações para reuniões ou páginas da web."
-ro = "Creați și editați prezentări, diapozitive sau pagini web."
-ru = "Создание и редактирование презентаций для слайд-шоу, докладов и веб-страниц."
-sl = "Ustvarjajte in urejajte predstavitve za srečanja, predstavitve in spletne strani."
-vi = "Tạo trình diễn để chiếu tự động, cho cuộc họp hoặc trang web"
-zh_CN = "创建编辑用于幻灯片放映、会议和网页的演示文稿。"
-zh_TW = "建立與編輯投影片放映、會議、網頁中的簡報。"
[draw]
en-US = "Create and edit drawings, flow charts, and logos by using Draw."
-ast = "Crea y edita dibuxos, diagrames de fluxu y logos."
-ca = "Creeu i editeu dibuixos, diagrames de flux i logotips."
-da = "Opret og rediger tegninger, diagrammer og logoer."
-de = "Zeichnungen, Flussdiagramme und Logos erstellen und bearbeiten"
-el = "Δημιουργία και επεξεργασία σχεδιασμάτων, διαγραμμάτων ροής και λογοτύπων."
-es = "Cree y edite dibujos, diagramas de flujo y logotipos."
-fi = "Luo ja muokkaa piirroksia, vuokaavioita ja logoja."
-fr = "Créer et modifier des dessins, diagrammes et logos."
-gl = "Cree e modifique debuxos, diagramas de fluxo e logotipos."
-he = ".יצירה ועריכה של ציורים, תרשימי זרימה וסמלילים"
-hr = "Stvorite i uredite crteže, dijagrame toka i logotipove."
-hu = "Rajzok, folyamatábrák és logók létrehozása és szerkesztése"
-it = "Crea e modifica disegni, diagrammi di flusso e loghi."
-is = "Búa til og breyta teikningum, skýringamyndum og flæðiritum."
-ja = "ベクタ画像やフローチャート、ロゴを編集します。"
-nl = "Tekeningen, diagrammen en logo's maken."
-pt_BR = "Crie e edite desenho, fluxograma ou logos"
-ro = "Creați și editați desene, grafice și logouri. "
-ru = "Создание и редактирование рисунков, диаграмм и логотипов."
-sl = "Ustvarjajte in urejajte slike, diagrame poteka in logotipe."
-te = "చిత్రాలు,చిహ్నాలు(లోగో) మరియు ఫ్లో చార్టులు సృష్టి మరియు సవరణ"
-vi = "Tạo và sửa hình vẽ, sơ đồ và biểu tượng"
-zh_CN = "创建编辑图形、图表和标志。"
-zn_TW = "建立與編輯繪圖、流程圖與標誌。"
[calc]
en-US = "Perform calculations, analyze information and manage lists in spreadsheets by using Calc."
-ast = "Fai cálculos, analiza información y xestiona llistes en fueyes de cálculu."
-ca = "Executeu càlculs, analitzeu informació i gestioneu llistats en fulls de càlcul."
-da = "Udfør beregninger, analysér information og håndter lister i regneark."
-de = "Berechnungen ausführen, Informationen analysieren und Listen in Tabellen verwalten."
-el = "Εκτέλεση υπολογισμών, ανάλυση πληροφοριών και διαχείριση καταλόγων στα λογιστικά φύλλα"
-es = "Realice cálculos, analice información y gestione listas en hojas de cálculo."
-fi = "Tee laskelmia, käsittele tietoa ja hallitse luetteloita laskentataulukoissa."
-fr = "Réaliser des calculs, analyser les informations et gérer des listes avec des feuilles de calcul."
-gl = "Realice cálculos, analice información e administre listas en follas de cálculo."
-he = "ביצוע חישובים, ניתוח מידע וניהול רשימות בגיליונות אלקטרונים."
-hr = "Upravljajte izračunima i analizirajte informacije u proračunskim tablicama."
-hu = "Számítások végrehajtása, adatok elemzése és listák kezelése munkafüzetekben"
-it = "Esegue calcoli, analizza informazioni e gestisce elenchi in fogli di calcolo."
-is = "Framkvæma útreikninga, greina gögn og meðhöndla lista í töfluformi."
-ja = "シート上にある数値の集計や分析、シートの管理を行います。"
-nl = "Berekeningen maken, informatie analyseren en lijsten beheren in rekenbladen."
-pt_BR = "Realize cálculos, analise informação e gerencie listas em planilhas"
-ro = "Efectuați calcule, analizați informații și administrați liste în foi de calcul."
-ru = "Расчёты, анализ информации и управление списками с помощью электронных таблиц."
-sl = "Izvajajte izračune, analizirajte informacije in upravljajte sezname in preglednice."
-te = "స్ప్రెడ్ షీట్ లో లెక్కించు, వివరాలను విశ్లేషించు మరియు జాబితా నిర్వహించు "
-vi = "Tính toán, xử lý thông tin và quản lý danh sách trong tờ bảng tính"
-zh_CN = "在电子表格中计算、分析、管理信息。"
-zh_TW = "在試算表中進行計算、分析資訊,以及管理清單。"
[math]
en-US = "Create and edit scientific formulas and equations by using Math."
-ast = "Fai y edita fórmules científiques y ecuaciones."
-ca = "Creeu i editeu fórmules científiques i equacions."
-da = "Opret og redigér videnskabelige formler og ligninger."
-de = "Wissenschaftliche Formeln und Gleichungen erstellen und bearbeiten."
-el = "Δημιουργία και επεξεργασία επιστημονικών τύπων και εξισώσεων."
-es = "Cree y edite fórmulas científicas y ecuaciones."
-fi = "Luo ja muokkaa tieteellisiä kaavoja ja yhtälöitä."
-fr = "Créer et modifier des formules scientifiques et des équations."
-gl = "Cree e modifique fórmulas científicas e ecuacións."
-he = "יצירה ועריכה של נוסחות מדעיות ומשוואות."
-hr = "Stvorite i uredite znanstvene formule i jednadžbe."
-hu = "Képletek és egyenletek létrehozása és szerkesztése"
-it = "Crea e modifica formule scientifiche ed equazioni."
-is = "Búa til og breyta vísindaformúlum og jöfnum."
-ja = "数式や方程式を作成・編集します。"
-nl = "Wetenschappelijke formules en vergelijkingen maken."
-pt_BR = "Crie e edite fórmulas e equações científicas."
-ro = "Creați și editați formule științifice și ecuații."
-ru = "Создание и редактирование научных формул и уравнений."
-sl = "Ustvarjajte in urejajte znanstvene formule in enačbe."
-te = "శాస్త్ర సూత్రాలు మరియు సమీకరణాల సృష్టి మరియు సవరణ"
-vi = "Tạo và soạn công thức và phương trình khoa học"
-zh_CN = "创建编辑数学公式和方程"
-zh_TW = "建立與編輯科學公式與方程式"
-
[base]
en-US = "Manage databases, create queries and reports to track and manage your information by using Base."
-ast = "Xestiona bases de datos, fai consultes ya informes, sigui y xestiona la to información."
-ca = "Gestioneu bases de dades, creeu consultes i informes per fer un seguiment i gestionar la vostra informació."
-da = "Håndtér databaser, og opret forespørgsler og rapporter til at overvåge og administrere dine informationer."
-de = "Datenbanken verwalten, Abfragen und Berichte erstellen, um Ihre Daten zu überblicken und zu verwalten."
-el = "Διαχείριση βάσεων δεδομένων, δημιουργία ερωτημάτων και αναφορών για την παρακολούθηση και διαχείριση των πληροφοριών σας."
-es = "Gestione bases de datos, cree consultas e informes, siga y gestione su información."
-fi = "Hallitse tietokantoja, tee hakuja ja raportteja seurataksesi ja hallitaksesi tietoja."
-fr = "Gérer des bases de données, créer des requêtes et des rapports pour le suivi et l'analyse de vos données."
-gl = "Administre bases de datos, cree consultas e informes, siga e xestione a súa información."
-he = "ניהול מסדי נתונים, יצירת חקירות ודוחות על מנת לנהל את המידע שלכם ולעקוב אחריו."
-hr = "Upravljajte bazama podataka, definirajte upite i izvještaje za praćenje i upravljanje vašim informacijama."
-hu = "Adatbázisok kezelése, lekérdezések és jelentések készítése az információinak kezeléséhez"
-it = "Gestisce database, crea query e rapporti per tracciare e gestire le proprie informazioni."
-is = "Sýsla með gagnagrunna, búa til útfyllingarform og skýrslur, safna saman og vinna úr ýmiskonar gögnum."
-ja = "データベースの管理やクエリの作成、情報の追跡や管理した結果を報告します。"
-nl = "Databases beheren, query's en rapporten maken om uw informatie te beheren en op te zoeken."
-nn = "Handsam databaser og lag spørringar og rapportar for å gjera informasjonen oversiktleg"
-pt_BR = "Administre base de dados, crie consultas e relatórios para rastrear e gerenciar informação."
-ro = "Administrați baze de date, creați interogări și rapoarte pentru a urmări și administra informațiile proprii."
-ru = "Управление базами данных, создание запросов и отчётов для контролирования вашей информации."
-sl = "Upravljajte podatkovne zbirke, ustvarjajte poizvedbe in poročila za sledenje in upravljanje svojih podatkov."
-te = "మీ జాబితా మరియు వివరాలకోసం డాటాబేస్ నిర్వహణ మరియు ప్రశ్నలు, నివేదికల సృష్టి "
-vi = "Quản lý cơ sở dữ liệu, tạo lệnh tìm kiếm và báo cáo để theo dõi và quản lý thông tin của bạn."
-zh_CN = "管理数据库,创建查询和报告,跟踪和管理您的信息。"
-zh_TW = "管理資料庫、建立查詢與報告,以追蹤及管理您的資訊。"
-
[startcenter]
en-US = "The office productivity suite compatible to the open and standardized ODF document format. Supported by The Document Foundation."
-ast = "Suite de productividá d'oficina compatible con ODF, el formatu de documentos abiertu y estandarizáu. Col sofitu de la Document Foundation."
-ca = "Paquet ofimàtic compatible amb el format estàndard de documents ODF. Mantingut per la Document Foundation."
-da = "Office produktionspakken er kompatibel med det åbne og standardiseret ODF-dokumentformat. Understøttet af The Document Foundation."
-de = "Die zum offenen und standardisierten ODF-Format kompatible Sammlung von Büroanwendungen. Unterstützt durch »The Document Foundation«."
-es = "Suite de productividad para la oficina compatible con ODF, el formato de documentos abierto y estandarizado. Con el soporte de la Document Foundation."
-fi = "Avointa ja standardoitua ODF-asiakirjamuotoa tukeva toimisto-ohjelmisto. The Document Foundation -säätiön tukema."
-fr = "Suite bureautique compatible avec le format de document standard et ouvert ODF. Soutenue par The Document Foundation."
-gl = "A suite de produtividade de oficina compatíbel co formato aberto e estandarizado de documentos ODF. Co apoio da Document Foundation"
-he = "חבילת הפרודקטיביות המשרדית תואמת את פורמט המסמכים הפתוח והתקני ODF. נתמכת על ידי The Document Foundation."
-hr = "Paket uredskih aplikacija s podrškom za otvoren i standardiziran ODF format dokumenata. Podržan od strane Document fundacije."
-hu = "A nyílt és szabványos ODF formátummal kompatibilis irodai programcsomag a Document Foundation támogatásával"
-it = "La suite di produttività compatibile con il formato standard e aperto dei documenti ODF. Supportata dalla The Document Foundation."
-is = "Forritavöndull til hjálpar við vinnu við gagna- og textavinnslu, styðst við ODF sjalasniðið sem er staðlað og frjálst snið fyrir ýmiskonar skjöl. Stutt af Document Foundation."
-ja = "オープンで標準化されたODFドキュメントフォーマットに対応した生産性の高いオフィススイートです。The Document Foundationによってサポートされています。"
-nl = "Het kantoorpakket compatibel met ODF (het gestandaardiseerde Open Document Formaat). Ondersteund door The Document Foundation. "
-pt_BR = "Suíte de escritório produtiva, compatível com o formato aberto ODF. Suportado pela The Document Foundation."
-ro = "Suita de birou compatibilă cu formatul de document liber și standardizat ODF, cu asistență oferită de The Document Foundation."
-ru = "Офисный пакет, совместимый с открытым и стандартизованным форматом документов ODF. Поддерживается The Document Foundation."
-sl = "Pisarniška zbirka, združljiva z odprtim in standardiziranim zapisom ODF. Podpira jo The Document Foundation."
-te = "రహస్యాలు లేని మరియు ప్రామాణికమైన ODF కు అనుకూలమైన కార్యాలయ ఉత్పాదకత అనువర్తనాల సముదాయం, డాక్యుమెంట్ ఫౌండేషన్ తోడ్పాటుతో"
-vi = "Bộ văn phòng thích hợp với chuẩn đinh dạng tài liệu mở ODF, nhận được sự hỗ trợ từ Quỹ The Document Foundation"
-zh_CN = "兼容开放标准 ODF 的办公软件套装。由 The Document Foundation 支持。"
-zh_TW = "與開放且標準化的 ODF 文件格式相容的辦公生產力套裝軟體。由文件基金會提供支援。"
diff --git a/sysui/desktop/share/launcher_genericname.ulf b/sysui/desktop/share/launcher_genericname.ulf
index 902826c..ff8041a 100755
--- a/sysui/desktop/share/launcher_genericname.ulf
+++ b/sysui/desktop/share/launcher_genericname.ulf
@@ -1,190 +1,23 @@
[writer]
en-US = "Word Processor"
-ast = "Procesador de testos"
-ca = "Processador de texts"
-da = "Tekstbehandling"
-de = "Textverarbeitung"
-es = "Procesador de textos"
-fi = "Tekstinkäsittely"
-fr = "Traitement de texte"
-gl = "Procesador de texto"
-he = "מעבד תמלילים"
-hr = "Obrađivač teksta"
-hu = "Szövegszerkesztő"
-it = "Word processor"
-is = "Ritvinnsla"
-ja = "ワープロ"
-ku = "Bernameya nivîsê"
-nl = "Tekstverwerker"
-pt_BR = "Processador de texto"
-ro = "Procesor de documente"
-ru = "Редактор документов"
-sl = "Urejevalnik besedila"
-te = "పాఠ్య సవరణ"
-vi = "Soạn thảo văn bản"
-zh_CN = "文档编辑器"
-zh_TW = "文書處理器"
[impress]
en-US = "Presentation"
-ast = "Presentación"
-ca = "Presentació"
-da = "Præsentation"
-de = "Präsentationen"
-el = "Παρουσίαση"
-es = "Presentación"
-fi = "Esitys"
-fr = "Présentation"
-gl = "Presentación"
-he = "מצגות"
-hr = "Prezentacija"
-hu = "Bemutatókészítő"
-it = "Presentazione"
-is = "Skyggnusýning"
-ja = "プレゼンテーション"
-nl = "Presentatie"
-pt_BR = "Apresentação"
-ro = "Prezentări"
-ru = "Презентация"
-sl = "Predstavitev"
-vi = "Trình diễn"
-zh_CN = "演示文稿"
-zh_TW = "簡報"
[calc]
en-US = "Spreadsheet"
-ast = "Fueya de cálculu"
-ca = "Full de càlcul"
-da = "Regneark"
-de = "Tabellenkalkulation"
-el = "Λογιστικό φύλλο"
-es = "Hoja de cálculo"
-fi = "Taulukko"
-fr = "Feuille de calcul"
-gl = "Folla de cálculo"
-he = "גיליון אלקטרוני"
-hr = "Proračunske tablice"
-hu = "Táblázatkezelő"
-it = "Foglio di calcolo"
-is = "Töflureikniblað"
-ja = "表計算"
-nl = "Rekenblad"
-pt_BR = "Planilha"
-ro = "Foi de calcul"
-ru = "Электронные таблицы"
-sl = "Preglednica"
-te = "స్ప్రెడ్ షీట్"
-vi = "Tờ bảng tính"
-zh_CN = "电子表格"
-zh_TW = "試算表"
[base]
en-US = "Database Development"
-ast = "Desendolcu de bases de datos"
-ca = "Desenvolupament de bases de dades"
-da = "Databaseudvikling"
-de = "Datenbankentwicklung"
-el = "Ανάπτυξη βάσεων δεδομένων"
-es = "Desarrollo de bases de datos"
-fi = "Tietokanta"
-fr = "Développement de bases de données"
-gl = "Desenvolvemento de bases de datos"
-he = "פיתוח מסדי נתונים"
-hr = "Razvoj baza podataka"
-hu = "Adatbázis-fejlesztés"
-it = "Sviluppo database"
-is = "Hönnun gagnagrunna"
-ja = "データベース開発"
-nl = "Database-ontwikkeling"
-nn = "Databasehandsaming"
-pt_BR = "Desenvolvimento de base de dados"
-ro = "Dezvoltare baze de date"
-ru = "Разработка баз данных"
-sl = "Razvoj podatkovnih zbirk"
-te = "డాటాబేస్ అభివృద్ధి"
-vi = "Phát triển Cơ sở dữ liệu"
-zn_CN = "数据库开发"
-zh_TW = "資料庫開發"
[math]
en-US = "Formula Editor"
-ast = "Editor de fórmules"
-ca = "Editor de fórmules"
-da = "Formelredigering"
-de = "Formel-Editor"
-el = "Τύπος"
-es = "Editor de fórmulas"
-fi = "Kaavaeditori"
-fr = "Éditeur de formules"
-gl = "Editor de fórmulas"
-he = "עורך נוסחות"
-hr = "Uređivač jednadžbi"
-hu = "Képletszerkesztő"
-it = "Editor di formule"
-is = "Formúluritill"
-ja = "数式エディタ"
-nl = "Formule-editor"
-pt_BR = "Editor de fórmula"
-ro = "Editor de formule"
-ru = "Редактор формул"
-sl = "Urejevalnik formule"
-te = "సూత్ర సవరణి"
-vi = "Trình soạn công thức"
-zh_CN = "公式编辑器"
-zh_TW = "公式編輯器"
[draw]
en-US = "Drawing Program"
-ast = "Programa de dibuxu"
-ca = "Programa de dibuix"
-da = "Tegneprogram"
-de = "Zeichenprogramm"
-el = "Πρόγραμμα Σχεδίασης"
-es = "Programa de dibujo"
-fi = "Piirros"
-fr = "Logiciel de dessin"
-gl = "Programa de debuxo"
-he = "תוכנת ציור"
-hr = "Crtanje"
-hu = "Rajzoló"
-it = "Programma di disegno"
-is = "Teikniforrit"
-ja = "図形描画"
-nl = "Tekenprogramma"
-pt_BR = "Programa para desenho"
-ro = "Program de desensare "
-ru = "Программа для рисования"
-sl = "Program za risanje"
-te = "చిత్రలేఖన ప్రోగ్రామ్"
-vi = "Chương trình Vẽ"
-zh_CN = "绘图工具"
-zh_TW = "繪圖程式"
[startcenter]
en-US = "Office"
-ast = "Oficina"
-ca = "Oficina"
-da = "Kontor"
-de = "Büroanwendungen"
-es = "Oficina"
-fi = "Toimisto"
-fr = "Bureautique"
-gl = "Oficina"
-he = "אופיס"
-hr = "Ured"
-hu = "Iroda"
-it = "Office"
-is = "Skrifstofa"
-ja = "オフィス"
-nl = "Kantoor"
-pt_BR = "Escritório"
-ro = "Suită de birou"
-ru = "Офис"
-sl = "Pisarna"
-te = "కార్యాలయం"
-vi = "Bộ văn phòng"
-zh_CN = "办公"
-zh_TW = "辦公"
[javafilter]
en-US = "Small Device Format Importer"
--
1.7.7.3

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -1,25 +0,0 @@
--- /tmp/configure.in 2011-04-12 13:22:35.691633964 +0100
+++ configure.in 2011-04-12 13:29:44.603368227 +0100
@@ -6822,11 +6822,11 @@
qt_libdirs="$QT4LIB /usr/lib $x_libraries"
kde_incdirs="/usr/include $x_includes"
- kde_libdirs="/usr/lib $x_libraries"
+ kde_libdirs="/usr/lib /usr/lib/kde4 /usr/lib/kde4/devel $x_libraries"
if test "$host_cpu" = "x86_64" ; then
qt_libdirs="$qt_libdirs /usr/lib64/qt4 /usr/lib64/qt /usr/lib64"
- kde_libdirs="$kde_libdirs /usr/lib64 /usr/lib64/kde4"
+ kde_libdirs="$kde_libdirs /usr/lib64 /usr/lib64/kde4 /usr/lib64/kde4/devel"
fi
if test -n "$QTDIR" ; then
@@ -6855,7 +6855,7 @@
fi
fi
if test -n "$KDE4DIR" ; then
- kde_incdirs="$KDE4DIR/include $kde_incdirs"
+ kde_incdirs="$KDE4DIR/include $KDE4DIR/include/kde4 $kde_incdirs"
if test "$host_cpu" != "x86_64" ; then
kde_libdirs="$KDE4DIR/lib $kde_libdirs"
else

@ -1,7 +1,7 @@
--- a/solenv/bin/modules/installer/worker.pm 2010-11-20 13:36:38.000000000 +0000
+++ b/solenv/bin/modules/installer/worker.pm 2010-11-20 13:36:42.000000000 +0000
@@ -403,7 +403,6 @@
{
$installdir = installer::systemactions::create_directories("install", $languageref);
installer::logger::print_message( "... creating installation set in $installdir ...\n" );
- remove_old_installation_sets($installdir);

@ -1,14 +0,0 @@
diff --git a/writerfilter/source/resourcemodel/makefile.mk b/writerfilter/source/resourcemodel/makefile.mk
index 73e049f..2aba722 100644
--- a/writerfilter/source/resourcemodel/makefile.mk
+++ b/writerfilter/source/resourcemodel/makefile.mk
@@ -40,9 +40,6 @@ CDEFS+=-DWRITERFILTER_DLLIMPLEMENTATION
# --- Files --------------------------------------------------------
# work around gcc taking hours and/or OOM'ing on this file
-NOOPTFILES= \
- $(SLO)$/qnametostr.obj
-
SLOFILES= \
$(SLO)$/Fraction.obj \
$(SLO)$/LoggedResources.obj \

File diff suppressed because it is too large Load Diff

@ -38,8 +38,8 @@
# SAL_NO_XINITTHREADS=true; export SAL_NO_XINITTHREADS
# execute binary
-exec "$sd_prog/unopkg.bin" "$@" "$JVMFWKPARAMS" \
+"$sd_prog/unopkg.bin" "$@" "$JVMFWKPARAMS" \
-exec "$sd_prog/unopkg.bin" "$@" $JVMFWKPARAMS \
+"$sd_prog/unopkg.bin" "$@" $JVMFWKPARAMS \
"-env:INIFILENAME=vnd.sun.star.pathname:$sd_prog/redirectrc"
-
+if [ -n "$INSTDIR" ]; then

@ -1,33 +1,37 @@
Index: source/ui/inc/output.hxx
===================================================================
RCS file: /cvs/sc/sc/source/ui/inc/output.hxx,v
retrieving revision 1.19
diff -u -r1.19 output.hxx
--- openoffice.org.orig/sc/source/ui/inc/output.hxx 26 Jun 2007 11:50:45 -0000 1.19
+++ openoffice.org/sc/source/ui/inc/output.hxx 16 Apr 2008 12:05:59 -0000
@@ -303,6 +303,8 @@
void DrawExtraShadow(sal_Bool bLeft, sal_Bool bTop, sal_Bool bRight, sal_Bool bBottom);
void DrawFrame();
From 5316edea6948f3e2a77e4fc68799f67de21fada7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
Date: Mon, 5 Dec 2011 15:28:19 +0100
Subject: [PATCH] vertical content overflowing out of cell (#i88341#)
---
sc/source/ui/inc/output.hxx | 2 +
sc/source/ui/view/output2.cxx | 66 ++++++++++++++++++++++++++--------------
2 files changed, 45 insertions(+), 23 deletions(-)
diff --git a/sc/source/ui/inc/output.hxx b/sc/source/ui/inc/output.hxx
index 72934cf..3a91c14 100644
--- a/sc/source/ui/inc/output.hxx
+++ b/sc/source/ui/inc/output.hxx
@@ -306,6 +306,8 @@ public:
void DrawExtraShadow(sal_Bool bLeft, sal_Bool bTop, sal_Bool bRight, sal_Bool bBottom);
void DrawFrame();
+ bool UseNormalClip(SCROW nCellY, const SfxItemSet* pCondSet);
+
// with logic MapMode set!
void DrawEdit(sal_Bool bPixelToLogic);
void DrawEdit(sal_Bool bPixelToLogic);
Index: source/ui/view/output2.cxx
===================================================================
RCS file: /cvs/sc/sc/source/ui/view/output2.cxx,v
retrieving revision 1.54.216.1
diff -u -r1.54.216.1 output2.cxx
--- openoffice.org.orig/sc/source/ui/view/output2.cxx 18 Jan 2008 12:02:36 -0000 1.54.216.1
+++ openoffice.org/sc/source/ui/view/output2.cxx 16 Apr 2008 12:19:34 -0000
@@ -2819,13 +2819,7 @@
diff --git a/sc/source/ui/view/output2.cxx b/sc/source/ui/view/output2.cxx
index de1506a..5522e69 100644
--- a/sc/source/ui/view/output2.cxx
+++ b/sc/source/ui/view/output2.cxx
@@ -2818,13 +2818,7 @@ void ScOutputData::DrawEditStandard(DrawEditParam& rParam)
(ScMergeAttr*)&rParam.mpPattern->GetItem(ATTR_MERGE);
bool bMerged = pMerge->GetColMerge() > 1 || pMerge->GetRowMerge() > 1;
- // Don't clip for text height when printing rows with optimal height,
- // except when font size is from conditional formatting.
- //! Allow clipping when vertically merged?
- // Don't clip for text height when printing rows with optimal height,
- // except when font size is from conditional formatting.
- //! Allow clipping when vertically merged?
- if ( eType != OUTTYPE_PRINTER ||
- ( pDoc->GetRowFlags( rParam.mnCellY, nTab ) & CR_MANUALSIZE ) ||
- ( rParam.mpCondSet && SFX_ITEM_SET ==
@ -36,7 +40,7 @@ diff -u -r1.54.216.1 output2.cxx
bClip = true;
else
bSimClip = true;
@@ -2861,6 +2855,19 @@
@@ -2859,6 +2853,19 @@ void ScOutputData::DrawEditStandard(DrawEditParam& rParam)
}
Rectangle aLogicClip;
@ -56,13 +60,13 @@ diff -u -r1.54.216.1 output2.cxx
if (bClip || bSimClip)
{
// Clip marks are already handled in GetOutputArea
@@ -3357,13 +3364,8 @@
@@ -3191,13 +3198,8 @@ void ScOutputData::DrawEditBottomTop(DrawEditParam& rParam)
(ScMergeAttr*)&rParam.mpPattern->GetItem(ATTR_MERGE);
bool bMerged = pMerge->GetColMerge() > 1 || pMerge->GetRowMerge() > 1;
- // Don't clip for text height when printing rows with optimal height,
- // except when font size is from conditional formatting.
- //! Allow clipping when vertically merged?
- // Don't clip for text height when printing rows with optimal height,
- // except when font size is from conditional formatting.
- //! Allow clipping when vertically merged?
- if ( eType != OUTTYPE_PRINTER ||
- ( pDoc->GetRowFlags( rParam.mnCellY, nTab ) & CR_MANUALSIZE ) ||
- ( rParam.mpCondSet && SFX_ITEM_SET ==
@ -72,13 +76,13 @@ diff -u -r1.54.216.1 output2.cxx
bClip = true;
else
bSimClip = true;
@@ -3740,13 +3742,7 @@
@@ -3563,13 +3565,7 @@ void ScOutputData::DrawEditTopBottom(DrawEditParam& rParam)
(ScMergeAttr*)&rParam.mpPattern->GetItem(ATTR_MERGE);
bool bMerged = pMerge->GetColMerge() > 1 || pMerge->GetRowMerge() > 1;
- // Don't clip for text height when printing rows with optimal height,
- // except when font size is from conditional formatting.
- //! Allow clipping when vertically merged?
- // Don't clip for text height when printing rows with optimal height,
- // except when font size is from conditional formatting.
- //! Allow clipping when vertically merged?
- if ( eType != OUTTYPE_PRINTER ||
- ( pDoc->GetRowFlags( rParam.mnCellY, nTab ) & CR_MANUALSIZE ) ||
- ( rParam.mpCondSet && SFX_ITEM_SET ==
@ -87,8 +91,8 @@ diff -u -r1.54.216.1 output2.cxx
bClip = true;
else
bSimClip = true;
@@ -3880,6 +3876,20 @@
DrawEditStandard(rParam);
@@ -4460,6 +4456,20 @@ void ScOutputData::DrawEditAsianVertical(DrawEditParam& rParam)
rParam.adjustForHyperlinkInPDF(aURLStart, pDev);
}
+bool ScOutputData::UseNormalClip(SCROW nCellY, const SfxItemSet* pCondSet)
@ -108,10 +112,10 @@ diff -u -r1.54.216.1 output2.cxx
void ScOutputData::DrawEdit(sal_Bool bPixelToLogic)
{
ScFieldEditEngine* pEngine = NULL;
@@ -4622,11 +4632,21 @@
@@ -5168,11 +5178,21 @@ void ScOutputData::DrawRotated(sal_Bool bPixelToLogic)
else
{
// bei gedrehtem Text ist Standard zentriert
// bei gedrehtem Text ist Standard zentriert
+ long nDiff = 0;
if (eHorJust==SVX_HOR_JUSTIFY_RIGHT)
- aLogicStart.X() += nAvailWidth - nEngineWidth;
@ -132,3 +136,6 @@ diff -u -r1.54.216.1 output2.cxx
}
}
--
1.7.7.3

@ -1,8 +1,30 @@
Index: ucbhelper/source/client/content.cxx
===================================================================
--- ucbhelper/source/client/content.cxx (revision 270567)
+++ ucbhelper/source/client/content.cxx (working copy)
@@ -39,6 +39,7 @@
From 7e3bdb601c02e60b772e64ec9d11c56881c9a643 Mon Sep 17 00:00:00 2001
From: David Tardon <dtardon@redhat.com>
Date: Thu, 1 Dec 2011 14:02:07 +0100
Subject: [PATCH 1/2] #i101274 a directory on command line is silently ignored
---
.../source/misc/stillreadwriteinteraction.cxx | 1 +
ucbhelper/source/client/content.cxx | 75 ++++++++++++++++++++
2 files changed, 76 insertions(+), 0 deletions(-)
diff --git a/comphelper/source/misc/stillreadwriteinteraction.cxx b/comphelper/source/misc/stillreadwriteinteraction.cxx
index 124564d..506f31c 100644
--- a/comphelper/source/misc/stillreadwriteinteraction.cxx
+++ b/comphelper/source/misc/stillreadwriteinteraction.cxx
@@ -96,6 +96,7 @@ ucbhelper::InterceptedInteraction::EInterceptionState StillReadWriteInteraction:
bAbort = (
(exIO.Code == css::ucb::IOErrorCode_ACCESS_DENIED )
|| (exIO.Code == css::ucb::IOErrorCode_LOCKING_VIOLATION )
+ || (exIO.Code == css::ucb::IOErrorCode_NO_FILE )
|| (exIO.Code == css::ucb::IOErrorCode_NOT_EXISTING )
#ifdef MACOSX
// this is a workaround for MAC, on this platform if the file is locked
diff --git a/ucbhelper/source/client/content.cxx b/ucbhelper/source/client/content.cxx
index 676acd5..4a599c9 100644
--- a/ucbhelper/source/client/content.cxx
+++ b/ucbhelper/source/client/content.cxx
@@ -38,6 +38,7 @@
#include <cppuhelper/weak.hxx>
#include <cppuhelper/implbase1.hxx>
@ -10,7 +32,7 @@ Index: ucbhelper/source/client/content.cxx
#include <com/sun/star/ucb/ContentCreationError.hpp>
#include <com/sun/star/ucb/XCommandEnvironment.hpp>
#include <com/sun/star/ucb/XCommandInfo.hpp>
@@ -48,6 +49,8 @@
@@ -47,6 +48,8 @@
#include <com/sun/star/ucb/ContentAction.hpp>
#include <com/sun/star/ucb/OpenCommandArgument2.hpp>
#include <com/sun/star/ucb/InsertCommandArgument.hpp>
@ -19,7 +41,7 @@ Index: ucbhelper/source/client/content.cxx
#include <com/sun/star/ucb/GlobalTransferCommandArgument.hpp>
#include <com/sun/star/ucb/NameClash.hpp>
#include <com/sun/star/ucb/OpenMode.hpp>
@@ -65,6 +68,8 @@
@@ -64,6 +67,8 @@
#include <com/sun/star/sdbc/XRow.hpp>
#include <com/sun/star/lang/IllegalArgumentException.hpp>
#include <com/sun/star/beans/UnknownPropertyException.hpp>
@ -28,7 +50,7 @@ Index: ucbhelper/source/client/content.cxx
#include <ucbhelper/macros.hxx>
#include <ucbhelper/content.hxx>
#include <ucbhelper/contentbroker.hxx>
@@ -72,6 +77,10 @@
@@ -71,6 +76,10 @@
#include <ucbhelper/activedatastreamer.hxx>
#include <ucbhelper/interactionrequest.hxx>
#include <ucbhelper/cancelcommandexecution.hxx>
@ -39,7 +61,7 @@ Index: ucbhelper/source/client/content.cxx
using namespace com::sun::star::container;
using namespace com::sun::star::beans;
@@ -375,6 +384,54 @@
@@ -373,6 +382,54 @@ static Reference< XContent > getContent(
return Reference< XContent >();
}
@ -94,7 +116,7 @@ Index: ucbhelper/source/client/content.cxx
//=========================================================================
//=========================================================================
//
@@ -1186,7 +1243,10 @@
@@ -890,7 +947,10 @@ Reference< XInputStream > Content::openStream()
throw( CommandAbortedException, RuntimeException, Exception )
{
if ( !isDocument() )
@ -105,7 +127,7 @@ Index: ucbhelper/source/client/content.cxx
Reference< XActiveDataSink > xSink = new ActiveDataSink;
@@ -1211,7 +1271,10 @@
@@ -915,7 +975,10 @@ Reference< XInputStream > Content::openStreamNoLock()
throw( CommandAbortedException, RuntimeException, Exception )
{
if ( !isDocument() )
@ -116,7 +138,7 @@ Index: ucbhelper/source/client/content.cxx
Reference< XActiveDataSink > xSink = new ActiveDataSink;
@@ -1236,7 +1299,10 @@
@@ -940,7 +1003,10 @@ Reference< XStream > Content::openWriteableStream()
throw( CommandAbortedException, RuntimeException, Exception )
{
if ( !isDocument() )
@ -127,7 +149,7 @@ Index: ucbhelper/source/client/content.cxx
Reference< XActiveDataStreamer > xStreamer = new ActiveDataStreamer;
@@ -1261,7 +1327,10 @@
@@ -965,7 +1031,10 @@ Reference< XStream > Content::openWriteableStreamNoLock()
throw( CommandAbortedException, RuntimeException, Exception )
{
if ( !isDocument() )
@ -138,7 +160,7 @@ Index: ucbhelper/source/client/content.cxx
Reference< XActiveDataStreamer > xStreamer = new ActiveDataStreamer;
@@ -1286,7 +1355,10 @@
@@ -990,7 +1059,10 @@ sal_Bool Content::openStream( const Reference< XActiveDataSink >& rSink )
throw( CommandAbortedException, RuntimeException, Exception )
{
if ( !isDocument() )
@ -149,7 +171,7 @@ Index: ucbhelper/source/client/content.cxx
OpenCommandArgument2 aArg;
aArg.Mode = OpenMode::DOCUMENT;
@@ -1309,7 +1381,10 @@
@@ -1013,7 +1085,10 @@ sal_Bool Content::openStream( const Reference< XOutputStream >& rStream )
throw( CommandAbortedException, RuntimeException, Exception )
{
if ( !isDocument() )
@ -160,15 +182,6 @@ Index: ucbhelper/source/client/content.cxx
OpenCommandArgument2 aArg;
aArg.Mode = OpenMode::DOCUMENT;
Index: comphelper/source/misc/mediadescriptor.cxx
===================================================================
--- comphelper/source/misc/stillreadwriteinteraction.cxx 2010-07-06 15:32:02.000000000 +0100
+++ comphelper/source/misc/stillreadwriteinteraction.cxx 2010-07-06 15:32:31.000000000 +0100
@@ -103,6 +103,7 @@
bAbort = (
(exIO.Code == css::ucb::IOErrorCode_ACCESS_DENIED )
|| (exIO.Code == css::ucb::IOErrorCode_LOCKING_VIOLATION )
+ || (exIO.Code == css::ucb::IOErrorCode_NO_FILE )
|| (exIO.Code == css::ucb::IOErrorCode_NOT_EXISTING )
#ifdef MACOSX
// this is a workaround for MAC, on this platform if the file is locked
--
1.7.7.3

@ -1,7 +1,18 @@
diff -ru vcl.orig/unx/source/fontmanager/fontconfig.cxx vcl/unx/source/fontmanager/fontconfig.cxx
--- vcl.orig/unx/source/fontmanager/fontconfig.cxx 2009-10-08 13:25:00.000000000 +0100
+++ vcl/unx/source/fontmanager/fontconfig.cxx 2009-10-08 13:51:51.000000000 +0100
@@ -92,6 +92,9 @@
From 36644331aad8382ccab7fb19d7ab3339bbff0c20 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
Date: Thu, 1 Dec 2011 14:18:09 +0100
Subject: [PATCH 2/2] #i105784# vcl: improve selection of fallback font by
supplying language hint when none exists
---
vcl/generic/fontmanager/fontconfig.cxx | 143 +++++++++++++++++++++++++++++++-
1 files changed, 141 insertions(+), 2 deletions(-)
diff --git a/vcl/generic/fontmanager/fontconfig.cxx b/vcl/generic/fontmanager/fontconfig.cxx
index 4d02a76..ecd3b5d 100644
--- a/vcl/generic/fontmanager/fontconfig.cxx
+++ b/vcl/generic/fontmanager/fontconfig.cxx
@@ -89,6 +89,9 @@ using namespace psp;
#include "sal/alloca.h"
@ -11,7 +22,7 @@ diff -ru vcl.orig/unx/source/fontmanager/fontconfig.cxx vcl/unx/source/fontmanag
#include <utility>
#include <algorithm>
@@ -1108,6 +1111,138 @@
@@ -747,6 +750,138 @@ static void addtopattern(FcPattern *pPattern,
}
}
@ -147,50 +158,42 @@ diff -ru vcl.orig/unx/source/fontmanager/fontconfig.cxx vcl/unx/source/fontmanag
+ return NULL;
+}
+
rtl::OUString PrintFontManager::Substitute(const rtl::OUString& rFontName,
rtl::OUString& rMissingCodes, const rtl::OString &rLangAttrib,
italic::type &rItalic, weight::type &rWeight,
@@ -1128,14 +1263,13 @@
const FcChar8* pTargetNameUtf8 = (FcChar8*)aTargetName.getStr();
rWrapper.FcPatternAddString( pPattern, FC_FAMILY, pTargetNameUtf8 );
bool PrintFontManager::Substitute( FontSelectPattern &rPattern, rtl::OUString& rMissingCodes ) const
{
bool bRet = false;
@@ -764,14 +899,13 @@ bool PrintFontManager::Substitute( FontSelectPattern &rPattern, rtl::OUString& r
FcPatternAddString(pPattern, FC_FAMILY, pTargetNameUtf8);
const rtl::OString aLangAttrib = MsLangId::convertLanguageToIsoByteString(rPattern.meLanguage);
+ const FcChar8* pLangAttribUtf8 = NULL;
if( rLangAttrib.getLength() )
if( aLangAttrib.getLength() )
{
- const FcChar8* pLangAttribUtf8;
if (rLangAttrib.equalsIgnoreAsciiCase(OString(RTL_CONSTASCII_STRINGPARAM("pa-in"))))
if (aLangAttrib.equalsIgnoreAsciiCase(OString(RTL_CONSTASCII_STRINGPARAM("pa-in"))))
pLangAttribUtf8 = (FcChar8*)"pa";
else
pLangAttribUtf8 = (FcChar8*)rLangAttrib.getStr();
- rWrapper.FcPatternAddString( pPattern, FC_LANG, pLangAttribUtf8 );
pLangAttribUtf8 = (FcChar8*)aLangAttrib.getStr();
- FcPatternAddString(pPattern, FC_LANG, pLangAttribUtf8);
}
// Add required Unicode characters, if any
@@ -1147,11 +1281,16 @@
@@ -783,11 +917,16 @@ bool PrintFontManager::Substitute( FontSelectPattern &rPattern, rtl::OUString& r
// also handle unicode surrogates
const sal_uInt32 nCode = rMissingCodes.iterateCodePoints( &nStrIndex );
rWrapper.FcCharSetAddChar( unicodes, nCode );
FcCharSetAddChar( unicodes, nCode );
+ if (!pLangAttribUtf8)
+ pLangAttribUtf8 = (const FcChar8*)pick_sample_language(nCode);
}
rWrapper.FcPatternAddCharSet( pPattern, FC_CHARSET, unicodes);
rWrapper.FcCharSetDestroy( unicodes );
FcPatternAddCharSet(pPattern, FC_CHARSET, unicodes);
FcCharSetDestroy(unicodes);
}
+ if( pLangAttribUtf8 )
+ rWrapper.FcPatternAddString( pPattern, FC_LANG, pLangAttribUtf8 );
+ FcPatternAddString( pPattern, FC_LANG, pLangAttribUtf8 );
+
addtopattern(rWrapper, pPattern, rItalic, rWeight, rWidth, rPitch);
addtopattern(pPattern, rPattern.meItalic, rPattern.meWeight,
rPattern.meWidthType, rPattern.mePitch);
// query fontconfig for a substitute
diff -ru vcl.orig/util/makefile.mk vcl/util/makefile.mk
--- vcl.orig/util/makefile.mk 2009-10-08 13:25:00.000000000 +0100
+++ vcl/util/makefile.mk 2009-10-08 13:25:09.000000000 +0100
@@ -298,6 +298,7 @@
# libs for generic plugin
SHL2STDLIBS=\
$(VCLLIB)\
+ $(I18NUTILLIB) \
$(I18NPAPERLIB) \
$(I18NISOLANGLIB) \
$(TOOLSLIB) \
--
1.7.7.3

@ -1,41 +0,0 @@
diff -r 3c24aa9a7810 sfx2/source/doc/guisaveas.cxx
--- a/sfx2/source/doc/guisaveas.cxx Sat Jan 23 16:31:03 2010 +0000
+++ b/sfx2/source/doc/guisaveas.cxx Sun Jan 24 17:16:37 2010 +0000
@@ -231,7 +231,7 @@
sal_Bool bSetStandardName,
::rtl::OUString& aSuggestedName,
sal_Bool bPreselectPassword,
- const ::rtl::OUString& aSuggestedDir,
+ ::rtl::OUString& aSuggestedDir,
sal_Int16 nDialog,
const ::rtl::OUString& rStandardDir,
const ::com::sun::star::uno::Sequence< ::rtl::OUString >& rBlackList
@@ -731,7 +731,7 @@
sal_Bool bSetStandardName,
::rtl::OUString& aSuggestedName,
sal_Bool bPreselectPassword,
- const ::rtl::OUString& aSuggestedDir,
+ ::rtl::OUString& aSuggestedDir,
sal_Int16 nDialog,
const ::rtl::OUString& rStandardDir,
const ::com::sun::star::uno::Sequence< ::rtl::OUString >& rBlackList)
@@ -927,6 +927,7 @@
INetURLObject aURL( pFileDlg->GetPath() );
// the path should be provided outside since it might be used for further calls to the dialog
aSuggestedName = aURL.GetName( INetURLObject::DECODE_WITH_CHARSET );
+ aSuggestedDir = pFileDlg->GetDisplayDirectory();
// old filter options should be cleared in case different filter is used
@@ -1412,10 +1413,8 @@
sal_Bool bExit = sal_False;
while ( !bExit )
{
+ // in case the dialog is opened a second time the folder should be the same as previously navigated to by the user, not what was handed over by initial parameters
bUseFilterOptions = aModelData.OutputFileDialog( nStoreMode, aFilterProps, bSetStandardName, aSuggestedName, bPreselectPassword, aSuggestedDir, nDialog, sStandardDir, aBlackList );
-
- // in case the dialog is opend a second time the folder should be the same as before, not what was handed over by parameters
- aSuggestedDir = ::rtl::OUString();
if ( nStoreMode == SAVEAS_REQUESTED )
{
// in case of saving check filter for possible alien warning

@ -1,55 +0,0 @@
diff -ru desktop.orig/source/deployment/misc/dp_misc.cxx desktop/source/deployment/misc/dp_misc.cxx
--- desktop.orig/source/deployment/misc/dp_misc.cxx 2010-07-20 08:31:24.000000000 +0100
+++ desktop/source/deployment/misc/dp_misc.cxx 2010-07-20 09:12:23.000000000 +0100
@@ -143,6 +143,23 @@
return pipe.is();
}
+//get modification time
+static bool getModifyTimeTargetFile(const OUString &rFileURL, TimeValue &rTime)
+{
+ ::osl::DirectoryItem item;
+ if (::osl::DirectoryItem::get(rFileURL, item) != ::osl::File::E_None)
+ return false;
+
+ ::osl::FileStatus stat(FileStatusMask_ModifyTime|FileStatusMask_Type|FileStatusMask_LinkTargetURL);
+ if (item.getFileStatus(stat) != ::osl::File::E_None)
+ return false;
+
+ if( stat.getFileType() == ::osl::FileStatus::Link )
+ return getModifyTimeTargetFile(stat.getLinkTargetURL(), rTime);
+
+ rTime = stat.getModifyTime();
+ return true;
+}
//Returns true if the Folder was more recently modified then
//the lastsynchronized file. That is the repository needs to
@@ -181,15 +198,12 @@
//compare the modification time of the extension folder and the last
//modified file
- ::osl::FileStatus statFolder(FileStatusMask_ModifyTime);
- ::osl::FileStatus statFile(FileStatusMask_ModifyTime);
- if (itemExtFolder.getFileStatus(statFolder) == ::osl::File::E_None)
+ TimeValue timeFolder;
+ if (getModifyTimeTargetFile(folderURL, timeFolder))
{
- if (itemFile.getFileStatus(statFile) == ::osl::File::E_None)
+ TimeValue timeFile;
+ if (getModifyTimeTargetFile(fileURL, timeFile))
{
- TimeValue timeFolder = statFolder.getModifyTime();
- TimeValue timeFile = statFile.getModifyTime();
-
if (timeFile.Seconds < timeFolder.Seconds)
bNeedsSync = true;
}
@@ -204,6 +218,7 @@
OSL_ASSERT(0);
bNeedsSync = true;
}
+
return bNeedsSync;
}

@ -1,34 +1,21 @@
185d60944ea767075d27247c3162b3bc 185d60944ea767075d27247c3162b3bc-unowinreg.dll
0ff7d225d087793c8c2c680d77aac3e7 0ff7d225d087793c8c2c680d77aac3e7-mdds_0.5.3.tar.bz2
067201ea8b126597670b5eff72e1f66c 067201ea8b126597670b5eff72e1f66c-mythes-1.2.0.tar.gz
fdb27bfe2dbe2e7b57ae194d9bf36bab fdb27bfe2dbe2e7b57ae194d9bf36bab-SampleICC-1.3.2.tar.gz
a7983f859eafb2677d7ff386a023bc40 a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip
1f24ab1d39f4a51faf22244c94a6203f 1f24ab1d39f4a51faf22244c94a6203f-xmlsec1-1.2.14.tar.gz
cbd39b7a741c1b6bfa9ca153496c3d13 libreoffice-core-3.4.99.1.tar.bz2
1fbefad872975a71837da4b3ebbcf31c libreoffice-binfilter-3.4.99.1.tar.bz2
798b2ffdc8bcfe7bca2cf92b62caf685 798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip
35c94d2df8893241173de1d16b6034c0 35c94d2df8893241173de1d16b6034c0-swingExSrc.zip
ada24d37d8d638b3d8a9985e80bc2978 ada24d37d8d638b3d8a9985e80bc2978-source-9.0.0.7-bj.zip
18f577b374d60b3c760a3a3350407632 18f577b374d60b3c760a3a3350407632-STLport-4.5.tar.gz
17410483b5b5f267aa18b7e00b65e6e0 17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip
b4cae0700aa1c2aef7eb7f345365e6f1 b4cae0700aa1c2aef7eb7f345365e6f1-translate-toolkit-1.8.1.tar.bz2
03c019658ec49050c8103ba0f10b5067 redhat-langpacks.tar.gz
f447fd4ffe54aab9561c6caa262754b3 libreoffice-calc-3.4.4.2.tar.bz2
a8b25a0bf696fd126a08319d88998492 a8b25a0bf696fd126a08319d88998492-libvisio-0.0.11.tar.bz2
e1c178b18f130b40494561f02bc1a948 e1c178b18f130b40494561f02bc1a948-libexttextcat-3.2.0.tar.bz2
379ddf3008e76f338e0973adc375340d libreoffice-help-3.4.99.1.tar.bz2
7c2549f6b0a8bb604e6c4c729ffdcfe6 7c2549f6b0a8bb604e6c4c729ffdcfe6-libcmis-0.1.0.tar.gz
0981bda6548a8c8233ffce2b6e4b2a23 0981bda6548a8c8233ffce2b6e4b2a23-mysql-connector-c++-1.1.0.tar.gz
cc8eb870d6a324d36575420efd856319 cc8eb870d6a324d36575420efd856319-libcdr-0.0.0.tar.bz2
f08b4a6ec456e8c4f1e06acf51d1def4 libreoffice-translations-3.4.99.1.tar.bz2
185d60944ea767075d27247c3162b3bc 185d60944ea767075d27247c3162b3bc-unowinreg.dll
c1b5b8d1dd929a1261a6f8872d92b799 redhat-langpacks.tar.gz
74939c9ea525374776f09bf972ede99f libreoffice-multiliblauncher.sh
97fe698737a35c8803712d4e08007620 libreoffice-components-3.4.4.2.tar.bz2
acff44d97a5106d9b53c747dabeb0800 libreoffice-extensions-3.4.4.2.tar.bz2
620d43a0b9f36388f423e030513864ef libreoffice-extras-3.4.4.2.tar.bz2
4c5b1ed870363eca2602f0cb42a8415a libreoffice-filters-3.4.4.2.tar.bz2
702c6ca31525d7d2c2ded86c77b0bd2e libreoffice-help-3.4.4.2.tar.bz2
ac9b3acf78f43c1395d0e2dedc860f30 libreoffice-impress-3.4.4.2.tar.bz2
be8b13f83045f0a53b69fe76d6d72e9c libreoffice-artwork-3.4.4.2.tar.bz2
db423cbb1cee416b718138044a5de930 libreoffice-base-3.4.4.2.tar.bz2
d8d2c41cb86bc8ba2a07e001a5317abb libreoffice-libs-core-3.4.4.2.tar.bz2
4d4af2fc06dbe33ec2307df812f7abe1 libreoffice-libs-extern-3.4.4.2.tar.bz2
1398a566eb76598bf3005e187fc2386c libreoffice-libs-extern-sys-3.4.4.2.tar.bz2
dd962d2d57f88b9e07e665adad3cabbc libreoffice-libs-gui-3.4.4.2.tar.bz2
fff0fc9cd16ef1eb2b2ed5d0a6e77f95 libreoffice-postprocess-3.4.4.2.tar.bz2
e54d41d39e63d04ac4a88ce79e37af98 libreoffice-sdk-3.4.4.2.tar.bz2
dbc71403040f447683bf55d1f0be3cad libreoffice-testing-3.4.4.2.tar.bz2
69ce5b72f44b008d0e78767c5b1dbf39 libreoffice-ure-3.4.4.2.tar.bz2
34a2e8ae6b81a042966740263c53e135 libreoffice-writer-3.4.4.2.tar.bz2
882e7035b77c63b8aa6fd0039f3075c0 libreoffice-translations-3.4.4.2.tar.bz2
31944d2139d6d81ef1131bd513530621 libreoffice-bootstrap-3.4.4.2.tar.bz2
fdb27bfe2dbe2e7b57ae194d9bf36bab fdb27bfe2dbe2e7b57ae194d9bf36bab-SampleICC-1.3.2.tar.gz
a7983f859eafb2677d7ff386a023bc40 a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip
1f24ab1d39f4a51faf22244c94a6203f 1f24ab1d39f4a51faf22244c94a6203f-xmlsec1-1.2.14.tar.gz

@ -1,33 +0,0 @@
--- vbahelper/inc/vbahelper/vbacollectionimpl.hxx 2011-01-28 20:27:51.507604173 +0000
+++ vbahelper/inc/vbahelper/vbacollectionimpl.hxx 2011-01-28 20:28:26.230045727 +0000
@@ -238,7 +238,7 @@
// including a HelperInterface implementation
template< typename Ifc1 >
-class ScVbaCollectionBase : public InheritedHelperInterfaceImpl< Ifc1 >
+class VBAHELPER_DLLPUBLIC ScVbaCollectionBase : public InheritedHelperInterfaceImpl< Ifc1 >
{
typedef InheritedHelperInterfaceImpl< Ifc1 > BaseColBase;
protected:
--- sc/Library_vbaobj.mk
+++ sc/Library_vbaobj.mk
@@ -118,7 +118,6 @@ $(eval $(call gb_Library_add_exception_objects,vbaobj,\
sc/source/ui/vba/vbaquerytable \
sc/source/ui/vba/vbarange \
sc/source/ui/vba/vbasheetobject \
- sc/source/ui/vba/vbasheetobjects \
sc/source/ui/vba/vbastyle \
sc/source/ui/vba/vbastyles \
sc/source/ui/vba/vbatextboxshape \
@@ -133,6 +132,11 @@ $(eval $(call gb_Library_add_exception_objects,vbaobj,\
sc/source/ui/vba/vbawsfunction \
))
+$(eval $(call gb_Library_add_cxxobjects,vbaobj,\
+ sc/source/ui/vba/vbasheetobjects \
+ , $(gb_COMPILERNOOPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) \
+))
+
ifneq (,$(filter LINUX DRAGONFLY OPENBSD FREEBSD NETBSD, $(OS)))
$(eval $(call gb_Library_set_ldflags,vbaobj,\
$$(LDFLAGS) \
Loading…
Cancel
Save