Commit Graph

12463 Commits

Author SHA1 Message Date
Carsten Haitzler 27c3b0e940 warn - make buffer bigger to avoid trunc warn 2019-01-12 01:51:43 +00:00
Carsten Haitzler 3609b56f5d warn - make buffer bigger to avoid trunc warn 2019-01-12 01:51:43 +00:00
Carsten Haitzler 126f155179 warn - dont use strncpy that leads to warns - memcpy instead
code was fine - it just causes warnings.
2019-01-12 01:51:43 +00:00
Carsten Haitzler dc56dd6ea1 warn - make buffer bigger to avoid trunc warn 2019-01-12 01:51:43 +00:00
Carsten Haitzler a57515d87c warn - make buffer bigger to avoid trunc warn 2019-01-12 01:51:43 +00:00
Carsten Haitzler 25b5d5401c warn - make buffer bigger to avoid trunc warn 2019-01-12 01:51:43 +00:00
Carsten Haitzler b11dd17594 desklock - fix warn with return no value where val needed 2019-01-12 01:51:43 +00:00
Carsten Haitzler 493bedd5cf warn - make buffer bigger to avoid trunc warn 2019-01-12 01:51:43 +00:00
Carsten Haitzler ccec0d870f warn - make buffer bigger to avoid trunc warn 2019-01-12 01:51:43 +00:00
Carsten Haitzler f511777d7b warn - make buffer bigger to avoid trunc warn 2019-01-12 01:51:43 +00:00
Carsten Haitzler 2e2d26ec43 e eec - dont set startup id on shutdown - pointless and err causing
this caises exehist to want to save and exehist is shutdown by now
with null eet data descriptors so can't anyway... less errs.
2019-01-09 12:24:06 +00:00
Carsten Haitzler a4a8488eb2 deskmirror - fix tracking of deletion of comp obj as it had holes
i got a whole mountain of eo invalid obj complaints from deskmirror
even on startup. the backtraces were long, but they all ended in
comp_object being invalid or null. it seesm deskmiror wasnt properly
tracking the deletion of comp_object outside and that led to this. i
simply set it up once and deleted it where it is no longer referenced
and all is good now. this may possibly in theory have led to odd bugs
but thanks to eo - unlikely.

@fix
2019-01-09 10:37:16 +00:00
Alastair Poole a19c968973 e_main: initialise XDG environment earlier.
Summary:
Moving _xdg_data_dirs_augment call to earlier in
initalisation process. Currently first-run will
leave XDG_MENU_PREFIX broken, thus the application
menu will be empty in E.

Seems eio_init might be the culprit.

Moved to above eio_init.

Test Plan:
* Launch E from X from a console (startx)
* Check application menu (empty).
* Apply patch.
* Launch E from X from a console (startx)
* E's Application menu should be populated.

Related to https://phab.enlightenment.org/D7534

Reviewers: #committers, raster, cedric, zmike, devilhorns

Reviewed By: #committers, zmike

Tags: #enlightenment-git

Differential Revision: https://phab.enlightenment.org/D7535
2019-01-03 18:37:30 +00:00
Christopher Michael a0e394b1a5 conf_interaction: Support mouse acceleration under Wayland
Wayland mouse acceleration uses different values (via libinput) than
X11 does. As such, we need to check the compositor type when creating
the Mouse Input config dialog and adjust values accordingly.

ref T7534

@fix
2019-01-02 14:58:19 -05:00
Carsten Haitzler cbe3858b15 desklock - add explicit manually invoked api and a blocking api
this is so parts of e (moduels etc.) could block a lock for some
reason and differentiate between an automatic lock and a manually
invoked one.
2018-12-15 16:13:28 +00:00
Carsten Haitzler 959b041e12 e_sys - fix l2ping code to work and actually properly ping
it wasn't working. first response may not be a 200 ident so keep
looking for them. also send a bit more than 1 byte to be sure, and
chekc the response is what we sent to be sure. also enforce a timeout
(10sec here) where we give up so it doesn't hang possibly forever.
all in all l2ping in e_sys works again. now. in the process i added a
timeout param too.

@fix
2018-12-15 16:13:23 +00:00
Carsten Haitzler 6321664f08 e - winlist/client - don't leave dangling action on window
as winlist doesn't target specific windows ... don't leave the action
on the window dangling there. finally fixes T6415
2018-11-20 19:08:25 +00:00
Carsten Haitzler 5ba54b7aa8 e winlist focus and input - fix to work with basic wheel/mouse ev
this fixes T6415

@fix
2018-11-09 22:04:24 +00:00
Chris Michael c1a583d0cf e_xkb: Replace deprecated edje_extern_object_aspect_set function 2018-11-08 10:35:15 -05:00
Chris Michael 442f90fd42 e_fm: Replace use of deprecated edje_extern_object_aspect_set function 2018-11-08 10:33:43 -05:00
Chris Michael 2026bbbeee bryce: add missing EINA_UNUSED for unused function parameter 2018-11-08 10:29:24 -05:00
Carsten Haitzler c49f49829f gadgets - get long press plus dnd to behave nice
we had multiple drag resistance values here - unify with 1 and make it
work, now it gets it right deciding between dnd and a long press menu
etc. etc. ...
2018-10-29 17:32:51 +00:00
Carsten Haitzler 63a4475497 Revert "Gadget Menu: Cancel menu after a drag *EITHER* vertically or horizontally, not *BOTH*. Fixes longpress menu interrupting drag in gadgets such as pager."
This reverts commit f56a228e70.
2018-10-26 16:10:01 +01:00
Carsten Haitzler 326271e009 gadget/bryce - add cancellation cb for the context menu 2018-10-26 15:36:56 +01:00
Stephen Houston b708bee7d7 E Gadgets: Restore the behavior of using a binding check on mouse down
while also still using the new menu system.

This binding check/action handler was removed, because I am assuming
that the presumption was that the only binding/action that was handled
was showing a menu?  This was actually not the case.  This
binding/action handler handled resizing, moving, dragging, etc... on
gadgets on the desktop and in the gadget bar.  Without it using gadgets
was near impossible on the desktop and inconvenient on the gadget bar.
2018-10-24 16:33:25 -05:00
Stephen Houston f56a228e70 Gadget Menu: Cancel menu after a drag *EITHER* vertically or horizontally, not *BOTH*. Fixes longpress menu interrupting drag in gadgets such as pager.
The longpress menu was only getting cancelled if a drag occured at a
distance of least 25 pixels.  This is due to the code checking for horizontal drag
distance + vertical drag distance >= 25.  I believe the intent here was
to cancel drag if >= 5 vertically or >= 5 horizontally, not both.  Most
drags wouldn't be 25 pixels in a single gadget such as pager, and a 25
pixel drag would not happen quick enough to offset longpress.  This
commit also lowers the drag cancelling threshold to 3 pixels, not 5.
2018-10-24 15:19:47 -05:00
Carsten Haitzler 2bf682ff5f e menus - fix ungrabbing to ungrab when no active menus are visible
if there are active menus that are not visible the gab may stay- this
fixes that to release that grab when no menus are visible anymore.

@fix
2018-10-18 16:58:51 +01:00
Carsten Haitzler 17ff2a3caf e gadget - fix populate cb proto 2018-10-17 18:13:15 +01:00
Carsten Haitzler b92b546d36 e menu - allow hold mode to be turned off
hold mode is where if u hold mosue down menu stays only as long as
mouse is held down... then dismissed on up. doesnt work well when youa
re trying to overload a single click with longpresses and so on -
optionally turn it off. used in gadgets.
2018-10-17 14:35:49 +01:00
Carsten Haitzler 571daf936d e gadget - allow left mouse drag dnd to cancel long press menu 2018-10-17 11:31:12 +01:00
Carsten Haitzler 06ed527123 bryce - dont segv when unplugging a screen 2018-10-11 16:25:10 +01:00
Carsten Haitzler e4339f4819 bryce - improve usability from code and user by having std right menu
now right click on any gagdte in bryce and they ALL have a menu that
allows removal of the gagdte bar or the gadget as well as access to
gadget settings AND the ability for gadgets to extendthis menu like
lunhcer does per icon. now it's standard behavior everywhere which is
much easier to use and discover. it also removes code from every
gadget to do their own "button 3" handling as its handled centrally
making the code in gadgets simpler.

this is part of my effort to improve usability (mostly discoverability
and accessibility of settings/features).

also  long press left mouse gets u gadget right click menu

this has to move many modules/gadgets actions to mouse up instead of
mouse down so the bryce has a chance to trap the events first and set
hold flags. but now long press for 0.5 sec and bryce menu come sup
(with left mouse .. so touch friendly).

in addition move context menu hanbdling to e_gadget instead of in
bryce and in e_gadget. a context callback is called so different
systems can still do different things. this should probably change to
always pop up a mnenu and simple call populate callbacks for site
owner specific content.

all in all it makes the new gagdtes more consistent, easier to use
(without a right mouse button), doesn't need special action bindings
etc. etc.
2018-10-11 16:25:10 +01:00
Carsten Haitzler a9b303baa5 bryce/gadgets - pass orientation to the style wrapper around the gadget
bryce was missing the ability to espose orientation to the child
items, so they were the same irrespective of orientation.

i also notice that orientaiont is a simple horiz/vert ... so no
ability to special case corners etc. in the theme... :( not sure if
this should be changed.

also fix the aspect calculation to round up correctly to avoid
off-by-1 pixel gaps i noticed with the pager - necessary for the
styling in the flat theme to be right.
2018-10-11 16:25:10 +01:00
Marcel Hollerbach a188cfec0e build: e_gadget_loader is using dlsym
but is not explicitly linking against it. Previously this was not
discovered due to a wrong flag in elementaries pkgconfig. However - the
new .pc file of elementary does not contain dl anymore (as no library
_needs_ to link against it when using elm). So we need to link this here
explicitly

Differential Revision: https://phab.enlightenment.org/D7150
2018-10-10 14:51:35 +02:00
Derek Foreman a037001031 Send unique keymap fds to clients
Summary:
Prevent wayland clients from being able to destroy the compositor's
singleton keymap by making individual copies for each client.

Reviewers: zmike, devilhorns

Reviewed By: zmike, devilhorns

Subscribers: cedric

Tags: #enlightenment-git

Differential Revision: https://phab.enlightenment.org/D6861
2018-08-17 12:28:49 -05:00
Chris Michael f2e0e2d785 enlightenment: Ensure we have a valid menu comp object before calling
Summary:
evas functions

This fixes an issue when quickly mousing through menus can cause a
segfault in Enlightenment due to menu->comp_object being NULL

ref T7030

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric

Tags: #efl, #enlightenment22

Maniphest Tasks: T7030

Differential Revision: https://phab.enlightenment.org/D6641
2018-07-25 14:59:36 -04:00
Carsten Haitzler 986edaf484 e - fix config and don't set ELM_PROFILE as this breaks per scr profiles
elm wont switch profile on the fly if ELM_PROFILE is set this is
considered a custom override thus it stops working... so don't set it
- the elm config files should contain the right profiles to use.
2018-07-25 00:06:02 +09:00
Carsten Haitzler 154c42926d e pixmap - follow on from previous commit to finally fix pixmap tracking
follow on form 4c7b798b45 - really
remove from the alias hash. the alias id is different and should ave
been stored in the pixmap and be deleted when pixmap is freed. i had
it right to remove from the aliases hash too, but i used the wrong id
- i used the "core" pixmap id, not alias. this tracks and uses that
alias.

this means internal windows are reliable now and dont crash...

@fix.
2018-07-19 16:24:08 +09:00
Carsten Haitzler 4c7b798b45 e wl - fix e pixmap tracking to remove from both aliases and pixmaps
on pixmap free only the pixmaps entry was deleted not the pixmaps hash
one. this led to lookup of stale pixmaps in the aliases hash... and
then a crash.

also use the correct local type with the correct byte order as well.
this has probably been an issue for a while but now internal windows
should work much better without crashes.

@fix
2018-07-19 01:58:00 +09:00
Carsten Haitzler 752360e0c0 e randr - fix crash when no zones found 2018-07-18 02:19:12 +09:00
Carsten Haitzler 839d7f4dc2 e blanking - offer option to not use dpms
so a new bug in a gpu driver. if dpms is enabled, wakeup doesn't
happen. mouse doesn't do anything, rendering doesn't happen... i can
use the keyboard and ctrl+alt+enmd restart e or killall -HUP
enlightenment and e restarts and renders ... but nothing appears.
interestingly if i let it timeout again and wake it up a second
time... things render (but e is confused it seems and mouse input
doesnt work until i restart e). it's some kind of xorg/driver bug here
with this dpms - no dpms and all is fine. all e does with regards to
dplms is enable or disbale it (and set the timeouts) so e isn't doing
antyhign special otherwise with dpms on vs off ... so somethnig deeper
down the stack here, but to get a desktop that works at least for now,
add an option to not use dpms.
2018-07-17 13:19:48 +09:00
Mike Blumenkrantz 5365493788 avoid adding render updates for deleted clients after animation completes
Summary:
in the case where deletion is deferred to preserve a window animation this
codepath may be triggered by a deleted client, at which point no render update
should occur in order to avoid compositor errors

ref f78eb3c108
fix T5203

Reviewers: ManMower, devilhorns

Reviewed By: devilhorns

Subscribers: netstar, cedric

Tags: #enlightenment-git

Maniphest Tasks: T5203

Differential Revision: https://phab.enlightenment.org/D6367
2018-06-25 06:54:47 -04:00
Mike Blumenkrantz a6277f4f6d resolve a number of cases where a null object was passed to efl functions
Summary:
these are all harmless but will trigger error messages from efl

ref T7030

Depends on D6315

Reviewers: ManMower, devilhorns

Reviewed By: devilhorns

Subscribers: cedric

Tags: #enlightenment-git

Maniphest Tasks: T7030

Differential Revision: https://phab.enlightenment.org/D6316
2018-06-19 12:01:43 -04:00
Mike Blumenkrantz bc9bccb2b6 make e_comp_object_frame_icon_update() have a bool return for success
Reviewers: ManMower, devilhorns

Reviewed By: devilhorns

Subscribers: cedric

Tags: #enlightenment-git

Differential Revision: https://phab.enlightenment.org/D6315
2018-06-19 11:58:25 -04:00
Carsten Haitzler f345721897 client opacity hint handling in x - fix handling to do 0-ffffffff right
e was not properly handling the opacity hint in its 0-0xffffffff
range. in one case it converted e's color value to this range but just
with << 24 which is wrong as it then ignors the next 24 lower value
bits, so it should fill the next 3 bytes with repeats of the same
value to do this right, but far worse is on READING the value it just
used the value as-is as if it were a 0-ff (0-255) alpha value that we
use in evas and didnt "thunk it down" with val >> 24. this resulted in
renoise menus being blank as renoise set the opacity value on its
menu windows and e happily made them transparent thanks to this.

this fixes that.

not to peolpe fro the above. bitshifting DOWN is ok, but bitshifting
UP leaves the lower bits all 0 and you should fill this range with
repetitions of the value to properly scale in integert space with
bitshifts. :)

@fix
2018-06-02 16:35:39 +09:00
Alastair Poole e2d449348f Revert "module loading: use global symbols with BSDs and local with Linux."
This shouldn't be necessary now.
This reverts commit 28ad7b337c.
2018-05-28 10:33:26 +01:00
Alastair Poole 28ad7b337c module loading: use global symbols with BSDs and local with Linux.
The symbol table fix on Linux doesn't translate well on BSD.
Adding code to use the older behaviour with the BSD systems
and retaining the new preferred behaviour when using dlopen(3)
on Linux.
2018-05-27 12:37:18 +01:00
Carsten Haitzler 4723f7e4a7 add rfkill actions to sysactions.conf - necessary for bluez
so bluez itself wont go rfkill block or unblock the bt device. you
have to rfkill unblock separately if it's blocked. this is needed to
make bluez at a minimum work right. possibly should be added to
connman too. but this is the first step.
2018-05-18 21:45:20 +09:00
Carsten Haitzler 5a1e9a995c e laptop lid fixes to bring back behavior and trim down glitches
so i spent a few days lopening and closing the lids of a few laptops,
plugging and unplugging external screens in, plugging and unplugging
ac power and doing lots of combinations of these. this led to a whole
slew of interrealted issues that were pretty hard to detangle into
just single issues, so this is all one blob.

this fixes:

1. if a lid close gets a monitor unplug from x or e's randr wants to
unplug then this lead to slow unsuspend or lid open times as e was
reconfirguring the screens entireluy on lid open. dont do that. just
keep things as is, unless we have an external display, then reconfigure.

2. we had 2 systems monitoring for a wake. a poller and a systemd
event. this was redundant and lead to interesting things in the debug
output, so clean that up and on systemd systsems use the systemd wake
events

3. some systems dont shut down their screens on lid close, so they
stay open until screensaver timeouts kick in. bad. so also force the
screen to go off on lid close (if the lid screen is the only one we
have).

4. x seems to have a bug where if you force dpms off etc. to turn the
screen on, it still thinks it's of and wont dpms off again after that
until you eother give some input to have the wake event make the dpms
system in x think its now time to go on, or you toggle dpms on and
off, so i found toggling tricks x into thinking the right thing.

this makes some debugging also be consistent with printfs.

all in all i have a pretty well supported laptop doing swimmingly with
e and a not so well designed (acpi dsdt - missing many events like
acpi battery ones, ac power change acpi events, missing logic to power
off a closed screen in firmware or hardware and leaving it to sw...
not this laptop has a tocuh panel and extra fun points awarded since
the touch panel doesnt shut off on lid close... AND it reprots touch
events when it closes  as it touches the keys/case... hooray! that has
another work-around local to my system, as efl has no mechanism to do
this).

@fix
2018-05-18 21:45:20 +09:00
Carsten Haitzler 757f7a7279 module loading - use local symbols to avoid symbol table clashes
the mod init/shutdown syms already are bad infesting the global sym
table. keep modules local/isolated and we'll be better off.
2018-05-18 21:45:20 +09:00
Carsten Haitzler 2e5be79c45 bluez5 support - a new module with gadget etc.
Summary:
bluez4 support is now basically dead. nothing ships it anymore. bluez5
is a new api that is rather different so new code. also a new gui with
more complete features etc.

not everything is done as i'd like. need:

1. many more icons for device types (60-70 maybe?)
2. a few specific custom icons for some action buttons (like
pair/unpair)
3. icons for group headers
4. gadget status - the gagdte itself displays zero status. it's a
button to display a popup. that's all.

Reviewers: zmike!

Subscribers: devilhorns, cedric

Tags: #enlightenment-git

Differential Revision: https://phab.enlightenment.org/D6148
2018-05-18 21:45:20 +09:00
Stephen Houston fa3d86ac84 Remove/mark unused variables to avoid warnings. 2018-04-19 10:18:46 -05:00
Derek Foreman 898af13d6b Defer initial xdg configure for iconified wayland clients
Under wayland, if a client declares itself iconified before its first
commit, we should wait until it's no longer iconified before sending it
a configure.  This way it can avoid uselessly rendering buffers that
will never be displayed.

ref T6834
2018-04-18 13:04:31 -05:00
Carsten Haitzler 7cceed1337 e thumb - be consistent and use safe run for restarting thumbnailer
fix inconsistency in using ecore_exe_run and the e_util wrapper...

@fix
2018-04-12 20:56:46 +09:00
Carsten Haitzler 6da22e22f8 e pan/scrollframe - fix garbage pan values that happen temporarily
during setup garbage pan positions can be set due to uninitialized
local variables. fix that to initialize.

@fix
2018-04-11 14:41:01 +09:00
Carsten Haitzler 20130aec91 efm - dont add null icons to list ... fixes segv
as per title. dont store null icons in the list - not intended to be
that way.

@fix
2018-04-11 14:38:55 +09:00
Carsten Haitzler da02b865f9 startup - fix management of timer pointer for startup timeout
fixes access of invalid timer pointer value on slow systems. (was
being caught with magic/invalid eiod before)

@fix
2018-04-11 14:37:57 +09:00
Carsten Haitzler f13b79c02b efm - fill in some media icon blanks which lead to generic icons
i found a thumbdrive i got a generic "whatever" file icon for...
because efm media type matching didnt find an icon name for it. fix
that.
2018-04-10 17:50:57 +09:00
Carsten Haitzler 8dcf7a8b0a e startup - support gnome autostart delay
support autostart delay - fixes T6785
2018-04-03 18:39:06 +09:00
Carsten Haitzler ab88e01afa edge flip while dragging with alt - fix to work again
this fixes when you drag a wqindow to screen edge and it flips if you
use alt+drag as opposed to just dragging titlebar around without alt.
it fixes it by updating your config to allow "any modifier" for edge
flips which is actually correct.

@fix
2018-04-01 14:29:38 +09:00
Carsten Haitzler 1738aa6cab e menus - when filtering for exe handle quotes, escapes etc.
handle quotes, escapes and so on for the shell command so you can do
things like Exec="ls" and it still work. this will also allow
executables with spaces in them as well with quotes or escapes as
backslash.

this fixes T6787
@fix
2018-03-27 18:59:33 +09:00
Carsten Haitzler 851acc7ff7 desklock - pass lock state info to e_start to lock on crash restart
is e crashes, catches it and restarts while locked you end up
unlocked. this lets enlightenment_start know this lock down state and
it sets an env var to ensure locking happens on restart after recovery.
2018-03-23 17:18:00 +09:00
Derek Foreman 687fd79d25 Fix recent typo in mirror object alpha setting
ref 6a04bfb0ff
2018-03-21 15:54:12 -05:00
Derek Foreman bc3f3c16b7 Fix single frame broken render on wayland client opaque region change
Turns out this is called too late in the render pass and a single frame
can occur with the old border setting.  This can lead to nasty flicker
artifacts.
2018-03-21 14:19:39 -05:00
Derek Foreman 6a04bfb0ff Move alpha set for mirrors out of pixels_get callback
the pixels_get callback fires too late for this to work properly, so
set it in e_comp_object_dirty() instead.
2018-03-21 14:17:16 -05:00
Derek Foreman 0907d6c9d0 Remove useless pixels_dirty_set from mirror_pixels_get
This is implicit at the end of render.
2018-03-21 14:14:52 -05:00
Carsten Haitzler a1994536a4 move from data_home/apps/defaults.list to config_home/mimeapps.list
this moves to the newer mimeapps.list file in ~/.config from the older
defaults.list. it also provides a migration (copy file ovr if target
doesnt exist on e startup).

this fixes T6784

@fix
2018-03-20 20:36:56 +09:00
Carsten Haitzler 55c8ac4625 e desklock pam error - go back to previous text
since we had translations of this, go back to the prior text so we
keep these. also dont show if using a personal password. related to
fixing T6779
2018-03-20 19:31:12 +09:00
Carsten Haitzler a77951f823 desklock - make it fail to lock on non-bsd platforms if no pam support
if no pam support detected at build time, dont even lock to begin
with. this should fix T6779

yes - even better is making pam a requirement for building and to be
optionallhy disabled, but then even if disabled we still need this check.

this has been a long long long standing bug in e. i think this is why
we had some reports of "any password unlocks e" - because it was built
without pam support and before auth was always succeeding without pam.
now it is always FAILING instead (which is probably better).

@fix
2018-03-20 18:42:18 +09:00
Al Poole f72aa5671d ckpasswd: fix build on OpenBSD (typo) 2018-03-09 16:37:04 +00:00
Al Poole eee5853dac e_object: set pointer to NULL after cleanup func. 2018-03-02 11:40:53 +00:00
Al Poole d70733bbdc Byte order macro. Be consistent and get rid of clang warnings. 2018-03-01 18:35:16 +00:00
Mike Blumenkrantz b950ae8020 remove adding theme extension for "default" theme on startup
elm_theme does this automatically so there should never be a need for it
2018-02-27 17:41:01 -05:00
Carsten Haitzler 51cb454993 e auth - move all auth to child process only (e_ckpasswd).
this should fix T6211 ensuring no drivers can cause a segfault at exit
time. this also happens to remove the enlightenment_sys -z option for
openbsd and unifies all the passwd checking into the single
enlightenment_ckpasswd binary util (that has ifdefs for openbsd,
freebsd and linux pam in it).

this simplifies code removing a mess of auth being done in multiple
places, removes special fork vs run 1 exe or a different exe in
different cases making it more maintainable. yes - this requires
enlightenment_ckpasswd to be setuid root, but it already was when it
was built.

@fix
2018-02-26 19:01:46 +09:00
Mike Blumenkrantz f57cd82beb set E_GADGET_ANCHOR env var corresponding to the gadget sites anchor
this value can change without destroying the gadget, but it can be
helpful to have this data available during initial setup
2018-02-22 17:08:42 -05:00
Mike Blumenkrantz 52e7131477 add info about gadget bindings to editor, make editor movable
ref T6341
2018-02-22 16:21:16 -05:00
Mike Blumenkrantz 7156ed8c38 always unset pass_events on desktop editor when it is shown
fixes some cases where the editor could not be interacted with after
it was hidden during gadget placement
2018-02-22 16:21:16 -05:00
Mike Blumenkrantz b51552ca87 do not add gadget editor pointer site to editor del_list
the pointer site will never exist at the time when the editor is
destroyed
2018-02-22 16:21:16 -05:00
Mike Blumenkrantz fd4a942906 add e_binding function to return printable string of modifiers for mouse binding 2018-02-22 16:21:16 -05:00
Thanatermesis ca99207bdc Fix for window borders to accept edje icons
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
2018-02-22 19:35:38 +01:00
Mike Blumenkrantz 5de469a690 toggle sandbox gadget visibility during desklock for non-desklock gadgets
this triggers surface.leave events for clients while desklock is active
and allows them to conserve resources
2018-02-22 12:59:13 -05:00
Mike Blumenkrantz c1cd24a561 process comp object hide/show signals immediately during intercept
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
2018-02-22 12:36:47 -05:00
Mike Blumenkrantz 10ae53b994 re-set sandbox gadget cmdline on startup
ensure that this is updated in case the .desktop changes
2018-02-22 11:45:46 -05:00
Mike Blumenkrantz af24997906 disable bounce for gadget bar scrollers
fix T6721
2018-02-22 08:49:34 -05:00
Mike Blumenkrantz d24055e361 store gadget orientation for runner gadgets
ref 66030a4639
2018-02-13 11:43:19 -05:00
Mike Blumenkrantz 66030a4639 set E_GADGET_ORIENTATION env var when launching sandbox gadgets 2018-02-13 10:48:14 -05:00
Mike Blumenkrantz 5bbc335ed9 remove gadget runner function stubs for pre 1.21 compat 2018-02-06 11:17:37 -05:00
Mike Blumenkrantz ed361340d7 don't require E_START env var to be set when running on valgrind
make manually valgrinding easier
2018-02-06 11:17:26 -05:00
Mike Blumenkrantz 1106bbde50 prepend input event handlers during init to ensure continued functionality
these handlers must always be the first to be called, so it's necessary
to guarantee that they will always be first in the list of handlers
2018-02-06 11:17:20 -05:00
Mike Blumenkrantz ec8b606614 add macro for adding a prepended event handler to a list 2018-02-06 11:17:14 -05:00
Mike Blumenkrantz aba428d86c add missing efl-wl header from mismerged commit
ref 9a484d1b64
2018-02-06 11:00:09 -05:00
Mike Blumenkrantz e662727595 Revert "use wl client geometry when calculating input rect geometry"
This reverts commit aa404d3916.

this seems to be an intermittent issue that should probably be fixed
elsewhere...

fix T6646
2018-01-29 12:38:05 -05:00
Mike Blumenkrantz 3c7f444f11 fix unused param warning 2018-01-25 14:20:41 -05:00
Mike Blumenkrantz aa404d3916 use wl client geometry when calculating input rect geometry
the x/y values of a comp object are unreliable during init, so ensure
valid coords are used to avoid accidentally moving input rects offscreen
2018-01-25 14:19:19 -05:00
Mike Blumenkrantz 79d757e21e add runner gadget objects to global efl-wl list and handle dynamic seat additions
enforce keymap passthrough under wayland
2018-01-24 16:18:57 -05:00
Mike Blumenkrantz 9a484d1b64 add generic handling for passing xkb objects to efl-wl objects under wayland
ensure that keymaps are effectively propagated to efl-wl clients and that key
presses are always propagated
2018-01-24 16:18:57 -05:00
Mike Blumenkrantz 27d505fb59 require [X-Gadget-Bugreport] entry for sandbox gadgets, integrate bug reporting 2018-01-22 17:03:45 -05:00
Mike Blumenkrantz 6f9b14b8ee print notifications to stderr if a notification handler doesn't exist 2018-01-22 16:52:00 -05:00
Mike Blumenkrantz 815391126e further protect against crashes when xwayland crashes 2018-01-22 16:51:40 -05:00
Mike Blumenkrantz 0e53e5aade xwayland popups don't require a parent surface on commit 2018-01-22 16:51:05 -05:00
Mike Blumenkrantz 8ffda5f23a don't do x11 window grab for fps counter when running in wayland mode
this crashes older efl
2018-01-22 16:21:28 -05:00
Mike Blumenkrantz efa9f4276a fix notification crashes when a callback isn't specified 2018-01-22 16:06:42 -05:00
Mike Blumenkrantz 69c570104a require X-Gadget-Version field for sandbox gadget .desktops 2018-01-22 15:59:09 -05:00
Mike Blumenkrantz 83041e4815 add menu item for reporting bugs
fix T6633
2018-01-22 15:35:58 -05:00
Mike Blumenkrantz 35f705a621 support gadget versions with [X-Gadget-Version] .desktop entry
fix T6397
2018-01-22 15:25:31 -05:00
Mike Blumenkrantz 9bba6e80e4 require [Type] = Application for sandbox gadget .desktop entries 2018-01-22 15:20:38 -05:00
Mike Blumenkrantz aa9ece4722 require [Name] entries for sandbox gadget .desktop files 2018-01-22 15:20:38 -05:00
Mike Blumenkrantz 83952a1708 add notification util function for more easily sending notifications
still need some kind of sticky notification for important things
2018-01-22 15:20:38 -05:00
Mike Blumenkrantz 109d7897b0 show title for gadget bar menus 2018-01-22 15:20:38 -05:00
Mike Blumenkrantz 0e14928811 add sandbox/runner gadget types to gadget menu as title 2018-01-22 15:20:35 -05:00
Mike Blumenkrantz d309a9c39b add gadget type to gadget menu header for internal gadgets 2018-01-22 14:39:53 -05:00
Mike Blumenkrantz 9a557876c2 use normal emotion function to determine playability of e_thumb files
ref 82f1b8a1c1
ref D4779
2018-01-22 14:16:26 -05:00
Mike Blumenkrantz adc3c5ac81 clamp large windows to desk's useful geometry if smart placement fails
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
2018-01-22 13:41:45 -05:00
Mike Blumenkrantz 7f649d078b block gadget site layouts on moving gadgets which are not on the pointer site
these will be recalculated correctly once the move operation terminates

fix T6623
2018-01-22 11:17:54 -05:00
Mike Blumenkrantz e787a71048 clear visible gadget popups when triggering a gadget action 2018-01-18 15:33:11 -05:00
Mike Blumenkrantz 617735ca4c consider gadget ctxpopups as normal popups for callback purposes 2018-01-18 15:31:43 -05:00
Mike Blumenkrantz 265dd55163 sort gadgets alphabetically in gadget editor 2018-01-18 15:02:11 -05:00
Mike Blumenkrantz 037068112f flush injected gadget loader protocol connections after calling methods
ensure that gadget-specific methods trigger a flush instead of relying
on a render to occur
2018-01-17 17:31:09 -05:00
Carsten Haitzler d73d902292 init anim - fix sudden vanish of init splash in some cases
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
2018-01-17 18:14:29 +09:00
Mike Blumenkrantz 683f76beab add a lot of null checks to wayland egl init
fix T6617
2018-01-16 18:36:11 -05:00
Stephen Houston f4cff7229f Mark unused parameters as EINA_UNUSED and remove unused variables. 2018-01-12 16:58:16 -06:00
Mike Blumenkrantz 0fa5d3d0e3 rename Bryce -> Gadget Bar in ui elements
this was a joke that accidentally went on way longer than intended
2018-01-12 15:23:52 -05:00
Mike Blumenkrantz 7b31d05ff2 unset E_Client->changes.pos when attempting to maximize a new re_manage client
a remaining client from before a restart which is maximized does not need its
position adjusted; this will cause it to go offscreen when unmaximized

ref T6414
2018-01-12 12:26:21 -05:00
Mike Blumenkrantz 6c97716899 use e_zone_desk_useful_geometry_get() for all client maximize geometry fetching
fix T6414
2018-01-12 12:26:21 -05:00
Mike Blumenkrantz b95e28fd91 propagate sandboxed gadget tooltip sizes as aspects
xdg_popup does not have min size hints, so instead we can proxy aspect through
to mimic this behavior
2018-01-11 16:24:00 -05:00
Mike Blumenkrantz 94270ffd93 pass correct pointer to sandbox gadget tooltip destructor
fix crash when hiding tooltips
2018-01-11 16:24:00 -05:00
Mike Blumenkrantz 6b002d58a2 explicitly show sandbox gadget extracted surfaces
ensure that these surfaces are made visible if they have not yet been internally
mapped

ref T6443
2018-01-10 14:22:11 -05:00
Mike Blumenkrantz 0568e20ba5 use SIGTERM for closing all sandbox gadgets, SIGUSR2 for removing gadgets
this should be more usable
2018-01-09 14:41:14 -05:00
Mike Blumenkrantz 83f77b0156 use SIGINT when closing sandboxed gadgets 2018-01-09 10:01:32 -05:00
Mike Blumenkrantz d2c85e5471 Revert "add sandbox gadget event to indicate gadget removal"
This reverts commit 6549353b53.

I had forgotten that this is already handled by other means
2018-01-09 09:57:36 -05:00
Mike Blumenkrantz 6985df9058 throw unconfigured buffer error as necessary in wl_surface.commit 2018-01-08 11:53:52 -05:00
Mike Blumenkrantz beb6922a17 always throw error in wl_surface.commit for unparented popup surfaces 2018-01-08 11:52:58 -05:00
Mike Blumenkrantz 5cc08794ee handle passed output resource for xdg-shell fullscreen request 2018-01-08 11:14:05 -05:00
Mike Blumenkrantz f34c780db3 print error when failing to unlink efm/eeze mount point after unmount
CID 1382955
2018-01-08 10:46:25 -05:00
Mike Blumenkrantz 6ad75a5e85 protect against null deref when emitting efm/eeze error messages
CID 1382954
2018-01-08 10:46:25 -05:00
Mike Blumenkrantz b9a9bd1da9 refactor E_Storage finding for efm/eeze volumes in backend
CID 1382951
2018-01-08 10:46:25 -05:00
Mike Blumenkrantz c662eab434 add sandbox gadget event to indicate gadget configure
ref T6443
2018-01-05 12:33:39 -05:00
Mike Blumenkrantz 8bd02aca70 set runner gadget instance data to gadget object, not sandbox object
fixes crash when configuring gadget
2018-01-05 12:33:39 -05:00
Mike Blumenkrantz 6549353b53 add sandbox gadget event to indicate gadget removal
ref T6443
2018-01-05 12:33:39 -05:00
Mike Blumenkrantz 81891eeb8e explicitly tag sandbox gadget instances as such 2018-01-05 12:33:39 -05:00
Mike Blumenkrantz a8ebefcb68 use only required wayland protocol files for gadget loader build 2018-01-05 12:33:39 -05:00
Mike Blumenkrantz 99f1f21665 only use first-added window for gadget interfaces in sandboxing
popups and tooltips are not valid for gadget api use, only the base window
for a gadget should receive/use gadget methods
2018-01-05 12:33:39 -05:00
Mike Blumenkrantz e78c1843ae handle tooltips in sandboxed gadgets
fix T6335
2018-01-05 12:33:39 -05:00
Thanatermesis 3d9044a9fc improved default size for icons in menus that looks pixelated 2018-01-04 20:22:42 +00:00
Ross Vandegrift 629f7d41c8 clean up .desktop files and misc typos
Summary:
Drop deprecated Encoding key from desktop files

The Encoding key is no longer required, all desktop files are assumed to
be UTF-8 encoded.  See details at:
https://standards.freedesktop.org/desktop-entry-spec/1.1/apc.html

Fix various typos and misspellings

lintian, Debian's package checker, uses strings to check for common typos
in compiled binaries.  This change fixes the ones it identified in 0.22.1.

Reviewers: zmike!

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5585
2018-01-04 09:57:52 -05:00
Derek Foreman 2a7312d2bc Fix potential NULL pointer dereference
CID 1382953
2017-12-21 09:54:42 -06:00
Al Poole 481a4d6611 build: fix meson build on FreeBSD.
Summary: -Dsystemd=false and -Ddevice-udev=false with this.

Reviewers: raster, zmike!

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5648

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-12-15 11:32:20 -08:00
Carsten Haitzler 4f26b4b1dd e come client - actually set placed more generally...
previous fix... was not general enough. put this outside the if that
only places if props change or size pos hints need fetching.

@fix
2017-12-14 23:10:58 +09:00
Amitesh Singh 4d340f2114 Revert "re-enable building against latest efl git"
This reverts commit a782beba82.

the legacy API was missing. I added it in EFL now.
Refer 1264fb4af2 in EFL.

Fixes T6500
2017-12-13 13:45:35 +09:00
Chris Michael a782beba82 re-enable building against latest efl git
In EFL git head, this function has changed to be just
evas_object_coords_inside_get. This patch wraps the two different
function names around an #ifdef so we can check EFL version that we
are building against and call the correct function accordingly.

Fixes T6500

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-12-12 10:19:37 -05:00
Marcel Hollerbach 45aeda7843 build: enable -lintl if we find it
otherwise translations are not working
2017-12-11 15:47:33 +01:00
Carsten Haitzler a2740126f1 e client - fix initial placement of override redirect windows in x....
several override redirect windows are being forcibly re-placed by e.
they should not be. ever. this affects scim's IM panel i see and
chromium's menus. it probably affects more than this. this fixes both
of these cases for sure. probably more.

@fix
2017-11-26 00:28:31 +09:00
Mike Blumenkrantz bd88282047 remove autotools 2017-11-20 07:05:36 -05:00
Carsten Haitzler 9fe7343180 fix mouse hangs after unblank
this fixes T5883
2017-11-14 18:15:26 +09:00
Derek Foreman db9e70708a Make e_gadget_runner.c compile on efl 1.20
It won't work, but it won't fail to build.  Temporary hack until 1.21
is released.
2017-11-09 12:39:24 -06:00
Mike Blumenkrantz 8b798d9fb0 move x11 client re_manage code into corresponding NEW_CLIENT hook
setting desk after e_client_new() completes is too late, as a desk will have
been automatically set by this time and any existing positioning data will
have been mangled in the process

fix T6317
2017-11-08 09:29:35 -05:00
Mike Blumenkrantz f05b26c8a3 set zone/desk for clients after creating comp object
previously this resulted in attempting to move the comp object before it
was created, but evas does not throw any errors when null is passed and so
it was never noticed

fix T6317
ref T6326
2017-11-08 09:29:28 -05:00
Mike Blumenkrantz a7d5920ba6 unset E_Client->changes.pos for re_manage clients
I think this was unintentionally working around a placement bug?
2017-11-08 09:28:52 -05:00
Mike Blumenkrantz 99db9e2557 more E_BITFIELD conversions 2017-11-08 09:22:24 -05:00
Mike Blumenkrantz 791f70541d unify meson version requirements for efl 2017-11-07 10:41:45 -05:00
Mike Blumenkrantz 19a807bdb2 always emit E_EVENT_COMP_OBJECT_ADD events
fix T6322
2017-11-07 10:40:12 -05:00
Mike Blumenkrantz e7cfd06675 avoid performing client rescales during shutdown 2017-11-07 10:40:00 -05:00
Mike Blumenkrantz 59fa0e418d use E_BITFIELD define for bitfield struct members
on release builds this will be a bitfield, on devel builds it will make
bools a normal unsigned char for easier debugging
2017-11-07 10:39:56 -05:00
Mike Blumenkrantz f78eb3c108 requeue client for render if show animation completes and damages exist
attempt to catch clients which have a render queued prior to the image
becoming visible
2017-11-07 10:39:33 -05:00
Mike Blumenkrantz dde4bafd7f add field width limits to all fscanf params in e_intlc.
fix T6316
2017-11-07 10:39:17 -05:00
Carsten Haitzler 147bc7a6da e comp object - patch volume update case for propagating state signals
complete f161edc3f3 with missing update
case

@feature
2017-11-07 16:16:33 +09:00
Carsten Haitzler f161edc3f3 comp object -> propgate signals to the volume objects from the frame
if frame changes (eg by focus signals) the volume object cant adapt.
send signals to it too so it can adapt if it wants to.

@feat
2017-11-07 15:41:35 +09:00
Carsten Haitzler 4f5067dde9 hits: silence warnings about possible null string for strcmp 2017-11-06 11:19:39 +09:00
Carsten Haitzler dd9a6637e4 e sys - frix warning for less noise
though act will not be set unless mnt is also true... this means less
noise from compiler wanrings so we can focus on real errors.
2017-11-06 10:24:37 +09:00
Mike Blumenkrantz b40398ab30 make autotools build depend on protocol xml files to pull in changes 2017-11-03 14:01:17 -04:00
Mike Blumenkrantz aeee701b63 fix undefined symbols on autotools+wayland build 2017-11-03 14:01:14 -04:00
Mike Blumenkrantz ecb0370ea9 save sandbox gadget configs when saving normal gadget config 2017-11-03 13:51:41 -04:00
Mike Blumenkrantz 2e81e5f8de disable sandbox gadgets if loader cannot be found on startup 2017-11-03 13:51:12 -04:00
Mike Blumenkrantz b8f8c42aec make wl_pointer cursor handling state-based to correctly handle cursor visuals
this fixes a lot of corner cases such as apps which set their cursor before
receiving pointer.enter events
2017-11-03 13:21:57 -04:00
Mike Blumenkrantz 58e686caec show internal pointer cursor whenever resetting to internal cursor
don't rely on efl internals for this
2017-11-03 13:19:54 -04:00
Mike Blumenkrantz f4470e002e add gadget sandboxing
docs in progress, tasks https://phab.enlightenment.org/project/board/179/
2017-11-03 11:47:35 -04:00
Mike Blumenkrantz 9302f23a56 bump efl pc required version 2017-11-03 11:43:07 -04:00
Mike Blumenkrantz 3ddd090173 fix non-pam build with meson 2017-11-01 14:04:06 -04:00
Mike Blumenkrantz 577f62e9b1 pass key downs through xkbcommon
bad copy/paste in 984a1facd9
2017-11-01 13:20:19 -04:00
Mike Blumenkrantz b5320b6246 explicitly free client animation agent object during fullscreen operation
ensure that animations do not persist after fullscreen state has been set
2017-10-31 12:04:48 -04:00
Mike Blumenkrantz 0f216c7e95 handle more mouse buttons under wayland
this was incorrectly referenced from weston's x11 compositor, which directly
uses xcb events and sends them as wl_pointer events. efl translates all input
events to use the same button scheme numbering, coincidentally enabling the use
of this code for all backends
2017-10-30 10:51:20 -04:00
Mike Blumenkrantz 47df20207d block wl modal window destructor from intercepting xwl modal windows
failing to pass these to the xwl destructor breaks the xserver

ref T5593
2017-10-30 10:29:39 -04:00
Mike Blumenkrantz ac49e6de22 unset xwayland client changes.pos flag during xwl->wl switch if client is unplaced
fixes some initial client positioning issues
2017-10-30 10:29:39 -04:00
Carsten Haitzler 4f8e3acfcf nvidia driver workaround atexit handlers for pam auth
this works around an apparently atexit() handler in nvidia drivers
that if you fork() a parent and do NOT exec() then the child process
will end up messing with the parent processes access to the nvidia
devices/display/whatever i believe via an atexit() handler because
moving from exit() to _exit() solves the issue. fixes T6197

@fix
2017-10-30 13:11:06 +09:00
Carsten Haitzler 3daf3ac456 e main - xdg runtime dir fixup - dont overwrite same buffer
this path i never saw triggered before on linux because xdg runtime
dir is set... but if it isn't... dont mess up the runtime dir path

@fix
2017-10-28 23:43:50 +09:00
Mike Blumenkrantz 3d701839b6 send wl pointer leave for deleted clients if viable 2017-10-27 13:21:03 -04:00
Mike Blumenkrantz bbb3ec1fc5 unset client's mouse-in state on mouse out even while fullscreen or deleted
the state should always be updated regardless of these attributes
2017-10-27 13:21:03 -04:00
Carsten Haitzler 32be41d505 ptr grab/ungrab for blank/unblank - log stages and work done for debug
looking to get more info for what is going on...
2017-10-26 10:50:37 +09:00
Derek Foreman 930cf317d6 Clear stored root window id when shutting down X
Currently e_comp_util_has_x() will still return true after the X
machinery is shut down - this can lead to crashes on logout under
wayland when xwayland apps are running.  Clearing the root window
id resolves this.

@ref T5593
2017-10-25 10:45:05 -04:00
Mike Blumenkrantz c09b2f35dd add client refs for volume control sinks
ref T6150
2017-10-25 10:45:05 -04:00
Mike Blumenkrantz 40be5b9d45 move x11 compositor cleanup into shutdown function 2017-10-25 10:45:05 -04:00
Derek Foreman 680b7b485d Fix xwayland related crash when mousing out of a window
XWayland likes to set a buffer on the cursor surface then delete it before
we release it.  I'm pretty sure when a client does that we're within spec
to just kill it, but users will likely find this response ungratifying.

So, instead, just gracefully fail to render the undefined surface.

@ref T5593
2017-10-24 13:57:00 -05:00
Mike Blumenkrantz 02ea045ca7 cancel wl selections after removing destroy listener
cancel may destroy the selection source, resulting in invalid access

==10735== Invalid write of size 8
==10735==    at 0x87C8095: wl_list_remove (wayland-util.c:56)
==10735==    by 0x2EE745: _e_comp_wl_data_device_selection_set (e_comp_wl_data.c:506)
==10735==    by 0x2EF241: _e_comp_wl_data_device_cb_selection_set (e_comp_wl_data.c:714)
==10735==    by 0x1021F037: ffi_call_unix64 (in /usr/lib/x86_64-linux-gnu/libffi.so.6.0.4)
==10735==    by 0x1021EA99: ffi_call (in /usr/lib/x86_64-linux-gnu/libffi.so.6.0.4)
==10735==    by 0x87C70C0: wl_closure_invoke (connection.c:935)
==10735==    by 0x87C13C8: wl_client_connection_data (wayland-server.c:406)
==10735==    by 0x87C4483: wl_event_source_fd_dispatch (event-loop.c:90)
==10735==    by 0x87C4DE4: wl_event_loop_dispatch (event-loop.c:423)
==10735==    by 0x85AE346: _cb_create_data (ecore_wl2_display.c:399)
==10735==    by 0x946857A: _ecore_call_fd_cb (ecore_private.h:347)
==10735==    by 0x946AE51: _ecore_main_fd_handlers_call (ecore_main.c:2015)
==10735==    by 0x946B823: _ecore_main_loop_iterate_internal (ecore_main.c:2403)
==10735==    by 0x946935E: ecore_main_loop_begin (ecore_main.c:1308)
==10735==    by 0x151139: main (e_main.c:1088)
==10735==  Address 0x222ca980 is 16 bytes inside a block of size 136 free'd
==10735==    at 0x4C2CE1B: free (vg_replace_malloc.c:530)
==10735==    by 0x2F076F: e_comp_wl_clipboard_source_unref (e_comp_wl_data.c:1291)
==10735==    by 0x214C6A09: _xwayland_send_cancelled (dnd.c:149)
==10735==    by 0x2EE71D: _e_comp_wl_data_device_selection_set (e_comp_wl_data.c:504)
==10735==    by 0x2EF241: _e_comp_wl_data_device_cb_selection_set (e_comp_wl_data.c:714)
==10735==    by 0x1021F037: ffi_call_unix64 (in /usr/lib/x86_64-linux-gnu/libffi.so.6.0.4)
==10735==    by 0x1021EA99: ffi_call (in /usr/lib/x86_64-linux-gnu/libffi.so.6.0.4)
==10735==    by 0x87C70C0: wl_closure_invoke (connection.c:935)
==10735==    by 0x87C13C8: wl_client_connection_data (wayland-server.c:406)
==10735==    by 0x87C4483: wl_event_source_fd_dispatch (event-loop.c:90)
==10735==    by 0x87C4DE4: wl_event_loop_dispatch (event-loop.c:423)
==10735==    by 0x85AE346: _cb_create_data (ecore_wl2_display.c:399)
==10735==    by 0x946857A: _ecore_call_fd_cb (ecore_private.h:347)
==10735==    by 0x946AE51: _ecore_main_fd_handlers_call (ecore_main.c:2015)
==10735==    by 0x946B823: _ecore_main_loop_iterate_internal (ecore_main.c:2403)
==10735==    by 0x946935E: ecore_main_loop_begin (ecore_main.c:1308)
==10735==    by 0x151139: main (e_main.c:1088)
==10735==  Block was alloc'd at
==10735==    at 0x4C2DC05: calloc (vg_replace_malloc.c:711)
==10735==    by 0x2F0520: e_comp_wl_clipboard_source_create (e_comp_wl_data.c:1231)
==10735==    by 0x214C71C9: _xwl_selection_notify (dnd.c:286)
==10735==    by 0x946130C: _ecore_call_handler_cb (ecore_private.h:331)
==10735==    by 0x94626BC: _ecore_event_call (ecore_events.c:629)
==10735==    by 0x946B83E: _ecore_main_loop_iterate_internal (ecore_main.c:2408)
==10735==    by 0x946935E: ecore_main_loop_begin (ecore_main.c:1308)
==10735==    by 0x151139: main (e_main.c:1088)
2017-10-20 13:40:20 -04:00
Mike Blumenkrantz 160d6b91a0 null wl clipboard+selection source pointers when destroying clipboard source
fix T6242
2017-10-20 13:40:20 -04:00
Mike Blumenkrantz b24b68df77 set null input regions for surfaces upon calling set_cursor or start_drag
these surfaces have no input region according to spec
2017-10-20 13:40:20 -04:00
Mike Blumenkrantz 5cab9486f3 ignore set_input_region requests for wl surfaces which are cursors or drags
according to spec this is correct behavior
2017-10-20 13:40:20 -04:00
Mike Blumenkrantz b3356a7e8f do not unqueue render when deleting a client's render update
a render loop may run for reasons other than rendering a specific client
2017-10-20 13:40:20 -04:00
Mike Blumenkrantz ef69fabd47 add client refs for the nocomp client
this client may be referenced after deletion during render loop

fix T6151
2017-10-20 13:40:20 -04:00
Carsten Haitzler 0fada40917 smart suspend - honor suspend on ac or not flag as it should
so if you closed the lid ANd didn't have external screens ANd had ac
plugged in ... e would suspend even if youdidn't have "suspend on ac"
checked in blanking dialog. respect this and handle it properly.

@fix

side note... i've notced acpid no longer reporting lid events on one
of my systems. this is very sucky. you now have to open
/dev/input/event2 (this may vary from device to device) to get lid
events... it's an input device. this means elput needs to start doing
this as we cant get power button or lid events anymore .... and we may
have to do this for x11 too.
2017-10-18 13:33:47 +09:00
Mike Blumenkrantz f20765df67 add render update when showing clients if damages exist
ensure that these clients render as expected

ref T5593
2017-10-13 09:46:19 -04:00