summaryrefslogtreecommitdiff
path: root/lotuswordpro
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2015-12-13 16:27:12 +0000
committerCaolán McNamara <caolanm@redhat.com>2015-12-13 16:27:39 +0000
commit1bf5da9682e17688051af5b8ddaef9b33476b970 (patch)
tree975f93b2ef76fdb3c68b5b8ed1f83b072dab41dc /lotuswordpro
parent996f99ea821bd4cf33364691b371219673c94783 (diff)
guard against invalid Layout Scale
Change-Id: I84541445e44f14244030b9970e0a48e72edacea7 (cherry picked from commit c66ed9591217a612c7adc22757ea2b760a716ee3)
Diffstat (limited to 'lotuswordpro')
-rw-r--r--lotuswordpro/source/filter/lwplayout.cxx14
1 files changed, 8 insertions, 6 deletions
diff --git a/lotuswordpro/source/filter/lwplayout.cxx b/lotuswordpro/source/filter/lwplayout.cxx
index 27603d5fd934..00e8e5024520 100644
--- a/lotuswordpro/source/filter/lwplayout.cxx
+++ b/lotuswordpro/source/filter/lwplayout.cxx
@@ -896,7 +896,7 @@ LwpTabOverride* LwpMiddleLayout::GetTabOverride()
*/
sal_uInt16 LwpMiddleLayout::GetScaleMode()
{
- if ((m_nOverrideFlag & OVER_SCALING) && m_LayScale.obj().is())
+ if ((m_nOverrideFlag & OVER_SCALING) && m_LayScale.obj().is() && GetLayoutScale())
return GetLayoutScale()->GetScaleMode();
rtl::Reference<LwpObject> xBase(GetBasedOnStyle());
if (xBase.is())
@@ -907,7 +907,7 @@ sal_uInt16 LwpMiddleLayout::GetScaleMode()
sal_uInt16 LwpMiddleLayout::GetScaleTile()
{
- if ((m_nOverrideFlag & OVER_SCALING) && m_LayScale.obj().is())
+ if ((m_nOverrideFlag & OVER_SCALING) && m_LayScale.obj().is() && GetLayoutScale())
return (GetLayoutScale()->GetPlacement() & LwpLayoutScale::TILED)
? 1 : 0;
rtl::Reference<LwpObject> xBase(GetBasedOnStyle());
@@ -919,9 +919,11 @@ sal_uInt16 LwpMiddleLayout::GetScaleTile()
sal_uInt16 LwpMiddleLayout::GetScaleCenter()
{
- if ((m_nOverrideFlag & OVER_SCALING) && m_LayScale.obj().is())
+ if ((m_nOverrideFlag & OVER_SCALING) && m_LayScale.obj().is() && GetLayoutScale())
+ {
return (GetLayoutScale()->GetPlacement() & LwpLayoutScale::CENTERED)
? 1 : 0;
+ }
rtl::Reference<LwpObject> xBase(GetBasedOnStyle());
if (xBase.is())
return dynamic_cast<LwpMiddleLayout&>(*xBase.get()).GetScaleCenter();
@@ -931,7 +933,7 @@ sal_uInt16 LwpMiddleLayout::GetScaleCenter()
sal_uInt32 LwpMiddleLayout::GetScalePercentage()
{
- if ((m_nOverrideFlag & OVER_SCALING) && m_LayScale.obj().is())
+ if ((m_nOverrideFlag & OVER_SCALING) && m_LayScale.obj().is() && GetLayoutScale())
return GetLayoutScale()->GetScalePercentage()/10;//m_nScalePercentage 1000 = 100%
rtl::Reference<LwpObject> xBase(GetBasedOnStyle());
if (xBase.is())
@@ -942,7 +944,7 @@ sal_uInt32 LwpMiddleLayout::GetScalePercentage()
double LwpMiddleLayout::GetScaleWidth()
{
- if ((m_nOverrideFlag & OVER_SCALING) && m_LayScale.obj().is())
+ if ((m_nOverrideFlag & OVER_SCALING) && m_LayScale.obj().is() && GetLayoutScale())
return LwpTools::ConvertFromUnits(GetLayoutScale()->GetScaleWidth());
rtl::Reference<LwpObject> xBase(GetBasedOnStyle());
if (xBase.is())
@@ -953,7 +955,7 @@ double LwpMiddleLayout::GetScaleWidth()
double LwpMiddleLayout::GetScaleHeight()
{
- if ((m_nOverrideFlag & OVER_SCALING) && m_LayScale.obj().is())
+ if ((m_nOverrideFlag & OVER_SCALING) && m_LayScale.obj().is() && GetLayoutScale())
return LwpTools::ConvertFromUnits(GetLayoutScale()->GetScaleHeight());
rtl::Reference<LwpObject> xBase(GetBasedOnStyle());
if (xBase.is())