Commit Graph

22223 Commits

Author SHA1 Message Date
Mike Blumenkrantz e3d0fdbf67 only unset current pointer cursor object if new one is being set
#TheDisappointer
2017-02-10 17:24:13 -05:00
Mike Blumenkrantz 0534c7ae6f start xwayland process 2.0s after module load
this avoids conflicts with efl internals, which will break entirely
when DISPLAY is set under wayland, and xwayland internals, which will
abort immediately when efl tries to connect to it during its init phase
2017-02-10 17:24:13 -05:00
Mike Blumenkrantz 12655becaa ref clients during exe_inst deletion to avoid invalid access after free
in the case where clients are deleted during the same loop that they are
added to an exe_inst, the client will be destroyed before the instance's
delete event returns

ref T4963
2017-02-10 17:24:13 -05: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
Mike Blumenkrantz 57edf1bbd8 remove E_Config->desktop_default_name
this is an easy format string attack vector which serves no purpose
that I can fathom. the commit log where it was added it also made
no mention of this, as it was done in a seemingly-unrelated feature
addition
2017-02-10 17:24:13 -05:00
Mike Blumenkrantz c3dd3cf828 wrap time module strftime calls more loosely when disabling -Wflags 2017-02-10 17:24:13 -05:00
Mike Blumenkrantz 641812918f add note in doc for "gadget_destroyed" callback re: callback ordering 2017-02-10 17:24:13 -05:00
Mike Blumenkrantz b876c055f5 remove callback for "gadget_destroyed" in pager
dead code
2017-02-10 17:24:13 -05:00
Mike Blumenkrantz 0266601a29 remove del callbacks for xkbswitch list config objects
==10821== Invalid write of size 8
==10821==    at 0x28168A4B: _list_del (e_mod_config.c:455)
==10821==    by 0x78F6C78: _eo_evas_object_cb (evas_callbacks.c:192)
==10821==    by 0xE597F3A: _event_callback_call (eo_base_class.c:1422)
==10821==    by 0xE598161: _efl_object_event_callback_legacy_call (eo_base_class.c:1491)
==10821==    by 0xE59BC8F: efl_event_callback_legacy_call (efl_object.eo.c:146)
==10821==    by 0x7932A4D: _efl_canvas_object_efl_object_event_callback_legacy_call (evas_object_main.c:1012)
==10821==    by 0xE59BC8F: efl_event_callback_legacy_call (efl_object.eo.c:146)
==10821==    by 0x78F7537: evas_object_event_callback_call (evas_callbacks.c:364)
==10821==    by 0x7932C9B: _efl_canvas_object_efl_object_destructor (evas_object_main.c:1042)
==10821==    by 0xE599F2A: efl_destructor (efl_object.eo.c:58)
==10821==    by 0x5033E3F: _elm_interface_atspi_accessible_efl_object_destructor (elm_interface_atspi_accessible.c:609)
==10821==    by 0xE599F2A: efl_destructor (efl_object.eo.c:58)
==10821==    by 0x511E8DB: _elm_widget_efl_object_destructor (elm_widget.c:5866)
==10821==    by 0xE599F2A: efl_destructor (efl_object.eo.c:58)
==10821==    by 0xE58D31E: _efl_del_internal (eo_private.h:248)
==10821==    by 0xE58D6E5: _efl_unref_internal (eo_private.h:323)
==10821==    by 0xE58F9CA: _efl_object_call_end (eo.c:620)
==10821==    by 0xE599203: efl_del (efl_object.eo.c:18)
==10821==    by 0x7932565: evas_object_del (evas_object_main.c:902)
==10821==    by 0x510EC99: _elm_widget_efl_canvas_group_group_del (elm_widget.c:461)
==10821==    by 0x7948FE8: efl_canvas_group_del (efl_canvas_group.eo.c:36)
==10821==    by 0x505ACC0: _elm_layout_efl_canvas_group_group_del (elm_layout.c:813)
==10821==    by 0x7948FE8: efl_canvas_group_del (efl_canvas_group.eo.c:36)
==10821==    by 0x7946ED7: evas_object_smart_del (evas_object_smart.c:1076)
==10821==    by 0x7933114: _efl_canvas_object_efl_object_destructor (evas_object_main.c:1095)
==10821==    by 0xE599F2A: efl_destructor (efl_object.eo.c:58)
==10821==    by 0x5033E3F: _elm_interface_atspi_accessible_efl_object_destructor (elm_interface_atspi_accessible.c:609)
==10821==    by 0xE599F2A: efl_destructor (efl_object.eo.c:58)
==10821==    by 0x511E8DB: _elm_widget_efl_object_destructor (elm_widget.c:5866)
==10821==    by 0xE599F2A: efl_destructor (efl_object.eo.c:58)
==10821==    by 0xE58D31E: _efl_del_internal (eo_private.h:248)
==10821==    by 0xE58D6E5: _efl_unref_internal (eo_private.h:323)
==10821==    by 0xE58F9CA: _efl_object_call_end (eo.c:620)
==10821==    by 0xE599203: efl_del (efl_object.eo.c:18)
==10821==    by 0x7932565: evas_object_del (evas_object_main.c:902)
==10821==    by 0x510EC99: _elm_widget_efl_canvas_group_group_del (elm_widget.c:461)
==10821==    by 0x7948FE8: efl_canvas_group_del (efl_canvas_group.eo.c:36)
==10821==    by 0x4F4D549: _elm_box_efl_canvas_group_group_del (elm_box.c:412)
==10821==    by 0x7948FE8: efl_canvas_group_del (efl_canvas_group.eo.c:36)
==10821==    by 0x7946ED7: evas_object_smart_del (evas_object_smart.c:1076)
==10821==    by 0x7933114: _efl_canvas_object_efl_object_destructor (evas_object_main.c:1095)
==10821==    by 0xE599F2A: efl_destructor (efl_object.eo.c:58)
==10821==    by 0x5033E3F: _elm_interface_atspi_accessible_efl_object_destructor (elm_interface_atspi_accessible.c:609)
==10821==    by 0xE599F2A: efl_destructor (efl_object.eo.c:58)
==10821==    by 0x511E8DB: _elm_widget_efl_object_destructor (elm_widget.c:5866)
==10821==    by 0xE599F2A: efl_destructor (efl_object.eo.c:58)
==10821==    by 0xE58D31E: _efl_del_internal (eo_private.h:248)
==10821==    by 0xE58D6E5: _efl_unref_internal (eo_private.h:323)
==10821==    by 0xE58F9CA: _efl_object_call_end (eo.c:620)
==10821==    by 0xE599203: efl_del (efl_object.eo.c:18)
==10821==  Address 0x2c731708 is 184 bytes inside a block of size 456 free'd
==10821==    at 0x4C2ED4A: free (vg_replace_malloc.c:530)
==10821==    by 0x28165F69: _free_data (e_mod_config.c:249)
==10821==    by 0x49D92E: _e_config_dialog_free (e_config_dialog.c:156)
==10821==    by 0x546D2F: e_object_free (e_object.c:119)
==10821==    by 0x546F4B: e_object_unref (e_object.c:152)
==10821==    by 0x546B5E: e_object_del (e_object.c:60)
==10821==    by 0x49E233: _e_config_dialog_cb_dialog_del (e_config_dialog.c:333)
==10821==    by 0x546B34: e_object_del (e_object.c:58)
==10821==    by 0x4AA23C: _e_dialog_cb_key_down (e_dialog.c:357)
==10821==    by 0x78F6CB4: _eo_evas_object_cb (evas_callbacks.c:199)
==10821==    by 0xE597F3A: _event_callback_call (eo_base_class.c:1422)
==10821==    by 0xE598161: _efl_object_event_callback_legacy_call (eo_base_class.c:1491)
==10821==    by 0xE59BC8F: efl_event_callback_legacy_call (efl_object.eo.c:146)
==10821==    by 0x7932A4D: _efl_canvas_object_efl_object_event_callback_legacy_call (evas_object_main.c:1012)
==10821==    by 0xE59BC8F: efl_event_callback_legacy_call (efl_object.eo.c:146)
==10821==    by 0x78F7537: evas_object_event_callback_call (evas_callbacks.c:364)
==10821==    by 0x7906AD8: _canvas_event_feed_key_down_internal (evas_events.c:3112)
==10821==    by 0x7909281: _evas_canvas_event_key_cb (evas_events.c:3960)
==10821==    by 0xE597E57: _event_callback_call (eo_base_class.c:1399)
==10821==    by 0xE598161: _efl_object_event_callback_legacy_call (eo_base_class.c:1491)
==10821==    by 0xE59BC8F: efl_event_callback_legacy_call (efl_object.eo.c:146)
==10821==    by 0x65FDE63: _direct_key_updown_cb (ecore_evas.c:4664)
==10821==    by 0x65FDFC9: _ecore_evas_input_direct_cb (ecore_evas.c:4692)
==10821==    by 0x6813D6E: _ecore_event_evas_key (ecore_input_evas.c:429)
==10821==    by 0x6814A8D: ecore_event_evas_key_down (ecore_input_evas.c:707)
==10821==    by 0xDBD7AF6: _ecore_call_handler_cb (ecore_private.h:317)
==10821==    by 0xDBD8A85: _ecore_event_call (ecore_events.c:518)
==10821==    by 0xDBE1AEF: _ecore_main_loop_iterate_internal (ecore_main.c:2380)
==10821==    by 0xDBDF89D: ecore_main_loop_begin (ecore_main.c:1290)
==10821==    by 0x441BB4: main (e_main.c:1093)
==10821==  Block was alloc'd at
==10821==    at 0x4C2FA50: calloc (vg_replace_malloc.c:711)
==10821==    by 0x28165773: _create_data (e_mod_config.c:182)
==10821==    by 0x49DBBC: _e_config_dialog_go (e_config_dialog.c:204)
==10821==    by 0x49D4E9: e_config_dialog_new (e_config_dialog.c:80)
==10821==    by 0x28165625: _xkb_cfg_dialog (e_mod_config.c:141)
==10821==    by 0x49EACF: e_configure_registry_call (e_configure.c:72)
==10821==    by 0x314400C3: _e_mod_run_cb (e_mod_main.c:165)
==10821==    by 0x53DA23: _e_menu_active_call (e_menu.c:2045)
==10821==    by 0x53F7CC: _e_menu_cb_mouse_up (e_menu.c:2778)
==10821==    by 0xDBD7AF6: _ecore_call_handler_cb (ecore_private.h:317)
==10821==    by 0xDBD8A85: _ecore_event_call (ecore_events.c:518)
==10821==    by 0xDBE1AEF: _ecore_main_loop_iterate_internal (ecore_main.c:2380)
==10821==    by 0xDBDF89D: ecore_main_loop_begin (ecore_main.c:1290)
==10821==    by 0x441BB4: main (e_main.c:1093)
2017-02-10 17:24:13 -05:00
Mike Blumenkrantz 97f1c83712 simplify xkbswitch rule parsing, ensure resource freeing
ref 0fd251c437

CID 1368345
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
Derek Foreman 1fe5b56500 Replace some ecore_time_get users with ecore_loop_time_get
I'm confident these sites can use loop time safely, and they're
frequent callers.
2017-02-10 15:18:19 -06:00
Stephen 'Okra' Houston 089b0b248d Use an event rect to better handle mouse events in cpumonitor. 2017-02-10 14:34:31 -06:00
Davide Andreoli a2644259b2 sysinfo gadget: remove frames in popups 2017-02-10 21:23:55 +01:00
Stephen 'Okra' Houston 73495d6347 Sysinfo Gadgets: Allow for vertical themes for all sysinfo gadgets
This is in preparation for themers in the future.
2017-02-10 11:59:47 -06:00
Stephen 'Okra' Houston 327f9bc68f Sysinfo gadgets: Prevent info popup from getting stuck. 2017-02-10 11:37:30 -06:00
Stephen 'Okra' Houston 762879bf5c Batman - Don't destroy the popup on hide. 2017-02-10 11:15:02 -06:00
Derek Foreman 391c833a8d Remove tests for wayland damage_buffer presence
We now depend on a version of wayland that has these, so we don't
need to handle the case where it's not available anymore.
2017-02-10 10:06:00 -06:00
Carsten Haitzler e1c3120689 e - wayland - fix double-resize if e wants a different initial size
let's say you sue tiling or some module and it wants a window by
default to maximize or fill the screen or be size XxY ... this stops
the client first having a buffer smaller (or larger) and then sizing
down rendering 2 times (one of the renders is pointless). this makes
initial buffer render/show seamless as it should be in wayland.
2017-02-10 19:23:43 +09:00
Carsten Haitzler ef6c178a17 enlightenment_sys - eina_init BEFORE switching uid - safer
in case eina_init uses env vars, move it to befor setuid() so it can
detect. you normally would setuid only for a limited op and we do it
for "the rest of the running" as e_sys is fairly simple.
2017-02-10 08:33:34 +09:00
Stephen 'Okra' Houston 1f6baaf283 Cpumonitor: Add a similar popup to memusage. 2017-02-09 16:22:22 -06:00
Stephen 'Okra' Houston 8547164c16 Pager and Batman: Use pages in config popup and standardize look. 2017-02-09 11:14:03 -06:00
Stephen 'Okra' Houston 5489f690cc Batman: Don't show time left in the popup when battery is charged. 2017-02-09 10:21:52 -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
Derek Foreman 2021480748 Dispatch wayland frame callbacks in the correct order
The protocol says they should be dispatched in the order they're
registered, so switch to list append instead of list prepend.
2017-02-08 13:25:30 -06:00
Stephen 'Okra' Houston b994562776 Batman - Add the config popup to configure batman. 2017-02-08 13:08:14 -06:00
Stephen 'Okra' Houston 75cbcf5b47 Batman - Don't show hard to read and redundant text in the gadget itself - Move it to a popup on left click. 2017-02-08 08:57:35 -06:00
Chris Michael 63a9bae282 fix potentially uninitialized variables
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-02-07 13:18:19 -05:00
Chris Michael b535aefaad wl_drm: Fix potentially uninitialized variable
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-02-07 13:18:19 -05: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
Chris Michael 90c120985a minor formatting fix
NB: No functional changes

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-02-07 11:09:54 -05:00
Chris Michael 8cb4a92ab5 minor formatting fix
NB: No functional changes

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-02-07 11:09:54 -05:00
Chris Michael 76cbf61616 minor formatting fix
NB: No functional changes

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-02-07 11:09:49 -05:00
Derek Foreman 4cf555f36e Replace all timer_reset with timer_loop_reset
Another sed bomb - didn't occur to me first time around to
check for this.  Cleans up more clock_gettime calls.
2017-02-06 15:59:25 -06:00
Stephen 'Okra' Houston 9344c828c6 Wireless: Don't autoclose left click popup in order to be on the same page with other gadgets. 2017-02-06 13:38:50 -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
Stephen 'Okra' Houston e6a8cea364 Enlightenment - Fix Coverity issues CID 1369051 and 1369052 2017-02-06 09:46:44 -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 'Okra' Houston 4e9335547f Sysinfo - Netstatus gadget - Fix netstatus calculation. 2017-02-03 15:21:09 -06:00
Mike Blumenkrantz 036bcc1f67 hide wl client cursors when set_pointer is passed a null surface 2017-02-03 15:13:45 -05:00
Mike Blumenkrantz ee4a861f90 use 1x1 for unsized (internal) clients
this was a typo
2017-02-03 15:13:45 -05:00
Mike Blumenkrantz d566b54049 simplify mouse-out cursor reset for wl clients
this is handled by e_pointer_object_set()
2017-02-03 15:13:45 -05:00
Mike Blumenkrantz c68ca50ced make e_pointer_object_set() a no-op when passing the existing cursor 2017-02-03 15:13:45 -05:00
Mike Blumenkrantz 8144cd0cda use e_pointer_show() when updating wl-drm seat caps to enable pointer
prev function doesn't handle canvas pointers
2017-02-03 15:13:45 -05:00
Mike Blumenkrantz 83f0a68291 add e_pointer_show() 2017-02-03 15:13:45 -05:00
Mike Blumenkrantz 0fd251c437 free string pointer in xkbswitch parsing
CID 1368345
2017-02-03 15:13:45 -05:00
Mike Blumenkrantz e2f8d2ba69 implement pointer-constraints v1
xwayland nyi
2017-02-03 15:13:45 -05:00
Mike Blumenkrantz 85aaa64f11 ignore intercepted mouse events for non-wl compositing 2017-02-03 15:13:45 -05:00
Mike Blumenkrantz 30f1b8b9c3 generically handle relative motion eventing for non-featureful backends 2017-02-03 15:13:45 -05:00