From 66eea40b53fb7bd8d6f22bf74404f989ec89f72d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Sun, 2 Mar 2008 16:18:08 +0000 Subject: [PATCH] * Applied patch by Maurice to make Cortex behave nicer in case GetDormantFlavorInfoFor() fails. See bug #1763. * Minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24205 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/apps/cortex/support/MediaIcon.cpp | 28 +++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/src/apps/cortex/support/MediaIcon.cpp b/src/apps/cortex/support/MediaIcon.cpp index 6e6edb5416..1292148029 100644 --- a/src/apps/cortex/support/MediaIcon.cpp +++ b/src/apps/cortex/support/MediaIcon.cpp @@ -158,27 +158,35 @@ void MediaIcon::_findIconFor( } } -void MediaIcon::_findIconFor( - const dormant_node_info &nodeInfo) { + +void +MediaIcon::_findIconFor(const dormant_node_info &nodeInfo) +{ D_INTERNAL(("MediaIcon::_findIconFor(dormant_node_info)\n")); dormant_flavor_info flavorInfo; BMediaRoster *roster = BMediaRoster::CurrentRoster(); status_t error = roster->GetDormantFlavorInfoFor(nodeInfo, &flavorInfo); - if (!error) { + if (error == B_OK) { m_nodeKind = flavorInfo.kinds; - bool audioIn = false, audioOut = false, videoIn = false, videoOut = false; + bool audioIn = false, audioOut = false; + bool videoIn = false, videoOut = false; _getMediaTypesFor(flavorInfo, &audioIn, &audioOut, &videoIn, &videoOut); _findDefaultIconFor(audioIn, audioOut, videoIn, videoOut); + } else { + // use generic icon in case we couldn't get any info + if (m_size == B_LARGE_ICON) + SetBits(M_GENERIC_ICON.large, 1024, 0, B_CMAP8); + else if (m_size == B_MINI_ICON) + SetBits(M_GENERIC_ICON.small, 256, 0, B_CMAP8); } } -void MediaIcon::_getMediaTypesFor( - const live_node_info &nodeInfo, - bool *audioIn, - bool *audioOut, - bool *videoIn, - bool *videoOut) { + +void +MediaIcon::_getMediaTypesFor(const live_node_info &nodeInfo, bool *audioIn, + bool *audioOut, bool *videoIn, bool *videoOut) +{ D_INTERNAL(("MediaIcon::_getMediaTypeFor(live_node_info)\n")); // get the media_types supported by this node