Summary:
A parent surface can be destroyed. In this case, ec->comp_data->sub.data->parent has
a wrong address which has already destroyed. Then, it occurs segmentation fault.
To avoid segfault, ec->comp_data->sub.data->parent should be NULL when a parent surface
is destroyed.
Signed-off-by: Boram Park <boram1288.park@samsung.com>
Test Plan: Run attached test program(subsurface)
Reviewers: gwanglim, cedric, devilhorns, zmike
Reviewed By: devilhorns, zmike
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2484
str(n)dupa are GNU extensions that duplicate a string, using an alloca'd
buffer. This patch removes their definitions from e.h (which should only
contain E's own API, without fallback definitions for libc functions)
which were wrong anyway (they failed in cases where str(n)dupa was an
actual function, not a macro).
Instead, we replace them depending on context with alloca+memcpy+strlen
or a static buffer (used in contexts where we are sure that the buffer
will contain the string entirely)
@fix
If we are going to set the internal elm windows to borderless and
handle frames inside E, then we need to also unset any existing
pointer objects which may be on the wayland Ecore_Evas.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary:
Some implementations of the X server (e.g. Xquartz) define their $DISPLAY
as a path. Since ecore_ipc_server_add() does not create non-existant
directories, and since it may not worth to hide the socket in a complex
path, this patch aims at reducing the $DISPLAY by only keeping its basename.
Reviewers: zmike
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2465
it's somehow possible to get multiple instances of a module in the config.
since I don't know whether this is a current or past problem, prune the list
on every module load to remove subsequent instances of the module
fix T2181
es->cfg->desk_show_mode if false (default) implies a shelf is always
visible - true, as it's sticky (visible on all desktops). but this
didn't check zone. check zone first THEN this.
mostly just reads stuff right out of libdrm for now. seems to display mostly as expected.
no applying yet, and only connected+active monitors will display since that's all ecore-drm
tracks for now
try using ecore-drm, they said. it'll be easier than using libdrm, they said.
at present, this value will be set to either TYPE_NONE if no valid
compositor has been created or TYPE_X if running a wl compositor inside
an x11 compositor
This addresses the issue of initial compositor pointer values not
being proper. They are 0,0 on startup, however things like ecore_drm
will center the mouse on startup. The e_comp pointer values should
reflect this.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
The InUse property of the manager object is available in newer GeoClue2
versions. It shows if the service is in use by any application at the
moment. We use this to indicate the usage in the UI.
A blue geolocation icon means the service is in use, the grey icon means
it is inactive.
these store pin/pw in your user config files - it may be primitively
hashed to obscure it, but it's there. it never pretended to have
secure storage and even saved cleartext until e19. make sure people
are aware
This "should" fix T2344 crashing, however I suppose a better question
is ... why is e_client_new returning NULL when it Does find the client
already in the hash...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary:
PAM on FreeBSD, unlike on Linux, does not allow users to check their own
password. Instead, we need a suid helper to do it for us. Add such a
helper on FreeBSD.
For now, it is limited to checking users in the local password database
(traditional Unix passwd file). This could and should be extended to use
PAM in a later patch.
Test Plan:
Tested empty pw, wrong pw, correct pw at lock screen; observed correct behavior
in each instance.
Reviewers: q66, zmike
Reviewed By: q66, zmike
Subscribers: cedric, seoz
Differential Revision: https://phab.enlightenment.org/D2355
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:
@fix The list of icon themes in the search list is quite out of date
it doesn't include the icon themes used by gnome3 or kde4/5 this means
for a lot of users at first boot e has alot of missing icons.
The Icon sets that have been added are as follows
"Oxygen", /* KDE 4 */
"Adwaita", /* Gnome 3 */
"Breeze", /* KDE 5 */
"HighContrast"
This change will cause T1732 and T1923 to not occur for almost all users
but it does not fix them properly the code should be modified to fall back
to pick up icons from fallback locations such as the hicolor theme if no
icon theme is set.
It would be nice if someone could backport this to e19 I don't know how to
Reviewers: bu5hm4n, zmike, raster
Reviewed By: raster
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2377
This reverts and tries to actually fix:
commit b30892056e
Author: Jean-Philippe Andre <jp.andre@samsung.com>
Date: Fri Apr 17 10:30:06 2015 +0900
PackageKit: Fix crash on error
Sometimes a "normal" error occurs and then the callback is
called with no context data. Then crash boom sigsegv happens.
Summary:
Another suggestion from Dmitry Luhtionov. I am told this sensor (on the
i2c bus) is more likely to be present on non-x86 systems (ARM, etc).
Reviewers: zmike, q66
Reviewed By: q66
Subscribers: cedric, seoz
Differential Revision: https://phab.enlightenment.org/D2345
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
Summary:
Global variable should be declared as extern to avoid symbol duplication.
Fix compiling of ebluez4 module on OS X.
Test Plan:
Since Enlightenment cannot (yet) be fully compiled on OS X, I cannot test
the real-life impact of this change.
Reviewers: zmike, raster
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2327
This broke with the change to elm (so within this release cycle). Tiling
wasn't properly detecting windows who become centered after creation as
there was no e event for that. This is now fixed, and a blanket solution
for similar gotchas has been implemented (otherwise known as a hack).
Thanks to Mike for helping out.
Summary:
Not all motherboards have 'hw.acpi.thermal.tz0.temperature' sensor.
Fallback to 'dev.cpu.0.temperature' (provided by coretemp(4) or
amdtemp(4)), or 'dev.aibs.0.temp.0' (aibs(4)) (per suggestion of Dmitry
Luhtionov).
Test Plan: Ran `src/modules/temperature/tempget` manually with some debugging printfs and various sensors commented out. I can only test tz0 and dev.cpu (coretemp(4)) on my system.
Reviewers: zmike, q66
Reviewed By: q66
Subscribers: seoz
Projects: #enlightenment-git
Differential Revision: https://phab.enlightenment.org/D2335
Summary:
Battery module relies on Apple's CoreFoundation (CF), but CF's CFLAGS
were not provided to this module.
Test Plan: Enlightenment now compiles on OS X.
Reviewers: zmike, raster
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2328
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
Since the geolocation and music-control changes we need eldbus-codegen to
generate some files. Not all setups have this in their normal $PATH so let
allow these setups to set the correct path during configure. This allows our
Jenkins setup as well as others to work again.
elocation headers conflict with these, so ensure that our headers get picked up first
#glimaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
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
some setups have stricter dep chain following during make which causes
build errors if the chain does not explicitly have the generated files
as a dep of the files for which they are included
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
There is a problem with GeoClue2 version 2.0.0 that does not allow to start a
client again after stopping it. Need to investigate newer versions about this.
For now keep it running until it times out.
It still ahd some bits from the original name (geoclue2). I tried squeeze
as much renaming as possible in the earlier commits but these done here
would have broken the code so I do the rest all in one go here.