1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-10 13:00:37 +00:00

Zero initialize all pointer class and struct members

This prevents the pitfall of UB when checking if they have been
assigned something valid by comparing to nullptr.
This commit is contained in:
Rémi Verschelde
2022-04-04 15:06:57 +02:00
parent 53317bbe14
commit f8ab79e68a
258 changed files with 2398 additions and 2421 deletions

View File

@@ -53,12 +53,12 @@
class EditorAssetLibraryItem : public PanelContainer {
GDCLASS(EditorAssetLibraryItem, PanelContainer);
TextureButton *icon;
LinkButton *title;
LinkButton *category;
LinkButton *author;
TextureButton *icon = nullptr;
LinkButton *title = nullptr;
LinkButton *category = nullptr;
LinkButton *author = nullptr;
TextureRect *stars[5];
Label *price;
Label *price = nullptr;
int asset_id;
int category_id;
@@ -83,11 +83,11 @@ public:
class EditorAssetLibraryItemDescription : public ConfirmationDialog {
GDCLASS(EditorAssetLibraryItemDescription, ConfirmationDialog);
EditorAssetLibraryItem *item;
RichTextLabel *description;
ScrollContainer *previews;
HBoxContainer *preview_hb;
PanelContainer *previews_bg;
EditorAssetLibraryItem *item = nullptr;
RichTextLabel *description = nullptr;
ScrollContainer *previews = nullptr;
HBoxContainer *preview_hb = nullptr;
PanelContainer *previews_bg = nullptr;
struct Preview {
int id = 0;
@@ -98,7 +98,7 @@ class EditorAssetLibraryItemDescription : public ConfirmationDialog {
};
Vector<Preview> preview_images;
TextureRect *preview;
TextureRect *preview = nullptr;
void set_image(int p_type, int p_index, const Ref<Texture2D> &p_image);
@@ -130,19 +130,19 @@ public:
class EditorAssetLibraryItemDownload : public MarginContainer {
GDCLASS(EditorAssetLibraryItemDownload, MarginContainer);
PanelContainer *panel;
TextureRect *icon;
Label *title;
ProgressBar *progress;
Button *install_button;
Button *retry_button;
TextureButton *dismiss_button;
PanelContainer *panel = nullptr;
TextureRect *icon = nullptr;
Label *title = nullptr;
ProgressBar *progress = nullptr;
Button *install_button = nullptr;
Button *retry_button = nullptr;
TextureButton *dismiss_button = nullptr;
AcceptDialog *download_error;
HTTPRequest *download;
AcceptDialog *download_error = nullptr;
HTTPRequest *download = nullptr;
String host;
String sha256;
Label *status;
Label *status = nullptr;
int prev_status;
@@ -150,7 +150,7 @@ class EditorAssetLibraryItemDownload : public MarginContainer {
bool external_install;
EditorAssetInstaller *asset_installer;
EditorAssetInstaller *asset_installer = nullptr;
void _close();
void _make_request();
@@ -176,35 +176,35 @@ class EditorAssetLibrary : public PanelContainer {
String host;
EditorFileDialog *asset_open;
EditorAssetInstaller *asset_installer;
EditorFileDialog *asset_open = nullptr;
EditorAssetInstaller *asset_installer = nullptr;
void _asset_open();
void _asset_file_selected(const String &p_file);
void _update_repository_options();
PanelContainer *library_scroll_bg;
ScrollContainer *library_scroll;
VBoxContainer *library_vb;
Label *library_loading;
Label *library_error;
LineEdit *filter;
Timer *filter_debounce_timer;
OptionButton *categories;
OptionButton *repository;
OptionButton *sort;
HBoxContainer *error_hb;
TextureRect *error_tr;
Label *error_label;
MenuButton *support;
PanelContainer *library_scroll_bg = nullptr;
ScrollContainer *library_scroll = nullptr;
VBoxContainer *library_vb = nullptr;
Label *library_loading = nullptr;
Label *library_error = nullptr;
LineEdit *filter = nullptr;
Timer *filter_debounce_timer = nullptr;
OptionButton *categories = nullptr;
OptionButton *repository = nullptr;
OptionButton *sort = nullptr;
HBoxContainer *error_hb = nullptr;
TextureRect *error_tr = nullptr;
Label *error_label = nullptr;
MenuButton *support = nullptr;
HBoxContainer *contents;
HBoxContainer *contents = nullptr;
HBoxContainer *asset_top_page;
GridContainer *asset_items;
HBoxContainer *asset_bottom_page;
HBoxContainer *asset_top_page = nullptr;
GridContainer *asset_items = nullptr;
HBoxContainer *asset_bottom_page = nullptr;
HTTPRequest *request;
HTTPRequest *request = nullptr;
bool templates_only;
bool initial_loading;
@@ -260,7 +260,7 @@ class EditorAssetLibrary : public PanelContainer {
HBoxContainer *_make_pages(int p_page, int p_page_count, int p_page_len, int p_total_items, int p_current_items);
//
EditorAssetLibraryItemDescription *description;
EditorAssetLibraryItemDescription *description = nullptr;
//
enum RequestType {
@@ -273,8 +273,8 @@ class EditorAssetLibrary : public PanelContainer {
RequestType requesting;
Dictionary category_map;
ScrollContainer *downloads_scroll;
HBoxContainer *downloads_hb;
ScrollContainer *downloads_scroll = nullptr;
HBoxContainer *downloads_hb = nullptr;
void _install_asset();
@@ -315,7 +315,7 @@ public:
class AssetLibraryEditorPlugin : public EditorPlugin {
GDCLASS(AssetLibraryEditorPlugin, EditorPlugin);
EditorAssetLibrary *addon_library;
EditorAssetLibrary *addon_library = nullptr;
public:
virtual String get_name() const override { return "AssetLib"; }