wl_display_terminate(server->wl_display);
break;
case ACTION_TYPE_MOVE_TO_EDGE:
- view_move_to_edge(view, action->arg);
+ if (action->arg) {
+ view_move_to_edge(view, action->arg);
+ } else {
+ wlr_log(WLR_ERROR, "Missing argument for MoveToEdge");
+ }
break;
case ACTION_TYPE_SNAP_TO_EDGE:
- view_snap_to_edge(view, action->arg);
+ if (action->arg) {
+ view_snap_to_edge(view, action->arg);
+ } else {
+ wlr_log(WLR_ERROR, "Missing argument for SnapToEdge");
+ }
break;
case ACTION_TYPE_NEXT_WINDOW:
server->cycle_view = desktop_cycle_view(server,
wlr_log(WLR_ERROR, "no output");
return;
}
+ if (!direction) {
+ wlr_log(WLR_ERROR, "invalid edge");
+ return;
+ }
struct wlr_box usable = output_usable_area_in_layout_coords(output);
if (usable.height == output->wlr_output->height
&& output->wlr_output->scale != 1) {
x = view->x;
y = usable.y + usable.height - view->h - view->margin.bottom
- rc.gap;
+ } else {
+ wlr_log(WLR_ERROR, "invalid edge");
+ return;
}
view_move(view, x, y);
}
static enum view_edge
view_edge_parse(const char *direction)
{
+ if (!direction) {
+ return VIEW_EDGE_INVALID;
+ }
if (!strcasecmp(direction, "left")) {
return VIEW_EDGE_LEFT;
} else if (!strcasecmp(direction, "up")) {