Crash when separating tabbed windows
KellanClark opened this issue · comments
Describe the bug
If two windows are combined into one window with multiple tabs, they cannot be separated again without the program crashing. I also want to note I am running the executable from File Explorer, so this is not another case of the window-related crash caused by #1358
Expected behavior
The tabs should separate and become their own windows again.
Steps to reproduce the bug
This process can be done with any set of windows. These two are just how I first discovered the bug.
- Open Debug>CPU>Show Assembly
- Open Debug>CPU>Registers
- Drag the top bar of Registers onto the top bar of Assembly so they become two selectable tabs on the same window
- Try to drag the Registers tab away from the window
Operating System
Windows 11
PCSX-Redux version
Version: 15647.20230724.6.x64
Changeset: ccb4ea3
Date & time: 2023-07-24 19:29:15
CPU model
Intel Core i9-13900HX
GPU model & Drivers
Renderer: NVIDIA GeForce RTX 4080 Laptop GPU/PCIe/SSE2 Version: 3.2.0 NVIDIA 528.66
BIOS version
N/A
Options
- Dynarec CPU
- 8MB
- OpenGL GPU
- Fastboot
- Debugger
Iso checks
No response
Logs
No response
Additional information
No response
@ocornut... ? I haven't really seen this in the docker branch of ImGui. And this smells like an assert or a crash in ImGui, since it seems to happen with any two set of windows. Do you think you could make a small video or animated gif to show the repro, because I really have never seen this. I'll give it a small try tonight.
2023-07-25.19-58-25.mp4
I can see the video but no details or call-stack so I'll leave it to you Nicolas. Let me know how I can help.
I can see the video but no details or call-stack so I'll leave it to you Nicolas. Let me know how I can help.
Yeah I'll try and reproduce it, tho I haven't managed to so far. I suspect it has to do with clipping and/or window position, but it's really weird. And it has to be a really weird one because:
- We have a bunch of assert catchers, and they don't seem to be triggering here.
- We have a crash handler too which sends minidumps for callstacks and analysis, and it's not triggering here either.
Oooh, nice catch, @johnbaumann. Not an ImGui error, but has a strong correlation. Interesting. Thanks! I should be able to get something worked around for this, even though it's strangely not reproducing for me.
This also fixes the remaining problem in #1358 I guess dragging the file picker dialog out of the main window works by destroying it and creating a new window, which made it susceptible to this bug, Not sure why it only happened when running the program from the search bar, but race conditions are fickle like that I guess.
@KellanClark hah, great :)