Skip to content

qt: fix chaining `QSGTextureView` if the master target is a sg layer

Fatih Uzunoğlu requested to merge fuzun/vlc:qt/fixqsgtextureviewchaining into master

This bug is currently not observed, as we are not chaining texture views, but it is easy to have problems once we start doing that (such as, layer -> view -> view).

I'm not happy being sub-class aware here, but there is not much to do because updateRequested() signal is neither part of the QSGTexture nor QSGDynamicTexture api.

Note that the targeting mechanism is level-blind here, i.e., if the view target is another view, it does not try to find the master target and attach to it instead (internally or not). Even though this means that dispatching is going to be more cumbersome (such as commitTextureOperations() would need to travel through all the views first), this is intentional and will not change for the sake of maintenance, as chains are not expected to be long.

Merge request reports

Loading