Wayland shm sets up a sigbus handler for catching invalid shm region
access. If we setup our sigbus handler here, then the wl-shm sigbus
handler will not function properly
Signed-off-by: Chris Michael <cp.michael@samsung.com>
the calculated values here seem to not be sufficiently accurate to manage a calculated resize.
instead, calc relative pointer coords and send them
#barrel
Summary:
By default the E_NEW() will create our output objects with a 0.0 scale,
which doesn't make any sense and if anything will lead to crashes.
Instead use a scale factor of 1.0.
When updating output details, if the scale setting is invalid then set
it to 1.0 as a sensible value.
Note this doesn't actually enable scaling, just helps make sure we're
not injecting invalid scale parameters from the start.
Reviewers: zmike, devilhorns, cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2078
Summary:
The code to initialize outputs has duplicate stanzas for updating the
data members of the output structure. This set of refactoring steps
shuffles things around to eliminate the redundant code. I think this
also makes the code easier to follow too.
This also breaks out a new internal routine for looking up outputs by
id. I suspect this will have general usefulness later.
Reviewers: devilhorns, cedric, zmike
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2077
Summary: Add doxygen comments for public API members
Reviewers: zmike, cedric, devilhorns
Reviewed By: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2067
Summary:
Many of the functions in the compositor do some preliminary checks, to
ensure objects are valid and the right type. Most of the checks follow
a consistent pattern, for example:
if (!(ec = data)) return;
if (e_object_is_del(E_OBJECT(ec))) return;
if (ec->iconic) return;
This style makes it pretty straightforward to review the pre-conditions
of the function.
The one exception is the check to see if an object is a wayland pixmap;
this is implemented as a C macro.
E_COMP_WL_PIXMAP_CHECK;
The name of the macro is descriptive enough, but it conceals what is
actually being checked. I think that it is clearer and fits better with
the style of the rest of the pre-condition checks for this check to just
be shown as regular C code:
if (e_pixmap_type_get(ec->pixmap) != E_PIXMAP_TYPE_WL) return;
Reviewers: zmike, cedric, devilhorns
Reviewed By: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2066
Summary:
All other E_NEW calls in this file check the return value, except this
one place. In this function, other calls are being checked for NULL and
handled so this one should as well. The other handlers in this function
follow the style of issuing an error message, freeing objects, and
returning false; we don't need to free anything so just do the error
message and return.
Reviewers: zmike, cedric, devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2065
Summary:
Clamping to Y makes pop ups get shifted up if a window is
near the top of the screen.
Reviewers: devilhorns, zmike
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2060
Summary:
These two functions are nearly identical so move much of the common code
into a helper function.
Reviewers: cedric, devilhorns, zmike
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2053
Summary:
We should be building Enlightenement with "--enable-wayland-only"
even if xcb, ecore-x... are not present. The Evas wayland-shm
engine will then be a prerequisite, though.
E_Alert being too much X11-oriented, let us disable it completely
before it is ported.
Also, do not require the X11 rendering engines at runtime.
Reviewers: stefan, devilhorns
Reviewed By: devilhorns
Subscribers: stefan_schmidt, stefan
Projects: #enlightenment-git
Differential Revision: https://phab.enlightenment.org/D1986
Summary:
cosmetic: Cleanup whitespace for wayland compositor
There is excess trailing whitespace in several of the files for the
wayland implementation. These patches attempt to apply the spacing
rules for Enlightenment as documented at:
https://phab.enlightenment.org/w/coding_convention/
The whitespace rules are applied using the following emacs tabbing
settings:
(defun start-efl-c-mode ()
"C mode with adjusted defaults for use with Enlightenment
development."
(interactive)
(c-mode)
(c-set-style "gnu")
(setq tab-width 8)
(setq indent-tabs-mode nil)
(setq c-basic-offset 3)
(setq defun-block-intro 3)
(setq statement-block-intro 3)
(setq case-label 1)
(setq statement-case-intro 3)
)
This patchset also eliminates all tabs in favor of whitespace, as per
the coding style rules.
Reviewers: zmike, cedric, devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2048