libvlcpp | branch: master | Hugo Beauzée-Luyssen <[email protected]> | Wed May 20 10:34:06 2015 +0200| [43cab79253a96dbdb71bd3717415405cf8f3a1a8] | committer: Hugo Beauzée-Luyssen
Revert "Internal: Don't throw when wrapping a null instance" This reverts commit 9d2e6edbbb2e4f1363baff6a745dd4a6e9f48201. This makes more sense, since most of libvlc_*_release functions will either assert or assume that the given pointer is non null. Since shared_ptr will call the deleter for any pointer (including nullptr), we're better of refusing to wrap a pointer and avoid undefined behavior > http://git.videolan.org/gitweb.cgi/libvlcpp.git/?a=commit;h=43cab79253a96dbdb71bd3717415405cf8f3a1a8 --- vlcpp/Internal.hpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/vlcpp/Internal.hpp b/vlcpp/Internal.hpp index 60412de..1fa3545 100644 --- a/vlcpp/Internal.hpp +++ b/vlcpp/Internal.hpp @@ -68,6 +68,8 @@ class Internal Internal( InternalPtr obj, Releaser releaser ) : m_obj{ obj, releaser } { + if ( obj == nullptr ) + throw std::runtime_error("Wrapping a NULL instance"); } Internal(Releaser releaser) _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
