Re: [E-devel] [e-users] Exquisite bootsplash release
On Thu, 9 Feb 2012 23:04:00 -0800 (PST) P Purkayastha ppu...@gmail.com said: Is there some guide on how to set this up? I know that Exquisite has existed for many years but I could never set it up due to the lack of a noobie-friendly guide. read README? look at the run-demo.sh as such you only want to be integrating this into a boot if you know your boot stuff (systemd/systvinit/whatever) and you need to put the status writes into your startup scripts or modify systemd to do it for you. (write to fifo or scoket directly). other than that u need to hack up all your init setup to start exquisite before everything else (and make sure efl libs are available to it at that time) and then send status and done messages from your init scripts or whatever. -- - Codito, ergo sum - I code, therefore I am -- The Rasterman (Carsten Haitzler)ras...@rasterman.com -- Virtualization Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/ ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] [patch] elm_genlist - bugfix at genlist rotation.
Dear all. It's about genlist items which are backed from rotation. After rotating and items width is extending, genlist doesn't shrink its items. So adding some routines to check if item min width is bigger than genlist's width. If then recalc items width. Thank you. Index: elementary/src/lib/elm_genlist.c === --- elementary/src/lib/elm_genlist.c(리비전 67815) +++ elementary/src/lib/elm_genlist.c(작업 사본) @@ -2438,6 +2438,11 @@ minw = itb-minw; minw_change = EINA_TRUE; } +if (minw wd-w) + { + minw = wd-w; + minw_change = EINA_TRUE; + } itb-w = minw; itb-h = itb-minh; y += itb-h; -- Virtualization Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] [patch] elm_genlist - add item_class management functions
Dear all. I make controversial apis for item class management. As raster and other guys suggest, I simplify APIs and its behaviors. First, Two public apis and two internal apis are introduced +EAPI Elm_Genlist_Item_Class * +elm_genlist_item_class_new(void) +EAPI void +elm_genlist_item_class_free(Elm_Genlist_Item_Class *itc) +void +_elm_genlist_item_class_ref(Elm_Genlist_Item_Class *itc) +void +_elm_genlist_item_class_unref(Elm_Genlist_Item_Class *itc) genlist item class is maintained by genlist in automatic manner. And three fields are introduced in genlist item class. + int version; + unsigned int refcount; + Eina_Bool delete_me; Normally a user add a elm_genlist_item_class by elm_genlist_item_class_new(). Then its reference counter is automatic maintained. If the user wanna to remove the elm_genlist_item_class, then call elm_genlist_item_class_free() After refcount reaches to 0, it will be removed. Thank you. PS: I made those apis in genlist. If its accepted i'll make a new patch for gengrid. Index: elementary/src/lib/elm_genlist.c === --- elementary/src/lib/elm_genlist.c(리비전 67815) +++ elementary/src/lib/elm_genlist.c(작업 사본) @@ -796,6 +796,7 @@ it-parent-item-items = eina_list_remove(it-parent-item-items, it); if (it-item-swipe_timer) ecore_timer_del(it-item-swipe_timer); _elm_genlist_item_del_serious(it); + _elm_genlist_item_class_unref(it-itc); evas_event_thaw(evas_object_evas_get(obj)); evas_event_thaw_eval(evas_object_evas_get(obj)); } @@ -2438,6 +2439,11 @@ minw = itb-minw; minw_change = EINA_TRUE; } +if (minw wd-w) + { + minw = wd-w; + minw_change = EINA_TRUE; + } itb-w = minw; itb-h = itb-minh; y += itb-h; @@ -3316,6 +3322,7 @@ it-wd = wd; it-generation = wd-generation; it-itc = itc; + _elm_genlist_item_class_ref(itc); it-base.data = data; it-parent = parent; it-func.func = func; @@ -3807,6 +3814,27 @@ evas_object_smart_callback_call(WIDGET(it), SIG_MOVED, it); } +void +_elm_genlist_item_class_ref(Elm_Genlist_Item_Class *itc) +{ + if (itc-version == ELM_GENLIST_ITEM_CLASS_VERSION) + { +itc-refcount++; +if (itc-refcount == 0) itc-refcount--; + } +} + +void +_elm_genlist_item_class_unref(Elm_Genlist_Item_Class *itc) +{ + if (itc-version == ELM_GENLIST_ITEM_CLASS_VERSION) + { +if (itc-refcount 0) itc-refcount--; +if (itc-delete_me (!itc-refcount)) + elm_genlist_item_class_free(itc); + } +} + EAPI Elm_Object_Item * elm_genlist_item_append(Evas_Object *obj, const Elm_Genlist_Item_Class *itc, @@ -5316,6 +5344,36 @@ return wd-reorder_mode; } +EAPI Elm_Genlist_Item_Class * +elm_genlist_item_class_new(void) +{ + Elm_Genlist_Item_Class *itc; + + itc = calloc(1, sizeof(Elm_Genlist_Item_Class)); + if (!itc) + return NULL; + itc-version = ELM_GENLIST_ITEM_CLASS_VERSION; + itc-refcount = 0; + itc-delete_me = EINA_FALSE; + + return itc; +} + +EAPI void +elm_genlist_item_class_free(Elm_Genlist_Item_Class *itc) +{ + if (itc-version == ELM_GENLIST_ITEM_CLASS_VERSION) + { +if (!itc-delete_me) itc-delete_me = EINA_TRUE; +if (itc-refcount 0) _elm_genlist_item_class_unref(itc); +else + { + itc-version = 0; + free(itc); + } + } +} + /* for gengrid as of now */ void _elm_genlist_page_relative_set(Evas_Object *obj, Index: elementary/src/lib/elm_genlist.h === --- elementary/src/lib/elm_genlist.h(리비전 67815) +++ elementary/src/lib/elm_genlist.h(작업 사본) @@ -1831,6 +1831,41 @@ */ EAPI Eina_Bool elm_genlist_reorder_mode_get(const Evas_Object *obj); +#define ELM_GENLIST_ITEM_CLASS_VERSION 2 /* current version number */ + /** + * Add a new genlist item class in a given genlist widget. + * + * @return New allocated a genlist item class. + * + * This adds genlist item class for the genlist widget. When adding a item, + * genlist_item_{append, prepend, insert} function needs item class of the item. + * Given callback paramters are used at retrieving {text, content} of + * added item. Set as NULL if it's not used. + * If there's no available memory, return can be NULL. + * + * @see elm_genlist_item_class_free() + * @see elm_genlist_item_append() + * + * @ingroup Genlist + */ +EAPI Elm_Genlist_Item_Class *elm_genlist_item_class_new(void); + +/** + * Remove a item class in a given genlist widget. + * + * @param itc The itc to be removed. + * + * This removes item class from the genlist widget. + * Whenever it has no more references to it, item class is going to be freed. + * Otherwise it just decreases its reference count. + * + * @see elm_genlist_item_class_new() + * +
Re: [E-devel] [e-users] Exquisite bootsplash release
On Friday, February 10, 2012 4:40:33 PM UTC+8, The Rasterman Carsten Haitzler wrote: On Thu, 9 Feb 2012 23:04:00 -0800 (PST) P Purkayastha ppu...@gmail.com said: Is there some guide on how to set this up? I know that Exquisite has existed for many years but I could never set it up due to the lack of a noobie-friendly guide. read README? look at the run-demo.sh as such you only want to be integrating this into a boot if you know your boot stuff (systemd/systvinit/whatever) and you need to put the status writes into your startup scripts or modify systemd to do it for you. (write to fifo or scoket directly). other than that u need to hack up all your init setup to start exquisite before everything else (and make sure efl libs are available to it at that time) and then send status and done messages from your init scripts or whatever. -- - Codito, ergo sum - I code, therefore I am -- The Rasterman (Carsten Haitzler)ras...@rasterman.com Ah yeah. Now I remember why I didn't pursue it further. I wasn't comfortable with hacking init scripts. :) -- Virtualization Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] E SVN: barbieri IN trunk/eina: . src/include src/lib
On Fri, Feb 10, 2012 at 11:48 AM, Enlightenment SVN no-re...@enlightenment.org wrote: Modified: trunk/eina/configure.ac === --- trunk/eina/configure.ac 2012-02-10 10:37:28 UTC (rev 67820) +++ trunk/eina/configure.ac 2012-02-10 10:48:39 UTC (rev 67821) @@ -480,8 +480,10 @@ ### Checks for library functions AC_ISC_POSIX AC_FUNC_ALLOCA -AC_CHECK_FUNCS([strlcpy openat fstatat fpathconf execvp]) +AC_CHECK_FUNCS([strlcpy openat fstatat fpathconf execvp backtrace backtrace_symbols]) +AC_CHECK_HEADERS([execinfo.h], [AC_DEFINE([HAVE_EXECINFO_H], [1], [Have execinfo.h])]) this is not the location where headers are checked. See above in configure.ac Vincent -- Virtualization Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/ ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [patch] elm_genlist - add item_class management functions
On Fri, Feb 10, 2012 at 7:26 AM, Hyoyoung Chang hyoyo...@gmail.com wrote: Dear all. I make controversial apis for item class management. As raster and other guys suggest, I simplify APIs and its behaviors. First, Two public apis and two internal apis are introduced +EAPI Elm_Genlist_Item_Class * +elm_genlist_item_class_new(void) +EAPI void +elm_genlist_item_class_free(Elm_Genlist_Item_Class *itc) +void +_elm_genlist_item_class_ref(Elm_Genlist_Item_Class *itc) +void +_elm_genlist_item_class_unref(Elm_Genlist_Item_Class *itc) genlist item class is maintained by genlist in automatic manner. And three fields are introduced in genlist item class. + int version; + unsigned int refcount; + Eina_Bool delete_me; Normally a user add a elm_genlist_item_class by elm_genlist_item_class_new(). Then its reference counter is automatic maintained. If the user wanna to remove the elm_genlist_item_class, then call elm_genlist_item_class_free() After refcount reaches to 0, it will be removed. And about code that wants to use static const version as all my software? You can't ref/unref it, I don't want more mallocs in my code -- Gustavo Sverzut Barbieri http://profusion.mobi embedded systems -- MSN: barbi...@gmail.com Skype: gsbarbieri Mobile: +55 (19) 9225-2202 -- Virtualization Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/ ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [Patch] ecore_ipc - remove potential risk in ecore_ipc_shutdown
2012/2/10 윤정현 jh0506@samsung.com: I found a problem this infinite loop case. If server is deleted, then ECORE_IPC_EVENT_SERVER_DEL callback function will be called in client side. It will happen infinite loop in ecore_ipc_shutdown if ecore_ipc_shutdown called in this ECORE_IPC_EVENT_SERVER_DEL callback function. For example, server_del_handler = ecore_event_handler_add(ECORE_IPC_EVENT_SERVER_DEL, _server_del_cb, NULL); static Eina_Bool _server_del_cb(void *data, int type, void *event) { ecore_ipc_shutdown(); return EINA_TRUE; } This is VERY WRONG. You should never shutdown any subsystem from your callback functions. If you must finish the application then call ecore_main_loop_quit() and let the main() function do all the shutdowns. If server is deleted, 1. _ecore_ipc_event_server_del : svr-event_count++ 2. _server_del_cb : ecore_ipc_shutdown called 3. ecore_ipc_shutdown : while (servers) ecore_ipc_server_del(eina_list_data_get(servers)) 4. ecore_ipc_server_del : can't eina_list_remove(servers, svr) because event_count != 0 5. infinite loop I think this while code is very dangerous whether user miss or not. I modified EINA_LIST_FOREACH_SAFE instead of EINA_LIST_FOREACH refer to ecore_con. Please review this patch. Thanks. --- Original Message --- Sender : Carsten Haitzlerras...@rasterman.com Date : 2012-02-02 18:00 (GMT+09:00) Title : Re: [E-devel] [Patch] ecore_ipc - remove potential risk in ecore_ipc_shutdown On Wed, 01 Feb 2012 03:06:01 + (GMT) Jeong-Hyun Yun jh0506@samsung.com said: Dear All. I removed potential risk in ecore_ipc_shutdown. If servers can't eina_list removed in ecore_ipc_server_del(), for example, delete_me is true or event_count == 0 or etc., then the while loop will be infinite. I modified EINA_LIST_FOREACH instead of while loop. Please review this patch. this is dangerous. very. take a look at this line in ecore_ipc_server_del(): servers = eina_list_remove(servers, svr); so what happens when as you walk a list.. you remove the exact item you are walking... then you try use the list node -next member.. that you just freed? :) this is not a fix. it's asking for segv's. you issue is this: if (svr-event_count == 0) ie it wont remove until events have been spooled out from the server. this wont happen until the mainloop goes and runs again, so you have a problem. what i'd do is have a routine before u server_del that finds all events for that server and deletes them. :) the problem is that there isn't a list of these per server. all the events point back to this server so u basically have a referencing issue. if a ref that wont be removed until mainlooop flushes the events. you want to look over there. -- - Codito, ergo sum - I code, therefore I am -- The Rasterman (Carsten Haitzler) ras...@rasterman.com pnbsp;/ppnbsp;/p -- Virtualization Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/ ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- Virtualization Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/ ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] E SVN: hermet trunk/evas/src/lib/canvas
On 02/10/12 08:39, Enlightenment SVN wrote: Log: evas/evas_events - do not call the up event when obj is freezed and removed useless codes. Good job Hermet !! ;) Make sure we are not calling down (or any other mouse events either) when things are frozen. Frozen should be just that ... frozen. dh Author: hermet Date: 2012-02-10 05:39:15 -0800 (Fri, 10 Feb 2012) New Revision: 67828 Trac: http://trac.enlightenment.org/e/changeset/67828 Modified: trunk/evas/src/lib/canvas/evas_events.c Modified: trunk/evas/src/lib/canvas/evas_events.c === --- trunk/evas/src/lib/canvas/evas_events.c 2012-02-10 13:32:50 UTC (rev 67827) +++ trunk/evas/src/lib/canvas/evas_events.c 2012-02-10 13:39:15 UTC (rev 67828) @@ -486,8 +486,9 @@ } if (!obj-delete_me) { - if (e-events_frozen= 0) -evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_UP,ev, event_id); + if ((e-events_frozen= 0) + (!evas_event_freezes_through(obj))) + evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_UP,ev, event_id); } if (e-delete_me) break; if (obj-pointer_mode == EVAS_OBJECT_POINTER_MODE_NOGRAB_NO_REPEAT_UPDOWN) @@ -1668,18 +1669,6 @@ if (obj-freeze_events == freeze) return; obj-freeze_events = freeze; evas_object_smart_member_cache_invalidate(obj, EINA_FALSE, EINA_TRUE); - if (evas_object_is_in_output_rect(obj, - obj-layer-evas-pointer.x, - obj-layer-evas-pointer.y, 1, 1) - ((!obj-precise_is_inside) || -(evas_object_is_inside(obj, - obj-layer-evas-pointer.x, - obj-layer-evas-pointer.y - evas_event_feed_mouse_move(obj-layer-evas, -obj-layer-evas-pointer.x, -obj-layer-evas-pointer.y, -obj-layer-evas-last_timestamp, -NULL); } EAPI Eina_Bool -- Virtualization Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/ ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] calender module
hello developers can i ask you a favor can you add saturday in calender module week first day list there is sunday and monday and i just want add saturday because there are some countries are using this way i mean saturday is the first day in the week and friday is the last day in it -- Virtualization Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/ ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] E SVN: barbieri trunk/eina/src/tests
On Friday, 10 February 2012, at 16:42:00 (-0800), Enlightenment SVN wrote: Log: one day I'll be less stupid... ... or one day we'll move to git so I can rewrite stupid commits :-D Okay, who's going to run the betting pool on which one is more likely to happen? ;-) (Sorry, you opened yourself up for that one.) :-) Michael -- Michael Jennings (a.k.a. KainX) http://www.kainx.org/ m...@kainx.org Linux Server/Cluster Admin, LBL.gov Author, Eterm (www.eterm.org) --- Time to be all the things that you dreamed of. Time to see if your fairy tale comes true. Time to see there's a shoulder you can lean on. Time to be, 'cause now it's time for you. -- The Tories, Theme from Jesse -- Virtualization Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/ ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] E SVN: barbieri trunk/eina/src/tests
On Fri, Feb 10, 2012 at 10:45 PM, Michael Jennings m...@kainx.org wrote: On Friday, 10 February 2012, at 16:42:00 (-0800), Enlightenment SVN wrote: Log: one day I'll be less stupid... ... or one day we'll move to git so I can rewrite stupid commits :-D Okay, who's going to run the betting pool on which one is more likely to happen? ;-) (Sorry, you opened yourself up for that one.) :-) aahah... it was on purpose ;-) -- Gustavo Sverzut Barbieri http://profusion.mobi embedded systems -- MSN: barbi...@gmail.com Skype: gsbarbieri Mobile: +55 (19) 9225-2202 -- Virtualization Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/ ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [patch] elm_genlist - add item_class management functions
On Fri, Feb 10, 2012 at 8:34 PM, Gustavo Sverzut Barbieri barbi...@profusion.mobi wrote: On Fri, Feb 10, 2012 at 7:26 AM, Hyoyoung Chang hyoyo...@gmail.com wrote: Dear all. I make controversial apis for item class management. As raster and other guys suggest, I simplify APIs and its behaviors. First, Two public apis and two internal apis are introduced +EAPI Elm_Genlist_Item_Class * +elm_genlist_item_class_new(void) +EAPI void +elm_genlist_item_class_free(Elm_Genlist_Item_Class *itc) +void +_elm_genlist_item_class_ref(Elm_Genlist_Item_Class *itc) +void +_elm_genlist_item_class_unref(Elm_Genlist_Item_Class *itc) genlist item class is maintained by genlist in automatic manner. And three fields are introduced in genlist item class. + int version; + unsigned int refcount; + Eina_Bool delete_me; Normally a user add a elm_genlist_item_class by elm_genlist_item_class_new(). Then its reference counter is automatic maintained. If the user wanna to remove the elm_genlist_item_class, then call elm_genlist_item_class_free() After refcount reaches to 0, it will be removed. And about code that wants to use static const version as all my software? You can't ref/unref it, I don't want more mallocs in my code If then Just use as it. this patch checks version of item class, and only exact version will be manged. +void +_elm_genlist_item_class_ref(Elm_Genlist_Item_Class *itc) +{ + if (itc-version == ELM_GENLIST_ITEM_CLASS_VERSION) maybe some magic check will be need to add. anyway static const vars will be compatible. -- Gustavo Sverzut Barbieri http://profusion.mobi embedded systems -- MSN: barbi...@gmail.com Skype: gsbarbieri Mobile: +55 (19) 9225-2202 -- Virtualization Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/ ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- Virtualization Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/ ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel