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

Re: [pygame] BUG: pygame.event.peek



Alex Holkner wrote:

An additional undocumented signature is available:
 pygame.event.peek(): return Event

The function returns the next event instead of a bool if no arguments are given.

The returned event is filled with nonsense (uninitialized) values if no event is in the queue. Suggest it return None in this case instead, or that the undocumented functionality be removed entirely.

Alex.


Having just looked at the pygame.event.post() code: it is possible to crash pygame (or at the very least, get garbage values) by posting a user event with a dictionary, then peeking that event more than once (or peeking it and then getting it).

User event dictionaries are freed when requested, so if peek() with no arguments is desired, "user_event_getobject" needs to be modified to not free "userobj" when peeking, only when getting.

Alex.