summaryrefslogtreecommitdiffstats
path: root/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java
diff options
context:
space:
mode:
authorSilenio Quarti <silenio_quarti@ca.ibm.com>2012-11-16 15:21:55 -0500
committerSilenio Quarti <silenio_quarti@ca.ibm.com>2012-11-16 15:21:55 -0500
commit2b184dae298dc7e13b4661d4da911d7c3a83a753 (patch)
tree85297d32f569eef189b471d17bdedd0548605082 /bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java
parent589c806f733b6f17cd797f8efe22263b138d8cd1 (diff)
downloadeclipse.platform.swt-2b184dae298dc7e13b4661d4da911d7c3a83a753.tar.gz
eclipse.platform.swt-2b184dae298dc7e13b4661d4da911d7c3a83a753.tar.xz
eclipse.platform.swt-2b184dae298dc7e13b4661d4da911d7c3a83a753.zip
Bug 393724 - [GTK3] Owner draw trees are not drawing items - wrong unfocused foreground and wrong focus ring drawn on Ubuntu
Diffstat (limited to 'bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java')
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java6
1 files changed, 4 insertions, 2 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java
index 6765c9e523..b3c8825a72 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java
@@ -2627,7 +2627,9 @@ void rendererRender (long /*int*/ cell, long /*int*/ cr, long /*int*/ window, lo
OS.gdk_color_free (ptr [0]);
}
if ((flags & OS.GTK_CELL_RENDERER_SELECTED) != 0) drawState |= SWT.SELECTED;
- if ((flags & OS.GTK_CELL_RENDERER_FOCUSED) != 0) drawState |= SWT.FOCUSED;
+ if (!OS.GTK3 || (flags & OS.GTK_CELL_RENDERER_SELECTED) == 0) {
+ if ((flags & OS.GTK_CELL_RENDERER_FOCUSED) != 0) drawState |= SWT.FOCUSED;
+ }
GdkRectangle rect = new GdkRectangle ();
long /*int*/ path = OS.gtk_tree_model_get_path (modelHandle, iter);
@@ -2763,7 +2765,7 @@ void rendererRender (long /*int*/ cell, long /*int*/ cr, long /*int*/ window, lo
GC gc = new GC (this);
if ((drawState & SWT.SELECTED) != 0) {
Color background, foreground;
- if (gtk_widget_has_focus (handle)) {
+ if (gtk_widget_has_focus (handle) || OS.GTK3) {
background = display.getSystemColor (SWT.COLOR_LIST_SELECTION);
foreground = display.getSystemColor (SWT.COLOR_LIST_SELECTION_TEXT);
} else {