diff --git a/qrenderdoc/Code/Interface/QRDInterface.h b/qrenderdoc/Code/Interface/QRDInterface.h index 8e453834c..964d720cf 100644 --- a/qrenderdoc/Code/Interface/QRDInterface.h +++ b/qrenderdoc/Code/Interface/QRDInterface.h @@ -957,7 +957,7 @@ to a marker region. protected: ICaptureViewer() = default; - ~ICaptureViewer() = default; + virtual ~ICaptureViewer() = default; }; DECLARE_REFLECTION_STRUCT(ICaptureViewer); diff --git a/qrenderdoc/Code/pyrenderdoc/qrenderdoc.i b/qrenderdoc/Code/pyrenderdoc/qrenderdoc.i index 53877f06f..596db63c0 100644 --- a/qrenderdoc/Code/pyrenderdoc/qrenderdoc.i +++ b/qrenderdoc/Code/pyrenderdoc/qrenderdoc.i @@ -95,7 +95,7 @@ TEMPLATE_ARRAY_DECLARE(rdcarray); } } - ~PythonCaptureViewer() + virtual ~PythonCaptureViewer() { Py_DECREF(self); } @@ -122,6 +122,7 @@ TEMPLATE_ARRAY_DECLARE(rdcarray); SWIGINTERN PyObject *capviewer_deinit(PyObject *self, PyObject *args) { + PythonCaptureViewer *viewer = NULL; void *ptr = NULL; int res = SWIG_ConvertPtr(self, &ptr, SWIGTYPE_p_ICaptureViewer, SWIG_POINTER_DISOWN | 0); @@ -130,7 +131,7 @@ TEMPLATE_ARRAY_DECLARE(rdcarray); SWIG_exception_fail(SWIG_ArgError(res), "in method '" "delete_CaptureViewer" "', argument " "1"" of type '" "CaptureViewer *""'"); } - PythonCaptureViewer *viewer = (PythonCaptureViewer *)ptr; + viewer = (PythonCaptureViewer *)ptr; delete viewer; return SWIG_Py_Void();