for security reaons, all the dbus methods that allow you to mess with
e are now in the msgbus module - load at your own risk. this is
irrelevant in x11, but in wayland this matters as wayland is actually
secure.
this also disables restart and shutdown dbus methods still in core.
they are there but non-functional due to possibly being able to be
abused in a wayland universe to "dos attack" the wm.
@fix
due to enabling manual rendering (and als animator frametiem to 10
secons) in e_comp_canvas.c when screensaver is active (blanking is
finished totallly - eg the fade to black) evas weill nto render the
last frame of the animation - skipping it and not rendering another
update until screensaver is disabled. this leaves a subtle ghost of
pixel data which is 1 step before black on the screen (until dpms
turns the monitor off).
this fixes that. this delays enabling manual render for 1 more second
after we have been told the screensaver is active. this is plenty of
time to update all the way to black.
@fix
in the case where a client is deleted, it's possible that the shell
surface may persist longer than the duration of the normal client delete
cycle, so it's necessary to ensure that the client will continue to exist
until the shell surface has been destroyed
Summary:
Found this with a quick valgrind session. For paths that are not directories, if we fail the `ecore_file_is_dir` condition memory will not be freed.
The change is to use the default e_path freeing function.
Test Plan:
Run enlightenment in valgrind. It should no longer show a mem leak like below.
```
==6912== 8 bytes in 1 blocks are definitely lost in loss record 186 of 5,940
==6912== at 0x4C28C50: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==6912== by 0x4D8574: e_path_dir_list_get (e_path.c:326)
==6912== by 0x4D1BA4: e_module_init.part.0 (e_module.c:183)
==6912== by 0x4D1DA8: e_module_init (e_module.c:153)
==6912== by 0x4371ED: main (e_main.c:868)
```
Reviewers: zmike
Subscribers: cedric, seoz
Differential Revision: https://phab.enlightenment.org/D3356
This reverts commit bd0c590489.
the m->mirror object can never be deleted except in the case of a client
being removed from the owner desk. removing it at any point will break any
users of the deskmirror api and create other issues
ref T2846
Summary:
The imc import dialog at "Settings > Language > Input Method Settings >
Import .." had issue where the size was almost zero. When trying to
close the window it would SEGV.
The SEGV seems to be do the with dialog->cdata not being set.
The resize issue I am not so sure, but I upgraded to ELM and if fixed
the issue.
Test Plan:
Open "Settings > Language > Input Method Settings > Import ..."
- The size should not be really small
- When closing it should not cause E to SEGV
After applying the patch the above issues are fixed.
Reviewers: zmike
Subscribers: cedric, seoz
Differential Revision: https://phab.enlightenment.org/D3353
there was previously a frame in which maximized x11 csd clients would
reposition themselves offscreen before rendering
this is now fixed by adjusting the client geometries either upon
unsetting the csd or re-setting it, allowing the client to retain its
expected positioning without jitters
a sticky window previously would always have the desk set for where
it was set as sticky, meaning that anything which tries to access it
will be reading wrong data here.
more useful information to provide is the last desk which the sticky
client was focused on, so update that upon focusing it
in the case that a mouse move event occurs, the compositor should validate
the event to ensure that the mouse cursor is actually over the window that
the event claims to be from
fix T2594
so e has a bit of a problem. we mostly deal with zones, BUt these
zones come from our old xinerama code (this likely should just die
some time) and THIS code gets fed info from e's randr code. we
re-fill/modify as randr finds new screens or things get reconfigured.
thus zones adapt. the problem is now all our zone code really has a
hard time reverse mapping the zone back to where it came from -eg the
randr screen data. you literally can't do a whole bunch of things like
know if that zone was an internal laptop lid or an external screen, or
if it was rotated or even what the dpi is... as you ave no deasy way
to map it back other than by guessing geometry matches.
this fixes that by storing the randr screen id (which should be
unique) fromt he original src randr screen in the xinerama screen and
then in the zone. with this you can do a quick lookup in the e randr
data should you ever need to find the info. this should pave the way
for some other fixes/improvements, but without this they cannot be done.
@fix
Summary:
@Fix
possible null dereference issue while referencing cs2->id. So added a condition
to check it
Signed-off-by: Vivek Ellur <vivek.ellur@samsung.com>
Reviewers: zmike
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D3309
valgrind pointed out a referencing issue with the ibar client menu on
hover and if e is shut down while this is up. it ends up referencing
an already deleted ibar icon, so delete the menu objects that
reference the icon if icon is deleted.
@fix
previous behavior would result in the nocomp window becoming stuck at a fullscreen
layer when ending nocomp, even if the client was no longer fullscreen
fix T2827
Summary:
It seems this was missed when doing the manager/container id removal
back in march. The param validation was failing and causing the "Set"
button to not work in "Screen > Virtual Desktops > Click to Change
wallpaper".
Test Plan:
1. Open "Screen > Virtual Desktops > Click to Change wallpaper"
2. Click "Set"
- Expect that a wallpaper dialog be shown
- Before this patch nothing happens
Reviewers: zmike
Subscribers: cedric, seoz
Differential Revision: https://phab.enlightenment.org/D3298
in order to continue rendering an iconic client without breaking icccm,
it's necessary to map the client's window again and unset iconic state
whenever rendering is needed, then re-set states when rendering
stops
ref T2788