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

Reply via email to