AIMP Forum

AIMP для Windows => Ошибки / Замечания => Skin Editor / Skin Engine => Исправлено в новых сборках => Topic started by: D2NP on March 28, 2018, 21:19:31

Title: [+] [2058] Перемешивается порядок выполнения событий кнопок OnMouse*
Post by: D2NP on March 28, 2018, 21:19:31
Прикрепил пример.
- На первую и вторую кнопки повесил события OnMouseDown и OnMouseUp. Скриптами меняется текущий ZOrder кнопок, +1 при нажатии и -1 при отпускании.
- Вторая кнопка с выпадающим меню. Третья просто поверх первой и второй.
- Если нажать первую или вторую кнопку, то видно как меняется их ZOrder и восстанавливается

Если нажать вторую кнопку(вызвать меню), а затем первую, то события кнопок перемешаются, в следствие чего нарушится их порядок. Ожидается, что порядок кнопок всегда будет возвращаться в 0 - 1 - 2

1. Нажимаю вторую кнопку(открывается меню), порядок кнопок меняется на 0 - 2 - 1
2. Зажимаю первую кнопку, порядок меняется на 1 - 2 - 0
3. в этот же момент срабатывает событие OnMouseUp второй кнопки: порядок меняется на 2 - 1 - 0
4. Отжимаю первую кнопку, порядок меняется на 1 - 2 - 0

В этой ситуации события должны перемешиваться или нет?
Title: Re: [2058] Перемешивается порядок выполнения событий кнопок OnMouse*
Post by: Artem on March 28, 2018, 21:25:20
Меню блокирует MouseUp и оно сработает только после закрытия меню. Меню же закроется, если вы кликните где-то мимо, например, клик мимо сначала вызовет MouseDown, а затем только меню закроется.