fix os import
[enigma2.git] / lib / gui / ewindowstyleskinned.cpp
index b0ccba8fb64a644402875459f642ce8d21a6ca0b..0b20c9255995a9749f60e65726bf9127cbcd9ba8 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,8 +246,15 @@ 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",
                bs,