if (!wd) return;
sel = edje_object_part_text_selection_get(wd->ent, "elm.text");
+ if ((!sel) || (!sel[0])) return; /* avoid deleting our own selection */
elm_selection_set(seltype, obj, ELM_SEL_FORMAT_MARKUP, sel);
if (seltype == ELM_SEL_CLIPBOARD)
eina_stringshare_replace(&wd->cut_sel, sel);
if (!wd) return;
wd->have_selection = EINA_TRUE;
evas_object_smart_callback_call(data, SIG_SELECTION_CHANGED, NULL);
- elm_selection_set(ELM_SEL_PRIMARY, obj, ELM_SEL_FORMAT_MARKUP,
- elm_entry_selection_get(data));
+ _store_selection(ELM_SEL_PRIMARY, data);
}
static void
_signal_selection_none, obj);
edje_object_signal_callback_add(wd->ent, "selection,cleared", "elm.text",
_signal_selection_cleared, obj);
- edje_object_signal_callback_add(wd->ent, "entry,paste,request,1", "elm.text",
- _signal_entry_paste_request, obj);
- edje_object_signal_callback_add(wd->ent, "entry,paste,request,3", "elm.text",
+ edje_object_signal_callback_add(wd->ent, "entry,paste,request,*", "elm.text",
_signal_entry_paste_request, obj);
edje_object_signal_callback_add(wd->ent, "entry,copy,notify", "elm.text",
_signal_entry_copy_notify, obj);