summaryrefslogtreecommitdiff
path: root/dxr3.c
diff options
context:
space:
mode:
authorChristian Gmeiner <christian.gmeiner@gmail.com>2009-01-07 14:59:04 +0100
committerChristian Gmeiner <christian.gmeiner@gmail.com>2009-01-07 14:59:04 +0100
commitb97736a0a89ecbc3aa2ece133cc0a4839bd1e043 (patch)
treee4e5ae12f626bbabf8f469491d4a07b76418616e /dxr3.c
parentb17bb75da5810312f1c29d93d92931a4a0fc87f5 (diff)
downloadvdr-plugin-dxr3-b97736a0a89ecbc3aa2ece133cc0a4839bd1e043.tar.gz
vdr-plugin-dxr3-b97736a0a89ecbc3aa2ece133cc0a4839bd1e043.tar.bz2
better singleton template
With the old singleton pattern it could happen that two instances are created. See... static T& Instance() { static T m_Instance; return m_Instance; } static T* InstanceP() { static T* m_InstanceP = new T; return m_InstanceP; }
Diffstat (limited to 'dxr3.c')
-rw-r--r--dxr3.c14
1 files changed, 5 insertions, 9 deletions
diff --git a/dxr3.c b/dxr3.c
index 264aa72..bfa715b 100644
--- a/dxr3.c
+++ b/dxr3.c
@@ -33,8 +33,7 @@ eOSState cDxr3OsdItem::ProcessKey(eKeys Key)
{
case DXR3_RESET_HARDWARE:
cDxr3Interface::Instance().ResetHardware();
- if (cDxr3Device::InstanceP())
- cDxr3Device::InstanceP()->Reset();
+ cDxr3Device::Instance().Reset();
break;
case DXR3_FORCE_LETTER_BOX:
@@ -44,14 +43,12 @@ eOSState cDxr3OsdItem::ProcessKey(eKeys Key)
case DXR3_ANALOG_OUT:
cDxr3ConfigData::Instance().SetUseDigitalOut(0);
- if (cDxr3Device::InstanceP())
- cDxr3Device::InstanceP()->Reset();
+ cDxr3Device::Instance().Reset();
break;
case DXR3_DIGITAL_OUT:
cDxr3ConfigData::Instance().SetUseDigitalOut(1);
- if (cDxr3Device::InstanceP())
- cDxr3Device::InstanceP()->Reset();
+ cDxr3Device::Instance().Reset();
break;
}
}
@@ -123,8 +120,7 @@ void cMenuSetupDxr3::Store(void)
cDxr3Interface::Instance().SetBrightness(newBrightness);
cDxr3Interface::Instance().SetContrast(newContrast);
cDxr3Interface::Instance().SetSaturation(newSaturation);
- if (cDxr3Device::InstanceP())
- cDxr3Device::InstanceP()->Reset();
+ cDxr3Device::Instance().Reset();
}
// ==================================
@@ -175,7 +171,7 @@ cPluginDxr3::~cPluginDxr3()
// ==================================
bool cPluginDxr3::Initialize()
{
- cDxr3Device::InstanceP();
+ cDxr3Device::Instance();
return true;
}