Explorar el Código

Fix invalid memory usage when modifying locked image

Haoyu Qiu hace 4 años
padre
commit
0a17e96ab2
Se han modificado 1 ficheros con 2 adiciones y 1 borrados
  1. 2 1
      core/image.cpp

+ 2 - 1
core/image.cpp

@@ -1311,8 +1311,8 @@ static void _generate_po2_mipmap(const Component *p_src, Component *p_dst, uint3
 }
 
 void Image::expand_x2_hq2x() {
-
 	ERR_FAIL_COND(!_can_modify(format));
+	ERR_FAIL_COND_MSG(write_lock.ptr(), "Cannot modify image when it is locked.");
 
 	bool used_mipmaps = has_mipmaps();
 	if (used_mipmaps) {
@@ -2915,6 +2915,7 @@ Ref<Image> Image::rgbe_to_srgb() {
 
 void Image::bumpmap_to_normalmap(float bump_scale) {
 	ERR_FAIL_COND(!_can_modify(format));
+	ERR_FAIL_COND_MSG(write_lock.ptr(), "Cannot modify image when it is locked.");
 	convert(Image::FORMAT_RF);
 
 	PoolVector<uint8_t> result_image; //rgba output