Hello,<div><br></div><div>I found a bug and fixed it with the patch :)</div><div><br></div><div><b>to reproduce:</b></div><div>run compositor on top of x11</div><div><br></div><div>repeat</div><div>   run flower</div><div>

   drag &amp; drop it a little</div><div>   move the pointer in and out of the compositor/flower</div><div>   Ctrl+C the flower client</div><div><br></div><div>it would break eventually</div><div><br></div><div><b>problem:</b></div>

<div>I found that the linked list surface-&gt;destroy_listener_list got corrupted at some point (it was not circular any more, strange next/prev etc), which causes the crash.</div><div><br></div><div><b>solution:</b></div>

<div>The problem was in wl_list_remove -- when you erase an element, you don&#39;t mark it as &#39;erased&#39;, by setting prev/next to NULL for example. Then if you erase it again the list becomes corrupt. I nullified the prev/next and check in the begining of wl_list_remove for not-in-list elements and just ignore them. That seems to fix it.</div>

<div><br></div><div>Regards,</div><div>Iskren</div>