[Libreoffice-commits] core.git: Branch 'libreoffice-5-2' - editeng/source

2017-03-03 Thread Caolán McNamara
 editeng/source/editeng/editview.cxx |   11 +++
 1 file changed, 11 insertions(+)

New commits:
commit 612903384bbe68dfb3be1b36111e28b869aa0be8
Author: Caolán McNamara 
Date:   Fri Feb 24 13:57:53 2017 +

Resolves: tdf#106123 store and restore the PaM around the menu Execute

because the loss of focus in the current editeng causes writer annotations 
to
save their contents, making the pContent of the current EditMaps invalid

(cherry picked from commit 71a84b69ae30458a941f38869aa994118051a063)

Change-Id: Ic01379291fa66dd58246d33287b18801f5da49c0
Reviewed-on: https://gerrit.libreoffice.org/34614
Tested-by: Jenkins 
Reviewed-by: Michael Stahl 

diff --git a/editeng/source/editeng/editview.cxx 
b/editeng/source/editeng/editview.cxx
index 3c0852e..609f1d0 100644
--- a/editeng/source/editeng/editview.cxx
+++ b/editeng/source/editeng/editview.cxx
@@ -921,7 +921,18 @@ void EditView::ExecuteSpellPopup( const Point& rPosPixel, 
LinkGetWindow()->OutputToScreenPixel( 
aScreenPos );
 aTempRect = pImpEditView->GetWindow()->LogicToPixel( 
Rectangle(aScreenPos, aTempRect.GetSize() ));
 
+//tdf#106123 store and restore the EditPaM around the menu Execute
+//because the loss of focus in the current editeng causes writer
+//annotations to save their contents, making the pContent of the
+//current EditPams invalid
+EPaM aP = pImpEditView->pEditEngine->pImpEditEngine->CreateEPaM(aPaM);
+EPaM aP2 = 
pImpEditView->pEditEngine->pImpEditEngine->CreateEPaM(aPaM2);
+
 sal_uInt16 nId = aPopupMenu.Execute( pImpEditView->GetWindow(), 
aTempRect, PopupMenuFlags::NoMouseUpClose );
+
+aPaM2 = pImpEditView->pEditEngine->pImpEditEngine->CreateEditPaM(aP2);
+aPaM = pImpEditView->pEditEngine->pImpEditEngine->CreateEditPaM(aP);
+
 if ( nId == MN_IGNORE )
 {
 OUString aWord = pImpEditView->SpellIgnoreWord();
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'libreoffice-5-2' - editeng/source

2017-02-01 Thread Kohei Yoshida
 editeng/source/editeng/eerdll.cxx   |   12 ++--
 editeng/source/editeng/eerdll2.hxx  |4 
 editeng/source/editeng/impedit.hxx  |2 +-
 editeng/source/editeng/impedit2.cxx |   32 ++--
 4 files changed, 25 insertions(+), 25 deletions(-)

New commits:
commit fc1d2236eb9ae89fb8f2ece013bc9396bafb1db1
Author: Kohei Yoshida 
Date:   Mon Jan 23 22:01:37 2017 -0500

tdf#103927: Share single standard VirtualDevice instance.

To avoid creating excessive amounts of VirtualDevice instances. Also,
since we now have VclPtr, we shouldn't need this bOwnerOfRefDev flag.

This fixes tdf#102688 as well as other GDI-Limit related issues.

See tdf#105469 for other bugs this may fix.

(cherry picked from commit b41186a2fc49e440890b8c86e5367352ffaf9cd6)
(cherry picked from commit fab2f546d1fb3ceaf5ee5d4d728f1728a8f1e7f3)
(cherry picked from commit bac2baa785ffc75160de2d15da60901152da33de)

 Conflicts:
editeng/source/editeng/eerdll2.hxx
editeng/source/editeng/impedit2.cxx

Change-Id: Ieda242786c6376c7ac249a9f6d469b670f1ac177
Reviewed-on: https://gerrit.libreoffice.org/33641
Tested-by: Jenkins 
Reviewed-by: Jean-Sébastien B.
Reviewed-by: Miklos Vajna 

diff --git a/editeng/source/editeng/eerdll.cxx 
b/editeng/source/editeng/eerdll.cxx
index b444d6c..364794c 100644
--- a/editeng/source/editeng/eerdll.cxx
+++ b/editeng/source/editeng/eerdll.cxx
@@ -70,6 +70,7 @@
 #include 
 #include 
 #include 
+#include 
 
 using namespace ::com::sun::star;
 
@@ -83,9 +84,11 @@ EditDLL& EditDLL::Get()
 return theEditDLL::get();
 }
 
-GlobalEditData::GlobalEditData()
+GlobalEditData::GlobalEditData() :
+ppDefItems(nullptr),
+mpVirDev(VclPtr::Create())
 {
-ppDefItems = nullptr;
+mpVirDev->SetMapMode(MAP_TWIP);
 }
 
 GlobalEditData::~GlobalEditData()
@@ -193,6 +196,11 @@ uno::Reference< linguistic2::XLanguageGuessing > 
GlobalEditData::GetLanguageGues
 return xLanguageGuesser;
 }
 
+VclPtr GlobalEditData::GetStdVirtualDevice()
+{
+return mpVirDev;
+}
+
 EditResId::EditResId(sal_uInt16 nId)
 : ResId(nId, *EditDLL::GetResMgr())
 {
diff --git a/editeng/source/editeng/eerdll2.hxx 
b/editeng/source/editeng/eerdll2.hxx
index 62b2b2a..f50c559 100644
--- a/editeng/source/editeng/eerdll2.hxx
+++ b/editeng/source/editeng/eerdll2.hxx
@@ -25,6 +25,7 @@
 #include 
 
 class SfxPoolItem;
+class VirtualDevice;
 
 class GlobalEditData
 {
@@ -33,6 +34,7 @@ private:
 SfxPoolItem**   ppDefItems;
 
 rtl::Reference xForbiddenCharsTable;
+VclPtr mpVirDev;
 
 public:
 GlobalEditData();
@@ -43,6 +45,8 @@ public:
 rtl::Reference GetForbiddenCharsTable();
 voidSetForbiddenCharsTable( 
rtl::Reference xForbiddenChars ) { 
xForbiddenCharsTable = xForbiddenChars; }
 css::uno::Reference< css::linguistic2::XLanguageGuessing > 
GetLanguageGuesser();
+
+VclPtr GetStdVirtualDevice();
 };
 
 #endif // INCLUDED_EDITENG_SOURCE_EDITENG_EERDLL2_HXX
diff --git a/editeng/source/editeng/impedit.hxx 
b/editeng/source/editeng/impedit.hxx
index 6cea107..9b294ea 100644
--- a/editeng/source/editeng/impedit.hxx
+++ b/editeng/source/editeng/impedit.hxx
@@ -417,6 +417,7 @@ private:
 
 VclPtr< VirtualDevice> pVirtDev;
 VclPtr< OutputDevice > pRefDev;
+VclPtr mpOwnDev;
 
 svtools::ColorConfig*   pColorConfig;
 mutable SvtCTLOptions*  pCTLOptions;
@@ -502,7 +503,6 @@ private:
 boolbIsInUndo:1;
 boolbUpdate:1;
 boolbUndoEnabled:1;
-boolbOwnerOfRefDev:1;
 boolbDowning:1;
 boolbUseAutoColor:1;
 boolbForceAutoColor:1;
diff --git a/editeng/source/editeng/impedit2.cxx 
b/editeng/source/editeng/impedit2.cxx
index 6ac1fef..f3412e9 100644
--- a/editeng/source/editeng/impedit2.cxx
+++ b/editeng/source/editeng/impedit2.cxx
@@ -95,7 +95,6 @@ ImpEditEngine::ImpEditEngine( EditEngine* pEE, SfxItemPool* 
pItemPool ) :
 bIsInUndo(false),
 bUpdate(true),
 bUndoEnabled(true),
-bOwnerOfRefDev(false),
 bDowning(false),
 bUseAutoColor(true),
 bForceAutoColor(false),
@@ -174,6 +173,7 @@ ImpEditEngine::~ImpEditEngine()
 bDowning = true;
 SetUpdateMode( false );
 
+mpOwnDev.disposeAndClear();
 pVirtDev.disposeAndClear();
 delete pEmptyItemSet;
 delete pUndoManager;
@@ -181,26 +181,15 @@ ImpEditEngine::~ImpEditEngine()
 delete mpIMEInfos;
 delete pColorConfig;
 delete pCTLOptions;
-if ( bOwnerOfRefDev )
-pRefDev.disposeAndClear();
 delete pSpellInfo;
 }
 
 void ImpEditEngine::SetRefDevice( OutputDevice* pRef )
 {
-if ( bOwnerOfRefDev )
-pRefDev.disposeAndClear();
-
-if ( !pRef )
-{
-pRefDev = VclPtr::Create();
-pRefDev->SetMapMode( MAP_TWIP );
-bOwnerOfRefDev = true;
-} else
-{
+if (pRef)
 pRefDev = pRef;
-bOwnerOfRefDev

[Libreoffice-commits] core.git: Branch 'libreoffice-5-2' - editeng/source

2017-01-19 Thread Yossi Zahn
 editeng/source/misc/svxacorr.cxx |6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

New commits:
commit 42849da8f266972ef370104c332d74ff7b15fc71
Author: Yossi Zahn 
Date:   Mon Nov 28 13:01:40 2016 +

tdf#96354 correct broken autocorrect INitial CApitals

Change-Id: If65ec7814c3aed5e4c17294ae57c34550373469d
Reviewed-on: https://gerrit.libreoffice.org/31317
Reviewed-by: jan iversen 
Tested-by: jan iversen 
(cherry picked from commit c6db0e064959ec154db9471a8e1f1e2716bb3523)
Reviewed-on: https://gerrit.libreoffice.org/33266
Tested-by: Jenkins 
Reviewed-by: Miklos Vajna 

diff --git a/editeng/source/misc/svxacorr.cxx b/editeng/source/misc/svxacorr.cxx
index b363614..f8f180e 100644
--- a/editeng/source/misc/svxacorr.cxx
+++ b/editeng/source/misc/svxacorr.cxx
@@ -104,13 +104,13 @@ static inline bool IsWordDelim( const sal_Unicode c )
 static inline bool IsLowerLetter( sal_Int32 nCharType )
 {
 return CharClass::isLetterType( nCharType ) &&
-0 == ( css::i18n::KCharacterType::UPPER & nCharType);
+   ( css::i18n::KCharacterType::LOWER & nCharType);
 }
 
 static inline bool IsUpperLetter( sal_Int32 nCharType )
 {
 return CharClass::isLetterType( nCharType ) &&
-0 == ( css::i18n::KCharacterType::LOWER & nCharType);
+( css::i18n::KCharacterType::UPPER & nCharType);
 }
 
 bool lcl_IsUnsupportedUnicodeChar( CharClass& rCC, const OUString& rTxt,
@@ -415,7 +415,7 @@ bool SvxAutoCorrect::FnCapitalStartWord( SvxAutoCorrDoc& 
rDoc, const OUString& r
 if( xSpeller->hasLanguage(eLang) )
 {
 Sequence< css::beans::PropertyValue > aEmptySeq;
-if (!xSpeller->spell(sWord, eLang, aEmptySeq).is())
+if (xSpeller->isValid(sWord, eLang, aEmptySeq))
 {
 return false;
 }
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'libreoffice-5-2' - editeng/source include/editeng svx/source

2016-12-19 Thread Michael Stahl
 editeng/source/accessibility/AccessibleContextBase.cxx |   15 ---
 include/editeng/AccessibleContextBase.hxx  |6 --
 svx/source/accessibility/AccessibleShape.cxx   |6 +-
 3 files changed, 5 insertions(+), 22 deletions(-)

New commits:
commit 0152535649bf6827767af47e115580b2cc1906f6
Author: Michael Stahl 
Date:   Thu Dec 15 22:46:08 2016 +0100

tdf#104488 editeng,svx: throw less Accessible exceptions

For some of these functions it doesn't make sense to throw
DisposedException as they can return a sensible default value.

Particularly AccessibleShape::getAccessibleChildCount() was throwing an
exception that was never caught.

(cherry picked from commit 5a3b272f106378cbf78aba0fde1db3642275)

loplugin:unnecessaryoverride
(cherry picked from commit 10bf49c18d56f198e63514953a1c6e2ea17fcc9c)

Reviewed-on: https://gerrit.libreoffice.org/32187
Reviewed-by: Michael Stahl 
Tested-by: Michael Stahl 
(cherry picked from commit 0dd9e51abc5705b7ae253d3f9b284136cf1597d6)

Change-Id: I000149cf9bb0fd13f69650ad8224a8daf26f7bee
Reviewed-on: https://gerrit.libreoffice.org/32201
Tested-by: Jenkins 
Reviewed-by: Caolán McNamara 
Tested-by: Caolán McNamara 

diff --git a/editeng/source/accessibility/AccessibleContextBase.cxx 
b/editeng/source/accessibility/AccessibleContextBase.cxx
index c2b0d00..2c5bc59 100644
--- a/editeng/source/accessibility/AccessibleContextBase.cxx
+++ b/editeng/source/accessibility/AccessibleContextBase.cxx
@@ -175,7 +175,6 @@ uno::Reference< XAccessibleContext> SAL_CALL
 AccessibleContextBase::getAccessibleContext()
 throw (uno::RuntimeException, std::exception)
 {
-ThrowIfDisposed ();
 return this;
 }
 
@@ -188,7 +187,6 @@ sal_Int32 SAL_CALL
AccessibleContextBase::getAccessibleChildCount()
 throw (uno::RuntimeException, std::exception)
 {
-ThrowIfDisposed ();
 return 0;
 }
 
@@ -420,7 +418,6 @@ void SAL_CALL 
AccessibleContextBase::removeAccessibleEventListener (
 OUString SAL_CALL AccessibleContextBase::getImplementationName()
 throw (css::uno::RuntimeException, std::exception)
 {
-ThrowIfDisposed ();
 return OUString("AccessibleContextBase");
 }
 
@@ -434,7 +431,6 @@ uno::Sequence< OUString > SAL_CALL
AccessibleContextBase::getSupportedServiceNames()
 throw (css::uno::RuntimeException, std::exception)
 {
-ThrowIfDisposed ();
 static const OUString sServiceNames[2] = {
 OUString("com.sun.star.accessibility.Accessible"),
 OUString("com.sun.star.accessibility.AccessibleContext")
@@ -445,17 +441,6 @@ uno::Sequence< OUString > SAL_CALL
 
 // XTypeProvider
 
-uno::Sequence< css::uno::Type>
-AccessibleContextBase::getTypes()
-throw (css::uno::RuntimeException, std::exception)
-{
-ThrowIfDisposed ();
-
-// This class supports no interfaces on its own.  Just return those
-// supported by the base class.
-return WeakComponentImplHelper::getTypes();
-}
-
 uno::Sequence SAL_CALL
 AccessibleContextBase::getImplementationId()
 throw (css::uno::RuntimeException, std::exception)
diff --git a/include/editeng/AccessibleContextBase.hxx 
b/include/editeng/AccessibleContextBase.hxx
index 7f414eb..4fb4389 100644
--- a/include/editeng/AccessibleContextBase.hxx
+++ b/include/editeng/AccessibleContextBase.hxx
@@ -266,12 +266,6 @@ public:
 
 //=  XTypeProvider  ===
 
-/** Returns a sequence of all supported interfaces.
-*/
-virtual css::uno::Sequence< css::uno::Type> SAL_CALL
-getTypes()
-throw (css::uno::RuntimeException, std::exception) override;
-
 /** Returns a implementation id.
 */
 virtual css::uno::Sequence SAL_CALL
diff --git a/svx/source/accessibility/AccessibleShape.cxx 
b/svx/source/accessibility/AccessibleShape.cxx
index 45bcf70..8fc86ee 100644
--- a/svx/source/accessibility/AccessibleShape.cxx
+++ b/svx/source/accessibility/AccessibleShape.cxx
@@ -326,7 +326,11 @@ sal_Int32 SAL_CALL
AccessibleShape::getAccessibleChildCount ()
 throw (css::uno::RuntimeException, std::exception)
 {
-ThrowIfDisposed ();
+if (IsDisposed())
+{
+return 0;
+}
+
 sal_Int32 nChildCount = 0;
 
 // Add the number of shapes that are children of this shape.
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'libreoffice-5-2' - editeng/source

2016-12-01 Thread Eike Rathke
 editeng/source/editeng/impedit.cxx |5 +
 1 file changed, 5 insertions(+)

New commits:
commit b35bfc7c10a5e06d68340db22486f6682247d8df
Author: Eike Rathke 
Date:   Wed Nov 30 14:47:58 2016 +0100

Resolves: tdf#104152 suppress notifications from EditEngine during Paste

Broadcast once at the end instead to notify a11y.

(cherry picked from commit 7c20d0174c59d46b11fc5029fe3fc0c00f5dc6d0)

 Conflicts:
editeng/source/editeng/impedit.cxx

Change-Id: I12383b6efbbb2b149f0d73c67d8576fcc050b253
Reviewed-on: https://gerrit.libreoffice.org/31425
Tested-by: Jenkins 
Reviewed-by: Kohei Yoshida 
Reviewed-by: Eike Rathke 

diff --git a/editeng/source/editeng/impedit.cxx 
b/editeng/source/editeng/impedit.cxx
index 59f20a4..13d98c0 100644
--- a/editeng/source/editeng/impedit.cxx
+++ b/editeng/source/editeng/impedit.cxx
@@ -1440,9 +1440,14 @@ void ImpEditView::Paste( css::uno::Reference< 
css::datatransfer::clipboard::XCli
 }
 else
 {
+// Prevent notifications of paragraph inserts et al that would 
trigger
+// a11y to format content in a half-ready state when obtaining
+// paragraphs. Collect and broadcast when done instead.
+pEditEngine->pImpEditEngine->EnterBlockNotifications();
 aSel = pEditEngine->InsertText(
 xDataObj, OUString(), aSel.Min(),
 bUseSpecial && 
pEditEngine->GetInternalEditStatus().AllowPasteSpecial());
+pEditEngine->pImpEditEngine->LeaveBlockNotifications();
 }
 
 aPasteOrDropInfos.nEndPara = pEditEngine->GetEditDoc().GetPos( 
aSel.Max().GetNode() );
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'libreoffice-5-2' - editeng/source include/editeng

2016-11-21 Thread Noel Grandin
 editeng/source/editeng/editeng.cxx  |4 ++--
 editeng/source/editeng/editundo.cxx |2 +-
 editeng/source/editeng/impedit.hxx  |2 +-
 editeng/source/editeng/impedit3.cxx |6 +-
 include/editeng/editeng.hxx |2 +-
 5 files changed, 10 insertions(+), 6 deletions(-)

New commits:
commit 4e29dfdd4f95101a1ceff36f735bb0d2eef4d919
Author: Noel Grandin 
Date:   Mon Oct 24 14:12:12 2016 +0200

tdf#103334 - EDITING: Undo on bullet point style

I have checked the normal model and the editing model after UNDO, and
all seems to be well, this is purely a rendering/lack-of-invalidation
issue.

The extra invalidation I add here is restricted to the UNDO case to
prevent tripping up a LOK unit test
(SdTiledRenderingTest::testCursorViews).

I confess to not having followed the invalidation logic all the way to
see why exactly it makes the bug go away.

Reviewed-on: https://gerrit.libreoffice.org/30225
Reviewed-by: Noel Grandin 
Tested-by: Noel Grandin 
(cherry picked from commit ee33745ced5ae12f9ae7735fac16a7298ccae474)

Change-Id: I34f7d84526462665b1ec09aba966c98cd4e8795f
Reviewed-on: https://gerrit.libreoffice.org/30425
Tested-by: Jenkins 
Reviewed-by: Andras Timar 

diff --git a/editeng/source/editeng/editeng.cxx 
b/editeng/source/editeng/editeng.cxx
index c3bb938..1715212 100644
--- a/editeng/source/editeng/editeng.cxx
+++ b/editeng/source/editeng/editeng.cxx
@@ -740,9 +740,9 @@ void EditEngine::SetUndoMode(bool b)
 pImpEditEngine->SetUndoMode(b);
 }
 
-void EditEngine::FormatAndUpdate(EditView* pCurView)
+void EditEngine::FormatAndUpdate(EditView* pCurView, bool bCalledFromUndo)
 {
-pImpEditEngine->FormatAndUpdate(pCurView);
+pImpEditEngine->FormatAndUpdate(pCurView, bCalledFromUndo);
 }
 
 void EditEngine::Undo(EditView* pView)
diff --git a/editeng/source/editeng/editundo.cxx 
b/editeng/source/editeng/editundo.cxx
index faea53b..f900867 100644
--- a/editeng/source/editeng/editundo.cxx
+++ b/editeng/source/editeng/editundo.cxx
@@ -77,7 +77,7 @@ bool EditUndoManager::Undo()
 
 aNewSel.Min() = aNewSel.Max();
 mpEditEngine->GetActiveView()->GetImpEditView()->SetEditSelection( aNewSel 
);
-mpEditEngine->FormatAndUpdate( mpEditEngine->GetActiveView() );
+mpEditEngine->FormatAndUpdate( mpEditEngine->GetActiveView(), true );
 
 return bDone;
 }
diff --git a/editeng/source/editeng/impedit.hxx 
b/editeng/source/editeng/impedit.hxx
index 15a4339..6cea107 100644
--- a/editeng/source/editeng/impedit.hxx
+++ b/editeng/source/editeng/impedit.hxx
@@ -853,7 +853,7 @@ public:
 voidSetNotifyHdl( const Link& rLink ) { 
aNotifyHdl = rLink; }
 const Link&   GetNotifyHdl() const{ return 
aNotifyHdl; }
 
-voidFormatAndUpdate( EditView* pCurView = nullptr );
+voidFormatAndUpdate( EditView* pCurView = nullptr, bool 
bCalledFromUndo = false );
 inline void IdleFormatAndUpdate( EditView* pCurView = nullptr );
 
 svtools::ColorConfig& GetColorConfig();
diff --git a/editeng/source/editeng/impedit3.cxx 
b/editeng/source/editeng/impedit3.cxx
index 4d8f674..1e748c4 100644
--- a/editeng/source/editeng/impedit3.cxx
+++ b/editeng/source/editeng/impedit3.cxx
@@ -4026,7 +4026,7 @@ EditSelection* ImpEditEngine::SelectParagraph( sal_Int32 
nPara )
 return pSel;
 }
 
-void ImpEditEngine::FormatAndUpdate( EditView* pCurView )
+void ImpEditEngine::FormatAndUpdate( EditView* pCurView, bool bCalledFromUndo )
 {
 if ( bDowning )
 return ;
@@ -4035,6 +4035,10 @@ void ImpEditEngine::FormatAndUpdate( EditView* pCurView )
 IdleFormatAndUpdate( pCurView );
 else
 {
+if (bCalledFromUndo)
+// in order to make bullet points that have had their styles 
changed, redraw themselves
+for ( sal_Int32 nPortion = 0; nPortion < 
GetParaPortions().Count(); nPortion++ )
+GetParaPortions()[nPortion]->MarkInvalid( 0, 0 );
 FormatDoc();
 UpdateViews( pCurView );
 }
diff --git a/include/editeng/editeng.hxx b/include/editeng/editeng.hxx
index e5b5e94..382d3d4 100644
--- a/include/editeng/editeng.hxx
+++ b/include/editeng/editeng.hxx
@@ -599,7 +599,7 @@ public:
 const ViewsType& GetEditViews() const;
 
 void SetUndoMode(bool b);
-void FormatAndUpdate(EditView* pCurView = nullptr);
+void FormatAndUpdate(EditView* pCurView = nullptr, bool bCalledFromUndo = 
false);
 
 void Undo(EditView* pView);
 void Redo(EditView* pView);
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'libreoffice-5-2' - editeng/source include/editeng sw/source

2016-11-07 Thread Justin Luth
 editeng/source/items/frmitems.cxx |   12 ++--
 include/editeng/boxitem.hxx   |5 +++--
 sw/source/core/doc/notxtfrm.cxx   |   16 ++--
 3 files changed, 27 insertions(+), 6 deletions(-)

New commits:
commit ab64ae2a828f4acd6d118abc14193c543d04b940
Author: Justin Luth 
Date:   Sat Nov 5 11:11:29 2016 +0300

tdf#90070 don't clip flys with borders

regression from commit e598ab04476a32a08f18e8f0662fafa5f78f1a4a
very aggressively forced a new frame size via compat setting
CLIPPED_PICTURES on any fly - not just images.

This only affects MS-format documents, EXCEPT that it is a document
property, so if the file every spent any part of it's life in MS-format,
it will always retain that compatibility setting. That explains
why the problem was intermittent for me - and was hard to reproduce
in a clean document, even though I'd seen it in .ODTs.

bIgnoreLine (ignore the fact that there is no visible line)
was a confusing word choice for "if there is no line,
then return a spacing size of zero". bEvenIfNoLine=false is better.

Change-Id: I50a3bdef3a67339ae517ee6319920651bc56f9be
Reviewed-on: https://gerrit.libreoffice.org/30585
Tested-by: Jenkins 
Reviewed-by: Justin Luth 
(cherry picked from commit d034f273cb24ebe4fde20ad9089ac11cccf316d0)
Reviewed-on: https://gerrit.libreoffice.org/30595

diff --git a/editeng/source/items/frmitems.cxx 
b/editeng/source/items/frmitems.cxx
index 00a41e2..5c9c0ea 100644
--- a/editeng/source/items/frmitems.cxx
+++ b/editeng/source/items/frmitems.cxx
@@ -2390,7 +2390,7 @@ void SvxBoxItem::SetDistance( sal_uInt16 nNew, 
SvxBoxItemLine nLine )
 }
 
 
-sal_uInt16 SvxBoxItem::CalcLineSpace( SvxBoxItemLine nLine, bool bIgnoreLine ) 
const
+sal_uInt16 SvxBoxItem::CalcLineSpace( SvxBoxItemLine nLine, bool bEvenIfNoLine 
) const
 {
 SvxBorderLine* pTmp = nullptr;
 sal_uInt16 nDist = 0;
@@ -2420,11 +2420,19 @@ sal_uInt16 SvxBoxItem::CalcLineSpace( SvxBoxItemLine 
nLine, bool bIgnoreLine ) c
 {
 nDist = nDist + pTmp->GetScaledWidth();
 }
-else if( !bIgnoreLine )
+else if( !bEvenIfNoLine )
 nDist = 0;
 return nDist;
 }
 
+bool SvxBoxItem::HasBorder( bool bTreatPaddingAsBorder ) const
+{
+return  CalcLineSpace( SvxBoxItemLine::BOTTOM,   bTreatPaddingAsBorder )
+|| CalcLineSpace( SvxBoxItemLine::RIGHT, bTreatPaddingAsBorder )
+|| CalcLineSpace( SvxBoxItemLine::TOP,   bTreatPaddingAsBorder )
+|| CalcLineSpace( SvxBoxItemLine::LEFT,  bTreatPaddingAsBorder );
+}
+
 // class SvxBoxInfoItem --
 
 SvxBoxInfoItem::SvxBoxInfoItem( const sal_uInt16 nId ) :
diff --git a/include/editeng/boxitem.hxx b/include/editeng/boxitem.hxx
index 58ccb21..2fa7ef0 100644
--- a/include/editeng/boxitem.hxx
+++ b/include/editeng/boxitem.hxx
@@ -109,8 +109,9 @@ public:
 void SetRemoveAdjacentCellBorder( bool bSet = true ) { 
bRemoveAdjCellBorder = bSet; }
 
 // Line width plus Space plus inward distance
-// bIgnoreLine = TRUE -> Also return distance, when no Line is set
-sal_uInt16  CalcLineSpace( SvxBoxItemLine nLine, bool bIgnoreLine = false 
) const;
+// bEvenIfNoLine = TRUE -> Also return distance, when no Line is set
+sal_uInt16  CalcLineSpace( SvxBoxItemLine nLine, bool bEvenIfNoLine = 
false ) const;
+bool HasBorder( bool bTreatPaddingAsBorder = false ) const;
 static css::table::BorderLine2 SvxLineToLine( const 
editeng::SvxBorderLine* pLine, bool bConvert );
 static bool LineToSvxLine(const css::table::BorderLine& rLine, 
editeng::SvxBorderLine& rSvxLine, bool bConvert);
 static bool LineToSvxLine(const css::table::BorderLine2& rLine, 
editeng::SvxBorderLine& rSvxLine, bool bConvert);
diff --git a/sw/source/core/doc/notxtfrm.cxx b/sw/source/core/doc/notxtfrm.cxx
index d391bfa..8578e45 100644
--- a/sw/source/core/doc/notxtfrm.cxx
+++ b/sw/source/core/doc/notxtfrm.cxx
@@ -277,11 +277,23 @@ void SwNoTextFrame::Paint(vcl::RenderContext& 
rRenderContext, SwRect const& rRec
 
 // In case the picture fly frm was clipped, render it with the origin
 // size instead of scaling it
-if ( rNoTNd.getIDocumentSettingAccess()->get( 
DocumentSettingId::CLIPPED_PICTURES ) )
+if ( pGrfNd && rNoTNd.getIDocumentSettingAccess()->get( 
DocumentSettingId::CLIPPED_PICTURES ) )
 {
 const SwFlyFreeFrame *pFly = dynamic_cast< const SwFlyFreeFrame* >( 
FindFlyFrame() );
 if( pFly )
-aGrfArea = SwRect( Frame().Pos( ), pFly->GetUnclippedFrame( 
).SSize( ) );
+{
+bool bGetUnclippedFrame=true;
+const SfxPoolItem* pItem;
+if( pFly->GetFormat() && SfxItemState::SET == 
pFly->GetFormat()->GetItemState(RES_BOX, false, &pItem) )
+{
+const SvxBoxItem& rBox = *static_cast(pItem);
+if( rBox.HasBorder( /*bTreatPaddingAsBorder*/true) )
+

[Libreoffice-commits] core.git: Branch 'libreoffice-5-2' - editeng/source

2016-09-27 Thread Caolán McNamara
 editeng/source/misc/svxacorr.cxx |   18 +++---
 1 file changed, 11 insertions(+), 7 deletions(-)

New commits:
commit 3d83d4eb6bf3ed8f0fc52d2edd327a6a931a7f47
Author: Caolán McNamara 
Date:   Wed Sep 21 20:34:32 2016 +0100

Resolves: tdf#83037 <-->  corrected into ← →  instead of ↔

don't use - as a word separator except for breaking up
a compound word for the purposes of tdf#55693, e.g.
TEst-TEst autocorrected to Test-Test)

Change-Id: Ie52a16af0b5838d1ba0de9c5f9c30dcab05c3bc7
(cherry picked from commit 0bfefc0b396bd61cc5f508bf86afc12cfadaa483)
Reviewed-on: https://gerrit.libreoffice.org/29190
Tested-by: Jenkins 
Reviewed-by: Eike Rathke 

diff --git a/editeng/source/misc/svxacorr.cxx b/editeng/source/misc/svxacorr.cxx
index 1fe52ca..b363614 100644
--- a/editeng/source/misc/svxacorr.cxx
+++ b/editeng/source/misc/svxacorr.cxx
@@ -228,7 +228,15 @@ bool SvxAutoCorrect::IsAutoCorrectChar( sal_Unicode cChar )
 cChar == '*'  || cChar == '_'  || cChar == '%' ||
 cChar == '.'  || cChar == ','  || cChar == ';' ||
 cChar == ':'  || cChar == '?' || cChar == '!' ||
-cChar == '/'  || cChar == '-';
+cChar == '/';
+}
+
+namespace
+{
+bool IsCompoundWordDelimChar(sal_Unicode cChar)
+{
+return  cChar == '-' || SvxAutoCorrect::IsAutoCorrectChar(cChar);
+}
 }
 
 bool SvxAutoCorrect::NeedsHardspaceAutocorr( sal_Unicode cChar )
@@ -368,7 +376,7 @@ bool SvxAutoCorrect::FnCapitalStartWord( SvxAutoCorrDoc& 
rDoc, const OUString& r
 // Find all compound word delimiters
 for (sal_Int32 n = nSttPos; n < nEndPos; ++n)
 {
-if (IsAutoCorrectChar(rTxt[ n ]))
+if (IsCompoundWordDelimChar(rTxt[ n ]))
 {
 aDelimiters.push_back( n + 1 ); // Get position of char after 
delimiter
 }
@@ -379,7 +387,7 @@ bool SvxAutoCorrect::FnCapitalStartWord( SvxAutoCorrDoc& 
rDoc, const OUString& r
 // char will not be included in rTxt.
 // If the last AutoCorrect char was not a newline, then the AutoCorrect
 // character will be the last character in rTxt.
-if (!IsAutoCorrectChar(rTxt[nEndPos-1]))
+if (!IsCompoundWordDelimChar(rTxt[nEndPos-1]))
 aDelimiters.push_back(nEndPos);
 
 // Iterate through the word and all words that compose it.
@@ -1319,10 +1327,6 @@ void SvxAutoCorrect::DoAutoCorrect( SvxAutoCorrDoc& 
rDoc, const OUString& rTxt,
 OUString aPara;
 OUString* pPara = IsAutoCorrFlag(CapitalStartSentence) ? &aPara : 
nullptr;
 
-// since LibO 4.1, '-' is a word separator
-// fdo#67742 avoid "--" to be replaced by "–" if next is "-"
-if( rTxt.endsWith( "---" ) )
-break;
 bool bChgWord = rDoc.ChgAutoCorrWord( nCapLttrPos, nInsPos,
 *this, pPara );
 if( !bChgWord )
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'libreoffice-5-2' - editeng/source

2016-09-06 Thread Michael Stahl
 editeng/source/misc/svxacorr.cxx |5 +
 1 file changed, 5 insertions(+)

New commits:
commit d1de6e3d560407051faddb0497f36f644becd527
Author: Michael Stahl 
Date:   Thu Sep 1 23:06:00 2016 +0200

editeng: don't let wild-card auto-correct leave current word

If a paragraph has e.g. multiple -> in it then auto-correct of the first
one will create via the .*->.* rule a new auto-correct entry that has as
long-word the word that contains the first -> until the last -> and
everything in between.  This will be somewhat irritating when it is
eventually applied.  Avoid it by limiting the wild-card loop to the
current word, which is apparently the intent anyway.

(regression from a07425892205ff8951027ea20459b97370d01de6)

Change-Id: I294bae863c44eb460627b61b4383133131fe4b3a
Reviewed-on: https://gerrit.libreoffice.org/28608
Reviewed-by: László Németh 
Tested-by: Jenkins 
Reviewed-by: Michael Stahl 
(cherry picked from commit 9670f0d17ffed1ff07cb1deddcabc26c756e4bc1)
Reviewed-on: https://gerrit.libreoffice.org/28633
Reviewed-by: Caolán McNamara 
Tested-by: Caolán McNamara 

diff --git a/editeng/source/misc/svxacorr.cxx b/editeng/source/misc/svxacorr.cxx
index 0bfd925..1fe52ca 100644
--- a/editeng/source/misc/svxacorr.cxx
+++ b/editeng/source/misc/svxacorr.cxx
@@ -2823,6 +2823,11 @@ const SvxAutocorrWord* 
SvxAutocorrWordList::WordMatches(const SvxAutocorrWord *p
 nSttWdPos = rTxt.indexOf( sTmp, nFndPos);
 if (nSttWdPos != -1)
 {
+sal_Int32 nTmp(nFndPos);
+while (nTmp < nSttWdPos && 
!IsWordDelim(rTxt[nTmp]))
+nTmp++;
+if (nTmp < nSttWdPos)
+break; // word delimiter found
 buf.append(rTxt.copy(nFndPos, nSttWdPos - 
nFndPos)).append(pFnd->GetLong());
 nFndPos = nSttWdPos + sTmp.getLength();
 }
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'libreoffice-5-2' - editeng/source

2016-09-02 Thread Caolán McNamara
 editeng/source/misc/svxacorr.cxx |3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

New commits:
commit 4edd7ed8bc2c75a23babe9893fdbe58dd7bcf562
Author: Caolán McNamara 
Date:   Tue Aug 30 12:38:27 2016 +0100

Resolves: tdf#96369 don't superscript ordinals for mixed text and numbers

e.g. 5th is ok, but foo5th is not

this is basically a regression from

commit 17e6b8fd05af8fff86847c0ef1e8cc9ad013a1bd
Date:   Thu Apr 7 13:33:48 2011 +0200

where the older code would only do the conversion if the string
before the number was comprised of non-letters, so go back
to that logic.

Change-Id: I928c365eb11891e78331bbd165dbdb9541ac0361
(cherry picked from commit 776e2e2635487523cd1757f382f54487b36b5ad3)
Reviewed-on: https://gerrit.libreoffice.org/28495
Tested-by: Jenkins 
Reviewed-by: Miklos Vajna 

diff --git a/editeng/source/misc/svxacorr.cxx b/editeng/source/misc/svxacorr.cxx
index 5545432..0bfd925 100644
--- a/editeng/source/misc/svxacorr.cxx
+++ b/editeng/source/misc/svxacorr.cxx
@@ -461,13 +461,12 @@ bool SvxAutoCorrect::FnChgOrdinalNumber(
 bool bFoundEnd = false;
 bool isValidNumber = true;
 sal_Int32 i = nEndPos;
-
 while (i > nSttPos)
 {
 i--;
 bool isDigit = rCC.isDigit(rTxt, i);
 if (bFoundEnd)
-isValidNumber |= isDigit;
+isValidNumber &= (isDigit || !rCC.isLetter(rTxt, i));
 
 if (isDigit && !bFoundEnd)
 {
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'libreoffice-5-2' - editeng/source include/editeng

2016-07-21 Thread Caolán McNamara
 editeng/source/items/numitem.cxx |   25 +
 include/editeng/numitem.hxx  |8 +++-
 2 files changed, 4 insertions(+), 29 deletions(-)

New commits:
commit 9cdf38e11f50e8b420e017b2dcf6b36f9f77c400
Author: Caolán McNamara 
Date:   Tue Jul 19 21:47:29 2016 +0100

Resolves: tdf#97404 outline space wrong on second level

Revert "tdf#42788: FORMATTING - Numbering/ordered list"

This reverts commit 6517141b6233c5f9667031bc92f66109fddf5b76.

https://gerrit.libreoffice.org/#/c/23006/ was apparently
intended to revert this, but it never was

Then there was https://gerrit.libreoffice.org/#/c/23427/
which was an attempt to improve it but it was abandoned

Then there was https://gerrit.libreoffice.org/#/c/23542/
whichw as another attempt to improve it, but it was too
abandoned.

all of which leaves us worse than when we started with
a pile of unhappy abandoned efforts and cruddy indent

Change-Id: I8b3666a957339030d5a946a2b387f452e7fb0099
(cherry picked from commit 8617010b851e000f336cf647f207557b5eeab8b7)
Reviewed-on: https://gerrit.libreoffice.org/27328
Tested-by: Jenkins 
Reviewed-by: Miklos Vajna 

diff --git a/editeng/source/items/numitem.cxx b/editeng/source/items/numitem.cxx
index 2f2a80a..3c3fa19 100644
--- a/editeng/source/items/numitem.cxx
+++ b/editeng/source/items/numitem.cxx
@@ -151,7 +151,6 @@ SvxNumberFormat::SvxNumberFormat( sal_Int16 eType,
   SvxNumPositionAndSpaceMode 
ePositionAndSpaceMode )
 : SvxNumberType(eType),
   eNumAdjust(SVX_ADJUST_LEFT),
-  mbNumAdjustChanged(false),
   nInclUpperLevels(0),
   nStart(1),
   cBullet(SVX_DEF_BULLET),
@@ -181,8 +180,7 @@ SvxNumberFormat::SvxNumberFormat(const SvxNumberFormat& 
rFormat) :
 }
 
 SvxNumberFormat::SvxNumberFormat( SvStream &rStream )
-: mbNumAdjustChanged(false)
-, nStart(0)
+: nStart(0)
 , nBulletRelSize(100)
 , nFirstLineOffset(0)
 , nAbsLSpace(0)
@@ -245,26 +243,6 @@ SvxNumberFormat::~SvxNumberFormat()
 delete pBulletFont;
 }
 
-void SvxNumberFormat::SetNumberingType(sal_Int16 nSet)
-{
-if(!mbNumAdjustChanged)
-{
-// Right align Roman numbers, tdf#42788
-if(nSet == SVX_NUM_ROMAN_UPPER || nSet == SVX_NUM_ROMAN_LOWER)
-eNumAdjust = SVX_ADJUST_RIGHT;
-else if (eNumAdjust == SVX_ADJUST_RIGHT && (GetNumberingType() == 
SVX_NUM_ROMAN_UPPER || GetNumberingType() == SVX_NUM_ROMAN_LOWER))
-eNumAdjust = SVX_ADJUST_LEFT;
-}
-
-SvxNumberType::SetNumberingType(nSet);
-}
-
-void SvxNumberFormat::SetNumAdjust(SvxAdjust eSet)
-{
-eNumAdjust = eSet;
-mbNumAdjustChanged = true;
-}
-
 void SvxNumberFormat::Store(SvStream &rStream, FontToSubsFontConverter 
pConverter)
 {
 if(pConverter && pBulletFont)
@@ -338,7 +316,6 @@ SvxNumberFormat& SvxNumberFormat::operator=( const 
SvxNumberFormat& rFormat )
 
 SvxNumberType::SetNumberingType(rFormat.GetNumberingType());
 eNumAdjust  = rFormat.eNumAdjust ;
-mbNumAdjustChanged  = rFormat.mbNumAdjustChanged;
 nInclUpperLevels= rFormat.nInclUpperLevels ;
 nStart  = rFormat.nStart ;
 cBullet = rFormat.cBullet ;
diff --git a/include/editeng/numitem.hxx b/include/editeng/numitem.hxx
index 775e8f1..e4ccbea 100644
--- a/include/editeng/numitem.hxx
+++ b/include/editeng/numitem.hxx
@@ -60,12 +60,12 @@ class EDITENG_DLLPUBLIC SvxNumberType
 public:
 explicit SvxNumberType(sal_Int16 nType = 
css::style::NumberingType::ARABIC);
 SvxNumberType(const SvxNumberType& rType);
-virtual ~SvxNumberType();
+~SvxNumberType();
 
 OUStringGetNumStr( sal_uLong nNo ) const;
 OUStringGetNumStr( sal_uLong nNo, const css::lang::Locale& rLocale 
) const;
 
-virtual voidSetNumberingType(sal_Int16 nSet) {nNumType = nSet;}
+voidSetNumberingType(sal_Int16 nSet) {nNumType = nSet;}
 sal_Int16   GetNumberingType() const {return nNumType;}
 
 voidSetShowSymbol(bool bSet) {bShowSymbol = bSet;}
@@ -99,7 +99,6 @@ private:
 OUString   sSuffix;
 
 SvxAdjust   eNumAdjust;
-boolmbNumAdjustChanged;
 
 sal_uInt8   nInclUpperLevels;   // Take over numbers from the 
previous level.
 sal_uInt16  nStart; // Start of counting
@@ -155,8 +154,7 @@ public:
 booloperator==( const SvxNumberFormat&  ) const;
 booloperator!=( const SvxNumberFormat& rFmt) const {return 
!(*this == rFmt);}
 
-voidSetNumberingType(sal_Int16 nSet) override;
-voidSetNumAdjust(SvxAdjust eSet);
+voidSetNumAdjust(SvxAdjust eSet) {eNumAdjust = eSet;}
 SvxAdjust   GetNumAdjust() const {return eNumAdjust;}
 voidSetPrefix(const OUString& rSet) { sPrefix = rSet;}
 const OUString&

[Libreoffice-commits] core.git: Branch 'libreoffice-5-2' - editeng/source

2016-07-15 Thread Caolán McNamara
 editeng/source/editeng/impedit4.cxx |6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

New commits:
commit 21770181089cdd4c42c5ef810c49439e7daede30
Author: Caolán McNamara 
Date:   Wed Jul 13 16:56:14 2016 +0100

tdf#100880 editeng spellchecking doesn't work sometimes...

believe to be a regression from

commit 73f0b3bd5553c5d023d0a1dbfdc00836e2937961
Author: Matteo Casalin 
Date:   Sat Dec 28 13:37:26 2013 +0100

xub_StrLen to sal_Int32 + some const

and lets fix it the same way

commit 9705fbc1119da91e73c00a2ec848565929eeb483
Author: Norbert Thiebaud 
Date:   Sun Mar 2 12:19:16 2014 -0600

Fix editeng missing spellchecking redline on load

(probably) fixed some other regression caused by that

Change-Id: I52775aff50dcc634fd2f08eb685cc4ad9850c82c
(cherry picked from commit 71ab1ee978a6da8edeabc7c65e9a34e679ec8e43)
Reviewed-on: https://gerrit.libreoffice.org/27197
Tested-by: Jenkins 
Reviewed-by: Miklos Vajna 

diff --git a/editeng/source/editeng/impedit4.cxx 
b/editeng/source/editeng/impedit4.cxx
index 07ad13a..ec4a36a 100644
--- a/editeng/source/editeng/impedit4.cxx
+++ b/editeng/source/editeng/impedit4.cxx
@@ -2282,8 +2282,8 @@ void ImpEditEngine::DoOnlineSpelling( ContentNode* 
pThisNodeOnly, bool bSpellAtC
 if (!pNode->GetWrongList()->IsValid())
 {
 WrongList* pWrongList = pNode->GetWrongList();
-const sal_Int32 nInvStart = pWrongList->GetInvalidStart();
-const sal_Int32 nInvEnd = pWrongList->GetInvalidEnd();
+const size_t nInvStart = pWrongList->GetInvalidStart();
+const size_t nInvEnd = pWrongList->GetInvalidEnd();
 
 sal_Int32 nPaintFrom = -1;
 sal_Int32 nPaintTo = 0;
@@ -2295,7 +2295,7 @@ void ImpEditEngine::DoOnlineSpelling( ContentNode* 
pThisNodeOnly, bool bSpellAtC
 EditSelection aSel( aPaM, aPaM );
 while ( ( aSel.Max().GetNode() == pNode ) /* && !bStop */ )
 {
-if ( ( aSel.Min().GetIndex() > nInvEnd )
+if ( ( static_cast(aSel.Min().GetIndex()) > nInvEnd )
 || ( ( aSel.Max().GetNode() == pLastNode ) && ( 
aSel.Max().GetIndex() >= pLastNode->Len() ) ) )
 break;  // Document end or end of invalid region
 
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'libreoffice-5-2' - editeng/source

2016-07-15 Thread Mike Kaganski
 editeng/source/outliner/outliner.cxx |2 ++
 1 file changed, 2 insertions(+)

New commits:
commit 79e3fd9df519bc5aad349f137d4aa74168e9ef2e
Author: Mike Kaganski 
Date:   Sat Jul 2 23:07:15 2016 +1000

tdf#100734: Update bullet of paragraph on UNDO

Change-Id: I1afe0b4ca537eea752d3bced8bbc8944380c3514
Reviewed-on: https://gerrit.libreoffice.org/26874
Tested-by: Jenkins 
Reviewed-by: Andras Timar 
(cherry picked from commit 3a9c151e6eeb3c81902fab2644522a8df9e7161d)
Reviewed-on: https://gerrit.libreoffice.org/26893
Reviewed-by: Miklos Vajna 

diff --git a/editeng/source/outliner/outliner.cxx 
b/editeng/source/outliner/outliner.cxx
index 906367c..f865256 100644
--- a/editeng/source/outliner/outliner.cxx
+++ b/editeng/source/outliner/outliner.cxx
@@ -1497,6 +1497,8 @@ void Outliner::ParaAttribsChanged( sal_Int32 nPara )
 if ( pParaList->GetParagraphCount() == 
pEditEngine->GetParagraphCount() )
 {
 Paragraph* pPara = pParaList->GetParagraph( nPara );
+// tdf#100734: force update of bullet
+pPara->Invalidate();
 const SfxInt16Item& rLevel = static_cast( 
pEditEngine->GetParaAttrib( nPara, EE_PARA_OUTLLEVEL ) );
 if ( pPara && pPara->GetDepth() != rLevel.GetValue() )
 {
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits