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

List widget does not render all visible content after content data gets shorter #1948

Closed
andydotxyz opened this issue Feb 12, 2021 · 5 comments
Assignees
Labels
blocker Items that would block a forthcoming release bug Something isn't working

Comments

@andydotxyz
Copy link
Member

andydotxyz commented Feb 12, 2021

In addition to #1933 there are issues when the data size shrinks and the List is scrolled down from the top.

107755218-6ec65100-6d1a-11eb-9cca-ce97f92a5806

Resizing the widget fixes the rendering, though not immediately - first the content fixes, then later the dividers reappear.

Code to replicate is at #1864 - run it, choose 20, scroll to bottom then choose 10.

@andydotxyz andydotxyz added bug Something isn't working blocker Items that would block a forthcoming release labels Feb 12, 2021
@fpabl0
Copy link
Member

fpabl0 commented Feb 12, 2021

This bug seems to be related to the way scroller refreshes its content while resizing. I have done these steps to reproduce it:

  1. Run the code in List widget panic when refreshing after changing content through combobox changed.  #1864
  2. Choose 20.
  3. Make the window's heigh smaller.
  4. Scroll to bottom.
  5. Choose 10.
  6. Try to scroll.
list_bug_1.mp4

In the horizontal axis, occurs something similar:

  1. Run the code in List widget panic when refreshing after changing content through combobox changed.  #1864
  2. Choose 10.
  3. Make the window's width smaller.
  4. Scroll a bit.
  5. Make the window's width larger.
list_bug_2.mp4

@andydotxyz
Copy link
Member Author

I don't think this is to do with scroller. The list widget caches a lot of state internally and it's maths get confused.
I cannot find the cause, and so have a fix in the works that removes a lot of the internal state and the problem goes away.

@andydotxyz
Copy link
Member Author

(I will open a PR when I manage to fix the last failing test, which is confusing me)

@andydotxyz
Copy link
Member Author

macOS literally just deleted all the files for my diff. It may take a little longer to re-create this work.

andydotxyz added a commit to andydotxyz/fyne that referenced this issue Feb 15, 2021
…me render issues

I could not track down the issues directly, so imported Tree/Table style code to render with simpler code.

Fixes fyne-io#1948, fyne-io#1960
@andydotxyz
Copy link
Member Author

On develop and prepping for 2.0.1 release as well

andydotxyz added a commit that referenced this issue Feb 25, 2021
…me render issues

I could not track down the issues directly, so imported Tree/Table style code to render with simpler code.

Fixes #1948, #1960

Conflicts:
	widget/list.go
	widget/list_test.go
	widget/testdata/list/offset_changed.xml
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
blocker Items that would block a forthcoming release bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants