Hi folks,
I just stumbled upon a crash in renderer_libart_copy_to_window, with
anti-aliased mode ON. I was resizing a window, just after dropping a
rectangle in it.
This might be the same as the crash which was reported a few days ago.
The last line of dia's code executed was here :
extern void
renderer_libart_copy_to_window(RendererLibart *renderer, GdkWindow *window,
int x, int y, int width, int height)
{
static GdkGC *copy_gc = NULL;
int w;
if (copy_gc == NULL) {
copy_gc = gdk_gc_new(window);
}
w = renderer->renderer.pixel_width;
/* HERE ----> */ gdk_draw_rgb_image(window,
copy_gc,
x,y,
width, height,
GDK_RGB_DITHER_NONE,
renderer->rgb_buffer+x*3+y*3*w,
w*3);
}
The variables were :
x=-1, y=-1, width=0, height=121, w=0, renderer->rgb_buffer pointed
to something appearing to be valid.
I wonder if x and y really ought to be negative : renderer->rgb_buffer
is valid, but is (renderer->rgb_buffer - 3) really a place we can blit ?
Lacking time and expertise in that area, I hope that helps.
-- Cyrille
------------------------------------------------------------------------------
Grumpf.