summaryrefslogtreecommitdiff
path: root/indra/newview/llweb.cpp
diff options
context:
space:
mode:
authorLynx Linden <lynx@lindenlab.com>2009-11-06 12:08:15 +0000
committerLynx Linden <lynx@lindenlab.com>2009-11-06 12:08:15 +0000
commit1c591c06b72d222cff7775ef3aa067cba9c52cd3 (patch)
tree428f9725aa6395fcc4391f215320b06cdff35c8e /indra/newview/llweb.cpp
parente654475529d924603a9b3bc8c4775c86d3cf7933 (diff)
EXT-2232: Arghhh! Code Duplication == Bugs.
Apparently, pre-login notifications use LLAlertDialog, but post-login notifications use LLToastAlertPanel. The latter is basically a copy and paste of the former, with some local modifications. However, the person who copy/pasted the code did not initialize the URLLoader callback, so all notifications that tried to open a web page on a button click after login were failing. I've added comments that this code should be refactored, preferably as a subclass of LLAlertDialog. In the meantime, I've tried to clean it up a bit by not duplicating the nested URLLoader class (which would've required further duplication to reimplement the exact same loader class that LLAlertDialog uses). This let me then initialize the URLLoader callback for LLToastAlertPanel, to fix this specific bug. Again... arghhh!!
Diffstat (limited to 'indra/newview/llweb.cpp')
-rw-r--r--indra/newview/llweb.cpp4
1 files changed, 3 insertions, 1 deletions
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);
}