Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSilenio Quarti2006-11-16 17:38:41 +0000
committerSilenio Quarti2006-11-16 17:38:41 +0000
commit9f3daeb0688aec9dff73c859cb03f3ad0be23a97 (patch)
tree8c3283144f2a6d68a4cb67dec3047e324c9b4af5 /bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/MessageBox.java
parent378731bdb0dfdafe9f72c2cd4fcd9939912d5df8 (diff)
downloadeclipse.platform.swt-9f3daeb0688aec9dff73c859cb03f3ad0be23a97.tar.gz
eclipse.platform.swt-9f3daeb0688aec9dff73c859cb03f3ad0be23a97.tar.xz
eclipse.platform.swt-9f3daeb0688aec9dff73c859cb03f3ad0be23a97.zip
158796 - MessageBox blocks display thread on linux
Diffstat (limited to 'bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/MessageBox.java')
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/MessageBox.java7
1 files changed, 5 insertions, 2 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/MessageBox.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/MessageBox.java
index 7ba29bc34c..2285279893 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/MessageBox.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/MessageBox.java
@@ -147,8 +147,11 @@ public int open () {
createButtons();
buffer = Converter.wcsToMbcs(null, title, true);
OS.gtk_window_set_title(handle,buffer);
- int result = OS.gtk_dialog_run(handle);
- OS.gtk_widget_destroy(handle);
+ Display display = parent != null ? parent.getDisplay (): Display.getCurrent ();
+ int idleHandle = OS.g_idle_add (display.idleProc, 0);
+ int result = OS.gtk_dialog_run (handle);
+ OS.g_source_remove (idleHandle);
+ OS.gtk_widget_destroy (handle);
return result;
}

Back to the top