Index: ui/ozone/platform/drm/gpu/drm_window.cc |
diff --git a/ui/ozone/platform/drm/gpu/drm_window.cc b/ui/ozone/platform/drm/gpu/drm_window.cc |
index baaeda221a6a5567b8fd1b7356f79f5a71ca1a17..8af203487e7920205394e552f40294d8fb62eb64 100644 |
--- a/ui/ozone/platform/drm/gpu/drm_window.cc |
+++ b/ui/ozone/platform/drm/gpu/drm_window.cc |
@@ -126,26 +126,26 @@ void DrmWindow::QueueOverlayPlane(const OverlayPlane& plane) { |
pending_planes_.push_back(plane); |
} |
-bool DrmWindow::SchedulePageFlip(const SwapCompletionCallback& callback) { |
+void DrmWindow::SchedulePageFlip(const SwapCompletionCallback& callback) { |
if (force_buffer_reallocation_) { |
// Clear pending planes otherwise the next call to queue planes will just |
// add on top. |
pending_planes_.clear(); |
force_buffer_reallocation_ = false; |
callback.Run(gfx::SwapResult::SWAP_NAK_RECREATE_BUFFERS); |
- return true; |
+ return; |
} |
last_submitted_planes_.clear(); |
last_submitted_planes_.swap(pending_planes_); |
if (controller_) { |
- return controller_->SchedulePageFlip(last_submitted_planes_, |
- false /* test_only */, callback); |
+ if (!controller_->SchedulePageFlip(last_submitted_planes_, |
+ false /* test_only */, callback)) |
+ callback.Run(gfx::SwapResult::SWAP_FAILED); |
+ } else { |
+ callback.Run(gfx::SwapResult::SWAP_ACK); |
} |
- |
- callback.Run(gfx::SwapResult::SWAP_ACK); |
- return true; |
} |
bool DrmWindow::TestPageFlip(const std::vector<OverlayCheck_Params>& overlays, |