[PATCH 02/19] xserver: convert block/wakeup handlers to passing ScreenPtr (ABI/API break)

Adam Jackson ajax at nwnk.net
Tue May 15 13:41:34 PDT 2012


On 5/14/12 12:40 PM, Dave Airlie wrote:

> diff --git a/dix/dixutils.c b/dix/dixutils.c
> index 9eb5489..8abd398 100644
> --- a/dix/dixutils.c
> +++ b/dix/dixutils.c
> @@ -384,7 +384,7 @@ BlockHandler(pointer pTimeout, pointer pReadmask)
>
>       ++inHandler;
>       for (i = 0; i<  screenInfo.numScreens; i++)
> -        (*screenInfo.screens[i]->BlockHandler) (i,
> +        (*screenInfo.screens[i]->BlockHandler) (screenInfo.screens[i],
>                                                   screenInfo.screens[i]->
>                                                   blockData, pTimeout, pReadmask);
>       for (i = 0; i<  numHandlers; i++)
> @@ -421,7 +421,7 @@ WakeupHandler(int result, pointer pReadmask)
>               (*handlers[i].WakeupHandler) (handlers[i].blockData,
>                                             result, pReadmask);
>       for (i = 0; i<  screenInfo.numScreens; i++)
> -        (*screenInfo.screens[i]->WakeupHandler) (i,
> +        (*screenInfo.screens[i]->WakeupHandler) (screenInfo.screens[i],
>                                                    screenInfo.screens[i]->
>                                                    wakeupData, result, pReadmask);
>       if (handlerDeleted) {

Doesn't go too far enough.  blockData and wakeupData appear to only ever 
be set to non-NULL in hw/xwin, where they are set to (wait for it) 
pScreen.  I think you could drop the second argument from these two 
entirely.

- ajax


More information about the xorg-devel mailing list