Mun, Gwan-gyeong [Tue, 13 Oct 2015 02:42:22 +0000 (11:42 +0900)]
e_comp_wl_data: fix null pointer dereference
Change-Id: Idcf7366155973730236d313ac08d68e7cfe70f70
Mun, Gwan-gyeong [Tue, 13 Oct 2015 02:27:21 +0000 (11:27 +0900)]
e_comp_wl_data: fix resource leaks
Change-Id: Ib2d05461fe012b7ba8c685ed766835d47e57226c
Boram Park [Tue, 13 Oct 2015 01:05:29 +0000 (10:05 +0900)]
e_comp_object: fix null pointer dereference
Change-Id: I7d53e30e8d4dc6b4484afca73173845d6b9697ff
Boram Park [Tue, 13 Oct 2015 00:55:02 +0000 (09:55 +0900)]
e_module: fix memory leak
Change-Id: I66f6d6ca14d38a4c293885927391bb2742d91347
Boram Park [Tue, 13 Oct 2015 00:54:50 +0000 (09:54 +0900)]
e_module: fix null pointer dereference
Change-Id: Ibcf3b5b998a3a27713de25626a4c62493a174fb9
Boram Park [Tue, 13 Oct 2015 00:53:03 +0000 (09:53 +0900)]
e_module: fix secure coding getenv
Change-Id: Icbe0902d82c4243399da6438b3c8ac293d564b28
Boram Park [Tue, 13 Oct 2015 00:52:22 +0000 (09:52 +0900)]
e_menu: fix null pointer dereference
Change-Id: I54935379af4eff54d80af3fcd6d0b39464264624
Boram Park [Tue, 13 Oct 2015 00:51:49 +0000 (09:51 +0900)]
e_main: fix secure coding getenv
Change-Id: I5cd9730430be577c277d6be87341ddacd745d6b2
Boram Park [Tue, 13 Oct 2015 00:16:53 +0000 (09:16 +0900)]
bufferqueue: fix null pointer dereference
Change-Id: Ibb01c1bddcd7225593b8916ed0db2f69e91c37a3
Boram Park [Tue, 13 Oct 2015 00:16:17 +0000 (09:16 +0900)]
bufferqueue: fix memory leak
Change-Id: I4bfcc20b9dd4ef6f2e5fc5e314287d4fcc8a99f4
Gwanglim Lee [Mon, 12 Oct 2015 12:48:10 +0000 (21:48 +0900)]
e_comp: fix null pointer dereference
Change-Id: I86787ac810e73132a701bad217aa405b4e08fb0b
Mun, Gwan-gyeong [Mon, 12 Oct 2015 13:20:25 +0000 (22:20 +0900)]
e_comp_wl: fixed null pointer dereference
Change-Id: I57d71f0b21349b56630b4544c766461f0416b3cf
MinJeong Kim [Mon, 12 Oct 2015 13:08:33 +0000 (22:08 +0900)]
e_info_client/server: fixed null dereference, using uninitialized value, resource leak
Change-Id: I06c22ea8b3e5f5c89df84618deae448a5852c5c0
MinJeong Kim [Mon, 12 Oct 2015 12:51:34 +0000 (21:51 +0900)]
e_config: fixed resource leak and out-of-bounds read
Change-Id: Ia91b78110896b4c6b730fca81c8df7dfccacf9e3
MinJeong Kim [Mon, 12 Oct 2015 12:05:33 +0000 (21:05 +0900)]
e_comp_canvas: fixed null pointer dereference
Change-Id: Ifdb4a1dbeafa3ad5e84a660953615350fd30a0c9
MinJeong Kim [Mon, 12 Oct 2015 11:59:13 +0000 (20:59 +0900)]
e_comp: fixed null dereferences
Change-Id: I6da981107a3681ccc19a6bd92aabbd498f30eabb
Mun, Gwan-gyeong [Mon, 12 Oct 2015 12:19:59 +0000 (21:19 +0900)]
e_client: fix memory illegal access
Change-Id: I07dbf5b72d09e07aeb764c1fe6cc66da691f0679
Mun, Gwan-gyeong [Mon, 12 Oct 2015 11:57:30 +0000 (20:57 +0900)]
e_client: fix null pointer dereference
Change-Id: I6527c9f67407f793d4a7149acef925b01fc2faef
Boram Park [Mon, 12 Oct 2015 10:57:51 +0000 (19:57 +0900)]
wl_screenshot: fix null pointer dereference
Change-Id: I1d35c115e0f207755f879f2454ee6cbe15fb38a3
Boram Park [Mon, 12 Oct 2015 10:57:29 +0000 (19:57 +0900)]
wl_drm: fix secure coding getenv
Change-Id: If1e3fb317d1c13ef454fc31c757ab12393e4d0b9
Boram Park [Mon, 12 Oct 2015 10:56:46 +0000 (19:56 +0900)]
wl_drm: fix null pointer dereference
Change-Id: I5fc150a379515062d8a358a6ad2671ef8cde738f
Boram Park [Mon, 12 Oct 2015 10:56:34 +0000 (19:56 +0900)]
wl_desktop_shell: fix null pointer dereference
Change-Id: I5c643f4a7ced843eec3b0b705ec3922f0edb8210
Boram Park [Tue, 6 Oct 2015 00:52:24 +0000 (09:52 +0900)]
e_comp_wl: not sending keyevents if vkbd grabs key inputs
Change-Id: I7ff829cbeb4af1e73f88e74e8d9cbeb0ffdc39e2
Gwanglim Lee [Mon, 12 Oct 2015 10:15:44 +0000 (19:15 +0900)]
e_comp: fix null pointer dereference
Change-Id: I695aae4862a99533dbebb7668cec0d9f2c2dab2f
Duna Oh [Tue, 22 Sep 2015 07:43:56 +0000 (16:43 +0900)]
e_comp_wl: add aux_hint to E_Comp_Wl_Client_Data
Change-Id: Ib4f3aca1d4df081877bd20161415c5f84acc2aa3
Signed-off-by: Duna Oh <duna.oh@samsung.com>
Boram Park [Mon, 14 Sep 2015 00:43:03 +0000 (09:43 +0900)]
replace 'tizen_buffer_pool' interface with 'wayland-tbm' library
Change-Id: I7228283397aac9a546a536137f33c602cb756a19
Duna Oh [Tue, 15 Sep 2015 02:44:31 +0000 (11:44 +0900)]
wl_shell: set accepts_focus value to 1 when get a toplevel_set
Toplevel windows should accept focus. Only then it can get keyboard events
Change-Id: Id9f9f8e2e137dd6f29888feeb881a603f43d5149
Signed-off-by: Duna Oh <duna.oh@samsung.com>
Boram Park [Sat, 12 Sep 2015 09:43:30 +0000 (18:43 +0900)]
removing ec from post_updates list when deleted.
When ec's ref_count is 0, _e_client_free() is called. However,
e_comp->post_updates has the reference of ec. So it doens't make
sense that _e_client_free calls e_comp_post_update_purge. To make
ec's ref_count 0, we should call e_comp_post_update_purge first.
Furthermore, we call e_comp_object_render_update_del(ec->frame)
in _e_client_del. So _e_client_del seems the proper position to
call e_comp_post_update_purge
Change-Id: I906101300dec08f7bf18f18428443efa47f7afec
Boram Park [Sat, 12 Sep 2015 09:36:27 +0000 (18:36 +0900)]
should decrease ec's ref_count when removing ec from post_updates
because we increase ec's ref_count when adding ec to post_updates.
Change-Id: I44e47edfc031ba93ce0b67be9e5ad689db5fc97b
Boram Park [Sat, 12 Sep 2015 09:30:37 +0000 (18:30 +0900)]
Decrease ec's ref_count also before decreasing cw->animating.
When we increase cw->animating, we always increase the ec's
ref_count. So we need to decrease ec's ref_count wherever
decreasing cw->animating.
Change-Id: Id43e5ccee6d04ee0e7df854a807b10a5459f2a41
SooChan Lim [Fri, 11 Sep 2015 02:11:12 +0000 (11:11 +0900)]
e_comp_wl_tbm : do not build when the configuration is x11
Change-Id: Ie1e5289754883fbb180678e3f673ea0948b59d27
Gwanglim Lee [Fri, 4 Sep 2015 10:12:05 +0000 (19:12 +0900)]
e_comp_wl: lining up columns of codes
Change-Id: Ia22e378575521c3df34549a0a8c4ac396ba3813e
SooChan Lim [Tue, 25 Aug 2015 14:35:47 +0000 (23:35 +0900)]
e_comp_wl_tbm: add e_comp_wl_tbm
first implementation for wayland-tbm server
Change-Id: I06c44fb9211efaba208a1537af3c17360f7797fd
Boram Park [Mon, 7 Sep 2015 01:50:10 +0000 (10:50 +0900)]
not creating damage for ec that shows a underlay video
Change-Id: I0a1aa92987088814319449a564137a753b540ad6
Boram Park [Thu, 3 Sep 2015 09:00:28 +0000 (18:00 +0900)]
should remove a frame resource from pending.frames list
Change-Id: If7287b232f48d66684d21f266f27f56407539a1a
Duna Oh [Tue, 1 Sep 2015 01:44:04 +0000 (10:44 +0900)]
fixes sticky cursors
- Add inside_check condition when gets MOUSE_OUT event
Even though ec->cur_mouse_action is not NULL, check if mouse is out of client and reset the cursor.
- Remove check for ec->mouse.in when get cursor_set.
ec->mouse.in could be FALSE when comp_grabbed is TRUE, then failed to set the client's cursor.
- Show canvas cursor when reset the cursor
Change-Id: I59430fd8c4d1b9fcd19dc6f92f00abb1156697b3
Signed-off-by: Duna Oh <duna.oh@samsung.com>
MinJeong Kim [Tue, 1 Sep 2015 06:27:13 +0000 (15:27 +0900)]
e_comp_wl: pull transformable window inside of canvas
pull transformable window inside of canvas when user tried to locate window
ouside of screen.
Change-Id: I7b4f1409d5539a8b4636bb4f7fae7dc5a0a4f88b
Signed-off-by: MinJeong Kim <minjjj.kim@samsung.com>
MinJeong Kim [Fri, 28 Aug 2015 09:59:56 +0000 (18:59 +0900)]
e_comp_object: use correct macro
Change-Id: I7e9aebf323ab1eb91dba2392747dc0bc5889ed48
Signed-off-by: MinJeong Kim <minjjj.kim@samsung.com>
MinJeong Kim [Fri, 28 Aug 2015 09:58:30 +0000 (18:58 +0900)]
e_client: unset transform if it has original factors
Change-Id: Ieba27d12a9a25161949ff6bd579c1890d5de030e
MinJeong Kim [Fri, 28 Aug 2015 09:33:04 +0000 (18:33 +0900)]
e_comp_wl: transform client object using mouse wheel
Change-Id: I085215501dafc5ec2df0341c48bb01ab73fb641d
Signed-off-by: MinJeong Kim <minjjj.kim@samsung.com>
Duna Oh [Wed, 26 Aug 2015 04:57:26 +0000 (13:57 +0900)]
e_comp_wl_input: Do not move the pointer when get a configure
When the pointer is mapped, The position of pointer is updated as current mouse position.
But after mapping, the pointer get a configure with previous x,y position (0,0).
Change-Id: I145e978d7f423773161aa0e7361e33b5836f9af8
Signed-off-by: Duna Oh <duna.oh@samsung.com>
MinJeong Kim [Tue, 25 Aug 2015 11:10:50 +0000 (20:10 +0900)]
Fixed to render image with previous size
Set size of image object to new buffer size when new buffer resource be
set. This patch fixes a problem to draw image object with size of previous
buffer that not rendered.
The problem mentioned above is derived from current buffer management process.
because the process doesn't ensure to render all committed buffer, it means
there are buffers never rendered(even if those buffers changes size of image
object already it's possible to be skip rendering). In the future, new process
is considerable that manage new attached buffer resources with pending list
if previous buffer is not rendered yet to resolve the skip problem.
Change-Id: Ia4bc7296c9770a1a2a28f7872f1c7ef1225a712b
Signed-off-by: MinJeong Kim <minjjj.kim@samsung.com>
Boram Park [Tue, 25 Aug 2015 08:29:12 +0000 (17:29 +0900)]
e_comp_object: fix infinite loop during resizing a smart object.
If wl_surface han no wl_buffer, reszing a comp smart object occurs
infinite loop. In wayland, when a wl_buffer is attached to a surface,
e_client_util_move_resize_without_frame will be called in _e_comp_wl_
surface_state_commit. And it makes sure that ec and ec->frame have
correct size.
Change-Id: I9c3540c94baa0b1f22b0732650f8cee63c3c4d59
Boram Park [Mon, 24 Aug 2015 07:58:45 +0000 (16:58 +0900)]
e_drm_buffer: creating a wl_buffer resource before referencing a tizen_buffer in backend side
Change-Id: I614b2e168745c95aebd6b4d5a70cd338491680fc
Boram Park [Sat, 22 Aug 2015 09:20:39 +0000 (18:20 +0900)]
e_comp_wl: set parent's layer to subsurface
Change-Id: If2e6c7dd0b5395f523d0d6d584805b46d192c3d1
Boram Park [Sat, 22 Aug 2015 06:49:18 +0000 (15:49 +0900)]
apply map to subsurface and black bg_rect also
Change-Id: I13e6763144a36e2cfc4c7827cfc11b2ead05e8a0
Boram Park [Sat, 22 Aug 2015 06:46:42 +0000 (15:46 +0900)]
move below subsurfaces when parent ec is moved
Change-Id: I715525ebe3b95295f04c88924aefaa9ebf519743
MinJeong Kim [Fri, 21 Aug 2015 11:39:44 +0000 (20:39 +0900)]
e_client: move transformed client using right center postion
Change-Id: I29b55fe3a6d95a9c57e4efff4c3ee83b3be06123
Signed-off-by: MinJeong Kim <minjjj.kim@samsung.com>
MinJeong Kim [Fri, 21 Aug 2015 05:30:15 +0000 (14:30 +0900)]
e_client: added transform APIs
Change-Id: I684aee7ed034e3819bbfeb9611940335cfc62e21
Signed-off-by: MinJeong Kim <minjjj.kim@samsung.com>
Boram Park [Wed, 19 Aug 2015 02:17:28 +0000 (11:17 +0900)]
show below_bg_rectangle if ec->frame is already mapped
Change-Id: Iac16149f9e71e014830a65ac707fec68a6cc5ca8
Gwanglim Lee [Tue, 18 Aug 2015 04:42:59 +0000 (13:42 +0900)]
e_comp_wl: fixed build warning
Change-Id: Id83c1454f2526ed842328046dd4a690d7c8c5a22
MinJeong Kim [Tue, 18 Aug 2015 01:59:49 +0000 (10:59 +0900)]
demo: transform with zoommed object
Change-Id: I44ff1e3d8247f36a17a72372c4d97316538bc13e
Signed-off-by: MinJeong Kim <minjjj.kim@samsung.com>
Duna Oh [Mon, 17 Aug 2015 08:25:03 +0000 (17:25 +0900)]
Demo: recalculate x, y position when resizing(w/ transformed) ends
Change-Id: I6886688f6eb2f1a8683d62db967c9cd6a04afad7
Signed-off-by: Duna Oh <duna.oh@samsung.com>
Gwanglim Lee [Sat, 15 Aug 2015 13:52:49 +0000 (22:52 +0900)]
e_comp: added new E_EVENT_COMPOSITOR_FPS_UPDATE event type
Change-Id: I4f36c584a024847bc9359f1e83be6dd0b15d1004
MinJeong Kim [Sat, 15 Aug 2015 06:42:04 +0000 (15:42 +0900)]
Demo: sync size of transform object with new commited buffer
Change-Id: I2cba64a6f9e9d609d7df519c82a196269ee33dd3
Signed-off-by: MinJeong Kim <minjjj.kim@samsung.com>
Boram Park [Fri, 14 Aug 2015 04:48:31 +0000 (13:48 +0900)]
send x,y pos in surface-relative coordinate
Change-Id: I5cae6f76c18b6139362cb3f12664fae4971e45cd
Duna Oh [Fri, 14 Aug 2015 02:15:41 +0000 (11:15 +0900)]
e_comp_wl_input: resize cursor's geometry when get a configure
Change-Id: I63d8a1855e4bd8967c49360971a0e9ef57a8f7fa
Signed-off-by: Duna Oh <duna.oh@samsung.com>
Gwanglim Lee [Wed, 12 Aug 2015 13:29:36 +0000 (22:29 +0900)]
e_client: refacto function for visibility calculation
and fix focus problem that top visible window can't get focused.
Change-Id: I0607a5efcbf8dca4dd16a1b936d0e778ae0562b5
MinJeong Kim [Wed, 12 Aug 2015 02:35:05 +0000 (11:35 +0900)]
e_pointer: check cursor whether it is by client or not
Change-Id: I4ec68dd1abde798650377ae571e3efb726d4d151
Signed-off-by: MinJeong Kim <minjjj.kim@samsung.com>
MinJeong Kim [Tue, 11 Aug 2015 09:01:45 +0000 (18:01 +0900)]
e_pointer: do not set type for resize mode
If there is a cursor which is set by client, to switch cursor for new resize
mode is also client's role.
Change-Id: I8a9ad9b77d93ba6ece2a91ad6efb1bb0bd8399d9
Signed-off-by: MinJeong Kim <minjjj.kim@samsung.com>
MinJeong Kim [Tue, 11 Aug 2015 05:06:07 +0000 (14:06 +0900)]
Demo: fixed unwanted move while transformed client is resizing
Change-Id: I7a1334d5c1be0055e0c721e03dba0dfd0e8631a0
Signed-off-by: MinJeong Kim <minjjj.kim@samsung.com>
Duna Oh [Tue, 11 Aug 2015 01:15:54 +0000 (10:15 +0900)]
Demo: Do not transform_unset during transforming(mouse draged)
Change-Id: Ica57fffcb5961d0766aa98a304f271081fd7a2a5
Signed-off-by: Duna Oh <duna.oh@samsung.com>
MinJeong Kim [Mon, 10 Aug 2015 12:56:09 +0000 (21:56 +0900)]
Demo: support mouse move for resizing transformed client
Change-Id: I07a960572822208ffac6fe750f4a86d1fd2b3ca9
Signed-off-by: MinJeong Kim <minjjj.kim@samsung.com>
Duna Oh [Mon, 10 Aug 2015 12:48:13 +0000 (21:48 +0900)]
Demo: apply transform_set from zero degree not from transformed degree
Change-Id: Ief614107b41ce0245b173a427ee664e31c8829de
Signed-off-by: Duna Oh <duna.oh@samsung.com>
Boram Park [Mon, 10 Aug 2015 08:20:46 +0000 (17:20 +0900)]
remove subc from subsurface list of parent when subc destoryed
Change-Id: Iedc5ab225da7940f35d67b41c0794ea554b90512
Boram Park [Mon, 10 Aug 2015 05:08:41 +0000 (14:08 +0900)]
if no e_demo ec, give focus to the topmost ec
Change-Id: I044bb1ff9bd630ca7febec5e9ca855ac3272e87c
MinJeong Kim [Mon, 10 Aug 2015 04:01:12 +0000 (13:01 +0900)]
Demo: sync size and position
Change-Id: I4f0a1efbbb0cbd9b8cbc0f420bb77b17f82fa14c
Signed-off-by: MinJeong Kim <minjjj.kim@samsung.com>
MinJeong Kim [Mon, 10 Aug 2015 03:39:59 +0000 (12:39 +0900)]
e_client: use appropriate coordinate to set resize mode
Change-Id: I9a8376b64e5feaafd29b6c231f9f4bd4883bc213
Signed-off-by: MinJeong Kim <minjjj.kim@samsung.com>
Duna Oh [Mon, 10 Aug 2015 02:28:00 +0000 (11:28 +0900)]
Demo: apply transform_set when drags mouse (pressed and moved)
Change-Id: I31d7f51b2bbd60a9a0f0a32ec0ae7c76fbe6a933
Signed-off-by: Duna Oh <duna.oh@samsung.com>
Boram Park [Mon, 10 Aug 2015 02:35:25 +0000 (11:35 +0900)]
create below_bg_rectangle object if ec is "video" window
Without subsurface, there is a problem that we can see below-window
through video window.
Change-Id: Iff029c753b583f49e0c484543d512d3b50f6ba4c
MinJeong Kim [Sat, 8 Aug 2015 08:46:12 +0000 (17:46 +0900)]
Demo: use stored output x, y position instead of transformed position
Change-Id: I9777b16e2a78a7a792946b00d7b7cfb6be78ff61
Signed-off-by: MinJeong Kim <minjjj.kim@samsung.com>
Gwanglim Lee [Sat, 8 Aug 2015 07:43:41 +0000 (16:43 +0900)]
demo: modified transformed x, y position in output coordinate, not canvas coordinate only if transform is enabled
Change-Id: Ia81245541792222fe387239aab8241701a0f8565
Gwanglim Lee [Sat, 8 Aug 2015 07:15:45 +0000 (00:15 -0700)]
Revert " Demo: modified transformed x, y position in output coordinate, not canvas coordinate"
This reverts commit
c09a6ffc94dec1905e3ca6a8c17583ef32bda6a3.
Change-Id: Ifd9c5a64ad7efd3da858e96cea90b4df1cf9ff51
Gwanglim Lee [Sat, 8 Aug 2015 07:14:28 +0000 (00:14 -0700)]
Merge " Demo: modified transformed x, y position in output coordinate, not canvas coordinate" into tizen
Boram Park [Sat, 8 Aug 2015 07:01:23 +0000 (16:01 +0900)]
not giving focus automatically to e_demo window when moving mouse
Change-Id: I3ff64064a4ca4dbd35f81fb4f1facf2832d16346
Duna Oh [Sat, 8 Aug 2015 06:23:27 +0000 (15:23 +0900)]
Demo: modified transformed x, y position in output coordinate, not canvas coordinate
Change-Id: Id4ac12e9d36bfbcc62007d74fa4ee45f33c032cb
Signed-off-by: Duna Oh <duna.oh@samsung.com>
Boram Park [Fri, 7 Aug 2015 08:07:14 +0000 (17:07 +0900)]
add opaque_state to support efl_util_set_window_opaque_state()
Change-Id: I2eca25ad7752938981eb231cb6bb93b4e434731f
Duna Oh [Fri, 7 Aug 2015 03:54:39 +0000 (12:54 +0900)]
Demo: get the current Evas_Map and apply 30 degree rotation each time
Change-Id: I629f2901b4a2a5fcf5c3f3fd9f9d5ff592c1a835
Signed-off-by: Duna Oh <duna.oh@samsung.com>
Boram Park [Fri, 7 Aug 2015 02:25:10 +0000 (11:25 +0900)]
unset alpha to HW underlay video e_client.
Change-Id: I5f2e6084d714e81298e3f257c5d2de637c129761
MinJeong Kim [Thu, 6 Aug 2015 02:19:34 +0000 (11:19 +0900)]
Demo: added transform protocol for transform(rotator) mode
Change-Id: I473569f40201202cd859dad5188960090c7f3d2d
Gwanglim Lee [Wed, 5 Aug 2015 23:41:33 +0000 (08:41 +0900)]
e_log: changed e_log_dom to be exported
Change-Id: I9c32fb32a9a8bc3da238f2c19f043023efa1c1ff
MinJeong Kim [Wed, 5 Aug 2015 05:52:29 +0000 (14:52 +0900)]
e_client: added E_Transient to support various transient_fortype
- The enum E_Transient indicates transient_for type.
E_TRANSIENT_ABOVE : stack a client above its parent
E_TRANSIENT_BELOW : stack a client below its parent
- Restack transients with transient_policy
Change-Id: I433927c7504f46bc13ac2a68fa380581e170fcfd
Signed-off-by: MinJeong Kim <minjjj.kim@samsung.com>
Gwanglim Lee [Wed, 5 Aug 2015 06:06:22 +0000 (15:06 +0900)]
e_log: added ELOG and ELOGF macros to support formatted log message
Change-Id: I55929316156846d3d51d5188e0bdcdfcf02b1d81
Boram Park [Mon, 3 Aug 2015 08:37:24 +0000 (17:37 +0900)]
e_comp_wl: check if ec is destroyed
Change-Id: Id0e0afff18d042b5370349f3aadf0718fec4b59b
Boram Park [Mon, 3 Aug 2015 03:38:41 +0000 (12:38 +0900)]
remove tizen_surface_extension protocol
Change-Id: I456d49f87eeb5263e6c525977e1dd8550f6aa2ed
Boram Park [Mon, 3 Aug 2015 03:29:10 +0000 (12:29 +0900)]
remove tizen_transient_for protocol
Change-Id: If3fce63c871bb725275b1b12fadea1affb0c88cf
Boram Park [Mon, 3 Aug 2015 01:39:16 +0000 (10:39 +0900)]
remove tizen_subsurface protocol
Change-Id: I1c726b6e62c2edbfee90badedcfee05e026d8d1c
MinJeong Kim [Thu, 30 Jul 2015 05:51:24 +0000 (14:51 +0900)]
e_comp_wl: use buffer resource as hash key instead of resource id
- Use buffer resource pointer as key of hash table for client - buffer
pair
- Ref/Unref e_client when the e_client is added to hash table first time
and when the e_client is removed from hash table.
Change-Id: I157139e9a5f96977a7af421dc5f4128eb42f9ddd
Signed-off-by: MinJeong Kim <minjjj.kim@samsung.com>
MinJeong Kim [Wed, 29 Jul 2015 05:58:43 +0000 (14:58 +0900)]
e_comp_wl: clear comp object immediately instead of unref e_client
When a buffer of deleted e_client destroied, it has unrefed e_client and freed
e_client. but if there remains some action using the e_client such as ecore
event, it's able to try to use e_client which is freed before. for example, if
the event free function is called after buffer destroy, it will try to unref
e_client which is freed already.
For prevent those problem, it's desirable to clear comp object immediately
insted of to unref e_client.
related patch:
feaa183a35fbbae4fcf6b9cf27eaee3e7432db73
Change-Id: I47c971b5ae1d1a5ff3a6c11bb5e80ad21c9b9224
Signed-off-by: MinJeong Kim <minjjj.kim@samsung.com>
MinJeong Kim [Wed, 29 Jul 2015 06:20:02 +0000 (15:20 +0900)]
Revert "e_client: check hash before unref ec"
This reverts commit
fa3ae0605597110357dc7f1a6bc20fbf087133ae.
Change-Id: I5fd77ec3c58c7d789b7379e3331a7f5d547249b0
Gwanglim Lee [Tue, 28 Jul 2015 11:31:06 +0000 (20:31 +0900)]
e_comp: add post_update add/purge funcs to fix refcounting for e_client
Change-Id: Ic97b5865a830568d270a5d2ff048bae2f8eff06b
MinJeong Kim [Tue, 28 Jul 2015 07:14:26 +0000 (16:14 +0900)]
e_client: check hash before unref ec
Change-Id: I1e4c79ce8c9e8bfeaf3f53e3f2654fae03bd6022
Signed-off-by: MinJeong Kim <minjjj.kim@samsung.com>
Gwanglim Lee [Mon, 27 Jul 2015 14:44:14 +0000 (23:44 +0900)]
fix build warnings
Change-Id: I46cdf4941a40cc6266777078dfc88707e43cda8d
Gwanglim Lee [Mon, 27 Jul 2015 14:40:31 +0000 (23:40 +0900)]
e_client: fix refcounting for e_client to fix memory corruption.
double-free error has occurred while freeing e_client in _e_client_free.
e_object_unref(ec)
-> _e_client_free(ec)
-> evas_object_del(ec->frame)
-> _e_comp_object_intercept_hook_call -> e_object_ref(ec)
-> _e_comp_object_intercept_hook_call -> e_object_unref(ec) -> _e_client_free -> free
-> free: double-free
to resolve this problem, we add reference count inc/dec codes to _e_client_free.
Change-Id: I8b2beaa0c4b2882c6421db0bbe0f00e38d3defee
Gwanglim Lee [Mon, 27 Jul 2015 14:14:44 +0000 (23:14 +0900)]
e_comp_wl: remove all e_client elements from post_updates list before adding it
Change-Id: Id3ffa99d8477821d7df92a405781753446a2d5b1
MinJeong Kim [Thu, 23 Jul 2015 10:16:22 +0000 (19:16 +0900)]
e_test_helper: use resource id instead of window id
Change-Id: I1fd0c8e7c868e7e43f3f033c69359575cd591dbd
Signed-off-by: MinJeong Kim <minjjj.kim@samsung.com>
MinJeong Kim [Thu, 23 Jul 2015 05:43:35 +0000 (14:43 +0900)]
e_pixmap: manage deleted pixmap hash table for some pixmaps that will be freed soon
when enlightenment try to create new e_pixmap, e_pixmap hash table is checked
first with surface resource id as a hash key. if there is a pixmap data that
was registered by given key, e_pixmap is NOT newly created but its reference
count is just increased.
This mechanism can generate problem when more than two successive surface
resources are allocated same address. enlightenment have delayed free of e_pixmap
because there are a lot of thing to do before the pixmap is freed. so interval
between removal of a e_pixmap for previous surface resource and creation of
e_pixmap for next surface resource can be made. When the interval is
made and latest surface resource is allocated same address with previous
surface resource, latest surface resource fails to create new e_pixmap
and it will use e_pixmap for previous surface and it can cause abuse of
memory.
To fix this problem, hash table for deleted pixmap is newly added.
Change-Id: I54ead4101210e3dda75d03d18a1e3e840dd8813b
Signed-off-by: MinJeong Kim <minjjj.kim@samsung.com>
Gwanglim Lee [Thu, 23 Jul 2015 06:46:30 +0000 (15:46 +0900)]
e_client: remove e_client from e_comp's render post list when freeing.
This prevents double-free error on _e_comp_canvas_render_post if ec remains
in e_comp's post_updates list even if it was deleted.
Change-Id: I2e3be9a667ca4590bc2e5587fa963034c5b57cd9
Boram Park [Thu, 23 Jul 2015 04:31:51 +0000 (13:31 +0900)]
fix build break for x11
Change-Id: I3a141ac582f72676e0b35ee983868bd6f20f20fc
Boram Park [Thu, 23 Jul 2015 03:34:06 +0000 (12:34 +0900)]
check if cdata is NULL
Change-Id: Iff905872bf5c8d8dbd7450d4158aecfb2cb55b10