|
From: Thomas H. <tho...@sc...> - 2015-01-30 21:37:47
|
Hi Matthew, good catch, we'll fix that. Cheers, Thomas On 28 Jan 2015, at 17:43, Matthew Baumgartner <mp...@pi...> wrote: > 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. -- Thomas Holder PyMOL Principal Developer Schrödinger, Inc. |