Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorustieber2011-04-30 14:14:54 +0000
committerustieber2011-04-30 14:14:54 +0000
commitba76a0fa6b75a0a5acc2d23069e550f936bcd9f6 (patch)
tree6e22d70a13da77a74fbaa8f2cb1cd53785f77086
parent770cea0e72616fdcb80370f25440bc010538864a (diff)
downloadorg.eclipse.tcf-ba76a0fa6b75a0a5acc2d23069e550f936bcd9f6.tar.gz
org.eclipse.tcf-ba76a0fa6b75a0a5acc2d23069e550f936bcd9f6.tar.xz
org.eclipse.tcf-ba76a0fa6b75a0a5acc2d23069e550f936bcd9f6.zip
Target Explorer: fixed: File system root nodes not correctly expanding in common navigator view
-rw-r--r--target_explorer/plugins/org.eclipse.tm.te.tcf.filesystem/src/org/eclipse/tm/te/tcf/filesystem/controls/FSTreeContentProvider.java19
1 files changed, 17 insertions, 2 deletions
diff --git a/target_explorer/plugins/org.eclipse.tm.te.tcf.filesystem/src/org/eclipse/tm/te/tcf/filesystem/controls/FSTreeContentProvider.java b/target_explorer/plugins/org.eclipse.tm.te.tcf.filesystem/src/org/eclipse/tm/te/tcf/filesystem/controls/FSTreeContentProvider.java
index d463cb399..25937a588 100644
--- a/target_explorer/plugins/org.eclipse.tm.te.tcf.filesystem/src/org/eclipse/tm/te/tcf/filesystem/controls/FSTreeContentProvider.java
+++ b/target_explorer/plugins/org.eclipse.tm.te.tcf.filesystem/src/org/eclipse/tm/te/tcf/filesystem/controls/FSTreeContentProvider.java
@@ -430,14 +430,14 @@ public class FSTreeContentProvider implements ITreeContentProvider {
/* (non-Javadoc)
* @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object)
*/
- public boolean hasChildren(Object element) {
+ public boolean hasChildren(final Object element) {
assert element != null;
boolean hasChildren = false;
if (element instanceof FSTreeNode) {
FSTreeNode node = (FSTreeNode)element;
- if (node.type != null && node.type.endsWith("DirNode")) { //$NON-NLS-1$
+ if (node.type != null && (node.type.endsWith("DirNode") || node.type.endsWith("RootNode"))) { //$NON-NLS-1$ //$NON-NLS-2$
if (!node.childrenQueried || node.childrenQueryRunning) {
hasChildren = true;
} else if (node.childrenQueried) {
@@ -445,6 +445,21 @@ public class FSTreeContentProvider implements ITreeContentProvider {
}
}
}
+ else if (element instanceof IPeerModel) {
+ final String[] peerId = new String[1];
+ if (Protocol.isDispatchThread()) {
+ peerId[0] = ((IPeerModel)element).getPeer().getID();
+ } else {
+ Protocol.invokeAndWait(new Runnable() {
+ public void run() {
+ peerId[0] = ((IPeerModel)element).getPeer().getID();
+ }
+ });
+ }
+
+ FSTreeNode root = peerId[0] != null ? fModel.getRoot(peerId[0]): null;
+ if (root != null) hasChildren = hasChildren(root);
+ }
return hasChildren;
}

Back to the top