X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/db6ca522bdfbde29c214b41435a10876ff72a0a4..e9f1c31e51f2c2cb55bb01788242153eee3e7734:/lib/gui/ewidgetdesktop.cpp diff --git a/lib/gui/ewidgetdesktop.cpp b/lib/gui/ewidgetdesktop.cpp index 223b5c86..eaaa81c8 100644 --- a/lib/gui/ewidgetdesktop.cpp +++ b/lib/gui/ewidgetdesktop.cpp @@ -18,7 +18,7 @@ void eWidgetDesktop::addRootWidget(eWidget *root) for (;;) { - if ((insert_position == m_root.end()) || (invert_sense ^ (insert_position->m_z_position > root->m_z_position))) + if ((insert_position == m_root.end()) || (invert_sense ^ (insert_position->m_z_position < root->m_z_position))) { m_root.insert(insert_position, root); break; @@ -299,14 +299,17 @@ void eWidgetDesktop::makeCompatiblePixmap(gPixmap &pm) return; } - ePtr pixmap_dc = new gDC(&pm); - gPainter pixmap_painter(pixmap_dc); - ePtr target_pixmap; m_screen.m_dc->getPixmap(target_pixmap); assert(target_pixmap); + if (target_pixmap->surface && target_pixmap->surface->bpp > 8) + return; + + ePtr pixmap_dc = new gDC(&pm); + gPainter pixmap_painter(pixmap_dc); + pixmap_painter.mergePalette(target_pixmap); }