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:
parent
193a63fe4e
commit
ca19a9fd59
2 changed files with 8 additions and 2 deletions
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue