Commit Graph

12362 Commits

Author SHA1 Message Date
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
Mike Blumenkrantz fd68c99b64 always use e cursor theme for canvas pointers
canvas pointer = wl compositor pointer = always use e theme since there is no
loader for x11 cursors
2017-10-09 07:09:38 -04:00