Project

General

Profile

Actions

Emulator Issues #13055

open

QSignalBlocker issue

Added by taolas about 2 years ago. Updated almost 2 years ago.

Status:
New
Priority:
Normal
Assignee:
-
% Done:

0%

Operating system:
N/A
Issue type:
Bug
Milestone:
Regression:
No
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:

Description

Host_UpdateDisasmDialog() does not seem to be blockable and causes some problems. The problems appear to originate from PowerPC::RunLoop() sending the signal.

Only appears to trigger when a game is running (not paused).

  1. Changing UI Options will trigger RunLoop()'s Host_UpdateDisasmDialog(). A slider will spam it like crazy and causes some lag/issues if there's an open UI element that gets updates from UpdateDisasmDialog (mainly debugger windows). Ex: Open Code Widget. Run game. Adjust graphics slider. Should see the slider lag a bunch and Code Widget spaz out.

  2. RunAsCPUThread can trigger RunLoop() as well. I'm not sure if it's every instance, or just UI connected ones. I think they should all be SignalBlocked though. Certain ones are causing undesired behavior from the signal.

The RunLoop's signal is currently required for the register widget to function and certain other debugger stuff to work. Not sure about other UI stuff.

Couldn't figure out how to block it for more tests. The alternative is modifying the signal receivers to discard the signal while a game is running, but I don't think that is ideal.

Actions

Also available in: Atom PDF