parent
1f1ffc6376
commit
a881c9f5b2
@ -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,48 +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
|
||||
|
@ -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
|
@ -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
|
||||
|
@ -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
|
||||
|
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,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 \
|
@ -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,20 @@
|
||||
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
|
||||
bf6ce92d8d69f1dec4836a7249e10436 libreoffice-core-3.5.0.0.tar.bz2
|
||||
346304e8699ca8d8d642072bff79909d libreoffice-binfilter-3.5.0.0.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
|
||||
a0b19441245d7627c299d7014d110b32 libreoffice-help-3.5.0.0.tar.bz2
|
||||
7c2549f6b0a8bb604e6c4c729ffdcfe6 7c2549f6b0a8bb604e6c4c729ffdcfe6-libcmis-0.1.0.tar.gz
|
||||
0981bda6548a8c8233ffce2b6e4b2a23 0981bda6548a8c8233ffce2b6e4b2a23-mysql-connector-c++-1.1.0.tar.gz
|
||||
b9dee0572120c87906ed6e2fb4696b69 libreoffice-translations-3.5.0.0.tar.bz2
|
||||
185d60944ea767075d27247c3162b3bc 185d60944ea767075d27247c3162b3bc-unowinreg.dll
|
||||
1531d95e2d359f7fc2295f1b5d2a23cb 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…
Reference in new issue