Bug 506239

Summary: Black flash when navigating between images
Product: [Applications] Koko Reporter: Nate Graham <nate>
Component: GeneralAssignee: Unassigned bugs <unassigned-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: olib141
Priority: NOR Keywords: usability
Version First Reported In: unspecified   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Nate Graham 2025-06-26 21:09:12 UTC
STEPS TO REPRODUCE
1. Launch the app showing an image in a folder with multiple images
2. Press the left or right arrow key


OBSERVED RESULT
Current image disappears, then the black background is fully visible for a moment, and then the new image loads.


EXPECTED RESULT
New image replaces current image without the background showing at all.


ADDITIONAL INFORMATION
Why does this matter?

In addition to it looking a bit weird and distracting, it impairs the use case of comparing two adjacent images to see the differences between them. Because switching produces a black flash, my brain somehow mentally resets when switching images, so it doesn't notice the differences between them.
Comment 1 Bug Janitor Service 2025-07-07 14:36:49 UTC
A possibly relevant merge request was started @ https://invent.kde.org/graphics/koko/-/merge_requests/187
Comment 2 Oliver Beard 2025-07-07 18:29:30 UTC
Git commit dac3a3d6610232babe9bf07157689c0bc66d5b7d by Oliver Beard.
Committed on 07/07/2025 at 18:27.
Pushed by olib into branch 'master'.

ImageViewPage: Fix black frame when switching images

When switching with the arrow keys, there is (usually) a single black frame shown as the image is being loaded.

To fix this, the loader responsible for loading the images will now load when the image is the previous and next image, not just when it is the current image and the user is dragging.

This also helps resolve a short delay when dragging, for the adjacent images to become visible.

M  +4    -8    src/qml/ImageViewPage.qml

https://invent.kde.org/graphics/koko/-/commit/dac3a3d6610232babe9bf07157689c0bc66d5b7d