To do so leaves a dangling pointer on our pageFlipHandler
BUG: 396272
To do so leaves a dangling pointer on our pageFlipHandler
BUG: 396272
Wobbled a window whilst plugging a monitor in and out
Automatic diff as part of commit; lint not applicable. |
Automatic diff as part of commit; unit tests not applicable. |
It looks wrong on how it doing. When DrmOutput goes deleted m_fd is closed so fd in pageFlipHandler is invalid. Can we check fcntl(fd, F_GETFD) is valid or something ?
When DrmOutput goes deleted m_fd is closed
There's one FD for all outputs. The issue is if you remove one output.
Yeah, you are right. One possible solution is to add isConnected and to check in pageFlipHandler
if (!output->isConnected()) { output->deleteLater(); return; }
So in updateOutputs you can call disconnect (or teardown) that will indicate it's not connected or deletes yourself if no pending page flip.