diff options
author | Silenio Quarti | 2006-11-16 17:38:41 +0000 |
---|---|---|
committer | Silenio Quarti | 2006-11-16 17:38:41 +0000 |
commit | 9f3daeb0688aec9dff73c859cb03f3ad0be23a97 (patch) | |
tree | 8c3283144f2a6d68a4cb67dec3047e324c9b4af5 /bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/MessageBox.java | |
parent | 378731bdb0dfdafe9f72c2cd4fcd9939912d5df8 (diff) | |
download | eclipse.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.java | 7 |
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; } |