Commit Graph

21221 Commits

Author SHA1 Message Date
Mike Blumenkrantz 885d24eeab unify client post_updates management code into single function 2016-03-14 14:27:15 -04:00
Chris Michael fd816230c4 make e_alert WBOD work in X11 even when built with wayland support
If enlightenment is built with support for wayland, then previously
the WBOD would not work if we were running the same binary with X11.
This was because the alert system would try to connect via drm by
default (due to wayland build option). We fix that by checking for the
existance of $DISPLAY (as this will not be present under drm), and
running the X11 codepath if it is found, running the drm codepath if
it is not found.

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-03-14 13:22:30 -04:00
Mike Blumenkrantz e5cf1fb215 add workaround for xwayland client bug
sighhhhhhhhhhhhhhhhh
2016-03-12 15:43:39 -05:00
Mike Blumenkrantz 8d7e55f4dc remove direct references to ec->comp_data in x11 compositor
this fixes a number of xwayland client issues
2016-03-12 15:41:50 -05:00
Mike Blumenkrantz abffe6b6d2 calling dirty() on a comp object for a deleted client should not print an error 2016-03-12 15:37:10 -05:00
Mike Blumenkrantz 1a91486083 always send wl key releases if surface still exists
fixes stuck keys for wl_clients with multiple surfaces
2016-03-12 12:40:39 -05:00
Mike Blumenkrantz b2107ae2b0 remove maximize_pre flag from wl client comp_data
this breaks modification of maximized size for surfaces as well as animations

fix T3297

partially reverts 0321fd690e
2016-03-12 11:18:10 -05:00
Mike Blumenkrantz 3413399b15 always move objects during efx_resize if position is provided
some objects (like clients) may lie about their geometries and report
wrong values
2016-03-12 11:17:32 -05:00
Mike Blumenkrantz 48b6d54966 don't increment position coords twice during efx move operations 2016-03-12 11:17:06 -05:00
Mike Blumenkrantz 1fd9d8eee5 break out xwl init/shutdown into static functions for reuse internally
calling modapi functions like this causes symbol collision and randomly
calls corresponding functions for other modules
2016-03-12 11:15:42 -05:00
Mike Blumenkrantz f1bccff8e1 Revert "fix xwayland compile with 1.18 eo"
This reverts commit 2ec02258ec.
2016-03-12 10:43:13 -05:00
Mike Blumenkrantz 965632fedc use object position for efx resize anchoring when no move effect is active
CIDs 1352902, 1352903
2016-03-12 10:42:19 -05:00
Mike Blumenkrantz f26f6cf3dd be less pedantic during efx move/resize operations about object geometry
assume that an object is where it's supposed to be in order to avoid failing
to correctly animate objects which modify set geometries, such as e clients
2016-03-11 18:17:06 -05:00
Mike Blumenkrantz 88518d8103 don't add render updates for deleted clients on failed resize 2016-03-11 18:16:21 -05:00
Mike Blumenkrantz d2cc427505 grab comp input on wizard start
without this, windows can randomly grab keyboard input and prevent
fast forwarding
2016-03-11 17:19:32 -05:00
Mike Blumenkrantz 9c829d5f25 redo wizard to use elm 2016-03-11 17:19:32 -05:00
Mike Blumenkrantz 14ad1892aa redo wizard's gl testing mechanism
Xorg.$.log is not a reliable source of information for a variety of reasons,
using the readily-available evasgl is much safer and more portable
2016-03-11 17:19:32 -05:00
Mike Blumenkrantz 1b475da50e handle wireless module existence in related wizard page 2016-03-11 17:19:32 -05:00
Mike Blumenkrantz eb58e2ca70 remove eldbus init/shutdown calls from the codebase
this is handled by e_msgbus
2016-03-11 17:19:32 -05:00
Mike Blumenkrantz 40ebdb60d4 remove library checks for a number of modules along with useless defines
most of these date back from before efl was a unified tree or enlightenment itself
could be optionally built with things like dbus support
2016-03-11 17:19:32 -05:00
Derek Foreman e9751f4d57 Free pixel data after taking a wayland screen shot 2016-03-11 11:19:29 -05:00
Derek Foreman a4fc286d7f Fix internal window borders on 32-bit computers
Our wayland window ids are 64 bit integers, we need to be careful
about the data type on 32-bit machines where pointers are smaller
than this.
2016-03-10 16:47:09 -05:00
Mike Blumenkrantz 57f62675cc make wayland client keyboard focus list pruning more robust
this should handle all possible cases where focused keyboard resources
need to be removed from the global list
2016-03-10 15:18:47 -05:00
Mike Blumenkrantz b742baff5b reject attempts to focus deleted comp objects 2016-03-10 15:18:19 -05:00
Mike Blumenkrantz f91ed81cd1 run focus-out and mouse-out wayland client callbacks for deleted clients
this fixes a number of issues caused by clients not cleaning up on deletion

ref 3e9029ea08

 #YouAlwaysRememberTheFirstTimeYouBorkedTheCompositor
2016-03-10 14:47:41 -05:00
Derek Foreman ff70943f76 Fix wayland hide for internal windows
We need to make sure we drop reference on all exit paths through the
hide callback - somehow this only seemed to break internal windows.

ref 65166c5a36
2016-03-10 12:19:32 -05:00
Mike Blumenkrantz 15a918d3c7 during bryce moveresize callback, return if no zone could be located
probably some crazy animation going on, ignore this case

CID 1352828
2016-03-10 11:59:58 -05:00
Mike Blumenkrantz 66fbb48cc6 check returned pixmap size before attempting to create updates tiler
CID 1349419
2016-03-10 11:57:11 -05:00
Mike Blumenkrantz e49657eed0 ensure pointer lifetimes when advancing efx effect queue
CIDs 1352853, 1352852, 1352851, 1352850, 1352849, 1352848, 1352847
2016-03-10 11:46:18 -05:00
Mike Blumenkrantz 53d64276b4 resolve harmless coverity reports in time module
CIDs 1352837, 1352846
2016-03-10 11:28:34 -05:00
Mike Blumenkrantz 0b69c40d92 resolve harmless coverity reports in wireless module
CIDs 1352825, 1352826, 1352827
2016-03-10 11:21:11 -05:00
Mike Blumenkrantz 77602a5853 ensure string termination when using strncpy
CID 1352823
2016-03-10 11:11:57 -05:00
Mike Blumenkrantz c95f3347ae flatten return of strcmp to bool value
CIDs 1352821, 1352822
2016-03-10 11:08:48 -05:00
Mike Blumenkrantz 2017eda0bc don't add render update during ignored damage on deleted clients
ref 1507f815a5
2016-03-09 15:27:59 -05:00
Mike Blumenkrantz fcf3bf8a5c remove show callback from evry win on deletion
==22088== Invalid read of size 1
==22088==    at 0x2C9FE7B1: _evry_cb_show (evry.c:3046)
==22088==    by 0x5BE9918: _eo_evas_object_cb (evas_callbacks.c:65)
==22088==    by 0x69A16F4: _eo_base_event_callback_call (eo_base_class.c:715)
==22088==    by 0x69A3041: eo_event_callback_call (in /usr/lib/libeo.so.1.17.99)
==22088==    by 0x5BEA0B3: evas_object_event_callback_call (evas_callbacks.c:240)
==22088==    by 0x5C2577C: evas_object_inform_call_show (evas_object_inform.c:12)
==22088==    by 0x5C1ED24: _show (evas_object_main.c:1360)
==22088==    by 0x5C1EADA: _evas_object_efl_gfx_base_visible_set (evas_object_main.c:1313)
==22088==    by 0x575D80A: efl_gfx_visible_set (in /usr/lib/libefl.so.1.17.99)
==22088==    by 0x5C1EA58: evas_object_show (evas_object_main.c:1291)
==22088==    by 0x479FCF: _e_comp_intercept_show_helper (e_comp_object.c:1616)
==22088==    by 0x47A02A: _e_comp_intercept_show (e_comp_object.c:1630)
==22088==  Address 0x17621591 is 81 bytes inside a block of size 120 free'd
==22088==    at 0x4C2AE6B: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==22088==    by 0x2C9F95A8: _evry_window_free (evry.c:993)
==22088==    by 0x2C9F8065: evry_hide (evry.c:366)
==22088==    by 0x2C9FB9A2: _evry_cb_key_down (evry.c:1926)
==22088==    by 0x8F6ED4A: _ecore_call_handler_cb (ecore_private.h:316)
==22088==    by 0x8F6FC92: _ecore_event_call (ecore_events.c:518)
==22088==    by 0x8F7A15A: _ecore_main_loop_iterate_internal (ecore_main.c:2339)
==22088==    by 0x8F784A8: ecore_main_loop_begin (ecore_main.c:1284)
==22088==    by 0x4403F6: main (e_main.c:1087)
==22088==  Block was alloc'd at
==22088==    at 0x4C2BBD5: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==22088==    by 0x2C9F8D7D: _evry_window_new (evry.c:758)
==22088==    by 0x2C9F772D: evry_show (evry.c:177)
==22088==    by 0x2C9F711C: _e_mod_run_defer_cb (e_mod_main.c:537)
==22088==    by 0x8F75267: _ecore_call_task_cb (ecore_private.h:282)
==22088==    by 0x8F7574E: _ecore_idle_enterer_call (ecore_idle_enterer.c:174)
==22088==    by 0x8F7A05B: _ecore_main_loop_iterate_internal (ecore_main.c:2261)
==22088==    by 0x8F784A8: ecore_main_loop_begin (ecore_main.c:1284)
==22088==    by 0x4403F6: main (e_main.c:1087)
2016-03-09 14:25:16 -05:00
Mike Blumenkrantz 2ec02258ec fix xwayland compile with 1.18 eo 2016-03-09 13:13:45 -05:00
Mike Blumenkrantz d44de2e192 add window maximize animation
this has been implemented and working well in desksanity for a couple years,
and it's a trivial thing to bring over now that efx is available
2016-03-08 18:06:36 -05:00
Mike Blumenkrantz aa024e0a4f bump E_VERSION_MAJOR and modapi 2016-03-08 18:06:36 -05:00
Mike Blumenkrantz 103da25b94 unify client e_hints window size setting in move/resize callbacks 2016-03-08 18:06:36 -05:00
Chris Michael d49f60dd8a don't have to hook the ecore_evas resize callback here as that should
be handled by elm now

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-03-08 16:09:55 -05:00
Mike Blumenkrantz 8ca293423a always run client res changes in e_comp_canvas_update()
this function is only called when screen geometry (or useful geometry) has
changed, and so all clients should have their geometries checked at this point
to ensure that they update for any new zone obstacle changes which have occurred
2016-03-08 15:59:57 -05:00
Mike Blumenkrantz b710f6f3b3 block re-unsetting of native surface for comp objects
due to recent evas internals changes, this breaks software compositing
2016-03-08 14:53:00 -05:00
Mike Blumenkrantz 69fe80959b manually calc bryce center-screen coords
e_comp_object_util_center_pos_get() uses zone useful geometry
2016-03-08 13:00:43 -05:00
Derek Foreman df7bc5963d Remove argb_convert for wayland buffers
Wayland buffers are currently either ARGB or XRGB - we don't need to
convert either of these, we just need to set alpha appropriately - which
we now do.
2016-03-08 12:46:32 -05:00
Derek Foreman b4bcb1dc23 Don't use e_pixmap_image_data_argb_convert for wayland images
All we really need for wayland is to set alpha properly, so we can
save the conversion/copy when doing XRGB.
2016-03-08 12:46:32 -05:00
Derek Foreman 2e0e74f087 Stop copying all wayland buffers
The new buffer management shouldn't require this anymore.
2016-03-08 12:46:32 -05:00
Derek Foreman e4490c4bf6 Re-enable window close animations for wayland
These should work properly with the new buffer management code.
2016-03-08 12:46:32 -05:00
Derek Foreman 36586fbf9c Remove wayland buffer reference
This code is similar to code in weston, but doesn't really work properly
for us in E, since this can blow up buffers behind the async renderer's
back.

The rest of the reference code has been pushed into e_pixmap, so we can
kill this all now.
2016-03-08 12:46:32 -05:00
Derek Foreman dfc7c26ce4 Rework wayland buffer handling
We need to keep wayland buffers around even if they'll never be written
to again.  This is part of Buffer_Reference's task in weston, but we
already have our pixmap abstraction which can serve mostly the same
purpose.

Remove the "buffer reference" stuff from e_pixmap and replace it with a
kept buffer for the last commit.

Add shared memory pool references to keep pools from going away on us.
2016-03-08 12:46:32 -05:00
Derek Foreman b98e78d464 Track whether a render is in progress or not
We'll need this to protect certain wayland operations.
2016-03-08 12:46:32 -05:00