@@ -62,11 +62,16 @@ Item {
6262 stagesEnabled = true
6363 panelEnabled = true
6464 panelContentEnabled = true
65− if (d.rightEdgeDemo) d.rightEdgeDemo.destroy()
66− if (d.topEdgeDemo) d.topEdgeDemo.destroy()
67− if (d.bottomEdgeDemo) d.bottomEdgeDemo.destroy()
68− if (d.leftEdgeDemo) d.leftEdgeDemo.destroy()
69− if (d.finalEdgeDemo) d.finalEdgeDemo.destroy()
65+
66+ // Use a tiny delay for these destroy() calls because if a lot is
67+ // happening at once (like creating and being destroyed in same event
68+ // loop, as might happen when answering a call while demo is open),
69+ // the destroy() call will be ignored.
70+ if (d.rightEdgeDemo) d.rightEdgeDemo.destroy(1);
71+ if (d.topEdgeDemo) d.topEdgeDemo.destroy(1);
72+ if (d.bottomEdgeDemo) d.bottomEdgeDemo.destroy(1);
73+ if (d.leftEdgeDemo) d.leftEdgeDemo.destroy(1);
74+ if (d.finalEdgeDemo) d.finalEdgeDemo.destroy(1);
7075 }
7176
7277 function startDemo() {