Hi, and thanks for looking into this.
No, I do not derive from DiagramView.
All of the nodes in the diagram are custom nodes, if that can have anything to do with it.
Also, I implement a listener class derived from DiagramAdapter, and containing an override for nodeClicked(). But I've just tried putting a breakpoint on the first statement in that method, and it is not getting called in the situation where the app crashes.
Then there's the weird thing about it not happening on my Samsung Galaxy II running Android 2.3.4, but it does happen on several other devices, including an HTC Desire S running Android 2.3.5.
EDIT: Just tested again - I simply can not provoke the crash on my Samsung Galaxy II, but it occurs on all other devices I have available for testing, incl. a fairly new HTC One.
If you'd like to experience it for yourself you're welcome to download the app from Merlinia's FTP server. Let me know, and I'll send you information about how to connect to the server that runs the server side of that system. I can also send you the source code, of course, but it's probably a bit difficult to do a build since several helper projects and .jar files are involved.
EDIT 2:
There is one slightly special thing I do with the Diagram object: I modify the Bounds to provide a kind of margin at the left and top. (I think I once requested this as a built-in feature.)
private static final float CPseudoMarginSize = 20f; // Amount to offset the display by
// Try to adjust the diagram's bounds to provide a kind of margin on the top and left
// edges. This is necessary because there may be wall nodes along these edges, and they are
// located at the nominal x and y coordinates of zero, which means half of the wall is
// outside the bounds when the bounds start at 0, 0.
if (_mindFusionDiagram.getBounds().top == 0 &&
_mindFusionDiagram.getBounds().left == 0) {
_mindFusionDiagram.setBounds(new RectF(-CPseudoMarginSize, -CPseudoMarginSize,
_mindFusionDiagram.getBounds().right,
_mindFusionDiagram.getBounds().bottom));
}