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 & 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->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't mark it as 'erased', 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>