diff options
Diffstat (limited to 'src/network')
-rw-r--r-- | src/network/network_chat_gui.cpp | 8 | ||||
-rw-r--r-- | src/network/network_content_gui.cpp | 8 | ||||
-rw-r--r-- | src/network/network_gui.cpp | 8 |
3 files changed, 21 insertions, 3 deletions
diff --git a/src/network/network_chat_gui.cpp b/src/network/network_chat_gui.cpp index e610f9cbf..ac7045d8c 100644 --- a/src/network/network_chat_gui.cpp +++ b/src/network/network_chat_gui.cpp @@ -531,8 +531,14 @@ struct NetworkChatWindow : public QueryStringBaseWindow { ShowOnScreenKeyboard(this, wid, NWCW_CLOSE, NWCW_SENDBUTTON); } - virtual void OnInvalidateData(int data) + /** + * Some data on this window has become invalid. + * @param data Information about the changed data. + * @param gui_scope Whether the call is done from GUI scope. You may not do everything when not in GUI scope. See #InvalidateWindowData() for details. + */ + virtual void OnInvalidateData(int data = 0, bool gui_scope = true) { + if (!gui_scope) return; if (data == this->dest) delete this; } }; diff --git a/src/network/network_content_gui.cpp b/src/network/network_content_gui.cpp index ee3a325d9..13e0b5d59 100644 --- a/src/network/network_content_gui.cpp +++ b/src/network/network_content_gui.cpp @@ -751,8 +751,14 @@ public: this->InvalidateData(); } - virtual void OnInvalidateData(int data) + /** + * Some data on this window has become invalid. + * @param data Information about the changed data. + * @param gui_scope Whether the call is done from GUI scope. You may not do everything when not in GUI scope. See #InvalidateWindowData() for details. + */ + virtual void OnInvalidateData(int data = 0, bool gui_scope = true) { + if (!gui_scope) return; if (this->content.NeedRebuild()) this->BuildContentList(); /* To sum all the bytes we intend to download */ diff --git a/src/network/network_gui.cpp b/src/network/network_gui.cpp index e62f2bcae..5cb031d01 100644 --- a/src/network/network_gui.cpp +++ b/src/network/network_gui.cpp @@ -794,8 +794,14 @@ public: if (this->field == NGWW_CLIENT) this->HandleEditBox(NGWW_CLIENT); } - virtual void OnInvalidateData(int data) + /** + * Some data on this window has become invalid. + * @param data Information about the changed data. + * @param gui_scope Whether the call is done from GUI scope. You may not do everything when not in GUI scope. See #InvalidateWindowData() for details. + */ + virtual void OnInvalidateData(int data = 0, bool gui_scope = true) { + if (!gui_scope) return; if (data == 1) { this->server = NULL; this->list_pos = SLP_INVALID; |