mirror of
https://github.com/Chatterino/chatterino2.git
synced 2024-11-21 22:24:07 +01:00
fix: parenting logic, fixing some windows & tooltips misbehaving (#5541)
This commit is contained in:
parent
e840328de7
commit
f3cae76abf
2 changed files with 20 additions and 0 deletions
|
@ -32,6 +32,7 @@
|
|||
- Bugfix: Fixed a crash when tab completing while having an invalid plugin loaded. (#5401)
|
||||
- Bugfix: Fixed windows on Windows not saving correctly when snapping them to the edges. (#5478)
|
||||
- Bugfix: Fixed user info card popups adding duplicate line to log files. (#5499)
|
||||
- Bugfix: Fixed tooltips and input completion popups not working after moving a split. (#5541)
|
||||
- Bugfix: Fixed `/clearmessages` not working with more than one window. (#5489)
|
||||
- Bugfix: Fixed splits staying paused after unfocusing Chatterino in certain configurations. (#5504)
|
||||
- Bugfix: Links with invalid characters in the domain are no longer detected. (#5509)
|
||||
|
|
|
@ -17,6 +17,7 @@
|
|||
#include <QFont>
|
||||
#include <QIcon>
|
||||
#include <QScreen>
|
||||
#include <QWindow>
|
||||
|
||||
#include <functional>
|
||||
|
||||
|
@ -503,6 +504,24 @@ bool BaseWindow::event(QEvent *event)
|
|||
this->onFocusLost();
|
||||
}
|
||||
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(6, 7, 0)
|
||||
if (this->flags_.has(DontFocus) || this->flags_.has(Dialog))
|
||||
{
|
||||
// This certain windows (e.g. TooltipWidget, input completion widget, and the search popup) retains their nullptr parent
|
||||
// NOTE that this currently does not retain their original transient parent (which is the window it was created under)
|
||||
// For now, we haven't noticed that this creates any issues, and I don't know of a good place to store the previous transient
|
||||
// parent to restore it.
|
||||
if (event->type() == QEvent::ParentWindowChange)
|
||||
{
|
||||
assert(this->windowHandle() != nullptr);
|
||||
if (this->windowHandle()->parent() != nullptr)
|
||||
{
|
||||
this->windowHandle()->setParent(nullptr);
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
return QWidget::event(event);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue