"Pertti Karppinen (OH6KTR)" wrote: > > I just found (atleast on sgi O2 box) that when you cast burning hands or > similar spells o a map that has no floor tile, it leaves lot of spell images > to map. They get erased when You walk over them though. This is now fixed in cvs. > > Also, I may completely clueless coder, but why does following code compile > without warnings on gcc (client/x11.c at the bottom): > for (i=1; i<MAXPIXMAPNUM; i++) { > if (pixmaps[i].pixmap && (pixmaps[i].pixmap!=pixmaps[0].pixmap)) { > XFreePixmap(display, pixmaps[i].pixmap); > pixmaps[i].pixmap=(Pixmap*)NULL; > if (pixmaps[i].mask) { > XFreePixmap(display, pixmaps[i].mask); > pixmaps[i].mask=(Pixmap*)NULL; > > pixmaps[i].pixmap and pixmaps[i].mask are both of type > Pixmap, not Pixmap *. > That code looks weird alltogether. Its pretty odd. I've fixed the cast. In reality, clearing the pixmap data/pointer probably should not be needed, as we should not be trying to access the images in any case. But I have made some other enhancements to the client. Notably, before if you disconnected from one server, often the client would crash because it would try to access that pixmap data (because inventory, map, or look window still had references). I've added code that now clears all that data.