dolphin/Source
Dentomologist 0b128badae DolphinQt: Fix unresponsive hotkeys during framestep overlay move
Fix the following bug:

* Have a moveable ImGui overlay enabled, such as the Statistics window.
* Pause the game.
* Click and hold on the overlay's title bar as if you were going to move
  it. Because the screen isn't updating while the game is paused, you
  won't be able to actually move the overlay.
* Press the Frame Advance hotkey several times until it stops
  responding.

At this point emulation hotkeys are no longer responsive. This can be
resolved by selecting Play from the toolbar or menu, or selecting Frame
Advance from the menu a couple times, but it's annoying and not obvious
what's gone wrong or how to fix it.

Why the bug is happening:

* Doing a framestep while clicking on the overlay title bar causes ImGui
  to set IO.WantCaptureKeyboard to true, indicating that ImGui is
  requesting Dolphin ignore any keyboard events while the overlay is
  being interacted with.
* Dolphin complies with this request, causing
  Host_UIBlocksControllerState to return true and thus setting the input
  gate to ignore input.
* IO.WantCaptureKeyboard is only updated when ImGui::NewFrame() is
  called, which only happens at the end of each present. It thus remains
  true indefinitely since the game paused after the last framestep, and
  so Dolphin ignores any hotkeys such as the framestep or play keys.

The fix:

Ignore IO.WantCaptureKeyboard when the game is paused. ImGui can't
meaningfully capture input anyway when the game is paused, so this
shouldn't cause any problems elsewhere.

Once async presentation is implemented we'll want to revert this change,
both because it'll become unnecessary and because ImGui will be able to
do stuff while paused and so suppressing emulation hotkeys will actually
be useful.
2025-03-23 14:36:58 -07:00
..
Android Merge pull request #13311 from iwubcode/dynamic_input_textures_reduce_image_writes 2025-03-23 15:12:28 -04:00
Core DolphinQt: Fix unresponsive hotkeys during framestep overlay move 2025-03-23 14:36:58 -07:00
DSPSpy Simplify std::fill with std::fill_n 2024-10-07 15:34:56 -07:00
DSPTool GDBStub: Signal Breakpoint Changes To Host 2024-11-15 15:12:11 -08:00
PCH bump minimum VS version to 17.6 2023-05-16 20:21:36 -07:00
UnitTests Add a SplitPath unit test exercising Windows paths with drive letters 2025-01-29 22:07:19 -08:00
VSProps Merge pull request #13306 from OatmealDome/cubeb-optional 2025-02-02 17:50:20 +01:00
.clang-format
CMakeLists.txt CMake: don't enable -Wshadow-uncaptured-local 2025-02-21 02:51:32 +00:00
dolphin-emu.sln AudioCommon: Added Granular Synthesis 2025-03-14 01:22:35 -05:00