diff options
author | Grant Gayed <ggayed> | 2006-04-11 17:40:08 +0000 |
---|---|---|
committer | Grant Gayed <ggayed> | 2006-04-11 17:40:08 +0000 |
commit | 0d27e5ee7ebca563a05c4710996a921df99fce86 (patch) | |
tree | fb9c9416c44f0fb40993a4810190d9ec7497aa94 | |
parent | c1944febeea9219ca29a4c8310702a14850295a7 (diff) | |
download | eclipse.platform.swt-0d27e5ee7ebca563a05c4710996a921df99fce86.tar.gz eclipse.platform.swt-0d27e5ee7ebca563a05c4710996a921df99fce86.tar.xz eclipse.platform.swt-0d27e5ee7ebca563a05c4710996a921df99fce86.zip |
134837
4 files changed, 17 insertions, 11 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/emulated/treetable/org/eclipse/swt/widgets/Table.java b/bundles/org.eclipse.swt/Eclipse SWT/emulated/treetable/org/eclipse/swt/widgets/Table.java index bac5968bc6..c268ed90fd 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/emulated/treetable/org/eclipse/swt/widgets/Table.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/emulated/treetable/org/eclipse/swt/widgets/Table.java @@ -2628,12 +2628,12 @@ void onPaint (Event event) { if (!item.isDisposed ()) { /* ensure that item was not disposed in a callback */ noFocusDraw = item.paint (gc, orderedColumns [j], false) || noFocusDraw; } - if (isDisposed ()) return; /* ensure that receiver was not disposed in a callback */ + if (isDisposed () || gc.isDisposed ()) return; /* ensure that receiver was not disposed in a callback */ } } } } - if (isDisposed ()) return; /* ensure that receiver was not disposed in a callback */ + if (isDisposed () || gc.isDisposed ()) return; /* ensure that receiver was not disposed in a callback */ } /* repaint grid lines */ diff --git a/bundles/org.eclipse.swt/Eclipse SWT/emulated/treetable/org/eclipse/swt/widgets/TableItem.java b/bundles/org.eclipse.swt/Eclipse SWT/emulated/treetable/org/eclipse/swt/widgets/TableItem.java index f6e219f511..1ef4a9572a 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/emulated/treetable/org/eclipse/swt/widgets/TableItem.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/emulated/treetable/org/eclipse/swt/widgets/TableItem.java @@ -1027,13 +1027,14 @@ boolean paint (GC gc, TableColumn column, boolean backgroundOnly) { event.height = parent.itemHeight; parent.sendEvent (SWT.MeasureItem, event); event.gc = null; - gc.setAdvanced (oldAdvanced); + if (gc.isDisposed ()) return false; gc.setAlpha (oldAlpha); gc.setAntialias (oldAntialias); gc.setBackgroundPattern (oldBackgroundPattern); gc.setForegroundPattern (oldForegroundPattern); gc.setInterpolation (oldInterpolation); gc.setTextAntialias (oldTextAntialias); + gc.setAdvanced (oldAdvanced); if (isDisposed ()) return false; if (parent.itemHeight != event.height) { parent.customHeightSet = true; @@ -1112,7 +1113,7 @@ boolean paint (GC gc, TableColumn column, boolean backgroundOnly) { gc.setClipping (cellBounds); parent.sendEvent (SWT.EraseItem, event); event.gc = null; - gc.setAdvanced (oldAdvanced); + if (gc.isDisposed ()) return false; gc.setAlpha (oldAlpha); gc.setAntialias (oldAntialias); gc.setBackgroundPattern (oldBackgroundPattern); @@ -1120,6 +1121,7 @@ boolean paint (GC gc, TableColumn column, boolean backgroundOnly) { gc.setForegroundPattern (oldForegroundPattern); gc.setInterpolation (oldInterpolation); gc.setTextAntialias (oldTextAntialias); + gc.setAdvanced (oldAdvanced); if (isDisposed ()) return false; if (!event.doit) { drawBackground = drawForeground = drawSelection = drawFocus = false; @@ -1278,7 +1280,7 @@ boolean paint (GC gc, TableColumn column, boolean backgroundOnly) { gc.setClipping (cellBounds); parent.sendEvent (SWT.PaintItem, event); event.gc = null; - gc.setAdvanced (oldAdvanced); + if (gc.isDisposed ()) return false; gc.setAlpha (oldAlpha); gc.setAntialias (oldAntialias); gc.setBackgroundPattern (oldBackgroundPattern); @@ -1286,6 +1288,7 @@ boolean paint (GC gc, TableColumn column, boolean backgroundOnly) { gc.setForegroundPattern (oldForegroundPattern); gc.setInterpolation (oldInterpolation); gc.setTextAntialias (oldTextAntialias); + gc.setAdvanced (oldAdvanced); drawFocus = isFocusItem && (event.detail & SWT.FOCUSED) != 0; } diff --git a/bundles/org.eclipse.swt/Eclipse SWT/emulated/treetable/org/eclipse/swt/widgets/Tree.java b/bundles/org.eclipse.swt/Eclipse SWT/emulated/treetable/org/eclipse/swt/widgets/Tree.java index 2d14ea2fd9..4d22cdf970 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/emulated/treetable/org/eclipse/swt/widgets/Tree.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/emulated/treetable/org/eclipse/swt/widgets/Tree.java @@ -2779,7 +2779,7 @@ void onPaint (Event event) { drawBackground (gc, rightX, 0, clientArea.width - rightX, clientArea.height - fillHeight); } } - + /* paint the items */ boolean noFocusDraw = false; int[] lineDash = gc.getLineDash (); @@ -2798,12 +2798,12 @@ void onPaint (Event event) { if (!item.isDisposed ()) { /* ensure that item was not disposed in a callback */ noFocusDraw = item.paint (gc, orderedColumns [j], false) || noFocusDraw; } - if (isDisposed ()) return; /* ensure that receiver was not disposed in a callback */ + if (isDisposed () || gc.isDisposed ()) return; /* ensure that receiver was not disposed in a callback */ } } } } - if (isDisposed ()) return; /* ensure that receiver was not disposed in a callback */ + if (isDisposed () || gc.isDisposed ()) return; /* ensure that receiver was not disposed in a callback */ } /* repaint grid lines */ diff --git a/bundles/org.eclipse.swt/Eclipse SWT/emulated/treetable/org/eclipse/swt/widgets/TreeItem.java b/bundles/org.eclipse.swt/Eclipse SWT/emulated/treetable/org/eclipse/swt/widgets/TreeItem.java index ad5f250dcc..34f2349483 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/emulated/treetable/org/eclipse/swt/widgets/TreeItem.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/emulated/treetable/org/eclipse/swt/widgets/TreeItem.java @@ -1587,7 +1587,7 @@ boolean paint (GC gc, TreeColumn column, boolean backgroundOnly) { event.height = parent.itemHeight; parent.sendEvent (SWT.MeasureItem, event); event.gc = null; - gc.setAdvanced (oldAdvanced); + if (gc.isDisposed ()) return false; gc.setAlpha (oldAlpha); gc.setAntialias (oldAntialias); gc.setBackgroundPattern (oldBackgroundPattern); @@ -1596,6 +1596,7 @@ boolean paint (GC gc, TreeColumn column, boolean backgroundOnly) { gc.setLineDash (oldLineDash); gc.setLineWidth (oldLineWidth); gc.setTextAntialias (oldTextAntialias); + gc.setAdvanced (oldAdvanced); if (isDisposed ()) return false; if (parent.itemHeight != event.height) { parent.customHeightSet = true; @@ -1674,7 +1675,7 @@ boolean paint (GC gc, TreeColumn column, boolean backgroundOnly) { gc.setClipping (cellBounds); parent.sendEvent (SWT.EraseItem, event); event.gc = null; - gc.setAdvanced (oldAdvanced); + if (gc.isDisposed ()) return false; gc.setAlpha (oldAlpha); gc.setAntialias (oldAntialias); gc.setBackgroundPattern (oldBackgroundPattern); @@ -1684,6 +1685,7 @@ boolean paint (GC gc, TreeColumn column, boolean backgroundOnly) { gc.setLineDash (oldLineDash); gc.setLineWidth (oldLineWidth); gc.setTextAntialias (oldTextAntialias); + gc.setAdvanced (oldAdvanced); if (isDisposed ()) return false; if (!event.doit) { drawBackground = drawForeground = drawSelection = drawFocus = false; @@ -1878,7 +1880,7 @@ boolean paint (GC gc, TreeColumn column, boolean backgroundOnly) { gc.setClipping (cellBounds); parent.sendEvent (SWT.PaintItem, event); event.gc = null; - gc.setAdvanced (oldAdvanced); + if (gc.isDisposed ()) return false; gc.setAlpha (oldAlpha); gc.setAntialias (oldAntialias); gc.setBackgroundPattern (oldBackgroundPattern); @@ -1888,6 +1890,7 @@ boolean paint (GC gc, TreeColumn column, boolean backgroundOnly) { gc.setLineDash (oldLineDash); gc.setLineWidth (oldLineWidth); gc.setTextAntialias (oldTextAntialias); + gc.setAdvanced (oldAdvanced); drawFocus = isFocusItem && (event.detail & SWT.FOCUSED) != 0; } |