Commit Graph

21927 Commits

Author SHA1 Message Date
Mike Blumenkrantz f74862e9ea force mouse-out on wl clients during delete if mouse.in is set
#TheDisappointer
2017-02-24 14:47:40 -05:00
Mike Blumenkrantz 239dad4ec9 only unset current pointer cursor object if new one is being set
#TheDisappointer
2017-02-24 14:47:40 -05:00
Mike Blumenkrantz 2e7e1f0893 start xwayland process 2.0s after module load
this avoids conflicts with efl internals, which will break entirely
when DISPLAY is set under wayland, and xwayland internals, which will
abort immediately when efl tries to connect to it during its init phase
2017-02-24 14:47:40 -05:00
Mike Blumenkrantz b005919ea9 ref clients during exe_inst deletion to avoid invalid access after free
in the case where clients are deleted during the same loop that they are
added to an exe_inst, the client will be destroyed before the instance's
delete event returns

ref T4963
2017-02-24 14:47:40 -05:00
Mike Blumenkrantz 96c2ac0947 add note in doc for "gadget_destroyed" callback re: callback ordering 2017-02-24 14:47:40 -05:00
Carsten Haitzler 60e150aeb8 enlightenment_sys - eina_init BEFORE switching uid - safer
in case eina_init uses env vars, move it to befor setuid() so it can
detect. you normally would setuid only for a limited op and we do it
for "the rest of the running" as e_sys is fairly simple.
2017-02-24 14:47:40 -05:00
Derek Foreman f3e6f98889 Dispatch wayland frame callbacks in the correct order
The protocol says they should be dispatched in the order they're
registered, so switch to list append instead of list prepend.
2017-02-24 14:47:40 -05:00
Mike Blumenkrantz bef7872a01 hide wl client cursors when set_pointer is passed a null surface 2017-02-24 14:47:40 -05:00
Mike Blumenkrantz d257d872dc use 1x1 for unsized (internal) clients
this was a typo
2017-02-24 14:47:40 -05:00
Mike Blumenkrantz 526052c5af simplify mouse-out cursor reset for wl clients
this is handled by e_pointer_object_set()
2017-02-24 14:47:40 -05:00
Mike Blumenkrantz 9a3939d35c make e_pointer_object_set() a no-op when passing the existing cursor 2017-02-24 14:47:40 -05:00
Mike Blumenkrantz 02be57e7e5 Revert "re-enable getting and setting output rotations in wl_drm"
This reverts commit 54ecd5e56b.
2017-02-24 14:47:40 -05:00
Simon Lees 5771d4691b
21.6 NEWS Updates 2017-02-15 13:58:54 +10:30
Simon Lees 9c5ae9a47a
21.6 Release 2017-02-15 13:45:22 +10:30
Mike Blumenkrantz 72bfd182d1 add conditional updates for latest efl apis
ref dc2bad0fcd
2017-02-03 15:29:38 -05:00
Derek Foreman 17e66ed2b5 Stop sending wayland motion events when the mouse is grabbed
This stops the compositor from sending motion events to internal
windows while they're being moved or resized.
2017-02-03 10:49:54 -05:00
Carsten Haitzler 0a1733ba9a e dialog - fix unreszable dialogs to not be 1x1
so i see non-resizable dialogs end up 1x1... this fixes that.
2017-02-03 10:49:27 -05:00
Mike Blumenkrantz 1abdbe81b5 reset demo gadget id before deleting gadget object during drop operation
ensure that the gadget is marked as usable so that the config isn't deleted
2017-02-03 10:47:34 -05:00
Chris Michael 54ecd5e56b re-enable getting and setting output rotations in wl_drm
Small patch to re-enable the ability to query and set the rotation of
an output.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-02-03 10:42:09 -05:00
Carsten Haitzler f4243e1f5d e - wl mode - stop consuming 100 percent cpu
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.
2017-02-03 10:41:25 -05:00
Mike Blumenkrantz 7608cebd85 handle pixmap_refresh() failure cases more accurately under wayland
non-usable pixmaps here are still valid in some cases, such as when
no buffer is attached
2017-02-03 10:41:10 -05:00
Mike Blumenkrantz 1644a7ec0a ensure that gadget internal del callbacks are handled before other callbacks 2017-02-03 10:41:04 -05:00
Mike Blumenkrantz bc9103ec68 use persistent clipping for comp object input rects
it's technically legal to set an input region larger than a surface,
then later expand the surface and expect that the input region will
also expand
2017-02-03 10:40:31 -05:00
Mike Blumenkrantz f2bfd957a1 do not perform frame coord adjustments for re_manage wayland clients
prevent mismatch of positions between restarts
2017-02-03 10:40:27 -05:00
Mike Blumenkrantz 5ab0d5be88 free configs for demo gadgets on object free
these are purely for demo purposes and should never be retained

I think this is right...
2017-02-03 10:40:05 -05:00
Chris Michael 0ba8bf56c5 Use proper coordinate adjustment
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>
2017-02-03 10:39:41 -05:00
Stephen 'Okra' Houston 0b3d519bd9 Enlightenment: Wireless gadget - place the ctxpopup after the size hints are set, not before 2017-02-03 10:39:07 -05:00
Stephen 'Okra' Houston 79342184b9 Enlightenment: Make gadget editor popup scrollable:
This fixes T5077
2017-02-03 10:38:58 -05:00
Carsten Haitzler 287b5ea0d9 ibar - fix seg with ibar icon task menus are up while desktop files change
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
2017-02-03 10:36:28 -05:00
Carsten Haitzler 3c1bf5cc68 appmenu - make appmenu work with click+release and not hide on focus out
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
2017-02-03 10:36:01 -05:00
Carsten Haitzler 99ecc6ad3d e bindings - fix warnings about possible use of undefined var 2017-02-03 10:35:03 -05:00
Carsten Haitzler 56789ef809 efm - fix ifs to be ifdef as they should be 2017-02-03 10:34:55 -05:00
Carsten Haitzler 2b5ea65981 efm - warning - change invalid #if toe #ifdef as this is right 2017-02-03 10:33:45 -05:00
Carsten Haitzler fa580ee748 tasks - calculate min width properly given a known height of a gadget
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
2017-02-03 10:33:35 -05:00
Andreas Metzler b6852b2120 10_typo_restore_LDFLAGS.diff: Fix typo in configure.ac (upstream), causing empty LDFLAGS.
Summary: typo spotted while packaging E 0.21.5 for Debian experimental

Reviewers: zmike!

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D4507
2017-02-03 10:33:18 -05:00
Mike Blumenkrantz 83f64194ba remove extra SLEEP prints during startup on non-release builds
this was useful for startup profiling, but there are better methods available now

partially reverts 2850c28167
2017-02-03 10:32:46 -05:00
Derek Foreman 4b29b6aff1 Use a monotonic clock for frame callback times 2017-02-03 10:32:17 -05:00
Mike Blumenkrantz 08d96c67de plug iterator leak in e_comp_object_render()
==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)
2017-02-03 10:31:58 -05:00
Derek Foreman 84da1d45c7 Fix wayland frame callback times
ecore_time_unix_get() * 1000 is too big to fit in a uint32, so take the
time we instantiate the wayland pixmap hash and use that as a base.
2017-02-03 10:31:44 -05:00
Mike Blumenkrantz d5aceefc91 correctly set E_POINTER_RESIZE_BR mode for client keyboard resizing
typo from when this was refactored

fix T2452, T2579
2017-02-03 10:31:36 -05:00
Simon Lees caade0432a Merge branch 'enlightenment-0.21' of git+ssh://git.enlightenment.org/core/enlightenment into enlightenment-0.21 2016-12-12 08:00:11 +10:30
Mike Blumenkrantz f6292eb235 null out animator pointers in efx stop() operations 2016-12-08 11:21:21 -05:00
Simon Lees bad8619798
21.5 NEWS Updates 2016-12-08 11:33:33 +10:30
Simon Lees 06d7531019
21.5 Release 2016-12-08 11:22:18 +10:30
Derek Foreman a73d38dfc0 test dmabuf pixmaps properly
If we can't handle a dmabuf format we now properly tell the client instead
of accepting it anyway and falling apart later.
2016-12-07 11:18:28 -05:00
Mike Blumenkrantz 187076a0dd maintain "empty" object's size hints when ibar/ibox resizes
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
2016-12-07 11:18:25 -05:00
Mike Blumenkrantz b586409543 revert all sizing commits to ibar/ibox for the past year
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:

f97f8f61ac
ebfa4a97cd
50030dc693
42aa6be359
504706d45a
b1f608c5e6
b107dc1cdc
3fc195cd9f
2016-12-07 11:18:23 -05:00
Mike Blumenkrantz 923f2e900f use better check for getting wl surface alpha from cursor pixmaps
ref 6ba85cf864
2016-12-07 11:18:17 -05:00
Mike Blumenkrantz 35530a546e fix internal wl windows to exit when border X is clicked 2016-12-07 11:18:03 -05:00
Mike Blumenkrantz 6aba66cee8 attempt to re-set wl surface pointer when popping back to "default" pointer type
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
2016-12-07 11:17:21 -05:00