aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorJacek Antonelli2008-12-12 16:36:26 -0600
committerJacek Antonelli2008-12-12 16:36:26 -0600
commit1462183301ff94727fdc27201e5476d55b3d566e (patch)
treeccc2837f659be52cb2b9f538b8accfa2c835d5a3
parentFixed indentation for 'skins' prefix. (diff)
parentIndentation cleanup. (llviewernetwork.cpp) (diff)
downloadmeta-impy-1462183301ff94727fdc27201e5476d55b3d566e.zip
meta-impy-1462183301ff94727fdc27201e5476d55b3d566e.tar.gz
meta-impy-1462183301ff94727fdc27201e5476d55b3d566e.tar.bz2
meta-impy-1462183301ff94727fdc27201e5476d55b3d566e.tar.xz
Merge branch 'next' into doc
-rw-r--r--ChangeLog.txt116
-rw-r--r--linden/indra/llcommon/llsecondlifeurls.cpp2
-rw-r--r--linden/indra/llcommon/llversionviewer.h1
-rw-r--r--linden/indra/llimage/llimagetga.cpp2
-rw-r--r--linden/indra/llmedia/llmediaimplgstreamer.cpp2
-rw-r--r--linden/indra/llmessage/llhttpclient.cpp14
-rw-r--r--linden/indra/newview/llappviewer.cpp7
-rw-r--r--linden/indra/newview/llfloaterabout.cpp19
-rw-r--r--linden/indra/newview/llpanellogin.cpp13
-rw-r--r--linden/indra/newview/llpanellogin.h1
-rw-r--r--linden/indra/newview/llstartup.cpp4
-rw-r--r--linden/indra/newview/llurlhistory.cpp14
-rw-r--r--linden/indra/newview/llviewernetwork.cpp41
-rw-r--r--linden/indra/newview/skins/default/xui/en-us/menu_login.xml66
14 files changed, 219 insertions, 83 deletions
diff --git a/ChangeLog.txt b/ChangeLog.txt
index 9131a3f..090ace0 100644
--- a/ChangeLog.txt
+++ b/ChangeLog.txt
@@ -1,3 +1,100 @@
12008-12-11 Jacek Antonelli <jacek.antonelli@gmail.com>
2
3 * linden/indra/newview/llfloaterabout.cpp:
4 Simplified release notes URL scheme.
5 Now uses e.g. "wiki/Release Notes/1.0.0-RC2",
6 which is set up as a wiki redirect.
7
8
9 * linden/indra/newview/llfloaterabout.cpp:
10 Fixed bad string comparison (rel notes url) [#28]
11 Reported by Balp Allen.
12
13
142008-12-10 Jacek Antonelli <jacek.antonelli@gmail.com>
15
16 * linden/indra/newview/llpanellogin.cpp:
17 Fix grid selector having a duplicate entry. [#24]
18 Patch by Balp Allen.
19 * linden/indra/newview/llpanellogin.h:
20 Ditto.
21 * linden/indra/newview/llstartup.cpp:
22 Ditto.
23
24
25 * linden/indra/newview/llurlhistory.cpp:
26 Better warning when url_history.xml save fails.
27
28
29 * linden/indra/newview/llviewernetwork.cpp:
30 Fixed bad string comparison (grid code name). [#22]
31 Reported by Balp Allen.
32
33
342008-12-06 Jacek Antonelli <jacek.antonelli@gmail.com>
35
36 * ChangeLog:
37 Added banners in ChangeLog to set versions apart.
38
39 Entries should be placed in the section for the
40 version into which they were merged. Entries within
41 a section should be sorted chronologically.
42
43 This is important for keeping track of changes which
44 weren't merged until a later release than they were
45 written. (Mixing them in chronologically would cause
46 confusion about which changes were included in a
47 release.)
48
49
50 * linden/indra/llmessage/llhttpclient.cpp:
51 VWR-9400b (memleak whenever an LSL script is uploaded)
52 Patch by Henri Beauchamp.
53
54
55 * linden/indra/llmessage/llhttpclient.cpp:
56 VWR-9400 (memleak whenever an LSL script is uploaded)
57 Patch by Carjay McGinnis.
58
59
60 * linden/indra/llimage/llimagetga.cpp:
61 VWR-10837 (use delete [] in LLImageTGA)
62 Patch by Aleric Inglewood.
63
64
65 * linden/indra/llmedia/llmediaimplgstreamer.cpp:
66 VWR-10759 (use delete [] in LLMediaImplGStreamer)
67 Patch by Aleric Inglewood.
68
69
702008-12-06 McCabe Maxsted <hakushakukun@gmail.com>
71
72 * linden/indra/llcommon/llversionviewer.h:
73 Added test version info.
74 * linden/indra/newview/llfloaterabout.cpp:
75 Ditto.
76 * linden/indra/newview/llappviewer.cpp:
77 Ditto.
78 * linden/indra/newview/llpanellogin.cpp:
79 Ditto.
80
81
822008-12-05 McCabe Maxsted <hakushakukun@gmail.com>
83
84 * linden/indra/llcommon/llsecondlifeurls.cpp:
85 Changed Release Notes link to point to Imprudence.
86 * linden/indra/newview/llfloaterabout.cpp:
87 Ditto.
88
89
90 * linden/indra/newview/skins/default/xui/en-us/menu_login.xml:
91 Rebranded login menu. [#23]
92
93
94 * linden/indra/newview/llurlhistory.cpp:
95 Fixed blank url_history.xml creation. (VWR-5808)
96
97
12008-12-01 Jacek Antonelli <jacek.antonelli@gmail.com> 982008-12-01 Jacek Antonelli <jacek.antonelli@gmail.com>
2 99
3 * linden/indra/newview/viewer_manifest.py: 100 * linden/indra/newview/viewer_manifest.py:
@@ -10,6 +107,20 @@
10 * Imported license files for libraries and artwork. 107 * Imported license files for libraries and artwork.
11 108
12 109
110=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
111=- 1.0.0 RC2 -=
112=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
113
114
1152008-12-04 Jacek Antonelli <jacek.antonelli@gmail.com>
116
117 * Imprudence 1.0.0 RC2 released.
118
119
120 * linden/indra/newview/llviewernetwork.cpp:
121 Use 127.0.0.1 for local opensim, not 0.0.0.0.
122
123
132008-11-30 Jacek Antonelli <jacek.antonelli@gmail.com> 1242008-11-30 Jacek Antonelli <jacek.antonelli@gmail.com>
14 125
15 * linden/indra/newview/viewer_manifest.py: 126 * linden/indra/newview/viewer_manifest.py:
@@ -141,6 +252,11 @@
141 and position. It will now correctly inherit from default skin. 252 and position. It will now correctly inherit from default skin.
142 253
143 254
255=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
256=- 1.0.0 RC1 -=
257=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
258
259
1442008-11-15 Jacek Antonelli <jacek.antonelli@gmail.com> 2602008-11-15 Jacek Antonelli <jacek.antonelli@gmail.com>
145 261
146 * Imprudence 1.0.0 RC1 released. 262 * Imprudence 1.0.0 RC1 released.
diff --git a/linden/indra/llcommon/llsecondlifeurls.cpp b/linden/indra/llcommon/llsecondlifeurls.cpp
index ee478fe..b006a6a 100644
--- a/linden/indra/llcommon/llsecondlifeurls.cpp
+++ b/linden/indra/llcommon/llsecondlifeurls.cpp
@@ -84,4 +84,4 @@ const std::string SL_KB_URL (
84 "http://secondlife.com/knowledgebase/"); 84 "http://secondlife.com/knowledgebase/");
85 85
86const std::string RELEASE_NOTES_BASE_URL ( 86const std::string RELEASE_NOTES_BASE_URL (
87 "http://secondlife.com/app/releasenotes/"); 87 "http://imprudenceviewer.org/wiki/Release_Notes/");
diff --git a/linden/indra/llcommon/llversionviewer.h b/linden/indra/llcommon/llversionviewer.h
index bc42359..cddc654 100644
--- a/linden/indra/llcommon/llversionviewer.h
+++ b/linden/indra/llcommon/llversionviewer.h
@@ -45,5 +45,6 @@ const char * const IMP_VIEWER_NAME = "Imprudence";
45const S32 IMP_VERSION_MAJOR = 1; 45const S32 IMP_VERSION_MAJOR = 1;
46const S32 IMP_VERSION_MINOR = 0; 46const S32 IMP_VERSION_MINOR = 0;
47const S32 IMP_VERSION_PATCH = 0; 47const S32 IMP_VERSION_PATCH = 0;
48const char * const IMP_VERSION_TEST = "RC2";
48 49
49#endif 50#endif
diff --git a/linden/indra/llimage/llimagetga.cpp b/linden/indra/llimage/llimagetga.cpp
index 32c2111..21d0fd1 100644
--- a/linden/indra/llimage/llimagetga.cpp
+++ b/linden/indra/llimage/llimagetga.cpp
@@ -104,7 +104,7 @@ LLImageTGA::LLImageTGA(const std::string& file_name)
104 104
105LLImageTGA::~LLImageTGA() 105LLImageTGA::~LLImageTGA()
106{ 106{
107 delete mColorMap; 107 delete [] mColorMap;
108} 108}
109 109
110BOOL LLImageTGA::updateData() 110BOOL LLImageTGA::updateData()
diff --git a/linden/indra/llmedia/llmediaimplgstreamer.cpp b/linden/indra/llmedia/llmediaimplgstreamer.cpp
index 51a5bca..5d6a648 100644
--- a/linden/indra/llmedia/llmediaimplgstreamer.cpp
+++ b/linden/indra/llmedia/llmediaimplgstreamer.cpp
@@ -428,7 +428,7 @@ unload ()
428 428
429 if (mediaData) 429 if (mediaData)
430 { 430 {
431 delete mediaData; 431 delete [] mediaData;
432 mediaData = NULL; 432 mediaData = NULL;
433 } 433 }
434 434
diff --git a/linden/indra/llmessage/llhttpclient.cpp b/linden/indra/llmessage/llhttpclient.cpp
index fc2612f..ef163fa 100644
--- a/linden/indra/llmessage/llhttpclient.cpp
+++ b/linden/indra/llmessage/llhttpclient.cpp
@@ -160,10 +160,9 @@ namespace
160 fstream.seekg(0, std::ios::end); 160 fstream.seekg(0, std::ios::end);
161 U32 fileSize = fstream.tellg(); 161 U32 fileSize = fstream.tellg();
162 fstream.seekg(0, std::ios::beg); 162 fstream.seekg(0, std::ios::beg);
163 char* fileBuffer; 163 std::vector<char> fileBuffer(fileSize);
164 fileBuffer = new char [fileSize]; 164 fstream.read(&fileBuffer[0], fileSize);
165 fstream.read(fileBuffer, fileSize); 165 ostream.write(&fileBuffer[0], fileSize);
166 ostream.write(fileBuffer, fileSize);
167 fstream.close(); 166 fstream.close();
168 eos = true; 167 eos = true;
169 return STATUS_DONE; 168 return STATUS_DONE;
@@ -190,10 +189,9 @@ namespace
190 189
191 LLVFile vfile(gVFS, mUUID, mAssetType, LLVFile::READ); 190 LLVFile vfile(gVFS, mUUID, mAssetType, LLVFile::READ);
192 S32 fileSize = vfile.getSize(); 191 S32 fileSize = vfile.getSize();
193 U8* fileBuffer; 192 std::vector<U8> fileBuffer(fileSize);
194 fileBuffer = new U8 [fileSize]; 193 vfile.read(&fileBuffer[0], fileSize);
195 vfile.read(fileBuffer, fileSize); 194 ostream.write((char*)&fileBuffer[0], fileSize);
196 ostream.write((char*)fileBuffer, fileSize);
197 eos = true; 195 eos = true;
198 return STATUS_DONE; 196 return STATUS_DONE;
199 } 197 }
diff --git a/linden/indra/newview/llappviewer.cpp b/linden/indra/newview/llappviewer.cpp
index 243a9d8..14214b5 100644
--- a/linden/indra/newview/llappviewer.cpp
+++ b/linden/indra/newview/llappviewer.cpp
@@ -602,11 +602,12 @@ bool LLAppViewer::init()
602 writeSystemInfo(); 602 writeSystemInfo();
603 603
604 // Build a string representing the current version number. 604 // Build a string representing the current version number.
605 gCurrentVersion = llformat("%s %d.%d.%d / %s %d.%d.%d.%d", 605 gCurrentVersion = llformat("%s %d.%d.%d %s / %s %d.%d.%d.%d",
606 gSavedSettings.getString("VersionChannelName").c_str(), 606 gSavedSettings.getString("VersionChannelName").c_str(),
607 IMP_VERSION_MAJOR, 607 IMP_VERSION_MAJOR,
608 IMP_VERSION_MINOR, 608 IMP_VERSION_MINOR,
609 IMP_VERSION_PATCH, 609 IMP_VERSION_PATCH,
610 IMP_VERSION_TEST,
610 LL_VIEWER_NAME, 611 LL_VIEWER_NAME,
611 LL_VERSION_MAJOR, 612 LL_VERSION_MAJOR,
612 LL_VERSION_MINOR, 613 LL_VERSION_MINOR,
@@ -2247,6 +2248,7 @@ void LLAppViewer::writeSystemInfo()
2247 gDebugInfo["ClientInfo"]["ImpMajorVersion"] = IMP_VERSION_MAJOR; 2248 gDebugInfo["ClientInfo"]["ImpMajorVersion"] = IMP_VERSION_MAJOR;
2248 gDebugInfo["ClientInfo"]["ImpMinorVersion"] = IMP_VERSION_MINOR; 2249 gDebugInfo["ClientInfo"]["ImpMinorVersion"] = IMP_VERSION_MINOR;
2249 gDebugInfo["ClientInfo"]["ImpPatchVersion"] = IMP_VERSION_PATCH; 2250 gDebugInfo["ClientInfo"]["ImpPatchVersion"] = IMP_VERSION_PATCH;
2251 gDebugInfo["ClientInfo"]["ImpTestVersion"] = IMP_VERSION_TEST;
2250 gDebugInfo["ClientInfo"]["MajorVersion"] = LL_VERSION_MAJOR; 2252 gDebugInfo["ClientInfo"]["MajorVersion"] = LL_VERSION_MAJOR;
2251 gDebugInfo["ClientInfo"]["MinorVersion"] = LL_VERSION_MINOR; 2253 gDebugInfo["ClientInfo"]["MinorVersion"] = LL_VERSION_MINOR;
2252 gDebugInfo["ClientInfo"]["PatchVersion"] = LL_VERSION_PATCH; 2254 gDebugInfo["ClientInfo"]["PatchVersion"] = LL_VERSION_PATCH;
@@ -2330,6 +2332,7 @@ void LLAppViewer::handleViewerCrash()
2330 gDebugInfo["ClientInfo"]["ImpMajorVersion"] = IMP_VERSION_MAJOR; 2332 gDebugInfo["ClientInfo"]["ImpMajorVersion"] = IMP_VERSION_MAJOR;
2331 gDebugInfo["ClientInfo"]["ImpMinorVersion"] = IMP_VERSION_MINOR; 2333 gDebugInfo["ClientInfo"]["ImpMinorVersion"] = IMP_VERSION_MINOR;
2332 gDebugInfo["ClientInfo"]["ImpPatchVersion"] = IMP_VERSION_PATCH; 2334 gDebugInfo["ClientInfo"]["ImpPatchVersion"] = IMP_VERSION_PATCH;
2335 gDebugInfo["ClientInfo"]["ImpTestVersion"] = IMP_VERSION_TEST;
2333 gDebugInfo["ClientInfo"]["MajorVersion"] = LL_VERSION_MAJOR; 2336 gDebugInfo["ClientInfo"]["MajorVersion"] = LL_VERSION_MAJOR;
2334 gDebugInfo["ClientInfo"]["MinorVersion"] = LL_VERSION_MINOR; 2337 gDebugInfo["ClientInfo"]["MinorVersion"] = LL_VERSION_MINOR;
2335 gDebugInfo["ClientInfo"]["PatchVersion"] = LL_VERSION_PATCH; 2338 gDebugInfo["ClientInfo"]["PatchVersion"] = LL_VERSION_PATCH;
diff --git a/linden/indra/newview/llfloaterabout.cpp b/linden/indra/newview/llfloaterabout.cpp
index 4704c5b..af436c5 100644
--- a/linden/indra/newview/llfloaterabout.cpp
+++ b/linden/indra/newview/llfloaterabout.cpp
@@ -110,9 +110,9 @@ LLFloaterAbout::LLFloaterAbout()
110 110
111 // Version string 111 // Version string
112 std::string version = llformat( 112 std::string version = llformat(
113 "%s %d.%d.%d / %s %d.%d.%d (%d), %s %s\n", 113 "%s %d.%d.%d %s / %s %d.%d.%d (%d), %s %s\n",
114 IMP_VIEWER_NAME, 114 IMP_VIEWER_NAME,
115 IMP_VERSION_MAJOR, IMP_VERSION_MINOR, IMP_VERSION_PATCH, 115 IMP_VERSION_MAJOR, IMP_VERSION_MINOR, IMP_VERSION_PATCH, IMP_VERSION_TEST,
116 LL_VIEWER_NAME, 116 LL_VIEWER_NAME,
117 LL_VERSION_MAJOR, LL_VERSION_MINOR, LL_VERSION_PATCH, LL_VIEWER_BUILD, 117 LL_VERSION_MAJOR, LL_VERSION_MINOR, LL_VERSION_PATCH, LL_VIEWER_BUILD,
118 __DATE__, __TIME__); 118 __DATE__, __TIME__);
@@ -262,17 +262,16 @@ void LLFloaterAbout::show(void*)
262static std::string get_viewer_release_notes_url() 262static std::string get_viewer_release_notes_url()
263{ 263{
264 std::ostringstream version; 264 std::ostringstream version;
265 version << LL_VERSION_MAJOR << "." 265 version << IMP_VERSION_MAJOR << "."
266 << LL_VERSION_MINOR << "." 266 << IMP_VERSION_MINOR << "."
267 << LL_VERSION_PATCH << "." 267 << IMP_VERSION_PATCH;
268 << LL_VERSION_BUILD;
269 268
270 LLSD query; 269 // Append the test version if it's not empty
271 query["channel"] = gSavedSettings.getString("VersionChannelName"); 270 if( strcmp(IMP_VERSION_TEST, "") != 0 )
272 query["version"] = version.str(); 271 version << "-" << IMP_VERSION_TEST;
273 272
274 std::ostringstream url; 273 std::ostringstream url;
275 url << RELEASE_NOTES_BASE_URL << LLURI::mapToQueryString(query); 274 url << RELEASE_NOTES_BASE_URL << version.str();
276 275
277 return url.str(); 276 return url.str();
278} 277}
diff --git a/linden/indra/newview/llpanellogin.cpp b/linden/indra/newview/llpanellogin.cpp
index 09e2cee..a495516 100644
--- a/linden/indra/newview/llpanellogin.cpp
+++ b/linden/indra/newview/llpanellogin.cpp
@@ -360,10 +360,11 @@ LLPanelLogin::LLPanelLogin(const LLRect &rect,
360 // childSetAction("quit_btn", onClickQuit, this); 360 // childSetAction("quit_btn", onClickQuit, this);
361 361
362 std::string imp_channel = gSavedSettings.getString("VersionChannelName"); 362 std::string imp_channel = gSavedSettings.getString("VersionChannelName");
363 std::string imp_version = llformat("%d.%d.%d", 363 std::string imp_version = llformat("%d.%d.%d %s",
364 IMP_VERSION_MAJOR, 364 IMP_VERSION_MAJOR,
365 IMP_VERSION_MINOR, 365 IMP_VERSION_MINOR,
366 IMP_VERSION_PATCH ); 366 IMP_VERSION_PATCH,
367 IMP_VERSION_TEST );
367 368
368 std::string ll_channel = LL_VIEWER_NAME; 369 std::string ll_channel = LL_VIEWER_NAME;
369 std::string ll_version = llformat("%d.%d.%d (%d)", 370 std::string ll_version = llformat("%d.%d.%d (%d)",
@@ -711,6 +712,14 @@ void LLPanelLogin::addServer(const std::string& server, S32 domain_name)
711 combo->setCurrentByIndex(0); 712 combo->setCurrentByIndex(0);
712} 713}
713 714
715
716// static
717void LLPanelLogin::setServer(S32 domain_name)
718{
719 LLComboBox* combo = sInstance->getChild<LLComboBox>("server_combo");
720 combo->setCurrentByIndex(domain_name);
721}
722
714// static 723// static
715void LLPanelLogin::getFields(std::string &firstname, std::string &lastname, std::string &password, 724void LLPanelLogin::getFields(std::string &firstname, std::string &lastname, std::string &password,
716 BOOL &remember) 725 BOOL &remember)
diff --git a/linden/indra/newview/llpanellogin.h b/linden/indra/newview/llpanellogin.h
index 539997b..78b0a22 100644
--- a/linden/indra/newview/llpanellogin.h
+++ b/linden/indra/newview/llpanellogin.h
@@ -87,6 +87,7 @@ public:
87 const std::string& password, BOOL remember); 87 const std::string& password, BOOL remember);
88 88
89 static void addServer(const std::string& server, S32 domain_name); 89 static void addServer(const std::string& server, S32 domain_name);
90 static void setServer(S32 domain_name);
90 static void refreshLocation( bool force_visible ); 91 static void refreshLocation( bool force_visible );
91 92
92 static void getFields(std::string& firstname, std::string& lastname, 93 static void getFields(std::string& firstname, std::string& lastname,
diff --git a/linden/indra/newview/llstartup.cpp b/linden/indra/newview/llstartup.cpp
index 625b1d8..6371f2b 100644
--- a/linden/indra/newview/llstartup.cpp
+++ b/linden/indra/newview/llstartup.cpp
@@ -2458,14 +2458,14 @@ void login_show()
2458 // UI textures have been previously loaded in doPreloadImages() 2458 // UI textures have been previously loaded in doPreloadImages()
2459 2459
2460 LL_DEBUGS("AppInit") << "Setting Servers" << LL_ENDL; 2460 LL_DEBUGS("AppInit") << "Setting Servers" << LL_ENDL;
2461 2461 LL_INFOS("AppInit") << "getGridChoice is " << LLViewerLogin::getInstance()->getGridChoice() << LL_ENDL;
2462 LLPanelLogin::addServer(LLViewerLogin::getInstance()->getGridLabel(), LLViewerLogin::getInstance()->getGridChoice());
2463 2462
2464 LLViewerLogin* vl = LLViewerLogin::getInstance(); 2463 LLViewerLogin* vl = LLViewerLogin::getInstance();
2465 for(int grid_index = GRID_INFO_NONE + 1; grid_index < GRID_INFO_OTHER; ++grid_index) 2464 for(int grid_index = GRID_INFO_NONE + 1; grid_index < GRID_INFO_OTHER; ++grid_index)
2466 { 2465 {
2467 LLPanelLogin::addServer(vl->getKnownGridLabel((EGridInfo)grid_index), grid_index); 2466 LLPanelLogin::addServer(vl->getKnownGridLabel((EGridInfo)grid_index), grid_index);
2468 } 2467 }
2468 LLPanelLogin::setServer(LLViewerLogin::getInstance()->getGridChoice()-1);
2469} 2469}
2470 2470
2471// Callback for when login screen is closed. Option 0 = connect, option 1 = quit. 2471// Callback for when login screen is closed. Option 0 = connect, option 1 = quit.
diff --git a/linden/indra/newview/llurlhistory.cpp b/linden/indra/newview/llurlhistory.cpp
index ac3fa93..c10add4 100644
--- a/linden/indra/newview/llurlhistory.cpp
+++ b/linden/indra/newview/llurlhistory.cpp
@@ -72,9 +72,17 @@ bool LLURLHistory::loadFile(const std::string& filename)
72 72
73// static 73// static
74bool LLURLHistory::saveFile(const std::string& filename) 74bool LLURLHistory::saveFile(const std::string& filename)
75{ 75{
76 std::string temp_str = gDirUtilp->getLindenUserDir() + gDirUtilp->getDirDelimiter(); 76 std::string temp_str = gDirUtilp->getLindenUserDir();
77 llofstream out((temp_str + filename)); 77 if( temp_str.empty() )
78 {
79 llwarns << "Can't save " << filename
80 << ": No user directory set." << llendl;
81 return false;
82 }
83
84 temp_str += gDirUtilp->getDirDelimiter() + filename;
85 llofstream out(temp_str);
78 if (!out.good()) 86 if (!out.good())
79 { 87 {
80 llwarns << "Unable to open " << filename << " for output." << llendl; 88 llwarns << "Unable to open " << filename << " for output." << llendl;
diff --git a/linden/indra/newview/llviewernetwork.cpp b/linden/indra/newview/llviewernetwork.cpp
index 5b423ff..9019b88 100644
--- a/linden/indra/newview/llviewernetwork.cpp
+++ b/linden/indra/newview/llviewernetwork.cpp
@@ -60,7 +60,7 @@ static LLGridData gGridInfo[GRID_INFO_COUNT] =
60 { "Local OpenSim", 60 { "Local OpenSim",
61 "", 61 "",
62 "localhost", 62 "localhost",
63 "http://0.0.0.0:9000", 63 "http://127.0.0.1:9000",
64 "" }, 64 "" },
65 { "Other", "", "", "", "" } 65 { "Other", "", "", "", "" }
66}; 66};
@@ -110,34 +110,34 @@ void LLViewerLogin::setGridChoice(const std::string& grid_name)
110 // The string can be: 110 // The string can be:
111 // - a grid label from the gGridInfo table 111 // - a grid label from the gGridInfo table
112 // - an ip address 112 // - an ip address
113 if(!grid_name.empty()) 113 if(!grid_name.empty())
114 { 114 {
115 // find the grid choice from the user setting. 115 // find the grid choice from the user setting.
116 int grid_index = GRID_INFO_NONE; 116 int grid_index = GRID_INFO_NONE;
117 for(;grid_index < GRID_INFO_OTHER; ++grid_index) 117 for(;grid_index < GRID_INFO_OTHER; ++grid_index)
118 { 118 {
119 if(0 == LLStringUtil::compareInsensitive(gGridInfo[grid_index].mLabel, grid_name)) 119 if(0 == LLStringUtil::compareInsensitive(gGridInfo[grid_index].mLabel, grid_name))
120 { 120 {
121 // Founding a matching label in the list... 121 // Founding a matching label in the list...
122 setGridChoice((EGridInfo)grid_index); 122 setGridChoice((EGridInfo)grid_index);
123 break; 123 break;
124 } 124 }
125 } 125 }
126 126
127 if(GRID_INFO_OTHER == grid_index) 127 if(GRID_INFO_OTHER == grid_index)
128 { 128 {
129 // *FIX:MEP Can and should we validate that this is an IP address? 129 // *FIX:MEP Can and should we validate that this is an IP address?
130 mGridChoice = GRID_INFO_OTHER; 130 mGridChoice = GRID_INFO_OTHER;
131 mGridName = grid_name; 131 mGridName = grid_name;
132 gSavedSettings.setS32("ServerChoice", mGridChoice); 132 gSavedSettings.setS32("ServerChoice", mGridChoice);
133 gSavedSettings.setString("CustomServer", mGridName); 133 gSavedSettings.setString("CustomServer", mGridName);
134 } 134 }
135 } 135 }
136} 136}
137 137
138void LLViewerLogin::resetURIs() 138void LLViewerLogin::resetURIs()
139{ 139{
140 // Clear URIs when picking a new server 140 // Clear URIs when picking a new server
141 gSavedSettings.setValue("CmdLineLoginURI", LLSD::emptyArray()); 141 gSavedSettings.setValue("CmdLineLoginURI", LLSD::emptyArray());
142 gSavedSettings.setString("CmdLineHelperURI", ""); 142 gSavedSettings.setString("CmdLineHelperURI", "");
143} 143}
@@ -163,7 +163,8 @@ std::string LLViewerLogin::getGridLabel() const
163 163
164std::string LLViewerLogin::getGridCodeName() const 164std::string LLViewerLogin::getGridCodeName() const
165{ 165{
166 if( gGridInfo[mGridChoice].mCodeName == "" ) 166 // Fall back to grid label if code name is empty.
167 if( strcmp(gGridInfo[mGridChoice].mCodeName, "") == 0 )
167 { 168 {
168 return getGridLabel(); 169 return getGridLabel();
169 } 170 }
diff --git a/linden/indra/newview/skins/default/xui/en-us/menu_login.xml b/linden/indra/newview/skins/default/xui/en-us/menu_login.xml
index d7ff80b..8d06657 100644
--- a/linden/indra/newview/skins/default/xui/en-us/menu_login.xml
+++ b/linden/indra/newview/skins/default/xui/en-us/menu_login.xml
@@ -1,33 +1,33 @@
1<?xml version="1.0" encoding="utf-8" standalone="yes" ?> 1<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
2<menu_bar bottom="-18" drop_shadow="false" enabled="true" follows="left|top|right" 2<menu_bar bottom="-18" drop_shadow="false" enabled="true" follows="left|top|right"
3 height="18" left="0" mouse_opaque="true" name="Login Menu" opaque="true" 3 height="18" left="0" mouse_opaque="true" name="Login Menu" opaque="true"
4 tear_off="false" width="802"> 4 tear_off="false" width="802">
5 <menu bottom="273" create_jump_keys="true" drop_shadow="true" enabled="true" 5 <menu bottom="273" create_jump_keys="true" drop_shadow="true" enabled="true"
6 height="263" label="File" left="0" mouse_opaque="false" name="File" 6 height="263" label="File" left="0" mouse_opaque="false" name="File"
7 opaque="true" tear_off="false" width="243"> 7 opaque="true" tear_off="false" width="243">
8 <menu_item_call bottom="-29" enabled="true" height="19" label="Quit" left="0" 8 <menu_item_call bottom="-29" enabled="true" height="19" label="Quit" left="0"
9 mouse_opaque="true" name="Quit" shortcut="control|Q" width="243"> 9 mouse_opaque="true" name="Quit" shortcut="control|Q" width="243">
10 <on_click function="File.Quit" userdata="" /> 10 <on_click function="File.Quit" userdata="" />
11 </menu_item_call> 11 </menu_item_call>
12 </menu> 12 </menu>
13 <menu bottom="97" create_jump_keys="true" drop_shadow="true" enabled="true" 13 <menu bottom="97" create_jump_keys="true" drop_shadow="true" enabled="true"
14 height="439" label="Edit" left="38" mouse_opaque="false" name="Edit" 14 height="439" label="Edit" left="38" mouse_opaque="false" name="Edit"
15 opaque="true" tear_off="false" width="153"> 15 opaque="true" tear_off="false" width="153">
16 <menu_item_call bottom="-29" enabled="true" height="19" label="Preferences..." left="0" 16 <menu_item_call bottom="-29" enabled="true" height="19" label="Preferences..." left="0"
17 mouse_opaque="true" name="Preferences..." shortcut="control|P" width="153"> 17 mouse_opaque="true" name="Preferences..." shortcut="control|P" width="153">
18 <on_click function="ShowFloater" userdata="preferences" /> 18 <on_click function="ShowFloater" userdata="preferences" />
19 </menu_item_call> 19 </menu_item_call>
20 </menu> 20 </menu>
21 <menu bottom="219" create_jump_keys="true" drop_shadow="true" enabled="true" 21 <menu bottom="219" create_jump_keys="true" drop_shadow="true" enabled="true"
22 height="317" label="Help" left="80" mouse_opaque="false" name="Help" 22 height="317" label="Help" left="80" mouse_opaque="false" name="Help"
23 opaque="true" tear_off="false" width="166"> 23 opaque="true" tear_off="false" width="166">
24 <menu_item_call bottom="-29" enabled="true" height="19" label="Second Life Help" left="0" 24 <menu_item_call bottom="-29" enabled="true" height="19" label="Viewer Help" left="0"
25 mouse_opaque="true" name="Second Life Help" shortcut="F1" width="166"> 25 mouse_opaque="true" name="Viewer Help" shortcut="F1" width="166">
26 <on_click function="ShowFloater" userdata="help f1" /> 26 <on_click function="ShowFloater" userdata="help f1" />
27 </menu_item_call> 27 </menu_item_call>
28 <menu_item_call bottom="-48" enabled="true" height="19" label="About Second Life..." left="0" 28 <menu_item_call bottom="-48" enabled="true" height="19" label="About Imprudence..." left="0"
29 mouse_opaque="true" name="About Second Life..." width="166"> 29 mouse_opaque="true" name="About Imprudence..." width="166">
30 <on_click function="ShowFloater" userdata="about" /> 30 <on_click function="ShowFloater" userdata="about" />
31 </menu_item_call> 31 </menu_item_call>
32 </menu> 32 </menu>
33</menu_bar> 33</menu_bar>