[vlc-commits] [Git][videolan/vlc][master] 2 commits: qml: fix broken references in `EnhancedImageExt`

Felix Paul Kühne (@fkuehne) gitlab at videolan.org
Fri Mar 27 11:21:11 UTC 2026



Felix Paul Kühne pushed to branch master at VideoLAN / VLC


Commits:
43f17d9d by Fatih Uzunoglu at 2026-03-27T11:54:57+01:00
qml: fix broken references in `EnhancedImageExt`

Amends 4dcc0d71.

- - - - -
b9f57370 by Fatih Uzunoglu at 2026-03-27T11:54:57+01:00
qml: use `EnhancedImageExt` as the image visual in `ArtistTopBanner`

This fixes the image appearing black due to a Qt bug.

- - - - -


2 changed files:

- modules/gui/qt/medialibrary/qml/ArtistTopBanner.qml
- modules/gui/qt/widgets/qml/EnhancedImageExt.qml


Changes:

=====================================
modules/gui/qt/medialibrary/qml/ArtistTopBanner.qml
=====================================
@@ -174,10 +174,15 @@ FocusScope {
             implicitHeight: VLCStyle.cover_normal
             implicitWidth: VLCStyle.cover_normal
 
-            Widgets.ImageExt {
+            // Since the source image may be mip mapped, we need to use
+            // `TextureProviderIndirection` here which contains a fixup
+            // for a Qt bug where the texture would not be sampled and
+            // appears black. `EnhancedImageExt` manages an indirection
+            // implicitly, so we can simply use it here:
+            Widgets.EnhancedImageExt {
                 id: roundImage
                 source: root.artist.id ? (root.artist.cover || VLCStyle.noArtArtist) : "" // do not load the fallback image during initialization
-                textureProviderItem: background
+                targetTextureProvider: background
                 sourceSize: Qt.size(width * eDPR, height * eDPR)
                 anchors.fill: parent
                 radius: VLCStyle.cover_normal


=====================================
modules/gui/qt/widgets/qml/EnhancedImageExt.qml
=====================================
@@ -24,7 +24,7 @@ import VLC.Util
 ImageExt {
     id: root
 
-    textureProviderItem: textureProvider
+    textureProviderItem: textureProviderIndirection
 
     // NOTE: Unlike `sourceClipRect`, `textureSubRect` acts as viewport for the texture,
     //       thus faster. No manipulations are done either to the image or the texture.
@@ -32,9 +32,9 @@ ImageExt {
     //       `sourceClipRect` otherwise to save system and video  memory. As a reminder,
     //       implicit size reflects the texture size.
     // WARNING: Using this property may be incompatible with certain filling modes.
-    property alias textureSubRect: textureProvider.textureSubRect
+    property alias textureSubRect: textureProviderIndirection.textureSubRect
 
-    property alias textureProvider: textureProviderIndirection
+    property alias textureProviderIndirection: textureProviderIndirection
 
     // NOTE: Target is by default the texture provider `ImageExt` provides, but it can be
     //       set to any texture provider. For example, `ShaderEffectSource` can be displayed
@@ -77,8 +77,8 @@ ImageExt {
 
         detachAtlasTextures: sourceNeedsTiling
 
-        horizontalWrapMode: sourceNeedsTiling ? TextureProviderItem.Repeat : TextureProviderItem.ClampToEdge
-        verticalWrapMode: sourceNeedsTiling ? TextureProviderItem.Repeat : TextureProviderItem.ClampToEdge
+        horizontalWrapMode: sourceNeedsTiling ? TextureProviderIndirection.Repeat : TextureProviderIndirection.ClampToEdge
+        verticalWrapMode: sourceNeedsTiling ? TextureProviderIndirection.Repeat : TextureProviderIndirection.ClampToEdge
 
         textureSubRect: sourceNeedsTiling ? Qt.rect(0, 0, root.paintedWidth, root.paintedHeight) : undefined
 



View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/1c3a7c203e616ccf826c6ffed691418e8c147c18...b9f5737072329d6a13bc8458b89066c4f7543f51

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/1c3a7c203e616ccf826c6ffed691418e8c147c18...b9f5737072329d6a13bc8458b89066c4f7543f51
You're receiving this email because of your account on code.videolan.org.




More information about the vlc-commits mailing list