[Eric] Bugs in latest eric4 snapshot

Andreas Pakulat apaku at gmx.de
Thu Apr 5 18:47:43 BST 2007


On 04.04.07 14:09:16, Andreas Pakulat wrote:
> On 04.04.07 02:14:05, Andreas Pakulat wrote:
> > Hi,
> > 
> > just updated to python2.5 and latest snapshots of pyqt4/sip/eric4
> > (20070402) and trying to start it I get:
> > 
> > An unhandled exception occurred. Please report the problem using the error reporting dialog or via email to <eric4-bugs at die-offenbachs.de>. A log has been written to "/home/andreas/.eric4/eric4_error.log".
> 
> This seems to be a serious bug in BrowserModel.py, it created indices
> using createIndex( row, column, item ) and later on it uses indices that
> are given to it (for example in the item() function) to retrieve the
> item from a dict. This can't work, using createIndex() will set the
> internalPointer() of that index, but internalId() will return some
> "arbitrary" value (i.e. -1.....). So BrowserModel.py needs to be fixed
> to be consistent, either always use createIndex(row,col,id(item)) or
> always use internalPointer() instead of internalId(). 

Ok, I talked to Phil on the pyqt list and it seems internalId() is not
reliable in Python due to the fact that in Python id() uses a long,
while in C++ createIndex uses a quint32 and internalId in C++ uses a
quint64 (which is probably a bug anyway). So I created a patch which
fixes BrowserModel and unless I'm mistaken also ProjectBrowserModel, by
using internalPointer and the object-overload of createIndex together
with a list of objects instead of a dict.

Andreas

-- 
Communicate!  It can't make things any worse.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fix_browsermodels.diff
Type: text/x-diff
Size: 12460 bytes
Desc: not available
Url : http://www.riverbankcomputing.com/pipermail/eric/attachments/20070405/0c17ef27/fix_browsermodels-0001.bin


More information about the Eric mailing list