applets/kickoff: disable reusing items in KickoffGridView

Reusing delegates does not work if the model is replaced; the reused
delegate keeps its old model binding. For KickoffListView, reuse was
turned off with aa8a1fbf4b (2024), but
in KickoffGridView, reusing items remained on. The same thing can
happen there though (but it needs a very long list of apps, at least
on the order of two full pages) - when switching between categories,
any delegates that were pooled from being scrolled far outside the
view are reused on category switch, but with their old contents from
the previous category now appearing in the new category.

Instead, disable reuse of items in GridView as well - it's only rarely
relevant anyway as you need so many entries in a category, and the only
time it's relevant it breaks category switching.

BUG: 515229
FIXED-In: 6.6.7


(cherry picked from commit b5560b0d1b)

Co-authored-by: Christoph Wolk <cwo.kde@posteo.net>
This commit is contained in:
Christoph Wolk 2026-09-05 11:51:47 +00:00
parent c045dfd0a7
commit e57fc7973e

View file

@ -124,7 +124,7 @@ EmptyPage {
focus: true
interactive: height < contentHeight
pixelAligned: true
reuseItems: true
reuseItems: false // explicitly disabled because it doesn't work correctly with switching models like we do
boundsBehavior: Flickable.StopAtBounds
// default keyboard navigation doesn't allow focus reasons to be used
// and eats up/down key events when at the beginning or end of the list.