X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/78c828aae07db0b15a66577d9230cb848fe536fa..5af6333a08bcaa0460e12660a792e5425dbb4634:/lib/gui/ewidgetdesktop.cpp diff --git a/lib/gui/ewidgetdesktop.cpp b/lib/gui/ewidgetdesktop.cpp index 24fb334b..3a60a26a 100644 --- a/lib/gui/ewidgetdesktop.cpp +++ b/lib/gui/ewidgetdesktop.cpp @@ -123,15 +123,21 @@ void eWidgetDesktop::makeCompatiblePixmap(gPixmap &pm) eWarning("eWidgetDesktop: no DC to make pixmap compatible with!"); return; } - eDebug("painter.."); - gPainter painter(m_dc); - eDebug("merge!"); - painter.mergePalette(&pm); - eDebug("gone!"); + + ePtr pixmap_dc = new gDC(&pm); + gPainter pixmap_painter(pixmap_dc); + + ePtr target_pixmap; + m_dc->getPixmap(target_pixmap); + + assert(target_pixmap); + + pixmap_painter.mergePalette(target_pixmap); } eWidgetDesktop::eWidgetDesktop(eSize size): m_screen_size(size), m_mainloop(0), m_timer(0) { + m_dirty_region = gRegion(eRect(ePoint(0, 0), m_screen_size)); } eWidgetDesktop::~eWidgetDesktop()