[platforms/drm] Properly handle case that mapping the blank buffer fails
ClosedPublic

Authored by graesslin on Jul 11 2016, 9:30 AM.

Details

Summary

If it's not possible to create a buffer to blank the output, KWin won't
be able to render to the output. In that case the output should not be
added to the list of outputs.

To support this DrmOutput::blank and DrmOutput::init return bool to
indicate whether they succeeded. DrmBackend handles this situation and
doesn't add the output to the list of outputs if init failed.

If after init there are no outputs KWin is in a state where it won't
be functional. Thus the platform emits the initFailed signal to
terminate.

BUG: 365242
FIXED-IN: 5.7.1

Test Plan

No hardware to reproduce the condition

Diff Detail

Repository
R108 KWin
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
graesslin updated this revision to Diff 5073.Jul 11 2016, 9:30 AM
graesslin retitled this revision from to [platforms/drm] Properly handle case that mapping the blank buffer fails.
graesslin updated this object.
graesslin edited the test plan for this revision. (Show Details)
graesslin added reviewers: KWin, Plasma on Wayland.
Restricted Application added projects: Plasma on Wayland, KWin. · View Herald TranscriptJul 11 2016, 9:30 AM
Restricted Application added subscribers: kwin, plasma-devel. · View Herald Transcript
sebas accepted this revision.Jul 12 2016, 11:00 PM
sebas added a reviewer: sebas.
This revision is now accepted and ready to land.Jul 12 2016, 11:00 PM
This revision was automatically updated to reflect the committed changes.