From 51b897b6724626a7a9bfdf2940ae575c144ad470 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dan=20Ma=C5=A1ek?= Date: Tue, 15 Nov 2022 00:44:51 +0100 Subject: [PATCH] Fix #22765: Remove unnecessary function resulting in infinite recursion. Since In all four places it was used, we already check the shared pointer, the extra assert that the function provided was redundand, so I removed it, and I added a dereference to the `window` parameters. --- modules/highgui/src/window_w32.cpp | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/modules/highgui/src/window_w32.cpp b/modules/highgui/src/window_w32.cpp index 47a549e66a..7110417e7a 100644 --- a/modules/highgui/src/window_w32.cpp +++ b/modules/highgui/src/window_w32.cpp @@ -2337,12 +2337,6 @@ std::shared_ptr icvFindTrackbarByName(CvWindow& window, const std::s } return std::shared_ptr(); } -static inline -std::shared_ptr icvFindTrackbarByName(const std::shared_ptr& window, const std::string& name) -{ - CV_Assert(window); - return icvFindTrackbarByName(window, name); -} static std::shared_ptr createTrackbar_(CvWindow& window, const std::string& trackbar_name, @@ -2586,7 +2580,7 @@ CV_IMPL int cvGetTrackbarPos(const char* trackbar_name, const char* window_name) if (!window) CV_Error_(Error::StsNullPtr, ("NULL window: '%s'", window_name)); - auto trackbar = icvFindTrackbarByName(window, trackbar_name); + auto trackbar = icvFindTrackbarByName(*window, trackbar_name); if (!trackbar) CV_Error_(Error::StsNullPtr, ("NULL trackbar: '%s'", trackbar_name)); @@ -2607,7 +2601,7 @@ CV_IMPL void cvSetTrackbarPos(const char* trackbar_name, const char* window_name if (!window) CV_Error_(Error::StsNullPtr, ("NULL window: '%s'", window_name)); - auto trackbar = icvFindTrackbarByName(window, trackbar_name); + auto trackbar = icvFindTrackbarByName(*window, trackbar_name); if (!trackbar) CV_Error_(Error::StsNullPtr, ("NULL trackbar: '%s'", trackbar_name)); @@ -2639,7 +2633,7 @@ CV_IMPL void cvSetTrackbarMax(const char* trackbar_name, const char* window_name if (!window) CV_Error_(Error::StsNullPtr, ("NULL window: '%s'", window_name)); - auto trackbar = icvFindTrackbarByName(window, trackbar_name); + auto trackbar = icvFindTrackbarByName(*window, trackbar_name); if (!trackbar) CV_Error_(Error::StsNullPtr, ("NULL trackbar: '%s'", trackbar_name)); @@ -2668,7 +2662,7 @@ CV_IMPL void cvSetTrackbarMin(const char* trackbar_name, const char* window_name if (!window) CV_Error_(Error::StsNullPtr, ("NULL window: '%s'", window_name)); - auto trackbar = icvFindTrackbarByName(window, trackbar_name); + auto trackbar = icvFindTrackbarByName(*window, trackbar_name); if (!trackbar) CV_Error_(Error::StsNullPtr, ("NULL trackbar: '%s'", trackbar_name));