Describe the bug
When any palette flyout is open (e.g. Meter) and you click a different palette
(e.g. Ornament), the new palette does not open. The first click closes the
current one, and a second click is needed to open the new one.
To Reproduce
- Click any palette (e.g. Meter) — it opens.
- Without clicking anywhere else, click a different palette (e.g. Ornament).
- The first palette closes but the second one does not open.
- Clicking again opens it correctly.
Expected behavior
Clicking a palette should always open it immediately, regardless of what is
currently open.
Root cause
In _loadPaletteButtonHandler (palette.js), onmouseover schedules a 400ms
timeout to call showPalette. The onclick handler does not cancel this
pending timeout before calling showPalette itself, causing a race where the
hover timeout fires _hideMenus and closes the palette that the click just opened.
Environment
- Browser: Chrome / any
- OS: any
- Version: master (latest)
Describe the bug
When any palette flyout is open (e.g. Meter) and you click a different palette
(e.g. Ornament), the new palette does not open. The first click closes the
current one, and a second click is needed to open the new one.
To Reproduce
Expected behavior
Clicking a palette should always open it immediately, regardless of what is
currently open.
Root cause
In
_loadPaletteButtonHandler(palette.js),onmouseoverschedules a 400mstimeout to call
showPalette. Theonclickhandler does not cancel thispending timeout before calling
showPaletteitself, causing a race where thehover timeout fires
_hideMenusand closes the palette that the click just opened.Environment