-#if !GTK_CHECK_VERSION (2, 90, 8)
- if (gdk_rectangle_intersect (expose_area, cell_area, &draw_rect) &&
- (flags & GTK_CELL_RENDERER_PRELIT))
- gtk_paint_shadow (style,
- window,
- state,
- active ? GTK_SHADOW_IN : GTK_SHADOW_OUT,
- &draw_rect,
- widget, NULL,
- toggle_rect.x, toggle_rect.y,
- toggle_rect.width, toggle_rect.height);
-#endif
+ if ((flags & GTK_CELL_RENDERER_PRELIT) &&
+ gdk_cairo_get_clip_rectangle(cr, &clip_rect) &&
+ gdk_rectangle_intersect (&clip_rect, cell_area, &draw_rect))
+ {
+ cairo_save (cr);
+ gtk_style_context_save (context);
+ gdk_cairo_rectangle (cr, &draw_rect);
+ cairo_clip (cr);
+ gtk_render_frame (context, //gtk_widget_get_style_context (widget),
+ cr,
+ toggle_rect.x, toggle_rect.y,
+ toggle_rect.width, toggle_rect.height);
+ gtk_style_context_restore (context);
+ cairo_restore (cr);
+ }