each poll - check if temp actually changed and only send edje message
if tempt actually did change. saves some cpu while polling in the bg
for these things.
@optimize
this automatically handles the case where enlightenment has commandeered the
cursor temporarily and the active client has not unset+set a new cursor in the
meantime
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()
in the case of internal windows, the client is deleted before any surfaces
are destroyed. this requires a special case to perform cleanups in order to
prevent client objects from leaking
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.
this should reduce mem usage by a sub binary and aso solve the sub
shell kill issue too nd still keep the polling of system status out of
the mainloop and keep it unblocked.
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.
this occurs when the shell resource dies before all the surfaces/positioners
are destroyed. usually this means the client has aborted, so there's no point in
sending an error or doing anything beyond performing a thorough cleanup
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>
This small patch modifies the conf_theme module to use screen dpi from
the compositor canvas (thus getting server screen dpi) for use in
scaling.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Now that the ecore_evas_drm code can return screen dpi, we can use
that rather than using a client API function (ecore_wl2) to get server
screen dpi.
Signed-off-by: Chris Michael <cp.michael@samsung.com>