Repository navigation
Windows: the panel and the clipboard history stop freezing - #10
Merged
Merged
Conversation
A thumbnail is a read from disk and a decompression, and the list did every one of them on the interface's thread before it drew a single row: a history full of screenshots took seconds to appear, and answered nothing while it did. Decoded off that thread, and drawn as each one arrives.
What the list waits for arrives one piece at a time — a picture decoded, the words read in another, a page's title, a file's icon — and each piece rebuilt every row. A list rebuilt a hundred times over cannot be scrolled: the rows go out from under the pointer, and the scroller goes back to the top each time. Rebuilt once they have settled, and put back where the user was reading.
…m in again Handing every page back to Windows once things went quiet read well in Task Manager, but the next panel or list then read itself back from disk — with an antivirus between the two, that is seconds of nothing before anything appears. The collection stays; the trimming goes.
The menu is a window of its own, so choosing something in it is a click outside the panel — which closed the panel from under it, leaving the menu on screen with nothing above it to dismiss it. While it is up, the panel stays; when the panel goes, the menu goes with it.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Reported from a work PC on 2.0.3: the app rames, the clipboard history takes
forever to open and then freezes and refuses to scroll, and the menu at the
bottom of the panel refuses to close.
Four causes, all of them read out of the code:
drew a single row (
ClipboardController.Thumbnail). Two hundred screenshotsis two hundred disk reads and decompressions before anything appears.
read in another, a page's title, a file's icon — each raised
Changed, andeach rebuilt the whole list. The rows go out from under the pointer and the
scroller goes back to the top, which is what "refuses to scroll" was.
Memory), so thenext panel or list read itself back from disk — with an antivirus in between,
seconds of nothing.
click outside the panel: the global click watcher closed the panel from under
the menu, and the menu was left on screen with nothing to dismiss it.
Test plan
at once, pictures fill in as they come, scrolling works while they do
the menu closes on the next click outside