mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-29 19:45:01 +02:00
Bug 463981 Move preference loading to UI thread.
A couple of lines in the CUIPlugin.start() method load preferences. This can only be done from the UI thread since it eventually loads up colors which can only be done on the UI thread. This change moves those two lines to a UIJob. Change-Id: I692a81d5a38f63c506dc73da93df6c2e9e4b6192
This commit is contained in:
parent
61200ab252
commit
860e0af8c8
3 changed files with 18 additions and 4 deletions
|
@ -78,6 +78,7 @@ public final class CUIMessages extends NLS {
|
|||
public static String NewCDTProjectWizard_templatePageDesc;
|
||||
public static String NewCDTProjectWizard_templatePageTitle;
|
||||
public static String NewCDTProjectWizard_windowTitle;
|
||||
public static String CUIPlugin_initPrefs;
|
||||
|
||||
static {
|
||||
NLS.initializeMessages(BUNDLE_NAME, CUIMessages.class);
|
||||
|
|
|
@ -81,3 +81,5 @@ NewCDTProjectWizard_refPageTitle=Project References
|
|||
NewCDTProjectWizard_templatePageDesc=Select a project template for the new project
|
||||
NewCDTProjectWizard_templatePageTitle=Project Template
|
||||
NewCDTProjectWizard_windowTitle=New C/C++ Project
|
||||
|
||||
CUIPlugin_initPrefs=Initialize C/C++ UI Preferences
|
|
@ -65,6 +65,7 @@ import org.eclipse.ui.editors.text.templates.ContributionTemplateStore;
|
|||
import org.eclipse.ui.navigator.ICommonMenuConstants;
|
||||
import org.eclipse.ui.plugin.AbstractUIPlugin;
|
||||
import org.eclipse.ui.preferences.ScopedPreferenceStore;
|
||||
import org.eclipse.ui.progress.UIJob;
|
||||
import org.eclipse.ui.texteditor.ChainedPreferenceStore;
|
||||
import org.eclipse.ui.texteditor.ConfigurationElementSorter;
|
||||
import org.eclipse.ui.texteditor.ITextEditor;
|
||||
|
@ -90,6 +91,7 @@ import org.eclipse.cdt.internal.corext.template.c.DocCommentContextType;
|
|||
import org.eclipse.cdt.internal.corext.template.c.FileTemplateContextType;
|
||||
|
||||
import org.eclipse.cdt.internal.ui.CElementAdapterFactory;
|
||||
import org.eclipse.cdt.internal.ui.CUIMessages;
|
||||
import org.eclipse.cdt.internal.ui.ICStatusConstants;
|
||||
import org.eclipse.cdt.internal.ui.IContextMenuConstants;
|
||||
import org.eclipse.cdt.internal.ui.ResourceAdapterFactory;
|
||||
|
@ -602,10 +604,19 @@ public class CUIPlugin extends AbstractUIPlugin {
|
|||
DocCommentOwnerManager.getInstance().addListener(new EditorReopener());
|
||||
ASTRewriteAnalyzer.setCTextFileChangeFactory(new CTextFileChangeFactory());
|
||||
|
||||
// A workaround for black console bug 320723.
|
||||
BuildConsolePreferencePage.initDefaults(getPreferenceStore());
|
||||
// Initialize ContentAssistMatcherPreference.
|
||||
ContentAssistPreference.getInstance();
|
||||
// These need to be done on the UI thread
|
||||
UIJob prefsJob = new UIJob(CUIMessages.CUIPlugin_initPrefs) {
|
||||
@Override
|
||||
public IStatus runInUIThread(IProgressMonitor monitor) {
|
||||
// A workaround for black console bug 320723.
|
||||
BuildConsolePreferencePage.initDefaults(getPreferenceStore());
|
||||
// Initialize ContentAssistMatcherPreference.
|
||||
ContentAssistPreference.getInstance();
|
||||
return Status.OK_STATUS;
|
||||
}
|
||||
};
|
||||
prefsJob.setSystem(true);
|
||||
prefsJob.schedule();
|
||||
|
||||
// Start make.ui plug-in, such that it can check for project conversions.
|
||||
Job job= new Job(Messages.CUIPlugin_jobStartMakeUI) {
|
||||
|
|
Loading…
Add table
Reference in a new issue