* presentation start and presentation end.
private String presentation = null;
+ * Keeps number of time presentation start was called, but not finished.
+ private int npresentation = 0;
synchronized private void signalListeners(LispNode result, SwankEvent event)
- presentation = result.get(1).value;
+ // sometimes same presentation started and ended twice (e.g. when
+ if( presentation != null )
+ if( !presentation.equals(result.get(1).value) )
+ Log.logError("Encountered nested presentation");
+ presentation = result.get(1).value;
if( !result.get(1).value.equals(presentation) )
Log.logError("Presentation end is different from presentation start");
+ if( npresentation == 0 ) presentation = null;
if( presentation != null )