git.cweiske.de
/
enigma2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
use new/delete instead of malloc/free
[enigma2.git]
/
lib
/
gui
/
ewidgetdesktop.cpp
diff --git
a/lib/gui/ewidgetdesktop.cpp
b/lib/gui/ewidgetdesktop.cpp
index 223b5c8672b02c906399a94225fb157084ec1fb6..4d0c0a9b73437cd04ee798b1892d8fa5906f018a 100644
(file)
--- a/
lib/gui/ewidgetdesktop.cpp
+++ b/
lib/gui/ewidgetdesktop.cpp
@@
-18,7
+18,7
@@
void eWidgetDesktop::addRootWidget(eWidget *root)
for (;;)
{
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;
{
m_root.insert(insert_position, root);
break;
@@
-299,14
+299,17
@@
void eWidgetDesktop::makeCompatiblePixmap(gPixmap &pm)
return;
}
return;
}
- ePtr<gDC> pixmap_dc = new gDC(&pm);
- gPainter pixmap_painter(pixmap_dc);
-
ePtr<gPixmap> target_pixmap;
m_screen.m_dc->getPixmap(target_pixmap);
assert(target_pixmap);
ePtr<gPixmap> target_pixmap;
m_screen.m_dc->getPixmap(target_pixmap);
assert(target_pixmap);
+ if (target_pixmap->surface && target_pixmap->surface->bpp > 8)
+ return;
+
+ ePtr<gDC> pixmap_dc = new gDC(&pm);
+ gPainter pixmap_painter(pixmap_dc);
+
pixmap_painter.mergePalette(target_pixmap);
}
pixmap_painter.mergePalette(target_pixmap);
}
@@
-327,6
+330,7
@@
eWidgetDesktop::eWidgetDesktop(eSize size): m_mainloop(0), m_timer(0)
m_screen.m_dirty_region = gRegion(eRect(ePoint(0, 0), size));
m_screen.m_screen_size = size;
m_require_redraw = 0;
m_screen.m_dirty_region = gRegion(eRect(ePoint(0, 0), size));
m_screen.m_screen_size = size;
m_require_redraw = 0;
+ m_style_id = 0;
CONNECT(gRC::getInstance()->notify, eWidgetDesktop::notify);
setCompositionMode(cmImmediate);
CONNECT(gRC::getInstance()->notify, eWidgetDesktop::notify);
setCompositionMode(cmImmediate);