Page MenuHomePhabricator

EFL focus issues with elm_win_inwin and/or elm_fileselector
Closed, ResolvedPublic

Description

This could be the code in ecrire. However with no change, it seems to have some issues with newer EFL. I was unable to replicate though experienced other issues reported in T6143. A user reported an ecrire issue and provided a screenshot of the issue. It seems the window is there, but something is off so the fileselector is not in the window. There is no edj file for ecrire. It is not using anything for a theme. Just uses E theme.

Seems there is some output in terminal

ERR<95219>:elementary lib/elementary/efl_ui_focus_manager_calc.c:1119 _logical_movement() Warning cycle detected
ERR<95219>:elementary lib/elementary/efl_ui_layout.c:1012 _efl_ui_layout_content_set() could not swallow 0x8000001faf1fef91 into part '(null)'
ERR<95219>:elementary lib/elementary/efl_ui_focus_manager_calc.c:153 node_get() Focusable 0x8000001faf1fef91 (Elm.Fileselector) not registered in manager 0x80000000ff1febbb

Offhand not sure what in ecrire code could cause such. It maybe a bug in EFL. Though did not happen for the user with ELM Tests. Nor could I replicate with ecrire or elm tests on git snapshot of EFL. I assume they have tried at least as current as I had, and since. Thus not fixed when I tried, but not sure why I cannot replicate.

wltjr created this task.Oct 4 2017, 1:49 PM
wltjr added a comment.Oct 4 2017, 2:01 PM

The code is pretty straight forward.

void
ui_file_open_save_dialog_open(Ecrire_Doc *doc,
                              Evas_Smart_Cb func,
                              Eina_Bool save)
{
   Evas_Object *fs;
   inwin = elm_win_inwin_add(doc->win);
   evas_object_show(inwin);

   fs = elm_fileselector_add(inwin);
   elm_fileselector_is_save_set(fs, save);
   elm_fileselector_expandable_set(fs, EINA_FALSE);
   if(doc->path)
     elm_fileselector_path_set(fs, doc->path);
   else
     elm_fileselector_path_set(fs, getenv("HOME"));
   elm_win_inwin_content_set(inwin, fs);
   evas_object_show(fs);

   evas_object_smart_callback_add(fs, "done", _cleaning_cb, func);
}

Pretty sure most I did not write and goes back to ecrire in e git.

I just added code to set the initial directory other than home.

bu5hm4n triaged this task as Normal priority.
zmike edited projects, added Restricted Project; removed efl.Jun 11 2018, 6:57 AM
q66 edited projects, added efl: input, efl: widgets; removed Restricted Project.Jun 11 2018, 7:52 AM
bu5hm4n edited projects, added Restricted Project; removed efl: widgets, Efl.Ui.Focus.Jun 12 2018, 12:05 AM