forked from enlightenment/enlightenment
hide wl clients before deleting them on surface destroy
==13853== Invalid read of size 8 ==13853== at 0x5C7C56: _e_comp_wl_surface_destroy (e_comp_wl.c:1804) ==13853== by 0xA999971: destroy_resource (wayland-server.c:611) ==13853== by 0xA9A06F4: for_each_helper (wayland-util.c:374) ==13853== by 0xA9A073F: wl_map_for_each (wayland-util.c:387) ==13853== by 0xA999C87: wl_client_destroy (wayland-server.c:763) ==13853== by 0xA999216: wl_client_connection_data (wayland-server.c:283) ==13853== by 0xA99C2B0: wl_event_source_fd_dispatch (event-loop.c:90) ==13853== by 0xA99CC11: wl_event_loop_dispatch (event-loop.c:423) ==13853== by 0xA787AC0: _cb_create_data (ecore_wl2_display.c:272) ==13853== by 0xDBE984D: _ecore_call_fd_cb (ecore_private.h:333) ==13853== by 0xDBEC01B: _ecore_main_fd_handlers_call (ecore_main.c:1992) ==13853== by 0xDBEC8A9: _ecore_main_loop_iterate_internal (ecore_main.c:2379) ==13853== by 0xDBEA672: ecore_main_loop_begin (ecore_main.c:1292) ==13853== by 0x441DA9: main (e_main.c:1089) ==13853== Address 0x30ba5d90 is 176 bytes inside a block of size 1,424 free'd ==13853== at 0x4C2ED4A: free (vg_replace_malloc.c:530) ==13853== by 0x4603D6: _e_client_free (e_client.c:588) ==13853== by 0x5475A8: e_object_free (e_object.c:119) ==13853== by 0x5477C4: e_object_unref (e_object.c:152) ==13853== by 0x5473D7: e_object_del (e_object.c:60) ==13853== by 0x5C7C51: _e_comp_wl_surface_destroy (e_comp_wl.c:1803) ==13853== by 0xA999971: destroy_resource (wayland-server.c:611) ==13853== by 0xA9A06F4: for_each_helper (wayland-util.c:374) ==13853== by 0xA9A073F: wl_map_for_each (wayland-util.c:387) ==13853== by 0xA999C87: wl_client_destroy (wayland-server.c:763) ==13853== by 0xA999216: wl_client_connection_data (wayland-server.c:283) ==13853== by 0xA99C2B0: wl_event_source_fd_dispatch (event-loop.c:90) ==13853== by 0xA99CC11: wl_event_loop_dispatch (event-loop.c:423) ==13853== by 0xA787AC0: _cb_create_data (ecore_wl2_display.c:272) ==13853== by 0xDBE984D: _ecore_call_fd_cb (ecore_private.h:333) ==13853== by 0xDBEC01B: _ecore_main_fd_handlers_call (ecore_main.c:1992) ==13853== by 0xDBEC8A9: _ecore_main_loop_iterate_internal (ecore_main.c:2379) ==13853== by 0xDBEA672: ecore_main_loop_begin (ecore_main.c:1292) ==13853== by 0x441DA9: main (e_main.c:1089) ==13853== Block was alloc'd at ==13853== at 0x4C2FA50: calloc (vg_replace_malloc.c:711) ==13853== by 0x5471A4: e_object_alloc (e_object.c:20) ==13853== by 0x467AD5: e_client_new (e_client.c:2596) ==13853== by 0x5C7F11: _e_comp_wl_compositor_cb_surface_create (e_comp_wl.c:1858) ==13853== by 0xADBDC57: ffi_call_unix64 (in /usr/lib64/libffi.so.6.0.2) ==13853== by 0xADBD6B9: ffi_call (in /usr/lib64/libffi.so.6.0.2) ==13853== by 0xA99EEED: wl_closure_invoke (connection.c:935) ==13853== by 0xA999581: wl_client_connection_data (wayland-server.c:371) ==13853== by 0xA99C2B0: wl_event_source_fd_dispatch (event-loop.c:90) ==13853== by 0xA99CC11: wl_event_loop_dispatch (event-loop.c:423) ==13853== by 0xA787AC0: _cb_create_data (ecore_wl2_display.c:272) ==13853== by 0xDBE984D: _ecore_call_fd_cb (ecore_private.h:333) ==13853== by 0xDBEC01B: _ecore_main_fd_handlers_call (ecore_main.c:1992) ==13853== by 0xDBEC8A9: _ecore_main_loop_iterate_internal (ecore_main.c:2379) ==13853== by 0xDBEA672: ecore_main_loop_begin (ecore_main.c:1292) ==13853== by 0x441DA9: main (e_main.c:1089)
This commit is contained in:
parent
4f267f8090
commit
bb30294f66
|
@ -1759,9 +1759,13 @@ _e_comp_wl_surface_destroy(struct wl_resource *resource)
|
|||
ec->ignored = 1;
|
||||
if (!e_object_is_del(E_OBJECT(ec)))
|
||||
ec->comp_data->mapped = EINA_FALSE;
|
||||
evas_object_hide(ec->frame);
|
||||
}
|
||||
else
|
||||
{
|
||||
evas_object_hide(ec->frame);
|
||||
e_object_del(E_OBJECT(ec));
|
||||
}
|
||||
else e_object_del(E_OBJECT(ec));
|
||||
evas_object_hide(ec->frame);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
Loading…
Reference in New Issue