summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJianyuan Li <lijiany@apache.org>2012-09-10 07:21:39 +0000
committerCaolán McNamara <caolanm@redhat.com>2013-06-05 11:05:10 +0100
commita05c0cfa40001aa1f4247a4e9f1fcefad7e7cf88 (patch)
tree056fa1200bb26fd242bcfcb77088dadb7f3c8a68
parent4450d6bbd10fbf57f18912095f58c4a79b20bcb7 (diff)
Resolves: #i119521# Layout is corrupted on opening PPT
Reported by: Du Jing Patch by: Jianyuan Li Review by: sunying (cherry picked from commit 1231c27a8f1db5df57071d30e2105e25baf77730) Change-Id: Iaa02a98e0fe06a242d56a120ab5acb149ebb6045
-rw-r--r--filter/source/msfilter/svdfppt.cxx6
1 files changed, 4 insertions, 2 deletions
diff --git a/filter/source/msfilter/svdfppt.cxx b/filter/source/msfilter/svdfppt.cxx
index 91891c9c23c8..5e28dfa48d61 100644
--- a/filter/source/msfilter/svdfppt.cxx
+++ b/filter/source/msfilter/svdfppt.cxx
@@ -6234,6 +6234,8 @@ void PPTParagraphObj::ApplyTo( SfxItemSet& rSet, boost::optional< sal_Int16 >&
SvxTabStopItem aTabItem( 0, 0, SVX_TAB_ADJUST_DEFAULT, EE_PARA_TABS );
if ( GetTabCount() )
{
+ //paragraph offset = MIN(first_line_offset, hanging_offset)
+ sal_uInt32 nParaOffset = std::min(nTextOfs2, nTab);
for ( i = 0; i < GetTabCount(); i++ )
{
SvxTabAdjust eTabAdjust;
@@ -6245,8 +6247,8 @@ void PPTParagraphObj::ApplyTo( SfxItemSet& rSet, boost::optional< sal_Int16 >&
case 3 : eTabAdjust = SVX_TAB_ADJUST_DECIMAL; break;
default : eTabAdjust = SVX_TAB_ADJUST_LEFT;
}
- if ( nTab > nTextOfs2 )
- aTabItem.Insert( SvxTabStop( (sal_uInt16)( ( ( nTab - nTextOfs2 ) * 2540 ) / 576 ), eTabAdjust ) );
+ if ( nTab > nParaOffset )//If tab stop greater than paragraph offset
+ aTabItem.Insert( SvxTabStop( ( ( (long( nTab - nTextOfs2 )) * 2540 ) / 576 ), eTabAdjust ) );
}
nLatestManTab = nTab;
}