|
@@ -465,13 +465,20 @@ CommandResult CommandExecutorCPU::sample_under_corners(u32 id, CornerRadii const
|
|
m_corner_clippers.resize(id + 1);
|
|
m_corner_clippers.resize(id + 1);
|
|
|
|
|
|
auto clipper = BorderRadiusCornerClipper::create(corner_radii, border_rect.to_type<DevicePixels>(), corner_clip);
|
|
auto clipper = BorderRadiusCornerClipper::create(corner_radii, border_rect.to_type<DevicePixels>(), corner_clip);
|
|
- m_corner_clippers[id] = clipper.release_value_but_fixme_should_propagate_errors();
|
|
|
|
|
|
+ if (clipper.is_error()) {
|
|
|
|
+ m_corner_clippers[id] = nullptr;
|
|
|
|
+ return CommandResult::Continue;
|
|
|
|
+ }
|
|
|
|
+ m_corner_clippers[id] = clipper.release_value();
|
|
m_corner_clippers[id]->sample_under_corners(painter());
|
|
m_corner_clippers[id]->sample_under_corners(painter());
|
|
return CommandResult::Continue;
|
|
return CommandResult::Continue;
|
|
}
|
|
}
|
|
|
|
|
|
CommandResult CommandExecutorCPU::blit_corner_clipping(u32 id)
|
|
CommandResult CommandExecutorCPU::blit_corner_clipping(u32 id)
|
|
{
|
|
{
|
|
|
|
+ if (!m_corner_clippers[id])
|
|
|
|
+ return CommandResult::Continue;
|
|
|
|
+
|
|
m_corner_clippers[id]->blit_corner_clipping(painter());
|
|
m_corner_clippers[id]->blit_corner_clipping(painter());
|
|
m_corner_clippers[id] = nullptr;
|
|
m_corner_clippers[id] = nullptr;
|
|
return CommandResult::Continue;
|
|
return CommandResult::Continue;
|