1
0
Fork 0

2008-01-14 Emmanuele Bassi <ebassi@openedhand.com>

* clutter/cogl/gl/cogl.c (cogl_get_proc_address): Implement non-GLX
	version using GModule and looking up the symbol from the running
	process. It should work when linked to library providing the
	requested function. (, Tommi Komulainen)
This commit is contained in:
Emmanuele Bassi 2008-01-14 11:52:04 +00:00
parent 37af2da410
commit 682eb3c6db

View file

@ -30,6 +30,7 @@
#include "cogl.h"
#include <string.h>
#include <gmodule.h>
#ifdef HAVE_CLUTTER_GLX
#include <dlfcn.h>
@ -125,7 +126,24 @@ cogl_get_proc_address (const gchar* name)
if (get_proc_func)
return get_proc_func ((unsigned char*) name);
#endif
#else /* !HAVE_CLUTTER_GLX */
/* this should find the right function if the program is linked against a
* library providing it */
static GModule *module = NULL;
if (module == NULL)
module = g_module_open (NULL, G_MODULE_BIND_LAZY | G_MODULE_BIND_LOCAL);
if (module)
{
gpointer symbol;
if (g_module_symbol (module, name, &symbol))
return symbol;
}
#endif /* HAVE_CLUTTER_GLX */
return NULL;
}