Commit Graph

31 Commits

Author SHA1 Message Date
Derek Foreman 19a9f4ed29 also apply xdg-shell v6 client del hooks to external clients
partially reverts 7e05eff3e3

This was causing problems when destroying some xdg v6 clients.

if weston-simple-shm was killed while not on the current desktop
it would remain on deskmirrors.
2017-07-06 11:40:30 -05:00
Mike Blumenkrantz c21c0d64eb always run client icon update path when creating xdg6 role surface
ensure that the client gets a desktop associated with it so that it
can be matched to exec instances
2017-05-24 10:10:07 -04:00
Mike Blumenkrantz a5cc19bd1a remove unused struct members from wl E_Comp_Wl_Client_Data 2017-04-07 16:08:38 -04:00
Mike Blumenkrantz 6bb6f14b7c add debug for xdg6 configure 2017-03-24 13:17:24 -04:00
Mike Blumenkrantz 7e05eff3e3 only apply xdg-shell client del hooks to internal clients
ref 8173c06c4d
2017-03-24 13:17:24 -04:00
Mike Blumenkrantz 7052c66e74 force sending of last-used geometry when terminating a resize in wl shell send_configure
in the event that a client has not yet committed the changes from the
most recent resize event, it's legal for a client to have acked the previous
configure, ack this one, and then do nothing

this ensures that the last resize event(s) sizes are applied by the client
2017-03-17 15:08:38 -04:00
Mike Blumenkrantz 047f08a994 do not accidentally place unplaced clients during wl *shell configure 2017-03-17 13:16:59 -04:00
Mike Blumenkrantz 0d8b33c15f use maximized geometry for shell maximize calls on wl clients if !buffer_commit
this is for setting the initial state of a surface as maximized, so do not use
animation geometry here
2017-03-17 13:16:59 -04:00
Mike Blumenkrantz a7f708d568 add wl client flag to indicate status of xdg6 pre-buffer configure
ensure that initial configure is not sent more than once

ref T5044
2017-03-10 15:55:06 -05:00
Mike Blumenkrantz 7828db4575 track and delete xdg-shell client hooks
fix T5242
2017-03-10 15:55:06 -05:00
Mike Blumenkrantz 9e54e62447 fix dangling pointers in xdg-shell deletion
partially caused by use of wrong hash, partially by failure to remove
list entries

fix T5235
2017-03-03 10:49:33 -05:00
Mike Blumenkrantz 1bf6c2d5c3 remove e_comp_wl->ptr.grab_x/y
unused
2017-02-24 14:15:38 -05:00
Mike Blumenkrantz 2c7e91d38f make e_comp_wl->ptr.x/y ints and fix usage to be consistent
sometimes these were treated as ints and sometimes wl_fixed
2017-02-24 14:15:38 -05:00
Mike Blumenkrantz 0c56e19a64 validate xdg-shell move/resize requests against latest button serial
these are supposed to match in order to initiate the corresponding action
2017-01-13 11:35:20 -05:00
Mike Blumenkrantz 7716f58b5d throw xdg6 errors for unconfigured buffers as spec requires 2017-01-13 11:35:20 -05:00
Mike Blumenkrantz 531fcb8577 apply better algorithm during xdg6 positioner slide calc
try useful geometry, then base zone geometry. also restrict slide to being
adjacent to parent surface's anchor
2016-12-02 10:23:04 -05:00
Mike Blumenkrantz 6f4d77d10a disable xdg6 positioner resize hints
this is stupid so we're not going to do it

 #leadership
2016-12-02 10:04:52 -05:00
Chris Michael 7d8266995d verify shell client delete functions are operating on wayland clients.
ref cc795bfbda

Fixes T4958

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-12-02 09:29:44 -05:00
Chris Michael cc795bfbda Revert "verify valid client comp_data before accessing it directly"
Reverting this in favor of a different fix.

This reverts commit bbad744060.
2016-12-02 09:25:54 -05:00
Chris Michael bbad744060 verify valid client comp_data before accessing it directly
ref 8173c06c4d

Fixes T4958

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-12-02 09:12:29 -05:00
Mike Blumenkrantz 8173c06c4d add handler for triggering xdg-shell data cleanup on client del
in the case of internal windows, the client is deleted before any surfaces
are destroyed. this requires a special case to perform cleanups in order to
prevent client objects from leaking
2016-12-01 12:14:25 -05:00
Derek Foreman 3313f0f26d Fix crash on xdg shell unbind
Running weston-simple-dmabuf-intel and killing it could crash E in
xdg_shell_unbind.
2016-11-30 10:19:40 -06:00
Mike Blumenkrantz f58eb2db7b use more accurate determination for applying xdg-shell (un)maximize operations
fixes maximizing again
2016-11-30 11:16:24 -05:00
Mike Blumenkrantz f5788293b5 check gravity variable for gravities when applying xdg6 positioners
fixes positioning

--(typo--)
2016-11-29 11:45:39 -05:00
Mike Blumenkrantz 632e4097b5 always send valid size geom when configuring xdg6 popups
sending 0x0 here when passed (which happens during initial commit)
breaks the universe
2016-11-29 11:44:29 -05:00
Mike Blumenkrantz 79d157f5d5 fix use of E_CONTAINS macro for xdg-shell positioners
last week was backwards week
2016-11-29 11:30:27 -05:00
Mike Blumenkrantz 7851769eab handle illegal xdg-shell resource unbinds
this occurs when the shell resource dies before all the surfaces/positioners
are destroyed. usually this means the client has aborted, so there's no point in
sending an error or doing anything beyond performing a thorough cleanup
2016-11-29 11:30:24 -05:00
Mike Blumenkrantz 50b2712f61 destroy xdg role surfaces if base surface is destroyed
this is illegal, but at least we should not leak the client when it happens
2016-11-29 11:09:31 -05:00
Mike Blumenkrantz bf40d92ad8 handle xdg-shell maximize/unmaximize calls correctly 2016-11-29 10:11:23 -05:00
Chris Michael ddaf5b9a20 add missing EINA_UNUSED for unused function parameters
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-11-23 11:02:49 -05:00
Mike Blumenkrantz 5497fadce4 xdg6 support 2016-11-22 11:31:22 -05:00