Hi Jedy,
The patch looks good.
Erwann
Jedy Wang wrote:
> Hi all,
>
> There is a bug (http://bt2ws.central.sun.com/CrPrint?id=6521811) on
> evolution which makes evolution crash. This bug is caused by
> cairo-02-8bit-fix.diff.
> In the patch:
>
> 396 + case WORKAROUND_8BIT_PALETTE:
> 397 +
> 398 + if (make_space_for(&buf, &size, &stride, image->width,
> image->height, 1))
> 399 + return CAIRO_STATUS_NO_MEMORY;
> 400 + data = buf;
> 401 + src = image->data;
> 402 + ilut = surface->clut->ilut;
>
> surface->clut coule be NULL and this could cause evolution to crash.
> And my new patch adds the following statements before we use
> surface->clut
> if(surface->clut == NULL) {
> surface->clut = _get_clut_r3g3b2(
> surface->dpy,
> DefaultColormapOfScreen(surface->screen));
> }
> if(surface->clut == NULL) {
> free(data);
> break;
> }
>
> Because the bug makes evolution calendar totally unusable, I think
> it's critical and should be fixed on Neveda.
> The original patch and new patch for cairo-02-8bit-fix.diff are
> attached. Please review it.
>
> BTW:The bug can not be produced on vermillion because the patch was
> disabled
>
> Regards,
>
> Jedy Wang
>
>
--
Erwann Ch?ned?,
Desktop Group, Sun Microsystems, Grenoble
Phone : +33 476 188 358 ext: 38358
[ I speak for myself, not for my employer ]