diff options
author | Bogdan Gheorghe <gheorghe> | 2008-04-03 19:46:34 +0000 |
---|---|---|
committer | Bogdan Gheorghe <gheorghe> | 2008-04-03 19:46:34 +0000 |
commit | 0484a0c9dec969c27763b2f5da7ad5db559b1597 (patch) | |
tree | eda9f6f6ed49da971310926ad62def0fcd27e157 /bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/MessageBox.java | |
parent | 2486773519200a5726741a30e65461bdad86a446 (diff) | |
download | eclipse.platform.swt-0484a0c9dec969c27763b2f5da7ad5db559b1597.tar.gz eclipse.platform.swt-0484a0c9dec969c27763b2f5da7ad5db559b1597.tar.xz eclipse.platform.swt-0484a0c9dec969c27763b2f5da7ad5db559b1597.zip |
224121 BIDI3.4:HCG Print dialog is not mirrored completely
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 | 13 |
1 files changed, 9 insertions, 4 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 cf10b83c27..502e166662 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 @@ -148,17 +148,22 @@ public int open () { buffer = Converter.wcsToMbcs(null, title, true); OS.gtk_window_set_title(handle,buffer); Display display = parent != null ? parent.getDisplay (): Display.getCurrent (); - if ((style & SWT.RIGHT_TO_LEFT) != 0) { - OS.gtk_widget_set_direction (handle, OS.GTK_TEXT_DIR_RTL); - OS.gtk_container_forall (handle, display.setDirectionProc, OS.GTK_TEXT_DIR_RTL); - } display.addIdleProc (); Dialog oldModal = null; if (OS.gtk_window_get_modal (handle)) { oldModal = display.getModalDialog (); display.setModalDialog (this); } + int signalId = 0; + int /*long*/ hookId = 0; + if ((style & SWT.RIGHT_TO_LEFT) != 0) { + signalId = OS.g_signal_lookup (OS.map, OS.GTK_TYPE_WIDGET()); + hookId = OS.g_signal_add_emission_hook (signalId, 0, display.setDirectionProc, handle, 0); + } int response = OS.gtk_dialog_run (handle); + if ((style & SWT.RIGHT_TO_LEFT) != 0) { + OS.g_signal_remove_emission_hook (signalId, hookId); + } if (OS.gtk_window_get_modal (handle)) { display.setModalDialog (oldModal); } |