I am happy to fix one bug today, and it is caused by gdk drawing with directfb backend.
The issue is that there is one pixel width line on the right and bottom edge. Here is one screen shot(http://hi.csdn.net/space-2464555-do-album-picid-483016.html).
I was not sure about it, and I doubted first that I make the wrong clip region. But it was proved that clip was right. After more study, I found the issue was caused by gdk drawing. When it clears the area which to be redraw, it invokes IDirectFBSurface::SetClip() with one DFBRegion. But the region size is larger one pixel both in width and in height.
in gdk/directfb/gdkdrawable-directfb.c, gtk+-2.13.0 (there is same issue in latest version 2.18)
gdk_directfb_draw_rectangle (GdkDrawable *drawable,
GdkGC *gc,
gint filled,
gint x,
gint y,
gint width,
gint height)
{
..........
for (i = 0; i < clip.numRects; i++)
{
DFBRegion reg = { clip.rects[i].x1, clip.rects[i].y1,
clip.rects[i].x2 , clip.rects[i].y2 }; /// this is not right in size
impl->surface->SetClip (impl->surface, ®);
impl->surface->TileBlit (impl->surface, surface, NULL, x, y);
}
.............
}