Optimising compilers (like gcc/clang with -O1 or above) were optimising
out the memset(). Until link time optimisations are good enough, this
will prevent them from doing so. The best solution would be to use
memset_s() (c11), though it's not readily available yet. This is the
first step towards using memset_s() with a fallback for systems who
don't have it. A better solution, is to put it in Eina, to prevent LTO
completely. This will have to be done after the EFL release.
Even this is not entirely safe though, but at least it protects us from
some memory disclosure issues.
This doesn't solve the fact that we may store a copy of the password in
other places, like the input system. We need to address that too.
Thanks to Matthew Garrett for pointing this out or Twitter.
delfn's on desks being referred to as profile.wait_desk were never
cleared when client was freed. als the desk itself never got an obj
reference - fix that and ref/unref it.
Summary:
_e_elm_win_trap_show() treats Ecore_Window as a 64bit data type when
it's actually the same size as the system's pointer type.
#24HourFullPowerNoToiletNoShower
Reviewers: devilhorns, zmike
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2388
fix T2194
sometimes while quickly moving the cursor through menu items with submenus
the visibility flag would toggle more quickly than the menu object's visibility.
this is no longer the case
Summary:
EINA_UNUSED is defined in Eina. Since we are not using the program at all,
let's void main()'s arguments instead of trying to ignore them.
Test Plan: tested only on OSX, unbreaks the build.
Reviewers: zmike
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2387
Summary:
Unconditionally build the suid-helper _backlight program; conditionalize
behavior on Eeze, FreeBSD (doing nothing on neither). Add logic to set
the FreeBSD sysctl in a similar manner to udev devices on Linux.
Add _bl_sys_find/_get helpers for FreeBSD that check for and consult the
video ACPI sysctl.
Test Plan:
Seems to work okay on my laptop (with EINA_CPU_FAKE=1 to workaround a threadq
race that I believe is unrelated -- T2287).
Reviewers: zmike, q66
Reviewed By: q66
Subscribers: cedric, seoz
Differential Revision: https://phab.enlightenment.org/D2337
fixes issues where a new child added would appear above other child objects
if the new child was meant to be stacked below other children
mostly noticeable in deskmirror
this will allow all colorclasses present in the current theme to be edited
instead of only the hardcoded ones in the module. it will also require
completely new translations, for which translators will need to read the edc
files of the default theme (cleverly located in another repo) and provide
translations to the _translate() callback in the theme module
the editor currently lacks indicators for active/type on the colorclass
list, but this can be added in time. meanwhile, a large amount of code is
no longer duplicated or maintained in this repo
fix lack of lost windows submenu. no - windows menu does not handle
it. lost windows lists windows that are LOST - out of screen bounds.
this happens a lot with some apps asking to be placed out of bounds
for whatever silly reasons they have. you literally cannot get these
windows back without this menu. bring it back!
@fix
Summary:
We now have a subset of that functionality in e_comp_wl_input.c, so use
that function instead. The missing bits are moved into the one remaining
caller.
Reviewers: zmike, devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2207
Summary:
Now when a client gets the keyboard global it will immediately be sent
a keyboard enter event if appropriate.
Reviewers: zmike, devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2206
Summary:
The only use for this was sending keyboard enter events on first commit
after a focus during app startup, and this has proven to be unreliable.
NOTE: Focus before an app requests the keyboard global is now broken and
will be fixed in a following patch.
Reviewers: zmike, devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2205
Summary:
Apparently negative values mean "pick a size", though this is
undocumented.
Reviewers: devilhorns, zmike
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2191
Summary:
When enlightenment is working as wayland display server, enlightenment
changes KDSETMODE to KD_GRAPHICS in _ecore_drm_tty_setup(). However,
when enlightenment is killed by SIGSEGV, it doesn't changes KDSETMODE
to KD_TEXT because englightenment process doesn't call ecore_drm_tty_close().
When enlightenment is killed by SIGSEGV, it should get drm devices with
ecore_drm_device_get_list(), and will call ecore_drm_launcher_disconnect(),
and ecore_drm_launcher_disconnect will call ecore_drm_tty_close() internally.
Change-Id: I425488eb4489709cc968b77bd4bc48a4aa4ae30c
Reviewers: zmike, cedric, raster, gwanglim, devilhorns
Reviewed By: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2160
Summary:
e_comp_wl_output_init will fail (silently) under a couple of
conditions. Instead, make it propagate the error so it can be handled
at a higher level. For now just issue an error message.
Signed-off-by: Bryce Harrington <bryce@osg.samsung.com>
Reviewers: cedric, devilhorns, zmike
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2155
moderately certain I originally wrote this to work in the other direction
and then failed to remove it when I switched to setting parents instead of
children. regardless, pixmap hash should not be changed here
Summary:
wl_array_add() returns NULL if it can't malloc/realloc. This
is probably unlikely but check for it and issue a meaningful error if it
occurs.
Reviewers: cedric, devilhorns, zmike, raster
Reviewed By: raster
Subscribers: raster, cedric
Differential Revision: https://phab.enlightenment.org/D2054
Summary:
If we don't update the modifiers on focus in we can end up with stuck
modifiers if a modifier is held when starting a client.
Reviewers: zmike, devilhorns
Reviewed By: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2124
Summary:
Separate the state serialization from the send so we can use the
serialization function elsewhere.
Reviewers: zmike, devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2123
Summary:
We still update the keyboard array. focus_in adds everything in the
array to xkbstate anyway, so adding it when there's no focus results
in a double update of state and potentially stuck modifiers.
Reviewers: zmike, devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2111
Summary:
We still need to remove the active keys when focus_out happens, even
if the pixmap is already gone. If we don't and a modifier was held
down during exit then the xkb state will have that modifier stuck
forever.
Reviewers: zmike, devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2110