On Mon, 15 Aug 2016 10:44:00 +0200 Stefan Schmidt <ste...@osg.samsung.com> said:

> Hello.
> 
> On 13/08/16 05:16, Carsten Haitzler (The Rasterman) wrote:
> > On Fri, 12 Aug 2016 18:31:34 +0200 Stefan Schmidt <ste...@osg.samsung.com>
> > said:
> >
> >> Hello.
> >>
> >> On 12/08/16 11:37, Tom Hacohen wrote:
> >>> On 07/06/16 13:36, Tom Hacohen wrote:
> >>>> Hey,
> >>>>
> >>>> This is the first ABI report since the merge of Elm. It should correctly
> >>>> compare. I compared against 1.17 as if elementary was already merged in.
> >>>>
> >>>> With that being said, this one is obviously a giant mess. The signatures
> >>>> changed for *all* of the Eo functions because of Eo4 and the interfaces
> >>>> work.
> >>>>
> >>>> Please take a look if you like the new functions added, and ignore the
> >>>> Eo ones that got removed.
> >>>>
> >>>> We also need to make sure we don't keep around in ugly APIs that were
> >>>> created in older Eo incarnations and should have been migrated to the
> >>>> Efl namespace but haven't.
> >>>>
> >>>> As usual:
> >>>> https://devs.enlightenment.org/~tasn/abi/
> >>>
> >>>
> >>> Updated according to the current state.
> >>
> >>
> >> Raster, I looked through the whole report now and fixed some more
> >> missing since tags. The items below I'm unsure about so I wanted to get
> >> another opinion before changing things. I also cherry-picked all of your
> >> commits plus mine up to now from 1.18 to master.
> >>
> >> Things that look suspicious to me:
> >>
> >> Edje_Common.h, libedje.so.1.18.0
> >> edje_mmap_3d_has ( Eina_File* f, char const* group )
> >>
> >>  From commit 52df6171e9287dd588968ed968fee7e72cfaf080. Is this something
> >> we should have public? The rest of our 3d work is still marked as BETA.
> >> This one not.
> >
> > this just lets you know if it does have 3d. tbh i dislike this because...
> > why does it matter? you shouldn't need to know or care. we can do 3d in
> > software. we use osmesa for this. yes it's sluggish, but it works. it's
> > portable. this stuff should work and be portable regardless of engine - all
> > we are arguing is speed. it's used in edje_player so it has to be exposed,
> > but in general i find the logic behind this api "dubious". but at this
> > point we may as well keep it.
> >
> >> ---
> >>
> >> efl_canvas_object.eo.legacy.h, libevas.so.1.18.0
> >> evas_object_legacy_ctor ( Efl_Canvas_Object* obj )
> >>
> >> The doc says internal function do not use. It seems not to be used in
> >> legacy anyway. Is it really needed to make this EAPI?
> >
> > fixed. eolian_gen issue. q66 did ti. i  cherry-picked the commit.
> >
> >> ---
> >>
> >> efl_canvas_text.eo.legacy.h, libevas.so.1.18.0
> >> evas_object_textblock_visible_range_get ( Efl_Canvas_Text* obj,
> >> Efl_Canvas_Text_Cursor* start, Efl_Canvas_Text_Cursor* end )
> >>
> >> Introduced in commit c297ff4115ba99f212c59dc8ed2430bcd7c8ad6b. The doc
> >> mark it actually with a since 1.1 but I have no place where this is
> >> being used in legacy. Is legacy really needed here?
> >
> > that smells like a typo for version. 1.18 :) i think this ios validly added
> > to legacy api's to extend functionality... so just fixing typo is enough.
> >
> >> ---
> >>
> >> efl_canvas_text_cursor.eo.legacy.h, libevas.so.1.18.0
> >> evas_textblock_cursor_equal ( Efl_Canvas_Text_Cursor const* obj,
> >> Efl_Canvas_Text_Cursor const* cur )
> >>
> >> Same as the above. I can't find legacy users. Introduced in commit
> >> c297ff4115ba99f212c59dc8ed2430bcd7c8ad6b
> >
> > same - missing a @since 1.18
> >
> >> ---
> >>
> >> efl_loop_timer.eo.legacy.h, libecore.so.1.18.0
> >> ecore_timer_loop_reset ( Efl_Loop_Timer* obj )
> >>
> >>
> >> I see no user in legacy for this one. Maybe mark as legacy: null?
> >
> > i see the point of this though and it has an @since. so this is ok. reset
> > uses "now" as the new start time, loop_reset uses the loop wakeup time as
> > the new start time.
> >
> >> ---
> >>
> >> efl_ui_win.eo.legacy.h, libelementary.so.1.18.0
> >> elm_win_name_get ( Efl_Ui_Win const* obj )
> >>
> >> The set function is marked with legacy: null. Is get supposed to be
> >> available for legacy, if yes, we need to add a since tag.
> >
> > i see no reason not to have a get... just need an @since :)
> >
> >> ---
> >>
> >> Evas_Legacy.h, libevas.so.1.18.0
> >> evas_object_text_filter_program_set ( Evas_Object* obj, char const* code )
> >> evas_object_text_filter_source_set ( Evas_Object* obj, char const* name,
> >> Evas_Object* source )
> >>
> >> Are text filters supposed to be available in legacy?
> >
> > check the commit. they are. the are missing @since. :) fixed.
> >
> >> ---
> >>
> >> Removed symbols: Ecore_Wayland.h header file seems not be used in this run.
> >
> > it just wasnt built. we've moved on to ecore-wl2 anyway ... :)
> >
> >> ---
> >>
> >> elm_photo.eo.legacy.h, libelementary.so.1.17.0
> >> [−] elm_photo_thumb_set ( Elm_Photo const* obj, char const* file, char
> >> const* group ) (1)
> >> changed to:
> >> elm_photo_thumb_set ( Evas_Object* obj, char const* file, char const*
> >> group )
> >>
> >> We should probably make sure that the obj stays const here?
> >
> > technically this sounds like a fix. the object is modified. the object
> > properties are changed... this smells right and like a fix. it doesn't break
> > api/abi.
> >
> >> ---
> >>
> >> elm_win.eo.legacy.h, libelementary.so.1.17.0
> >> [−] elm_win_main_menu_get ( Elm_Win const* obj ) (1)
> >> changed to:
> >> elm_win_main_menu_get ( Evas_Object* obj )
> >>
> >> Same as the last one.
> >
> > actually this api happens to modify internal window state - creates a menu
> > etc. so this is right.
> >
> >> ---
> >>
> >> elm_win_legacy.h, libelementary.so.1.17.0
> >> [−] elm_win_wm_rotation_preferred_rotation_set ( Evas_Object const* obj,
> >> int rotation ) (1)
> >> changed to:
> >> elm_win_wm_rotation_preferred_rotation_set ( Evas_Object* obj, int
> >> rotation )
> >>
> >> Again, same as before.
> >
> > well this is like the first. it should NOT be const. the object is modified.
> > it's a set. :) so this is fixed.
> >
> >> ---
> >>
> >> evas_textblock.eo.legacy.h, libevas.so.1.17.0
> >> [−] evas_object_textblock_text_markup_get ( Evas_Textblock const* obj ) (1)
> >> changed to:
> >> evas_object_textblock_text_markup_get ( Evas_Object* obj )
> >> [−] evas_textblock_node_format_first_get ( Evas_Textblock const* obj ) (1)
> >> changed to:
> >> evas_textblock_node_format_first_get ( Evas_Object* obj )
> >> [−] evas_textblock_node_format_last_get ( Evas_Textblock const* obj ) (1)
> >> changed to:
> >> evas_textblock_node_format_last_get ( Evas_Object* obj )
> >
> > hmm. ok these are from auto generated legacy code. thus its hard to force
> > the const to be there. it doesn't know if the get happens to modify the
> > obj. this doesnt really break api or abi so i think we're ok here.
> >
> >> And one last time.
> >>
> >> ---
> >>
> >> elm_image_common.h
> >> [+] ELM_IMAGE_FLIP_HORIZONTAL
> >> [+] ELM_IMAGE_FLIP_TRANSPOSE
> >> [+] ELM_IMAGE_FLIP_TRANSVERSE
> >> [+] ELM_IMAGE_FLIP_VERTICAL
> >> [+] ELM_IMAGE_ORIENT_0
> >> [+] ELM_IMAGE_ORIENT_180
> >> [+] ELM_IMAGE_ORIENT_270
> >> [+] ELM_IMAGE_ORIENT_90
> >> [+] ELM_IMAGE_ORIENT_NONE
> >> [+] ELM_IMAGE_ROTATE_180
> >> [+] ELM_IMAGE_ROTATE_270
> >> [+] ELM_IMAGE_ROTATE_90
> >>
> >> These constants seems to have moved to elm_image_legacy.h and the abi
> >> checker just got confused. Better someone to double check me here.
> >
> > i double checked. they all match the same abi values here. so we're ok.
> >
> > i'm done with going over yours above. i cherry-picked my branch fixes back
> > to master too.
> >
> > so if these above are done... do you think we're good? everyone else?
> 
> With all of the above either fixed or clarified I'm good.
> 
> Is anybody else reviewing these right now wants us to wait before we 
> hopefully to the final 1.18?

release it. looks like no one has any objections anymore.

-- 
------------- Codito, ergo sum - "I code, therefore I am" --------------
The Rasterman (Carsten Haitzler)    ras...@rasterman.com


------------------------------------------------------------------------------
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to