diff --git a/libavfilter/vsrc_gfxcapture_winrt.hpp b/libavfilter/vsrc_gfxcapture_winrt.hpp index a02e768c8f..ba1979b1c1 100644 --- a/libavfilter/vsrc_gfxcapture_winrt.hpp +++ b/libavfilter/vsrc_gfxcapture_winrt.hpp @@ -159,9 +159,9 @@ private: template static Microsoft::WRL::ComPtr create_cb_handler(F&& cb_func) { - return Microsoft::WRL::ComPtr( - new FFTypedCBHandler(std::forward(cb_func)) - ); + Microsoft::WRL::ComPtr res; + res.Attach(new FFTypedCBHandler(std::forward(cb_func))); + return res; } /******************************************