Commit Graph

19074 Commits

Author SHA1 Message Date
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
Marcel Hollerbach fa0d585aa5 tiling: insert a client in the place where it is currently placed
With this patch we are inserting a client in the tiling tree where it is
currently placed in floating mode.
2017-02-25 17:02:06 +01:00
Mike Blumenkrantz f2550ba326 typo-- 2017-02-24 15:20:23 -05:00
Mike Blumenkrantz cfc538ca55 remove all unnecessary efl version checks
the version of efl required by configure is already higher than these checks
2017-02-24 14:15:38 -05:00
Mike Blumenkrantz e39b6601b0 make 'after_restart' variable global
this allows the compositor to detect (accurately) whether it is a new
instance
2017-02-24 14:15:38 -05:00
Mike Blumenkrantz 0ce43bd0dd add E_Menu access from its comp object 2017-02-24 14:15:38 -05:00
Mike Blumenkrantz e56f689fad show already-visible comp util objects when changing frame type
ensure internal clipper state matches object visibility state
2017-02-24 14:15:38 -05:00
Mike Blumenkrantz a32f7119e2 only move new bryces to zone on create, not existing ones
this resolves an issue where not changing any position-related attrs
would stick the bryce in the wrong location until restart
2017-02-24 14:15:38 -05:00
Mike Blumenkrantz e7c2d30a85 add function for printing debug info on an evas object 2017-02-24 14:15:38 -05:00
Mike Blumenkrantz e33c01cdce add new explicit method for enabling backlight depending on output type
ensure that nested compositors don't mess with backlight
2017-02-24 14:15:38 -05:00
Mike Blumenkrantz 5d875e6a3d enable abort on critical error for non-release builds
this should help with debugging
2017-02-24 14:15:38 -05:00
Mike Blumenkrantz 9934ccfbf0 free E_Remember->uuid on shutdown 2017-02-24 14:15:38 -05:00
Mike Blumenkrantz 58f7d7e54e do not shortcut wl surface commit unignore path for internal wins
this doesn't seem to do anything and therefor is not worthwhile
2017-02-24 14:15:38 -05:00
Mike Blumenkrantz b0cb4b38d6 redo wl client setting of E_Client->take_focus and E_Client->want_focus
this used to be set on show since the assumption was that show was the
first time the client would be seen, but this turns out to be incorrect
and results in focus being set too early (breaking policy)
2017-02-24 14:15:38 -05:00
Mike Blumenkrantz 8952eb1add set E_Client->remember before calling e_remember_update()
fix case where new remember was created but not immediately updated,
resulting in a blank remember which would be applied and break windows
2017-02-24 14:15:38 -05:00
Mike Blumenkrantz e7539003ba unadjust wl surface coords before applying position during commit
this seems to fix some positioning issues with internal wins
2017-02-24 14:15:38 -05:00
Mike Blumenkrantz 60213325fc only attempt to place clients which are protocol-visible
unmapped clients have no geometry
2017-02-24 14:15:38 -05:00
Mike Blumenkrantz a117c977dd e_menu_grab_window_get() -> e_menu_is_active()
0 is a valid canvas window id, and this function was no longer being used
for its original purpose
2017-02-24 14:15:38 -05:00
Mike Blumenkrantz ec601e49d1 register wl_buffer output canvas for input events 2017-02-24 14:15:38 -05:00
Mike Blumenkrantz e4a89cf0ed save config when toggling option to disable startup splash
broken since 2013
2017-02-24 14:15:38 -05:00
Mike Blumenkrantz 98ab29ea3c add event for xwayland init 2017-02-24 14:15:38 -05:00
Mike Blumenkrantz 18b452778a block backlight changing for nested/buffer compositors 2017-02-24 14:15:38 -05:00
Mike Blumenkrantz c854f142dc center pointer on wl_buffer output init 2017-02-24 14:15:38 -05:00
Mike Blumenkrantz 1bf6c2d5c3 remove e_comp_wl->ptr.grab_x/y
unused
2017-02-24 14:15:38 -05:00
Mike Blumenkrantz 2c7e91d38f make e_comp_wl->ptr.x/y ints and fix usage to be consistent
sometimes these were treated as ints and sometimes wl_fixed
2017-02-24 14:15:38 -05:00
Mike Blumenkrantz 981f2286d4 add client smart callback for post_render 2017-02-24 14:15:38 -05:00
Mike Blumenkrantz b228c95dce make wl key input generator take keynames instead of keycodes 2017-02-24 14:15:38 -05:00
Mike Blumenkrantz 5b5e3fa5db fix wl_drm detection in e_mouse.c 2017-02-24 14:15:38 -05:00
Marcel Hollerbach 9745890a37 Revert "Revert "mixer: do not set back the value from emix once the drag is finished""
This reverts commit fba185798c.

There is not even a description why you reverted it. This is a bugfix
that fixed a bug. So talk to me what the issue is, but please stop
reverting commits silently.
2017-02-23 09:08:24 +01:00
Michael Bouchaud 2e043e825d e_client_volume: Don't set client volume to max after a mute.
Don't set client volume to max after a mute and unmute. Just check if the
volume is within the available limits.
2017-02-23 00:51:33 +01:00
Michael Bouchaud cb6ea9f747 e_client_volume: check volume setted after a slider drag 2017-02-23 00:36:17 +01:00
Michaël Bouchaud (yoz) fba185798c Revert "mixer: do not set back the value from emix once the drag is finished"
This reverts commit 8724313b8e.
2017-02-22 22:59:13 +01:00
Michaël Bouchaud (yoz) dbdf411b48 mixer: use VOLSET macro in volume output set 2017-02-22 22:59:13 +01:00
Michael Bouchaud f13d9dc8cd e_askpass: fix a typo 2017-02-22 22:58:13 +01:00
Michael Bouchaud 31d3b5914f e_askpass: compliant with GIT_ASKPASS for querying username
It isn't well documented but git could use SSH_ASKPASS env var for querying
username. So we use the argument passed to the command to know what to do.
2017-02-22 21:08:52 +01:00
Stephen 'Okra' Houston 3ce76c66d2 Luncher: Unify icon image file setting code. 2017-02-22 11:05:55 -06:00
Carsten Haitzler a534433a91 e client volume - use the overall state of all sinks for display
improve mixer volume display in titlebar now to show a unified
display. average volume of all non-muted sinks for volume display and
if at least 1 sink is non-muted display as not muted as some sound is
coming from that app... somwhere...
2017-02-22 09:50:42 +09:00
Marcel Hollerbach 4937897c0b tiling: dont use floating state when toggling
when someone toggles a client he usally doesnt want to have it again in
toggle state, so make sure its vertical or horizontal.
2017-02-21 20:35:00 +01:00
Stephen 'Okra' Houston 4510e474f6 Revert "Bryce: Don't proceed to process the mouse down event structure if it is null in the post callback."
This reverts commit 25950ccfa9.
Rever this commit to allow a more proper fix.
2017-02-21 11:27:52 -06:00
Stephen 'Okra' Houston 25950ccfa9 Bryce: Don't proceed to process the mouse down event structure if it is null in the post callback. 2017-02-21 11:06:45 -06:00
Marcel Hollerbach 57b8f3e093 e_sys: bring back system actions after resume was called
when resume is called we are just notifing the theme that e is back
there. There is no E_Sys_Action for it, so its enough for now to just
call the backlight to fade back in and emit the signal to the theme.

This should fix e blocking sys actions
2017-02-21 17:01:13 +01:00
Carsten Haitzler 35bb87529f e mixer module - run pulseaudio if connect fails
so i have a situatioon where pulse is not started automagically. if
e's mixer it set to pulse... then stick to it, run pulse and keep
trying to connect every 0.2 sec until connection works. this makes
sound "just work" tm as it should...

@fix
2017-02-20 22:58:59 +09:00
Michael Bouchaud 9320b0e4ea e_client_volume: forget to remove the separator 2017-02-20 01:48:40 +01:00
Michael Bouchaud 51a5ec4e6a e_client_volume: display a control per stream in the popup volume
This commit enhance the e_client_volume popup. Now you could see which sink
belongs to an e_client and allow you to control it. Sadly I haven't added a
scroller to this popup, I will add it later. Lots of calcs is needed to
display it correctly.
2017-02-20 02:23:16 +01:00
Michael Bouchaud 0a73905895 e_client_volume: add E_EVENT_CLIENT_VOLUME_SINK handler
This commit introduce 3 new handlers to e_client_volume API. These allow to
catch event about sink add, del and update
2017-02-20 02:21:14 +01:00
Michael Bouchaud 939ac0b93d e_client_volume: add sink_name_get API to e_client_volume 2017-02-20 00:46:59 +01:00
Carsten Haitzler 718f0fe0f4 e client mixer - stop messing with mute + volume state just for display
so add a new sink or get an update on state and e will SEt volume/mute
settings, not just passively disdplay them. this has been messing up
rage's winlist (mouse over on right) for several months now... and e
is/was wrong.

this doesnt fix all. if an app has multiple streams really this client
mixer needs to display a control per stream, not a single one - eg in
a popup. in fact volume shoud likely be done in a popup instead of
inside titlebar anyway :)

but this fixes the most annoying problem where withotu users doing
anything, the audio starts to play from streams explicitly muted by
the app...
2017-02-19 21:15:35 +09: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
Chris Michael 4339f9f783 bump efl minor version check for ecore_drm2 API function usage
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-02-17 19:21:17 -05:00
Stephen 'Okra' Houston 27d047f4bd Batman: Only show unique batteries. 2017-02-17 17:06:39 -06:00
Chris Michael 37e84e1b40 remove unused variable in e_exec.c
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-02-16 13:46:20 -05:00
Al 'netstar' Poole 784ebcb187 Sysinfo Gadgets: Add sysctl/bsd support to the remaining sysinfo gadgets.
These gadgets include cpumonitor, memusage, and netstatus
2017-02-15 15:53:29 -06:00
Marcel Hollerbach 6becc2b179 e_exec: split up the free of the instance
otherwise two calls to that free would not sent the event, but free the
instance, undependend of the event beeing emitted or not.

fix T4963
2017-02-14 22:10:26 +01:00
Stephen 'Okra' Houston aae3352932 Cpumonitor: Return the correct object. 2017-02-14 10:09:15 -06:00
Al Poole 5388ea5f42 modules: temperature: Fix spelling for temperature module.
Reviewers: zmike!

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D4500
2017-02-13 11:24:42 +01:00
Carsten Haitzler 8211a6f0e1 e thumb - fix alignment warning nuisance 2017-02-12 17:59:47 +09:00
Carsten Haitzler fd139068e1 efm - fix nuisance warning about enlightenment 2017-02-12 17:59:17 +09:00
Carsten Haitzler d72815747a efx - fix unaligned ptr fill that is actually a bug
warning found a bug - filling in chr fileds with an api that expects
ptrs to ints - this is doing really bad things like unaligned writes
and it's overiting adjacent memory. fix
2017-02-12 16:25:35 +09:00
Carsten Haitzler 898a057509 tiling module - fix some warnings with casts and alignment
alignment warnings are anal and seem to not like casting allocated
structs nicely ... but they are noise that hides real issues, so
silence these as these casts/ptrs are ok after inspection.
2017-02-12 16:25:35 +09:00
Carsten Haitzler ccf3a6f5fe e comp - quiet some warnings for casts that are ok
add soem void 8 casts for casts that are ok alignment-wise but that
generate warnings
2017-02-12 16:25:35 +09:00
Carsten Haitzler eb8f2a68b0 e comp - fix stupid cast to from eina rect* to char* to eina rect* again
just causes warnings and makes no sense...
2017-02-12 16:25:35 +09:00
Carsten Haitzler d8e639a9ea e comp object - fix warning where a void cast is as goos as the old one
we did cast to Evas_Native_Surface * but this just causes warnings due
to the input ptr being char * from memcup. as this will be aligned due
to allocation, we're ok, so use a void * cast instead
2017-02-12 16:25:35 +09:00
Carsten Haitzler 26b68f8c7e e mixer pulse backened -f ix warning about use of uninit var
display really isn't uninitialized due to the logic, but compielr is
kind of right in theory... but less warnings is better so we fix the
real problems more easily. fix.
2017-02-12 16:25:35 +09:00
Carsten Haitzler f91086be7d evry module - fix warning about comparing signed to unsigned
harmless warning - use a cast to keepit quiet.
2017-02-12 16:25:35 +09:00
Carsten Haitzler 7b0891a743 e desklock logging - fix types for critical error logs
the critical error log expects unsigned long so cast to exactly that
so it's correct and doesn't break/display incorrect values
2017-02-12 16:25:35 +09:00
Carsten Haitzler 3e95380edb efm - fix warnings for progress time display
the code is right - data is aligned, but gcc doesn't know this, so
silence it with void * cast
2017-02-12 16:25:35 +09:00
Carsten Haitzler 7d5db07a75 e notification - silence alignment warning
the code is ok - it's aligned data from evas and we can address it by
int ptrs, but the warning is noise, so simply add a void * cast in there
2017-02-12 16:25:35 +09:00
Carsten Haitzler dd4cd1ce73 e thumb - silence alignment warning - valid code
the code is right as the int array is at the start of the allocation
that should be aligned to all types anyway. but it's noise that
distracts.
2017-02-12 16:25:35 +09:00
Carsten Haitzler 8c87fe514d e comp - wl - add void cast to reduce warnings
we're pointer playing anyway so types here are not really useful. we
have to get our ptrs right - including alignment, and these warnings
are not useful and just noise.
2017-02-12 16:25:35 +09:00
Carsten Haitzler 8c70210ee6 e xsettings - fix warnings about unaligned ptr access
this moves access to byte by byte memcpy's to avoid potential
unaligned access.
2017-02-12 16:25:35 +09:00
Carsten Haitzler b40fd20fbc e comp x - fix property fetch to use int ptr from the start
this clears up soem warnings and do the cast on providing the pointer
to ecore_x_window_prop_property_get() which since it has to allocate
the data will be fine for alignment anyway, so a void * cast will do.
2017-02-12 16:25:35 +09:00
Carsten Haitzler 16131b14f0 efm ipc - fix unaligned int read on ipc decode
warning was right - this is an unaligned read. fix.
2017-02-12 16:25:35 +09:00
Carsten Haitzler 9c984ea9cf e ptr cast via void fix to reduce warnings
so we cast a lot of ptrs to other types as that is then the actual
type of the object. all these objects are allocated by malloc nad
friends so this is ok. but gcc on arm is not happy and warns. maybe it
assume this ptr could be to an element in an array of structs of this
type and so on thus will have specific alignment enforced by compiler
but our casting may disturb it? anyway. cast via void first fixes it.
we can focus on other real warnings and errors instead.
2017-02-12 16:25:35 +09:00
Carsten Haitzler 48a92ee067 e theme conf config - fix casting char fileds to int ptrs
we're casting ptrs to char fields to int * which is actually wrong as
we break alignment guarantees. fix.
2017-02-12 16:25:35 +09:00
Carsten Haitzler 39752e55ec e fileman config - fix definite alignment bug with cast char to int ptr
we're casting ptrs to char fields to int * which is actually wrong as
we break alignment guarantees. fix.
2017-02-12 16:25:35 +09:00
Carsten Haitzler f591b09da5 e ervything md5 code - fix warnings about alignment
gcc on arm is actually validly complaining about us using int * ptrs
to point to char * data and thus it likely be unaligned, so work in
reverse. make the data int * aligned and when needed mess with it as
char * data byte by byte. warnings gone.
2017-02-12 16:25:35 +09:00
Mike Blumenkrantz 4e1cbab3ff ignore all non-NORMAL type wl windows in e_place
this catches subsurfaces, drags, and popups, which were erroneously being
handled like obstacles during placement
2017-02-10 17:24:13 -05:00
Mike Blumenkrantz 8f3c9dd796 do not use new_client to determine placement-related paths during wl client commit
this is a remnant from xdg5-only code where new_client meant "first buffer". with
xdg6, this is no longer the case since a surface can receive infinite commits
without ever having a buffer attached

ref 9a82f7bcb0
2017-02-10 17:24:13 -05:00
Mike Blumenkrantz 476305563c always set E_Client->placed when successfully moving a comp object
enforce this for all cases
2017-02-10 17:24:13 -05:00
Mike Blumenkrantz 63b7111a1f make client placement eval not dependent on new_client flag
this should just run if placed is not set for a valid window
2017-02-10 17:24:13 -05:00
Mike Blumenkrantz 040b5f6a44 watch client UNIGNORE hook for adding new tiling clients
ref 6f5e2ddefcd287640416c8da362b3865299e331b
2017-02-10 17:24:13 -05:00
Mike Blumenkrantz e7f9500bae do not display sr rememebers in remember config dialog 2017-02-10 17:24:13 -05:00
Mike Blumenkrantz 964640d9ae never return remembers which apply uuid if not looking for sr remembers
avoid collision between sr remembers and user remembers
2017-02-10 17:24:13 -05:00
Mike Blumenkrantz a8e7ca98cc allow new_clients to update their remembers
this might cause a little more event spam but it's pretty harmless
2017-02-10 17:24:13 -05:00
Mike Blumenkrantz 743a57f572 watch UNIGNORE hook for hooking window remembers
ref d9cc4f887828b620cd114e85b89589cbe929ea50
2017-02-10 17:24:13 -05:00
Mike Blumenkrantz d6052cbbfd unignore wl clients on first commit regardless of buffer attachment
this allows for things to begin catching "new" clients as soon as possible
in the compositor
2017-02-10 17:24:13 -05:00
Mike Blumenkrantz 7c118eb272 use E_Client->changes.size for validating wl client geom during configure
xdg6 allows for clients without buffers to be configured such that the
first buffer will match the configured state

if a client is sized before this point, the changes.size flag will be set
2017-02-10 17:24:13 -05:00
Mike Blumenkrantz 2f6f31f2a7 add client hook for UNIGNORE
UNIGNORE is the hook to watch for wl clients as they are added; the
ignore mechanism prevents most of the compositor from processing
clients. this is a stupid method from an api perspective since it's
different in x11 and wl, so it should probably be improved on in the future
2017-02-10 17:24:13 -05:00
Mike Blumenkrantz 25240fb86d future-proof client hook inlist initialization
manually initializing this meant it needed to be kept in sync with the
header, something that I'm unlikely to check every time client hooks are
added/removed
2017-02-10 17:24:13 -05:00
Mike Blumenkrantz 51782fd5ee Revert "e - wayland - fix double-resize if e wants a different initial size"
This reverts commit e1c3120689.

this commit revealed a number of issues with the xdg6 implementation related
to unconfigured buffer management: see subsequent patches for a less
sledgehammer-y solution

ref 5497fadce4
2017-02-10 17:24:13 -05:00
Mike Blumenkrantz 0d4a52a240 fix return code checking for errors when generating wl key events 2017-02-10 17:24:13 -05:00
Mike Blumenkrantz cafb46953b add wl_buffer output module 2017-02-10 17:24:13 -05:00
Mike Blumenkrantz 75ff919036 more correctly handle dnd completion for wl
* always send cancel when drag is !accepted
* always null e_comp_wl->drag_source
2017-02-10 17:24:13 -05:00
Mike Blumenkrantz b568e7abb1 simplify _e_comp_wl_data_device_drag_finished() slightly 2017-02-10 17:24:13 -05:00
Mike Blumenkrantz 1f7bd4b83d move wl data device focus-change handling to data device leave() fn
leave() is always called before enter(), meaning that this will handle
window1 -> window2 as well as window1 -> null
2017-02-10 17:24:13 -05:00
Mike Blumenkrantz 0acea1a2b1 add specific handling for xwl cursor unsetting on mouse-out to ssd
xwl clients will attempt to unset the cursor when mousing out of the surface,
but this can happen after evas events are triggered for the ssd due to
latency

if the given surface has mouse.in set, but the mouse is not inside the surface
area, assume that the mouse has just entered the compositor canvas

 #TheDisappointer
2017-02-10 17:24:13 -05:00
Mike Blumenkrantz c6216d7c1e reset compositor pointer cursor if wl surface destroy is the current cursor
this should never happen and is only included as a failsafe

 #TheDisappointer
2017-02-10 17:24:13 -05:00
Mike Blumenkrantz 7350a9c891 Revert "attempt to re-set wl surface pointer when popping back to "default" pointer type"
This reverts commit e42b072f38.

this is broken according to spec, clients should re-set their pointers manually
2017-02-10 17:24:13 -05:00
Mike Blumenkrantz 00329d6f29 force mouse-out on wl clients during delete if mouse.in is set
#TheDisappointer
2017-02-10 17:24:13 -05:00
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