From 03733ab120b5c50be66c7d03fc3926d7815a8cfb Mon Sep 17 00:00:00 2001 From: Timothy Pearson Date: Thu, 8 Nov 2012 13:39:51 -0600 Subject: Fix crashes in some styles when used with third party toolkits --- kstyles/asteroid/asteroid.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'kstyles/asteroid') diff --git a/kstyles/asteroid/asteroid.cpp b/kstyles/asteroid/asteroid.cpp index a5e8f88cd..a14574bb0 100644 --- a/kstyles/asteroid/asteroid.cpp +++ b/kstyles/asteroid/asteroid.cpp @@ -2113,7 +2113,12 @@ void AsteroidStyle::drawComplexControl(TQ_ComplexControl cc, } p2.end(); - bitBlt((TQWidget*)w, r.x(), r.y(), &pix); + if (w) { + bitBlt((TQWidget*)w, r.x(), r.y(), &pix); + } + else { + p->drawPixmap(r.topLeft(), pix); + } break; } @@ -2429,10 +2434,6 @@ TQRect AsteroidStyle::querySubControlMetrics(TQ_ComplexControl cc, SC_ListViewExpand */ case CC_ComboBox: { - if (!w) { - return TQRect(); - } - TQRect r(ceData.rect); switch (sc) { @@ -2552,12 +2553,11 @@ TQSize AsteroidStyle::sizeFromContents(ContentsType ct, } case CT_PopupMenuItem: { - if (!w || o.isDefault()) { + if (o.isDefault()) { return TQSize(0, 0); } int sw = s.width(), sh = s.height(); - const TQPopupMenu *popup = dynamic_cast(w); TQMenuItem *mi = o.menuItem(); if (mi->custom()) { @@ -2588,7 +2588,7 @@ TQSize AsteroidStyle::sizeFromContents(ContentsType ct, int miw = o.maxIconWidth(); if (miw) { sw += miw; - if (popup->isCheckable()) { + if (elementFlags & CEF_IsCheckable) { sw += 20 - miw; } } -- cgit v1.2.1