these later get overridden onto the pointer layer, but setting a layer
here ensures that the pointer surface will always be the client
returned by e_client_top_get()
We shouldn't be doing this, but there's a collective memory that
this was put in place to fix stuck modifier bugs.
If we run into stuck modifiers again because of this patch, then we
should be fixing them in a different way.
If anyone bisects to this point, I apologize - assign me a ticket.
so since e_util_defer_object_del used a before idler this would
reverse deletion order vs the order submitted. this may cause issues.
not sure. chasing netstar's "animator stops" issue, but if defered
deletion if disabled seems to stop it from happening.
at least fix order if multiple deferred deletions are queued
@fix
The focus in timer has been firing for deleted clients, this causes a
NULL pointer dereference.
Then again, maybe the timer should've been disabled by now...
_parent_client_contains_pointer() shouldn't return true if there is no
parent client. This could result in leaving stale resources in the
keyboard focus list and crash the compositor.
When building enlightement without xwayland, we need to provide
MESA_EGL_NO_X11_HEADERS in the CFLAGS to avoid including X11/Xlib.h.
This define is provided by WAYLAND_EGL_CFLAGS, so add it for E modules
and e_fm build.
Fixes:
In file included from /usr/include/EGL/egl.h:39:0,
from ./src/bin/e.h:108,
from src/modules/mixer/lib/backends/pulseaudio/pulse.c:1:
/usr/include/EGL/eglplatform.h:119:22: erreur fatale : X11/Xlib.h
Signed-off-by: Romain Naour <romain.naour@gmail.com>
in the case where warping would not occur and a mouse-based focus policy was
not in use, this would break mouse eventing on wayland when a window lost focus
but the cursor remained inside the window
ref 3e6d6b348f
previously characters such as tab would be injected into the entry when pressed.
this is the same check which is used in various other places in efl for string
validation
As we do not compile-time link with libdrm inside Ecore_Drm2 anymore,
we need to include relivant bits of drm_fourcc header here in order to
define DRM_FORMAT_XRGB8888 else we fail to compile Enlightenment Wayland
Signed-off-by: Chris Michael <cp.michael@samsung.com>
the default profiel is configureed to use dpi to scale. if dpi goes up
so does wizard scaling. setitng to 1.2 forcibly is just wrong. imagine
a uhd screen thats 13" or imagine an 8k display... at least if dpi can
be read correctly things work out find. think the base dpi of 90 is
too high - then adjust that in profile... but not in wizard code.
this has been here a while and i always thought this scaling bumping
was a dpi effect. it wasnt. it was hardcoded. bad bad.
@fix.
Similar set of changes to the recent input region changes. They may not
have been quite so broken to begin with, but it's probably less confusing
to treat both types of region the same way.
It was impossible to set an empty input region.
Input regions were being clipped to the size of whatever buffer was
previously attached when they should really be clipped at commit
time to whatever buffer was attached in the commit.
The intersection operation created round off errors and
e_comp_object_input_area_set is clipping anyway, so we can simplify this
and retain precision.
We don't have any idea at this point what the region will be used for,
and tilers clip to their area on ingress. If we're going to use tilers
for wayland regions we need to make them huge and clip them later.
this is usually called before the surface commits, so ensure that the
most likely case is returned as the default until the commit occurs
fixes black rect flickerings around the cursor