Evas_Textblock_Cursor *tc = NULL;
Eina_Bool dosel = EINA_FALSE;
Eina_Bool shift;
- if (!rp) return;
+ if ((!rp) || (!ev)) return;
if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) return;
en = rp->entry_data;
if ((!en) || (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK) ||
}
#endif
+ _edje_entry_imf_context_reset(rp);
+
shift = evas_key_modifier_is_set(ev->modifiers, "Shift");
en->select_mod_start = EINA_FALSE;
en->select_mod_end = EINA_FALSE;
Entry *en;
Evas_Coord x, y, w, h;
Evas_Textblock_Cursor *tc;
- if (ev->button != 1) return;
+ if ((!ev) || (ev->button != 1)) return;
if (!rp) return;
if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) return;
if (ev->flags & EVAS_BUTTON_TRIPLE_CLICK) return;
Entry *en;
Evas_Coord x, y, w, h;
Evas_Textblock_Cursor *tc;
- if (!rp) return;
+ if (!rp || (!ev)) return;
en = rp->entry_data;
if ((!en) || (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK) ||
(rp->part->entry_mode < EDJE_ENTRY_EDIT_MODE_SELECTABLE))
_evas_focus_in_cb(void *data, Evas *e, __UNUSED__ void *event_info)
{
Edje *ed = (Edje *)data;
+ if (!ed) return;
if (evas_focus_get(e) == ed->obj)
{
_evas_focus_out_cb(void *data, Evas *e, __UNUSED__ void *event_info)
{
Edje *ed = (Edje *)data;
+ if (!ed) return;
if (evas_focus_get(e) == ed->obj)
{
void
_edje_entry_shutdown(Edje *ed)
{
- if (!ed->has_entries)
+ if ((!ed) || (!ed->has_entries))
return;
if (!ed->entries_inited)
return;
_edje_emit_full(rp->edje, "entry,changed,user", rp->part->name,
info, _free_entry_change_info);
_edje_emit(rp->edje, "cursor,changed", rp->part->name);
+
+ _edje_entry_imf_cursor_info_set(en);
+ _edje_entry_real_part_configure(rp);
}
void
info, _free_entry_change_info);
_edje_emit(ed, "cursor,changed", rp->part->name);
}
+
+ _edje_entry_imf_cursor_info_set(en);
+ _edje_entry_real_part_configure(rp);
}
static void