Skip to content

Commit 3843a30

Browse files
committed
Merge pull request #108825 from bruvzg/fix_run_opt_icons
Fix editor one-click icons not showing.
2 parents 6253814 + e407f55 commit 3843a30

16 files changed

+56
-23
lines changed

doc/classes/EditorExportPlatformExtension.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@
149149
</description>
150150
</method>
151151
<method name="_get_option_icon" qualifiers="virtual const">
152-
<return type="ImageTexture" />
152+
<return type="Texture2D" />
153153
<param index="0" name="device" type="int" />
154154
<description>
155155
Returns the item icon for the specified [param device] in the one-click deploy menu. The icon should be 16×16 pixels, adjusted for the current editor scale (see [method EditorInterface.get_editor_scale]).

editor/export/editor_export_platform.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -417,9 +417,9 @@ Error EditorExportPlatform::_save_zip_patch_file(void *p_userdata, const String
417417
return _save_zip_file(p_userdata, p_path, p_data, p_file, p_total, p_enc_in_filters, p_enc_ex_filters, p_key, p_seed);
418418
}
419419

420-
Ref<ImageTexture> EditorExportPlatform::get_option_icon(int p_index) const {
420+
Ref<Texture2D> EditorExportPlatform::get_option_icon(int p_index) const {
421421
Ref<Theme> theme = EditorNode::get_singleton()->get_editor_theme();
422-
ERR_FAIL_COND_V(theme.is_null(), Ref<ImageTexture>());
422+
ERR_FAIL_COND_V(theme.is_null(), Ref<Texture2D>());
423423
return theme->get_icon(SNAME("Play"), EditorStringName(EditorIcons));
424424
}
425425

editor/export/editor_export_platform.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -326,7 +326,7 @@ class EditorExportPlatform : public RefCounted {
326326
virtual bool poll_export() { return false; }
327327
virtual int get_options_count() const { return 0; }
328328
virtual String get_options_tooltip() const { return ""; }
329-
virtual Ref<ImageTexture> get_option_icon(int p_index) const;
329+
virtual Ref<Texture2D> get_option_icon(int p_index) const;
330330
virtual String get_option_label(int p_device) const { return ""; }
331331
virtual String get_option_tooltip(int p_device) const { return ""; }
332332
virtual String get_device_architecture(int p_device) const { return ""; }

editor/export/editor_export_platform_apple_embedded.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2325,10 +2325,10 @@ String EditorExportPlatformAppleEmbedded::get_options_tooltip() const {
23252325
return TTR("Select device from the list");
23262326
}
23272327

2328-
Ref<ImageTexture> EditorExportPlatformAppleEmbedded::get_option_icon(int p_index) const {
2328+
Ref<Texture2D> EditorExportPlatformAppleEmbedded::get_option_icon(int p_index) const {
23292329
MutexLock lock(device_lock);
23302330

2331-
Ref<ImageTexture> icon;
2331+
Ref<Texture2D> icon;
23322332
if (p_index >= 0 || p_index < devices.size()) {
23332333
Ref<Theme> theme = EditorNode::get_singleton()->get_editor_theme();
23342334
if (theme.is_valid()) {

editor/export/editor_export_platform_apple_embedded.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,7 @@ class EditorExportPlatformAppleEmbedded : public EditorExportPlatform {
202202

203203
virtual int get_options_count() const override;
204204
virtual String get_options_tooltip() const override;
205-
virtual Ref<ImageTexture> get_option_icon(int p_index) const override;
205+
virtual Ref<Texture2D> get_option_icon(int p_index) const override;
206206
virtual String get_option_label(int p_index) const override;
207207
virtual String get_option_tooltip(int p_index) const override;
208208
virtual Error run(const Ref<EditorExportPreset> &p_preset, int p_device, BitField<EditorExportPlatform::DebugFlags> p_debug_flags) override;

editor/export/editor_export_platform_extension.cpp

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,10 @@ void EditorExportPlatformExtension::_bind_methods() {
5353
GDVIRTUAL_BIND(_get_options_tooltip);
5454

5555
GDVIRTUAL_BIND(_get_option_icon, "device");
56+
#ifndef DISABLE_DEPRECATED
57+
GDVIRTUAL_BIND_COMPAT(_get_option_icon_bind_compat_108825, "device");
58+
#endif
59+
5660
GDVIRTUAL_BIND(_get_option_label, "device");
5761
GDVIRTUAL_BIND(_get_option_tooltip, "device");
5862
GDVIRTUAL_BIND(_get_device_architecture, "device");
@@ -178,11 +182,17 @@ String EditorExportPlatformExtension::get_options_tooltip() const {
178182
return ret;
179183
}
180184

181-
Ref<ImageTexture> EditorExportPlatformExtension::get_option_icon(int p_index) const {
182-
Ref<ImageTexture> ret;
185+
Ref<Texture2D> EditorExportPlatformExtension::get_option_icon(int p_index) const {
186+
Ref<Texture2D> ret;
183187
if (GDVIRTUAL_CALL(_get_option_icon, p_index, ret)) {
184188
return ret;
185189
}
190+
#ifndef DISABLE_DEPRECATED
191+
Ref<ImageTexture> comp_ret;
192+
if (GDVIRTUAL_CALL(_get_option_icon_bind_compat_108825, p_index, comp_ret)) {
193+
return comp_ret;
194+
}
195+
#endif
186196
return EditorExportPlatform::get_option_icon(p_index);
187197
}
188198

editor/export/editor_export_platform_extension.h

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,8 +79,12 @@ class EditorExportPlatformExtension : public EditorExportPlatform {
7979
virtual String get_options_tooltip() const override;
8080
GDVIRTUAL0RC(String, _get_options_tooltip);
8181

82-
virtual Ref<ImageTexture> get_option_icon(int p_index) const override;
83-
GDVIRTUAL1RC(Ref<ImageTexture>, _get_option_icon, int);
82+
virtual Ref<Texture2D> get_option_icon(int p_index) const override;
83+
GDVIRTUAL1RC(Ref<Texture2D>, _get_option_icon, int);
84+
85+
#ifndef DISABLE_DEPRECATED
86+
GDVIRTUAL1RC_COMPAT(_get_option_icon_bind_compat_108825, Ref<ImageTexture>, _get_option_icon, int)
87+
#endif
8488

8589
virtual String get_option_label(int p_device) const override;
8690
GDVIRTUAL1RC(String, _get_option_label, int);

misc/extension_api_validation/4.4-stable.expected

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -321,3 +321,10 @@ Validate extension JSON: Error: Field 'classes/RichTextLabel/methods/add_image/a
321321
Validate extension JSON: Error: Field 'classes/RichTextLabel/methods/update_image/arguments': size changed value in new API, from 11 to 12.
322322

323323
Optional argument added. Compatibility methods registered.
324+
325+
326+
GH-108825
327+
---------
328+
Validate extension JSON: Error: Field 'classes/EditorExportPlatformExtension/methods/_get_option_icon/return_value': type changed value in new API, from "ImageTexture" to "Texture2D".
329+
330+
Return type changed to allow returning both ImageTexture and SVGTexture. Compatibility method registered.

platform/linuxbsd/export/export_plugin.cpp

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -425,8 +425,12 @@ bool EditorExportPlatformLinuxBSD::poll_export() {
425425
return menu_options != prev;
426426
}
427427

428-
Ref<ImageTexture> EditorExportPlatformLinuxBSD::get_option_icon(int p_index) const {
429-
return p_index == 1 ? stop_icon : EditorExportPlatform::get_option_icon(p_index);
428+
Ref<Texture2D> EditorExportPlatformLinuxBSD::get_option_icon(int p_index) const {
429+
if (p_index == 1) {
430+
return stop_icon;
431+
} else {
432+
return EditorExportPlatform::get_option_icon(p_index);
433+
}
430434
}
431435

432436
int EditorExportPlatformLinuxBSD::get_options_count() const {

platform/linuxbsd/export/export_plugin.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ class EditorExportPlatformLinuxBSD : public EditorExportPlatformPC {
8282

8383
virtual Ref<Texture2D> get_run_icon() const override;
8484
virtual bool poll_export() override;
85-
virtual Ref<ImageTexture> get_option_icon(int p_index) const override;
85+
virtual Ref<Texture2D> get_option_icon(int p_index) const override;
8686
virtual int get_options_count() const override;
8787
virtual String get_option_label(int p_index) const override;
8888
virtual String get_option_tooltip(int p_index) const override;

0 commit comments

Comments
 (0)