NationalSecurityAgency / ghidra

Ghidra is a software reverse engineering (SRE) framework
https://www.nsa.gov/ghidra
Apache License 2.0
49.06k stars 5.65k forks source link

UI doesn't react to clicks after using mouse button4/5 to navigate back/foward #6624

Closed BhaaLseN closed 2 weeks ago

BhaaLseN commented 2 weeks ago

Describe the bug After using the thumb buttons on the mouse (normally Button4 and Button5 in most tools that allow mappings,) none of the windows react to regular left/right clicks. This isn't even limited to the disassembly UI, but also to other windows such as the Script manager or the Ghidra main window.

To Reproduce Steps to reproduce the behavior:

  1. Have a mouse with thumb buttons that map to "Next Location in History" and "Previous Location in History".
  2. Open any function that calls other functions (in my case: a constructor that calls base constructors)
  3. Double-click on a function to navigate to it (in my case: the base constructor)
  4. Repeat if necessary.
  5. Use the thumb button to navigate backwards to the first function.
  6. Double-click the next function to get a clearer picture of what happens.

Expected behavior I expect this to navigate backwards to the original function (which happens) so I can continue looking at other functions that are called (which doesn't work since clicks appear to be non-functional.)

Screenshots If applicable, add screenshots to help explain your problem.

Attachments If applicable, please attach any files that caused problems or log files generated by the software.

Environment (please complete the following information):

Additional context I was excited to try 11.1 after #208 was scheduled to land here. And while it works, it seems to eat mouse events for a while.

I can get out of this supposedly mouse-locked situation by using the thumb buttons to navigate around (mostly back, I haven't observed going forward fixing anything.) At some point, clicks work again.

No logs unfortunately, the console is empty. The script from #208 did not show this issue.

dragonmacher commented 2 weeks ago

I see a few bugs related to this feature. We will have a fix for this for our next patch release.

I cannot reproduce the exact issue. I will add a fix I hope will address this issue, but I will not know for sure until you or someone else can verify.

BhaaLseN commented 2 weeks ago

Yeah, it seems quite flaky too; it works a few times then starts blocking the UI. Next few attempts always block, then it works again for a few more times.

At the moment, I unbound the keys and went back to the old script; but I'll gladly give it a shot if theres a build available somewhere. (I could probably build it myself, but I haven't used Eclipse in years, so I don't know how quickly I'd be up to speed.)

ryanmkurtz commented 2 weeks ago

Building should be pretty easy. You don't need Eclipse.

shuffle2 commented 2 weeks ago

I was experiencing this issue and just tried with current master 715a8ba335702e89595e001e1b8461056f20fd6c . It seems to be fixed. fwiw if you want workaround for before patch release, the problem seemed to fix itself if you press "forward" mouse button while the UI is in the state where it appears to be dropping mouse input.