Commit Graph

21033 Commits

Author SHA1 Message Date
Mike Blumenkrantz 7a7c57c2b8 strcpy -> strncpy in evry files plugin 2016-03-09 12:11:15 -05:00
Mike Blumenkrantz 21ab21d551 remove multihead env var setting in e_exec
multihead no longer possible, no point in keeping this

CID 1039793
2016-03-09 12:11:10 -05:00
Mike Blumenkrantz f9d9979800 remove DISPLAY usage from E_IPC_SOCKET value
pid should be enough here

CID 1039791
2016-03-09 12:11:05 -05:00
Mike Blumenkrantz cf0d1eba9c remove security hole in e_start_main
if a file called ~/.e-mtrack existed then during startup the launcher would
read the first line of this file and set LD_PRELOAD to that value

CID 1039785
2016-03-09 12:11:00 -05:00
Mike Blumenkrantz 51365e879e do not set XCURSOR_PATH variable if re-setting existing value 2016-03-09 12:10:56 -05:00
Mike Blumenkrantz a04a93e5ef use strbufs instead of strcat in fwin navbars
CIDs 1039794, 1039795, 1039796
2016-03-09 12:10:51 -05:00
Mike Blumenkrantz f546997405 disable emotion_shutdown during shutdown procedure
this manually iterates main loop and is guaranteed to trigger unexpected
behaviors and/or crashes
2016-03-09 12:10:47 -05:00
Mike Blumenkrantz 0de37612bb force changed when adding or removing keyboard layouts in config
fix T3208
2016-03-09 12:10:41 -05:00
Mike Blumenkrantz d3d36092c7 update winlist ui when using directional window selection
fix T3152
ref b1378ce77b
2016-03-09 12:10:27 -05:00
Mike Blumenkrantz f009e7c752 do not decrement e_comp->new_clients for non-new clients during _e_client_eval
this overflows the int!
2016-03-09 12:10:03 -05:00
Mike Blumenkrantz a8ecf89bd6 make bgpreview create vdesk config dialog on mouse up instead of mouse down
if the option to always raise a window on click is enabled, clicking an internal
window in a way which creates another window will cause a race condition where
the clicked window is raised over the newly created window

there is no obvious policy-wide solution to this issue, but making this change
at least resolves the issue in question

fix T3210
2016-03-09 12:09:58 -05:00
Mike Blumenkrantz b1a5eeeb0c remove some unused variables 2016-03-09 12:09:50 -05:00
Mike Blumenkrantz 2e692ace58 redo wayland pixmap ids to use monotonic decreasing ints with no collisions
using pointers for this turned out to have some corner case collisions, so
now just use something totally unrelated to the surface to ensure uniqueness
2016-03-09 12:09:46 -05:00
Carsten Haitzler 361b6d84e0 e - efm: fix op registry listener add and dont use eina_error
eina list stopped using eina_error like... so so so so so long ago like
before 1.0 - so eina_error value may be something junk and from
somewhere else where the list append succeeded but ena error said
fail- and that is what was happening and things crashed. this fixes this

@fix
2016-03-09 12:09:40 -05:00
Mike Blumenkrantz d3b6e7a219 enable comp object image data refresh if a dirty call is made with no damages
this indicates that a buffer has changed, but there is no new data to draw
2016-03-09 12:09:35 -05:00
Mike Blumenkrantz 1a71696c3a pre-remove pixmap from x11 clients during del hook
this breaks the compositor!

ref 0ca200513e
2016-03-09 12:09:27 -05:00
Mike Blumenkrantz 048eed9402 reshuffle x11 comp init to cleanup on failure cases
in the event of a wayland start, x11 comp init will fail, meaning that
cleanup must occur in order to avoid erroneous triggering of x11 handlers

 #TooSoon
2016-03-09 12:09:21 -05:00
Derek Foreman 5143ed69de Remove wayland focus timer in delete callback
If we don't remove it now it could fire later when the structures
it depends on are already freed.
2016-03-09 12:09:15 -05:00
Derek Foreman 2904c7a611 Bump wayland version requirement
We need 1.10 for the shm pool referencing api
2016-03-09 12:09:10 -05:00
Derek Foreman 1a6dac4677 Move pixmap free to client free from client destroy
Under wayland we need the pixmaps to exist until after the close
animations finish, even if clients can perform new rendering.

@fix
2016-03-09 12:08:43 -05:00
Derek Foreman c7027d4f44 Use eina_list_merge instead of eina_list_move for wayland lists
We should use eina_list_merge for concatenating lists instead of
eina_list_move.
2016-03-09 12:08:37 -05:00
Derek Foreman c9b720cccd Protect the wayland frame callback list from corruption
The resource destroy callback for frame callbacks will walk the frame list
to remove itself.  When freeing that list we need to make sure the
resource destroy callback doesn't see the same list we're walking and
corrupt it.
2016-03-09 12:08:33 -05:00
Derek Foreman e8c3320712 Fix xdg-shell destructors
_e_shell_surface_destroy() is already the implementation's destructor, so
it'll be called when the surface is destroyed anyway.  What we have to do
here is just call wl_resource_destroy(resource) - which will call that
function for us.

It'll also do us the favor of actually destroying the resource and
removing it from the client's resource list so we won't get a SECOND call
to _e_shell_surface_destroy() on client exit.
2016-03-09 12:08:27 -05:00
Derek Foreman f8be94f19e Remove wayland frame callbacks from subsurface cache on destruction
There are 3 places a frame callback could be hiding.  frames list,
pending.frames list, or subsurface cached.frames list.  We weren't
clearing it from the subsurface cache on destruction.
2016-03-09 12:08:21 -05:00
Mike Blumenkrantz 0a557c8d05 improve enforcement of shelf autohide-related window adjustment
for whatever reason, there's a global option which makes windows adjust
when a shelf autohides as well as a per-shelf option to ignore the global
option

in the case where the global option is not enabled, there is no reason to
check the per-shelf option

ref 5d63b07ca3
2016-03-09 12:08:11 -05:00
Derek Foreman 209cf8f9d7 Ensure wayland clients haven't been deleted when processing callbacks
Summary:
It's apparently possible to trigger at least some of these by interacting
with a client as it's closing, so add a bunch of checks.

Reviewers: zmike

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D3699
2016-03-09 12:08:03 -05:00
Mike Blumenkrantz 263774c4a1 do not clamp comp object input regions to 0,0
this breaks input for clients using csd which are aligned at x|y axis
2016-03-09 12:07:52 -05:00
Mike Blumenkrantz f31e540140 do not perform special case position adjustment for re_manage clients
this case is solely for handling clients which are created with nonzero
position, eg. an x11 window trying to display itself centered upon initial
creation. re_manage indicates a window which is re-managed after a restart of
enlightenment, so these windows clearly do not fall into that case

fixes an issue where windows would move up+left by the size of their frame during
restart

ref 95e133282e
2016-03-09 12:07:38 -05:00
Mike Blumenkrantz 98b124850e clamp minimum shelf size to 20px in shelf config
the majority of gadgets do not render correctly/anything under this size,
so allowing it to be set is not going to be helpful to anyone
2016-03-09 12:06:52 -05:00
Chris Michael aa58760e29 update mailmap addresses
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-03-09 12:04:40 -05:00
Chris Michael c272ba7743 update mailmap addresses
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-03-09 12:04:35 -05:00
Mike Blumenkrantz 9578d65199 20.5 NEWS updates 2016-02-03 11:49:07 -05:00
Mike Blumenkrantz 227f66420f 20.5 release 2016-02-03 11:49:07 -05:00
Mike Blumenkrantz 4a6f329905 add back x11 window focusing
somehow during a cherry-pick of 96b55ce441,
this line was removed. no conflicts were raised during the cherry-pick.

thanksgit.jpg

fix T3137
2016-02-03 11:49:00 -05:00
Mike Blumenkrantz f3b9d9a9c6 20.4 NEWS updates 2016-02-02 13:47:46 -05:00
Mike Blumenkrantz 652a36e3c8 20.4 release 2016-02-02 13:46:36 -05:00
Mike Blumenkrantz c6d96feea2 disable map when unsetting zoomap child
if the existing map is left enabled when the child is removed from the
zoomap, the child object will be permanently misrendered with the previously
applied map
2016-02-02 13:41:30 -05:00
Mike Blumenkrantz 5864d4b9e6 send mouse out+in on desk flip end
this triggers mouse in events on objects under the mouse in order to
forcibly reapply focus for mouse-based focus policies

fix Tfrance
2016-02-02 13:41:14 -05:00
Mike Blumenkrantz f4179c1b27 update xkb.cur_group and send event upon serializing an EFFECTIVE layout in wl input
according to xkbcommon, the group returned from serializing the EFFECTIVE layout
is the one which is currently active. this array index should match up with the
list used in the xkb part of E_Config
2016-02-02 13:41:05 -05:00
Mike Blumenkrantz c111cf7455 do not update keymap group in _e_comp_wl_input_keymap_update()
this state is dead, and any group changes which have been made should
be reapplied based on the new state
2016-02-02 13:41:02 -05:00
Mike Blumenkrantz 5919d6ae7c disable shelf shadows if "noshadow" data item exists in shelf theme
this used to be handled by the "shaped" flag back when shelves had their
own windows, but the handling for it was lost during the transition away from
the E18 compositor
2016-02-02 13:38:48 -05:00
Mike Blumenkrantz 820a70e71d do not shortcut access of Efreet_Desktop->x hash in fileman
this subverts thread safety and also (now) avoids return data validation

fix T3096
2016-02-02 13:38:29 -05:00
Mike Blumenkrantz 3fbdc847ab do not attempt to create x11 canvas during xwayland init
this kills the gl_drm engine
2016-02-02 13:38:21 -05:00
Mike Blumenkrantz a372e5ba1b disable bindings during wayland screenshot operations
recursive action activation is very bad.
2016-02-02 13:37:40 -05:00
Mike Blumenkrantz e5e2a7cca4 defer screenshot action execution using a job
the drm screenshot action forcefully iterates the main loop, causing
the current loop (which triggered the action) to return after the screenshot
action has ended. during this time, it's possible for other actions to also
trigger, including triggering subsequent screenshot actions, so it's necessary
to defer the execution of the action until after the initial loop which triggered
the action has returned

 #Recursion
2016-02-02 13:37:35 -05:00
Mike Blumenkrantz e84ea043ac remove comp canvas key handler shortcuts for passing keys to wayland clients
now handled normally by disabling bindings
2016-02-02 13:36:56 -05:00
Mike Blumenkrantz 7e3e2db2be disable binding activation when grab dialog, menus, or dnd is active
these are all cases where bindings should fail to activate in order to
avoid interfering with current operations

also fixes an issue where attempting to add or modify an existing
mouse/key/wheel binding would fail as a result of that binding activating
while the grab dialog was active
2016-02-02 13:36:46 -05:00
Mike Blumenkrantz 9c22c5d12a add function for disabling mouse/key/wheel/signal bindings
currently there are a lot of workarounds for inhibiting these bindings,
but it's getting harder to keep track of all the conditions and cases
where bindings need to be worked around

this should greatly simplify the process of toggling binding activation
in cases where such behavior is undesirable

acpi bindings are always allowed since they are unlikely to interfere with
operations where direct-input bindings would be harmful
2016-02-02 13:36:42 -05:00
Mike Blumenkrantz a28eae0ca9 allocate E_Shell_Data for all xdg surfaces (popups)
this crashes if the shell surface does not have shell data
2016-02-02 13:36:24 -05:00
Mike Blumenkrantz 97b6558444 handle more mouse buttons in wayland
according to the "reference" compositor this is how it works
2016-02-02 13:36:20 -05:00