[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: [pygame] event getting corrupted



claudio canepa skrev:


On Wed, Sep 16, 2009 at 5:18 PM, Bo Jangeborg <bo@xxxxxxxxxxx <mailto:bo@xxxxxxxxxxx>> wrote:


        a ha
        Well, from where comes event ?


    event = pyg_event.poll()

    but note that a long can't have attributes and 13 lines above the
    error point I do :

    mouse_pos = event.pos

    and it works at that time


pyg_event.poll is pygame.event.poll ?
Yes

If the only fountain for events were the pygame event queue, the traceback coulnt happen:

a)
elif event.type is MOUSEBUTTONUP:
   -> dont, raises, so is not a long

b) the flow comes to
_,_,_ = self.mouse_button_up(event, mob_pos, mousemove)

c)into method mouse_button_up event will become a local variable. That variable is not assigned, at least in the code you show here.
d) the flow progress to the line
if event.button == 1:
where it raises AttributeError: 'long' object has no attribute 'button'

I see two possibilities here:

1. You snipped some code where event is assigned

No , you can see all the code, and event is not being assigned to.
2. ( wild possibility) the functions called in mouse_button_up will produce a *second* call with other parameters to the same function, and that call has a wrong event parameter. But, why the traceback not show additional calls in that case?
No , there are no such recursive calls to mouse_button_up
besides if the incoming event parameter was a long it should fail at mouse_pos = event.pos

My guess is that there is something over writing the event object at a lower level, possibly
caused by something I am doing.
Bo)