src/workspaces.c: use cached server pointer

This commit is contained in:
Consolatis 2022-12-29 04:49:13 +01:00
parent 63632cfd1a
commit f7c8663f67

View file

@ -241,22 +241,23 @@ void
workspaces_switch_to(struct workspace *target) workspaces_switch_to(struct workspace *target)
{ {
assert(target); assert(target);
if (target == target->server->workspace_current) { struct server *server = target->server;
if (target == server->workspace_current) {
return; return;
} }
/* Disable the old workspace */ /* Disable the old workspace */
wlr_scene_node_set_enabled( wlr_scene_node_set_enabled(
&target->server->workspace_current->tree->node, false); &server->workspace_current->tree->node, false);
/* Enable the new workspace */ /* Enable the new workspace */
wlr_scene_node_set_enabled(&target->tree->node, true); wlr_scene_node_set_enabled(&target->tree->node, true);
/* Save the last visited workspace */ /* Save the last visited workspace */
target->server->workspace_last = target->server->workspace_current; server->workspace_last = server->workspace_current;
/* Make sure new views will spawn on the new workspace */ /* Make sure new views will spawn on the new workspace */
target->server->workspace_current = target; server->workspace_current = target;
/** /**
* Make sure we are focusing what the user sees. * Make sure we are focusing what the user sees.
@ -267,7 +268,7 @@ workspaces_switch_to(struct workspace *target)
desktop_focus_topmost_mapped_view(target->server); desktop_focus_topmost_mapped_view(target->server);
/* And finally show the OSD */ /* And finally show the OSD */
_osd_show(target->server); _osd_show(server);
} }
void void