aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/debugger/debuggertooltipmanager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/debugger/debuggertooltipmanager.cpp')
-rw-r--r--src/plugins/debugger/debuggertooltipmanager.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/plugins/debugger/debuggertooltipmanager.cpp b/src/plugins/debugger/debuggertooltipmanager.cpp
index 49aa316571..3989104129 100644
--- a/src/plugins/debugger/debuggertooltipmanager.cpp
+++ b/src/plugins/debugger/debuggertooltipmanager.cpp
@@ -483,7 +483,11 @@ public:
if (parentWidget()) {
// We are currently within a text editor tooltip:
// Rip out of parent widget and re-show as a tooltip
- ToolTip::pinToolTip(this, ICore::mainWindow());
+ // Find parent with different window than the tooltip itself:
+ QWidget *top = parentWidget();
+ while (top->window() == window() && top->parentWidget())
+ top = top->parentWidget();
+ ToolTip::pinToolTip(this, top->window());
} else {
// We have just be restored from session data.
setWindowFlags(Qt::ToolTip);
@@ -586,7 +590,8 @@ DebuggerToolTipWidget::DebuggerToolTipWidget()
<< item->name << '\t' << item->value << '\t' << item->type << '\n';
});
QClipboard *clipboard = QApplication::clipboard();
- clipboard->setText(text, QClipboard::Selection);
+ if (clipboard->supportsSelection())
+ clipboard->setText(text, QClipboard::Selection);
clipboard->setText(text, QClipboard::Clipboard);
});