<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META content="MSHTML 6.00.2800.1479" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>hi,</FONT></DIV>
<DIV><FONT face=Arial size=2>I'm use konqe 3. </FONT></DIV>
<DIV><FONT face=Arial size=2>I wrote&nbsp;a video player&nbsp;plugin to konqe. 
And made a javascript interface to the Object.</FONT></DIV>
<DIV><FONT face=Arial size=2>The Object(here name it MediaPlayer) have a 
onPlayStateChange(NewState) method which shall be registered in javascript 
code.</FONT></DIV>
<DIV><FONT face=Arial size=2>When the player is started the c++ codes will call 
the function and passed in an int argument to indicate the state.</FONT></DIV>
<DIV><FONT face=Arial size=2>The question is that one "for" loop in 
onPlayStateChange()&nbsp;is missing sometimes.</FONT></DIV>
<DIV><FONT face=Arial size=2>I opened KJS_VERBOSE to print debug infomation. It 
seems that&nbsp;only the "var i = 0" statement is executed. the "for" loop is 
jumpped.</FONT></DIV>
<DIV><FONT face=Arial size=2>the java script code and the error log&nbsp;are 
as&nbsp;following.</FONT></DIV>
<DIV><FONT face=Arial size=2>function onOpenStateChange(NewState)<BR>&nbsp; 
{<BR>&nbsp;&nbsp;&nbsp; println("--onOpenStateChange");<BR>&nbsp;&nbsp;&nbsp; 
var num, mymark, option1, head, end;<BR>&nbsp;&nbsp;&nbsp; println("--fill 
option list");<BR>&nbsp;&nbsp;&nbsp; num = 
MediaPlayer.currentMedia.markerCount;<BR>&nbsp;&nbsp;&nbsp; println("number got 
"+num);<BR>&nbsp;&nbsp;&nbsp; option1 = 
"&lt;option&gt;,\x{FFFF}f`.;.........&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
&lt;/option&gt;";<BR>&nbsp;&nbsp;&nbsp; println("after 
option1");<BR>&nbsp;&nbsp;&nbsp; for (i = 0; i &lt; num; 
i++)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; println("get marker 
"+i);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mymark = 
MediaPlayer.currentMedia.getMarkerName(i+1);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
option1 = 
option1+"&lt;option&gt;"+mymark+"&lt;/option&gt;";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
}<BR>&nbsp;&nbsp;&nbsp; println("all marker got.");<BR>&nbsp;&nbsp;&nbsp; head = 
"&lt;form name='frm1' height=22&gt;&lt;select size='1' name='sel1' 
onkeydown='keyDown();' style='color: #00FF00; background-color: #000000' 
onchange='gomarker()'&gt;";<BR>&nbsp;&nbsp;&nbsp; end = 
"&lt;/select&gt;&lt;/form&gt;";<BR>&nbsp;&nbsp;&nbsp; try<BR>&nbsp;&nbsp;&nbsp; 
{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; datouspan.innerHTML = 
head+option1+end;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
println("setted");<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; catch 
(e)<BR>&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; 
frm1.sel1.focus();<BR>&nbsp;&nbsp;&nbsp; println("--onOpenStateChange 
end");<BR>&nbsp; }<BR>********************log 
begin*******************************************&nbsp; 
<BR>---------------------------------------------------</FONT></DIV>
<DIV><FONT face=Arial size=2>processing parameters for onOpenStateChange 
call<BR>setting parameter NewState KJS: to: 13 : Number (0x35)<BR>debug: 
Window(true)::get println<BR>js_debug&gt;--onOpenStateChange<BR>debug: 
Window(true)::get println<BR>js_debug&gt;--fill option list<BR>debug: 
Window(true)::get MediaPlayer<BR>debug: KJS::HTMLElement::tryGet currentMedia 
thisTag=OBJECT<BR>debug: DOMElement::tryGet currentMedia<BR>debug: 
DOMNode::tryGet 
currentMedia<BR>bro&gt;getMarkerCount()<BR>APPBrowserRPCProxy::getMarkerCountCB<BR>app 
play call wrap cmd is 4 thread c04<BR>app_play_call_wrap 
end<BR>free_play_call_param start<BR>free_play_call_param 
end<BR>APPBrowserRPCProxy::getMarkerCountCB end 9<BR>bro&gt;getMarkerCount() 
return 9<BR>KJS: setting property num: 9 : Number (0x25)<BR>debug: 
Window(true)::get println<BR>js_debug&gt;number got 9<BR>KJS: setting property 
option1: 
&lt;option&gt;,\x{FFFF}f`.;.........&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
&lt;/option&gt; : String (0x101a7498)<BR>debug: Window(true)::get 
println<BR>js_debug&gt;after option1<BR>KJS: new variable i: 0 : Number 
(0x1)<BR>debug: Window(true)::get println<BR>js_debug&gt;all marker got.<BR>KJS: 
setting property head: &lt;form name='frm1' height=22&gt;&lt;select size='1' 
name=... : String (0x101a7540)<BR>KJS: setting property end: 
&lt;/select&gt;&lt;/form&gt; : String (0x101a7578)<BR>debug: Window(true)::get 
datouspan<BR>KJS: setting property innerHTML: &lt;form name='frm1' 
height=22&gt;&lt;select size='1' name=... : String (0x101a7620)<BR>debug: 
KJS::HTMLElement::tryPut innerHTML thisTag=SPAN str=&lt;form name='frm1' 
height=22&gt;&lt;select size='1' name='sel1' onkeydown='keyDown();' 
style='color: #00FF00; background-color: #000000' 
onchange='gomarker()'&gt;&lt;option&gt;\x{FFFF}.\x{FFFF}\x{FFFF}.\x{FFFF}\x{FFFF}-|\x{FFFF}. 
\x{FFFF}..\x{FFFF}.\x{FFFF}\x{FFFF}|.\x{FFFF}..\x{FFFF}....................&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
&lt;/option&gt;&lt;/select&gt;&lt;/form&gt;<BR>debug: 
KJS::HTMLElement::putValueProperty&nbsp; thisTag=SPAN token=344<BR>debug: 
Window::retrieve part=0x101f6530 'LeftupFrame' interpreter=0x10227d00 
window=0x10227b08<BR>debug: Window::retrieve part=0x101f6530 'LeftupFrame' 
interpreter=0x10227d00 window=0x10227b08<BR>debug: Reading Entry 
General/windowForeground<BR>debug: Window(true)::get 
println<BR>js_debug&gt;setted<BR>debug: Window(true)::get frm1<BR>debug: 
KJS::HTMLElement::tryGet sel1 thisTag=FORM<BR>debug: 
KJS::HTMLCollection::getNamedItems sel1<BR>debug: returning single 
node<BR>debug: KJS::HTMLElement::tryGet focus thisTag=SELECT<BR>debug: 
KJS::HTMLElementFunction::tryCall<BR>debug: 0x101571b8 emitting 
activePartChanged 0x101f6530RIPC2PlayerProxy2: notify other event 2<BR>enter the 
1 times in notify<BR>Player start new chapter<BR>switch new chapter index is 
1,chapterNum is 
9<BR>app&gt;markerHitEvent(2)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<BR>debug: new active frame 0x101f6530<BR>debug: Reading Entry 
General/windowForeground<BR>debug: Window(true)::get 
println<BR>js_debug&gt;--onOpenStateChange end</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>********************log end 
*******************************************</FONT></DIV>
<DIV><FONT face=Arial size=2>Has anybody seen this problem? Or any 
suggestion?</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>BTW: konqe is working in a MIPS 4kc 
CPU.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Any help is appreciated.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>regards</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>hu</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV></BODY></HTML>