refactor: cleanup + improve focus
This commit is contained in:
parent
f03edb1db7
commit
8945f8b345
11
cursor.c
11
cursor.c
@ -13,6 +13,7 @@ void diyac_cursor_focus(struct diyac_server *server)
|
|||||||
struct diyac_node_descriptor *desc = diyac_node_at(server,
|
struct diyac_node_descriptor *desc = diyac_node_at(server,
|
||||||
server->seat.cursor->x, server->seat.cursor->y, &surface, &sx, &sy);
|
server->seat.cursor->x, server->seat.cursor->y, &surface, &sx, &sy);
|
||||||
struct diyac_layer_surface * layer;
|
struct diyac_layer_surface * layer;
|
||||||
|
struct diyac_view * root = NULL;
|
||||||
if(!desc)
|
if(!desc)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
@ -21,7 +22,15 @@ void diyac_cursor_focus(struct diyac_server *server)
|
|||||||
switch (desc->type)
|
switch (desc->type)
|
||||||
{
|
{
|
||||||
case DIYAC_NODE_VIEW:
|
case DIYAC_NODE_VIEW:
|
||||||
diyac_focus_view(desc->data, true);
|
root = diyac_get_root_view(desc->data);
|
||||||
|
if(root)
|
||||||
|
{
|
||||||
|
diyac_focus_view(root, true);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
diyac_focus_view(desc->data, true);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case DIYAC_NODE_LAYER_SURFACE:
|
case DIYAC_NODE_LAYER_SURFACE:
|
||||||
layer = desc->data;
|
layer = desc->data;
|
||||||
|
Loading…
Reference in New Issue
Block a user