From b4092a5ff3120e9472bcb0fb9fe22aa5576c172e Mon Sep 17 00:00:00 2001 From: Sami Nurmenniemi Date: Thu, 5 Oct 2017 15:02:57 +0300 Subject: Fix issue where mediaplayer initially displays black video If effectLoader.item has not been set before effectSource changes, setting effectLoader geography fails. There was a workaround where changing effect caused the video to display correctly. Task-number: QTBUG-63091 Change-Id: I726068f0860269d94507be5f92947caa6716efdf Reviewed-by: Kari Hormi --- basicsuite/mediaplayer/Content.qml | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/basicsuite/mediaplayer/Content.qml b/basicsuite/mediaplayer/Content.qml index aa31f09..00ad381 100755 --- a/basicsuite/mediaplayer/Content.qml +++ b/basicsuite/mediaplayer/Content.qml @@ -85,6 +85,9 @@ Rectangle { Loader { id: effectLoader source: effectSource + onItemChanged: { + updateSource() + } } onWidthChanged: { @@ -99,11 +102,7 @@ Rectangle { onEffectSourceChanged: { effectLoader.source = effectSource - effectLoader.item.parent = root - effectLoader.item.targetWidth = root.width - effectLoader.item.targetHeight = root.height updateSource() - effectLoader.item.source = theSource } function init() { @@ -114,8 +113,13 @@ Rectangle { function updateSource() { theSource.sourceItem = videoContent.mediaSource == "" ? introBackground : videoContent - if (effectLoader.item) + if (effectLoader.item) { + effectLoader.item.parent = root + effectLoader.item.targetWidth = root.width + effectLoader.item.targetHeight = root.height effectLoader.item.anchors.fill = videoContent + effectLoader.item.source = theSource + } } function openVideo(path) { -- cgit v1.2.3