Commit Graph

50464 Commits

Author SHA1 Message Date
Daniel Kolesa cf89ff3f45 eolian gen2: initial skeleton for impl gen 2016-10-07 11:54:23 +02:00
Daniel Kolesa bedba4f423 eolian gen2: fix generation of legacy class method wrappers 2016-10-07 11:54:23 +02:00
Daniel Kolesa a307f470a1 eolian gen2: fix implement name generation 2016-10-07 11:54:23 +02:00
Daniel Kolesa fecb2dc36d eolian gen2: properly return from class initializer 2016-10-07 11:54:23 +02:00
Daniel Kolesa cd58a681cf eolian gen2: proper generation of inherits in class def 2016-10-07 11:54:23 +02:00
Daniel Kolesa e0e2006a19 eolian gen2: properly generate class type for desc too 2016-10-07 11:54:23 +02:00
Daniel Kolesa 1fa36d558f eolian gen2: sanitize data type properly 2016-10-07 11:54:23 +02:00
Daniel Kolesa f660f371a2 eolian gen2: fix typos in generation 2016-10-07 11:54:23 +02:00
Daniel Kolesa 501a575237 eolian gen2: generate only .h by default for eot files 2016-10-07 11:54:23 +02:00
Daniel Kolesa 323949a699 eolian gen2: fix double and missing free 2016-10-07 11:54:23 +02:00
Daniel Kolesa 74934d8d01 eolian gen2: switch EFL to new generator (doesn't work yet) 2016-10-07 11:54:23 +02:00
Daniel Kolesa 809e2ed4de eolian gen2: abort on OOM (not much we can do anyway) 2016-10-07 11:54:23 +02:00
Daniel Kolesa 0306810d52 eolian gen2: generate legacy API implementation stubs 2016-10-07 11:54:23 +02:00
Daniel Kolesa 911a0847be eolian gen2: fully generate source 2016-10-07 11:54:23 +02:00
Daniel Kolesa 8a39a96bc5 eolian gen2: terminate EFL_OPS_DEFINE list 2016-10-07 11:54:23 +02:00
Daniel Kolesa 5272935573 eolian gen2: generation of class initializer func 2016-10-07 11:54:23 +02:00
Daniel Kolesa 759f470c29 eolian gen2: fix generation type specification 2016-10-07 11:54:23 +02:00
Daniel Kolesa 6d8854f461 eolian gen2: properly space headers 2016-10-07 11:54:23 +02:00
Daniel Kolesa 130335bd9a eolian gen2: generate prototypes/impls for all implements 2016-10-07 11:54:23 +02:00
Daniel Kolesa 366bce609f eolian gen2: don't generate class names in eo_gen_source_gen 2016-10-07 11:54:23 +02:00
Daniel Kolesa 6c4d705d55 eolian gen2: initial partial source generation 2016-10-07 11:54:23 +02:00
Daniel Kolesa 56cd773836 eolian gen2: add event generation 2016-10-07 11:54:23 +02:00
Daniel Kolesa 34c2bf66ce eolian gen2: initial stubs for source writing 2016-10-07 11:54:23 +02:00
Daniel Kolesa f8ede73bf9 eolian gen2: generate docs for funcs/events 2016-10-07 11:54:23 +02:00
Daniel Kolesa dcda40215c eolian gen2: generate docs for types 2016-10-07 11:54:23 +02:00
Daniel Kolesa b105feebb3 eolian gen2: add code to handle doxygen generation 2016-10-07 11:54:23 +02:00
Daniel Kolesa 2e06751703 eolian gen2: only generate eo c/h by default 2016-10-07 11:54:23 +02:00
Daniel Kolesa ec1bb92a8f eolian gen2: feature complete header generator (eo and legacy) 2016-10-07 11:54:23 +02:00
Daniel Kolesa 45b867ae05 eolian gen2: generate fully functional eo headers 2016-10-07 11:54:23 +02:00
Daniel Kolesa 12c3bdee3e eolian gen2: initial header generation 2016-10-07 11:54:23 +02:00
Daniel Kolesa af7cc32343 eolian gen2: full type generator 2016-10-07 11:54:23 +02:00
Daniel Kolesa d20acef831 eolian gen2: generate stub headers 2016-10-07 11:54:23 +02:00
Daniel Kolesa e92ce1bd72 eolian gen2: use length_get when enclosing include guards 2016-10-07 11:54:23 +02:00
Daniel Kolesa b70299fd35 eolian gen2: initial type gen subroutine 2016-10-07 11:54:23 +02:00
Daniel Kolesa 341ef8fc05 eolian gen2: initial type generation bits 2016-10-07 11:54:23 +02:00
Daniel Kolesa 17885ed375 eolian gen2: add file read 2016-10-07 11:54:23 +02:00
Daniel Kolesa 1d7e3d0b71 eolian gen2: include guard func 2016-10-07 11:54:23 +02:00
Daniel Kolesa 9edee0a8e6 eolian gen2: parse input file properly 2016-10-07 11:54:23 +02:00
Daniel Kolesa a9b83ea28b eolian gen2: add stubs for file writing 2016-10-07 11:54:23 +02:00
Daniel Kolesa e058fdd571 eolian gen2: add logging and main.h 2016-10-07 11:54:23 +02:00
Daniel Kolesa 877ec43a04 eolian gen2: prepare gen/arguments/file infra 2016-10-07 11:54:23 +02:00
Daniel Kolesa 8d88edfbb0 eolian gen: initial infra for new C generator 2016-10-07 11:54:23 +02:00
Jaehyun Cho db0378911a naviframe: Fix to add SIG_ITEM_ACTIVATED in smart callbacks.
This commit fixes commit 3a0eb75bda.
2016-10-07 17:54:55 +09:00
Jaehyun Cho 3a0eb75bda naviframe: Add "item,activated" smart callback.
"item,activated" smart callback is added to notice when an item is
activated.

"item,activated" smart callback is called as follows.
1. Item push is finished and the new item is activated.
2. Item pop is finished and the previous item is activated.

void *event_info in smart callback is the activated item pointer.
2016-10-07 17:07:48 +09:00
Jaehyun Cho 8976be4f84 Revert "naviframe: Add "push,finished" and "pop,finished" smart callbacks."
This reverts commit 17ac58a081.

Instead, "item,activated" smart callback will be added.
2016-10-07 16:39:14 +09:00
Jean-Philippe Andre 9c95eda748 eo: Fix deadlocks with composite objects
This happens with shared objects.

The situation seems to be:
1. object has composited object a of class A in thread 1
2. call something on object a from thread 2, deadlock
In fact, do anything from thread 2 on a shared object and you deadlock.
2016-10-06 17:57:45 +09:00
Jean-Philippe Andre 6ce60a0de5 eo: Fix deadlock in efl_parent_set
If the object is shared and the given parent is invalid (eg. deleted)
then we will deadlock later. This also adds a test case with it.
2016-10-06 16:19:12 +09:00
Jean-Philippe Andre 7db67aaea8 eo: Test deadlock after finalize (shared objects)
This is a test case for 258cfbbe80
Unfortunately there are many other functions that we should
be testing, not just efl_finalized_get().
2016-10-06 16:12:01 +09:00
Jean-Philippe Andre 0f7dfdedfd evas: Fix async filters following changes in EO
EO is now extremely restrictive wrt. threads so that efl_data_scope_get()
can't work outside the main loop. This patch fixes the usage to create
sw buffers as shared objects (accessible from both the main loop and evas
async thread) and use plain old pointers where possible.

The buffers now have no parent because efl_add(CLASS, obj_from_mainloop)
does not work with shared objects. This is bad, as the buffers conceptually
belong to the main loop, and only need to be accessible from the draw thread
for a few calls. The main loop determines their lifecycle.

Fixes T4628
2016-10-06 12:24:59 +09:00
Jean-Philippe Andre 258cfbbe80 eo: Fix deadlock with shared objects
The object pointer was passed to EO_OBJ_DONE, rather than its
eo id.
2016-10-06 12:24:59 +09:00