|
|
@ -1775,6 +1775,14 @@ drm_restore(struct weston_compositor *ec) |
|
|
|
tty_reset(d->tty); |
|
|
|
tty_reset(d->tty); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
static void |
|
|
|
|
|
|
|
drm_free_configured_output(struct drm_configured_output *output) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
free(output->name); |
|
|
|
|
|
|
|
free(output->mode); |
|
|
|
|
|
|
|
free(output); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
static void |
|
|
|
static void |
|
|
|
drm_destroy(struct weston_compositor *ec) |
|
|
|
drm_destroy(struct weston_compositor *ec) |
|
|
|
{ |
|
|
|
{ |
|
|
@ -1785,7 +1793,7 @@ drm_destroy(struct weston_compositor *ec) |
|
|
|
wl_list_for_each_safe(seat, next, &ec->seat_list, link) |
|
|
|
wl_list_for_each_safe(seat, next, &ec->seat_list, link) |
|
|
|
evdev_input_destroy(seat); |
|
|
|
evdev_input_destroy(seat); |
|
|
|
wl_list_for_each_safe(o, n, &configured_output_list, link) |
|
|
|
wl_list_for_each_safe(o, n, &configured_output_list, link) |
|
|
|
free(o); |
|
|
|
drm_free_configured_output(o); |
|
|
|
|
|
|
|
|
|
|
|
wl_event_source_remove(d->udev_drm_source); |
|
|
|
wl_event_source_remove(d->udev_drm_source); |
|
|
|
wl_event_source_remove(d->drm_source); |
|
|
|
wl_event_source_remove(d->drm_source); |
|
|
@ -2146,9 +2154,9 @@ output_section_done(void *data) |
|
|
|
if (output->config != OUTPUT_CONFIG_INVALID) |
|
|
|
if (output->config != OUTPUT_CONFIG_INVALID) |
|
|
|
wl_list_insert(&configured_output_list, &output->link); |
|
|
|
wl_list_insert(&configured_output_list, &output->link); |
|
|
|
else { |
|
|
|
else { |
|
|
|
free(output); |
|
|
|
|
|
|
|
weston_log("Invalid mode \"%s\" for output %s\n", |
|
|
|
weston_log("Invalid mode \"%s\" for output %s\n", |
|
|
|
output_mode, output_name); |
|
|
|
output_mode, output_name); |
|
|
|
|
|
|
|
drm_free_configured_output(output); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|