[PATCH weston 1/3] compositor-x11: free or discard XCB generic_error's
Kristian Høgsberg
krh at bitplanet.net
Thu Nov 1 14:51:47 PDT 2012
On Wed, Oct 31, 2012 at 2:14 PM, Ran Benita <ran234 at gmail.com> wrote:
>
> Where we don't look at the error details, pass NULL to the 'error'
> argument and test using the reply return value instead.
> Where we do need it, remember to free it.
Thanks for cleaning this up - this and the following two committed and pushed.
Kristian
> Signed-off-by: Ran Benita <ran234 at gmail.com>
> ---
> src/compositor-x11.c | 15 +++++++--------
> 1 file changed, 7 insertions(+), 8 deletions(-)
>
> diff --git a/src/compositor-x11.c b/src/compositor-x11.c
> index c654aec..c69b8f6 100644
> --- a/src/compositor-x11.c
> +++ b/src/compositor-x11.c
> @@ -115,7 +115,6 @@ x11_compositor_get_keymap(struct x11_compositor *c)
> {
> xcb_get_property_cookie_t cookie;
> xcb_get_property_reply_t *reply;
> - xcb_generic_error_t *error;
> struct xkb_rule_names names;
> struct xkb_keymap *ret;
> const char *value_all, *value_part;
> @@ -125,7 +124,7 @@ x11_compositor_get_keymap(struct x11_compositor *c)
>
> cookie = xcb_get_property(c->conn, 0, c->screen->root,
> c->atom.xkb_names, c->atom.string, 0, 1024);
> - reply = xcb_get_property_reply(c->conn, cookie, &error);
> + reply = xcb_get_property_reply(c->conn, cookie, NULL);
> if (reply == NULL)
> return NULL;
>
> @@ -217,6 +216,7 @@ x11_compositor_setup_xkb(struct x11_compositor *c)
> error = xcb_request_check(c->conn, select);
> if (error) {
> weston_log("error: failed to select for XKB state events\n");
> + free(error);
> return;
> }
>
> @@ -227,19 +227,18 @@ x11_compositor_setup_xkb(struct x11_compositor *c)
> 0,
> 0,
> 0);
> - pcf_reply = xcb_xkb_per_client_flags_reply(c->conn, pcf, &error);
> - free(pcf_reply);
> - if (error) {
> + pcf_reply = xcb_xkb_per_client_flags_reply(c->conn, pcf, NULL);
> + if (!pcf_reply) {
> weston_log("failed to set XKB per-client flags, not using "
> "detectable repeat\n");
> return;
> }
> + free(pcf_reply);
>
> state = xcb_xkb_get_state(c->conn, XCB_XKB_ID_USE_CORE_KBD);
> - state_reply = xcb_xkb_get_state_reply(c->conn, state, &error);
> - if (error) {
> + state_reply = xcb_xkb_get_state_reply(c->conn, state, NULL);
> + if (!state_reply) {
> weston_log("failed to get initial XKB state\n");
> - free(state_reply);
> return;
> }
>
> --
> 1.8.0
>
> _______________________________________________
> wayland-devel mailing list
> wayland-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/wayland-devel
More information about the wayland-devel
mailing list