diff options
author | Yuri Sizov <yuris@humnom.net> | 2023-11-10 15:27:51 +0100 |
---|---|---|
committer | Yuri Sizov <yuris@humnom.net> | 2023-11-10 15:31:43 +0100 |
commit | e90ea87b42d2f02a77d9c5e37034f271a76e92f4 (patch) | |
tree | 15a45f7b66370179a98aa4ee143ac94a51a75936 /editor/plugins/editor_preview_plugins.h | |
parent | 2b987d1c54b77a394d302a89118274538726bcf1 (diff) | |
download | redot-engine-e90ea87b42d2f02a77d9c5e37034f271a76e92f4.tar.gz |
Abort threaded preview generators on exit
Diffstat (limited to 'editor/plugins/editor_preview_plugins.h')
-rw-r--r-- | editor/plugins/editor_preview_plugins.h | 19 |
1 files changed, 3 insertions, 16 deletions
diff --git a/editor/plugins/editor_preview_plugins.h b/editor/plugins/editor_preview_plugins.h index 6534f31ad8..f3786d8413 100644 --- a/editor/plugins/editor_preview_plugins.h +++ b/editor/plugins/editor_preview_plugins.h @@ -103,6 +103,7 @@ public: virtual bool handles(const String &p_type) const override; virtual bool generate_small_preview_automatically() const override; virtual Ref<Texture2D> generate(const Ref<Resource> &p_from, const Size2 &p_size, Dictionary &p_metadata) const override; + virtual void abort() override; EditorMaterialPreviewPlugin(); ~EditorMaterialPreviewPlugin(); @@ -149,6 +150,7 @@ class EditorMeshPreviewPlugin : public EditorResourcePreviewGenerator { public: virtual bool handles(const String &p_type) const override; virtual Ref<Texture2D> generate(const Ref<Resource> &p_from, const Size2 &p_size, Dictionary &p_metadata) const override; + virtual void abort() override; EditorMeshPreviewPlugin(); ~EditorMeshPreviewPlugin(); @@ -170,27 +172,12 @@ public: virtual bool handles(const String &p_type) const override; virtual Ref<Texture2D> generate(const Ref<Resource> &p_from, const Size2 &p_size, Dictionary &p_metadata) const override; virtual Ref<Texture2D> generate_from_path(const String &p_path, const Size2 &p_size, Dictionary &p_metadata) const override; + virtual void abort() override; EditorFontPreviewPlugin(); ~EditorFontPreviewPlugin(); }; -class EditorTileMapPatternPreviewPlugin : public EditorResourcePreviewGenerator { - GDCLASS(EditorTileMapPatternPreviewPlugin, EditorResourcePreviewGenerator); - - Semaphore preview_done; - - void _generate_frame_started(); - void _preview_done(); - -public: - virtual bool handles(const String &p_type) const override; - virtual Ref<Texture2D> generate(const Ref<Resource> &p_from, const Size2 &p_size, Dictionary &p_metadata) const override; - - EditorTileMapPatternPreviewPlugin(); - ~EditorTileMapPatternPreviewPlugin(); -}; - class EditorGradientPreviewPlugin : public EditorResourcePreviewGenerator { GDCLASS(EditorGradientPreviewPlugin, EditorResourcePreviewGenerator); |