[PATCH weston v11 09/13] compositor-drm: Track cursor_plane with a drm_plane

Daniel Stone daniel at fooishbar.org
Fri Sep 22 20:39:34 UTC 2017


Hi,

On 21 July 2017 at 04:56, Pekka Paalanen <ppaalanen at gmail.com> wrote:
> On Tue, 18 Jul 2017 14:14:31 +0100
> Daniel Stone <daniels at collabora.com> wrote:
>> @@ -3634,10 +3844,11 @@ drm_output_deinit(struct weston_output *base)
>>               drm_output_fini_egl(output);
>>
>>       weston_plane_release(&output->scanout_plane);
>> -     weston_plane_release(&output->cursor_plane);
>>
>> -     /* Turn off hardware cursor */
>> -     drmModeSetCursor(b->drm.fd, output->crtc_id, 0, 0, 0);
>> +     if (output->cursor_plane) {
>> +             /* Turn off hardware cursor */
>> +             drmModeSetCursor(b->drm.fd, output->crtc_id, 0, 0, 0);
>
> Are we not leaking the cursor plane if drm_output_find_special_plane()
> created it in the no-universal-planes case?
>
> Looks like drm_plane_destroy() would need a special path for the
> special fake planes.

I'll fix the broken weston_plane_release() call, but since the cursor
and scanout planes both live on backend->plane_list - even when faked
via non-universal planes - it gets killed by destroy_sprites() anyway.

Cheers,
Daniel


More information about the wayland-devel mailing list