Commit Graph

99 Commits

Author SHA1 Message Date
Mike Blumenkrantz 1f0bed7e0b check ec pointer before deref in luncher's E_EVENT_EXEC_DEL handler
a deleted exe is unlikely to have clients

fix T5599
2017-06-30 10:25:18 -04:00
Mike Blumenkrantz a441d4d22a do not advertise luncher grid or sysinfo for gadget sites with orient
these are only feasible for non-bar sites
2017-06-23 17:49:43 -04:00
Mike Blumenkrantz b98854b17b remove client callback from luncher icon when necessary
==20443== Invalid read of size 8
==20443==    at 0x28CED526: _bar_exec_new_show (bar.c:980)
==20443==    by 0x819D78D: _eo_evas_object_cb (evas_callbacks.c:184)
==20443==    by 0xDFB6FED: _event_callback_call (eo_base_class.c:1496)
==20443==    by 0xDFB7373: _efl_object_event_callback_legacy_call (eo_base_class.c:1569)
==20443==    by 0xDFB743A: efl_event_callback_legacy_call (eo_base_class.c:1572)
==20443==    by 0x81DC562: _efl_canvas_object_efl_object_event_callback_legacy_call (evas_object_main.c:993)
==20443==    by 0xDFB743A: efl_event_callback_legacy_call (eo_base_class.c:1572)
==20443==    by 0x819E1F8: evas_object_event_callback_call (evas_callbacks.c:404)
==20443==    by 0x81E6B23: evas_object_inform_call_show (evas_object_inform.c:13)
==20443==    by 0x81DECA2: _show (evas_object_main.c:1689)
==20443==    by 0x81DF0E7: _efl_canvas_object_efl_gfx_visible_set (evas_object_main.c:1810)
==20443==    by 0xDD670B9: efl_gfx_visible_set (efl_gfx.eo.c:21)
==20443==    by 0x81DEA93: evas_object_show (evas_object_main.c:1639)
==20443==    by 0x483706: _e_comp_intercept_show_helper (e_comp_object.c:1754)
==20443==    by 0x483761: _e_comp_intercept_show (e_comp_object.c:1768)
==20443==    by 0x81E7536: evas_object_intercept_call_show (evas_object_intercept.c:71)
==20443==    by 0x81E7ED2: _evas_object_intercept_call_internal (evas_object_intercept.c:103)
==20443==    by 0x81E88B0: _evas_object_intercept_call_evas (evas_object_intercept.c:236)
==20443==    by 0x81DF0CA: _efl_canvas_object_efl_gfx_visible_set (evas_object_main.c:1807)
==20443==    by 0xDD670B9: efl_gfx_visible_set (efl_gfx.eo.c:21)
==20443==    by 0x81DEA93: evas_object_show (evas_object_main.c:1639)
==20443==    by 0x4A6793: _e_desk_show_begin (e_desk.c:821)
==20443==    by 0x4A4E39: e_desk_show (e_desk.c:312)
==20443==    by 0x537C2E: _e_int_menus_clients_item_cb (e_int_menus.c:1624)
==20443==    by 0x548D3F: _e_menu_active_call (e_menu.c:2056)
==20443==    by 0x54ABFB: _e_menu_cb_mouse_up (e_menu.c:2789)
==20443==    by 0xC636B66: _ecore_call_handler_cb (ecore_private.h:325)
==20443==    by 0xC637B3F: _ecore_event_call (ecore_events.c:518)
==20443==    by 0xC641158: _ecore_main_loop_iterate_internal (ecore_main.c:2397)
==20443==    by 0xC63EC7E: ecore_main_loop_begin (ecore_main.c:1299)
==20443==    by 0x43DE81: main (e_main.c:1081)
==20443==  Address 0x20 is not stack'd, malloc'd or (recently) free'd
2017-06-09 20:18:13 -04:00
Mike Blumenkrantz b76972b162 remove misleading null checks from _bar_cb_client_remove()
client events cannot be triggered without a client
2017-06-09 20:18:13 -04:00
Mike Blumenkrantz f16df40d2b use correct event struct in luncher's _bar_cb_client_remove() 2017-06-09 20:18:13 -04:00
Mike Blumenkrantz ca1638c672 simplify handling of new exec clients when adding luncher icons 2017-06-09 20:18:13 -04:00
Mike Blumenkrantz afcf6c6073 simplify _bar_check_for_duplicates() in luncher 2017-06-09 20:18:13 -04:00
Stephen 'Okra' Houston 16c05faabd Luncher: Allow the size of previews to be configurable. 2017-06-09 14:21:12 -05:00
Stephen 'Okra' Houston 456e899b44 Luncher: make sure all global handlers get created -- check for different luncher types in the callbacks. 2017-05-22 13:28:51 -05:00
Stephen 'Okra' Houston 171686f0a9 Luncher Improvements: Don't add multiple global handlers for the same events and don't show preview immediately for iconic.
This fixes T5377
2017-05-22 13:01:12 -05:00
Stephen 'Okra' Houston b539171077 Luncher: Make transitions such as engage smoother by including the icon spacers in events. 2017-04-28 15:15:22 -05:00
Stephen 'Okra' Houston b302f1047c Luncher: Make current preview tracking per instance. 2017-04-27 15:14:30 -05:00
Stephen 'Okra' Houston c470a4fc33 Luncher: Improve sizing, animations (including engage), and the functionality of a bar on the desktop. 2017-04-27 15:02:47 -05:00
Stephen 'Okra' Houston b09e17baae Luncher - Set an icon to inactive when the preview is dismissed as well as on mouse out. 2017-04-26 13:21:08 -05:00
Stephen 'Okra' Houston 33bc90da6a Luncher: Improve mouse in/preview management and fix luncher bar on the desktop. 2017-04-26 13:10:55 -05:00
Stephen 'Okra' Houston 2ef7a12441 Luncher: Show previews on client creation if the point is inside of the corresponding icon. Pass events on popups once they are deleted.
This fixes the issue where you will have to mouse out then mouse in again to be able to see previews on icons that you just clicked to start.
2017-04-26 11:53:27 -05:00
Andy Williams d99fe0e02a luncher: Fix some wobble 2017-03-16 23:02:28 +00:00
Stephen 'Okra' Houston d65945d1cd Luncher: Show the preview popup based on icon placement. 2017-03-13 20:59:44 -05:00
Stephen 'Okra' Houston 8d07ad7845 Luncher: Don't try to perform aspect set on a deleted bar. 2017-03-13 17:40:43 -05:00
Stephen 'Okra' Houston 4549bf2f77 Luncher: Reset scale on mouse out or new effect. 2017-03-13 13:17:00 -05:00
Andy Williams f68b8f1567 luncher: Smoothing animations 2017-03-11 23:12:57 +00:00
Andy Williams 28e5b5e82b luncher: update aspect ratio calculations
@fix
2017-03-10 22:16:49 +00:00
Mike Blumenkrantz 701e046b0b clear luncher instance icons on bar deletion
==21266== 3,488 (96 direct, 3,392 indirect) bytes in 2 blocks are definitely lost in loss record 10,417 of 10,680
==21266==    at 0xE1E5D49: _eina_chained_mempool_alloc_in (eina_chained_mempool.c:212)
==21266==    by 0xE1E5FDC: eina_chained_mempool_malloc (eina_chained_mempool.c:324)
==21266==    by 0xE1A016E: eina_mempool_malloc (eina_inline_mempool.x:90)
==21266==    by 0xE1A03C2: _eina_list_mempool_list_new (eina_list.c:222)
==21266==    by 0xE1A11C5: eina_list_append (eina_list.c:578)
==21266==    by 0x2910B667: _bar_fill (bar.c:1565)
==21266==    by 0x2910D1A5: _bar_recalculate_job (bar.c:2047)
==21266==    by 0xC602C2C: _ecore_job_event_handler (ecore_job.c:98)
==21266==    by 0xC5FBBCE: _ecore_call_handler_cb (ecore_private.h:317)
==21266==    by 0xC5FCB5D: _ecore_event_call (ecore_events.c:518)
==21266==    by 0xC605EEB: _ecore_main_loop_iterate_internal (ecore_main.c:2381)
==21266==    by 0xC603C99: ecore_main_loop_begin (ecore_main.c:1289)
==21266==    by 0x43DD0D: main (e_main.c:1089)
2017-03-10 15:55:42 -05:00
Stephen 'Okra' Houston 9b211b80c3 Luncher: Begin work to handle engage sizing correctly. 2017-03-08 18:21:15 -06:00
Stephen 'Okra' Houston 2847c24e69 Luncher: Check popup status on the correct client. 2017-02-28 11:01:06 -06:00
Stephen 'Okra' Houston 7d0cfacb80 Luncher: Check for popups when determining clients to add to the tasks. 2017-02-28 10:08:44 -06:00
Stephen 'Okra' Houston 2ef2c37062 Luncher: Add config options to function only as a launcher, only as a taskbar, or as both. 2017-02-27 20:57:18 -06:00
Stephen 'Okra' Houston 3ce76c66d2 Luncher: Unify icon image file setting code. 2017-02-22 11:05:55 -06:00
Marcel Hollerbach bcea889340 luncher: null out the watchter when the watcher is stopped
before a exec instance is freed all the watchers are stopped, so we
should NULL the watcher out here.

fixes T4963
2017-02-18 17:31:29 +01:00
Marcel Hollerbach 09091bb133 luncher: fix hash table usage
... OKRA!

the hash tables wants a pointer to a pointer. Not just a pointer.

fix T4970
2017-02-18 13:20:31 +01:00
Mike Blumenkrantz 3d3e5e67fb plug list leak in luncher
==25839== 8,576 (6,432 direct, 2,144 indirect) bytes in 134 blocks are definitely lost in loss reco$
==25839==    at 0xE812A41: _eina_chained_mempool_alloc_in (eina_chained_mempool.c:212)
==25839==    by 0xE812CD4: eina_chained_mempool_malloc (eina_chained_mempool.c:324)
==25839==    by 0xE7CCFED: eina_mempool_malloc (eina_inline_mempool.x:90)
==25839==    by 0xE7CD241: _eina_list_mempool_list_new (eina_list.c:213)
==25839==    by 0xE7CE044: eina_list_append (eina_list.c:569)
==25839==    by 0x29E2CF07: _bar_check_for_duplicates (bar.c:58)
==25839==    by 0x29E30D7F: _bar_cb_exec_client_prop (bar.c:1281)
==25839==    by 0xDBD7AF6: _ecore_call_handler_cb (ecore_private.h:317)
==25839==    by 0xDBD8A85: _ecore_event_call (ecore_events.c:518)
==25839==    by 0xDBE1AEF: _ecore_main_loop_iterate_internal (ecore_main.c:2380)
==25839==    by 0xDBDF89D: ecore_main_loop_begin (ecore_main.c:1290)
==25839==    by 0x441C04: main (e_main.c:1093)
2017-02-10 17:24:13 -05:00
Stephen 'Okra' Houston 671f881e42 Luncher/Batman: Don't access an invalid icon structure. 2017-02-10 16:22:49 -06:00
Stephen 'Okra' Houston 67a59e5df5 Luncher: Determine if client icon is an evas_object_image or edje_object. 2017-02-08 17:44:25 -06:00
Stephen 'Okra' Houston ed1d8ac971 Luncher: Don't update and show the preview on client del unless the preview exists. 2017-02-07 11:48:09 -06:00
Stephen 'Okra' Houston e41dfc7d5b Luncher: Remove closed clients from the preview popup if visible, and close the popup if no more clients are active.
This fixes T5097
2017-02-06 11:12:43 -06:00
Stephen 'Okra' Houston a89afe4186 Luncher - Free hashes at the appropriate time. 2017-02-06 10:45:58 -06:00
Derek Foreman 73aecd73ab Replace all timer_add with timer_loop_add
So yeah, I've literally used sed to replace every occurrence of
ecore_time_add() with ecore_timer_loop_add() because I'm reasonably
confident that no part of E has a legitimate need for timer based on the
exact current time.

It would be really nice if I'm not wrong. :)

The reason for this is the incredible spew of clock_gettime() calls I'm
seeing on an ARM system (that should have a vdso for gettime, but...)
This can amount to thousands of system calls per second.

 #YOLO
2017-02-03 15:52:28 -06:00
Stephen Houston 422499e512 Enlightenment - Luncher Grid Gadget - Do not double-free lists during empty.
This fix matches 39476fad32
2017-01-23 21:28:00 -06:00
Mike Blumenkrantz 39476fad32 do not double-free lists during luncher bar empty
==15191== Invalid read of size 8
==15191==    at 0x2B6328A7: eina_list_next (eina_inline_list.x:32)
==15191==    by 0x2B637520: _bar_empty (bar.c:1405)
==15191==    by 0x2B639301: _bar_recalculate_job (bar.c:1958)
==15191==    by 0xDBDA800: _ecore_job_event_handler (ecore_job.c:98)
==15191==    by 0xDBD3AC6: _ecore_call_handler_cb (ecore_private.h:317)
==15191==    by 0xDBD4A55: _ecore_event_call (ecore_events.c:518)
==15191==    by 0xDBDDABF: _ecore_main_loop_iterate_internal (ecore_main.c:2380)
==15191==    by 0xDBDB86D: ecore_main_loop_begin (ecore_main.c:1290)
==15191==    by 0x441A94: main (e_main.c:1093)
==15191==  Address 0x1ff97dc8 is 6,520 bytes inside a recently re-allocated block of size 8,192 alloc'd
2017-01-20 11:52:27 -05:00
Stephen 'Okra' Houston 84f06597ec Enlightenment - Luncher Gadget - This fixes a massive bug in client comparisons within luncher.
This is very embarrassing.  Nothing to see here. Carry on people.
2017-01-12 16:50:37 -06:00
Stephen 'Okra' Houston 25e36fcf91 Enlightenment - Luncher gadget - Don't assume all internal windows are the same. 2017-01-12 14:31:26 -06:00
Stephen 'Okra' Houston 7422e9102f Enlightenment: Luncher gadget - Don't proceed with hiding the preview if the preview's icon is NULL. 2017-01-12 11:12:54 -06:00
Stephen 'Okra' Houston 58a9333580 Enlightenment: Sysinfo Gadget - Add an informative popup, as well as a config panel to memusage, cpumonitor, and netstatus.
Left click will give you some informative detail and right click will show the config panel with t he option to configure how often to poll.
2017-01-11 21:21:34 -06:00
Stephen 'Okra' Houston bae6700f8c Enlightenment - Luncher Gadget - Show preview immediately for icons that have iconified windows.
This fixes T4806
2017-01-11 13:21:04 -06:00
Stephen 'Okra' Houston 2565055eeb Enlightenment: Luncher - Use internal icons for non .desktop clients.
This fixes T5003
2017-01-11 12:01:30 -06:00
Stephen 'Okra' Houston 9f43e67a73 Enlightenment: Luncher gadget - don't allow .desktop actions on non .desktop icons. 2017-01-11 10:13:05 -06:00
Stephen 'Okra' Houston ddb9f99692 Enlightenment: Luncher gadget - Add more duplicate checking. 2017-01-10 16:46:39 -06:00
Stephen 'Okra' Houston 08d853ab16 Enlightenment: Luncher gadget - Don't delete the hash if there is more than one client using it. 2017-01-10 16:08:24 -06:00
Stephen 'Okra' Houston cf1d083b38 Enlightenment: Fix luncher to not duplicate clients who report as both having and not having a .desktop. 2017-01-10 15:45:13 -06:00
Stephen 'Okra' Houston 3a7509fd38 Revert "luncher: do not add clients twice"
This reverts commit 382dc8e3b0.
2017-01-10 15:38:37 -06:00