Есть два пользовательских курсора, каждый на два состояния - показать, действие.
Есть две кнопки, которые вешают на мышь один из этих курсоров.

Код AS1/AS2:
angelBTN.onRelease = function()
{
// Настраиваем курсор MAINPATH.GUI.CURS2
Mouse.hide()
Mouse.removeListener( MAINPATH.RESTOR.mouseListener )
var XXT = MAINPATH.RESTOR.mouseListener = new Object()
XXT.onMouseDown = XXT.onMouseUp = function() {
MAINPATH.GUI.CURS2.mOPEN._visible = !MAINPATH.GUI.CURS2.mOPEN._visible
MAINPATH.GUI.CURS2.mCLOSE._visible = !MAINPATH.GUI.CURS2.mCLOSE._visible
}
MAINPATH.GUI.CURS2.startDrag( true )
Mouse.addListener(XXT);
}
demonBTN.onRelease = function()
{
//тоже самое для MAINPATH.GUI.CURS
}
Содержимое MAINPATH.RESTOR постоянно подгружается и обновляется. Целиком.
Так вот ПЕРИОДИЧЕСКИ и непонятно почему, клип подгрузился, по кнопке кликнул, курсор включился мой юзерский, но XXT.onMouseDown, XXT.onMouseUp перестает обрабатываться.
Причем по кнопке можно 10 раз кликнуть - нормально, на 11й - листенер куда-то уходит.
Что я не так? Или листенер надо объявить один раз где-нибудь в осн теле программы и не париться с этими добавить-убавить?