Skip to content

Fix a re-entrancy issue in the DiffView code#952

Open
AHSauge wants to merge 1 commit intoMurmele:masterfrom
AHSauge:fix/diffview-crash
Open

Fix a re-entrancy issue in the DiffView code#952
AHSauge wants to merge 1 commit intoMurmele:masterfrom
AHSauge:fix/diffview-crash

Conversation

@AHSauge
Copy link
Copy Markdown
Contributor

@AHSauge AHSauge commented Apr 30, 2026

Related to #944

It seems like dropping the QApplication::processEvents(); is the way to go here. That and queuing the callbacks seems to fix the problem. I'm not entirely sure if mFetching is even needed, but it's there just in case. I'm not sure what kind of side-effects this potentially could have.

@Murmele From the code, it looks like you added this at some point. Is there a concrete need to actually process events within fetchMore or is it acceptable post-pone the processing? To me it seems to work fine without the call at least, but maybe there's a corner case I'm not aware of here.

Fixes #946

fetchMore gets called multiple times. This queues the calls in the event loop rather than being directly executed
This also add a guard to get an early out.
Lastly, we drop processing events within fetchMore since there's no indication that this call is actually needed.
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

Successfully merging this pull request may close these issues.

Fast commits navigation using arrow keys makes app crash

1 participant