xserver: Branch 'master' - 14 commits

Michal Suchanek hramrach at gmail.com
Tue May 15 05:23:57 PDT 2012


On 15 May 2012 13:31, Peter Hutterer <peter.hutterer at who-t.net> wrote:
> On Tue, May 15, 2012 at 01:17:26PM +0200, Michal Suchanek wrote:
>> On 15 May 2012 12:38, Peter Hutterer <peter.hutterer at who-t.net> wrote:
>> > On Tue, May 15, 2012 at 12:18:36PM +0200, Michal Suchanek wrote:
>> >> Hello,
>> >>
>> >> On 15 May 2012 06:20, Peter Hutterer <peter.hutterer at who-t.net> wrote:
>> >> > On Mon, May 14, 2012 at 10:39:24AM -0700, Keith Packard wrote:
>> >>
>> >> >> diff --git a/dix/enterleave.h b/dix/enterleave.h
>> >> >> index 729059b..c937c0e 100644
>> >> >> --- a/dix/enterleave.h
>> >> >> +++ b/dix/enterleave.h
>> >> >> @@ -60,9 +60,6 @@ extern void LeaveWindow(DeviceIntPtr dev);
>> >> >>  extern void CoreFocusEvent(DeviceIntPtr kbd,
>> >> >>                             int type, int mode, int detail, WindowPtr pWin);
>> >> >>
>> >> >> -extern void DeviceFocusEvent(DeviceIntPtr kbd,
>> >> >> -                             int type, int mode, int detail, WindowPtr pWin);
>> >> >> -
>> >> >>  extern void SetFocusIn(DeviceIntPtr kbd, WindowPtr win);
>> >> >>
>> >> >>  extern void SetFocusOut(DeviceIntPtr dev);
>> >> >
>> >> > This hunk gives me
>> >> >
>> >> > enterleave.c: In function 'DeviceFocusOutEvents':
>> >> > enterleave.c:618:9: error: implicit declaration of function
>> >> > 'DeviceFocusEvent' [-Werror=implicit-function-declaration]
>> >> > enterleave.c:618:9: warning: nested extern declaration of 'DeviceFocusEvent'
>> >> > [-Wnested-externs]
>> >> >
>> >>
>> >> I did some compile tests but maybe this one slipped by.
>> >>
>> >> Just add this additional hunk.
>> >
>> > I think it'd be better to remove the DeviceFocusEvent() function from
>> > exevents.h and leave it in enterleave.h instead, including that header where
>> > needed. This way the focus/enter-leave functions are just in one header.
>>
>> You could argue that way for all exevents.h and exglobals.h declarations.
>>
>> Should these headers be removed?
>
> both of these ended up being catch-all headers, that's why they're so messy.
> there are few more dix headers that are similarly messy.
> better header discipline would be good but we're a few years too late for
> that and no-one has found the time to clean up yet.
>
>> On the other hand, that enterleave.c is a separate file that has its
>> own header is internal to the Xserver implementations and can change
>> in the future so you could argue that enterleave.h should be
>> abolished, too.
>
> enterleave.c is a relatively new file (2008?) and enterleave.h was an
> attempt to keep the enter/leave-related stuff confined so we don't have to
> shove everything into exglobals/exevents.
>
> towards smaller, more focused headers is the goal, not the other way round.
>

Then you have the issue that you need the bazillions of these smaller,
more disciplined headers exported all throughout the X server and
randomly shove these headers into every other .c file.

Specifically, Xi/exevents.c uses the DeviceFocusEvent but enterleave.h
is not available in Xi directory.

Thanks

Michal


More information about the xorg-devel mailing list