[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>&nbsp;</o:p></p>

<p class=MsoNormal>I’m working on bug:<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US>Possible fix:       add NULL pointer check
before call      m_textShape-&gt;markLayoutDone();       in method      \
Layout::nextParag()       in file        Layout.cpp<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</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>&nbsp;</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 -&gt; \
OK<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</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 -&gt; NOT OK<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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