From 94b8301bbc4542cea5fe058f003f99118a0bb1bc Mon Sep 17 00:00:00 2001 From: Jonah Graham Date: Thu, 8 Jun 2017 11:29:59 +0100 Subject: [PATCH] Bug 525667: Allow IGDBFocusSynchronizer to be an optional service All the uses of the service in the code base allow it not to exist, so allow the service not to exist at launch too. Change-Id: I907038907e87d5fbc882272b6e41cd1587617281 --- .../cdt/dsf/gdb/launching/ServicesLaunchSequence.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/launching/ServicesLaunchSequence.java b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/launching/ServicesLaunchSequence.java index f0397a00e46..ff39ab24be3 100644 --- a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/launching/ServicesLaunchSequence.java +++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/launching/ServicesLaunchSequence.java @@ -131,7 +131,13 @@ public class ServicesLaunchSequence extends Sequence { }}, new Step() { @Override public void execute(final RequestMonitor requestMonitor) { - fLaunch.getServiceFactory().createService(IGDBFocusSynchronizer.class, fSession).initialize(requestMonitor); + IGDBFocusSynchronizer service = fLaunch.getServiceFactory().createService(IGDBFocusSynchronizer.class, fSession); + // The focus synchronizer is a new service, don't require it to exist/be supported by a backend. + if (service != null) { + service.initialize(requestMonitor); + } else { + requestMonitor.done(); + } }}, };