From: José Fonseca Date: Sat, 5 Nov 2011 08:50:25 +0000 (+0000) Subject: gui: Handle incomplete calls. X-Git-Tag: 2.0_alpha^2~517 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=1fa61832ade0e95fccc55d39790d1acf65464af5;p=tools%2Fapitrace.git gui: Handle incomplete calls. Should fix issue 48. --- diff --git a/gui/apitracecall.cpp b/gui/apitracecall.cpp index de5d020..5f2d976 100644 --- a/gui/apitracecall.cpp +++ b/gui/apitracecall.cpp @@ -101,6 +101,10 @@ plainTextToHTML(const QString & plain, bool multiLine) QString apiVariantToString(const QVariant &variant, bool multiLine) { + if (variant.isNull()) { + return QLatin1String("?"); + } + if (variant.userType() == QVariant::Double) { return QString::number(variant.toFloat()); } @@ -635,12 +639,16 @@ ApiTraceCall::ApiTraceCall(ApiTraceFrame *parentFrame, } m_argValues.reserve(call->args.size()); for (int i = 0; i < call->args.size(); ++i) { - VariantVisitor argVisitor(loader); - call->args[i]->visit(argVisitor); - m_argValues.append(argVisitor.variant()); - if (m_argValues[i].type() == QVariant::ByteArray) { - m_hasBinaryData = true; - m_binaryDataIndex = i; + if (call->args[i]) { + VariantVisitor argVisitor(loader); + call->args[i]->visit(argVisitor); + m_argValues.append(argVisitor.variant()); + if (m_argValues[i].type() == QVariant::ByteArray) { + m_hasBinaryData = true; + m_binaryDataIndex = i; + } + } else { + m_argValues.append(QVariant()); } } m_argValues.squeeze();