summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-09-28bladevs/tasn/q66Tom Hacohen
2015-09-28Eo: reduce memory usage across applications.Tom Hacohen
As described by Carsten in his email to edev ML titled: "[E-devel] eo stability - i think we need to postpone that" with the switch to Eo2 we significantly increased our usage of RW memory pages, and thus significantly increased our memory usage when running multiple applications. The problem was that during the migration to Eo2 the op id cache and the op description arrays were merged, causing the op description arrays to no longer be RO. This patch enables users of Eo (mainly Eolian) to declare those arrays as const (RO) again, saving that memory. There might be performance implications with this patch. I had to remove the op desc array sorting, and I used a hash table for the lookup. I think the op desc sorting doesn't really affect performance because that array is seldom accessed and is usually pretty short. The hash table is not a problem either, because it's behind the scenes, so it can be changed to a more efficient data structure if the hash table is not good enough. The hash table itself is also rarely accessed, so it's mostly about memory. Please keep an eye for any bugs, performance or excessive memory usage. I believe this should be better on all fronts. This commit *BREAKS ABI*. @fix
2015-09-28Eolian generator: remove sentinel generationDaniel Kolesa
2015-09-28Eo: Fix examples and benchmarks according to recent Eo changes.Tom Hacohen
2015-09-28Eo: Remove EO_SENTINEL.Tom Hacohen
This was never really needed because we always had the count. Removing this now because we are already breaking API and ABI.
2015-09-28Eo: Clean up windows code.Tom Hacohen
We were keeping a struct member that wasn't really needed on windows. Since we already broke ABI, we can afford to clean this up.
2015-09-28Eo: Fix eo function name getter on windows.Tom Hacohen
2015-09-28Eo: rename EO_HOT_EVENT_DESCRIPTION to EO_EVENT_DESCRIPTION_HOT.Tom Hacohen
The old naming is inconsistent with the rest of the EFL. This fixes that. Since we are already breaking ABI (and possibly API), we should fix this too.
2015-09-28Eo: Drop doc field from ops and events.Tom Hacohen
This hasn't been used for a while. Since we are going to break Eo a bit anyway it's a good opportunity to drop this. This may cause a slight performance issues with legacy events, such as smart callbacks. This shouldn't really be a problem as we've migrated away from them. If it does, we need to migrate the remaining parts. Only relevant for callbacks that are added before the classes are created, which shouldn't be possible except for smart, only for old evas callbacks.
2015-09-28ecore: fix typos in documentationAmitesh Singh
2015-09-28edje_edit: fix typo in error messageAmitesh Singh
2015-09-28edje: fix typos in documentationAmitesh Singh
2015-09-28evas - protect against invalid obj id in legacy wrapper funcCarsten Haitzler (Rasterman)
@fix
2015-09-28evas - lock render updates as this happesn to be accesed from threadsCarsten Haitzler (Rasterman)
2015-09-28evas - software x11 - lock shmpool as now shm pool entities are threadedCarsten Haitzler (Rasterman)
recent changes moved shm buffer pushig to a thread and thus shm pool has to be locked too
2015-09-26Eo: fix double callback deletionDaniel Zaoui
Scenario: - Same signal/function/data registered twice on e.g mouse_down - On mouse_down, register mouse_move and mouse_up - On mouse_up, unregister mouse_move Result: mouse_move still invoked after mouse_up Reason: - When the mouse_move callback deletion is required, the cb is flagged as deleted but is not freed as walking_list blocks. - When the second (and same) has to be deleted, it will try to delete the first again because the delete_me flag is not checked. This patch fixes it by checking the delete_me flag when determining the candidate. @fix
2015-09-25ecore_evas-x11: unset withdrawn flag when showing the ecore evasMike Blumenkrantz
while the window map event seemed like a reasonable place to unset the withdrawn state at the time, studies and further tests have proven that the direct show callback is even more reasonable and effective ref T2745
2015-09-25ecore_evas-x11: unset withdrawn state when window is mappedMike Blumenkrantz
according to ICCCM 4.1.4: Newly created top-level windows are in the Withdrawn state. Once the window has been provided with suitable properties, the client is free to change its state... ... Only the client can effect a transition into or out of the Withdrawn state given that no external force can (according to spec) transition a window out of the withdrawn state, this must be done at a reasonable point. mapping the window seems like a reasonable point to me. fix T2745 ref 5954289c6ce1cd55ff212428291604b981438439 @fix
2015-09-25Edje entry: Make cursors to null after freeSubodh Kumar
Summary: Edje entry: Make cursors to null after free To prevent any illegal access of cursors can lead to crash @fix Test Plan: NA Reviewers: tasn Reviewed By: tasn Subscribers: shilpasingh, cedric Differential Revision: https://phab.enlightenment.org/D3093
2015-09-25edje_adit: fix typos in headerAndrii Kroitor
Summary: @fix Reviewers: cedric, raster, Hermet, reutskiy.v.v, FurryMyad Reviewed By: FurryMyad Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D3108
2015-09-25evas gl - optimize updatesCarsten Haitzler (Rasterman)
@feature this makes the gl engine by default not do bounding box, but instead try and smartly merge nearby update regions. this means multiple render passes IF your drivers support buffer age, but it seems to actually help. in my test case on nvidia drivers which support buffer age, i saw compositor cpu overhead drop by about 30%
2015-09-25evas image object - dont update just if image is dirtyCarsten Haitzler (Rasterman)
marking images as dirty is only meant to have the pixle get callback called IF rendered. you ADD update regions to get it to be called. this is how it has always meant to work, but evas image objects where adding updates just if dirty. this ends up with e as a compositor redrawing ENTIRE eindows if even a single blinking cursor is blinking. oh so bad. @fix
2015-09-25fix coverity complaint (not real bug) - CID 1324882Carsten Haitzler (Rasterman)
coverity complained on the n <=- 0 return. it will never be <= 0 if rects2 is non-null. this just should make coverity less noisy.
2015-09-24Evas smart: Add obj type safety check to callback_del.Mrunal Sovani
Summary: Evas_Smart_Data retrieved from eo_data_scope_get might be NULL in case the input Evas_Object is not valid Evas_Object. The smart data gets dereferenced and can cause a crash if its NULL Hence return in case smart data is NULL. @fix Signed-off-by: Mrunal Sovani <mrunal.s@samsung.com> Reviewers: raster, Hermet, tasn Reviewed By: tasn Subscribers: singh.amitesh, cedric, sachin.dev Differential Revision: https://phab.enlightenment.org/D3106
2015-09-24eolian: enable doc dependency parsing codeDaniel Kolesa
2015-09-24eolian: no need to double-sanitize paths, only do it when neededDaniel Kolesa
2015-09-24eolian: use fully sanitized path names everywhereDaniel Kolesa
2015-09-24evas - make new exact regions round up to 16x16 to keep count saneCarsten Haitzler (Rasterman)
make region count sane by rounding to 16x16
2015-09-24evas_canvas3d:Broken source file for generation 3D shadersOleksandr Shcherbina
Summary: Bug reproduce if delete evas_gl_3d_shaders.x and try re-build. Source file include.shd for generation shader code consist m4 macro definitions. After this revision https://phab.enlightenment.org/D3056 order of the quatation marks in function pcf was broken. @fix Reviewers: cedric, Hermet Reviewed By: Hermet Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D3085
2015-09-24ecore_x_keygrab: fix memory leakJi-Youn Park
2015-09-24evas cutouts - optimize to use less cpuCarsten Haitzler (Rasterman)
this optimizes draw ctxt cutouts by skipping small ones and remembering the last cutout added so it isn't double-added as well as extending the minimum cutout array to 512 and going up in blocks of 512 instead of 128. also optimize the clipping code a bit more.
2015-09-24evas tiler update handler - move to region code to be accurate and fastCarsten Haitzler (Rasterman)
this move evas tiler that does update handling to use fully correct regions using region.[xh]. this also removed old unused regionbuf code and a bunch of commented out code no longer needed. much simpler now and easier to maintain.
2015-09-24evas new region code - copy region size along with region mathCarsten Haitzler (Rasterman)
2015-09-23eina: add example for eina_tmpstr.Shilpa Singh
Summary: Example for eina_tmpstr added. Example tests for eina_tmpstr_add_length, eina_tmpstr_len, eina_tmpstr_del and eina_tmpstr_strftime APIs Signed-Off By: Shilpa Singh <shilpa.singh@samsung.com> Reviewers: cedric Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D3087 Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-09-23ecore_x: remove useless assignment.Srivardhan Hebbar
Summary: The assignment of NULL will have no effect on the caller. So removed that statment. Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com> Reviewers: cedric Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D3095 Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-09-23ecore_con: replacing strncat with strncpy.Srivardhan Hebbar
Summary: strcat will look for the null-terminator, interpret that as the end of the string, and append the new text there, overwriting the null-terminator in the process, and writing a new null-terminator at the end of the concatenation. buf is uninitialized, so it might start with NULL, or it might not have NULL anywhere within it. So this might produce undefined behaviour. So replaced with strncpy. Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com> Reviewers: cedric Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D3094 Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-09-23ecore_exe: fix memory leak on realloc.Srivardhan Hebbar
Summary: Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com> Reviewers: cedric Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D3091 Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-09-23ecore_example: fix file name in the example's comment.Srivardhan Hebbar
Summary: Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com> Reviewers: cedric, stefan_schmidt Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D3089 Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-09-23ecore_con: preventing possible NULL pointer dereference.Srivardhan Hebbar
Summary: Checking if client is NULL before freeing is not of much use. If it is NULL, it would have crashed before when it was dereferenced in printf. So checking NULL before dereferencing. Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com> Reviewers: cedric Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D3088 Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-09-23edje: fix internal colorclass fieldAndrii Kroitor
Summary: Its value is never modified directly and should not be modifiled by mistake in future. @fix Reviewers: Hermet, raster, reutskiy.v.v, cedric Reviewed By: cedric Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D3104 Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-09-23eolian: preliminary doc dependency detection for external filesDaniel Kolesa
This doesn't quite work yet as path sanitization needs to be done for it to work correctly. For now this code path is disabled and will be enabled once all paths are correctly sanitized.
2015-09-23ecore_buffer: abort if wl_display_dispatch returns negative valueBoram Park
Summary: If the connection between server and client has problems, wl_display_dispatch an return negative value. i.e. when enlightenment has been killed accidently. In this case, app can enter into infinite loop. Signed-off-by: Boram Park <boram1288.park@samsung.com> Reviewers: stefan_schmidt, zmike, gwanglim, raster, devilhorns Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D3078
2015-09-23ecore_wl: abort if wl_display_dispatch returns negative valueBoram Park
Summary: If the connection between server and client has problems, wl_display_dispatch an return negative value. i.e. when enlightenment has been killed accidently. In this case, app can enter into infinite loop. Signed-off-by: Boram Park <boram1288.park@samsung.com> Reviewers: stefan_schmidt, zmike, gwanglim, raster, devilhorns Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D3077
2015-09-23ecore_evas_extn: remove old buffer in evas render post function.Ji-Youn Park
Before, ipc_server_data(fd handler callback) is not runned between evas_render_pre callback and evas_render_post callback. but after async mode, hd handler can be called between render_pre and render_post. we should remove buffer which can be used render thread, after render finished
2015-09-23edje_edit: remove a redundant API declaration.Jaehwan Kim
edje_edit_state_font_get has twice declaration in same header file.
2015-09-23evas gl engines - remove TIMDBG code that is unused entirelyCarsten Haitzler (Rasterman)
2015-09-23eldbus: add dbus_pending NULL checkThiep Ha
Summary: When we call dbus_connection_send_with_reply, the dbus_pending can be NULL. In this case, the next call dbus_pending_call_set_notify will cause application crash. We should check if dbus_pending is NULL before calling dbus API. @fix Reviewers: cedric Subscribers: englebass, cedric, seoz Differential Revision: https://phab.enlightenment.org/D3081
2015-09-22edje: return immediately when deleting a color class if no users existMike Blumenkrantz
2015-09-22Ector software gradient: Fix cast from integer to pointer of wrong type.Tom Hacohen
When casting pointer<->int, always use uintptr_t, not just int. @fix
2015-09-22Edje_entry: emit "cursor,changed,manual" for Home/End/PgUp/PgDown.Mykyta Biliavskyi
Summary: The keys Home/End/PgUp/PgDown are changes the entry cursor position in the same way as arrow keys. For unified behavior callback "cursor,changed,manual", added emitting signal for those keys events. Reviewers: tasn, cedric, herdsman, thiepha Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D3055