[Libreoffice-commits] core.git: Branch 'feature/gsoc14-draw-chained-text-boxes' - svx/source
matteocam
matteo.campanelli at gmail.com
Tue Jun 23 16:42:54 PDT 2015
svx/source/svdraw/svdotext.cxx | 14 +++-----------
svx/source/svdraw/svdotextdecomposition.cxx | 5 +++--
2 files changed, 6 insertions(+), 13 deletions(-)
New commits:
commit df9fccced03eee9092d86d579f46d93583a82433
Author: matteocam <matteo.campanelli at gmail.com>
Date: Tue Jun 23 19:42:20 2015 -0400
Minor changes
Change-Id: I36d52878596750bc275a4ddd7dc79a9e2191becb
diff --git a/svx/source/svdraw/svdotext.cxx b/svx/source/svdraw/svdotext.cxx
index 7625ca6..cfe7cbd 100644
--- a/svx/source/svdraw/svdotext.cxx
+++ b/svx/source/svdraw/svdotext.cxx
@@ -2027,20 +2027,13 @@ void SdrTextObj::onUnderflowStatusEvent( )
if (bIsOverflowFromUnderflow) {
// prevents infinite loops when setting text for editing outliner
GetTextChain()->SetNilChainingEvent(const_cast<SdrTextObj*>(this), true);
+
impLeaveOnlyNonOverflowingText(&aDrawOutliner);
impMoveChainedTextToNextLink(&aDrawOutliner, pNextLink);
} else {
+ // No overflow: set the whole thing
const_cast<SdrTextObj*>(this)->SetOutlinerParaObject(pNewText);
}
-
- /*
- if (pEdtOutl != NULL)
- pEdtOutl->SetText(*pNewText);
- */
-
- // Don't need this if handling everything here
- //const_cast<SdrTextObj*>(this)->SetOutlinerParaObject(pNewText);
-
}
@@ -2052,7 +2045,7 @@ void SdrTextObj::onChainingEvent()
if (!pEdtOutl)
return;
-
+ // This is true during an underflow-caused overflow (with pEdtOutl->SetText())
if (GetTextChain()->GetNilChainingEvent(this)) {
GetTextChain()->SetNilChainingEvent(this, false);
return;
@@ -2072,7 +2065,6 @@ void SdrTextObj::onChainingEvent()
} else {
onUnderflowStatusEvent();
}
- return;
}
diff --git a/svx/source/svdraw/svdotextdecomposition.cxx b/svx/source/svdraw/svdotextdecomposition.cxx
index 83f9a0c..70c4f2c 100644
--- a/svx/source/svdraw/svdotextdecomposition.cxx
+++ b/svx/source/svdraw/svdotextdecomposition.cxx
@@ -738,9 +738,10 @@ void SdrTextObj::impDecomposeContourTextPrimitive(
OutlinerParaObject *SdrTextObj::impGetNonOverflowingParaObject(SdrOutliner *pOutliner) const
{
NonOverflowingText *pNonOverflowingTxt;
- // We have to get text from the editing outliner if this is set
+ // We have to get text from the editing outliner if this is set (but not if this is part of an underflow process since pEdtOutl does not know much in that case)
+ bool bThereIsUnderflowGoingOn = GetTextChain()->GetNilChainingEvent(const_cast<SdrTextObj*>(this));
if (pEdtOutl != NULL
- && !GetTextChain()->GetNilChainingEvent(const_cast<SdrTextObj*>(this))) // this is equivalent to checking for not(underflow-caused overflow)
+ && !bThereIsUnderflowGoingOn) // this is equivalent to checking for not(underflow-caused overflow)
pNonOverflowingTxt =
pEdtOutl->GetNonOverflowingText();
else
More information about the Libreoffice-commits
mailing list