diff options
author | McCabe Maxsted | 2010-11-01 21:31:33 -0700 |
---|---|---|
committer | McCabe Maxsted | 2010-11-01 21:31:33 -0700 |
commit | b9867ca9e51b273bbd298d7a1ca5f893d5c3b219 (patch) | |
tree | 2366aca4cb8bd5147c0c3c8e3746782184f8ecf0 | |
parent | Don't allow setting draw distance below 0 in the openregionsettings (diff) | |
download | meta-impy-b9867ca9e51b273bbd298d7a1ca5f893d5c3b219.zip meta-impy-b9867ca9e51b273bbd298d7a1ca5f893d5c3b219.tar.gz meta-impy-b9867ca9e51b273bbd298d7a1ca5f893d5c3b219.tar.bz2 meta-impy-b9867ca9e51b273bbd298d7a1ca5f893d5c3b219.tar.xz |
Fixed crash when logging into an Aurora sim without the region/estate window open
-rw-r--r-- | linden/indra/newview/kowopenregionsettings.cpp | 7 | ||||
-rw-r--r-- | linden/indra/newview/llfloaterregioninfo.cpp | 15 |
2 files changed, 13 insertions, 9 deletions
diff --git a/linden/indra/newview/kowopenregionsettings.cpp b/linden/indra/newview/kowopenregionsettings.cpp index f5a845a..86a426c 100644 --- a/linden/indra/newview/kowopenregionsettings.cpp +++ b/linden/indra/newview/kowopenregionsettings.cpp | |||
@@ -47,7 +47,7 @@ class OpenRegionInfoUpdate : public LLHTTPNode | |||
47 | const LLSD& context, | 47 | const LLSD& context, |
48 | const LLSD& input) const | 48 | const LLSD& input) const |
49 | { | 49 | { |
50 | if (!input.isMap() || !input.has("body")) | 50 | if (!input || !context || !input.isMap() || !input.has("body")) |
51 | { | 51 | { |
52 | llinfos << "malformed OpenRegionInfo update!" << llendl; | 52 | llinfos << "malformed OpenRegionInfo update!" << llendl; |
53 | return; | 53 | return; |
@@ -205,10 +205,9 @@ class OpenRegionInfoUpdate : public LLHTTPNode | |||
205 | gFloaterTools->updateToolsSizeLimits(); | 205 | gFloaterTools->updateToolsSizeLimits(); |
206 | 206 | ||
207 | //Update the floater if its around | 207 | //Update the floater if its around |
208 | LLPanelRegionOpenSettingsInfo* floater; | 208 | LLPanelRegionOpenSettingsInfo* floater = LLFloaterRegionInfo::getPanelOpenSettings(); |
209 | floater = LLFloaterRegionInfo::getPanelOpenSettings(); | ||
210 | 209 | ||
211 | if(floater != NULL) | 210 | if (floater != NULL) |
212 | { | 211 | { |
213 | floater->refreshFromRegion(gAgent.getRegion()); | 212 | floater->refreshFromRegion(gAgent.getRegion()); |
214 | } | 213 | } |
diff --git a/linden/indra/newview/llfloaterregioninfo.cpp b/linden/indra/newview/llfloaterregioninfo.cpp index aca8db7..76e6b01 100644 --- a/linden/indra/newview/llfloaterregioninfo.cpp +++ b/linden/indra/newview/llfloaterregioninfo.cpp | |||
@@ -426,11 +426,16 @@ LLPanelEstateCovenant* LLFloaterRegionInfo::getPanelCovenant() | |||
426 | LLPanelRegionOpenSettingsInfo* LLFloaterRegionInfo::getPanelOpenSettings() | 426 | LLPanelRegionOpenSettingsInfo* LLFloaterRegionInfo::getPanelOpenSettings() |
427 | { | 427 | { |
428 | LLFloaterRegionInfo* floater = LLFloaterRegionInfo::getInstance(); | 428 | LLFloaterRegionInfo* floater = LLFloaterRegionInfo::getInstance(); |
429 | if (!floater) return NULL; | 429 | if (floater) |
430 | LLTabContainer* tab = floater->getChild<LLTabContainer>("region_panels"); | 430 | { |
431 | LLPanelRegionOpenSettingsInfo* panel; | 431 | LLTabContainer* tab = floater->getChild<LLTabContainer>("region_panels"); |
432 | panel = (LLPanelRegionOpenSettingsInfo*)tab->getChild<LLPanel>("RegionSettings"); | 432 | LLPanelRegionOpenSettingsInfo* panel = (LLPanelRegionOpenSettingsInfo*)tab->getChild<LLPanel>("RegionSettings", FALSE, FALSE); |
433 | return panel; | 433 | if (panel) |
434 | { | ||
435 | return panel; | ||
436 | } | ||
437 | } | ||
438 | return NULL; | ||
434 | } | 439 | } |
435 | 440 | ||
436 | void LLFloaterRegionInfo::refreshFromRegion(LLViewerRegion* region) | 441 | void LLFloaterRegionInfo::refreshFromRegion(LLViewerRegion* region) |