[PATCH] gl-renderer: Remove gl_renderer_interface from gl-renderer.h

Pekka Paalanen ppaalanen at gmail.com
Thu Apr 10 03:41:51 PDT 2014


On Tue,  8 Apr 2014 20:51:45 +0200
John Kåre Alsaker <john.kare.alsaker at gmail.com> wrote:

John, you forgot the commit message.

> ---
>  src/gl-renderer.h | 1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/src/gl-renderer.h b/src/gl-renderer.h
> index db42f6c..6cd5f54 100644
> --- a/src/gl-renderer.h
> +++ b/src/gl-renderer.h
> @@ -101,4 +101,3 @@ struct gl_renderer_interface {
>  	void (*print_egl_error_state)(void);
>  };
>  
> -struct gl_renderer_interface gl_renderer_interface;

The rationale here is, that this line would create an instance of
gl_renderer_interface in every compilation unit that included
gl-renderer.h. This is not necessary, and it can actually be harmful by
masking the real exported gl_renderer_interface symbol, if you added
another compilation unit to gl-renderer.so, causing a runtime failure in
loading it. (Which is how John found this.)

gl-renderer.c already creates the exported symbol.


Thanks,
pq


More information about the wayland-devel mailing list