If you have edje icons installed in your system (efreet smartly searches
the candidate icon based in your Icon= entry), they works correctly in
the menus, bar, etc... but doesn't works in the window borders icon,
this is because the code try's to add it without dealing with the .edj
extensions, probably attempting to load multiple image types and
returning some errors/warning, resulting in an empty icon in the window
borders
Fixes T6723
for objects without animations, it's important to instantly perform
state transitions in order to preserve intended visibility behaviors of
these objects and avoid race conditions due to asynchronous signal
processing
fix T6722
==19679== Invalid read of size 4
==19679== at 0x5CC90EF: _ecore_event_message_handler_handler_del (ecore_event_message_handler.c:194)
==19679== by 0x5CCA332: ecore_event_message_handler_del (ecore_event_message_handler.eo.c:22)
==19679== by 0x5CBC7E3: ecore_event_handler_del (ecore_events.c:51)
==19679== by 0x2A23F4F1: _batman_removed_cb (batman.c:579)
==19679== by 0x6A9A33D: _eo_evas_smart_cb (evas_object_smart.c:78)
==19679== by 0xC166F4D: _event_callback_call (eo_base_class.c:1560)
==19679== by 0xC16728E: _efl_object_event_callback_legacy_call (eo_base_class.c:1633)
==19679== by 0xC167334: efl_event_callback_legacy_call (eo_base_class.c:1636)
==19679== by 0x6A889CA: _efl_canvas_object_efl_object_event_callback_legacy_call (evas_object_main.c:1157)
==19679== by 0xC167334: efl_event_callback_legacy_call (eo_base_class.c:1636)
==19679== by 0x6A9CBA7: evas_object_smart_callback_call (evas_object_smart.c:1037)
==19679== by 0x500B1D: _gadget_remove (e_gadget.c:426)
==19679== by 0x5037A9: _gadget_menu_remove (e_gadget.c:1263)
==19679== by 0x552600: _e_menu_active_call (e_menu.c:2066)
==19679== by 0x55445E: _e_menu_cb_mouse_up (e_menu.c:2809)
==19679== by 0x5CC9933: _ecore_event_message_handler_efl_loop_message_handler_message_call (ecore_event_message_handler.c:359)
==19679== by 0x5CD31D1: efl_loop_message_handler_message_call (efl_loop_message_handler.eo.c:14)
==19679== by 0x5CCDA73: _efl_loop_message_process (efl_loop.c:681)
==19679== by 0x5CCDC64: efl_loop_message_process (efl_loop.c:711)
==19679== by 0x5CC7453: _ecore_main_loop_iterate_internal (ecore_main.c:2444)
==19679== by 0x5CC457E: _ecore_main_loop_begin (ecore_main.c:1173)
==19679== by 0x5CCC0CD: _efl_loop_begin (efl_loop.c:97)
==19679== by 0x5CCED13: efl_loop_begin (efl_loop.eo.c:50)
==19679== by 0x5CC46F7: ecore_main_loop_begin (ecore_main.c:1246)
==19679== by 0x5476B6: main (e_main.c:1092)
==19679== Address 0x212af268 is 40 bytes inside a block of size 48 free'd
==19679== at 0x4C30D18: free (vg_replace_malloc.c:530)
==19679== by 0x5CC9BE6: _ecore_event_message_handler_efl_loop_message_handler_message_call (ecore_event_message_handler.c:389)
==19679== by 0x5CD31D1: efl_loop_message_handler_message_call (efl_loop_message_handler.eo.c:14)
==19679== by 0x5CCDA73: _efl_loop_message_process (efl_loop.c:681)
==19679== by 0x5CCDC64: efl_loop_message_process (efl_loop.c:711)
==19679== by 0x5CC7453: _ecore_main_loop_iterate_internal (ecore_main.c:2444)
==19679== by 0x5CC457E: _ecore_main_loop_begin (ecore_main.c:1173)
==19679== by 0x5CCC0CD: _efl_loop_begin (efl_loop.c:97)
==19679== by 0x5CCED13: efl_loop_begin (efl_loop.eo.c:50)
==19679== by 0x5CC46F7: ecore_main_loop_begin (ecore_main.c:1246)
==19679== by 0x5476B6: main (e_main.c:1092)
==19679== Block was alloc'd at
==19679== at 0x4C31A1E: calloc (vg_replace_malloc.c:711)
==19679== by 0x5CC8EE1: _ecore_event_message_handler_handler_add (ecore_event_message_handler.c:148)
==19679== by 0x5CCA0FB: ecore_event_message_handler_add (ecore_event_message_handler.eo.c:14)
==19679== by 0x5CBC790: ecore_event_handler_add (ecore_events.c:35)
==19679== by 0x2A23FB87: _batman_created_cb (batman.c:661)
==19679== by 0x6A9A33D: _eo_evas_smart_cb (evas_object_smart.c:78)
==19679== by 0xC166F4D: _event_callback_call (eo_base_class.c:1560)
==19679== by 0xC16728E: _efl_object_event_callback_legacy_call (eo_base_class.c:1633)
==19679== by 0xC167334: efl_event_callback_legacy_call (eo_base_class.c:1636)
==19679== by 0x6A889CA: _efl_canvas_object_efl_object_event_callback_legacy_call (evas_object_main.c:1157)
==19679== by 0xC167334: efl_event_callback_legacy_call (eo_base_class.c:1636)
==19679== by 0x6A9CBA7: evas_object_smart_callback_call (evas_object_smart.c:1037)
==19679== by 0x501172: _gadget_object_create (e_gadget.c:548)
==19679== by 0x506B90: e_gadget_type_add (e_gadget.c:2056)
==19679== by 0x2A23CA44: sysinfo_init (mod.c:161)
==19679== by 0x2A23CCF5: e_modapi_init (mod.c:203)
==19679== by 0x556814: e_module_enable (e_module.c:524)
==19679== by 0x555DF9: e_module_all_load (e_module.c:324)
==19679== by 0x554EFF: _module_done_cb (e_module.c:73)
==19679== by 0x73531C1: eio_async_end (eio_file.c:510)
==19679== by 0x5CF8D67: _ecore_thread_kill (ecore_thread.c:229)
==19679== by 0x5CF8E1C: _ecore_thread_handler (ecore_thread.c:256)
==19679== by 0x5CB97D0: _ecore_main_call_flush (ecore.c:1090)
==19679== by 0x5CB9858: _thread_callback (ecore.c:1101)
==19679== by 0x5CF51F3: _ecore_pipe_handler_call (ecore_pipe.c:602)
==19679== by 0x5CF5529: _ecore_pipe_read (ecore_pipe.c:725)
==19679== by 0x5CC3677: _ecore_call_fd_cb (ecore_private.h:476)
==19679== by 0x5CC6793: _ecore_main_fd_handlers_call (ecore_main.c:2051)
==19679== by 0x5CC7414: _ecore_main_loop_iterate_internal (ecore_main.c:2439)
==19679== by 0x5CC457E: _ecore_main_loop_begin (ecore_main.c:1173)
==19679== by 0x5CCC0CD: _efl_loop_begin (efl_loop.c:97)
==19679== by 0x5CCED13: efl_loop_begin (efl_loop.eo.c:50)
==19679== by 0x5CC46F7: ecore_main_loop_begin (ecore_main.c:1246)
==19679== by 0x5476B6: main (e_main.c:1092)
in the case where a window does not place with the smart placement algorithm,
clamp position to the top-left available position within the useful geometry
so that the titlebar will always be visible
this seems to happen to @manmower in T6619. it may just be timing
changes that changed the start loop time to be at init of ecore maybe ...
but it was doing a forced hide and not a clean "done"
that animates/fades. so fix this along with deferring show until the
first render pre.
this fixes T6619