Commit Graph

22110 Commits

Author SHA1 Message Date
Mike Blumenkrantz 5049ab02b3 always set E_Client->need_fullscreen when fullscreening
provide a method for determining whether a client is about to become
fullscreen during callbacks
2017-04-28 15:41:55 -04:00
Mike Blumenkrantz 3483d045a6 disable client maximize anims when unmaximizing before a fullscreen
this ensures accurate positioning of windows about to be fullscreened
2017-04-28 15:41:55 -04:00
Mike Blumenkrantz 543666790f account for late object setup when adding ssd mouse in/out callbacks
internal windows have a different setup order in which the frame is created
before any of the other internal objects in a comp object
2017-04-28 15:41:55 -04:00
Mike Blumenkrantz bd23b9c19b do not attempt to set window hidden hints on non-internal x11 windows
this causes a BadWindow error
2017-04-28 15:41:55 -04:00
Mike Blumenkrantz 84091de515 block x11 focus eventing under xwayland
ensure that focus changes come from the compositor and not from clients
2017-04-28 15:41:55 -04:00
Mike Blumenkrantz 081ab309cd always feed mouse events for wl client move events
better handling for xwayland case of moving pointer into ssd region
2017-04-28 15:41:55 -04:00
Mike Blumenkrantz a47a9a73a1 use even more accurate wl callbacks for detecting ssd mouse in/out events
ensure that any wl client with ssd hits the ssd mouse eventing path
2017-04-28 15:41:55 -04:00
Mike Blumenkrantz d23584856e do not send mouse events to ssd wl clients if mouse is within ssd region 2017-04-28 15:41:55 -04:00
Mike Blumenkrantz 8bfbf90d13 Revert "Stop sending wayland motion events when the mouse is grabbed"
This reverts commit 0a91a24573.

this should be resolved in a more readable way now
2017-04-28 15:41:55 -04:00
Mike Blumenkrantz 4354a94305 compare against e_client_action_get() for rejecting wl mouse events
signal actions do not set the cur_mouse_action pointer, but the return
of this function will still match the client for a more accurate heuristic
2017-04-28 15:41:55 -04:00
Mike Blumenkrantz 9e06da7e75 set signal move/resize clients as action_client internally
technically action_client is used to indicate that an e_action is
active, but functionally it really just means "this client is moving or
resizing" and the compositor makes certain adjustments based on this
2017-04-28 15:41:55 -04:00
Mike Blumenkrantz 70d5ebb66e send wl client resize edges during focus-in/out send_configure
avoid prematurely terminating resize operations
2017-04-28 15:41:55 -04:00
Mike Blumenkrantz b6d90beee4 add wrappers for elm_win util create functions
avoid deadlocking in gl init by forcing sw
2017-04-28 15:41:55 -04:00
Mike Blumenkrantz 772738d944 set dialog and tooltip flags for internal clients
fixes handling of internal wl windows which are set as dialogs
2017-04-28 15:41:55 -04:00
Mike Blumenkrantz fec6121b02 only re-set comp object position during show if client has been placed
avoid accidentally placing an unplaced client
2017-04-28 15:41:55 -04:00
Mike Blumenkrantz fa1a17cefc handle window icons from elm for internal wins
fixes appearance of icons set with elm_win_icon_name_set()
2017-04-28 15:41:55 -04:00
Mike Blumenkrantz 0b5f65d4a8 always use jobs to create bryce menus
ensure that menus can never be created during a post event callback in
order to avoid crashes

ref T3144
fix T5262
2017-04-28 15:41:54 -04:00
Mike Blumenkrantz 5f0cf3d36b only set toolbar icon min size if icon exists 2017-04-28 15:41:54 -04:00
Mike Blumenkrantz 73bc0bfc52 handle nested compositor delete requests
the previous implementation of this using ee callbacks broke during
elm integration since elm overrides all of those callbacks
2017-04-28 15:41:54 -04:00
Mike Blumenkrantz 451d1253fe only hide wl clients on surface destroy when surface is mapped
fixes some cases where hide animations would not be visible
2017-04-28 15:41:54 -04:00
Al Poole 7e743918d9 E keyboard settings - use the same icon as the keyboard settings dialog
Reviewers: zmike!

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D4716
2017-04-28 15:41:54 -04:00
Al Poole 6501c42fd3 Fix compiler type warnings (snprintf)
Reviewers: zmike!

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D4715
2017-04-28 15:41:54 -04:00
Al Poole 9eb847977b Fix macro namings in relation to endianness.
Reviewers: zmike

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D4714
2017-04-28 15:41:54 -04:00
Mike Blumenkrantz cc0317ac71 don't set minw for keyboard layout dialog
somehow this causes the dialog to size crazily for a couple seconds
before growing to its final size
2017-04-28 15:41:54 -04:00
Mike Blumenkrantz 691fb103b3 handle null E_Comp->screen during randr2 shutdown
some output modules have no screen iface (e.g., buffer, wl_wl, wl_x11)
and so this will always be null
2017-04-28 15:41:54 -04:00
Mike Blumenkrantz f958317bf5 call e_randr2_shutdown in comp shutdown
this should always be called, not just in comp_x
2017-04-28 15:41:54 -04:00
Mike Blumenkrantz ad0b867aae move x11 iconic window init from e_hints -> comp_x initial fetch
this reflects the order in which the client passes through these functions
and fixes handling of iconic clients on startup
2017-04-28 15:41:54 -04:00
Mike Blumenkrantz bc5172b96b force iconic state for iconic x11 clients during shutdown
this may or may not have been set previously if client mirrors are present,
but it should definitely be set during shutdown since there are no mirrors
2017-04-28 15:41:54 -04:00
Mike Blumenkrantz 5870c75a77 call wl/x compositor shutdown functions directly during comp shutdown 2017-04-28 15:41:54 -04:00
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