grumpycoders / pcsx-redux

The PCSX-Redux project is a collection of tools, research, hardware design, and libraries aiming at development and reverse engineering on the PlayStation 1. The core product itself, PCSX-Redux, is yet another fork of the Playstation emulator, PCSX.

Home Page:https://pcsx-redux.consoledev.net

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

  1. Open Debug>CPU>Show Assembly
  2. Open Debug>CPU>Registers
  3. Drag the top bar of Registers onto the top bar of Assembly so they become two selectable tabs on the same window
  4. 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:

  1. We have a bunch of assert catchers, and they don't seem to be triggering here.
  2. 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.