Recaf
Recaf copied to clipboard
Dialog boxes disappear without interaction after 2-3 seconds, on Windows 10 w/Java 16.
Describe the bug
On Windows 10 with Java 16 various yes/no or decompile error dialog boxes disappear by themselves after 2-3 seconds, without mouse or keyboard interaction.
I've looked at the preferences, but I don't see any timeout that would settable for these, so I guess it's a bug.
The popup will disasppear once it loses it's focus as it set here
^^ Demo showing what xxDark referenced
https://user-images.githubusercontent.com/21371686/153416204-f9996eae-a574-46f0-afc6-b95ed7b02d8f.mp4
Yeah, I suppose it's due to the dialogs being non-modal and the main window wanting to pop to front now and then for some reason. Updating itself with something, I guess. It doesn't always happen.
Try doing it with a large-ish project loaded and decompiled. I had about 25,000 classes. That takes about 1-3GB of RAM depending on the garbage collector state. And the gc takes a while to run with that much stuff loaded.
I think I found a way make this happen reliably:
- Go in table mode. Edit a method.
- While the method edit dialog is open, hover the mouse over the background table.
- Recaf will (hopefully) pop a hint over one of those entries in the table that has the mouse over.
- As soon as that happens, the edit window loses focus and the main window pops to front.
It also happens in some other scenarios like when the decompile error window pops up over while the main window is, obviously, in code edit mode. There's no visible popup hint that would cause the error dialog to lose focus in that case though. Also, it just disappears, unlike the table hint stealing focus. So it's probably a different issue/bug.
Ah, so this follow-up comment seems to be a different bug:
https://user-images.githubusercontent.com/21371686/153524776-2d138c76-f3db-48d9-9a08-2775d7de3184.mp4
The hover-popups on the table columns (access is instant, return type and args are delayed) bring the main window forward, but not into focus. The editor window is now in an odd focus state.