Commit Graph

16161 Commits

Author SHA1 Message Date
Bowon Ryu 72c263d5f2 ecore_wayland: remove logically dead code.
Summary:
remove logically dead code.
execution cannot reach this statement.

Reviewers: cedric

Differential Revision: https://phab.enlightenment.org/D5876

Reviewed-by: Cedric Bail <cedric@osg.samsung.com>
2018-04-06 10:10:44 -07:00
YeongJong Lee 3114ee264b efl_part: remove duplicated text_aliases code
Summary: this widgets inherit from Layout. they can use same text_aliases of Layout.

Reviewers: Jaehyun_Cho, woohyun

Subscribers: herb, cedric

Differential Revision: https://phab.enlightenment.org/D5859

Reviewed-by: Cedric Bail <cedric@osg.samsung.com>
2018-04-06 10:10:08 -07:00
Mike Blumenkrantz e0c8ab4c79 ecore: reduce pipe wait time during shutdown
Summary:
this is only meant to listen to data which is currently available,
not wait for new data

@fix

Depends on D5866

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5867

Reviewed-by: Cedric Bail <cedric@osg.samsung.com>
2018-04-06 10:09:00 -07:00
Mike Blumenkrantz 0fddfe199f ecore: poll the thread pipe twice during shutdown
Summary:
this resolves a race condition when a thread join was pending during
shutdown but a pipe write was needed in order for the join to be
successfully executed before shutdown had occurred

@fix

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5866

Reviewed-by: Cedric Bail <cedric@osg.samsung.com>
2018-04-06 10:08:57 -07:00
YeongJong Lee 0e035b2e22 elm_inwin: use macro for content set/get/unset
Summary: also, content_aliases is not necessary. it can use Layout's content_aliases.

Test Plan:
elementary_test -to inwin
elementary_test -to inwin2
elementary_test -to inwin3

Reviewers: Jaehyun_Cho, woohyun

Subscribers: herb, cedric

Differential Revision: https://phab.enlightenment.org/D5860

Reviewed-by: Cedric Bail <cedric@osg.samsung.com>
2018-04-06 10:08:52 -07:00
Alastair Poole 10fb87bbcd efl_selection_manager: fix build on MacOS and WL2. 2018-04-06 16:11:41 +01:00
YeongJong Lee 67be5b427a efl_wl: Add NULL check
Reviewers: zmike, ManMower, Jaehyun_Cho, woohyun

Reviewed By: ManMower

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5862
2018-04-06 09:38:23 -05:00
Carsten Haitzler b63d64bda2 ecore audio - add comment that this is an intended leak... 2018-04-06 22:40:33 +09:00
Carsten Haitzler 35a6e7a6d2 ecore audio - dont unload modules etc. in case audio obj around on exit
if audio objects are around after ecore_audio has been shut down then
they may access the sndfile or pulse lib ptrs/funcs and thus dont
unload these. should fix crashes on shutdown.
2018-04-06 17:08:44 +09:00
Cedric Bail 5ebe5bb62c evas: by moving lifecycle management to be handle by the death of the parent, there should be no call to efl_del. 2018-04-05 11:52:47 -07:00
Cedric Bail 53378d6a6b evas: the life cycle of an object inside an hash can not rely on the parent destroying, use ref/unref properly. 2018-04-05 11:52:12 -07:00
Cedric Bail def3bb6eec ecore: rely on object being destroyed on parent invalidate. 2018-04-05 11:52:12 -07:00
Cedric Bail a9fbaf16d3 ecore: pipe fd can become invalid while being processed. 2018-04-05 11:52:12 -07:00
Cedric BAIL 0578079927 evas: we should always sync the canvas before destroying the object. 2018-04-05 11:50:52 -07:00
Cedric BAIL 621f34d322 eina: mark thread by default as not cancellable as per Eina documentation.
By default all Pthread are cancellable. This leads to strange behavior that
happen during shutdown and hasn't been figured out. Most likely fix for T6622.
2018-04-05 10:39:30 -07:00
Carsten Haitzler fcd7c3097c elm - selection manager - fix string buffer handling and format types
this has 2 bugs really. 1 - the format masks for plain text included
markup which ... is wrong - right? that should have a mime type of its
own... either way it leads to plain text pasts being handled wrong in
wayland... so this fixes that

also the string buffers in wayland just were nothandled right. buffers
were raw binary buffers plus size,not strings, but they were strdup'd
etc. assuming nul termination. oh so wrong to do that. this also fixes
that as i fpound it while fixing the above format bug.

this fixes T6284

@fix
2018-04-05 21:17:22 +09:00
Daniel Kolesa 284e352811 eolian: _ is allowed in doc references 2018-04-05 13:54:20 +02:00
Shinwoo Kim 3cd2243028 Fix static analysis result
[Dereference after null check]

(1) src/lib/ecore/ecore_main.c
 - _efl_loop_handler_efl_object_finalize checks if pd->loop_data is NULL.
   After that, _handler_reset > _handler_clear > _ecore_main_fd_handler_del >
   _ecore_main_fdh_pool_del is directly dereferencing pd->pool_data.
 - _efl_loop_handler_efl_object_parent_set checks if pd->loop_data as well.
   Then it calls _handler_reset as well.

(2) src/lib/ecore_wayland/ecore_wl_dnd.c
  - ecore_wl_dnd_selection_set checks if t - result of wl_array_add - is NULL.
    And it is dereferecing t directly for wl_data_source_offer.

(3) src/lib/elementary/efl_ui_dnd.c
 - Third parameter const char *data could be NULL.
   In this case strlen dereferences NULL. The data should be non NULL value.
   I have checked this with Mr. Thiep Ha.

(4) src/lib/evas/canvas/evas_object_inform.c
 - _efl_canvas_object_efl_gfx_stack_stack_below checks if obj->layer is NULL.
   So it could call evas_object_inform_call_call_restack which is dereferencing
   obj->layer directly.
2018-04-05 19:40:57 +09:00
Carsten Haitzler 2105bc4fb1 efl selection manager - build again if no wl or no x is enabled
so make check and my builds passed because i have wl and x enabled. if
one of these isnt then this build will fail. my fix fails. this fixes
that.
2018-04-05 19:16:16 +09:00
Carsten Haitzler 37ff19c80e elm - fix selection debug print to not print unterminated buffers
so it's printfing a non-0 byte terminated string ... it's a
buffer/slice which has explicit lenmgth and no nul, so fwrite it
approplriately.
2018-04-05 18:52:57 +09:00
Carsten Haitzler 3a12a6c4a5 evas - plug in dirty + pixels get hold in "is inside" for images
this should fix T6791

@fix
2018-04-05 18:52:57 +09:00
Carsten Haitzler d009a231e9 efl selection manager - handle multi window selections properly
tell other windows they lost their selections correctly if you have
multiple windows within the same process. this fixes multi-window mode
in terminology.

@fix
2018-04-05 18:52:57 +09:00
Carsten Haitzler 468d55e284 efl selection - fix paste with multiple windows and filter by window
so changes in elm cnp (efl selection) broke cnp with terminology
multi-window mode. this fixes it.

@fix
2018-04-05 18:52:57 +09:00
Carsten Haitzler b90cd2f683 efl threadio - make call and call sync func proto same as efl events
well call sync returns a void * too.... instead of just void return
(nothing) but this makes it easier to write and maintain code due to
consistency of function callback signatures.
2018-04-05 18:52:57 +09:00
Carsten Haitzler 78d7fded5d efl exe - map some "well known" exit codes to specific errnos 2018-04-05 18:52:57 +09:00
Carsten Haitzler 6fbf6d6c67 efl task - support flag to ignore exit code errors for future resolve 2018-04-05 18:52:57 +09:00
Carsten Haitzler 6e308e6039 ecore - thread - document thread max limits more sensibly
leave the exact numbers less defined because core count can change on
the fly and could be virtually limited by policy in future etc. so
keep things less exactly defined so people dont go depending on exact
results which was never really intended.
2018-04-05 18:52:57 +09:00
Carsten Haitzler cffb31f4a7 elm config - dont leak config if re-loading it again later on
delete config object and so on before the relaod
2018-04-05 18:52:57 +09:00
Carsten Haitzler 08dc189053 elm win - change parent to only use win parents in efl win struct as parent 2018-04-05 18:52:57 +09:00
Mike Blumenkrantz 7bf389f3a7 elm: remove hacky calls to emotion_init/shutdown
these are irrelevant since emotion manages init/shutdown internally

fixes elm test pass state

Reviewed-by: Stefan Schmidt <stefan@osg.samsung.com>
2018-04-05 11:10:27 +02:00
Mike Blumenkrantz 73106cc201 emotion: call shutdown when smart objects are destroyed
the constructor calls init for every object, so ensure a matching
shutdown call exists to balance the init count

ref 517471190f
ref T6816

Reviewed-by: Stefan Schmidt <stefan@osg.samsung.com>
2018-04-05 11:10:27 +02:00
Mike Blumenkrantz 55441e82e2 elput: include Eina.h in public header
Reviewed-by: Stefan Schmidt <stefan@osg.samsung.com>
2018-04-05 11:10:27 +02:00
Mike Blumenkrantz e9eb96e097 eldbus: call ecore_init in eldbus_init
eldbus requires ecore and cannot run without it

@fix

Reviewed-by: Stefan Schmidt <stefan@osg.samsung.com>
2018-04-05 11:10:26 +02:00
Hermet Park 8329dace50 ecore_con: resolve the possible read of uninitalized data.
Submitted-By-Off: JongMin Lee<jm105.lee@samsung.com>
2018-04-05 15:29:57 +09:00
Hermet Park 32bbf68f08 ecore_con: resolve the possible read of uninitialized data.
Signed-Off-By: JongMin Lee<jm105.lee@samsung.com>
2018-04-05 15:20:14 +09:00
Hermet Park ec7bcc79e7 ecore: resolve the possible use of invalid handle.
Signed-Off-By: JongMin Lee<jm105.lee@samsung.com>
2018-04-05 15:15:34 +09:00
Hermet Park 820aca03ea emil: resolve possible memory leak.
Submitted-By-Off: JongMin Lee <jm105.lee@samsung.com>
2018-04-05 15:01:44 +09:00
WooHyun Jung 3bc65be44d evas textblock: add null check to avoid segfault 2018-04-05 10:55:44 +09:00
Derek Foreman 2ec16fbf32 elm_win: Improve wayland cursor change race
When changing cursors under wayland sometimes we'll see the old cursor
moved to the new hotspot briefly before the cursor changes.  This makes
that suck less often.

A proper fix would involve creating a new wayland surface for every
cursor change (actual change, not just a new frame of an animated
cursor).  Given the current internals this is invasive.  Do the
easy thing for now.
2018-04-04 15:31:05 -05:00
YeongJong Lee c6ce04e48f efl_ui_focus_manager_root_focus: refactor _state_eval
Summary:
we have to check whether all of descendant are none_logical.

ref T6800

Test Plan:
1. elementary_test -to ctxpopup
2. Click 'Ctxpopup with user content'
3. Try focus ctxpopup content(button) using arrow key.
4. Check that the content is focused (you can move scroll bar)

Reviewers: bu5hm4n

Subscribers: cedric

Maniphest Tasks: T6800

Differential Revision: https://phab.enlightenment.org/D5856
2018-04-04 19:52:46 +02:00
Derek Foreman 63c96df0d4 elm_win: Remove unused variable
hot_obj is unused
2018-04-04 11:16:32 -05:00
SangHyeon Lee ae8df9ba07 efl_ui_view_list : change the name of Model based list
Summary:
model based list need to be under the namespace of 'Efl.Ui.View".
thus, I renamed 'Efl.Ui.List' to 'Efl.Ui.View.List' properly.

Test Plan: N/A

Reviewers: cedric, felipealmeida

Differential Revision: https://phab.enlightenment.org/D5855
2018-04-04 19:13:41 +09:00
Marcel Hollerbach 39739ba333 efl_ui_focus_manager_calc: node depth is 0 for a NULL object 2018-04-04 10:11:22 +02:00
Cedric BAIL 55adae23ec evas: remove useless/buggy line most likely due to left over during merging patch. 2018-04-03 14:26:59 -07:00
Cedric BAIL 6d3a8a1e32 evas: we should actually continue the chain of interpolation up to the next parent. 2018-04-03 14:26:59 -07:00
Marcel Hollerbach 7fe52c55cf efl_ui_focus_manager_calc: fix infinite loop in _request_subchild
When the subchild where we request subchilds from was regular, the while
loop would have run infinitly. This is now fixed by at least calling
once _next, the check to not run outside the node is now done with
calculating the depth of the nodes.
2018-04-03 14:08:28 +02:00
Marcel Hollerbach 36d9fdc770 elm_toolbar: use the correct flag to detect wether a item is visible
fix T6806
2018-04-03 14:08:28 +02:00
Marcel Hollerbach 03efb59da9 elm_entry: use a normal calc manager instead of the root focus
fix T6795
2018-04-03 14:08:28 +02:00
Hermet Park 63b6d9c17f evas: fix Evas Map AA changes the alpha flag of an image issue.
Evas map supports anti-alias(aa) rendering on sw backened.
When aa is toggled on, map forcely turns alpha channel on while it draws on the surface.
Actually, it was intended to blend polygon edges with destination,
but it breaks one case if the original source image alpha channel were turned off.

Simply, it fixed the issue, new implmentation removes the alpha channel switching,
instead fill the alpha values with 255 when map + aa + alpha_off is drawing on it.

@fix T1975
2018-04-03 19:23:52 +09:00
Cedric Bail 224049fa18 eo: trigger invalidate and noref event before any modification is commited on the object tree. 2018-04-02 17:18:46 -07:00
Cedric Bail 1ca196fbcd ecore_evas: add a hook interceptor for evas_new, will be useful for a portable Exactness. 2018-04-02 15:12:31 -07:00
Cedric Bail a44697c37a ecore_evas: refactor logic for creating Ecore_Evas. 2018-04-02 15:12:31 -07:00
Hermet Park cbd9ab686d evas - remove wrong flag.
obviously, this parameter is being used.
2018-04-02 20:25:22 +09:00
Hermet Park f21aedce22 evas - correct evas map anti-alias rendering to perform properly.
Evas map anti-aliasing haven't worked at all if the smooth scaling were disabled.

evas map rendering has a lot of corner-cases, previous call-position was wrong,
(by mistake maybe) shouldn't be in a certian case.

Let aa post-processing function be performed in universally.
2018-04-02 20:23:25 +09:00
Cedric BAIL 9072c9a37a eo: add events when object get invalidated and loose all its reference matching other lifecycle events. 2018-03-30 09:53:59 -07:00
Cedric BAIL 79b283ab94 evas: fix lifecycle of Ector renderer.
Ector renderer are created by a factory pattern which return a reference.
The possible logic improvement from here would be to rely on setting the
parent of the object to the Ector_Surface and manage a cache by intercepting
efl_noref to trigger an efl_del of the object or a temporary cache of it.
That's for later.
2018-03-29 14:07:54 -07:00
Cedric BAIL c515ee36e6 evas: parent of an Efl.Vg.Node can also be a Efl.Canvas.VG 2018-03-29 14:07:54 -07:00
Cedric BAIL d7da460dd2 eo: use EINA_SAFETY_ON_TRUE_GOTO to error message out in case of mistake. 2018-03-29 14:07:54 -07:00
Carsten Haitzler 2fb5cc3ad0 efl_add_ref - fis to use efl_add properly with a parent.
fixes bc18b7e7ad and
168849e8a0
2018-03-29 13:30:55 +09:00
Andy Williams cc2b7a10a8 elm_code: Remove a render test and complex workarounds required
Fixes issues with Windows and general unused method warnings
2018-03-28 17:30:17 +01:00
Andy Williams 3b60da0e37 elm_code: Fix line selection with leading tabs 2018-03-28 16:47:55 +01:00
Marcel Hollerbach 28201f32a6 efl_ui_focus_manager_calc: do not crash for the case of a invalid child 2018-03-28 10:48:01 +02:00
Marcel Hollerbach 8fa22f2ab7 elm_config: add new infra for reloading config into the widget tree
fix T6792
2018-03-28 10:48:01 +02:00
Marcel Hollerbach e40f25b67e efl_interface_scrollable: call constructor at first
other calls could lead to a geometry_get call, which will crash if the
constructor of the canvas_object is not called yet.
2018-03-28 10:48:01 +02:00
Marcel Hollerbach b23c2b34e3 efl_ui_focus_manager: NULL out fields correctly 2018-03-28 10:48:01 +02:00
Marcel Hollerbach ca2461c280 efl_ui_focus_manager: move cleanup into one place
ref T6793
2018-03-28 10:48:01 +02:00
Mike Blumenkrantz 5c9f45fe80 ecore-con-eet: replace void_ptr usage with binbuf in eo api
Reviewed-by: Cedric Bail <cedric@osg.samsung.com>
2018-03-27 14:13:30 -07:00
Daniel Kolesa 474a2a319b eolian: completely scoped validation
This is much stricter than the previous behavior,
as it allows no leakage of information from the
outside to the inside.
2018-03-27 13:48:58 +02:00
Daniel Kolesa e4fd05469d eolian: validate each class with its own unit's in mind only
This is stricter (doesn't allow outer symbols to leak in).
Also needed fixing some eo files.
2018-03-27 13:27:46 +02:00
Bryce Harrington 8267124023 eina: Cleanup grammar for eina_hash add and free routines
Summary:
This copyedits the descriptions for several _add and _free APIs.
Phrasing is made a bit more concise, without losing the meaning, and
made more consistent so the distinctive differences between the routines
are easier to spot.  Some paragraph spacing is added for clarity, for
similar reasons.

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5851

Reviewed-by: Cedric BAIL <cedric@osg.samsung.com>
2018-03-26 16:06:40 -07:00
Bryce Harrington 58df1ba17e eina: Fix typos
Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5850

Reviewed-by: Cedric BAIL <cedric@osg.samsung.com>
2018-03-26 16:05:46 -07:00
Bryce Harrington 6ccc7448e7 eina: Add Doxygen in/out indicators to matrixsparse, clist, and array
Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5849

Reviewed-by: Cedric BAIL <cedric@osg.samsung.com>
2018-03-26 16:03:46 -07:00
Arnaud Ferraris fcadb54640 ecore_con_url: implement transfer speed limitation options
Summary: Add MAX_SEND_SPEED & MAX_RECV_SPEED cURL options handling in ecore_con_url.

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5848

Reviewed-by: Cedric BAIL <cedric@osg.samsung.com>
2018-03-26 16:01:53 -07:00
Hosang Kim 86ae239bae ecore_evas: don't set in_async_render flag if not in use async render.
Reviewers: jypark, raster, cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5844

Reviewed-by: Cedric BAIL <cedric@osg.samsung.com>
2018-03-26 15:58:54 -07:00
Carsten Haitzler 308e9586dd ecore - efl exe - use better exit codes
127 is the "command not found" shell exeit code, 126 is "the command
file is found but is not executable" which i think i'd interpret not
just for execute permissions but that something is preventing it from
executing in general.
2018-03-26 23:17:56 +09:00
Carsten Haitzler 0a3e7c05e4 ecore - efl exe + thread - error print if deleted before task is done
both exe and thread objects must (currently) stay around until the
child thread or exe (task) is done. if you don't do this "bad things
can happen". so produce an error to let the programmer know.
2018-03-26 23:17:56 +09:00
Carsten Haitzler fd6d9da8fa ecore ipc - fix flush to not lose messages
it wasn't looking at the copier queue "todo" at all thus skipping it
on flush. this will fix flushing of ecore ipc message buffers. this
happens to also now fix terminology's "one process" mode.

@fix
2018-03-26 23:17:56 +09:00
Daniel Kolesa 2c76889347 eolian: fix segfault on error when input file fails to open 2018-03-26 11:57:53 +02:00
Daniel Kolesa d98dd33648 eolian: fill missing fields in doc objects 2018-03-26 11:56:26 +02:00
Jihoon Kim 54b689f3e0 ecore_imf: check validation before accessing context class
Change-Id: Id329b87167caa71aadd8ca454c50e9aaca275415
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
2018-03-26 08:05:45 +09:00
Daniel Kolesa 3bddb2b6c4 eolian: commit all changes into staging area first 2018-03-22 18:01:31 +01:00
Daniel Kolesa 806c30ec34 eolian: complete staging area merge logic 2018-03-22 17:56:52 +01:00
Daniel Kolesa db04d3f670 eolian: introduce main and staging areas properly
The state is now correctly divided. No merging is performed yet,
which is to be done next.
2018-03-22 17:56:52 +01:00
Daniel Kolesa 3ae67b24b3 eolian: validate staging unit when parsing all 2018-03-22 16:27:35 +01:00
Daniel Kolesa 93a64c5eab eolian: clean rollback support
Previously, when an error happened in Eolian, the state was left
in a presumably unusable and inconsistent condition. This work
aims to change that, as all changes are committed into a staging
area before being validated and merged back into main state.

This is not yet complete, as units and by-file lookups are not
currently involved in the rollback. This will change in the
subsequent commits.

@feature
2018-03-22 15:37:25 +01:00
Daniel Kolesa d9a8fe0fca eolian: add state staging area
This will be used for clean rollbacks on errors.
2018-03-22 15:37:25 +01:00
Daniel Kolesa bc182e69d7 eolian: flush defer table before parsing 2018-03-22 15:37:25 +01:00
Cedric BAIL bc18b7e7ad efl: replace efl_del with efl_unref for cases where no parent exists
Signed-off-by: Mike Blumenkrantz <zmike@osg.samsung.com>
2018-03-20 17:20:57 -07:00
Cedric BAIL 168849e8a0 eo: use unref instead of del when constructor fails without parent
Signed-off-by: Mike Blumenkrantz <zmike@osg.samsung.com>
2018-03-20 17:20:57 -07:00
Cedric BAIL db92072338 edje: implement invalidate method and unset device callbacks here
prevent crashing in dangling callbacks

ref d26124a6d818f62d892e178d92098f5159a8c9e0

Signed-off-by: Mike Blumenkrantz <zmike@osg.samsung.com>
2018-03-20 17:20:57 -07:00
Cedric BAIL cd8952cc6c efl_ui_win: match return value to function type in elm_win_window_id_get
ref 08c9f99134

Signed-off-by: Mike Blumenkrantz <zmike@osg.samsung.com>
2018-03-20 17:20:57 -07:00
Cedric BAIL 21f96c2a71 edje: remove device callbacks on canvas del
avoid some race conditions when devices change during destructor

Signed-off-by: Mike Blumenkrantz <zmike@osg.samsung.com>
2018-03-20 17:20:57 -07:00
Cedric BAIL 6b2923c8de edje: avoid triggering errors when deleting edje file if canvas is deleted
Signed-off-by: Mike Blumenkrantz <zmike@osg.samsung.com>
2018-03-20 17:20:57 -07:00
Cedric BAIL 4c4177ac20 efl: use efl_add_ref to create objects which have no parent
Signed-off-by: Mike Blumenkrantz <zmike@osg.samsung.com>
2018-03-20 17:20:56 -07:00
Cedric Bail a1bf513920 eo: start reporting abuse of efl_del 2018-03-20 17:20:56 -07:00
Lauro Moura 9a6dd32cb1 eolian_cxx: Fill documentation of part_def. 2018-03-20 16:50:30 -03:00
Lauro Moura 38bf8cc923 eolian-cxx: Add helper method to get all parts
Line get_all_methods, gets everything from the inherits too.
2018-03-20 16:50:30 -03:00
Derek Foreman 94ddefc6fb ecore_wl2: Send a mouse-up event on reentry after client initiated resize
Apparently when we initiate a client side move in ecore_wl2 we flag that
and send a mouse-up immediately on the next pointer enter.

Do the same for resize.

At some point this might need to be revisited, we should probably be
sending a "cancel" at the start of client initiated move/resize instead
of an up at the end?

Fix T6422
2018-03-20 14:30:39 -05:00
Daniel Kolesa 2db8e8e914 eolian: make use of panics for certain alloc errors 2018-03-20 17:34:51 +01:00
Daniel Kolesa 7c6d8010a8 eolian: no need for printf-style for internal log funcs 2018-03-20 17:34:51 +01:00