1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-25 09:55:29 +02:00

Bug 295988 Inability to create asynchronously created variable during update shouldn't break other variable updates

- Log CDIException during #processSuspendedEvent as this indicates something has broken.
This commit is contained in:
James Blackburn 2009-11-24 14:02:59 +00:00
parent 193a63fe4e
commit ca19a9fd59
2 changed files with 8 additions and 2 deletions

View file

@ -23,6 +23,7 @@ import org.eclipse.cdt.debug.core.cdi.event.ICDIEvent;
import org.eclipse.cdt.debug.core.cdi.event.ICDIEventListener;
import org.eclipse.cdt.debug.core.cdi.model.ICDIStackFrame;
import org.eclipse.cdt.debug.mi.core.MIException;
import org.eclipse.cdt.debug.mi.core.MIPlugin;
import org.eclipse.cdt.debug.mi.core.MISession;
import org.eclipse.cdt.debug.mi.core.cdi.event.ChangedEvent;
import org.eclipse.cdt.debug.mi.core.cdi.event.CreatedEvent;
@ -328,7 +329,8 @@ public class EventManager extends SessionObject implements ICDIEventManager, Obs
srcMgr.update(currentTarget);
}
} catch (CDIException e) {
//System.out.println(e);
// Something went wrong => preventing updates to the model, this is serious
MIPlugin.log(e);
}
return true;
}

View file

@ -687,7 +687,11 @@ public class VariableManager extends Manager {
variable.setMIVarCreate(var);
update(target, variable, eventList);
} catch (MIException e) {
throw new MI2CDIException(e);
// Creating failed, variable not in scope => remove
// No events to fire as the variable isn't backed by a MIVar
getVariablesList(target).remove(variable);
variable.setUpdated(false);
return;
} catch (CDIException e) {
throw e;
}