diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2019-01-28 15:33:56 +0100 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2019-01-28 16:00:15 +0100 |
commit | cc0842f9a6b0fda07ca0b8ad483e225b492428c7 (patch) | |
tree | aff98a8d89c2507f4efab34fe537a82f986adad7 /core | |
parent | 89e7c2cb13c6f06eb376aae5e9354f4fabf01f3e (diff) | |
download | redot-engine-cc0842f9a6b0fda07ca0b8ad483e225b492428c7.tar.gz |
Prevent upscaled SVG from exceeding Image bounds
Also expose Image MAX_WIDTH and MAX_HEIGHT.
Fixes #24455.
Diffstat (limited to 'core')
-rw-r--r-- | core/image.cpp | 3 | ||||
-rw-r--r-- | core/image.h | 6 |
2 files changed, 6 insertions, 3 deletions
diff --git a/core/image.cpp b/core/image.cpp index 4fc3b4becb..91c3d05a29 100644 --- a/core/image.cpp +++ b/core/image.cpp @@ -2632,6 +2632,9 @@ void Image::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::DICTIONARY, "data", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_STORAGE), "_set_data", "_get_data"); + BIND_CONSTANT(MAX_WIDTH); + BIND_CONSTANT(MAX_HEIGHT); + BIND_ENUM_CONSTANT(FORMAT_L8); //luminance BIND_ENUM_CONSTANT(FORMAT_LA8); //luminance-alpha BIND_ENUM_CONSTANT(FORMAT_R8); diff --git a/core/image.h b/core/image.h index 3604580e98..b23f8cac46 100644 --- a/core/image.h +++ b/core/image.h @@ -52,14 +52,14 @@ typedef Ref<Image> (*ImageMemLoadFunc)(const uint8_t *p_png, int p_size); class Image : public Resource { GDCLASS(Image, Resource); +public: + static SavePNGFunc save_png_func; + enum { MAX_WIDTH = 16384, // force a limit somehow MAX_HEIGHT = 16384 // force a limit somehow }; -public: - static SavePNGFunc save_png_func; - enum Format { FORMAT_L8, //luminance |