<div dir="ltr">I'm fine with making libXi dependent on libXfixes, and considering how you have to include libXfixes to make a pointer barrier and then libXi to receive events, it's already sort of dirty like that.<br>

</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Mar 25, 2013 at 7:55 PM, Peter Hutterer <span dir="ltr"><<a href="mailto:peter.hutterer@who-t.net" target="_blank">peter.hutterer@who-t.net</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">ping. any opinions? The only other alternative I can think of here is to<br>
make libXi dependent on libXfixes.<br>
<br>
Cheers,<br>
   Peter<br>
<div class="HOEnZb"><div class="h5"><br>
On Tue, Mar 12, 2013 at 11:00:26AM +1000, Peter Hutterer wrote:<br>
> gcc 4.6 won't complain about that, but earlier versions do:<br>
> <a href="http://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=ce3765bf44e49ef0568a1ad4a0b7f807591d6412" target="_blank">http://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=ce3765bf44e49ef0568a1ad4a0b7f807591d6412</a><br>
><br>
> gcc 4.6 with -pedantic-errors shows:<br>
> /opt/xorg/include/X11/extensions/XInput2.h:172:13: error: redefinition of<br>
> typedef ‘PointerBarrier’ [-pedantic]<br>
> In file included from test.c:1:0:<br>
> /opt/xorg/include/X11/extensions/Xfixes.h:255:13: note: previous declaration<br>
> of ‘PointerBarrier’ was here<br>
><br>
> PointerBarriers is defined in XFixes.h and here. So hook onto the only thing<br>
> we can in Xfixes.h and use that to figure out if we need to typedef<br>
> ourselves. XFIXES_MAJOR is defined in xfixeswire.h, so we can't hook onto it<br>
> directly.<br>
><br>
> Adding this ifdef here means we have include order dependency of XFixes.h<br>
> before XInput2.h unless we add a similar ifdef to the fixes headers.<br>
><br>
> Signed-off-by: Peter Hutterer <<a href="mailto:peter.hutterer@who-t.net">peter.hutterer@who-t.net</a>><br>
> ---<br>
> Nasty, but can't think of a better way atm.<br>
><br>
>  include/X11/extensions/XInput2.h | 4 ++++<br>
>  1 file changed, 4 insertions(+)<br>
><br>
> diff --git a/include/X11/extensions/XInput2.h b/include/X11/extensions/XInput2.h<br>
> index a746012..8de4aeb 100644<br>
> --- a/include/X11/extensions/XInput2.h<br>
> +++ b/include/X11/extensions/XInput2.h<br>
> @@ -169,7 +169,11 @@ typedef struct<br>
>      int                 status;<br>
>  } XIGrabModifiers;<br>
><br>
> +/* Xfixes.h typedefs PointerBarrier and gcc pre-4.6 (or with -pedantic) will<br>
> +   complain about the duplicate typedef */<br>
> +#if !defined _XFIXES_H_ || XFIXES_MAJOR < 5<br>
>  typedef XID PointerBarrier;<br>
> +#endif<br>
>  typedef unsigned int BarrierEventID;<br>
><br>
>  typedef struct<br>
> --<br>
> 1.8.1.4<br>
><br>
> _______________________________________________<br>
> <a href="mailto:xorg-devel@lists.x.org">xorg-devel@lists.x.org</a>: X.Org development<br>
> Archives: <a href="http://lists.x.org/archives/xorg-devel" target="_blank">http://lists.x.org/archives/xorg-devel</a><br>
> Info: <a href="http://lists.x.org/mailman/listinfo/xorg-devel" target="_blank">http://lists.x.org/mailman/listinfo/xorg-devel</a><br>
><br>
_______________________________________________<br>
<a href="mailto:xorg-devel@lists.x.org">xorg-devel@lists.x.org</a>: X.Org development<br>
Archives: <a href="http://lists.x.org/archives/xorg-devel" target="_blank">http://lists.x.org/archives/xorg-devel</a><br>
Info: <a href="http://lists.x.org/mailman/listinfo/xorg-devel" target="_blank">http://lists.x.org/mailman/listinfo/xorg-devel</a></div></div></blockquote></div><br><br clear="all"><br>-- <br>  Jasper<br>
</div>