mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-08-28 18:53:20 +02:00
[286122] Avoid NPE when restoring memento
This commit is contained in:
parent
a941b54180
commit
b55325c87d
1 changed files with 18 additions and 17 deletions
|
@ -38,6 +38,7 @@
|
||||||
* Li Ding (IBM) - [256135] Subsystem not restored in system view tree if subsystem configuration does not support filter
|
* Li Ding (IBM) - [256135] Subsystem not restored in system view tree if subsystem configuration does not support filter
|
||||||
* David McKnight (IBM) - [257721] Doubleclick doing special handling and expanding
|
* David McKnight (IBM) - [257721] Doubleclick doing special handling and expanding
|
||||||
* David McKnight (IBM) - [250417] Restore from memento flag set to false during restore on startup
|
* David McKnight (IBM) - [250417] Restore from memento flag set to false during restore on startup
|
||||||
|
* Martin Oberhuber (Wind River) - [286122] Avoid NPE when restoring memento
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
package org.eclipse.rse.internal.ui.view;
|
package org.eclipse.rse.internal.ui.view;
|
||||||
|
@ -1299,12 +1300,12 @@ public class SystemViewPart
|
||||||
break;
|
break;
|
||||||
// filter pool or filter (depends on showFilterPools)
|
// filter pool or filter (depends on showFilterPools)
|
||||||
case 3 :
|
case 3 :
|
||||||
|
|
||||||
if (subsystem != null && !(subsystem.getSubSystemConfiguration().supportsFilters())) {
|
if (subsystem != null && !(subsystem.getSubSystemConfiguration().supportsFilters())) {
|
||||||
remoteObject = new RemoteObject(token, subsystem, null, null);
|
remoteObject = new RemoteObject(token, subsystem, null, null);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (showFilterPools)
|
if (showFilterPools)
|
||||||
{
|
{
|
||||||
if (subsystem != null)
|
if (subsystem != null)
|
||||||
|
@ -1349,12 +1350,12 @@ public class SystemViewPart
|
||||||
break;
|
break;
|
||||||
// filter or filter string (depends on showFilterPools) or remote object (depends on showFilterStrings)
|
// filter or filter string (depends on showFilterPools) or remote object (depends on showFilterStrings)
|
||||||
case 4 :
|
case 4 :
|
||||||
|
|
||||||
if (!(subsystem.getSubSystemConfiguration().supportsFilters())) {
|
if (subsystem != null && !(subsystem.getSubSystemConfiguration().supportsFilters())) {
|
||||||
remoteObject = new RemoteObject(token, subsystem, null, null);
|
remoteObject = new RemoteObject(token, subsystem, null, null);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (showFilterPools) // definitely a filter
|
if (showFilterPools) // definitely a filter
|
||||||
{
|
{
|
||||||
index = token.indexOf('=');
|
index = token.indexOf('=');
|
||||||
|
@ -1391,12 +1392,12 @@ public class SystemViewPart
|
||||||
break;
|
break;
|
||||||
// filter string (depends on showFilterStrings) or remote object
|
// filter string (depends on showFilterStrings) or remote object
|
||||||
case 5 :
|
case 5 :
|
||||||
|
|
||||||
if (!(subsystem.getSubSystemConfiguration().supportsFilters())) {
|
if (subsystem!=null && !(subsystem.getSubSystemConfiguration().supportsFilters())) {
|
||||||
remoteObject = new RemoteObject(token, subsystem, null, null);
|
remoteObject = new RemoteObject(token, subsystem, null, null);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (showFilterPools && showFilterStrings) // definitely a filter string
|
if (showFilterPools && showFilterStrings) // definitely a filter string
|
||||||
{
|
{
|
||||||
// at this point we know the parent filter reference as that was parsed in case 4
|
// at this point we know the parent filter reference as that was parsed in case 4
|
||||||
|
@ -1417,12 +1418,12 @@ public class SystemViewPart
|
||||||
|
|
||||||
break;
|
break;
|
||||||
default : // definitely a remote object
|
default : // definitely a remote object
|
||||||
|
|
||||||
if (!(subsystem.getSubSystemConfiguration().supportsFilters())) {
|
if (subsystem!=null && !(subsystem.getSubSystemConfiguration().supportsFilters())) {
|
||||||
remoteObject = new RemoteObject(token, subsystem, null, null);
|
remoteObject = new RemoteObject(token, subsystem, null, null);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((subsystem != null) && (fRef != null))
|
if ((subsystem != null) && (fRef != null))
|
||||||
remoteObject = new RemoteObject(token, subsystem, fRef, fsRef);
|
remoteObject = new RemoteObject(token, subsystem, fRef, fsRef);
|
||||||
}
|
}
|
||||||
|
@ -1600,21 +1601,21 @@ public class SystemViewPart
|
||||||
// yantzi: artemis 6.0: reset restore from memento flag
|
// yantzi: artemis 6.0: reset restore from memento flag
|
||||||
if (ss != null && restoreFromCache && ss.supportsCaching()){
|
if (ss != null && restoreFromCache && ss.supportsCaching()){
|
||||||
ss.getCacheManager().setRestoreFromMemento(false);
|
ss.getCacheManager().setRestoreFromMemento(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (object instanceof ISystemFilterReference)
|
else if (object instanceof ISystemFilterReference)
|
||||||
{
|
{
|
||||||
|
|
||||||
ISystemFilterReference fref = (ISystemFilterReference)object;
|
ISystemFilterReference fref = (ISystemFilterReference)object;
|
||||||
ISubSystem ss = fref.getSubSystem();
|
ISubSystem ss = fref.getSubSystem();
|
||||||
|
|
||||||
// yantzi: artemis 6.0: notify subsystems that this is a restore from memento so they
|
// yantzi: artemis 6.0: notify subsystems that this is a restore from memento so they
|
||||||
// can optionally use the cache if desired
|
// can optionally use the cache if desired
|
||||||
if (ss != null && restoreFromCache && ss.supportsCaching()){
|
if (ss != null && restoreFromCache && ss.supportsCaching()){
|
||||||
ss.getCacheManager().setRestoreFromMemento(true);
|
ss.getCacheManager().setRestoreFromMemento(true);
|
||||||
}
|
}
|
||||||
boolean isRestoringCache = ss.getCacheManager() != null && ss.getCacheManager().isRestoreFromMemento();
|
boolean isRestoringCache = ss.getCacheManager() != null && ss.getCacheManager().isRestoreFromMemento();
|
||||||
|
|
||||||
if (!ss.isOffline()){
|
if (!ss.isOffline()){
|
||||||
if (!ss.isConnected() && !isRestoringCache){
|
if (!ss.isConnected() && !isRestoringCache){
|
||||||
try
|
try
|
||||||
|
@ -1640,11 +1641,11 @@ public class SystemViewPart
|
||||||
Display.getDefault().asyncExec(showRunnable);
|
Display.getDefault().asyncExec(showRunnable);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// yantzi: artemis 6.0: reset restore from memento flag
|
// yantzi: artemis 6.0: reset restore from memento flag
|
||||||
if (ss != null && restoreFromCache && ss.supportsCaching()){
|
if (ss != null && restoreFromCache && ss.supportsCaching()){
|
||||||
ss.getCacheManager().setRestoreFromMemento(false);
|
ss.getCacheManager().setRestoreFromMemento(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue