[prev in list] [next in list] [prev in thread] [next in thread]
List: koffice-devel
Subject: Layout. cpp and captions
From: Korinek Pavol <pavol.korinek () ixonos ! com>
Date: 2010-02-23 16:23:40
Message-ID: C495228385CC1D409A54846080C9CBA56634C20D59 () jklmail01 ! ixonos ! local
[Download RAW message or body]
[Attachment #2 (text/plain)]
Hello,
I'm working on bug:
https://projects.maemo.org/bugzilla/show_bug.cgi?id=150283
and there are some problems in Layout.cpp
I don't know exactly the logic of Layouts. If somebody is familiar with it, could you \
please consult this problems with me ?
First problem:
application crashes on .odt input from bugzilla. that didn't happened before my \
update form svn approximately week ago.
Possible fix: add NULL pointer check before call \
m_textShape->markLayoutDone(); in method Layout::nextParag() in \
file Layout.cpp
Problem is because m_data and m_textShape are related and there is only check on:
if (m_data == 0) // no shape to layout, so stop here.
return true;
but later is m_textShape used.
Inconsistency may by possibly created:
m_data, m_textShape are initialized to NULL
in method:
Layout::resetPrivate()
is m_text_Shape checked -> OK
in method:
Layout::setFollowupShape(KoShape *followupShape)
m_data may by not NULL and m_textShape is then NULL -> NOT OK
similar situation in: Layout::previousParag()
no check on NULL after dynamic_cast
Seccond problem:
after and load input file from bugzilla the rendering process never stops. I have \
added some debug output in function: TextShape::markLayoutDone()
and printing never ends after loading file
is it possible that some signal is still generated and relayout called ?
Is it OK ?
this is probably not because of not supporting of text:sequence tag in OpenOffice \
.odt file, which I saw while debugging.
Palo
Best regards
Mgr. Pavol Korinek
SW Developer
Ixonos Slovakia, s.r.o.
Štúrova 27
04001 Košice, Slovakia
Mobile: +421 918 718 984
e-mail: pavol.korinek@ixonos.com<mailto:pavol.korinek@ixonos.com>
www.ixonos.com<http://www.ixonos.com>
[Attachment #3 (text/html)]
<html xmlns:v="urn:schemas-microsoft-com:vml" \
xmlns:o="urn:schemas-microsoft-com:office:office" \
xmlns:w="urn:schemas-microsoft-com:office:word" \
xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" \
xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=Content-Type content="text/html; charset=utf-8">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
/* Font Definitions */
@font-face
{font-family:Wingdings;
panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
{font-family:Wingdings;
panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:Consolas;
panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
{mso-style-priority:34;
margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:36.0pt;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri","sans-serif";}
span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Calibri","sans-serif";
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;}
@page Section1
{size:612.0pt 792.0pt;
margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.Section1
{page:Section1;}
/* List Definitions */
@list l0
{mso-list-id:654845920;
mso-list-type:hybrid;
mso-list-template-ids:220885408 67829775 67829785 67829787 67829775 67829785 \
67829787 67829775 67829785 67829787;} @list l0:level1
{mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l1
{mso-list-id:918365641;
mso-list-type:hybrid;
mso-list-template-ids:1058689424 -564249874 67829763 67829765 67829761 67829763 \
67829765 67829761 67829763 67829765;} @list l1:level1
{mso-level-start-at:2;
mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:Wingdings;
mso-fareast-font-family:Calibri;
mso-bidi-font-family:"Times New Roman";}
@list l2
{mso-list-id:1217203452;
mso-list-type:hybrid;
mso-list-template-ids:-1680809226 -935434324 67829763 67829765 67829761 67829763 \
67829765 67829761 67829763 67829765;} @list l2:level1
{mso-level-start-at:2;
mso-level-number-format:bullet;
mso-level-text:-;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:54.0pt;
text-indent:-18.0pt;
font-family:"Calibri","sans-serif";
mso-fareast-font-family:Calibri;
mso-bidi-font-family:"Times New Roman";}
@list l3
{mso-list-id:1223641048;
mso-list-type:hybrid;
mso-list-template-ids:-1502339190 1049818608 67829763 67829765 67829761 67829763 \
67829765 67829761 67829763 67829765;} @list l3:level1
{mso-level-start-at:2;
mso-level-number-format:bullet;
mso-level-text:-;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:54.0pt;
text-indent:-18.0pt;
font-family:"Calibri","sans-serif";
mso-fareast-font-family:Calibri;
mso-bidi-font-family:"Times New Roman";}
@list l3:level2
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:90.0pt;
text-indent:-18.0pt;
font-family:"Courier New";}
@list l4
{mso-list-id:2039892090;
mso-list-type:hybrid;
mso-list-template-ids:301128514 695662188 67829763 67829765 67829761 67829763 \
67829765 67829761 67829763 67829765;} @list l4:level1
{mso-level-number-format:bullet;
mso-level-text:-;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:"Calibri","sans-serif";
mso-fareast-font-family:Calibri;
mso-bidi-font-family:"Times New Roman";}
ol
{margin-bottom:0cm;}
ul
{margin-bottom:0cm;}
-->
</style>
<!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=FI link=blue vlink=purple>
<div class=Section1>
<p class=MsoNormal>Hello,<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>I’m working on bug:<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal><a
href="https://projects.maemo.org/bugzilla/show_bug.cgi?id=150283">https://projects.maemo.org/bugzilla/show_bug.cgi?id=150283</a><o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal><span lang=EN-US>and there are some problems in \
Layout.cpp<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US>I don’t know exactly the logic of Layouts.
If somebody is familiar with it, could you please consult this problems with me
?<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US>First problem:<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US>application crashes on .odt input from
bugzilla. that didn’t happened before my update form svn approximately week
ago.<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US>Possible fix: add NULL pointer check
before call m_textShape->markLayoutDone(); in method \
Layout::nextParag() in file Layout.cpp<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US>Problem is because m_data and m_textShape
are related and there is only check on:<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US> if (m_data == 0) // no shape to layout,
so stop here.<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US> return true;<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>but later is m_textShape \
used.<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US>Inconsistency may by possibly \
created:<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>m_data, m_textShape are initialized
to NULL<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>in method:<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>Layout::resetPrivate()<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>is m_text_Shape checked -> \
OK<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US>in method:<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>Layout::setFollowupShape(KoShape
*followupShape)<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>m_data may by not NULL and m_textShape is then
NULL -> NOT OK<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US>similar situation in: \
Layout::previousParag()<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>no check on NULL after \
dynamic_cast<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US>Seccond problem:<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US>after and load input file from bugzilla the
rendering process never stops. I have added some debug output in \
function:<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>TextShape::markLayoutDone()<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>and printing never ends after loading \
file<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>is it possible that some signal is still
generated and relayout called ?<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>Is it OK ?<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US>this is probably not because of not
supporting of text:sequence tag in OpenOffice .odt file, which I saw while
debugging.<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US>Palo<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US \
style='font-size:10.5pt;font-family:Consolas'>Best regards<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US \
style='font-size:10.5pt;font-family:Consolas'><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US \
style='font-size:10.5pt;font-family:Consolas'>Mgr. Pavol \
Korinek<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US style='font-size:10.5pt;font-family:Consolas'>SW
Developer<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.5pt;font-family:Consolas'>Ixonos
Slovakia, s.r.o.<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.5pt;font-family:Consolas'>Štúrova
27<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.5pt;font-family:Consolas'>04001
Košice, Slovakia<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.5pt;font-family:Consolas'>Mobile:
+421 918 718 984<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.5pt;font-family:Consolas'>e-mail: <a
href="mailto:pavol.korinek@ixonos.com">pavol.korinek@ixonos.com</a><o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.5pt;font-family:Consolas'><a
href="http://www.ixonos.com">www.ixonos.com</a><o:p></o:p></span></p>
<p class=MsoNormal><o:p> </o:p></p>
</div>
</body>
</html>
_______________________________________________
koffice-devel mailing list
koffice-devel@kde.org
https://mail.kde.org/mailman/listinfo/koffice-devel
--===============0538026140==--
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic