EXT-8463 FIXED Crash in IM/chat floaters.
EXT-8463 FIXED Crash in IM/chat floaters.

Reason
======

Each message in an IM/chat session has a header. The header shows an (i) button on hover and hides it when mouse leaves the header.

The button is shown by adding it as a header child and hidden by resetting the button parent.

So, if you close the IM session so that the hovered header doesn't get the MouseLeave message (e.g. by Ctrl+W),
the button gets destroyed. If you then open the IM session again and hover a message header, the destroyed button
is referenced, which leads to crash.

Fix
===

We make sure that when a hovered message header is being destroyed (by closing the IM session),
the button is detached (i.e. its parent gets reset), so that it remains usable.
I also add a couple of checks for the case when the (i) button fails to construct from XML file.

Reviewed by Mike Antipov at https://codereview.productengine.com/secondlife/r/783/

gabeharms/firestorm,gabeharms/firestorm,gabeharms/firestorm,gabeharms/firestorm,gabeharms/firestorm,gabeharms/firestorm,gabeharms/firestorm,gabeharms/firestorm,gabeharms/firestorm