Commit Graph

10030 Commits

Author SHA1 Message Date
Mike Blumenkrantz a86fe60d3a use const lists for drm devices in signal handlers 2015-04-22 21:20:57 -04:00
Mike Blumenkrantz a452baafca move comp_x screen setup code into e_randr
this was not x-specific, so move it for use in wl compositors
2015-04-22 21:20:57 -04:00
Mike Blumenkrantz e64998b042 resize comp canvas on e_comp_canvas_init()
remove unnecessary call in wl drm output module
2015-04-22 21:20:57 -04:00
Mike Blumenkrantz 05d87a9b30 fix module blocking for wl modules
these should never be saved to or loaded from the config
2015-04-22 21:20:57 -04:00
Mike Blumenkrantz 4b1925dadf init randr during wayland init...always 2015-04-22 21:20:57 -04:00
Mike Blumenkrantz 18c34ed151 change comp type check at start of e_comp_wl_init()
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
2015-04-22 21:20:57 -04:00
Mike Blumenkrantz 15540c01e4 use randr for screen setup in wl-x11 output module
enabling this module requires that e is linked against ecore-x to
allow screen management
2015-04-22 21:20:53 -04:00
Mike Blumenkrantz 89ae59b407 always add e_randr2.c to e build
randr no longer requires x11
2015-04-22 21:19:00 -04:00
Mike Blumenkrantz a4ea6e7f23 add a small screen management interface to E_Comp, remove hardcoded x11 randr calls
this interface is extremely basic and should allow easy additions for other display
backends
2015-04-22 21:19:00 -04:00
Mike Blumenkrantz 8c6ec83e43 break out comp_x gl/sw canvas creation into external function 2015-04-22 21:18:53 -04:00
Mike Blumenkrantz 36ea1ba372 move comp_x randr init to screen init function 2015-04-22 21:18:53 -04:00
Mike Blumenkrantz 3ac3e9bc71 ensure valid strings are send when sending wl output geometry 2015-04-22 21:18:53 -04:00
Mike Blumenkrantz df4ada7e75 fix ecore-x cflags/libs inclusion for e binary
these variables will always exist
2015-04-22 21:18:53 -04:00
Mike Blumenkrantz e383b5b55a always register E_EVENT_RANDR_CHANGE
failing to register this will cause event handlers for it to fail
on creation
2015-04-22 21:18:53 -04:00
Mike Blumenkrantz e1181c4d03 create e_comp during e_comp_init, set comp_type automatically
this simplifies comp creation slightly
2015-04-22 21:18:53 -04:00
Mike Blumenkrantz de0b1b2d39 add E_PIXMAP_TYPE_NONE
null type currently only used during comp init
2015-04-22 21:18:42 -04:00
Mike Blumenkrantz 881e0ab805 move all x11-related randr code into e_comp_x_randr.c 2015-04-22 16:16:05 -04:00
Mike Blumenkrantz 7104e637ef _config_screen_find() -> e_randr2_config_screen_find() 2015-04-22 16:07:58 -04:00
Mike Blumenkrantz b4e65519d1 move acpi lid status tracking from e_randr to e_acpi 2015-04-22 16:05:16 -04:00
Mike Blumenkrantz 853d04592e move e_randr internal screen changing timer -> e_randr2_screen_refresh_queue() 2015-04-22 16:04:36 -04:00
Mike Blumenkrantz 98068e9b9c add e_acpi_lid_is_closed() for returning cached state of computer lid 2015-04-22 15:50:05 -04:00
Chris Michael 57611c6d2f e-comp-wl: Init randr if we are not wayland only
This is needed for the wl-x11 module

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-22 10:46:41 -04:00
Mike Blumenkrantz 0bad7b6025 unadjust frame coords when calculating wl surface placement during commit
ec->y -> unadjust -> ec->client.y
2015-04-21 16:19:30 -04:00
Mike Blumenkrantz f254531182 use pointer hash for wl pixmaps 2015-04-21 15:57:18 -04:00
Mike Blumenkrantz f276023e71 pass surface resource when creating wl surface pixmaps 2015-04-21 15:41:10 -04:00
Mike Blumenkrantz e869cb9649 disable client color editor for non-X clients for now 2015-04-21 15:21:19 -04:00
Mike Blumenkrantz 96f07bff8a wl client pixmaps now use a different method for creating the pixmap id 2015-04-21 15:19:20 -04:00
Mike Blumenkrantz 6e222cede8 add wl client event callbacks at lower priority
this ensures that bindings will activate before events are passed to clients
2015-04-21 15:17:56 -04:00
Mike Blumenkrantz b825af34cf use client geom for comp object centering functions if ec->new_client is set 2015-04-21 15:05:25 -04:00
Chris Michael 9b7358aa32 e-comp-wl: Don't crash if we fail to create a new e_client
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>
2015-04-21 09:38:00 -04:00
Conrad Meyer 90fe5a4d0d e_auth: Add suid helper for lokker own-pw checking on FreeBSD
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
2015-04-21 13:11:56 +01:00
Tom Hacohen 99b8d84485 Auth: try harder when clearing passwords.
Based on http://www.daemonology.net/blog/2014-09-04-how-to-zero-a-buffer.html

Thanks again to Matthew Garrett, for pointing this out on twitter.
2015-04-21 10:45:01 +01:00
Tom Hacohen acfdda6c7f E auth: improve clearing out passwords from memory.
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.
2015-04-21 10:19:48 +01:00
Carsten Haitzler 9eaac75ae2 e - e_client - fix added printf
665caad451 fix added a printf i didn't
notice - fix.
2015-04-21 11:00:24 +09:00
Carsten Haitzler 665caad451 e client - desk wait - ref it properly and clean up delfn
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.
2015-04-21 09:36:33 +09:00
Carsten Haitzler c746beb202 e - xsettings - calloc buffer since we leave 3 of 4 bytes unset
the first 4 bytes is a msb/lsb thing for xsetttings - we ignore 3 of
the 4 bytes. thus we should just calloc the whole buffer to ensure its 0
2015-04-21 08:52:19 +09:00
Derek Foreman 1fb1f17db0 Fix wayland compositor on 32 bit systems
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
2015-04-20 18:18:20 -04:00
Mike Blumenkrantz 12d6cf8f3b fix submenu visibility during scroll
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
2015-04-20 18:08:07 -04:00
Jean Guyomarc'h ba975e702f e_backlight_main: fix compiling when not having Eeze
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
2015-04-20 17:03:22 -04:00
Mike Blumenkrantz ea7ec93af8 clear app menu cache any time a desktop is edited internally
ref T2271
2015-04-20 16:04:48 -04:00
Mike Blumenkrantz 3eaf4e8638 add function for clearing app menu cache
ref T2271
2015-04-20 16:04:31 -04:00
Mike Blumenkrantz 934d541795 use client geometry for starting unmaximize calculations
the resize operations in this function operate off client geometry, so
stop using frame geometry

fix T2170
2015-04-20 14:32:21 -04:00
Mike Blumenkrantz 14f44ef6e3 fix pixmap image clearing based on pixmap type
!@%!@$#!# borkerhorns!!!!!!

invalidates T2291
2015-04-16 14:39:09 -04:00
Stefan Schmidt 83572a3edb e_client: Remove self assignment from e_comp
Hopefully the last one of these self assignments.

CID 1291840
2015-04-16 17:00:08 +02:00
Mike Blumenkrantz af59e95b28 fix return value in backlight helper exe on non-freebsd systems
ref D2337
2015-04-14 20:37:47 -04:00
Mike Blumenkrantz 5dd146e7e4 fix nocomp_override conditional which would inaccurately toggle nocomp
hooray gcc 5.0
2015-04-14 20:26:21 -04:00
Conrad Meyer 4fc5495f4e backlight: Use basic ACPI sysctl knob on FreeBSD (kernel)
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
2015-04-14 14:20:33 +01:00
Mike Blumenkrantz 785cb47b89 set E_Exec_Instance desktop during client idler if none present
ref T2284
2015-04-13 16:16:37 -04:00
Mike Blumenkrantz 668de186ac fix desktop editor entry widget parenting
fix T2283
2015-04-13 15:46:00 -04:00
Mike Blumenkrantz db9348c16f do not attempt to re-center fullscreen/maximized internal windows
fix T2279
2015-04-13 15:39:30 -04:00