so on 1 intel laptop and my rpi i'm seeing 100% cpu usage in wayland
mode. it seems something is resizing to 0x0 and then causing a size
change which causes a property change which causes... another request
to 0x0 and repeat. dont set tyhe size changed flags if size actually
didnt change and this fixes that.
This seems like just some copy/paste that was never corrected, however
when calculating coordinate adjustments we should be using the proper
values here. Previous code was using e_comp_canvas_x_root_adjust for
the Y value. This patch uses e_comp_canvas_y_root_adjust for Y
coordinates.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
segv if u go do make installs that install desktop files causing
efreet to recheck desktop files causing e to reset desktop files
causing ibar to refill icons but this causea a segv if a hover menu of
windows for that icon are up at the same time. this fixes that.
@fix
appmenu is annoying in that is hides on focus out whish is what
happens when a menu is popped up! fix this and make a qhick
click+release work as well! if we are going to have a global app menu
then let's make it vaguely decent... :)
also get menu positioning right with item geometry itself for the menu
not pointer position AND get menu pop direction correct based on
gadcon orientation.
@fix
this also should apply to calculating height correctly given a known
width - ie horiz or vert taskbar in a shelf. without this you can't
calc min size correctly from the theme.
@fix
==13307== 96 bytes in 1 blocks are definitely lost in loss record 6,598 of 11,698
==13307== at 0x4C2DA60: calloc (vg_replace_malloc.c:711)
==13307== by 0xCECA287: eina_tiler_iterator_new (eina_tiler.c:1299)
==13307== by 0x46D13D: e_comp_object_render (e_comp_object.c:3966)
==13307== by 0x46DB42: e_comp_object_dirty (e_comp_object.c:3923)
==13307== by 0x46017D: _e_comp_client_update (e_comp.c:343)
==13307== by 0x46017D: _e_comp_cb_update (e_comp.c:400)
==13307== by 0xB34D4BA: _ecore_job_event_handler (ecore_job.c:98)
==13307== by 0xB34909C: _ecore_call_handler_cb (ecore_private.h:317)
==13307== by 0xB34909C: _ecore_event_call (ecore_events.c:518)
==13307== by 0xB350527: _ecore_main_loop_iterate_internal (ecore_main.c:2359)
==13307== by 0xB3508A6: ecore_main_loop_begin (ecore_main.c:1287)
==13307== by 0x43C88A: main (e_main.c:1093)
the sizing issue in all of these tickets was caused by the "empty" object
being deleted, thus allowing the box to reset to 0x0 size hints and
returning this value as the overall size during recalc; the result is that
all icons would be sized at 0x0 instead of using the preserved orient size
as expected
fix T4509, T4647, T4830, T4733, T4524
the assumption that this code was making assumptions about elm_box
internals based on a shallow reading of the code was incorrect, and
the resulting "fix" (and subsequent attempts to bandaid it) has left these
gadgets in an unusable state for the past half year.
disappoint.jpg
this reverts the following commits:
f97f8f61acebfa4a97cd50030dc69342aa6be359504706d45ab1f608c5e6b107dc1cdc3fc195cd9f
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()
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