[Libreoffice-commits] .: Branch 'libreoffice-3-4' - 9 commits -
Petr Mladek
pmladek at kemper.freedesktop.org
Wed Apr 6 05:13:30 PDT 2011
0 files changed
New commits:
commit 474e9373e4627b41336c8a224a7dd119603babbb
Merge: ee22055... b59804d...
Author: Petr Mladek <pmladek at suse.cz>
Date: Tue Apr 5 19:36:50 2011 +0200
Merge remote-tracking branch 'origin/libreoffice-3-3' into libreoffice-3-4
Conflicts:
sw/source/core/docnode/nodes.cxx
sw/source/filter/ww8/rtfexport.hxx
commit b59804d94e107c5227532aa3511d4fad1dd15436
Author: Caolán McNamara <caolanm at redhat.com>
Date: Fri Mar 18 17:47:27 2011 +0100
Related: fdo#32553/fdo#31792 nsure correct odt mimetype and pdf export filter
Signed-off-by: Petr Mladek <pmladek at suse.cz>
diff --git a/sw/source/ui/dbui/mmoutputpage.cxx b/sw/source/ui/dbui/mmoutputpage.cxx
index f6d0409..2b6c5fe 100644
--- a/sw/source/ui/dbui/mmoutputpage.cxx
+++ b/sw/source/ui/dbui/mmoutputpage.cxx
@@ -1043,7 +1043,6 @@ IMPL_LINK(SwMailMergeOutputPage, SendDocumentsHdl_Impl, PushButton*, pButton)
nEnd = rConfigItem.GetMergedDocumentCount();
}
bool bAsBody = false;
- bool bIsPDF = false;
rtl_TextEncoding eEncoding = ::gsl_getSystemTextEncoding();
SfxFilterContainer* pFilterContainer = SwDocShell::Factory().GetFilterContainer();
const SfxFilter *pSfxFlt = 0;
@@ -1051,8 +1050,22 @@ IMPL_LINK(SwMailMergeOutputPage, SendDocumentsHdl_Impl, PushButton*, pButton)
String sExtension = lcl_GetExtensionForDocType(nDocType);
switch( nDocType )
{
- case MM_DOCTYPE_OOO : break;
- case MM_DOCTYPE_PDF : bIsPDF = true; break;
+ case MM_DOCTYPE_OOO:
+ {
+ //Make sure we don't pick e.g. the flat xml filter
+ //for this format
+ pSfxFlt = SwIoSystem::GetFilterOfFormat(
+ String::CreateFromAscii( FILTER_XML ),
+ SwDocShell::Factory().GetFilterContainer() );
+ }
+ break;
+ case MM_DOCTYPE_PDF:
+ {
+ pSfxFlt = pFilterContainer->GetFilter4FilterName(
+ ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("writer_pdf_Export")),
+ SFX_FILTER_EXPORT);
+ }
+ break;
case MM_DOCTYPE_WORD:
{
//the method SwIOSystemGetFilterOfFormat( ) returns the template filter
@@ -1195,14 +1208,6 @@ IMPL_LINK(SwMailMergeOutputPage, SendDocumentsHdl_Impl, PushButton*, pButton)
INetURLObject(), utl::TempFile::CreateTempName(0),
URIHelper::GetMaybeFileHdl()) );
-/* if(bIsPDF)
- {
- SfxDispatcher* pSfxDispatcher = pTempView->GetViewFrame()->GetDispatcher();
- pSfxDispatcher->Execute(
- SID_DIRECTEXPORTDOCASPDF,
- SFX_CALLMODE_SYNCHRON, &aName, &aFilterName, 0L );
- }
- else*/
{
uno::Sequence< beans::PropertyValue > aFilterValues(MM_DOCTYPE_TEXT == nDocType ? 2 : 1);
beans::PropertyValue* pFilterValues = aFilterValues.getArray();
commit d1234b1bcd542b4ce523b6be76e7491afdce4de8
Author: Caolán McNamara <caolanm at redhat.com>
Date: Fri Mar 18 12:29:41 2011 +0000
Resolves: fdo#32553 freeze/hang on mailmerge to attached pdf
Signed-off-by: Petr Mladek <pmladek at suse.cz>
diff --git a/sw/source/core/docnode/nodes.cxx b/sw/source/core/docnode/nodes.cxx
index e47a094..b44c285 100644
--- a/sw/source/core/docnode/nodes.cxx
+++ b/sw/source/core/docnode/nodes.cxx
@@ -2108,9 +2108,13 @@ void SwNodes::_CopyNodes( const SwNodeRange& rRange,
pDoc->GetNodes().GetEndOfInserts().StartOfSectionIndex()
< aInsPos.GetIndex() )
{
- nNodeCnt -=
+ ULONG nDistance =
( pAktNode->EndOfSectionIndex() -
aRg.aStart.GetIndex() );
+ if (nDistance < nNodeCnt)
+ nNodeCnt -= nDistance;
+ else
+ nNodeCnt = 1;
// dann alle Nodes der Tabelle in die akt. Zelle kopieren
// fuer den TabellenNode einen DummyNode einfuegen?
@@ -2145,7 +2149,11 @@ void SwNodes::_CopyNodes( const SwNodeRange& rRange,
SwNodeIndex nStt( aInsPos, -1 );
SwTableNode* pTblNd = ((SwTableNode*)pAktNode)->
MakeCopy( pDoc, aInsPos );
- nNodeCnt -= aInsPos.GetIndex() - nStt.GetIndex() -2;
+ ULONG nDistance = aInsPos.GetIndex() - nStt.GetIndex() - 2;
+ if (nDistance < nNodeCnt)
+ nNodeCnt -= nDistance;
+ else
+ nNodeCnt = 1;
aRg.aStart = pAktNode->EndOfSectionIndex();
@@ -2169,7 +2177,11 @@ void SwNodes::_CopyNodes( const SwNodeRange& rRange,
SwSectionNode* pSectNd = ((SwSectionNode*)pAktNode)->
MakeCopy( pDoc, aInsPos );
- nNodeCnt -= aInsPos.GetIndex() - nStt.GetIndex() -2;
+ ULONG nDistance = aInsPos.GetIndex() - nStt.GetIndex() - 2;
+ if (nDistance < nNodeCnt)
+ nNodeCnt -= nDistance;
+ else
+ nNodeCnt = 1;
aRg.aStart = pAktNode->EndOfSectionIndex();
if( bNewFrms && pSectNd &&
commit 5974be757044982b8f510c5fc642e8e03ae62c74
Author: Cédric Bosdonnat <cedricbosdo at openoffice.org>
Date: Tue Mar 8 16:32:57 2011 +0100
n#663622: Fix the positions of imported fields to avoid crashes
Signed-off-by: Petr Mladek <pmladek at suse.cz>
diff --git a/sw/source/core/crsr/bookmrk.cxx b/sw/source/core/crsr/bookmrk.cxx
index 1f9f14a..3989ac5 100644
--- a/sw/source/core/crsr/bookmrk.cxx
+++ b/sw/source/core/crsr/bookmrk.cxx
@@ -83,7 +83,7 @@ namespace
SwTxtNode const * const pStartTxtNode = io_pDoc->GetNodes()[rStart.nNode]->GetTxtNode();
SwTxtNode const * const pEndTxtNode = io_pDoc->GetNodes()[rEnd.nNode]->GetTxtNode();
const sal_Unicode ch_start=pStartTxtNode->GetTxt().GetChar(rStart.nContent.GetIndex());
- xub_StrLen nEndPos = rEnd.nContent.GetIndex() == 0 ? 0 : rEnd.nContent.GetIndex() - 1;
+ xub_StrLen nEndPos = rEnd == rStart ? rEnd.nContent.GetIndex() : rEnd.nContent.GetIndex() - 1;
const sal_Unicode ch_end=pEndTxtNode->GetTxt().GetChar( nEndPos );
SwPaM aStartPaM(rStart);
SwPaM aEndPaM(rEnd);
diff --git a/sw/source/core/inc/bookmrk.hxx b/sw/source/core/inc/bookmrk.hxx
index 88683ca..8878dbe 100644
--- a/sw/source/core/inc/bookmrk.hxx
+++ b/sw/source/core/inc/bookmrk.hxx
@@ -77,7 +77,7 @@ namespace sw { namespace mark
virtual SwPosition& GetMarkEnd() const
{
if( !IsExpanded() ) return GetMarkPos();
- if ( GetMarkPos( ) > GetOtherMarkPos( ) )
+ if ( GetMarkPos( ) >= GetOtherMarkPos( ) )
return GetMarkPos( );
else
return GetOtherMarkPos( );
commit 5b8ca75bc3ef7fc23373cb7ae383ef8c75f69d1a
Author: Petr Mladek <pmladek at suse.cz>
Date: Tue Mar 8 15:31:14 2011 +0100
Version 3.3.2.1, tag libreoffice-3.3.2.1 (3.3.2-rc1)
commit 39cf47bb37d17c1e37c2155385afa704c13684f9
Author: Noel Power <noel.power at novell.com>
Date: Wed Mar 2 12:24:11 2011 +0000
minor tweak to existing fix for ( bnc#660816 & fdo#34908
it seems the orig commit ( af4d6062b7e676ed56dc84927fb99b79aa03a7b5 ) when tweaked for libreoffice3.3 had a little mistake introduced ( which then go ported into master )
Signed-off-by: Cédric Bosdonnat <cedric.bosdonnat.ooo at free.fr>
diff --git a/sw/source/core/crsr/bookmrk.cxx b/sw/source/core/crsr/bookmrk.cxx
index 0641e96..1f9f14a 100644
--- a/sw/source/core/crsr/bookmrk.cxx
+++ b/sw/source/core/crsr/bookmrk.cxx
@@ -335,10 +335,9 @@ namespace sw { namespace mark
}
void CheckboxFieldmark::SetChecked(bool checked)
{
- (*GetParameters())[::rtl::OUString::createFromAscii(ODF_FORMCHECKBOX_RESULT)] = makeAny(checked);
- bool bOld( IsChecked() );
- if ( bOld != checked )
+ if ( IsChecked() != checked )
{
+ (*GetParameters())[::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(ODF_FORMCHECKBOX_RESULT))] = makeAny(checked);
// mark document as modified
SwDoc *const pDoc( GetMarkPos().GetDoc() );
if ( pDoc )
commit 42e70ee046504caf6e628f03bc79b83a706a8cfb
Author: Noel Power <noel.power at novell.com>
Date: Fri Feb 4 09:56:54 2011 +0000
fix for bnc#659631
Signed-off-by: Caolán McNamara <caolanm at redhat.com>
diff --git a/sw/source/filter/ww8/ww8par.cxx b/sw/source/filter/ww8/ww8par.cxx
index 76c6ae1..033df99 100644
--- a/sw/source/filter/ww8/ww8par.cxx
+++ b/sw/source/filter/ww8/ww8par.cxx
@@ -3699,6 +3699,34 @@ void wwSectionManager::InsertSegments()
SwFmtPageDesc aDesc(SetSwFmtPageDesc(aIter, aStart, bIgnoreCols));
if (!aDesc.GetPageDesc())
continue;
+
+ // special case handling for odd/even section break
+ // a) as before create a new page style for the section break
+ // b) set Layout of generated page style to right/left ( according
+ // to section break odd/even )
+ // c) create a new style to follow the break page style
+ if ( aIter->maSep.bkc == 3 || aIter->maSep.bkc == 4 )
+ {
+ // SetSwFmtPageDesc calls some methods that could
+ // modify aIter (e.g. wwSection ).
+ // Since we call SetSwFmtPageDesc below to generate the
+ // 'Following' style of the Break style, it is safer
+ // to take a copy of the contents of aIter.
+ wwSection aTmpSection = *aIter;
+ // create a new following page style
+ SwFmtPageDesc aFollow(SetSwFmtPageDesc(aIter, aStart, bIgnoreCols));
+ // restore any contents of aIter trashed by SetSwFmtPageDesc
+ *aIter = aTmpSection;
+
+ // Handle the section break
+ UseOnPage eUseOnPage = nsUseOnPage::PD_LEFT;
+ if ( aIter->maSep.bkc == 4 ) // Odd ( right ) Section break
+ eUseOnPage = nsUseOnPage::PD_RIGHT;
+
+ aDesc.GetPageDesc()->WriteUseOn( eUseOnPage );
+ aDesc.GetPageDesc()->SetFollow( aFollow.GetPageDesc() );
+ }
+
GiveNodePageDesc(aIter->maStart, aDesc, mrReader.rDoc);
}
commit 45326ac3017229f7d04f66515502a0da5f9301c5
Author: Miklos Vajna <vmiklos at frugalware.org>
Date: Wed Jan 26 15:03:02 2011 +0100
RtfExport::HackIsWW8OrHigher(): return true (closes fdo#33478)
This makes the exporter use unicode unconditionally when exporting
accents. This is needed because in case we don't do unicode, we need
special fonts (see SwWW8AttrIter::OutAttr()), while in RTF we need to
output the font table before exporting the docuent.
Agreed-by: Caolán McNamara <caolanm at redhat.com>
Signed-off-by: Caolán McNamara <caolanm at redhat.com>
diff --git a/sw/source/filter/ww8/rtfexport.hxx b/sw/source/filter/ww8/rtfexport.hxx
index 50bd72b..f2667d0 100644
--- a/sw/source/filter/ww8/rtfexport.hxx
+++ b/sw/source/filter/ww8/rtfexport.hxx
@@ -83,7 +83,7 @@ public:
virtual RtfSdrExport& SdrExporter() const;
/// Hack, unfortunately necessary at some places for now.
- virtual bool HackIsWW8OrHigher() const { return false; }
+ virtual bool HackIsWW8OrHigher() const { return true; }
/// Guess the script (asian/western).
virtual bool CollapseScriptsforWordOk( USHORT nScript, USHORT nWhich );
commit 60c297cc61df9ef025312f75ba214b4a8499e959
Author: Luke Dixon <6b8b4567 at gmail.com>
Date: Tue Feb 8 20:15:21 2011 +0000
Fix for bugs 32759 and 32755 on freedesktop bugzilla
Signed-off-by: Michael Meeks <michael.meeks at novell.com>
diff --git a/starmath/source/visitors.cxx b/starmath/source/visitors.cxx
index dc5dd38..7b7dafe 100644
--- a/starmath/source/visitors.cxx
+++ b/starmath/source/visitors.cxx
@@ -2131,7 +2131,7 @@ void SmNodeToTextVisitor::Visit( SmTableNode* pNode )
LineToText( it.Current( ) );
if( it.Next( ) ) {
Separate( );
- Append( "## " );
+ Append( "# " );
}else
break;
}
@@ -2447,7 +2447,6 @@ void SmNodeToTextVisitor::Visit( SmTextNode* pNode )
void SmNodeToTextVisitor::Visit( SmSpecialNode* pNode )
{
- Append( "%" );
Append( pNode->GetToken( ).aText );
}
More information about the Libreoffice-commits
mailing list