Fix drawBackground for Tree/Table with clipping
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java
index 60b7418..912e78f 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java
@@ -112,7 +112,10 @@
if (OS.USE_CAIRO) {
int /*long*/ cairo = OS.gdk_cairo_create(window);
if (cairo == 0) error (SWT.ERROR_NO_HANDLES);
- if (region != 0) OS.gdk_cairo_region(cairo, region);
+ if (region != 0) {
+ OS.gdk_cairo_region(cairo, region);
+ Cairo.cairo_clip(cairo);
+ }
if (control.backgroundImage != null) {
Point pt = display.map (this, control, 0, 0);
Cairo.cairo_translate (cairo, -pt.x, -pt.y);