summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/newview/lltoastalertpanel.cpp5
-rw-r--r--indra/newview/lltoastalertpanel.h16
-rw-r--r--indra/newview/llweb.cpp4
3 files changed, 14 insertions, 11 deletions
diff --git a/indra/newview/lltoastalertpanel.cpp b/indra/newview/lltoastalertpanel.cpp
index e4a3f8603b..beb31bc833 100644
--- a/indra/newview/lltoastalertpanel.cpp
+++ b/indra/newview/lltoastalertpanel.cpp
@@ -30,6 +30,9 @@
* $/LicenseInfo$
*/
+// *NOTE: this module is a copy-paste of llui/llalertdialog.h
+// Can we re-implement this as a subclass of LLAlertDialog and
+// avoid all this code duplication? It already caused EXT-2232.
#include "llviewerprecompiledheaders.h" // must be first include
@@ -56,7 +59,7 @@ const F32 DEFAULT_BUTTON_DELAY = 0.5f;
const S32 MSG_PAD = 8;
/*static*/ LLControlGroup* LLToastAlertPanel::sSettings = NULL;
-/*static*/ LLToastAlertPanel::URLLoader* LLToastAlertPanel::sURLLoader;
+/*static*/ LLAlertURLLoader* LLToastAlertPanel::sURLLoader;
//-----------------------------------------------------------------------------
// Private methods
diff --git a/indra/newview/lltoastalertpanel.h b/indra/newview/lltoastalertpanel.h
index af0c9a9ddd..840143a2a9 100644
--- a/indra/newview/lltoastalertpanel.h
+++ b/indra/newview/lltoastalertpanel.h
@@ -30,6 +30,10 @@
* $/LicenseInfo$
*/
+// *NOTE: this module is a copy-paste of llui/llalertdialog.h
+// Can we re-implement this as a subclass of LLAlertDialog and
+// avoid all this code duplication? It already caused EXT-2232.
+
#ifndef LL_TOASTALERTPANEL_H
#define LL_TOASTALERTPANEL_H
@@ -37,6 +41,7 @@
#include "llfloater.h"
#include "llui.h"
#include "llnotifications.h"
+#include "llalertdialog.h"
class LLButton;
class LLCheckBoxCtrl;
@@ -57,14 +62,7 @@ class LLToastAlertPanel
public:
typedef bool (*display_callback_t)(S32 modal);
- class URLLoader
- {
- public:
- virtual void load(const std::string& url, bool force_open_externally = 0 ) = 0;
- virtual ~URLLoader() {}
- };
-
- static void setURLLoader(URLLoader* loader)
+ static void setURLLoader(LLAlertURLLoader* loader)
{
sURLLoader = loader;
}
@@ -97,7 +95,7 @@ private:
BOOL hasTitleBar() const;
private:
- static URLLoader* sURLLoader;
+ static LLAlertURLLoader* sURLLoader;
static LLControlGroup* sSettings;
struct ButtonData
diff --git a/indra/newview/llweb.cpp b/indra/newview/llweb.cpp
index 3204c2d264..72431bd22f 100644
--- a/indra/newview/llweb.cpp
+++ b/indra/newview/llweb.cpp
@@ -43,8 +43,9 @@
#include "llfloatermediabrowser.h"
#include "llfloaterreg.h"
#include "llalertdialog.h"
+#include "lltoastalertpanel.h"
-class URLLoader : public LLAlertDialog::URLLoader
+class URLLoader : public LLAlertURLLoader
{
virtual void load(const std::string& url , bool force_open_externally)
{
@@ -65,6 +66,7 @@ static URLLoader sAlertURLLoader;
void LLWeb::initClass()
{
LLAlertDialog::setURLLoader(&sAlertURLLoader);
+ LLToastAlertPanel::setURLLoader(&sAlertURLLoader);
}