diff options
Diffstat (limited to 'src/plugins/debugger/debuggertooltipmanager.cpp')
-rw-r--r-- | src/plugins/debugger/debuggertooltipmanager.cpp | 9 |
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); }); |