From e0682a2412d31e133d3ea605c532c913ca08fa1a Mon Sep 17 00:00:00 2001 From: Andrew Eidsness Date: Mon, 26 May 2014 06:55:16 -0400 Subject: [PATCH] Shouldn't use new SWT.Shell() I noticed that one case in the template engine is creating a dialog that uses it's own instance of SWT Shell (i.e., the code contains "new Shell()". This patch modifies that case to use the display's active shell instead. Change-Id: I253d6540899ce4dfef033924e27e2ddcd62ded19 Signed-off-by: Andrew Eidsness Reviewed-on: https://git.eclipse.org/r/27278 Tested-by: Hudson CI Reviewed-by: Doug Schaefer --- .../pages/TemplateInputDialog.java | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/core/org.eclipse.cdt.ui/templateengine/org/eclipse/cdt/ui/templateengine/pages/TemplateInputDialog.java b/core/org.eclipse.cdt.ui/templateengine/org/eclipse/cdt/ui/templateengine/pages/TemplateInputDialog.java index 42882200ed1..a3381a3c4ee 100644 --- a/core/org.eclipse.cdt.ui/templateengine/org/eclipse/cdt/ui/templateengine/pages/TemplateInputDialog.java +++ b/core/org.eclipse.cdt.ui/templateengine/org/eclipse/cdt/ui/templateengine/pages/TemplateInputDialog.java @@ -274,12 +274,17 @@ public class TemplateInputDialog extends Dialog { public int popDuplicate() { - MessageBox mBox = new MessageBox(new Shell(), SWT.ICON_INFORMATION); - mBox.setText(TemplatePreferencePage.Message); - mBox.setMessage(TemplatePreferencePage.DuplicateEntry); - int result = mBox.open(); - return result; - + final int[] result = new int[]{ 0 }; + Display.getDefault().syncExec(new Runnable() { + @Override + public void run() { + MessageBox mBox = new MessageBox(Display.getCurrent().getActiveShell(), SWT.ICON_INFORMATION); + mBox.setText(TemplatePreferencePage.Message); + mBox.setMessage(TemplatePreferencePage.DuplicateEntry); + result[0] = mBox.open(); + } + }); + return result[0]; } /*