diff --git a/clients/editor.c b/clients/editor.c index 78d10d2c..8f9eb632 100644 --- a/clients/editor.c +++ b/clients/editor.c @@ -639,6 +639,9 @@ editor_copy_cut(struct editor *editor, struct input *input, bool cut) editor->selection = display_create_data_source(editor->display); + if (!editor->selection) + return; + wl_data_source_offer(editor->selection, "text/plain;charset=utf-8"); wl_data_source_add_listener(editor->selection, diff --git a/clients/terminal.c b/clients/terminal.c index 274ced09..16a44954 100644 --- a/clients/terminal.c +++ b/clients/terminal.c @@ -2264,6 +2264,9 @@ terminal_copy(struct terminal *terminal, struct input *input) { terminal->selection = display_create_data_source(terminal->display); + if (!terminal->selection) + return; + wl_data_source_offer(terminal->selection, "text/plain;charset=utf-8"); wl_data_source_add_listener(terminal->selection,