Index: gpu/command_buffer/service/gles2_cmd_decoder.cc |
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder.cc b/gpu/command_buffer/service/gles2_cmd_decoder.cc |
index 46dc8961d05d4aeb10b72cdd9b1fe1e984276946..a7cd9e7168be0f2be70f1bc60256fbb772bf99f2 100644 |
--- a/gpu/command_buffer/service/gles2_cmd_decoder.cc |
+++ b/gpu/command_buffer/service/gles2_cmd_decoder.cc |
@@ -8024,8 +8024,10 @@ void GLES2DecoderImpl::DoBlitFramebufferCHROMIUM( |
"the width or height of src region overflow"); |
return; |
} |
- src_width = std::abs(src_width_temp.ValueOrDefault(0)); |
- src_height = std::abs(src_height_temp.ValueOrDefault(0)); |
+ if (!src_width_temp.Abs().AssignIfValid(&src_width)) |
+ src_width = 0; |
+ if (!src_height_temp.Abs().AssignIfValid(&src_height)) |
+ src_height = 0; |
gfx::Rect src_region(src_x, src_y, src_width, src_height); |
if (!src_bounds.Contains(src_region) && |
@@ -8060,8 +8062,10 @@ void GLES2DecoderImpl::DoBlitFramebufferCHROMIUM( |
"the width or height of dst region overflow"); |
return; |
} |
- dst_width = std::abs(dst_width_temp.ValueOrDefault(0)); |
- dst_height = std::abs(dst_height_temp.ValueOrDefault(0)); |
+ if (!dst_width_temp.Abs().AssignIfValid(&dst_width)) |
+ dst_width = 0; |
+ if (!dst_height_temp.Abs().AssignIfValid(&dst_height)) |
+ dst_height = 0; |
GLfloat dst_mapping_width = |
static_cast<GLfloat>(src_real_width) * dst_width / src_width; |