aboutsummaryrefslogtreecommitdiff
path: root/lib/gui
diff options
context:
space:
mode:
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>2008-10-29 22:44:53 +0000
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>2008-10-29 22:44:53 +0000
commit0c59a4279f93f08fe95fca5f2e55f3e025f0cceb (patch)
tree71e8c11f2a5487afe84d637d388d3cb060bc9ad5 /lib/gui
parent4edb65fafb64b52007598e05a1e5b16b75ea752c (diff)
downloadenigma2-0c59a4279f93f08fe95fca5f2e55f3e025f0cceb.tar.gz
enigma2-0c59a4279f93f08fe95fca5f2e55f3e025f0cceb.zip
also use refcounting for eTimers
its now no more possible directly to call new eTimer .. or to embedded eTimer. to create a eTimer now eTimer::create must be used... to delete you must call ->AddRef() after timer creation and ->Release when the timer is no more needed. Or use ePtr<eTimer> to store the timer reference.. then its enough to set the ePtr<eTimer> object to 0 when the timer is no more needed
Diffstat (limited to 'lib/gui')
-rw-r--r--lib/gui/esubtitle.cpp10
-rw-r--r--lib/gui/esubtitle.h2
-rw-r--r--lib/gui/ewidgetdesktop.cpp5
-rw-r--r--lib/gui/ewidgetdesktop.h2
4 files changed, 9 insertions, 10 deletions
diff --git a/lib/gui/esubtitle.cpp b/lib/gui/esubtitle.cpp
index f859c170..c837afc6 100644
--- a/lib/gui/esubtitle.cpp
+++ b/lib/gui/esubtitle.cpp
@@ -11,12 +11,12 @@
*/
eSubtitleWidget::eSubtitleWidget(eWidget *parent)
- : eWidget(parent), m_hide_subtitles_timer(eApp)
+ : eWidget(parent), m_hide_subtitles_timer(eTimer::create(eApp))
{
setBackgroundColor(gRGB(0,0,0,255));
m_page_ok = 0;
m_dvb_page_ok = 0;
- CONNECT(m_hide_subtitles_timer.timeout, eSubtitleWidget::clearPage);
+ CONNECT(m_hide_subtitles_timer->timeout, eSubtitleWidget::clearPage);
}
#define startX 50
@@ -46,7 +46,7 @@ void eSubtitleWidget::setPage(const eDVBTeletextSubtitlePage &p)
m_visible_region.rects.push_back(area);
}
}
- m_hide_subtitles_timer.start(7500, true);
+ m_hide_subtitles_timer->start(7500, true);
invalidate(m_visible_region); // invalidate new regions
}
@@ -62,7 +62,7 @@ void eSubtitleWidget::setPage(const eDVBSubtitlePage &p)
m_visible_region.rects.push_back(eRect(it->m_position, it->m_pixmap->size()));
}
m_dvb_page_ok = 1;
- m_hide_subtitles_timer.start(7500, true);
+ m_hide_subtitles_timer->start(7500, true);
invalidate(m_visible_region); // invalidate new regions
}
@@ -93,7 +93,7 @@ void eSubtitleWidget::setPage(const ePangoSubtitlePage &p)
}
}
int timeout_ms = m_pango_page.m_timeout;
- m_hide_subtitles_timer.start(timeout_ms, true);
+ m_hide_subtitles_timer->start(timeout_ms, true);
invalidate(m_visible_region); // invalidate new regions
}
diff --git a/lib/gui/esubtitle.h b/lib/gui/esubtitle.h
index 81f920ec..1635e6de 100644
--- a/lib/gui/esubtitle.h
+++ b/lib/gui/esubtitle.h
@@ -53,7 +53,7 @@ private:
int m_pango_page_ok;
ePangoSubtitlePage m_pango_page;
- eTimer m_hide_subtitles_timer;
+ ePtr<eTimer> m_hide_subtitles_timer;
gRegion m_visible_region;
diff --git a/lib/gui/ewidgetdesktop.cpp b/lib/gui/ewidgetdesktop.cpp
index 9f40a3db..63aeaace 100644
--- a/lib/gui/ewidgetdesktop.cpp
+++ b/lib/gui/ewidgetdesktop.cpp
@@ -343,12 +343,11 @@ void eWidgetDesktop::setRedrawTask(eMainloop &ml)
{
if (m_mainloop)
{
- delete m_timer;
m_timer = 0;
m_mainloop = 0;
}
m_mainloop = &ml;
- m_timer = new eTimer(m_mainloop);
+ m_timer = eTimer::create(m_mainloop);
CONNECT(m_timer->timeout, eWidgetDesktop::paint);
if (m_require_redraw)
@@ -399,7 +398,7 @@ void eWidgetDesktop::setCompositionMode(int mode)
removeBufferForWidget(*i, l);
}
-eWidgetDesktop::eWidgetDesktop(eSize size): m_mainloop(0), m_timer(0)
+eWidgetDesktop::eWidgetDesktop(eSize size): m_mainloop(0)
{
m_screen.m_dirty_region = gRegion(eRect(ePoint(0, 0), size));
m_screen.m_screen_size = size;
diff --git a/lib/gui/ewidgetdesktop.h b/lib/gui/ewidgetdesktop.h
index 91b7ea08..4ea5b57a 100644
--- a/lib/gui/ewidgetdesktop.h
+++ b/lib/gui/ewidgetdesktop.h
@@ -79,7 +79,7 @@ private:
void paintBackground(eWidgetDesktopCompBuffer *comp);
eMainloop *m_mainloop;
- eTimer *m_timer;
+ ePtr<eTimer> m_timer;
int m_comp_mode;
int m_require_redraw;