Uses NSWindowController to load the information panel. Get rid of
the singleton. VLCMain will now hold one instance, which is aimed
to display information about the currently playing media.
VLCIntf now points to a static getter for the interface thread
pointer.
This fixes several problems: During initialization of
VLCMain, [VLCMain sharedInstance] is not ready yet when all other
objects are initialized inside VLCMains constructor. Due to the
way ARC works, the same applies to dealloc (the main shared instance
is nil already). But in both situations, we need VLCIntf for
callback (un)registration and potential logging.
The mac interface relies on static data in any case and does not
support multiple instantiations.
The window controller ensures that all top-level objects of the
mainwindow xib are properly released.
This removes the last occurence of VLCMain in xib files, thus
awakeFromNib will not be called for this object anymore. The code
has been moved to initThis removes the last occurence of VLCMain in xib files, thus
awakeFromNib will not be called for this object anymore. The code
has been moved to init.
By deinitializing VLCMain, all connected objects are supposed to
be deallocated automatically. If [VLCMain sharedInstance] is gone,
the intf is deinitalized (this was previously checked with a
nil value of VLCIntf).
Fixes some retain cycles in input manager and playlist code which
prevented these objects to be deinitalized.
Create own resume dialog, which acts the same way as a floating
window. Thus it does not disturb the user more than any
other VLC panel and consequently does not block the user in doing
other operations.
This fixes floating behaviour (#13886) any makes it more easy
to implement any other fancy_dialog_whatever we might add later.
Current design is a copy of the currently used alert window.
Also raised the timeout value to 10 secs as users are complaining
6 sec is not long enough.
close#13886
Playlist view gets updated to display new information.
Info dialog gets updates (shows only information about currently
played input at the moment).
close#13729
The item-change callback might be called very often, and thus an
own code path is better, with only necessary updates.
Additionally, this fixes multiple resume playback dialogs occuring
at once when starting playback in certain situations.
refs #11981
This notifies the extension manager on the non-main thread as before,
the queue ensures that changes in quick succession are processed in-order.
For the rationale see a8ff52782d.
Fixes another deadlock on application termination.
close#10647