From 9a1705eac208e776e99ca401727fa0ce99046f8f Mon Sep 17 00:00:00 2001
From: Yuri Rubinsky <chaosus89@gmail.com>
Date: Mon, 24 Oct 2022 11:28:10 +0300
Subject: [PATCH] Fix crash when calling `fill` method on an empty `Image`

(cherry picked from commit adec51cde87d29dd74efb6e5cd0167990de8d569)
---
 core/io/image.cpp | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/core/io/image.cpp b/core/io/image.cpp
index a1b0e9344..b7be0a1d5 100644
--- a/core/io/image.cpp
+++ b/core/io/image.cpp
@@ -2483,6 +2483,10 @@ void Image::_repeat_pixel_over_subsequent_memory(uint8_t *p_pixel, int p_pixel_s
 }
 
 void Image::fill(const Color &p_color) {
+	if (data.size() == 0) {
+		return;
+	}
+
 	ERR_FAIL_COND_MSG(!_can_modify(format), "Cannot fill in compressed or custom image formats.");
 
 	lock();
@@ -2501,6 +2505,10 @@ void Image::fill(const Color &p_color) {
 }
 
 void Image::fill_rect(const Rect2 &p_rect, const Color &p_color) {
+	if (data.size() == 0) {
+		return;
+	}
+
 	ERR_FAIL_COND_MSG(!_can_modify(format), "Cannot fill rect in compressed or custom image formats.");
 
 	Rect2i r = Rect2i(0, 0, width, height).clip(p_rect.abs());