Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot peek into code note by memory address if there's memory bookmark with updating value #309

Open
suXinjke opened this issue Oct 13, 2021 · 1 comment

Comments

@suXinjke
Copy link

suXinjke commented Oct 13, 2021

If you look at the title, and picture below - the yellow tooltip is very convenient during achievement development and is shown when you mouseover on memory value. The tooltip stops showing up or may show up for a moment and disappear, if there's an Memory Bookmarks window open that has an updating value (in my case it's frame count). I assume it's some windows-based rerendering/update caveat being in play here.

Issuing this on

  • RALibretro 1.3.8
  • Windows 10 x64 21H1

If you have a hint on what the issue might be and where to look at to fix, I could try handling it myself

image

@Jamiras
Copy link
Member

Jamiras commented Oct 17, 2021

This problem does not occur in the other standalone emulators.

This is somehow a caused by the interaction between SDL2 and the Windows API, and RALibretro uses SDL2 as its graphics layer.

We are already explicitly calling RedrawWindow to get the tool windows to repaint as the SDL2 message loop doesn't promote the WM_INVALIDATE messages into WM_PAINT messages as expected. I suspect something similar is happening with the tooltip, for which we don't forcibly call RedrawWindow.

From RetroAchievements/RAIntegration#505:

For reasons that are completely unclear, the InvalidateRect calls for the memory viewer and search results are only promoted to a WM_PAINT event when other events are in the queue (i.e. WM_MOUSEMOVE). This behavior appears to be SDL-specific, and I can't figure out why.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants