incubator-ooo-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bugzi...@apache.org
Subject [Bug 120143] [From Symphony]the text in textbox display paritially when opening .ppt file
Date Wed, 04 Jul 2012 14:27:59 GMT
https://issues.apache.org/ooo/show_bug.cgi?id=120143

--- Comment #6 from SunYing <sunyingshadesun@gmail.com> ---
solution:
in line 5119-5125  at file "\main\filter\source\msfilter\svdfppt.cxx",
 if ( nMask & 0x0040 )    // buSize
 {
        rIn >> aSet.mpArry[ PPT_ParaAttr_BulletHeight ];
        if ( ! ( ( nMask & ( 1 << PPT_ParaAttr_BuHardHeight ) )
                     && ( nBulFlg && ( 1 << PPT_ParaAttr_BuHardHeight
) ) ) )
             aSet.mnAttrSet ^= 0x40;
 }

PPT_ParaAttr_BulletHeight =3
the seventh of aSet.mnAttrSet use to indicate weather bullet has size.

the fourth of nMask used to indicate  bulletHasSize (1 bit): A bit that
specifies whether the bulletFlags field of the TextPFException structure that
contains this PFMasks exists and whether bulletFlags.fBulletHasSize is valid.

the fourth of nBulFla used to indicate  fBulletHasSize (1 bit): A bit that
specifies whether the bullet has a size.

the logic included if block:
only and only if  both the fourth of nMask and the fourth of nBulFla is 1,
aSet.mnAttrSet is true, otherwise should be set to false.

in sample file, the fourth of nBulFla is 0,and the fourth of nMask is 1, in
this situation,the seventh of aSet.mnAttrSet should be set  false,
however the logic  ( nBulFlg && ( 1 << PPT_ParaAttr_BuHardHeight ) ) is true,
attr have not been set to false, next read bullet size is invalid,so error
occur.
the right logic should be ( nBulFlg & ( 1 << PPT_ParaAttr_BuHardHeight ) ),
check weather the fourth of nBulFlg is 1.

-- 
You are receiving this mail because:
You are the assignee for the bug.

Mime
View raw message