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
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
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
If a new install show the system wallpapers. If a user supplied
wallpaper show the list of user supplied. If a system, show the
system list of wallpapers. On a fresh install on first use people
realise there are wallpapers!!!
Reverting this as it has issues still, and when multi-output support
for wayland lands this is not going to work anyway.
This reverts commit 8f5299be08.
This change is needed because if we call
ecore_evas_screen_geometry_get before calling e_comp_wl_init, then
when the drm2 randr settings are applied, the screen geometry could
change (saved resolutions are restored). This commit ensures that drm2
has the same resolution settings as the randr ones, and
screen_geometry_get will return the proper values now.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
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>
there are a few systems out there that are checking the .so files that
are linked dynamically into a created shared library. This leads to a
problem, since the .so files often also carries unresolved symbols,
which are resolved by other dynamic linked .so files. However, to ship
arround those picky systems, we are not reacting to unresolved symbols
at all for now. The error will rise at runtime and come up in a nice
little dialog instead.
this fixes build on bsd
This patch enables all degrees of rotation to be selectable in the
Screen Setup dialog. It then applies the rotation based on hardware or
software ... that is, if the hardware can do the selected rotation,
then we use hardware otherwise we will use ecore_evas_rotation
functions (software).
ref T5999
Signed-off-by: Chris Michael <cp.michael@samsung.com>
These look like simple copy-paste issues however coverity was
reporting null pointer dereferences here so fix those.
Fixes Coverity CID1382959
Signed-off-by: Chris Michael <cp.michael@samsung.com>
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
find_program() did not detect the eldbus-codegen binary in a given
prefix. Which is a situation we have on Jenkins builds. Make it an
option that can be set like we already do with edje_cc.
If there is a more meson-like approach to this I do not know feel free
to enlight me.
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
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
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
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
If we pass in screen geometry here when trying to set an output mode,
we can encounter "out of memory" errors from libdrm with outputs that
have a high resolution. As it turns out, we should be passing 0, 0 for
the x/y values when trying to set an output mode.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
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
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
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)
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.
comp_type is not set during initial pointer creation on startup but will be set at
the point of xwl startup, so use a check which will succeed
fix T6157
ref 2b8c70fe98
this laptop wakes from suspend if you plug or unplug it while
suspended. this leads to bad things. fix nthis by checking lid state
and resuspending if this happens.
@fix
This reverts commit 9e3b8b7528.
this only affects runtime in wayland-only environments while not preventing the option
from taking effect, meaning it affects nobody and prevents nothing
this function is mainly for rescaling maximized/fullscreen clients to fit new
dimensions, so don't call on other clients since this can trigger unwanted resize
events
This reverts commit 40e8bb044c.
EFL master solves this properly
EFL stable currently has a bug that solves this accidentally
so there's a window of about 3 commits in git where it's a problem,
and nobody should run those commits in production :)
This fix caused some problems when restarting E, as stdin would
cloexec and then the following startup would try to set cloexec
on an invalid fd and generate an err that generated a cri because
of an invalid log domain.
Someone should probably figure out the log domain thing.
Summary:
This implements support for Connman's proxy configuration.
The 'all_proxy', 'http_proxy', 'https_proxy' environment
variables are set to the first value of the 'proxy_servers' set.
The 'no_proxy' environment variable is set to a concatenated string
of all the 'proxy_exclude' values.
Reviewers: zmike!
Subscribers: cedric
Maniphest Tasks: T5442
Differential Revision: https://phab.enlightenment.org/D4833
modified by zmike
commit b9d166f804 introduced
safer exe functions that both prevent a child from having E's
stdin/stdout/stderr and ensure the child's fd 0 (and 1 and 2) are
"valid" file descriptors (to work around some buggy software that
assumes 0 is an invalid file descriptor)
This commit uses the safer functions when launching child programs from
the desktop menu as well.
ref T5606
@fix
this is specifically needed for wayland but is relevant to x with
startx too ... dont let processes that e runs like apps inherit
stdin/out/err as it may be a tty and thus allow apps to do nasty
things with that tty.
@fix
Turns out ecore_animator_add() can randomly pick the wrong canvas to use as
a tick source. Using EFL_EVENT_ANIMATOR_TICK on the compositor evas instead
will ensure we don't accidentally pick an internal window for a tick source.
Fix T6070
"
I have a directory at the head of my PATH that contains alternate
versions of command line utils like grep, ls, etc., but E puts
/usr/bin ahead of it, overriding my tools of choice with the system
defaults.
If my understanding is correct, the only way currently to have
directories that E prepends to your PATH appended instead is to use
-i-really-know-what-i-am-doing-and-accept-full-responsibility-for-it.
I'd like to see a more sane option if there isn't one already.
Alternatively, I wonder if it wouldn't be a better idea to only
prepend directories to PATH if they aren't already contained within
it--thereby preserving the user's desired search order.
"
this should fix T5953
@fix