input: add valuator_mask_free() to free a valuator mask.
Expecting the caller to free the mask requires us to keep it in a single memory block (which may be an issue lateron), aside from leaving the API asymetrical. Provide valuator_mask_free() to free the memory and reset the mask pointer to NULL. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Fernando Carrijo <fcarrijo@freedesktop.org> Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
This commit is contained in:
parent
4fbadc8b17
commit
fc6cbee772
|
@ -433,6 +433,14 @@ valuator_mask_new(int num_valuators)
|
||||||
return mask;
|
return mask;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
valuator_mask_free(ValuatorMask **mask)
|
||||||
|
{
|
||||||
|
free(*mask);
|
||||||
|
*mask = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets a range of valuators between first_valuator and num_valuators with
|
* Sets a range of valuators between first_valuator and num_valuators with
|
||||||
* the data in the valuators array. All other values are set to 0.
|
* the data in the valuators array. All other values are set to 0.
|
||||||
|
|
|
@ -567,6 +567,7 @@ extern _X_HIDDEN void valuator_set_mode(DeviceIntPtr dev, int axis, int mode);
|
||||||
extern Bool EnableCursor;
|
extern Bool EnableCursor;
|
||||||
|
|
||||||
extern _X_EXPORT ValuatorMask *valuator_mask_new(int num_valuators);
|
extern _X_EXPORT ValuatorMask *valuator_mask_new(int num_valuators);
|
||||||
|
extern _X_EXPORT void valuator_mask_free(ValuatorMask **mask);
|
||||||
extern _X_EXPORT void valuator_mask_set_range(ValuatorMask *mask,
|
extern _X_EXPORT void valuator_mask_set_range(ValuatorMask *mask,
|
||||||
int first_valuator, int num_valuators,
|
int first_valuator, int num_valuators,
|
||||||
const int* valuators);
|
const int* valuators);
|
||||||
|
|
|
@ -1017,7 +1017,8 @@ static void dix_input_valuator_masks(void)
|
||||||
g_assert(valuator_mask_get(mask, i) == valuator_mask_get(copy, i));
|
g_assert(valuator_mask_get(mask, i) == valuator_mask_get(copy, i));
|
||||||
}
|
}
|
||||||
|
|
||||||
free(mask);
|
valuator_mask_free(&mask);
|
||||||
|
g_assert(mask == NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void dix_valuator_mode(void)
|
static void dix_valuator_mode(void)
|
||||||
|
|
Loading…
Reference in New Issue