output = wl_container_of(listener, output, output_destroy);
assert(output->output == data);
- if (output->fullscreen_view.fs->view) {
+ if (output->fullscreen_view.fs &&
+ output->fullscreen_view.fs->view) {
weston_surface_destroy(output->fullscreen_view.fs->view->surface);
output->fullscreen_view.fs->view = NULL;
}
weston_layer_fini(&ivi->popup);
wl_list_for_each(output, &ivi->outputs, link) {
- if (output->fullscreen_view.fs->view) {
+ if (output->fullscreen_view.fs &&
+ output->fullscreen_view.fs->view) {
weston_surface_destroy(output->fullscreen_view.fs->view->surface);
output->fullscreen_view.fs->view = NULL;
}
{
struct weston_view *view;
- if (!output &&
+ if ((!output &&
!output->fullscreen_view.fs &&
- !output->fullscreen_view.fs->view) {
+ !output->fullscreen_view.fs->view) ||
+ !output->fullscreen_view.fs) {
weston_log("Output %s doesn't have a surface installed!\n", output->name);
return;
}
if ((!output &&
!output->fullscreen_view.fs &&
- !output->fullscreen_view.fs->view) || !output->output) {
+ !output->fullscreen_view.fs->view) || !output->output ||
+ !output->fullscreen_view.fs) {
weston_log("Output %s doesn't have a surface installed!\n", output->name);
return;
}