On Wed, Sep 16, 2009 at 3:36 PM, Bo Jangeborg <b...@softwave.se> wrote:

> I have seen a troubling error for some time now.
> Occasionally I get a segmentation error with no indication of what
> went wrong. The error is not repeatable in a reliable way and I get
> no error trace. Repeating the error can take hours.
>
> After seeing this I have tried to pin down, with the debugger running,
> what's going wrong but the nearest I can get is that the event object
> gets turned into a long at different times.
>
> Running with a debugger I got this trace. I have included the calling
> line were you can see that the event seem to be correct, but at some
> point the event object seem to become corrupted.
> Included is also the code between the call and the eventual point
> of error. I am at loss at what may be going wrong.
>
> Bo)
>
> Traceback (most recent call last):
>  File "C:\Program
> Files\eclipse\plugins\org.python.pydev.debug_1.4.7.2843\pysrc\pydevd.py",
> line 881, in <module>
>   debugger.run(setup['file'], None, None)
>  File "C:\Program
> Files\eclipse\plugins\org.python.pydev.debug_1.4.7.2843\pysrc\pydevd.py",
> line 710, in run
>   execfile(file, globals, locals) #execute the script
>  File "C:\Projekt\eclipse\Pyos\Program\Solitaire\solitaire.py", line 761,
> in <module>
>   main()
>  File "C:\Projekt\eclipse\Pyos\Program\Solitaire\solitaire.py", line 80, in
> main
>   if screen.main_loop(app):
>  File "C:\Projekt\eclipse\Pyos\System\widgets\gui.py", line 328, in
> main_loop
>   = self.mouse_button_up(event, mob_pos, mousemove)
>  File "C:\Projekt\eclipse\Pyos\System\widgets\gui.py", line 573, in
> mouse_button_up
>   if event.button == 1:
> AttributeError: 'long' object has no attribute 'button'
>
>
>



> elif event.type is MOUSEBUTTONUP:
>    mob_pos, mousemove, mouse_pos, hit_pos \
>                = self.mouse_button_up(event, mob_pos, mousemove)
>
>
>
>
 a ha

    def mouse_button_up(self, event, mob_pos, mousemove):

      ''' handle mouse button up events'''
>       mousebtn_event = False
>       mouse_pos = event.pos
>       widget, hit_pos = self.mouse_hit_widget(mouse_pos[0],
>                                           mouse_pos[1])
>       if widget is None or not widget.enabled:
>           self.moving_object = None
>           self.repeating_object = None
>           self.last_over_drop_widget = None
>       else:
>           event_data = {'hit_pos':hit_pos, 'over_widget':widget}
>           event_data['gui'] = self
>           if widget and widget.exists('event_click_release_data'):
>               event_data.update(widget.event_click_release_data)
>           #InsideButton  (Left)
>           if event.button == 1:
>
>
a ha
Well, from where comes event ?

--
claudio

Reply via email to