diff options
| author | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2008-10-29 22:44:53 +0000 |
|---|---|---|
| committer | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2008-10-29 22:44:53 +0000 |
| commit | 0c59a4279f93f08fe95fca5f2e55f3e025f0cceb (patch) | |
| tree | 71e8c11f2a5487afe84d637d388d3cb060bc9ad5 /lib/gui | |
| parent | 4edb65fafb64b52007598e05a1e5b16b75ea752c (diff) | |
| download | enigma2-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.cpp | 10 | ||||
| -rw-r--r-- | lib/gui/esubtitle.h | 2 | ||||
| -rw-r--r-- | lib/gui/ewidgetdesktop.cpp | 5 | ||||
| -rw-r--r-- | lib/gui/ewidgetdesktop.h | 2 |
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; |
