Skip to content

Fix: refresh game list while sorting breaks tables - #657

Closed
BeSilentBob wants to merge 2 commits into
DavidoTek:mainfrom
BeSilentBob:main
Closed

BeSilentBob wants to merge 2 commits into
DavidoTek:mainfrom
BeSilentBob:main

Conversation

@BeSilentBob

@BeSilentBob BeSilentBob commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor

Hi there,

Following to Issue #656 this PR aims to fix the broken game list on refresh while sorting is enabled. What happens in this fix is that each Store (Steam,GOG,Epic etc.) needs to temporarily disable qt sorting while populating the list. It needs to be enabled later on so qt can pick up the sorting again. This also cleans the table out.

What this fixes
It fixes the broken game list when hitting the refresh button while sorting is active

What this means for future store additions
Each store needs a disable and an enable call inside their update function.

So this is tested like always on the latest ProtonUp-Qt branch running from source. Beware however that I did not test the following stores to be working since I didn't have the opportunity. So these should be tested before considering using this PR. Feel free to merge or close it :)) This is just a (as far as I can tell) working layout to prevent this bug, maybe this can be solved otherwise I dunno.

Tested on:

  • Steam Launcher (somehow different from the rest; this gamelist seems not to have this problem, but with the parameter from this PR set it will fallback immediately to the current runner instead after multiple clicks on refresh while sorting is enabled nvm it gets scrambled like the rest without these parameters)
  • Lutris Launcher
  • Heroic Launcher
  • Epic Launcher

Important Notes

  • Searching while refreshing cleans out the list and the search term has to be applied again. This did not lead to any issues however as far as I can see
  • The Pattern needs to be enabled in every store. Disable -> Enable; Disable -> Enable
  • Since the Steam game list is much more complex than the others it should be double checked for issues.
  • setRowCount(0) is flagged as redundant by Claude, since setRowCount(n) already drops extra rows -> just minor optimization I just thought it would be better to zero it beforehand.

Specs
OS: CachyOS
Protonup-Qt: latest main branch

BeSilentBob and others added 2 commits October 15, 2026 20:37
this commit fixes Issue DavidoTek#656 where sorted game lists get corrupted when refreshing while sorting by name is active. It prepares two functions that reset the list  and temporarily disables the sort during the update. 

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
fixes wrong variable name for temporarily disable sorting.
@DavidoTek

Copy link
Copy Markdown
Owner

Thanks for reporting and fixing it. Good catch!

I changed it to fix a regression: when clicking the refresh button while the text search is open, it shows all games again instead of only matches. I also used contextmanager to remember whether a refresh is active and also handle the case where loading fails during a refresh.

See #658

@DavidoTek DavidoTek closed this Oct 15, 2026
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.

2 participants