mirror of
https://github.com/labwc/labwc.git
synced 2025-10-29 05:40:24 -04:00
view: Add view_evacuate_region() helper
v2: Modify asserts as suggested by Consolatis
This commit is contained in:
parent
0ca6c4c763
commit
d2fae39fe3
3 changed files with 13 additions and 6 deletions
|
|
@ -162,6 +162,7 @@ void view_reload_ssd(struct view *view);
|
|||
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);
|
||||
|
||||
|
|
|
|||
|
|
@ -219,12 +219,7 @@ regions_evacuate_output(struct output *output)
|
|||
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;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
11
src/view.c
11
src/view.c
|
|
@ -774,6 +774,17 @@ view_discover_output(struct view *view)
|
|||
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)
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue