From 432955347ca85f1505352bdd2f234aa27d4d5e9e Mon Sep 17 00:00:00 2001
From: Aurindam Jana <aurindam.jana@nokai.com>
Date: Mon, 17 Oct 2011 15:10:16 +0200
Subject: [PATCH] Debugger: Tooltip in Stack Window

Show only those fields in tooltip that have proper values.

Task-number: QTCREATORBUG-6336
Change-Id: I6fdc5fcae8c36e0115fb9268531f5bb16ce48fe0
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
Reviewed-by: hjk <qthjk@ovi.com>
---
 src/plugins/debugger/stackframe.cpp | 29 ++++++++++++++++++-----------
 1 file changed, 18 insertions(+), 11 deletions(-)

diff --git a/src/plugins/debugger/stackframe.cpp b/src/plugins/debugger/stackframe.cpp
index fd5043b9aab..3c348ada039 100644
--- a/src/plugins/debugger/stackframe.cpp
+++ b/src/plugins/debugger/stackframe.cpp
@@ -88,18 +88,25 @@ QString StackFrame::toToolTip() const
     const QString filePath = QDir::toNativeSeparators(file);
     QString res;
     QTextStream str(&res);
-    str << "<html><body><table>"
-        << "<tr><td>" << tr("Address:") << "</td><td>0x";
-    str.setIntegerBase(16);
-    str <<  address;
+    str << "<html><body><table>";
+    if (address) {
+        str << "<tr><td>" << tr("Address:") << "</td><td>0x";
+        str.setIntegerBase(16);
+        str <<  address;
+    }
     str.setIntegerBase(10);
-    str << "</td></tr>"
-        << "<tr><td>" << tr("Function:") << "</td><td>" << function << "</td></tr>"
-        << "<tr><td>" << tr("File:") << "</td><td>" << filePath << "</td></tr>"
-        << "<tr><td>" << tr("Line:") << "</td><td>" << line << "</td></tr>"
-        << "<tr><td>" << tr("From:") << "</td><td>" << from << "</td></tr>"
-        << "<tr><td>" << tr("To:") << "</td><td>" << to << "</td></tr>"
-        << "</table></body></html>";
+    str << "</td></tr>";
+    if (!function.isEmpty())
+        str << "<tr><td>" << tr("Function:") << "</td><td>" << function << "</td></tr>";
+    if (!file.isEmpty())
+        str << "<tr><td>" << tr("File:") << "</td><td>" << filePath << "</td></tr>";
+    if (line != -1)
+        str << "<tr><td>" << tr("Line:") << "</td><td>" << line << "</td></tr>";
+    if (!from.isEmpty())
+        str << "<tr><td>" << tr("From:") << "</td><td>" << from << "</td></tr>";
+    if (!to.isEmpty())
+        str << "<tr><td>" << tr("To:") << "</td><td>" << to << "</td></tr>";
+    str << "</table></body></html>";
     return res;
 }
 
-- 
GitLab