aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra
diff options
context:
space:
mode:
authorMcCabe Maxsted2011-03-22 02:00:36 -0700
committerMcCabe Maxsted2011-03-22 02:00:36 -0700
commit831ca11758eba659713c507bcb6b8b12a1234ffd (patch)
tree3ea77441273cf59ad11313e576e85d45528cc6e2 /linden/indra
parentSupport username logins on Linden grids. Seems to cover most edge cases with ... (diff)
parentDon't report crashes if the grid where the crash happened is different from t... (diff)
downloadmeta-impy-831ca11758eba659713c507bcb6b8b12a1234ffd.zip
meta-impy-831ca11758eba659713c507bcb6b8b12a1234ffd.tar.gz
meta-impy-831ca11758eba659713c507bcb6b8b12a1234ffd.tar.bz2
meta-impy-831ca11758eba659713c507bcb6b8b12a1234ffd.tar.xz
Merge remote-tracking branch 'armin/exp' into exp
Diffstat (limited to 'linden/indra')
-rw-r--r--linden/indra/newview/app_settings/settings.xml46
-rw-r--r--linden/indra/newview/llpanelaudioprefs.cpp3
-rw-r--r--linden/indra/newview/llpanelaudioprefs.h1
-rw-r--r--linden/indra/newview/llpanelnetwork.cpp24
-rw-r--r--linden/indra/newview/llpanelnetwork.h1
-rw-r--r--linden/indra/newview/llpanelweb.cpp13
-rw-r--r--linden/indra/newview/llstartup.cpp23
-rw-r--r--linden/indra/newview/lltoolpie.cpp17
-rw-r--r--linden/indra/newview/llviewermedia.cpp38
-rw-r--r--linden/indra/newview/llviewermedia.h5
-rw-r--r--linden/indra/newview/llviewermediafocus.cpp18
-rw-r--r--linden/indra/newview/llxmlrpctransaction.cpp6
-rw-r--r--linden/indra/newview/skins/default/xui/en-us/panel_preferences_audio.xml5
-rw-r--r--linden/indra/newview/skins/default/xui/en-us/panel_preferences_network.xml27
-rw-r--r--linden/indra/newview/skins/default/xui/en-us/panel_preferences_web.xml4
15 files changed, 212 insertions, 19 deletions
diff --git a/linden/indra/newview/app_settings/settings.xml b/linden/indra/newview/app_settings/settings.xml
index 2a508ee..315670c 100644
--- a/linden/indra/newview/app_settings/settings.xml
+++ b/linden/indra/newview/app_settings/settings.xml
@@ -677,6 +677,17 @@
677 <key>Value</key> 677 <key>Value</key>
678 <string>Random</string> 678 <string>Random</string>
679 </map> 679 </map>
680 <key>LastConnectedGrid</key>
681 <map>
682 <key>Comment</key>
683 <string>Last grid actually connected to</string>
684 <key>Persist</key>
685 <integer>1</integer>
686 <key>Type</key>
687 <string>String</string>
688 <key>Value</key>
689 <string />
690 </map>
680 <key>LastSelectedGrid</key> 691 <key>LastSelectedGrid</key>
681 <map> 692 <map>
682 <key>Comment</key> 693 <key>Comment</key>
@@ -2311,6 +2322,41 @@
2311 <key>Value</key> 2322 <key>Value</key>
2312 <integer>0</integer> 2323 <integer>0</integer>
2313 </map> 2324 </map>
2325
2326 <key>XMLRPCProxyAddress</key>
2327 <map>
2328 <key>Comment</key>
2329 <string>Address for the XMLRPC Web Proxy</string>
2330 <key>Persist</key>
2331 <integer>1</integer>
2332 <key>Type</key>
2333 <string>String</string>
2334 <key>Value</key>
2335 <string />
2336 </map>
2337 <key>XMLRPCProxyEnabled</key>
2338 <map>
2339 <key>Comment</key>
2340 <string>Use XMLRPC Proxy</string>
2341 <key>Persist</key>
2342 <integer>1</integer>
2343 <key>Type</key>
2344 <string>Boolean</string>
2345 <key>Value</key>
2346 <integer>0</integer>
2347 </map>
2348 <key>XMLRPCProxyPort</key>
2349 <map>
2350 <key>Comment</key>
2351 <string>Port of the XMLRPC Proxy</string>
2352 <key>Persist</key>
2353 <integer>1</integer>
2354 <key>Type</key>
2355 <string>S32</string>
2356 <key>Value</key>
2357 <integer>3128</integer>
2358 </map>
2359
2314 <key>AllowIdleAFK</key> 2360 <key>AllowIdleAFK</key>
2315 <map> 2361 <map>
2316 <key>Comment</key> 2362 <key>Comment</key>
diff --git a/linden/indra/newview/llpanelaudioprefs.cpp b/linden/indra/newview/llpanelaudioprefs.cpp
index 1acfcbb..f1a8af5 100644
--- a/linden/indra/newview/llpanelaudioprefs.cpp
+++ b/linden/indra/newview/llpanelaudioprefs.cpp
@@ -112,6 +112,7 @@ void LLPanelAudioPrefs::refreshValues()
112 112
113 mPreviousStreamingMusic = gSavedSettings.getBOOL("AudioStreamingMusic"); 113 mPreviousStreamingMusic = gSavedSettings.getBOOL("AudioStreamingMusic");
114 mPreviousStreamingVideo = gSavedSettings.getBOOL("AudioStreamingVideo"); 114 mPreviousStreamingVideo = gSavedSettings.getBOOL("AudioStreamingVideo");
115 mPreviousHelperWidget = gSavedSettings.getBOOL("MediaOnAPrimUI");
115 116
116 mPreviousMuteAudio = gSavedSettings.getBOOL("MuteAudio"); 117 mPreviousMuteAudio = gSavedSettings.getBOOL("MuteAudio");
117 mPreviousMuteWhenMinimized = gSavedSettings.getBOOL("MuteWhenMinimized"); 118 mPreviousMuteWhenMinimized = gSavedSettings.getBOOL("MuteWhenMinimized");
@@ -140,7 +141,7 @@ void LLPanelAudioPrefs::cancel()
140 141
141 gSavedSettings.setBOOL("AudioStreamingMusic", mPreviousStreamingMusic ); 142 gSavedSettings.setBOOL("AudioStreamingMusic", mPreviousStreamingMusic );
142 gSavedSettings.setBOOL("AudioStreamingVideo", mPreviousStreamingVideo ); 143 gSavedSettings.setBOOL("AudioStreamingVideo", mPreviousStreamingVideo );
143 144 gSavedSettings.setBOOL("MediaOnAPrimUI", mPreviousHelperWidget );
144 145
145 gSavedSettings.setBOOL("MuteAudio", mPreviousMuteAudio ); 146 gSavedSettings.setBOOL("MuteAudio", mPreviousMuteAudio );
146 gSavedSettings.setBOOL("MuteWhenMinimized", mPreviousMuteWhenMinimized ); 147 gSavedSettings.setBOOL("MuteWhenMinimized", mPreviousMuteWhenMinimized );
diff --git a/linden/indra/newview/llpanelaudioprefs.h b/linden/indra/newview/llpanelaudioprefs.h
index 21d2f59..56982b8 100644
--- a/linden/indra/newview/llpanelaudioprefs.h
+++ b/linden/indra/newview/llpanelaudioprefs.h
@@ -75,6 +75,7 @@ private:
75 75
76 BOOL mPreviousStreamingMusic; 76 BOOL mPreviousStreamingMusic;
77 BOOL mPreviousStreamingVideo; 77 BOOL mPreviousStreamingVideo;
78 BOOL mPreviousHelperWidget;
78 BOOL mPreviousMuteAudio; 79 BOOL mPreviousMuteAudio;
79 BOOL mPreviousMuteWhenMinimized; 80 BOOL mPreviousMuteWhenMinimized;
80}; 81};
diff --git a/linden/indra/newview/llpanelnetwork.cpp b/linden/indra/newview/llpanelnetwork.cpp
index 2edd1a1..16b9a76 100644
--- a/linden/indra/newview/llpanelnetwork.cpp
+++ b/linden/indra/newview/llpanelnetwork.cpp
@@ -64,6 +64,14 @@ BOOL LLPanelNetwork::postBuild()
64 childSetValue("connection_port_enabled", gSavedSettings.getBOOL("ConnectionPortEnabled")); 64 childSetValue("connection_port_enabled", gSavedSettings.getBOOL("ConnectionPortEnabled"));
65 childSetValue("connection_port", (F32)gSavedSettings.getU32("ConnectionPort")); 65 childSetValue("connection_port", (F32)gSavedSettings.getU32("ConnectionPort"));
66 66
67 childSetCommitCallback("xmlrpc_proxy_enabled", onCommitXMLRPCProxyEnabled, this);
68 childSetValue("xmlrpc_proxy_enabled", gSavedSettings.getBOOL("XMLRPCProxyEnabled"));
69 childSetValue("xmlrpc_proxy_editor", gSavedSettings.getString("XMLRPCProxyAddress"));
70 childSetValue("xmlrpc_proxy_port", gSavedSettings.getS32("XMLRPCProxyPort"));
71 childSetEnabled("xmlrpc_proxy_text_label", gSavedSettings.getBOOL("XMLRPCProxyEnabled"));
72 childSetEnabled("xmlrpc_proxy_editor", gSavedSettings.getBOOL("XMLRPCProxyEnabled"));
73 childSetEnabled("xmlrpc_proxy_port", gSavedSettings.getBOOL("XMLRPCProxyEnabled"));
74
67 return TRUE; 75 return TRUE;
68} 76}
69 77
@@ -79,6 +87,10 @@ void LLPanelNetwork::apply()
79 gSavedSettings.setF32("ThrottleBandwidthKBPS", childGetValue("max_bandwidth").asReal()); 87 gSavedSettings.setF32("ThrottleBandwidthKBPS", childGetValue("max_bandwidth").asReal());
80 gSavedSettings.setBOOL("ConnectionPortEnabled", childGetValue("connection_port_enabled")); 88 gSavedSettings.setBOOL("ConnectionPortEnabled", childGetValue("connection_port_enabled"));
81 gSavedSettings.setU32("ConnectionPort", childGetValue("connection_port").asInteger()); 89 gSavedSettings.setU32("ConnectionPort", childGetValue("connection_port").asInteger());
90
91 gSavedSettings.setBOOL("XMLRPCProxyEnabled", childGetValue("xmlrpc_proxy_enabled"));
92 gSavedSettings.setString("XMLRPCProxyAddress", childGetValue("xmlrpc_proxy_editor"));
93 gSavedSettings.setS32("XMLRPCProxyPort", childGetValue("xmlrpc_proxy_port"));
82} 94}
83 95
84void LLPanelNetwork::cancel() 96void LLPanelNetwork::cancel()
@@ -144,3 +156,15 @@ void LLPanelNetwork::onCommitPort(LLUICtrl* ctrl, void* data)
144 self->childSetEnabled("connection_port", check->get()); 156 self->childSetEnabled("connection_port", check->get());
145 LLNotifications::instance().add("ChangeConnectionPort"); 157 LLNotifications::instance().add("ChangeConnectionPort");
146} 158}
159
160// static
161void LLPanelNetwork::onCommitXMLRPCProxyEnabled(LLUICtrl* ctrl, void* data)
162{
163 LLPanelNetwork* self = (LLPanelNetwork*)data;
164 LLCheckBoxCtrl* check = (LLCheckBoxCtrl*)ctrl;
165
166 if (!self || !check) return;
167 self->childSetEnabled("xmlrpc_proxy_editor", check->get());
168 self->childSetEnabled("xmlrpc_proxy_port", check->get());
169 self->childSetEnabled("xmlrpc_proxy_text_label", check->get());
170} \ No newline at end of file
diff --git a/linden/indra/newview/llpanelnetwork.h b/linden/indra/newview/llpanelnetwork.h
index 3a3d857..900158a 100644
--- a/linden/indra/newview/llpanelnetwork.h
+++ b/linden/indra/newview/llpanelnetwork.h
@@ -51,6 +51,7 @@ private:
51 static void onClickSetCache(void*); 51 static void onClickSetCache(void*);
52 static void onClickResetCache(void*); 52 static void onClickResetCache(void*);
53 static void onCommitPort(LLUICtrl* ctrl, void*); 53 static void onCommitPort(LLUICtrl* ctrl, void*);
54 static void onCommitXMLRPCProxyEnabled(LLUICtrl* ctrl, void* data);
54}; 55};
55 56
56#endif 57#endif
diff --git a/linden/indra/newview/llpanelweb.cpp b/linden/indra/newview/llpanelweb.cpp
index 6f9bd7a..93441dd 100644
--- a/linden/indra/newview/llpanelweb.cpp
+++ b/linden/indra/newview/llpanelweb.cpp
@@ -69,6 +69,7 @@ BOOL LLPanelWeb::postBuild()
69 childSetValue("use_external_browser", value); 69 childSetValue("use_external_browser", value);
70 70
71 childSetValue("cookies_enabled", gSavedSettings.getBOOL("BrowserCookiesEnabled")); 71 childSetValue("cookies_enabled", gSavedSettings.getBOOL("BrowserCookiesEnabled"));
72 childSetAction("clear_cookies", onClickClearCookies,this);
72 73
73 childSetValue("web_proxy_enabled", gSavedSettings.getBOOL("BrowserProxyEnabled")); 74 childSetValue("web_proxy_enabled", gSavedSettings.getBOOL("BrowserProxyEnabled"));
74 childSetValue("web_proxy_editor", gSavedSettings.getString("BrowserProxyAddress")); 75 childSetValue("web_proxy_editor", gSavedSettings.getString("BrowserProxyAddress"));
@@ -102,9 +103,15 @@ LLPanelWeb::~LLPanelWeb()
102void LLPanelWeb::apply() 103void LLPanelWeb::apply()
103{ 104{
104 gSavedSettings.setBOOL("BrowserCookiesEnabled", childGetValue("cookies_enabled")); 105 gSavedSettings.setBOOL("BrowserCookiesEnabled", childGetValue("cookies_enabled"));
105 gSavedSettings.setBOOL("BrowserProxyEnabled", childGetValue("web_proxy_enabled")); 106
106 gSavedSettings.setString("BrowserProxyAddress", childGetValue("web_proxy_editor")); 107 bool proxy_enable = childGetValue("web_proxy_enabled");
107 gSavedSettings.setS32("BrowserProxyPort", childGetValue("web_proxy_port")); 108 std::string proxy_address = childGetValue("web_proxy_editor");
109 int proxy_port = childGetValue("web_proxy_port");
110 gSavedSettings.setBOOL("BrowserProxyEnabled", proxy_enable);
111 gSavedSettings.setString("BrowserProxyAddress", proxy_address);
112 gSavedSettings.setS32("BrowserProxyPort", proxy_port);
113 LLViewerMedia::setProxyConfig(proxy_enable, proxy_address, proxy_port);
114
108 if (gHippoGridManager->getConnectedGrid()->isSecondLife()) 115 if (gHippoGridManager->getConnectedGrid()->isSecondLife())
109 { 116 {
110 gSavedSettings.setString("SearchURLQuery", childGetValue("world_search_editor")); 117 gSavedSettings.setString("SearchURLQuery", childGetValue("world_search_editor"));
diff --git a/linden/indra/newview/llstartup.cpp b/linden/indra/newview/llstartup.cpp
index e21efa3..ec45955 100644
--- a/linden/indra/newview/llstartup.cpp
+++ b/linden/indra/newview/llstartup.cpp
@@ -1258,6 +1258,20 @@ bool idle_startup()
1258 hashed_mac.finalize(); 1258 hashed_mac.finalize();
1259 hashed_mac.hex_digest(hashed_mac_string); 1259 hashed_mac.hex_digest(hashed_mac_string);
1260 1260
1261 // Don't report crashes if the grid we crashed in
1262 // is different from the grid we log in
1263 eLastExecEvent last_exec_event = LAST_EXEC_NORMAL;
1264 {
1265 std::string current_grid = gHippoGridManager->getCurrentGrid()->getGridNick();
1266 std::string last_grid = gSavedSettings.getString("LastConnectedGrid");
1267 LL_DEBUGS("AppInit") << "current grid: " << current_grid
1268 << " Last Connected Grid: " << last_grid << LL_ENDL;
1269 if( last_grid == current_grid )
1270 {
1271 last_exec_event = gLastExecEvent;
1272 }
1273 }
1274
1261 // TODO if statement here to use web_login_key 1275 // TODO if statement here to use web_login_key
1262 if(web_login_key.isNull()){ 1276 if(web_login_key.isNull()){
1263 sAuthUriNum = llclamp(sAuthUriNum, 0, (S32)sAuthUris.size()-1); 1277 sAuthUriNum = llclamp(sAuthUriNum, 0, (S32)sAuthUris.size()-1);
@@ -1272,7 +1286,7 @@ bool idle_startup()
1272 gSkipOptionalUpdate, 1286 gSkipOptionalUpdate,
1273 gAcceptTOS, 1287 gAcceptTOS,
1274 gAcceptCriticalMessage, 1288 gAcceptCriticalMessage,
1275 gLastExecEvent, 1289 last_exec_event,
1276 requested_options, 1290 requested_options,
1277 hashed_mac_string, 1291 hashed_mac_string,
1278 LLAppViewer::instance()->getSerialNumber()); 1292 LLAppViewer::instance()->getSerialNumber());
@@ -1287,7 +1301,7 @@ bool idle_startup()
1287 gSkipOptionalUpdate, 1301 gSkipOptionalUpdate,
1288 gAcceptTOS, 1302 gAcceptTOS,
1289 gAcceptCriticalMessage, 1303 gAcceptCriticalMessage,
1290 gLastExecEvent, 1304 last_exec_event,
1291 requested_options, 1305 requested_options,
1292 hashed_mac_string, 1306 hashed_mac_string,
1293 LLAppViewer::instance()->getSerialNumber()); 1307 LLAppViewer::instance()->getSerialNumber());
@@ -1525,6 +1539,11 @@ bool idle_startup()
1525 1539
1526 if(successful_login) 1540 if(successful_login)
1527 { 1541 {
1542 {
1543 std::string current_grid = gHippoGridManager->getConnectedGrid()->getGridNick();
1544 gSavedSettings.setString("LastConnectedGrid", current_grid);
1545 }
1546
1528 std::string text; 1547 std::string text;
1529 text = LLUserAuth::getInstance()->getResponse("udp_blacklist"); 1548 text = LLUserAuth::getInstance()->getResponse("udp_blacklist");
1530 if(!text.empty()) 1549 if(!text.empty())
diff --git a/linden/indra/newview/lltoolpie.cpp b/linden/indra/newview/lltoolpie.cpp
index 34735a3..b7d762c 100644
--- a/linden/indra/newview/lltoolpie.cpp
+++ b/linden/indra/newview/lltoolpie.cpp
@@ -800,6 +800,14 @@ BOOL LLToolPie::handleDoubleClick(S32 x, S32 y, MASK mask)
800 LL_DEBUGS("DoubleClicks") << "Double clicked a touch-scripted object" << LL_ENDL; 800 LL_DEBUGS("DoubleClicks") << "Double clicked a touch-scripted object" << LL_ENDL;
801 return FALSE; 801 return FALSE;
802 } 802 }
803
804 const LLTextureEntry* tep = object->getTE(mPick.mObjectFace);
805 viewer_media_t media_impl = LLViewerMedia::getMediaImplFromTextureID(tep->getID());
806 if (tep && media_impl.notNull() && media_impl->hasMedia())
807 {
808 LL_DEBUGS("DoubleClicks") << "Double clicked running parcel media" << LL_ENDL;
809 return FALSE;
810 }
803 } 811 }
804 812
805 std::string action = gSavedSettings.getString("DoubleClickAction"); 813 std::string action = gSavedSettings.getString("DoubleClickAction");
@@ -938,19 +946,16 @@ static bool handle_media_click(const LLPickInfo& pick)
938 if (tep 946 if (tep
939 && media_impl.notNull() 947 && media_impl.notNull()
940 && media_impl->hasMedia() 948 && media_impl->hasMedia()
941 && gSavedSettings.getBOOL("MediaOnAPrimUI")) 949 /*&& gSavedSettings.getBOOL("MediaOnAPrimUI")*/)
942 { 950 {
943 LLObjectSelectionHandle selection = LLViewerMediaFocus::getInstance()->getSelection(); 951 LLObjectSelectionHandle selection = LLViewerMediaFocus::getInstance()->getSelection();
944 if (! selection->contains(pick.getObject(), pick.mObjectFace)) 952 if (! selection->contains(pick.getObject(), pick.mObjectFace))
945 { 953 {
946 LLViewerMediaFocus::getInstance()->setFocusFace(TRUE, pick.getObject(), pick.mObjectFace, media_impl); 954 LLViewerMediaFocus::getInstance()->setFocusFace(TRUE, pick.getObject(), pick.mObjectFace, media_impl);
947 } 955 }
948 else
949 {
950 media_impl->mouseDown(pick.mXYCoords.mX, pick.mXYCoords.mY);
951 media_impl->mouseCapture(); // the mouse-up will happen when capture is lost
952 }
953 956
957 media_impl->mouseDown(pick.mXYCoords.mX, pick.mXYCoords.mY);
958 media_impl->mouseCapture(); // the mouse-up will happen when capture is lost
954 return true; 959 return true;
955 } 960 }
956 961
diff --git a/linden/indra/newview/llviewermedia.cpp b/linden/indra/newview/llviewermedia.cpp
index f0faedf..c228468 100644
--- a/linden/indra/newview/llviewermedia.cpp
+++ b/linden/indra/newview/llviewermedia.cpp
@@ -267,6 +267,23 @@ std::string LLViewerMedia::getCurrentUserAgent()
267 267
268 return codec.str(); 268 return codec.str();
269} 269}
270
271/////////////////////////////////////////////////////////////////////////////////////////
272// static
273void LLViewerMedia::setProxyConfig(bool enable, const std::string &host, int port)
274{
275 // Set the proxy config for all loaded plugins
276 impl_list::iterator iter = sViewerMediaImplList.begin();
277 impl_list::iterator end = sViewerMediaImplList.end();
278 for (; iter != end; iter++)
279 {
280 LLViewerMediaImpl* pimpl = *iter;
281 if(pimpl->mMediaSource)
282 {
283 pimpl->mMediaSource->proxy_setup(enable, host, port);
284 }
285 }
286}
270 287
271////////////////////////////////////////////////////////////////////////////////////////// 288//////////////////////////////////////////////////////////////////////////////////////////
272// static 289// static
@@ -395,6 +412,19 @@ LLViewerMediaImpl::~LLViewerMediaImpl()
395 LLViewerMedia::removeMedia(this); 412 LLViewerMedia::removeMedia(this);
396} 413}
397 414
415//static
416void LLViewerMediaImpl::setProxy(LLPluginClassMedia* media_source)
417{
418 // pass proxy settings to browser
419 bool proxy_enabled = gSavedSettings.getBOOL( "BrowserProxyEnabled" );
420 std::string proxy_address = gSavedSettings.getString("BrowserProxyAddress");
421 S32 proxy_port = gSavedSettings.getS32("BrowserProxyPort");
422 media_source->proxy_setup(proxy_enabled, proxy_address, proxy_port);
423 LL_DEBUGS("Media") << "Proxy: " << (proxy_enabled ? "enabled" : "not enabled")
424 << " Address: " << proxy_address
425 << " Port: " << proxy_port << LL_ENDL;
426}
427
398////////////////////////////////////////////////////////////////////////////////////////// 428//////////////////////////////////////////////////////////////////////////////////////////
399bool LLViewerMediaImpl::initializeMedia(const std::string& mime_type) 429bool LLViewerMediaImpl::initializeMedia(const std::string& mime_type)
400{ 430{
@@ -411,6 +441,11 @@ bool LLViewerMediaImpl::initializeMedia(const std::string& mime_type)
411 } 441 }
412 } 442 }
413 443
444 if(mMediaSource)
445 {
446 setProxy(mMediaSource);
447 }
448
414 // play(); 449 // play();
415 return (mMediaSource != NULL); 450 return (mMediaSource != NULL);
416} 451}
@@ -508,6 +543,8 @@ LLPluginClassMedia* LLViewerMediaImpl::newSourceFromMediaType(std::string media_
508 bool javascript_enabled = gSavedSettings.getBOOL( "BrowserJavascriptEnabled" ); 543 bool javascript_enabled = gSavedSettings.getBOOL( "BrowserJavascriptEnabled" );
509 media_source->setJavascriptEnabled( javascript_enabled ); 544 media_source->setJavascriptEnabled( javascript_enabled );
510 545
546 setProxy(media_source);
547
511 if (media_source->init(launcher_name, plugin_name, gSavedSettings.getBOOL("PluginAttachDebuggerToPlugins"))) 548 if (media_source->init(launcher_name, plugin_name, gSavedSettings.getBOOL("PluginAttachDebuggerToPlugins")))
512 { 549 {
513 return media_source; 550 return media_source;
@@ -741,6 +778,7 @@ void LLViewerMediaImpl::navigateHome()
741////////////////////////////////////////////////////////////////////////////////////////// 778//////////////////////////////////////////////////////////////////////////////////////////
742void LLViewerMediaImpl::navigateTo(const std::string& url, const std::string& mime_type, bool rediscover_type) 779void LLViewerMediaImpl::navigateTo(const std::string& url, const std::string& mime_type, bool rediscover_type)
743{ 780{
781
744 if(rediscover_type) 782 if(rediscover_type)
745 { 783 {
746 784
diff --git a/linden/indra/newview/llviewermedia.h b/linden/indra/newview/llviewermedia.h
index afda426..ee5fef4 100644
--- a/linden/indra/newview/llviewermedia.h
+++ b/linden/indra/newview/llviewermedia.h
@@ -79,6 +79,10 @@ class LLViewerMedia
79 static void removeMedia(LLViewerMediaImpl* media); 79 static void removeMedia(LLViewerMediaImpl* media);
80 static LLViewerMediaImpl* getMediaImplFromTextureID(const LLUUID& texture_id); 80 static LLViewerMediaImpl* getMediaImplFromTextureID(const LLUUID& texture_id);
81 static std::string getCurrentUserAgent(); 81 static std::string getCurrentUserAgent();
82
83 // Set the proxy config for all loaded plugins
84 static void setProxyConfig(bool enable, const std::string &host, int port);
85
82 static void updateBrowserUserAgent(); 86 static void updateBrowserUserAgent();
83 static bool handleSkinCurrentChanged(const LLSD& /*newvalue*/); 87 static bool handleSkinCurrentChanged(const LLSD& /*newvalue*/);
84 static bool textureHasMedia(const LLUUID& texture_id); 88 static bool textureHasMedia(const LLUUID& texture_id);
@@ -109,6 +113,7 @@ public:
109 void createMediaSource(); 113 void createMediaSource();
110 void destroyMediaSource(); 114 void destroyMediaSource();
111 void setMediaType(const std::string& media_type); 115 void setMediaType(const std::string& media_type);
116 static void setProxy(LLPluginClassMedia* media_source);
112 bool initializeMedia(const std::string& mime_type); 117 bool initializeMedia(const std::string& mime_type);
113 bool initializePlugin(const std::string& media_type); 118 bool initializePlugin(const std::string& media_type);
114 LLPluginClassMedia* getMediaPlugin() { return mMediaSource; } 119 LLPluginClassMedia* getMediaPlugin() { return mMediaSource; }
diff --git a/linden/indra/newview/llviewermediafocus.cpp b/linden/indra/newview/llviewermediafocus.cpp
index 2e372a1..c81cd76 100644
--- a/linden/indra/newview/llviewermediafocus.cpp
+++ b/linden/indra/newview/llviewermediafocus.cpp
@@ -48,6 +48,7 @@
48#include "llparcel.h" 48#include "llparcel.h"
49#include "llviewerparcelmgr.h" 49#include "llviewerparcelmgr.h"
50#include "llweb.h" 50#include "llweb.h"
51#include "llviewercontrol.h"//gSavedSettings
51// 52//
52// LLViewerMediaFocus 53// LLViewerMediaFocus
53// 54//
@@ -99,7 +100,7 @@ void LLViewerMediaFocus::setFocusFace( BOOL b, LLPointer<LLViewerObject> objectp
99 LLSelectMgr::getInstance()->selectObjectOnly(objectp, face); 100 LLSelectMgr::getInstance()->selectObjectOnly(objectp, face);
100 101
101 mFocus = LLSelectMgr::getInstance()->getSelection(); 102 mFocus = LLSelectMgr::getInstance()->getSelection();
102 if(mMediaHUD.get() && ! parcel->getMediaPreventCameraZoom()) 103 if(gSavedSettings.getBOOL("MediaOnAPrimUI") && mMediaHUD.get() && ! parcel->getMediaPreventCameraZoom())
103 { 104 {
104 mMediaHUD.get()->resetZoomLevel(); 105 mMediaHUD.get()->resetZoomLevel();
105 mMediaHUD.get()->nextZoomLevel(); 106 mMediaHUD.get()->nextZoomLevel();
@@ -224,14 +225,20 @@ void LLViewerMediaFocus::setMouseOverFlag(bool b, viewer_media_t media_impl)
224{ 225{
225 if (b && media_impl.notNull()) 226 if (b && media_impl.notNull())
226 { 227 {
227 if(! mMediaHUD.get()) 228
229 if(! mMediaHUD.get() && gSavedSettings.getBOOL("MediaOnAPrimUI"))
228 { 230 {
229 LLPanelMediaHUD* media_hud = new LLPanelMediaHUD(mMediaImpl); 231 LLPanelMediaHUD* media_hud = new LLPanelMediaHUD(mMediaImpl);
230 mMediaHUD = media_hud->getHandle(); 232 mMediaHUD = media_hud->getHandle();
231 gHUDView->addChild(media_hud); 233 gHUDView->addChild(media_hud);
232 } 234 }
233 mMediaHUD.get()->setMediaImpl(media_impl); 235
236 if(mMediaHUD.get())
237 {
238 mMediaHUD.get()->setMediaImpl(media_impl);
239 }
234 mMediaImpl = media_impl; 240 mMediaImpl = media_impl;
241
235 } 242 }
236 mMouseOverFlag = b; 243 mMouseOverFlag = b;
237} 244}
@@ -281,7 +288,10 @@ void LLViewerMediaFocus::update()
281{ 288{
282 if (mMediaHUD.get()) 289 if (mMediaHUD.get())
283 { 290 {
284 if(mFocus.notNull() || mMouseOverFlag || mMediaHUD.get()->isMouseOver()) 291 if(gSavedSettings.getBOOL("MediaOnAPrimUI")
292 &&(mFocus.notNull()
293 || mMouseOverFlag
294 || mMediaHUD.get()->isMouseOver() ) )
285 { 295 {
286 // mMediaHUD.get()->setVisible(true); 296 // mMediaHUD.get()->setVisible(true);
287 mMediaHUD.get()->updateShape(); 297 mMediaHUD.get()->updateShape();
diff --git a/linden/indra/newview/llxmlrpctransaction.cpp b/linden/indra/newview/llxmlrpctransaction.cpp
index 058946e..675ba42 100644
--- a/linden/indra/newview/llxmlrpctransaction.cpp
+++ b/linden/indra/newview/llxmlrpctransaction.cpp
@@ -226,10 +226,10 @@ void LLXMLRPCTransaction::Impl::init(XMLRPC_REQUEST request, bool useGzip)
226 mCurlRequest = new LLCurlEasyRequest(); 226 mCurlRequest = new LLCurlEasyRequest();
227 } 227 }
228 228
229 if (gSavedSettings.getBOOL("BrowserProxyEnabled")) 229 if (gSavedSettings.getBOOL("XMLRPCProxyEnabled"))
230 { 230 {
231 mProxyAddress = gSavedSettings.getString("BrowserProxyAddress"); 231 mProxyAddress = gSavedSettings.getString("XMLRPCProxyAddress");
232 S32 port = gSavedSettings.getS32 ( "BrowserProxyPort" ); 232 S32 port = gSavedSettings.getS32 ( "XMLRPCProxyPort" );
233 233
234 // tell curl about the settings 234 // tell curl about the settings
235 mCurlRequest->setoptString(CURLOPT_PROXY, mProxyAddress); 235 mCurlRequest->setoptString(CURLOPT_PROXY, mProxyAddress);
diff --git a/linden/indra/newview/skins/default/xui/en-us/panel_preferences_audio.xml b/linden/indra/newview/skins/default/xui/en-us/panel_preferences_audio.xml
index c6bb938..1f208e8 100644
--- a/linden/indra/newview/skins/default/xui/en-us/panel_preferences_audio.xml
+++ b/linden/indra/newview/skins/default/xui/en-us/panel_preferences_audio.xml
@@ -42,6 +42,11 @@
42 initial_value="true" label="Automatically play media" left="162" 42 initial_value="true" label="Automatically play media" left="162"
43 mouse_opaque="true" name="auto_streaming_video" radio_style="false" 43 mouse_opaque="true" name="auto_streaming_video" radio_style="false"
44 width="338" /> 44 width="338" />
45 <check_box bottom_delta="-20" control_name="MediaOnAPrimUI" enabled="true"
46 follows="left|top" font="SansSerifSmall" height="16"
47 initial_value="true" label="Media helper widget" left="162"
48 mouse_opaque="true" name="media_helper_widget" radio_style="false"
49 width="338" />
45 <check_box bottom_delta="-27" control_name="MuteWhenMinimized" enabled="true" 50 <check_box bottom_delta="-27" control_name="MuteWhenMinimized" enabled="true"
46 follows="left|top" font="SansSerifSmall" height="16" initial_value="true" 51 follows="left|top" font="SansSerifSmall" height="16" initial_value="true"
47 label="Mute audio when window minimized" left="142" mouse_opaque="true" 52 label="Mute audio when window minimized" left="142" mouse_opaque="true"
diff --git a/linden/indra/newview/skins/default/xui/en-us/panel_preferences_network.xml b/linden/indra/newview/skins/default/xui/en-us/panel_preferences_network.xml
index 1e4ded6..86aa353 100644
--- a/linden/indra/newview/skins/default/xui/en-us/panel_preferences_network.xml
+++ b/linden/indra/newview/skins/default/xui/en-us/panel_preferences_network.xml
@@ -64,4 +64,31 @@
64 increment="1" initial_val="13000" label="Port number:" label_width="75" 64 increment="1" initial_val="13000" label="Port number:" label_width="75"
65 left_delta="20" max_val="13050" min_val="13000" mouse_opaque="true" 65 left_delta="20" max_val="13050" min_val="13000" mouse_opaque="true"
66 name="connection_port" width="150" /> 66 name="connection_port" width="150" />
67 <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
68 bottom_delta="-24" drop_shadow_visible="true" enabled="true"
69 follows="left|top" font="SansSerifSmall" h_pad="0" halign="left"
70 height="10" left="15" mouse_opaque="false" name="proxy_label" v_pad="0"
71 width="250">
72 XMLRPC Proxy (Login, Land- and Money purchase):
73 </text>
74 <check_box bottom_delta="-25" enabled="true"
75 follows="left|top" font="SansSerifSmall" height="16" initial_value="false"
76 label="Enable XMLRPC proxy" left_delta="199" mouse_opaque="true"
77 name="xmlrpc_proxy_enabled" radio_style="false" width="256" />
78 <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
79 bottom_delta="-25" drop_shadow_visible="true" enabled="true"
80 follows="left|top" font="SansSerifSmall" h_pad="0" halign="left"
81 height="10" left="140" mouse_opaque="false" name="xmlrpc_proxy_text_label"
82 v_pad="0" width="128">
83 Address:
84 </text>
85 <line_editor bottom_delta="-8" enabled="true" follows="left|top" font="SansSerif"
86 height="20" left="217" name="xmlrpc_proxy_editor"
87 tool_tip="The name or IP address of the proxy you would like to use"
88 width="200" />
89 <spinner bottom_delta="-25" decimal_digits="0"
90 enabled="true" follows="left|top" height="16" increment="1"
91 initial_val="80" label="Port number:" label_width="75" left="140"
92 max_val="12000" min_val="10" mouse_opaque="true" name="xmlrpc_proxy_port"
93 width="140" />
67</panel> 94</panel>
diff --git a/linden/indra/newview/skins/default/xui/en-us/panel_preferences_web.xml b/linden/indra/newview/skins/default/xui/en-us/panel_preferences_web.xml
index 46283bb..727b142 100644
--- a/linden/indra/newview/skins/default/xui/en-us/panel_preferences_web.xml
+++ b/linden/indra/newview/skins/default/xui/en-us/panel_preferences_web.xml
@@ -34,6 +34,10 @@
34 font="SansSerifSmall" height="16" initial_value="false" 34 font="SansSerifSmall" height="16" initial_value="false"
35 label="Accept cookies from sites" left="140" mouse_opaque="true" 35 label="Accept cookies from sites" left="140" mouse_opaque="true"
36 name="cookies_enabled" radio_style="false" width="256" /> 36 name="cookies_enabled" radio_style="false" width="256" />
37 <button bottom_delta="-20" enabled="true" follows="left|top" font="SansSerif"
38 halign="center" height="18" label="Clear Cookies" left_delta="0"
39 tool_tip="Clear Cookies"
40 mouse_opaque="true" name="clear_ookies" scale_image="true" width="110" />
37 <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false" 41 <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
38 bottom_delta="-24" drop_shadow_visible="true" enabled="true" 42 bottom_delta="-24" drop_shadow_visible="true" enabled="true"
39 follows="left|top" font="SansSerifSmall" h_pad="0" halign="left" 43 follows="left|top" font="SansSerifSmall" h_pad="0" halign="left"