Hi,
I have uncovered a possible (small) bug in the internal.py file from my pymol
install, and while I have not downloaded and compiled the newest source, I
would just like to confirm that I am not missing something obvious.
The problem is that during the refresh() operation, pymol mistakes a thread
running from a plugin for a glutThread when it checks the thread id in the
refresh operation:
(from internal.py)
# screen redraws (thread-specific)
def _refresh(swap_buffers=1,_self=cmd): # Only call with GLUT thread!
# WARNING: internal routine, subject to change
r = None
try:
_self.lock(_self)
if hasattr(_self._pymol,'glutThread'):
if thread.get_ident() == _self._pymol.glutThread:
if swap_buffers:
r = _cmd.refresh_now(_self._COb)
else:
r = _cmd.refresh(_self._COb)
else:
r = _cmd.refresh_later(_self._COb)
else:
r = _cmd.refresh_later(_self._COb)
finally:
_self.unlock(-1,_self)
The if statement with the _self._pymol.glutThread is returning true despite not
being called from pymol's glut thread. This causes refresh_now to be called
instead of refresh_later, which in this case has the practical upshot of making
the pymol viewing screen flicker whenever a tk interface is over it.
Is this a pymol bug? Am I mistaken in this?
Thanks
Jordan
------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
lucky parental unit. See the prize list and enter to win:
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
PyMOL-users mailing list ([email protected])
Info Page: https://lists.sourceforge.net/lists/listinfo/pymol-users
Archives: http://www.mail-archive.com/[email protected]