diff --git a/indra/llcommon/classic_callback.h b/indra/llcommon/classic_callback.h index 76ff9c23391f7ea5cacdb02ea3f9f6f0813e2558..1ad6dbc58fde86d77d461538297c2c9793f61dfb 100644 --- a/indra/llcommon/classic_callback.h +++ b/indra/llcommon/classic_callback.h @@ -167,9 +167,9 @@ class ClassicCallback template <typename... Args> static USERDATA extract_userdata(Args... args) { - // Search for the first void* parameter type, then extract that pointer. + // Search for the first USERDATA parameter type, then extract that pointer. // extract value from parameter pack: http://stackoverflow.com/a/24710433/5533635 - return std::get<index_of<0, void*, Args...>::value>(std::forward_as_tuple(args...)); + return std::get<index_of<0, USERDATA, Args...>::value>(std::forward_as_tuple(args...)); } CALLABLE mCallable; diff --git a/indra/llcommon/tests/classic_callback_test.cpp b/indra/llcommon/tests/classic_callback_test.cpp index 232532b1c1ddfd38090f9a64be2952b885d86ec4..c060775c2418bc4ef3749288eb5ac166d5069f62 100644 --- a/indra/llcommon/tests/classic_callback_test.cpp +++ b/indra/llcommon/tests/classic_callback_test.cpp @@ -22,7 +22,7 @@ #include "../test/lltut.h" /***************************************************************************** -* example callback accepting only (void* userdata) +* example callback *****************************************************************************/ // callback_t is part of the specification of someAPI() typedef void (*callback_t)(const char*, void*); @@ -47,12 +47,6 @@ struct MyCallback std::string mMsg; }; -// a function for which I want to bind other data -void callback_with_extra(const std::string& extra, void*) -{ - std::cout << "callback_with_extra('" << extra << "', *)\n"; -} - /***************************************************************************** * example callback accepting several params, and void* userdata isn't first *****************************************************************************/