Index: libs/libmyth/mythcontext.cpp
===================================================================
--- libs/libmyth/mythcontext.cpp	(revision 15649)
+++ libs/libmyth/mythcontext.cpp	(working copy)
@@ -58,7 +58,10 @@
 const QString kPluginLibSuffix = ".so";
 #endif
 
-MythContext *gContext = NULL;
+MythContext *privContext = NULL;
+MythContext *GetMythContext() { return privContext; }
+void CreateMythContext(const QString &binversion) { privContext = new MythContext(binversion); }
+
 QMutex MythContext::verbose_mutex(true);
 QString MythContext::x11_display = QString::null;
 
Index: libs/libmyth/mythcontext.h
===================================================================
--- libs/libmyth/mythcontext.h	(revision 15649)
+++ libs/libmyth/mythcontext.h	(working copy)
@@ -352,7 +352,10 @@
 };
 
 /// This global variable contains the MythContext instance for the application
-extern MPUBLIC MythContext *gContext;
+extern MythContext *privContext;
+#define gContext GetMythContext()
+MythContext *GetMythContext();
+void CreateMythContext(const QString &binversion);
 
 /// This global variable is used to makes certain calls to avlib threadsafe.
 extern MPUBLIC QMutex avcodeclock;
Index: programs/mythuitest/main.cpp
===================================================================
--- programs/mythuitest/main.cpp	(revision 15649)
+++ programs/mythuitest/main.cpp	(working copy)
@@ -21,8 +21,7 @@
 {
     QApplication a(argc, argv);
 
-    gContext = NULL;
-    gContext = new MythContext(MYTH_BINARY_VERSION);
+    CreateMythContext(MYTH_BINARY_VERSION);
     gContext->Init();
 
     QString themename = gContext->GetSetting("Theme");
Index: programs/mythjobqueue/main.cpp
===================================================================
--- programs/mythjobqueue/main.cpp	(revision 15649)
+++ programs/mythjobqueue/main.cpp	(working copy)
@@ -103,8 +103,7 @@
         ++argpos;
     }
 
-    gContext = NULL;
-    gContext = new MythContext(MYTH_BINARY_VERSION);
+    CreateMythContext(MYTH_BINARY_VERSION);
     if (!gContext->Init(false))
     {
         VERBOSE(VB_IMPORTANT, "Failed to init MythContext, exiting.");
Index: programs/mythfrontend/main.cpp
===================================================================
--- programs/mythfrontend/main.cpp	(revision 15649)
+++ programs/mythfrontend/main.cpp	(working copy)
@@ -1067,7 +1075,7 @@
         MythContext::SetX11Display(display);
     }
 
-    gContext = new MythContext(MYTH_BINARY_VERSION);
+    CreateMythContext(MYTH_BINARY_VERSION);
     g_pUPnp  = new MediaRenderer();
 
     if (!gContext->Init(true, g_pUPnp, bPromptForBackend, bBypassAutoDiscovery))
Index: programs/mythcommflag/main.cpp
===================================================================
--- programs/mythcommflag/main.cpp	(revision 15649)
+++ programs/mythcommflag/main.cpp	(working copy)
@@ -922,8 +922,7 @@
         ++argpos;
     }
 
-    gContext = NULL;
-    gContext = new MythContext(MYTH_BINARY_VERSION);
+    CreateMythContext(MYTH_BINARY_VERSION);
     if (!gContext->Init(false))
     {
         VERBOSE(VB_IMPORTANT, "Failed to init MythContext, exiting.");
Index: programs/mythtv-setup/main.cpp
===================================================================
--- programs/mythtv-setup/main.cpp	(revision 15649)
+++ programs/mythtv-setup/main.cpp	(working copy)
@@ -240,8 +240,7 @@
         MythContext::SetX11Display(display);
     }
 
-    gContext = NULL;
-    gContext = new MythContext(MYTH_BINARY_VERSION);
+    CreateMythContext(MYTH_BINARY_VERSION);
 
     if (!gContext->Init(true))
     {
Index: programs/mythbackend/main.cpp
===================================================================
--- programs/mythbackend/main.cpp	(revision 15649)
+++ programs/mythbackend/main.cpp	(working copy)
@@ -746,8 +746,7 @@
         pidfs.close();
     }
 
-    gContext = NULL;
-    gContext = new MythContext(MYTH_BINARY_VERSION);
+    CreateMythContext(MYTH_BINARY_VERSION);
     if (!gContext->Init(false))
     {
         VERBOSE(VB_IMPORTANT, "Failed to init MythContext, exiting.");
Index: programs/mythtv/main.cpp
===================================================================
--- programs/mythtv/main.cpp	(revision 15649)
+++ programs/mythtv/main.cpp	(working copy)
@@ -200,8 +200,7 @@
         gContext->SetX11Display(display);
     }
 
-    gContext = NULL;
-    gContext = new MythContext(MYTH_BINARY_VERSION);
+    CreateMythContext(MYTH_BINARY_VERSION);
     if (!gContext->Init())
     {
         VERBOSE(VB_IMPORTANT, "Failed to init MythContext, exiting.");
Index: programs/mythlcdserver/main.cpp
===================================================================
--- programs/mythlcdserver/main.cpp	(revision 15649)
+++ programs/mythlcdserver/main.cpp	(working copy)
@@ -229,8 +229,7 @@
     }
 
     //  Get the Myth context and db hooks
-    gContext = NULL;
-    gContext = new MythContext(MYTH_BINARY_VERSION);
+    CreateMythContext(MYTH_BINARY_VERSION);
     if (!gContext->Init(false))
     {
         VERBOSE(VB_IMPORTANT, "lcdserver: Could not initialize myth context. "
Index: programs/mythwelcome/main.cpp
===================================================================
--- programs/mythwelcome/main.cpp	(revision 15649)
+++ programs/mythwelcome/main.cpp	(working copy)
@@ -38,8 +38,7 @@
 
     QApplication a(argc, argv);
 
-    gContext = NULL;
-    gContext = new MythContext(MYTH_BINARY_VERSION);
+    CreateMythContext(MYTH_BINARY_VERSION);
     if (!gContext->Init(false)) 
     {
         VERBOSE(VB_IMPORTANT, "mythwelcome: Could not initialize myth context. "
Index: programs/mythshutdown/main.cpp
===================================================================
--- programs/mythshutdown/main.cpp	(revision 15649)
+++ programs/mythshutdown/main.cpp	(working copy)
@@ -712,8 +712,7 @@
 
     QApplication a(argc, argv, false);
 
-    gContext = NULL;
-    gContext = new MythContext(MYTH_BINARY_VERSION);
+    CreateMythContext(MYTH_BINARY_VERSION);
     if (!gContext->Init(false))
     {
         cout << "mythshutdown: Could not initialize myth context. "
Index: programs/mythfilldatabase/main.cpp
===================================================================
--- programs/mythfilldatabase/main.cpp	(revision 15649)
+++ programs/mythfilldatabase/main.cpp	(working copy)
@@ -491,8 +491,7 @@
         ++argpos;
     }
 
-    gContext = NULL;
-    gContext = new MythContext(MYTH_BINARY_VERSION);
+    CreateMythContext(MYTH_BINARY_VERSION);
     if (!gContext->Init(false))
     {
         VERBOSE(VB_IMPORTANT, "Failed to init MythContext, exiting.");
