If we combine two enum values, the result is not a valid enum value anymore, so it cannot be attributed to an enum variable.
C++ compilers will complain if such an assigment is done. Signed-off-by: Wander Lairson Costa <wander.lair...@gmail.com> --- src/state.c | 10 +++++----- xkbcommon/xkbcommon.h | 8 ++++---- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/state.c b/src/state.c index e13d1fd..aaae5c7 100644 --- a/src/state.c +++ b/src/state.c @@ -678,7 +678,7 @@ xkb_state_update_derived(struct xkb_state *state) xkb_state_led_update_all(state); } -static enum xkb_state_component +static xkb_mod_mask_t get_state_component_changes(const struct state_components *a, const struct state_components *b) { @@ -710,7 +710,7 @@ get_state_component_changes(const struct state_components *a, * Given a particular key event, updates the state structure to reflect the * new modifiers. */ -XKB_EXPORT enum xkb_state_component +XKB_EXPORT xkb_mod_mask_t xkb_state_update_key(struct xkb_state *state, xkb_keycode_t kc, enum xkb_key_direction direction) { @@ -760,7 +760,7 @@ xkb_state_update_key(struct xkb_state *state, xkb_keycode_t kc, * lossy, and should only be used to update a slave state mirroring the * master, e.g. in a client/server window system. */ -XKB_EXPORT enum xkb_state_component +XKB_EXPORT xkb_mod_mask_t xkb_state_update_mask(struct xkb_state *state, xkb_mod_mask_t base_mods, xkb_mod_mask_t latched_mods, @@ -861,7 +861,7 @@ xkb_state_key_get_one_sym(struct xkb_state *state, xkb_keycode_t kc) */ XKB_EXPORT xkb_mod_mask_t xkb_state_serialize_mods(struct xkb_state *state, - enum xkb_state_component type) + xkb_mod_mask_t type) { xkb_mod_mask_t ret = 0; @@ -884,7 +884,7 @@ xkb_state_serialize_mods(struct xkb_state *state, */ XKB_EXPORT xkb_layout_index_t xkb_state_serialize_layout(struct xkb_state *state, - enum xkb_state_component type) + xkb_mod_mask_t type) { xkb_layout_index_t ret = 0; diff --git a/xkbcommon/xkbcommon.h b/xkbcommon/xkbcommon.h index cc9262f..b9d1dd0 100644 --- a/xkbcommon/xkbcommon.h +++ b/xkbcommon/xkbcommon.h @@ -1166,7 +1166,7 @@ enum xkb_state_component { * * @sa xkb_state_update_mask() */ -enum xkb_state_component +xkb_mod_mask_t xkb_state_update_key(struct xkb_state *state, xkb_keycode_t key, enum xkb_key_direction direction); @@ -1197,7 +1197,7 @@ xkb_state_update_key(struct xkb_state *state, xkb_keycode_t key, * @sa xkb_state_component * @sa xkb_state_update_key */ -enum xkb_state_component +xkb_mod_mask_t xkb_state_update_mask(struct xkb_state *state, xkb_mod_mask_t depressed_mods, xkb_mod_mask_t latched_mods, @@ -1331,7 +1331,7 @@ enum xkb_state_match { */ xkb_mod_mask_t xkb_state_serialize_mods(struct xkb_state *state, - enum xkb_state_component components); + xkb_mod_mask_t components); /** * The counterpart to xkb_state_update_mask for layouts, to be used on @@ -1353,7 +1353,7 @@ xkb_state_serialize_mods(struct xkb_state *state, */ xkb_layout_index_t xkb_state_serialize_layout(struct xkb_state *state, - enum xkb_state_component components); + xkb_mod_mask_t components); /** * Test whether a modifier is active in a given keyboard state by name. -- 1.8.1.2 _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/wayland-devel