diff options
author | Silenio Quarti <silenio_quarti@ca.ibm.com> | 2012-11-16 15:21:55 -0500 |
---|---|---|
committer | Silenio Quarti <silenio_quarti@ca.ibm.com> | 2012-11-16 15:21:55 -0500 |
commit | 2b184dae298dc7e13b4661d4da911d7c3a83a753 (patch) | |
tree | 85297d32f569eef189b471d17bdedd0548605082 /bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java | |
parent | 589c806f733b6f17cd797f8efe22263b138d8cd1 (diff) | |
download | eclipse.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.java | 6 |
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 { |