Bug 517102 - [qt6][win] Translucent layer makes other document tabs visible on canvas
Summary: [qt6][win] Translucent layer makes other document tabs visible on canvas
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: OpenGL Canvas (other bugs)
Version First Reported In: 6.0.0-beta2
Platform: Microsoft Windows Microsoft Windows
: NOR minor
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords: qt6
: 518116 518331 (view as bug list)
Depends on:
Blocks:
 
Reported: 2026-03-04 20:22 UTC by eishiya
Modified: 2026-07-02 17:21 UTC (History)
4 users (show)

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


Attachments
Screenshot showing a layer with three black question marks at 64% opacity, with the other document (a chibi drawing) visible. (168.78 KB, image/png)
2026-03-04 20:22 UTC, eishiya
Details

Note You need to log in before you can comment on or make changes to this bug.
Description eishiya 2026-03-04 20:22:50 UTC
Created attachment 190358 [details]
Screenshot showing a layer with three black question marks at 64% opacity, with the other document (a chibi drawing) visible.

SUMMARY
When multiple documents are open in Krita, and the current document contains a layer at low opacity with no solid pixels to fill the canvas behind it, the other document is visible.

STEPS TO REPRODUCE
1. Set Krita's Multiple Document Mode to Tabs in Configure Krita > General > Window.
2. Create or open a document. You can leave it empty, but some distinctive content would make the problem easier to see.
3. Create a new document with a transparent background, i.e. background opacity set to 0 in the Content tab (it's possible deleting the background layer works too, but I no longer have 6.0.0 installed to check)
4. Create a second layer, and draw or paste something in it, ideally with a large-ish solid shape. I initially noticed it while working with photos, but brush strokes "work" too.
5. Set that layer's opacity to below 100%. Around 50% should make the problem clearly visible. 

OBSERVED RESULT
The other document tab is visible in the translucent portions of the layer. You may need to zoom in and/or pan around the image so that the translucent pixels overlap recognizable parts of the other tab, such as a distinctive element or the image border.

EXPECTED RESULT
The other document should not be visible, the translucent portions of the layer should blend only with the transparency checkerboard.

SOFTWARE/OS VERSIONS
Windows: 10
Qt Version: 6.x

ADDITIONAL INFORMATION
I was not able to reproduce this in 5.3.0-beta2, so this is likely a Qt6 issue.
I tested with graphics acceleration enabled, renderr: Direct3D via ANGLE. I did not think to try other rendering options before installing 5.3.0-beta2, oops.
Comment 1 Halla Rempt 2026-03-04 20:48:19 UTC
Thanks for the report!
Comment 2 Dmitry Kazakov 2026-03-09 16:23:21 UTC
I can confirm the issue on Windows. The problem happens in both modes, ANGLE and openGL. Might be related to bug 517248
Comment 3 Dmitry Kazakov 2026-03-10 09:07:04 UTC
This is a qt6-only bug
Comment 4 dra.w.p.il.e+bugskde 2026-03-25 05:39:22 UTC
*** Bug 518116 has been marked as a duplicate of this bug. ***
Comment 5 dra.w.p.il.e+bugskde 2026-03-30 14:16:56 UTC
*** Bug 518331 has been marked as a duplicate of this bug. ***
Comment 6 Dmitry Kazakov 2026-07-02 17:20:29 UTC
Git commit 4e44f0958ebe5b8cfcfb484f8bf9dcc4568aa44e by Dmitry Kazakov.
Committed on 02/07/2026 at 17:18.
Pushed by dkazakov into branch 'master'.

[win][qt6] Fix transparent canvas widget issue

It seems like Qt6 properly supports transparent widget textures,
so, if we write non-opaque pixels over it, the widget also becomes
transparent.

To fix the issue, we should use a blend function with explicit
switch to avoid writing into the alpha channel of the final widget
texture.

M  +3    -3    libs/ui/opengl/KisOpenGLCanvasRenderer.cpp

https://invent.kde.org/graphics/krita/-/commit/4e44f0958ebe5b8cfcfb484f8bf9dcc4568aa44e
Comment 7 Dmitry Kazakov 2026-07-02 17:21:58 UTC
Git commit fc7a7f797a1b165107ce454ba7aecad2809a5c4e by Dmitry Kazakov.
Committed on 02/07/2026 at 17:21.
Pushed by dkazakov into branch 'krita/6.0'.

[win][qt6] Fix transparent canvas widget issue

It seems like Qt6 properly supports transparent widget textures,
so, if we write non-opaque pixels over it, the widget also becomes
transparent.

To fix the issue, we should use a blend function with explicit
switch to avoid writing into the alpha channel of the final widget
texture.

M  +3    -3    libs/ui/opengl/KisOpenGLCanvasRenderer.cpp

https://invent.kde.org/graphics/krita/-/commit/fc7a7f797a1b165107ce454ba7aecad2809a5c4e