libreoffice/libreoffice-stuck-widgets-in-sidebar.patch

70 lines
2.5 KiB
Diff
Raw Normal View History

From a76fcd9f9718b269c0c84534a75114433369bf92 Mon Sep 17 00:00:00 2001
From: Caolán McNamara <caolanm@redhat.com>
Date: Mon, 29 Jun 2020 20:02:26 +0100
Subject: [PATCH] tdf#134360 some sidebar widgets getting stuck in a disabled state
Change-Id: I655525679dd2471e9d0c1a5af246901594b188ed
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97387
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
---
diff --git a/svx/source/sidebar/paragraph/ParaPropertyPanel.cxx b/svx/source/sidebar/paragraph/ParaPropertyPanel.cxx
index 324a2e5..12a9eba 100644
--- a/svx/source/sidebar/paragraph/ParaPropertyPanel.cxx
+++ b/svx/source/sidebar/paragraph/ParaPropertyPanel.cxx
@@ -254,7 +254,12 @@
break;
}
- if( pState && eState >= SfxItemState::DEFAULT )
+ bool bDisabled = eState == SfxItemState::DISABLED;
+ mxLeftIndent->set_sensitive(!bDisabled);
+ mxRightIndent->set_sensitive(!bDisabled);
+ mxFLineIndent->set_sensitive(!bDisabled);
+
+ if (pState && eState >= SfxItemState::DEFAULT)
{
const SvxLRSpaceItem* pSpace = static_cast<const SvxLRSpaceItem*>(pState);
maTxtLeft = pSpace->GetTextLeft();
@@ -314,13 +319,7 @@
nfVal = static_cast<long>(mxFLineIndent->normalize( nfVal ));
mxFLineIndent->set_value( nfVal, FieldUnit::MM_100TH );
}
- else if( eState == SfxItemState::DISABLED )
- {
- mxLeftIndent->set_sensitive(false);
- mxRightIndent->set_sensitive(false);
- mxFLineIndent->set_sensitive(false);
- }
- else
+ else if (eState != SfxItemState::DISABLED )
{
mxLeftIndent->set_text("");
mxRightIndent->set_text("");
@@ -335,6 +334,10 @@
mxTopDist->set_max( mxTopDist->normalize( MAX_DURCH ), MapToFieldUnit(m_eULSpaceUnit) );
mxBottomDist->set_max( mxBottomDist->normalize( MAX_DURCH ), MapToFieldUnit(m_eULSpaceUnit) );
+ bool bDisabled = eState == SfxItemState::DISABLED;
+ mxTopDist->set_sensitive(!bDisabled);
+ mxBottomDist->set_sensitive(!bDisabled);
+
if( pState && eState >= SfxItemState::DEFAULT )
{
const SvxULSpaceItem* pOldItem = static_cast<const SvxULSpaceItem*>(pState);
@@ -355,12 +358,7 @@
nVal = mxBottomDist->normalize( nVal );
mxBottomDist->set_value( nVal, FieldUnit::MM_100TH );
}
- else if(eState == SfxItemState::DISABLED )
- {
- mxTopDist->set_sensitive(false);
- mxBottomDist->set_sensitive(false);
- }
- else
+ else if (eState != SfxItemState::DISABLED )
{
mxTopDist->set_text("");
mxBottomDist->set_text("");