Skip to content

fix circular dependencies between qt as an interface and a "vout window" module

Pierre Lamot requested to merge chub/vlc:qt/module_refcount into master

this merge request tries to solve the circular dependency between Qt as an interface module and Qt as a "vout window" module. the issue is that the interface module might be released before the vout window, destroying resources that are still in use by the vout window.

In order to achieve this:

  • the actual interface is loaded in a separate (sub)module from the interface module, the module is refcounted by both the interface module and the vout module.
  • when the interface module is unloaded if the vout window still have references upon the interface,the UI will be partially unloaded, the UI will be removed from the composition and the associated resources will be released, the windows associated to the vout window is still active.

the first two commits are mostly "sed" commits to prepare what follows, the actual changes in those are in qt.cpp/hpp

Merge request reports