<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">


<META content="MSHTML 6.00.2800.1170" name=GENERATOR></HEAD>
<BODY>
<DIV><SPAN class=644425221-08092003></SPAN><FONT face=Arial><FONT size=2>O<SPAN 
class=644425221-08092003>n SuSE 8.0 with Qt at 3.0.3, PyQt/SIP&nbsp;at 3.4 
</SPAN></FONT></FONT><FONT face=Arial><FONT size=2><SPAN 
class=644425221-08092003>the following works from a thread&nbsp;OTHER than the 
GUI thread:</SPAN></FONT></FONT></DIV>
<DIV><FONT face=Arial><FONT size=2><SPAN 
class=644425221-08092003></SPAN></FONT></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial><FONT size=2><SPAN 
class=644425221-08092003>&nbsp;&nbsp;&nbsp; def doAdvance(self, parent, 
tyme):<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #lock GUI resources with 
the Qt Library Mutex<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
qApp.lock()<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
parent.childCanvas.advance()<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
qApp.unlock()<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tyme = tyme + 
1/float(ADVANCE_RATE_DIVISOR) &nbsp;&nbsp;&nbsp;&nbsp;#modify time by advance 
rate <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #enter next absolute time 
event<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; self.schedule.enterabs(tyme, 
1, self.doAdvance, (parent, tyme))&nbsp;</SPAN></FONT></FONT></DIV>
<DIV><FONT face=Arial><FONT size=2><SPAN 
class=644425221-08092003></SPAN></FONT></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial><FONT size=2><SPAN class=644425221-08092003>
<DIV><FONT face=Arial><FONT size=2><SPAN 
class=644425221-08092003>Also,&nbsp;on&nbsp;Red 9.0 with Qt at 3.1.1, 
PyQt/SIP&nbsp;at 3.5 </SPAN></FONT></FONT><FONT face=Arial><FONT size=2><SPAN 
class=644425221-08092003>the above also works</SPAN></FONT></FONT></DIV>
<DIV><FONT face=Arial><FONT size=2><SPAN 
class=644425221-08092003></SPAN></FONT></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial><FONT size=2><SPAN class=644425221-08092003>BUT,&nbsp;on 
<FONT face=Arial><FONT size=2><SPAN class=644425221-08092003>SuSE 8.2 with Qt at 
3.1.1, PyQt/SIP&nbsp;at 3.8 </SPAN></FONT></FONT><FONT face=Arial><FONT 
size=2><SPAN class=644425221-08092003>the above does&nbsp;NOT 
work.</SPAN></FONT></FONT></SPAN></FONT></FONT></DIV>
<DIV><FONT face=Arial><FONT size=2><SPAN class=644425221-08092003><FONT 
face=Arial><FONT size=2><SPAN 
class=644425221-08092003></SPAN></FONT></FONT></SPAN></FONT></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial><FONT size=2><SPAN class=644425221-08092003><FONT 
face=Arial><FONT size=2><SPAN class=644425221-08092003>When&nbsp;my application 
is executed I get the following 
errors:</SPAN></FONT></FONT></SPAN></FONT></FONT></DIV>
<DIV><FONT face=Arial><FONT size=2><SPAN class=644425221-08092003><FONT 
face=Arial><FONT size=2><SPAN 
class=644425221-08092003></SPAN></FONT></FONT></SPAN></FONT></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial><FONT size=2><SPAN class=644425221-08092003><FONT 
face=Arial><FONT size=2><SPAN class=644425221-08092003>Xlib: unexpected async 
reply .....</SPAN></FONT></FONT></SPAN></FONT></FONT></DIV>
<DIV><FONT face=Arial><FONT size=2><SPAN class=644425221-08092003><FONT 
face=Arial><FONT size=2><SPAN 
class=644425221-08092003></SPAN></FONT></FONT></SPAN></FONT></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial><FONT size=2><SPAN class=644425221-08092003><FONT 
face=Arial><FONT size=2><SPAN class=644425221-08092003>OR&nbsp;something 
like</SPAN></FONT></FONT></SPAN></FONT></FONT></DIV>
<DIV><FONT face=Arial><FONT size=2><SPAN class=644425221-08092003><FONT 
face=Arial><FONT size=2><SPAN 
class=644425221-08092003></SPAN></FONT></FONT></SPAN></FONT></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial><FONT size=2><SPAN class=644425221-08092003><FONT 
face=Arial><FONT size=2><SPAN class=644425221-08092003>X Error: BadPixmap 
(invalid Pixmap parameter) 4<BR>&nbsp; Major opcode:&nbsp; 56<BR>&nbsp; Minor 
opcode:&nbsp; 0<BR>&nbsp; Resource id:&nbsp; 0x50046<BR><BR>X Error: BadLength 
(poly request too large or internal Xlib length error) 16<BR>&nbsp; Major 
opcode:&nbsp; 75<BR>&nbsp; Minor opcode:&nbsp; 0<BR>&nbsp; Resource id:&nbsp; 
0x0</SPAN></FONT></FONT></SPAN></FONT></FONT></DIV><FONT face=Arial><FONT 
size=2><SPAN class=644425221-08092003><FONT face=Arial><FONT size=2><SPAN 
class=644425221-08092003></SPAN></FONT></FONT></SPAN></FONT></FONT></SPAN></FONT></FONT></DIV>
<DIV><FONT face=Arial><FONT size=2><SPAN class=644425221-08092003><FONT 
face=Arial><FONT size=2><SPAN class=644425221-08092003><FONT face=Arial><FONT 
size=2><SPAN 
class=644425221-08092003></SPAN></FONT></FONT></SPAN></FONT></FONT></SPAN></FONT></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial><FONT size=2><SPAN class=644425221-08092003><FONT 
face=Arial><FONT size=2><SPAN class=644425221-08092003><FONT face=Arial><FONT 
size=2><SPAN class=644425221-08092003>These error messages disappear when 
'parent.childCanvas.advance()' is commented 
out.</SPAN></FONT></FONT></SPAN></FONT></FONT></SPAN></FONT></FONT></DIV>
<DIV><FONT face=Arial><FONT size=2><SPAN class=644425221-08092003><FONT 
face=Arial><FONT size=2><SPAN class=644425221-08092003><FONT face=Arial><FONT 
size=2><SPAN class=644425221-08092003>I know this has something to do with 
threading, because the mail Qt mail archive has postings with these kinds of 
errors.</SPAN></FONT></FONT></SPAN></FONT></FONT></SPAN></FONT></FONT></DIV>
<DIV><FONT face=Arial><FONT size=2><SPAN class=644425221-08092003><FONT 
face=Arial><FONT size=2><SPAN class=644425221-08092003><FONT face=Arial><FONT 
size=2><SPAN 
class=644425221-08092003></SPAN></FONT></FONT></SPAN></FONT></FONT></SPAN></FONT></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial><FONT size=2><SPAN class=644425221-08092003><FONT 
face=Arial><FONT size=2><SPAN class=644425221-08092003><FONT face=Arial><FONT 
size=2><SPAN class=644425221-08092003>The real question that I have is what 
happened between PyQt 3.5 and PyQt 3.8 that this is now a problem when it was 
not before?</SPAN></FONT></FONT></SPAN></FONT></FONT></SPAN></FONT></FONT></DIV>
<DIV><FONT face=Arial><FONT size=2><SPAN class=644425221-08092003><FONT 
face=Arial><FONT size=2><SPAN class=644425221-08092003><FONT face=Arial><FONT 
size=2><SPAN class=644425221-08092003>What can&nbsp;be done&nbsp;about this 
problem?</SPAN></FONT></FONT></SPAN></FONT></FONT></SPAN></FONT></FONT></DIV>
<DIV><FONT face=Arial><FONT size=2><SPAN class=644425221-08092003><FONT 
face=Arial><FONT size=2><SPAN class=644425221-08092003><FONT face=Arial><FONT 
size=2><SPAN 
class=644425221-08092003></SPAN></FONT></FONT></SPAN></FONT></FONT></SPAN></FONT></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial><FONT size=2><SPAN class=644425221-08092003><FONT 
face=Arial><FONT size=2><SPAN class=644425221-08092003><FONT face=Arial><FONT 
size=2><SPAN 
class=644425221-08092003></SPAN></FONT></FONT></SPAN></FONT></FONT></SPAN></FONT></FONT><FONT 
face=Arial><FONT size=2><SPAN class=644425221-08092003><FONT face=Arial><FONT 
size=2><SPAN class=644425221-08092003><FONT face=Arial><FONT size=2><SPAN 
class=644425221-08092003>NOTE: If, in the GUI thread,&nbsp;I use QCanvas.<FONT 
face="Times New Roman">setAdvancePeriod () or if I use a QTimer&nbsp;to call 
QCanvas.advance() on a regular basis, object motion on the canvas slows when the 
application 
is</FONT></SPAN></FONT></FONT></SPAN></FONT></FONT></SPAN></FONT></FONT><FONT 
face=Arial><FONT size=2><SPAN class=644425221-08092003><FONT face=Arial><FONT 
size=2><SPAN class=644425221-08092003><FONT face=Arial><FONT size=2><SPAN 
class=644425221-08092003><FONT face="Times New Roman"> under heavy 
utilization.&nbsp; The above construct has been the only way that I could keep 
object motion 
constant.</FONT></SPAN></FONT></FONT></SPAN></FONT></FONT></SPAN></FONT></FONT></DIV>
<DIV><FONT face=Arial><FONT size=2><SPAN class=644425221-08092003><FONT 
face=Arial><FONT size=2><SPAN class=644425221-08092003><FONT face=Arial><FONT 
size=2><SPAN class=644425221-08092003><FONT 
face="Times New Roman"></FONT></SPAN></FONT></FONT></SPAN></FONT></FONT></SPAN></FONT></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial><FONT size=2><SPAN class=644425221-08092003><FONT 
face=Arial><FONT size=2><SPAN class=644425221-08092003><FONT face=Arial><FONT 
size=2><SPAN class=644425221-08092003><FONT face="Times New Roman">Thanks for 
any help.</FONT></DIV>
<DIV><BR></DIV></SPAN></FONT></FONT></SPAN></FONT></FONT>
<DIV><FONT face=Arial><FONT size=2><SPAN class=644425221-08092003><FONT 
face=Arial><FONT size=2><SPAN 
class=644425221-08092003></SPAN></FONT></FONT></SPAN></FONT></FONT>&nbsp;</DIV></SPAN></FONT></FONT>
<DIV><BR></DIV>
<DIV>&nbsp;</DIV></BODY></HTML>