From eb56687a6dfd207507a4ca000eae53f93b5e33ea Mon Sep 17 00:00:00 2001 From: Stefan Kost Date: Wed, 15 Dec 2010 23:19:54 +0200 Subject: [PATCH] info: use the publicly visible address to fix the tests The -Bsymbolic change causes us to get a different address when internaly looking up the function than what application would get when the use the symbol that they see. This made removing the default loghandler to fail, as it is set internally and removed externaly. --- gst/gstinfo.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/gst/gstinfo.c b/gst/gstinfo.c index e92f060..231d22a 100644 --- a/gst/gstinfo.c +++ b/gst/gstinfo.c @@ -351,7 +351,16 @@ _gst_debug_init (void) _GST_CAT_DEBUG = _gst_debug_category_new ("GST_DEBUG", GST_DEBUG_BOLD | GST_DEBUG_FG_YELLOW, "debugging subsystem"); - gst_debug_add_log_function (gst_debug_log_default, NULL); + /* we need to use the publicly visible address, so that one could remove it by + * the same address */ + { + GModule *module = g_module_open (NULL, 0); + gpointer ptr; + + g_module_symbol (module, "gst_debug_log_default", &ptr); + gst_debug_add_log_function (ptr, NULL); + g_module_close (module); + } /* FIXME: add descriptions here */ GST_CAT_GST_INIT = _gst_debug_category_new ("GST_INIT", -- 2.7.4