void view_impl_map(struct view *view);
void view_adjust_size(struct view *view, int *w, int *h);
+void view_evacuate_region(struct view *view);
void view_on_output_destroy(struct view *view);
void view_destroy(struct view *view);
wl_list_for_each(view, &output->server->views, link) {
wl_list_for_each(region, &output->regions, link) {
if (view->tiled_region == region) {
- if (!view->tiled_region_evacuate) {
- view->tiled_region_evacuate =
- xstrdup(region->name);
- }
- /* Prevent carrying around a dangling pointer */
- view->tiled_region = NULL;
+ view_evacuate_region(view);
break;
}
}
view->output = view_output(view);
}
+void
+view_evacuate_region(struct view *view)
+{
+ assert(view);
+ assert(view->tiled_region);
+ if (!view->tiled_region_evacuate) {
+ view->tiled_region_evacuate = xstrdup(view->tiled_region->name);
+ }
+ view->tiled_region = NULL;
+}
+
void
view_on_output_destroy(struct view *view)
{