<!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 at 3.4
</SPAN></FONT></FONT><FONT face=Arial><FONT size=2><SPAN
class=644425221-08092003>the following works from a thread OTHER than the
GUI thread:</SPAN></FONT></FONT></DIV>
<DIV><FONT face=Arial><FONT size=2><SPAN
class=644425221-08092003></SPAN></FONT></FONT> </DIV>
<DIV><FONT face=Arial><FONT size=2><SPAN
class=644425221-08092003> def doAdvance(self, parent,
tyme):<BR> #lock GUI resources with
the Qt Library Mutex<BR>
qApp.lock()<BR>
parent.childCanvas.advance()<BR>
qApp.unlock()<BR> tyme = tyme +
1/float(ADVANCE_RATE_DIVISOR) #modify time by advance
rate <BR> #enter next absolute time
event<BR> self.schedule.enterabs(tyme,
1, self.doAdvance, (parent, tyme)) </SPAN></FONT></FONT></DIV>
<DIV><FONT face=Arial><FONT size=2><SPAN
class=644425221-08092003></SPAN></FONT></FONT> </DIV>
<DIV><FONT face=Arial><FONT size=2><SPAN class=644425221-08092003>
<DIV><FONT face=Arial><FONT size=2><SPAN
class=644425221-08092003>Also, on Red 9.0 with Qt at 3.1.1,
PyQt/SIP 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> </DIV>
<DIV><FONT face=Arial><FONT size=2><SPAN class=644425221-08092003>BUT, on
<FONT face=Arial><FONT size=2><SPAN class=644425221-08092003>SuSE 8.2 with Qt at
3.1.1, PyQt/SIP at 3.8 </SPAN></FONT></FONT><FONT face=Arial><FONT
size=2><SPAN class=644425221-08092003>the above does 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> </DIV>
<DIV><FONT face=Arial><FONT size=2><SPAN class=644425221-08092003><FONT
face=Arial><FONT size=2><SPAN class=644425221-08092003>When 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> </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> </DIV>
<DIV><FONT face=Arial><FONT size=2><SPAN class=644425221-08092003><FONT
face=Arial><FONT size=2><SPAN class=644425221-08092003>OR 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> </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> Major opcode: 56<BR> Minor
opcode: 0<BR> Resource id: 0x50046<BR><BR>X Error: BadLength
(poly request too large or internal Xlib length error) 16<BR> Major
opcode: 75<BR> Minor opcode: 0<BR> Resource id:
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> </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> </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 be done 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> </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, I use QCanvas.<FONT
face="Times New Roman">setAdvancePeriod () or if I use a QTimer 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. 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> </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> </DIV></SPAN></FONT></FONT>
<DIV><BR></DIV>
<DIV> </DIV></BODY></HTML>