Commit Graph

100 Commits

Author SHA1 Message Date
Carsten Haitzler 1a867c180d e alert - use the provided font ttf for the alert
this enforces the look i wanted, and also makes this work when no sans
or mono font exist.
2019-10-09 18:47:16 +01:00
Carsten Haitzler 6d8a1bd3fe kill e process before alert in non-x uses 2019-09-27 19:29:14 +01:00
Carsten Haitzler b0fcdf1759 e start - use static env vars when they are actually static
this avoids any possible leaks from these and uses less heap.
2019-06-04 07:14:01 +01:00
Carsten Haitzler d798b9ea83 e_start - fix alternate ifdef path putenv memory issue
we'd have corrupted env vars with the alloca code we had to store the
env var, so always malloc it at all times. as we won't (likely) be
calling env_set() multiple times for the same environment we won't be
leaking, and at worst - not very much at all.

@fix
2019-06-04 07:06:30 +01:00
Carsten Haitzler f0aafab359 e alert - change exit codes around so exit is explicit
so often enough i find e_alert is hung and you have to kill it to get
e back. this ends upo exiting and logging you out. this is not good.
the defaul should be to restart not to dump you out and lose
everything. so switch these around to be more user-friendly.

on the cards is to redo e_alert to be simpler (use full efl stack) and
thus hopefulyl be reliable in wl mode etc.
2019-05-14 21:29:32 +01: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
Carsten Haitzler 6972a97d5d e start - fix path prepend/append if already in path assuming clue
"
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
2017-09-13 18:32:38 +09:00
Carsten Haitzler fe7c39fa18 e_start - remove evas deps - don't need them.
e_start isnt really using evas atm - cserve2 env vars arent being set
so remove it - e_start can start a little faster with less linking...
good for startup time perhaps and mem footprint of e_start while it
babysits
2017-08-11 15:43:39 +09:00
Carsten Haitzler 655a8f3218 e start - remove mtrack ... no one using it (not even me)
:)
2017-06-21 11:27:50 +09:00
Carsten Haitzler 76ed021006 e - e_start - update mtrack to use new debug mode for hunting bugs
this won't affect anyone who doesnt have a ~/.e-mtrack file ... this
is for debugging purposes and no others
2016-04-21 09:42:13 +09:00
Mike Blumenkrantz 2343ab165a remove security hole in e_start_main
if a file called ~/.e-mtrack existed then during startup the launcher would
read the first line of this file and set LD_PRELOAD to that value

CID 1039785
2016-02-29 10:42:39 -05:00
Yomi 0dc33a5aeb Fix misspellings in E's files.
Summary: Fix misspellings and spaces in E's files.

Reviewers: zmike

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2676
2015-06-16 16:10:21 -04:00
Carsten Haitzler b3cc1dc364 e start - path manipulation - don't add a : if there already is one
avoids adding more : chars to make a broken path even worse
2015-05-27 08:43:13 +09:00
Chris Michael 0a94e8ba71 enlightenment: Make E build again with EFL from git
sed -i 's/EAPI/E_API/g'

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-07 15:13:10 -04:00
Mike Blumenkrantz 471dcb24cb __UNUSED__ -> EINA_UNUSED
this has been bugging me forever. __UNUSED__ is no longer a valid macro here.
2015-03-18 18:09:09 -04:00
Tom Hacohen 86654c86f8 Allow building without ptrace
Summary: Building without ptrace (on OSes which do not support it, like OpenBSD) did not work, because the fallback code had small typos.

Reviewers: devilhorns

Projects: #enlightenment-git

Differential Revision: https://phab.enlightenment.org/D1990
2015-02-18 12:36:20 +00:00
Stefan Schmidt 9336d7c372 e_start_main: Close fd only if we actually succeeded opening it.
In the error case fd would be -1 here. Closing needs to be handled in the
cases where fd != -1.

CID: 1256492
2014-12-02 10:50:27 +01:00
Chris Michael c7386d61c9 e-start: Fix 'control reaches end of non-void function'
Summary: Seems one of the Daniels did not check their compiler output
;) _e_ptrace_attach function should return an integer value...

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-12-01 11:55:32 -05:00
Daniel Kolesa ef82c30bb4 fix indentation 2014-12-01 16:30:57 +00:00
Daniel Kolesa 715d7f00b4 remove unused variable 2014-12-01 16:28:46 +00:00
Daniel Kolesa f918476da1 e_start_main: refactor (reduce scope depth, separate ifdefs, cleanup)
The main reason for this change is to clean it up for proper non-Linux
platform support, but also to make it cleaner in general.
2014-12-01 16:25:58 +00:00
Daniel Kolesa 245d26c7c7 detab e_start_main.c; spank spank spank 2014-11-28 15:08:24 +00:00
Daniel Kolesa db49bda75d clean up E ptrace detection and usage 2014-11-28 15:08:00 +00:00
Carsten Haitzler 9391d261ba e_start - add ~/Applications/.bin to use for app bin searches
this is here to help for user installed apps
2014-09-21 00:21:16 +09:00
Mike Blumenkrantz ec1cd25cfe rename E19* defines/texts to just E so they don't need to keep being updated 2014-09-09 12:30:50 -04:00
Mike Blumenkrantz 6dd98df0d6 remove all remaining efl version check defines 2014-03-13 11:55:29 -04:00
Mike Blumenkrantz 86656e4df9 compositor rewrite / charlie-foxtrot situation
huge fustercluck commit because there wasn't really a way to separate out the changes. better to just rip it all out at once.

* compositor and window management completely rewritten. this was the goal for E19, but it pretty much required everything existing to be scrapped since it wasn't optimized, streamlined, or sensible. now instead of having the compositor strapped to the window manager like an outboard motor, it's housed more like an automobile engine.

** various comp structs have been merged into other places (eg. E_Comp_Zone is now just part of E_Zone where applicable), leading to a large deduplication of attributes

** awful E_Comp_Win is totally dead, having been replaced with e_comp_object smart objects which work just like normal canvas objects

** protocol-specific window management and compositor functionality is now kept exclusively in backend files

** e_pixmap api provides generic client finding and rendering api

** screen/xinerama screens are now provided directly by compositor on startup and re-set on change

** e_comp_render_update finally replaced with eina_tiler

** wayland compositor no longer creates X windows

** compositor e_layout removed entirely

* e_container is gone. this was made unnecessary in E18, but I kept it to avoid having too much code churn in one release. its sole purpose was to catch some events and handle window stacking, both of which are now just done by the compositor infra

* e_manager is just for screensaver and keybind stuff now, possibly remove later?

* e_border is gone along with a lot of its api. e_client has replaced it, and e_client has been rewritten completely; some parts may be similar, but the design now relies upon having a functional compositor

** window configuration/focus functions are all removed. all windows are now managed solely with evas_object_X functions on the "frame" member of a client, just as any other canvas object can be managed.

*** do NOT set interceptors on a client's comp_object. seriously.

* startup order rewritten: compositor now starts much earlier, other things just use attrs and members of the compositor

* ecore_x_pointer_xy_get usage replaced with ecore_evas_pointer_xy_get

* e_popup is totally gone, existing usage replaced by e_comp_object_util_add where applicable, otherwise just placed normally on the canvas

* deskmirror is (more) broken for now

* illume is totally fucked

* Ecore_X_Window replaced with Ecore_Window in most cases

* edge binding XWindows replaced with regular canvas objects

* some E_Win functionality has changed such that delete callbacks are now correctly called in ALL cases. various dialogs have been updated to not crash as a result

comp files and descriptions:

e_comp.c - overall compositor functions, rendering/update loop, shape cutting

e_comp_x.c - X window management and compositor functionality

e_comp_wl.c - Wayland surface management and compositor functionality

e_comp_canvas.c - general compositor canvas functions and utilities

e_comp_object.c - E_Client->frame member for managing clients as Evas_Objects, utility functions for adding objects to the compositor rendering systems

additional authors: ivan.briano@intel.com

feature: new compositor

removal: e_border, e_container, e_popup
2014-01-14 20:22:02 -05:00
Cedric BAIL 56d9c12676 gdb: test for bad kernel behavior. 2013-12-19 17:11:13 +09:00
Cedric BAIL 147f088efa gdb: detect that the file was generated properly.
This is a workaround kernel that prevent ptrace to another process.
2013-12-19 16:39:46 +09:00
Cedric BAIL fd271ba0c8 gdb: don't forget to turn on file logging to get anything useful. 2013-12-19 16:17:59 +09:00
Carsten Haitzler 0ec99b2ac5 gdb crashdump - restore old e_sys magic into e_start 2013-12-09 19:51:24 +09:00
Sebastian Dransfeld fcc82e3e34 Fix 03d50e9546
If this ever worked it's a miracle. remember_sigill is initialized for
each loop, so it can't remember anything.

Fixes CID 1039950
2013-12-07 22:09:49 +01:00
Sebastian Dransfeld 139153cf2c Initialize siginfo_t
If we don't run the ptrace below, siginfo_t should be initialized.

Fixes CID 1039767
2013-12-07 21:59:56 +01:00
Carsten Haitzler bb4a21e986 e_sys - address security concerns with environment and gdb
1. clear out environment as best is possible before executing
anything. especially PATH and IFS are set to minimal base defaults.
also use clearenv() if available and unsetenv()

2. remove gdb method as it's just too dangerous. run it as normal as
the user and if the kernel / distro dny that - then sorry. too bad.
2013-11-30 22:26:30 +09:00
Jean-Philippe Andre 9637b07ec7 e/cserve2: add restart code for cserve2
Summary: If cserve2 crashes, enlightenment_start will respawn it again.

Test Plan:
Start E18 (in Xephyr maybe) with E_CSERVE set.
Randomly kill evas_cserve2 and enlightenment, and log out from E.

I need review for this patch as I'm not sure about all the ptrace stuff
lying around.

Reviewers: cedric

CC: raster, zmike

Differential Revision: https://phab.enlightenment.org/D287

Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-11-08 16:58:28 +09:00
Carsten Haitzler ae7d8e2a97 don't consider sigbus a trap/crash signal offense - i/o block error for example 2013-09-04 08:54:02 +09:00
Boris Faure 91668e6e8a improve e on debian kfreebsd (Patch by Petr Salinger)
Closes task 302.
2013-08-24 15:52:27 +02:00
Mike Blumenkrantz 5b3408bb85 s/E17/E18/ 2013-06-18 15:44:57 +01:00
Mike Blumenkrantz 2d50567556 set valgrind num-callers to 40 in e_start 2013-05-21 14:58:05 +01:00
Cedric BAIL 6f955263fa enlightenment: do not propagate the systemd socket to E17.
In a proper systemd user session setup, enlightenment_start will be
gone. That is still not doable today and as I plan to roll more feature
in EFL regarding systemd, we need to prevent enlightenment to believe
it is the process started by systemd.
2013-03-15 12:07:47 +09:00
Mike Blumenkrantz 23fac6430a fix e build on 1.7 branch again...
SVN revision: 83940
2013-02-15 08:18:09 +00:00
Carsten Haitzler b239642508 add a E_CSERVE env var - set it befor e_start to make e_start run
cserve2 etc.



SVN revision: 83933
2013-02-15 04:56:11 +00:00
Carsten Haitzler d7d631ea95 begin to put ion code to launch cserve2 for e17 in e_start...
problem... it runs... mostly.. but is buggy.

svgs -> no load (generic loader issue?)
sometimes ie->data2 is null (why?)
font -> instead of normal bvold font.. i'm seeing an italic bold
font.... eek! :(

cserve2 worked well in smaller tests like elm and expedite.. it's not
having a happy day with e17 :(



SVN revision: 83871
2013-02-13 12:50:23 +00:00
Mike Blumenkrantz 9e8e755cdf formatting: all at once
SVN revision: 82625
2013-01-11 10:34:29 +00:00
Cedric BAIL 92ab0600ee e: fix restart of E17 after manually monitoring it.
SVN revision: 82023
2013-01-03 00:32:48 +00:00
Mike Blumenkrantz ae7ca9105f Hi,
here is a patch.

 1. free() already null-checks the passed argument, so it is not
    necessary to do 'if(x) free(x)'.

 2. Moved some '{free(x); x = NULL}' to E_FREE.

 3. In e_start_main.c, 'buf' is allocated with the size of the
    two arguments + '=', so we don't need to check for lenght;
    we should use sprintf().

 thanks
Maxime Villard


SVN revision: 81364
2012-12-19 14:20:34 +00:00
Cedric BAIL a97fb13810 e: forgotten move to PT_GETSIGINGO.
SVN revision: 80408
2012-12-07 02:49:40 +00:00
Cedric BAIL d8b8ba3be4 e: fix build on Solaris 11.
Patch by Robert David <robert.david.public@gmail.com>.


SVN revision: 80204
2012-12-05 02:23:00 +00:00
Cedric BAIL d6b04df109 e: when valgrind is on, no need to ptrace anything.
SVN revision: 80042
2012-12-03 10:43:14 +00:00
Cedric BAIL 85b27ab7e3 e: detect when sysactions.conf doesn't let us run gdb.
SVN revision: 79731
2012-11-27 03:48:05 +00:00