[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