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 (PyMOL-users@lists.sourceforge.net)
Info Page: https://lists.sourceforge.net/lists/listinfo/pymol-users
Archives: http://www.mail-archive.com/pymol-users@lists.sourceforge.net

Reply via email to