restart previous running services in onClose event
[enigma2.git] / lib / gui / ewindowstyleskinned.cpp
index b0ccba8fb64a644402875459f642ce8d21a6ca0b..6357dcbde7e6b7abd31ecb400efc99689aee63d4 100644 (file)
@@ -214,6 +214,11 @@ RESULT eWindowStyleSkinned::getFont(int what, ePtr<gFont> &fnt)
        return 0;
 }
 
+void eWindowStyleSkinned::setPixmap(int bs, int bp, ePtr<gPixmap> &ptr)
+{
+       setPixmap(bs, bp, *(ptr.operator->()));
+}
+
 void eWindowStyleSkinned::setPixmap(int bs, int bp, gPixmap &pixmap)
 {
        if ((bs >= bsMax) || (bs < 0))
@@ -241,13 +246,20 @@ void eWindowStyleSkinned::setPixmap(int bs, int bp, gPixmap &pixmap)
                        if (m_border[bs].m_border_bottom < m_border[bs].m_pixmap[i]->size().height())
                                m_border[bs].m_border_bottom = m_border[bs].m_pixmap[i]->size().height();
 
-       m_border[bs].m_border_left = m_border[bs].m_pixmap[3]->size().width();
-       m_border[bs].m_border_right = m_border[bs].m_pixmap[5]->size().width();
+       if (m_border[bs].m_pixmap[3])
+               m_border[bs].m_border_left = m_border[bs].m_pixmap[3]->size().width();
+       else
+               m_border[bs].m_border_left = 0;
+       
+       if (m_border[bs].m_pixmap[5])
+               m_border[bs].m_border_right = m_border[bs].m_pixmap[5]->size().width();
+       else
+               m_border[bs].m_border_right = 0;
 
-       eDebug("recalced border size for %d: %d:%d %d:%d",
+/*     eDebug("recalced border size for %d: %d:%d %d:%d",
                bs, 
                m_border[bs].m_border_left, m_border[bs].m_border_top, 
-               m_border[bs].m_border_right, m_border[bs].m_border_bottom); 
+               m_border[bs].m_border_right, m_border[bs].m_border_bottom);  */
 }
 
 void eWindowStyleSkinned::setColor(int what, const gRGB &col)