[vlc-devel] [PATCH 1/3] qt: use shared pointers in menu items

Hugo Beauzée-Luyssen hugo at beauzee.fr
Wed Mar 20 11:23:15 CET 2019

On Mon, Mar 18, 2019, at 4:37 PM, Rémi Denis-Courmont wrote:
> Le lundi 18 mars 2019, 15:20:14 EET Hugo Beauzée-Luyssen a écrit :
> > Hi,
> > 
> > I like the idea but why using QSharedPointer instead of vlc_shared_data_ptr
> > or wrap_cptr?
> AFAIU, vlc_shared_data_ptr and the Qt equivalent are meant for, well, shared 
> data. Also AFAIU, vlc_shared_data_ptr would not work here since it 
> instantiates one type per pair of hold/release functions, and we need one 
> single type for all four possible pairs (none, input, aout, vout).

Fair point

> As for wrap_cptr, it seems to me that Qt code uses Qt rather than VLC C++, or 
> even ISO C++, helpers, e.g. QString rather than std::string and QMutexLocker 
> rather than vlc_mutex_locker.

QString is the only type we can use if the string needs to be displayed, so I'm not sure if the comparison is fair/relevant.
Regarding mutexes, as far as I can see most locking is done manually, and the use of QMutexLocker/vlc_mutex_locker is marginal.

That being said, what mostly concerns me is that even though a smart pointer is used, there are still manual calls to hold/release.

  Hugo Beauzée-Luyssen
  hugo at beauzee.fr

More information about the vlc-devel mailing list