From ec33739a81568be102da82f9db8b400a09663d5e Mon Sep 17 00:00:00 2001 From: Apull <57296497+apull-zy@users.noreply.github.com> Date: Tue, 15 Nov 2022 20:25:29 +0800 Subject: [PATCH] Fix null pointer error MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fix null pointer error Error messages: Unhandled exception. System.TypeInitializationException: The type initializer for 'OpenCvSharp.Internal.NativeMethods' threw an exception. ---> System.DllNotFoundException: Unable to load shared library 'OpenCvSharpExtern' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: libOpenCvSharpExtern: cannot open shared object file: No such file or directory at OpenCvSharp.Internal.NativeMethods.redirectError(CvErrorCallback errCallback, IntPtr userdata, IntPtr& prevUserdata) at OpenCvSharp.Internal.ExceptionHandler.RegisterExceptionCallback() at OpenCvSharp.Internal.NativeMethods.LoadLibraries(IEnumerable`1 additionalPaths) at OpenCvSharp.Internal.NativeMethods..cctor() --- End of inner exception stack trace --- at OpenCvSharp.Internal.NativeMethods.videoio_VideoCapture_delete(IntPtr obj) at OpenCvSharp.VideoCapture.DisposeUnmanaged() at OpenCvSharp.DisposableObject.Dispose(Boolean disposing) at OpenCvSharp.DisposableObject.Finalize() --- src/OpenCvSharp/Modules/videoio/VideoCapture.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/OpenCvSharp/Modules/videoio/VideoCapture.cs b/src/OpenCvSharp/Modules/videoio/VideoCapture.cs index ecf0549d44..683c4ea661 100644 --- a/src/OpenCvSharp/Modules/videoio/VideoCapture.cs +++ b/src/OpenCvSharp/Modules/videoio/VideoCapture.cs @@ -232,8 +232,9 @@ protected internal VideoCapture(IntPtr ptr) /// protected override void DisposeUnmanaged() { - NativeMethods.HandleException( - NativeMethods.videoio_VideoCapture_delete(ptr)); + if (ptr != IntPtr.Zero) + NativeMethods.HandleException( + NativeMethods.videoio_VideoCapture_delete(ptr)); base.DisposeUnmanaged(); }