Bug 447338 - Cancel a Filter with Instant Preview won't quit "low resolution preview" until refresh canvas blocks
Summary: Cancel a Filter with Instant Preview won't quit "low resolution preview" unti...
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: Instant Preview (show other bugs)
Version: 5.0.0-beta5
Platform: Microsoft Windows Microsoft Windows
: NOR normal
Target Milestone: ---
Assignee: Dmitry Kazakov
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-12-21 14:31 UTC by Protoniv
Modified: 2022-08-17 07:43 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
Cancel a Filter when Instant Preview is on (2.00 MB, video/mp4)
2021-12-21 14:31 UTC, Protoniv
Details
Tiles of recovered resolution after painting dots (148.26 KB, image/png)
2021-12-21 15:35 UTC, Ahab Greybeard
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Protoniv 2021-12-21 14:31:07 UTC
Created attachment 144754 [details]
Cancel a Filter when Instant Preview is on

SUMMARY
Cancel a Filter when Instant Preview is on won't quit the low resolution preview until refresh the canvas block, can be observed in the attached video.
In 5.0 ,if View->Instant Preview Mode is disabled but "Force Instant Preview in Filters" in performance setting is enabled, have the same issue. 

test on 4.4.8 and 5.0.0-beta5-e1828f1cae

STEPS TO REPRODUCE
1. Create a document and draw something, make sure Instant Preview is enabled.
2. Zoom out and add a filter, then cancel the filter.
3. Zoom in and the image is still in low resolution preview

OBSERVED RESULT
Image is still in low resolution preview

EXPECTED RESULT
 image should quit the low resolution preview

SOFTWARE/OS VERSIONS
Windows: Windows 10 20H2

ADDITIONAL INFORMATION
Comment 1 Ahab Greybeard 2021-12-21 15:35:16 UTC
I can Confirm this for the 4.4.8 and the Dec 20 5.1.0-prealpha (git 8d3bd3d) appimages on Debian 10.

If you paint a small dot on the layer, then a tile of restored resolution will be created around that dot.
This is shown in the attachment: Recovered Resolution Tiles.png.

If you turn off then on the visibility of any layer, the entire image will have its resolution restored.
Comment 2 Ahab Greybeard 2021-12-21 15:35:59 UTC
Created attachment 144755 [details]
Tiles of recovered resolution after painting dots
Comment 3 Halla Rempt 2022-08-11 09:06:23 UTC
Actually, this is also visible if instant preview is turned off in the view menu.
Comment 4 Dmitry Kazakov 2022-08-12 14:50:28 UTC
The same issue happens with Move Tool, btw.
Comment 5 Dmitry Kazakov 2022-08-17 07:43:45 UTC
Git commit 7cbc18eaf16bb5653c1bfc44fc99085a36d48b94 by Dmitry Kazakov.
Committed on 17/08/2022 at 07:43.
Pushed by dkazakov into branch 'master'.

Fix Canvas being stuck in lo-res mode after cancelling Move or Filter action

Now when the update scheduler sees that a Lod0 stroke has been cancelled,
it notifies the Resume stroke (via its filter) that the GUI should refetch
image data for the Lod0 planes inside tiles.

M  +24   -0    libs/image/kis_image.cc
M  +25   -0    libs/image/kis_strokes_queue.cpp
M  +1    -0    libs/image/kis_strokes_queue.h
M  +15   -1    libs/image/kis_suspend_projection_updates_stroke_strategy.cpp
M  +6    -3    libs/image/kis_suspend_projection_updates_stroke_strategy.h
M  +5    -0    libs/image/kis_update_scheduler.cpp
M  +10   -0    libs/image/kis_update_scheduler.h

https://invent.kde.org/graphics/krita/commit/7cbc18eaf16bb5653c1bfc44fc99085a36d48b94