summaryrefslogtreecommitdiffstats
path: root/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/MenuItem.java
diff options
context:
space:
mode:
authorAlexander Kurtakov <akurtako@redhat.com>2011-11-09 14:37:09 +0200
committerSilenio Quarti <silenio_quarti@ca.ibm.com>2011-11-25 11:48:51 -0500
commitddd03c76ec559fb767478e2193acaf2065b1f45d (patch)
treeb16a443cb7bc3530dd3a8441a9a65db1a13b497c /bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/MenuItem.java
parent0bab5ef16bf9ed26100e0695fd20f73178a7c073 (diff)
downloadeclipse.platform.swt-ddd03c76ec559fb767478e2193acaf2065b1f45d.tar.gz
eclipse.platform.swt-ddd03c76ec559fb767478e2193acaf2065b1f45d.tar.xz
eclipse.platform.swt-ddd03c76ec559fb767478e2193acaf2065b1f45d.zip
Conditionaly use gtk_menu_item_remove_submenu and make it dynamic.
The new API is to use gtk_menu_item_set_submenu with null/0.
Diffstat (limited to 'bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/MenuItem.java')
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/MenuItem.java6
1 files changed, 5 insertions, 1 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/MenuItem.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/MenuItem.java
index d0a81f5582..8be098e77a 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/MenuItem.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/MenuItem.java
@@ -772,7 +772,11 @@ public void setMenu (Menu menu) {
* to replace or GTK will destroy it.
*/
OS.g_object_ref (oldMenu.handle);
- OS.gtk_menu_item_remove_submenu (handle);
+ if (OS.GTK_VERSION >= OS.VERSION(2, 12, 0)) {
+ OS.gtk_menu_item_set_submenu (handle, 0);
+ } else {
+ OS.gtk_menu_item_remove_submenu (handle);
+ }
}
if ((this.menu = menu) != null) {
menu.cascade = this;