From ee6a40beb102819fcd2e95106fe7892d2d25193f Mon Sep 17 00:00:00 2001
From: Aleric Inglewood <Aleric.Inglewood@gmail.com>
Date: Fri, 21 Jan 2011 16:02:38 -0500
Subject: [PATCH] VWR-24519: make debugging easier by not spawning spare
 process

---
 doc/contributions.txt           |  1 +
 indra/newview/llviewermedia.cpp | 10 +++++++---
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/doc/contributions.txt b/doc/contributions.txt
index b601f938060..66533d8da91 100644
--- a/doc/contributions.txt
+++ b/doc/contributions.txt
@@ -84,6 +84,7 @@ Aleric Inglewood
 	VWR-24317
 	VWR-24320
  	VWR-24354
+	VWR-24519
 	SNOW-84
 	SNOW-477
 	SNOW-744
diff --git a/indra/newview/llviewermedia.cpp b/indra/newview/llviewermedia.cpp
index d3b6dcd86f2..ed18d67b620 100644
--- a/indra/newview/llviewermedia.cpp
+++ b/indra/newview/llviewermedia.cpp
@@ -1436,9 +1436,12 @@ void LLViewerMedia::proxyWindowClosed(const std::string &uuid)
 // static
 void LLViewerMedia::createSpareBrowserMediaSource()
 {
-	if(!sSpareBrowserMediaSource)
+	// If we don't have a spare browser media source, create one.
+	// However, if PluginAttachDebuggerToPlugins is set then don't spawn a spare
+	// SLPlugin process in order to not be confused by an unrelated gdb terminal
+	// popping up at the moment we start a media plugin.
+	if (!sSpareBrowserMediaSource && !gSavedSettings.getBOOL("PluginAttachDebuggerToPlugins"))
 	{
-		// If we don't have a spare browser media source, create one.
 		// The null owner will keep the browser plugin from fully initializing 
 		// (specifically, it keeps LLPluginClassMedia from negotiating a size change, 
 		// which keeps MediaPluginWebkit::initBrowserWindow from doing anything until we have some necessary data, like the background color)
@@ -1694,7 +1697,8 @@ LLPluginClassMedia* LLViewerMediaImpl::newSourceFromMediaType(std::string media_
 	LLPluginClassMedia* media_source = NULL;
 	
 	// HACK: we always try to keep a spare running webkit plugin around to improve launch times.
-	if(plugin_basename == "media_plugin_webkit")
+	// If a spare was already created before PluginAttachDebuggerToPlugins was set, don't use it.
+	if(plugin_basename == "media_plugin_webkit" && !gSavedSettings.getBOOL("PluginAttachDebuggerToPlugins"))
 	{
 		media_source = LLViewerMedia::getSpareBrowserMediaSource();
 		if(media_source)
-- 
GitLab