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


-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch.diff
Type: text/x-patch
Size: 1884 bytes
Desc: not available
URL: 
<http://mail.opensolaris.org/pipermail/jds-review/attachments/20070309/05a60d99/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: cairo-02-8bit-fix.diff
Type: text/x-patch
Size: 14627 bytes
Desc: not available
URL: 
<http://mail.opensolaris.org/pipermail/jds-review/attachments/20070309/05a60d99/attachment-0001.bin>

Reply via email to