diff options
author | Alexander Kurtakov <akurtako@redhat.com> | 2012-11-07 14:01:47 +0200 |
---|---|---|
committer | Alexander Kurtakov <akurtako@redhat.com> | 2012-11-07 14:01:47 +0200 |
commit | c778b241fcd142fdc0d822f0796eed03c48ad14a (patch) | |
tree | 881a9f7068d599ab133da57473319a0051ce47f3 | |
parent | d9f25bc7d1ecd6068aa4c063198febec711ff57a (diff) | |
download | eclipse.platform.swt-c778b241fcd142fdc0d822f0796eed03c48ad14a.tar.gz eclipse.platform.swt-c778b241fcd142fdc0d822f0796eed03c48ad14a.tar.xz eclipse.platform.swt-c778b241fcd142fdc0d822f0796eed03c48ad14a.zip |
Use gtk_tree_view_column_get_button in Tree too.
One gtk call instead of traversing the hierarchy of widgets.
-rw-r--r-- | bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java index a92171ff99..95baf3b196 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java @@ -783,13 +783,17 @@ void createItem (TreeColumn column, int index) { column.labelHandle = labelHandle; column.imageHandle = imageHandle; OS.gtk_tree_view_column_set_widget (column.handle, boxHandle); - long /*int*/ widget = OS.gtk_widget_get_parent (boxHandle); - while (widget != handle) { - if (OS.GTK_IS_BUTTON (widget)) { - column.buttonHandle = widget; - break; + if (OS.GTK3) { + column.buttonHandle = OS.gtk_tree_view_column_get_button(column.handle); + } else { + long /*int*/ widget = OS.gtk_widget_get_parent (boxHandle); + while (widget != handle) { + if (OS.GTK_IS_BUTTON (widget)) { + column.buttonHandle = widget; + break; + } + widget = OS.gtk_widget_get_parent (widget); } - widget = OS.gtk_widget_get_parent (widget); } if (columnCount == columns.length) { TreeColumn [] newColumns = new TreeColumn [columns.length + 4]; |