fix unit test failures
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Combo.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Combo.java
index 88969bf..e7947fc 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Combo.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Combo.java
@@ -859,17 +859,20 @@
*/
public String getText () {
checkWidget();
+ boolean free = false;
int /*long*/ str = 0;
if (OS.GTK_VERSION >= OS.VERSION (2, 4, 0)) {
str = OS.gtk_combo_box_get_active_text (handle);
- if (str == 0) return "";
- } else {
+ free = str != 0;
+ }
+ if (str == 0 && entryHandle != 0) {
str = OS.gtk_entry_get_text (entryHandle);
}
+ if (str == 0) return "";
int length = OS.strlen (str);
byte [] buffer = new byte [length];
OS.memmove (buffer, str, length);
- if (OS.GTK_VERSION >= OS.VERSION (2, 4, 0)) OS.g_free (str);
+ if (free) OS.g_free (str);
return new String (Converter.mbcsToWcs (null, buffer));
}