[PyQt] Segmentation Fault

Giovanni Bajo rasky at develer.com
Thu Nov 29 18:56:57 GMT 2007

On 11/29/2007 12:03 PM, Fred wrote:

> I've got a difficult to track problem. I'm creating a game to learn PyQt and 
> I'm sure I am missing something really, really obvious, but still: can't find 
> it.
> I made a grid of tiles. Every tile is a graphicsItem on a scene. I've made a 
> dictionary of tiles where the key is the coordinates on the grid (x,y) and 
> the content is (a reference to) the qgraphicsItem.
> On a certain point in the game, during a mousepressevent, I need to remove a 
> certain amount of tiles. In a for loop I remove the qgraphicsitem from the 
> scene and from the dictionary and I delete the item itself (del item).
> Then, when it enters the eventloop again, it segfaults. I'm sure it has 
> something to do with the way I delete the item's. When I delete it from the 
> scene, but keep it in the dictionary, it works (well, it doesn't segfault). 
> If I remove it from the dictionary, but not from the scene, it works too. My 
> guess is that it works in those to cases, because the item itself is then not 
> deleted. But I want it deleted. Somehow, when I get back into the eventloop, 
> the removed items are still expected to be there.
> Any hints?

We're short on magicians lately :)

Please post a complete, runnable source code example that reproduces the 
bug. But let me guess that you're doing something weird with ownership 
of the items...
Giovanni Bajo

More information about the PyQt mailing list