Marc Lehmann <[EMAIL PROTECTED]> writes:

> What happens when you add a simple createvisual/destroy just before the
> iconfile code, i.e.:
>
>  destroy_asvisual (
>     create_asvisual_for_id (dpy, display->screen, depth, XVisualIDFromVisual
>        (visual), cmap, NULL), 0);

It crashes.

>> I'm running Fedora Core 9 with libAfterImage-1.18-1.fc9.i386 and gcc
>> 4.3.0. Maybe one of those Fedora security enhancements which regularly
>> bring trouble?
>
> I use libafterstep 2.2.8 (from the afterstep 2.2.8 release - it's actually
> older than 1.18 - afterstep versioning is total chaos).
>
> It would be nice if you could debug this further - most likely this is
> simply a bug in libafterstep.

I just did some digging around. If I link urxvt against a manually
compiled static libAfterImage-1.18 instead of the dynamic
libAfterImage-1.18 from Fedora, urxvt doesn't crash. So I had the
suspicion the Fedora library is broken. However, a minimal example
outside of urxvt (see below) linked against Fedora's library does not
crash using the compiler options and libraries used by rxvt-unicode. So
I'm still searching for the trigger of the bug.

========================================================================
Not crashing minimal example
========================================================================
//g++ -o asviewtest -g -O3 -fno-rtti -fvisibility-inlines-hidden 
-fno-threadsafe-statics -fno-enforce-eh-specs -w -DDEBUG_STRICT 
-I/usr/include/libAfterImage/ -lm  -lsupc++ -lXft -lXrender -lfontconfig 
-lfreetype -lX11    -lAfterImage -lfreetype -ltiff -lX11 -L/usr/lib -lSM -lICE 
-lGL -lXext -ljpeg -lpng -lz -lm -lX11 asviewtest.c
#include <string.h>
#include <stdlib.h>
#include <afterbase.h>
#include <afterimage.h>
int main(int argc, char* argv[])
{
  char *image_file = "rose512.jpg" ;
  ASImage *im ;
  ASVisual *asv ;
  int screen, depth ;
  set_application_name( argv[0] );
  dpy = XOpenDisplay(NULL);
  XSynchronize (dpy, True);
  screen = DefaultScreen(dpy);
  depth = DefaultDepth( dpy, screen );
  asv = create_asvisual( dpy, screen, depth, NULL );
  im = file2ASImage( image_file, 0xFFFFFFFF, SCREEN_GAMMA, 0, 
getenv("IMAGE_PATH"), NULL );
  ASImage2file( im, NULL, "asview.png", ASIT_Png, NULL );
  destroy_asvisual( asv, False );
  asv = NULL ;
  return 0 ;
}


-- 
Have you ever considered how much text can fit in eighty columns?  Given that a
signature typically contains up to four lines of text, this space allows you to
attach a tremendous amount of valuable information to your messages.  Seize the
opportunity and don't waste your signature on bullshit that nobody cares about.

_______________________________________________
rxvt-unicode mailing list
[email protected]
http://lists.schmorp.de/cgi-bin/mailman/listinfo/rxvt-unicode

Reply via email to