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

Re: [pygame] BUG, Userevents disapears in pygame 1.9



Bo,

Thanks for all the information. Best of luck. :)

-Tyler

On Tue, May 12, 2009 at 8:43 AM, Bo Jangeborg <bo@xxxxxxxxxxx> wrote:
I would assume that NUMEVENTS is constrained to 32 for a reason so
I think using my own number series is a better option.

I am not using SVN, I am using the latest build from http://thorbrian.com/pygame/builds.php

Bo)

Tyler Laing skrev:
Bo,

Try increasing the value of pygame.NUMEVENTS. After reading through the event code, and checking through the SDL docs, I find this about User events:

"The contents of the structure members or completely up to the programmer, the only requirement is that /type/ is a value from SDL_USEREVENT to SDL_NUMEVENTS-1 (inclusive)."

pygame.NUMEVENTS has a value of 32, which explains what you ran into.

Examining the font code, I see that apparently the check if the file exists is not working properly, and returning a success, which is why we get a RuntimeError rather than an IOError. To be specific for others, between the lines 589 and 631 is where the error is happening in font.c.

Bo, are you using the latest SVN version of pygame?

-Tyler

On Tue, May 12, 2009 at 8:03 AM, Bo Jangeborg <bo@xxxxxxxxxxx <mailto:bo@xxxxxxxxxxx>> wrote:

   here is the old error out put for the fontloading

   Traceback (most recent call last):
    File "C:\Projekt\eclipse\Pyos\System\DB_Edit\db_edit.pyw", line
   1338, in <module>
     main()
    File "C:\Projekt\eclipse\Pyos\System\DB_Edit\db_edit.pyw", line
   60, in main
     standalone=True)
    File "C:\Projekt\eclipse\Pyos\System\DB_Edit\db_edit.pyw", line
   101, in __init__
     height_max = 20
    File "C:\Projekt\eclipse\Pyos\System\widgets.py", line 7661, in
   __init__

     alpha, align, flags, **extra_attributes)
    File "C:\Projekt\eclipse\Pyos\System\widgets.py", line 4401, in
   __init__
     self.font = get_font(self, font)
    File "C:\Projekt\eclipse\Pyos\System\widgets.py", line 4870, in
   get_font
     fontobj = _Fontcache(parent.gui, font, parent.app.get_source_path())
    File "C:\Projekt\eclipse\Pyos\System\widgets.py", line 4904, in
   __init__
     self.font_object = self.load_font(font_path)
    File "C:\Projekt\eclipse\Pyos\System\widgets.py", line 4922, in
   load_font

     font_object = pygame.font.Font(fullname, self.size)
   IOError: unable to read font filename


   About the userevent.
   User events works but only up to USEREVENT+7, anything after that
   disappears.
   So I can work around it by having my own number sequence in the
   dictionary.

   Bo)

   Tyler Laing skrev:

       Bo,

       Okay, so the load_font is not raising an error, which is a
       bug,  and could you try modifying CALL_FUNCTION to be
       USEREVENT+1 ? 45 is the value of K_MINUS. I don't know if that
       would cause the issue, but if its still throwing an error for
       25, then its not a conflict with a key value.

       Thank you!

       -Tyler

       On Tue, May 12, 2009 at 7:43 AM, Bo Jangeborg <bo@xxxxxxxxxxx
       <mailto:bo@xxxxxxxxxxx> <mailto:bo@xxxxxxxxxxx

       <mailto:bo@xxxxxxxxxxx>>> wrote:

          ### Font error first.

          fullname =
       C:\Projekt\eclipse\Pyos\System\LiberationSans-Regular.ttf
          a file that does not exist.

          here is the full error trace:

          Traceback (most recent call last):
           File "C:\Projekt\eclipse\Pyos\System\DB_Edit\db_edit.pyw",
       line
          1338, in <module>
            main()
           File "C:\Projekt\eclipse\Pyos\System\DB_Edit\db_edit.pyw",
       line
          60, in main
            standalone=True)
           File "C:\Projekt\eclipse\Pyos\System\DB_Edit\db_edit.pyw",
       line
          101, in __init__
            height_max = 20
           File "C:\Projekt\eclipse\Pyos\System\widgets.py", line
       7660, in
          __init__
            alpha, align, flags, **extra_attributes)
           File "C:\Projekt\eclipse\Pyos\System\widgets.py", line
       4401, in
          __init__
            self.font = get_font(self, font)
           File "C:\Projekt\eclipse\Pyos\System\widgets.py", line
       4870, in
          get_font
            fontobj = _Fontcache(parent.gui, font,
       parent.app.get_source_path())
           File "C:\Projekt\eclipse\Pyos\System\widgets.py", line
       4904, in
          __init__
            self.font_object = self.load_font(font_path)
           File "C:\Projekt\eclipse\Pyos\System\widgets.py", line
       4921, in
          load_font
            font_object = pygame.font.Font(fullname, self.size)
          RuntimeError: Can't seek in stream


          ### Event error

          I added  "print CALL_FUNCTION, eventdata" to your output
          and I changed your second print to events2

          and the combined output was this:

          []
          []
          45 {'item': ('Table view', <bound method
       DbEditor.set_table_view
          of <__main__.DbEditor instance at 0x02E7E030>>, None,
       'Ctrl-T'),
          'gui': <System.widgets.Gui instance at 0x024C4BE8>, 'hit_pos':
          (18, 3), 'over_widget': <System.widgets.MenuItem instance at
          0x084EB5D0>}

          In other words the event  disappears without a trace.
          Bo)

          Tyler Laing skrev:

              Well, to the first bug, could we please see the exact
       text of
              the RuntimeError versus the IOError? The runtime error
       could
              be related to processing the font file, if the font loader
              didn't throw an error that there was no file.

              The second bug, can you please show what the output of this
              code does?:

              pygame.event.clear()
              pygame.event.post(pygame.event.Event(CALL_FUNCTION,
        event_data))
              events = pygame.event.get()
              print events
              events2 = pygame.event.get(CALL_FUNCTION)
              print events




       --        Visit my blog at http://oddco.ca/zeroth/zblog
       ------------------------------------------------------------------------


       No virus found in this incoming message.
       Checked by AVG - www.avg.com <http://www.avg.com> Version:

       8.5.325 / Virus Database: 270.12.25/2109 - Release Date:
       05/11/09 16:14:00

       




--
Visit my blog at http://oddco.ca/zeroth/zblog
------------------------------------------------------------------------


No virus found in this incoming message.
Checked by AVG - www.avg.com Version: 8.5.325 / Virus Database: 270.12.26/2110 - Release Date: 05/12/09 06:22:00

 




--
Visit my blog at http://oddco.ca/zeroth/zblog