CanvasViewInfo vi = mCanvas.getViewHierarchy().findViewInfoAt(p);
+ if (vi != null && vi.isHidden()) {
+ vi = vi.getParent();
+ }
+
if (isMultiClick && !isCycleClick) {
// Case where shift is pressed: pointed object is toggled.
mSelections.clear();
for (CanvasViewInfo viewInfo : viewInfos) {
+ if (viewInfo.isHidden()) {
+ continue;
+ }
mSelections.add(createSelection(viewInfo));
}
for (INode node : nodes) {
CanvasViewInfo viewInfo = mCanvas.getViewHierarchy().findViewInfoFor(node);
if (viewInfo != null) {
+ if (nodes.size() > 1 && viewInfo.isHidden()) {
+ // Skip spacers - unless you're dropping just one
+ continue;
+ }
newChildren.add(viewInfo);
}
}