|
From: Matthew B. <mp...@pi...> - 2015-01-28 22:59:15
|
Hi,
I've discovered a (relatively minor) bug in the Save Molecule... dialog
box. This happened because I always have tons of windows up on multiple
monitors and it got lost.
To reproduce:
Go to File > Save Molecule...
Don't close the window, and do it again
Go to File > Save Molecule...
Now you can close one of the dialogs by hitting Cancel as usual. Now if
you hit Cancel or Ok or the X in the corner on the other dialog, it
throw an error, and you can't get it to close without closing the parent
pymol session.
Error: 2
<type 'exceptions.AttributeError'> Exception in Tk callback
Function: <function <lambda> at 0x7fc557515848> (type: <type 'function'>)
Args: ()
Traceback (innermost last):
File "/usr/lib/python2.7/dist-packages/Pmw/Pmw_1_3/lib/PmwBase.py",
line 1747, in __call__
return apply(self.func, args)
File "/usr/lib/python2.7/dist-packages/Pmw/Pmw_1_3/lib/PmwDialog.py",
line 153, in <lambda>
command=lambda self=self, name=name: self._doCommand(name))
File "/usr/lib/python2.7/dist-packages/Pmw/Pmw_1_3/lib/PmwDialog.py",
line 132, in _doCommand
return command(name)
File
"/usr/local/lib/python2.7/dist-packages/pmg_tk/skins/normal/__init__.py", line
792, in file_save2
self.my_withdraw(self.dialog)
<type 'exceptions.AttributeError'>: Normal instance has no attribute
'dialog'
Most of the errors appear to be in the Pwm code, which you obviously
don't control. I haven't dived into the code myself, but I think that
you can catch this by detecting when the dialog is open and if another
one tries to open, call raise() on the original one.
I'm running pymol 1.7.4.0, revision 4107 from the SVN built from source
on Ubuntu 14.04.
|