diff options
Diffstat (limited to 'examples')
| -rw-r--r-- | examples/idle.c | 1 | ||||
| -rw-r--r-- | examples/multi-pointer.c | 19 | ||||
| -rw-r--r-- | examples/output-layout.c | 12 | ||||
| -rw-r--r-- | examples/pointer.c | 10 | ||||
| -rw-r--r-- | examples/rotation.c | 10 | ||||
| -rw-r--r-- | examples/simple.c | 10 | ||||
| -rw-r--r-- | examples/tablet.c | 10 | ||||
| -rw-r--r-- | examples/touch.c | 10 | 
8 files changed, 65 insertions, 17 deletions
| diff --git a/examples/idle.c b/examples/idle.c index 87a03924..3e1565ca 100644 --- a/examples/idle.c +++ b/examples/idle.c @@ -129,6 +129,7 @@ int main(int argc, char *argv[]) {  	wl_registry_add_listener(registry, ®istry_listener, NULL);  	wl_display_dispatch(display);  	wl_display_roundtrip(display); +	free(registry);  	if (idle_manager == NULL) {  		fprintf(stderr, "display doesn't support idle protocol\n"); diff --git a/examples/multi-pointer.c b/examples/multi-pointer.c index 958e90f6..49670c39 100644 --- a/examples/multi-pointer.c +++ b/examples/multi-pointer.c @@ -239,15 +239,21 @@ void new_input_notify(struct wl_listener *listener, void *data) {  			wlr_log(WLR_ERROR, "Failed to create XKB context");  			exit(1);  		} -		wlr_keyboard_set_keymap(device->keyboard, xkb_map_new_from_names(context, -					&rules, XKB_KEYMAP_COMPILE_NO_FLAGS)); +		struct xkb_keymap *keymap = xkb_map_new_from_names(context, &rules, +			XKB_KEYMAP_COMPILE_NO_FLAGS); +		if (!keymap) { +			wlr_log(WLR_ERROR, "Failed to create XKB keymap"); +			exit(1); +		} +		wlr_keyboard_set_keymap(device->keyboard, keymap); +		xkb_keymap_unref(keymap);  		xkb_context_unref(context);  		break;  	case WLR_INPUT_DEVICE_POINTER:; -	   	struct sample_cursor *cursor = calloc(1, sizeof(struct sample_cursor)); +		struct sample_cursor *cursor = calloc(1, sizeof(struct sample_cursor));  		struct sample_pointer *pointer = calloc(1, sizeof(struct sample_pointer));  		pointer->device = device; -	   	cursor->sample = sample; +		cursor->sample = sample;  		cursor->device = device;  		cursor->cursor = wlr_cursor_create(); @@ -324,6 +330,11 @@ int main(int argc, char *argv[]) {  		cursor_destroy(cursor);  	} +	struct sample_pointer *pointer, *tmp_pointer; +	wl_list_for_each_safe(pointer, tmp_pointer, &state.pointers, link) { +		free(pointer); +	} +  	wlr_xcursor_theme_destroy(theme);  	wlr_output_layout_destroy(state.layout);  } diff --git a/examples/output-layout.c b/examples/output-layout.c index 2bfc5923..2d1bc58b 100644 --- a/examples/output-layout.c +++ b/examples/output-layout.c @@ -239,8 +239,14 @@ void new_input_notify(struct wl_listener *listener, void *data) {  			wlr_log(WLR_ERROR, "Failed to create XKB context");  			exit(1);  		} -		wlr_keyboard_set_keymap(device->keyboard, xkb_map_new_from_names(context, -					&rules, XKB_KEYMAP_COMPILE_NO_FLAGS)); +		struct xkb_keymap *keymap = xkb_map_new_from_names(context, &rules, +			XKB_KEYMAP_COMPILE_NO_FLAGS); +		if (!keymap) { +			wlr_log(WLR_ERROR, "Failed to create XKB keymap"); +			exit(1); +		} +		wlr_keyboard_set_keymap(device->keyboard, keymap); +		xkb_keymap_unref(keymap);  		xkb_context_unref(context);  		break;  	default: @@ -285,6 +291,6 @@ int main(int argc, char *argv[]) {  	wlr_texture_destroy(state.cat_texture); -	wlr_output_layout_destroy(state.layout);  	wl_display_destroy(state.display); +	wlr_output_layout_destroy(state.layout);  } diff --git a/examples/pointer.c b/examples/pointer.c index f0d9fb4b..cc58c223 100644 --- a/examples/pointer.c +++ b/examples/pointer.c @@ -304,8 +304,14 @@ void new_input_notify(struct wl_listener *listener, void *data) {  			wlr_log(WLR_ERROR, "Failed to create XKB context");  			exit(1);  		} -		wlr_keyboard_set_keymap(device->keyboard, xkb_map_new_from_names(context, -					&rules, XKB_KEYMAP_COMPILE_NO_FLAGS)); +		struct xkb_keymap *keymap = xkb_map_new_from_names(context, &rules, +			XKB_KEYMAP_COMPILE_NO_FLAGS); +		if (!keymap) { +			wlr_log(WLR_ERROR, "Failed to create XKB keymap"); +			exit(1); +		} +		wlr_keyboard_set_keymap(device->keyboard, keymap); +		xkb_keymap_unref(keymap);  		xkb_context_unref(context);  		break;  	default: diff --git a/examples/rotation.c b/examples/rotation.c index add7f42f..7cf5727b 100644 --- a/examples/rotation.c +++ b/examples/rotation.c @@ -188,8 +188,14 @@ void new_input_notify(struct wl_listener *listener, void *data) {  			wlr_log(WLR_ERROR, "Failed to create XKB context");  			exit(1);  		} -		wlr_keyboard_set_keymap(device->keyboard, xkb_map_new_from_names(context, -					&rules, XKB_KEYMAP_COMPILE_NO_FLAGS)); +		struct xkb_keymap *keymap = xkb_map_new_from_names(context, &rules, +			XKB_KEYMAP_COMPILE_NO_FLAGS); +		if (!keymap) { +			wlr_log(WLR_ERROR, "Failed to create XKB keymap"); +			exit(1); +		} +		wlr_keyboard_set_keymap(device->keyboard, keymap); +		xkb_keymap_unref(keymap);  		xkb_context_unref(context);  		break;  	default: diff --git a/examples/simple.c b/examples/simple.c index 1125bd2a..e1c10906 100644 --- a/examples/simple.c +++ b/examples/simple.c @@ -141,8 +141,14 @@ void new_input_notify(struct wl_listener *listener, void *data) {  			wlr_log(WLR_ERROR, "Failed to create XKB context");  			exit(1);  		} -		wlr_keyboard_set_keymap(device->keyboard, xkb_map_new_from_names(context, -					&rules, XKB_KEYMAP_COMPILE_NO_FLAGS)); +		struct xkb_keymap *keymap = xkb_map_new_from_names(context, &rules, +			XKB_KEYMAP_COMPILE_NO_FLAGS); +		if (!keymap) { +			wlr_log(WLR_ERROR, "Failed to create XKB keymap"); +			exit(1); +		} +		wlr_keyboard_set_keymap(device->keyboard, keymap); +		xkb_keymap_unref(keymap);  		xkb_context_unref(context);  		break;  	default: diff --git a/examples/tablet.c b/examples/tablet.c index 4817db4d..fad30d52 100644 --- a/examples/tablet.c +++ b/examples/tablet.c @@ -297,8 +297,14 @@ void new_input_notify(struct wl_listener *listener, void *data) {  			wlr_log(WLR_ERROR, "Failed to create XKB context");  			exit(1);  		} -		wlr_keyboard_set_keymap(device->keyboard, xkb_map_new_from_names(context, -					&rules, XKB_KEYMAP_COMPILE_NO_FLAGS)); +		struct xkb_keymap *keymap = xkb_map_new_from_names(context, &rules, +			XKB_KEYMAP_COMPILE_NO_FLAGS); +		if (!keymap) { +			wlr_log(WLR_ERROR, "Failed to create XKB keymap"); +			exit(1); +		} +		wlr_keyboard_set_keymap(device->keyboard, keymap); +		xkb_keymap_unref(keymap);  		xkb_context_unref(context);  		break;  	case WLR_INPUT_DEVICE_TABLET_PAD:; diff --git a/examples/touch.c b/examples/touch.c index ba5d1e34..9ed20a28 100644 --- a/examples/touch.c +++ b/examples/touch.c @@ -210,8 +210,14 @@ void new_input_notify(struct wl_listener *listener, void *data) {  			wlr_log(WLR_ERROR, "Failed to create XKB context");  			exit(1);  		} -		wlr_keyboard_set_keymap(device->keyboard, xkb_map_new_from_names(context, -					&rules, XKB_KEYMAP_COMPILE_NO_FLAGS)); +		struct xkb_keymap *keymap = xkb_map_new_from_names(context, &rules, +			XKB_KEYMAP_COMPILE_NO_FLAGS); +		if (!keymap) { +			wlr_log(WLR_ERROR, "Failed to create XKB keymap"); +			exit(1); +		} +		wlr_keyboard_set_keymap(device->keyboard, keymap); +		xkb_keymap_unref(keymap);  		xkb_context_unref(context);  		break;  	case WLR_INPUT_DEVICE_TOUCH:; | 
