Kaydet (Commit) c66ed959 authored tarafından Caolán McNamara's avatar Caolán McNamara

guard against invalid Layout Scale

Change-Id: I84541445e44f14244030b9970e0a48e72edacea7
üst 92e4dae0
...@@ -896,7 +896,7 @@ LwpTabOverride* LwpMiddleLayout::GetTabOverride() ...@@ -896,7 +896,7 @@ LwpTabOverride* LwpMiddleLayout::GetTabOverride()
*/ */
sal_uInt16 LwpMiddleLayout::GetScaleMode() 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(); return GetLayoutScale()->GetScaleMode();
rtl::Reference<LwpObject> xBase(GetBasedOnStyle()); rtl::Reference<LwpObject> xBase(GetBasedOnStyle());
if (xBase.is()) if (xBase.is())
...@@ -907,7 +907,7 @@ sal_uInt16 LwpMiddleLayout::GetScaleMode() ...@@ -907,7 +907,7 @@ sal_uInt16 LwpMiddleLayout::GetScaleMode()
sal_uInt16 LwpMiddleLayout::GetScaleTile() 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) return (GetLayoutScale()->GetPlacement() & LwpLayoutScale::TILED)
? 1 : 0; ? 1 : 0;
rtl::Reference<LwpObject> xBase(GetBasedOnStyle()); rtl::Reference<LwpObject> xBase(GetBasedOnStyle());
...@@ -919,9 +919,11 @@ sal_uInt16 LwpMiddleLayout::GetScaleTile() ...@@ -919,9 +919,11 @@ sal_uInt16 LwpMiddleLayout::GetScaleTile()
sal_uInt16 LwpMiddleLayout::GetScaleCenter() 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) return (GetLayoutScale()->GetPlacement() & LwpLayoutScale::CENTERED)
? 1 : 0; ? 1 : 0;
}
rtl::Reference<LwpObject> xBase(GetBasedOnStyle()); rtl::Reference<LwpObject> xBase(GetBasedOnStyle());
if (xBase.is()) if (xBase.is())
return dynamic_cast<LwpMiddleLayout&>(*xBase.get()).GetScaleCenter(); return dynamic_cast<LwpMiddleLayout&>(*xBase.get()).GetScaleCenter();
...@@ -931,7 +933,7 @@ sal_uInt16 LwpMiddleLayout::GetScaleCenter() ...@@ -931,7 +933,7 @@ sal_uInt16 LwpMiddleLayout::GetScaleCenter()
sal_uInt32 LwpMiddleLayout::GetScalePercentage() 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% return GetLayoutScale()->GetScalePercentage()/10;//m_nScalePercentage 1000 = 100%
rtl::Reference<LwpObject> xBase(GetBasedOnStyle()); rtl::Reference<LwpObject> xBase(GetBasedOnStyle());
if (xBase.is()) if (xBase.is())
...@@ -942,7 +944,7 @@ sal_uInt32 LwpMiddleLayout::GetScalePercentage() ...@@ -942,7 +944,7 @@ sal_uInt32 LwpMiddleLayout::GetScalePercentage()
double LwpMiddleLayout::GetScaleWidth() 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()); return LwpTools::ConvertFromUnits(GetLayoutScale()->GetScaleWidth());
rtl::Reference<LwpObject> xBase(GetBasedOnStyle()); rtl::Reference<LwpObject> xBase(GetBasedOnStyle());
if (xBase.is()) if (xBase.is())
...@@ -953,7 +955,7 @@ double LwpMiddleLayout::GetScaleWidth() ...@@ -953,7 +955,7 @@ double LwpMiddleLayout::GetScaleWidth()
double LwpMiddleLayout::GetScaleHeight() 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()); return LwpTools::ConvertFromUnits(GetLayoutScale()->GetScaleHeight());
rtl::Reference<LwpObject> xBase(GetBasedOnStyle()); rtl::Reference<LwpObject> xBase(GetBasedOnStyle());
if (xBase.is()) if (xBase.is())
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment