[Oops, sorry, send too fast] Dear Phil,
On Tuesday 01 February 2011, 22:26:43 Hans-Peter Jansen wrote: > > Phil, something is badly broken with the current release and the > snapshots. Here's the essence of the issue: class A(object): def __init__(self): # catch access a non existing attribute try: print self.a, type(self.a) except AttributeError: pass a = A() from PyQt4.Qsci import QsciScintilla # derive from a sip wrapped class class B(QsciScintilla): def __init__(self): # access a non existing attribute results in: # TypeError: 'sip.methoddescriptor' object is not callable try: print self.b, type(self.b) except AttributeError: pass b = B() results in: Traceback (most recent call last): File "sipinstance.py", line 22, in <module> b = B() File "sipinstance.py", line 18, in __init__ print self.b, type(self.b) TypeError: 'sip.methoddescriptor' object is not callable Obviously, accessing non existing attributes in classes wrapped by sip causes havoc (an unexpected TypeError). At least for: python: 2.6 sip: 4.12.1 qt4: 4.6.3 pyqt4: snapshot-4.8.4-278054fd857c I was able to fix eric with this diff: --- QScintilla/Editor.py~ 2011-02-02 21:31:20.741149390 +0100 +++ QScintilla/Editor.py 2011-02-02 21:31:30.683988621 +0100 @@ -1258,7 +1258,7 @@ class Editor(QsciScintillaCompat): """ try: self.supportedEols[self.getLineSeparator()].setChecked(True) - except AttributeError: + except (AttributeError, TypeError): pass def __eolChanged(self): Note: self.supportedEols doesn't exist, when this method is called the first time. Guess, it's sip 4.12.2 time ;-) Pete
sipinstance.py
Description: application/python
_______________________________________________ PyQt mailing list PyQt@riverbankcomputing.com http://www.riverbankcomputing.com/mailman/listinfo/pyqt