summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMarcel Hollerbach <marcel-hollerbach@t-online.de>2017-09-13 21:27:02 +0200
committerMarcel Hollerbach <marcel-hollerbach@t-online.de>2017-09-13 21:36:52 +0200
commitc935249d7e3d7324b881105d1edbe749852523f5 (patch)
tree4b5d7092e4cfcb6febb1d057d0ce94f5c9447fe0 /src
parentf5487c5d3e2de4ed85b16d1d65ed409f0ee06244 (diff)
edje: make it handle late appearing of devices
device adds can happen late, which means evas does not know the default device until a time that is later than the focusing of some edje part. Which means that keystrokes etc. are lost for the parts beeing focused before the default device appeared. This should fix that. For the later people in this world: Watch out! someone decided to map seats in edje with a linear counter starting at 1, which means seat0<->seat1 seat1<->seat2 thanks for that riddle, i feel like i have beaten the sphinxs. fix T6022
Diffstat (limited to 'src')
-rw-r--r--src/lib/edje/edje_program.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/lib/edje/edje_program.c b/src/lib/edje/edje_program.c
index 4dd5fb7816..705ac4da65 100644
--- a/src/lib/edje/edje_program.c
+++ b/src/lib/edje/edje_program.c
@@ -1285,6 +1285,9 @@ _edje_focused_part_set(Edje *ed, Eina_Stringshare *seat_name, Edje_Real_Part *rp
1285 Edje_Seat *seat; 1285 Edje_Seat *seat;
1286 Eina_List *l; 1286 Eina_List *l;
1287 1287
1288 //defaulting seat NULL to seat1
1289 if (!seat_name) seat_name = eina_stringshare_add("seat1");
1290
1288 EINA_LIST_FOREACH(ed->seats, l, seat) 1291 EINA_LIST_FOREACH(ed->seats, l, seat)
1289 { 1292 {
1290 if (seat_name == seat->name) 1293 if (seat_name == seat->name)
@@ -1311,6 +1314,9 @@ _edje_focused_part_get(Edje *ed, Eina_Stringshare *seat_name)
1311 Edje_Seat *seat; 1314 Edje_Seat *seat;
1312 Eina_List *l; 1315 Eina_List *l;
1313 1316
1317 //defaulting seat NULL to seat1
1318 if (!seat_name) seat_name = eina_stringshare_add("seat1");
1319
1314 EINA_LIST_FOREACH(ed->seats, l, seat) 1320 EINA_LIST_FOREACH(ed->seats, l, seat)
1315 { 1321 {
1316 if (seat_name == seat->name) 1322 if (seat_name == seat->name)