Commit Graph

21881 Commits

Author SHA1 Message Date
Mike Blumenkrantz 1ab1d82904 do not start xwayland repeatedly
ref 0534c7ae6f
2017-04-28 15:41:54 -04:00
Mike Blumenkrantz 45683d3fcd check changes.pos during client maximize/fullscreen and adjust window coords
using these coords when the changes.pos flag is set should result in more accurate
results for positioning when removing the state
2017-04-28 15:41:54 -04:00
Mike Blumenkrantz db62cf1020 only save client size info on maximize/fullscreen when protocol visible
a client which begins in one of these states must set its size again when
removing the state
2017-04-28 15:41:54 -04:00
Mike Blumenkrantz 171aebbff1 perform frame adjustments before applying wm spec hints during unmaximize
e_client_resize_limit removes frame adjustments before performing calcs,
so ensure that the geometry passed is pre-adjusted to account for this
2017-04-28 15:41:54 -04:00
Mike Blumenkrantz 804bf20c72 return during comp object pixels function if client was deleted during render 2017-04-28 15:41:08 -04:00
Mike Blumenkrantz 93b32faabd show x11 parent windows during reparent only if not withdrawn
iconic windows are still shown
2017-04-28 15:41:08 -04:00
Mike Blumenkrantz 6e2d71f132 do not force comp objects to render for their proxies if real_hid is set
this flag indicates that the object cannot be rendered
2017-04-28 15:41:08 -04:00
Mike Blumenkrantz 012a7d492e do not use saved e_randr screens if fake screens have been added 2017-04-28 15:12:05 -04:00
Mike Blumenkrantz 434a3c8d38 add handler for EFREET_EVENT_DESKTOP_CACHE_BUILD to e_order init
it's possible that during startup there will never be a CACHE_UPDATE
event, so ensure that an attempt to read occurs by watching this event too
2017-04-28 15:10:46 -04:00
Mike Blumenkrantz 7d77918f6c set ON_HOLD when activating start gadget 2017-04-28 15:10:41 -04:00
Mike Blumenkrantz dc3e882383 defer menu activation mouse-up feed
ensure that this is not triggered from an evas post event callback

ref T3144
2017-04-28 15:10:25 -04:00
Mike Blumenkrantz de624b7ca4 unset deskmirror client's client pointer upon client deletion
prevent invalid access after client deletion
2017-04-28 15:09:25 -04:00
Mike Blumenkrantz 6b946c897f add all wl client frame callbacks with priority AFTER
ensure that these occur after all other callbacks since they can affect
the lifetime of the client object
2017-04-28 15:07:31 -04:00
Mike Blumenkrantz 5d89a8a993 better protect comp object internals from dereferencing freed clients
animating comp objects persist after the lifetime of their client, so
ensure that functions which are likely to be called after the client's free
will not attempt to access client struct members
2017-04-28 15:07:22 -04:00
Mike Blumenkrantz 2931d01523 comment out inlist member of E_Comp_Object struct
this was unused
2017-04-28 15:07:08 -04:00
Mike Blumenkrantz bb30294f66 hide wl clients before deleting them on surface destroy
==13853== Invalid read of size 8
==13853==    at 0x5C7C56: _e_comp_wl_surface_destroy (e_comp_wl.c:1804)
==13853==    by 0xA999971: destroy_resource (wayland-server.c:611)
==13853==    by 0xA9A06F4: for_each_helper (wayland-util.c:374)
==13853==    by 0xA9A073F: wl_map_for_each (wayland-util.c:387)
==13853==    by 0xA999C87: wl_client_destroy (wayland-server.c:763)
==13853==    by 0xA999216: wl_client_connection_data (wayland-server.c:283)
==13853==    by 0xA99C2B0: wl_event_source_fd_dispatch (event-loop.c:90)
==13853==    by 0xA99CC11: wl_event_loop_dispatch (event-loop.c:423)
==13853==    by 0xA787AC0: _cb_create_data (ecore_wl2_display.c:272)
==13853==    by 0xDBE984D: _ecore_call_fd_cb (ecore_private.h:333)
==13853==    by 0xDBEC01B: _ecore_main_fd_handlers_call (ecore_main.c:1992)
==13853==    by 0xDBEC8A9: _ecore_main_loop_iterate_internal (ecore_main.c:2379)
==13853==    by 0xDBEA672: ecore_main_loop_begin (ecore_main.c:1292)
==13853==    by 0x441DA9: main (e_main.c:1089)
==13853==  Address 0x30ba5d90 is 176 bytes inside a block of size 1,424 free'd
==13853==    at 0x4C2ED4A: free (vg_replace_malloc.c:530)
==13853==    by 0x4603D6: _e_client_free (e_client.c:588)
==13853==    by 0x5475A8: e_object_free (e_object.c:119)
==13853==    by 0x5477C4: e_object_unref (e_object.c:152)
==13853==    by 0x5473D7: e_object_del (e_object.c:60)
==13853==    by 0x5C7C51: _e_comp_wl_surface_destroy (e_comp_wl.c:1803)
==13853==    by 0xA999971: destroy_resource (wayland-server.c:611)
==13853==    by 0xA9A06F4: for_each_helper (wayland-util.c:374)
==13853==    by 0xA9A073F: wl_map_for_each (wayland-util.c:387)
==13853==    by 0xA999C87: wl_client_destroy (wayland-server.c:763)
==13853==    by 0xA999216: wl_client_connection_data (wayland-server.c:283)
==13853==    by 0xA99C2B0: wl_event_source_fd_dispatch (event-loop.c:90)
==13853==    by 0xA99CC11: wl_event_loop_dispatch (event-loop.c:423)
==13853==    by 0xA787AC0: _cb_create_data (ecore_wl2_display.c:272)
==13853==    by 0xDBE984D: _ecore_call_fd_cb (ecore_private.h:333)
==13853==    by 0xDBEC01B: _ecore_main_fd_handlers_call (ecore_main.c:1992)
==13853==    by 0xDBEC8A9: _ecore_main_loop_iterate_internal (ecore_main.c:2379)
==13853==    by 0xDBEA672: ecore_main_loop_begin (ecore_main.c:1292)
==13853==    by 0x441DA9: main (e_main.c:1089)
==13853==  Block was alloc'd at
==13853==    at 0x4C2FA50: calloc (vg_replace_malloc.c:711)
==13853==    by 0x5471A4: e_object_alloc (e_object.c:20)
==13853==    by 0x467AD5: e_client_new (e_client.c:2596)
==13853==    by 0x5C7F11: _e_comp_wl_compositor_cb_surface_create (e_comp_wl.c:1858)
==13853==    by 0xADBDC57: ffi_call_unix64 (in /usr/lib64/libffi.so.6.0.2)
==13853==    by 0xADBD6B9: ffi_call (in /usr/lib64/libffi.so.6.0.2)
==13853==    by 0xA99EEED: wl_closure_invoke (connection.c:935)
==13853==    by 0xA999581: wl_client_connection_data (wayland-server.c:371)
==13853==    by 0xA99C2B0: wl_event_source_fd_dispatch (event-loop.c:90)
==13853==    by 0xA99CC11: wl_event_loop_dispatch (event-loop.c:423)
==13853==    by 0xA787AC0: _cb_create_data (ecore_wl2_display.c:272)
==13853==    by 0xDBE984D: _ecore_call_fd_cb (ecore_private.h:333)
==13853==    by 0xDBEC01B: _ecore_main_fd_handlers_call (ecore_main.c:1992)
==13853==    by 0xDBEC8A9: _ecore_main_loop_iterate_internal (ecore_main.c:2379)
==13853==    by 0xDBEA672: ecore_main_loop_begin (ecore_main.c:1292)
==13853==    by 0x441DA9: main (e_main.c:1089)
2017-04-28 15:07:04 -04:00
Simon Lees 4f267f8090
21.7 NEWS Updates 2017-03-07 19:35:43 +10:30
Simon Lees 48e8fb28b5
21.7 Release 2017-03-07 19:35:27 +10:30
Mike Blumenkrantz c28a455ccb include dlfcn.h for e_alert_main.c 2017-03-07 19:33:47 +10:30
Mike Blumenkrantz f220fa8d29 define E_EFL_VERSION_MINIMUM in e_alert_main.c 2017-03-07 19:33:29 +10:30
Mike Blumenkrantz 5e70f64b75 add -ldl to wl build when needed 2017-02-28 11:10:01 -05:00
Mike Blumenkrantz 1ada1b3e73 Revert "e - wl mode - stop consuming 100 percent cpu"
This reverts commit cd3490f35c.

this breaks many windows by preventing deferred resizing from occurring.
a window which is unable to resize at the time of this call must be queued
for a deferred resize, otherwise it may never resize at all and thus will
never be rendered

test case: screenshot dialog
2017-02-27 14:43:12 -05:00
Mike Blumenkrantz 9dff5b81e5 show already-visible comp util objects when changing frame type
ensure internal clipper state matches object visibility state
2017-02-24 14:47:41 -05:00
Mike Blumenkrantz 48437f930a only move new bryces to zone on create, not existing ones
this resolves an issue where not changing any position-related attrs
would stick the bryce in the wrong location until restart
2017-02-24 14:47:41 -05:00
Mike Blumenkrantz 099b50859a save config when toggling option to disable startup splash
broken since 2013
2017-02-24 14:47:41 -05:00
Marcel Hollerbach 50ca940e08 tiling: dont use floating state when toggling
when someone toggles a client he usally doesnt want to have it again in
toggle state, so make sure its vertical or horizontal.
2017-02-24 14:47:41 -05:00
Carsten Haitzler dc99898798 efm - fix nuisance warning about enlightenment 2017-02-24 14:47:41 -05:00
Carsten Haitzler 4ce6757c0d efx - fix unaligned ptr fill that is actually a bug
warning found a bug - filling in chr fileds with an api that expects
ptrs to ints - this is doing really bad things like unaligned writes
and it's overiting adjacent memory. fix
2017-02-24 14:47:41 -05:00
Carsten Haitzler 6749fa3589 tiling module - fix some warnings with casts and alignment
alignment warnings are anal and seem to not like casting allocated
structs nicely ... but they are noise that hides real issues, so
silence these as these casts/ptrs are ok after inspection.
2017-02-24 14:47:41 -05:00
Carsten Haitzler 428454bff2 e comp - quiet some warnings for casts that are ok
add soem void 8 casts for casts that are ok alignment-wise but that
generate warnings
2017-02-24 14:47:41 -05:00
Carsten Haitzler 1cf0555f73 e comp - fix stupid cast to from eina rect* to char* to eina rect* again
just causes warnings and makes no sense...
2017-02-24 14:47:41 -05:00
Carsten Haitzler c07093817c e comp object - fix warning where a void cast is as goos as the old one
we did cast to Evas_Native_Surface * but this just causes warnings due
to the input ptr being char * from memcup. as this will be aligned due
to allocation, we're ok, so use a void * cast instead
2017-02-24 14:47:41 -05:00
Carsten Haitzler 9489d57d91 e mixer pulse backened -f ix warning about use of uninit var
display really isn't uninitialized due to the logic, but compielr is
kind of right in theory... but less warnings is better so we fix the
real problems more easily. fix.
2017-02-24 14:47:41 -05:00
Carsten Haitzler 18f754be0e evry module - fix warning about comparing signed to unsigned
harmless warning - use a cast to keepit quiet.
2017-02-24 14:47:41 -05:00
Carsten Haitzler 279bea35e4 efm - fix warnings for progress time display
the code is right - data is aligned, but gcc doesn't know this, so
silence it with void * cast
2017-02-24 14:47:41 -05:00
Carsten Haitzler a2ce9c054a e notification - silence alignment warning
the code is ok - it's aligned data from evas and we can address it by
int ptrs, but the warning is noise, so simply add a void * cast in there
2017-02-24 14:47:41 -05:00
Carsten Haitzler 1693daeb66 e comp - wl - add void cast to reduce warnings
we're pointer playing anyway so types here are not really useful. we
have to get our ptrs right - including alignment, and these warnings
are not useful and just noise.
2017-02-24 14:47:41 -05:00
Carsten Haitzler c080a171ee e xsettings - fix warnings about unaligned ptr access
this moves access to byte by byte memcpy's to avoid potential
unaligned access.
2017-02-24 14:47:41 -05:00
Carsten Haitzler 0bc055d19c e comp x - fix property fetch to use int ptr from the start
this clears up soem warnings and do the cast on providing the pointer
to ecore_x_window_prop_property_get() which since it has to allocate
the data will be fine for alignment anyway, so a void * cast will do.
2017-02-24 14:47:41 -05:00
Carsten Haitzler 737eabe0c3 efm ipc - fix unaligned int read on ipc decode
warning was right - this is an unaligned read. fix.
2017-02-24 14:47:41 -05:00
Carsten Haitzler f34d5dd159 e ptr cast via void fix to reduce warnings
so we cast a lot of ptrs to other types as that is then the actual
type of the object. all these objects are allocated by malloc nad
friends so this is ok. but gcc on arm is not happy and warns. maybe it
assume this ptr could be to an element in an array of structs of this
type and so on thus will have specific alignment enforced by compiler
but our casting may disturb it? anyway. cast via void first fixes it.
we can focus on other real warnings and errors instead.
2017-02-24 14:47:41 -05:00
Carsten Haitzler b6af56b0b2 e theme conf config - fix casting char fileds to int ptrs
we're casting ptrs to char fields to int * which is actually wrong as
we break alignment guarantees. fix.
2017-02-24 14:47:41 -05:00
Carsten Haitzler 664432e363 e fileman config - fix definite alignment bug with cast char to int ptr
we're casting ptrs to char fields to int * which is actually wrong as
we break alignment guarantees. fix.
2017-02-24 14:47:41 -05:00
Carsten Haitzler d425b38e56 e ervything md5 code - fix warnings about alignment
gcc on arm is actually validly complaining about us using int * ptrs
to point to char * data and thus it likely be unaligned, so work in
reverse. make the data int * aligned and when needed mess with it as
char * data byte by byte. warnings gone.
2017-02-24 14:47:41 -05:00
Mike Blumenkrantz 34eebbb4cc ignore all non-NORMAL type wl windows in e_place
this catches subsurfaces, drags, and popups, which were erroneously being
handled like obstacles during placement
2017-02-24 14:47:41 -05:00
Mike Blumenkrantz a0a9605d30 always set E_Client->placed when successfully moving a comp object
enforce this for all cases
2017-02-24 14:47:41 -05:00
Mike Blumenkrantz 808c0681db future-proof client hook inlist initialization
manually initializing this meant it needed to be kept in sync with the
header, something that I'm unlikely to check every time client hooks are
added/removed
2017-02-24 14:47:41 -05:00
Mike Blumenkrantz 0eeb0607e6 fix return code checking for errors when generating wl key events 2017-02-24 14:47:41 -05:00
Mike Blumenkrantz 3a83c9db9e more correctly handle dnd completion for wl
* always send cancel when drag is !accepted
* always null e_comp_wl->drag_source
2017-02-24 14:47:41 -05:00
Mike Blumenkrantz 10b1ba2b23 simplify _e_comp_wl_data_device_drag_finished() slightly 2017-02-24 14:47:40 -05:00