[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Adonthell-devel] Bug in SDL gfx backend module (?)
From: |
Kai Sterker |
Subject: |
Re: [Adonthell-devel] Bug in SDL gfx backend module (?) |
Date: |
Sun, 23 Dec 2007 16:58:44 +0100 |
On Dec 23, 2007 4:39 PM, Tyler Nielsen <address@hidden> wrote:
> I'd be happy to look at it. Unless you would rather someone new (and
> possibly more active) fix it.
Please go ahead :-).
Maybe it's not even a bug, just stupidity on my account. From looking
at the problem with the word wrapping in v0.3, I've seen that drawing
operations on surfaces are usually surrounded by a pair of
lock()/unlock() method calls. I didn't do any of that and that might
be the whole issue.
If so, the question remains why it works the first time around?
Kai
> On Dec 23, 2007 4:02 AM, Kai Sterker < address@hidden> wrote:
> >
> >
> >
> > While adding some visual debugging aids to the collision system, I
> > stumbled across what appears to be a bug in the SDL graphics code. I
> > didn't want to spend much time tracking it down, so I wrote a simple
> > test to reproduce it (and work around it in my own code).
> >
> > The test program can be found at
> >
> http://cvs.savannah.nongnu.org/viewvc/adonthell/test/imagetest.cc?root=adonthell&view=markup
> >
> > What happens is that the main loop runs once, than triggers the crash
> > during the second iteration:
> >
> > Thread 0 Crashed:
> > 0 _sdl.so 0x04de9d40
> > gfx::surface_sdl::put_pix(unsigned short, unsigned short, unsigned) +
> > 192 (surface_sdl.cc:167)
> > 1 libadonthell_gfx.0.dylib 0x004ad800
> > gfx::surface::draw_line(short, short, short, short, unsigned,
> > gfx::drawing_area const*) + 560 (surface.cc:172)
> > 2 imagetest 0x00003d58 image_test::main() + 344
> > (imagetest.cc:50)
> > 3 _sdl.so 0x002d3b80 -[SDLMain
> > applicationDidFinishLaunching:] + 76
> > [...]
> > 21 _sdl.so 0x002d3ae8
> > CustomApplicationMain(adonthell::app*) + 604
> > 22 _sdl.so 0x002d3bc0 main_init + 32
> > 23 libadonthell_main.0.dylib 0x002693bc adonthell::app::init() +
> > 1036 (adonthell.cc:237)
> > 24 libadonthell_main.0.dylib 0x00269428 main + 72 (main.cc:81)
> > 25 imagetest 0x0000217c _start + 760
> > 26 imagetest 0x00001e80 start + 48
> >
> > Since I'd rather invest my time into the collision stuff, I'd like to
> > leave this one to somebody else to figure out. That's possibly a nice
> > exercise for somebody to get a little more familiar with the code base
> > :-).
> >
> > Kai
> >
> >
> > _______________________________________________
> > Adonthell-devel mailing list
> > address@hidden
> > http://lists.nongnu.org/mailman/listinfo/adonthell-devel
> >
>
>