mirror of
https://github.com/vale981/tdesktop
synced 2025-03-06 02:01:40 -05:00
Fix tooltip hiding when window is hidden by Cmd+H.
For some reason deleteLater() called for the tooltip from the main window deactivation signal is really handled only on app quit :/ So now we use InvokeQueued(p, [p] { delete p; }); there instead. Fixes #3461
This commit is contained in:
parent
843d63c221
commit
58b4798b79
1 changed files with 4 additions and 3 deletions
|
@ -69,7 +69,7 @@ void Tooltip::performShow() {
|
||||||
|
|
||||||
void Tooltip::onWndActiveChanged() {
|
void Tooltip::onWndActiveChanged() {
|
||||||
if (!App::wnd() || !App::wnd()->windowHandle() || !App::wnd()->windowHandle()->isActive()) {
|
if (!App::wnd() || !App::wnd()->windowHandle() || !App::wnd()->windowHandle()->isActive()) {
|
||||||
Tooltip::Hide();
|
Hide();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -88,12 +88,13 @@ bool Tooltip::eventFilter(QObject *o, QEvent *e) {
|
||||||
|
|
||||||
Tooltip::~Tooltip() {
|
Tooltip::~Tooltip() {
|
||||||
if (TooltipInstance == this) {
|
if (TooltipInstance == this) {
|
||||||
TooltipInstance = 0;
|
TooltipInstance = nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Tooltip::popup(const QPoint &m, const QString &text, const style::Tooltip *st) {
|
void Tooltip::popup(const QPoint &m, const QString &text, const style::Tooltip *st) {
|
||||||
if (!_isEventFilter) {
|
if (!_isEventFilter) {
|
||||||
|
_isEventFilter = true;
|
||||||
QCoreApplication::instance()->installEventFilter(this);
|
QCoreApplication::instance()->installEventFilter(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -196,7 +197,7 @@ void Tooltip::Hide() {
|
||||||
instance->_showTimer.cancel();
|
instance->_showTimer.cancel();
|
||||||
instance->_hideByLeaveTimer.cancel();
|
instance->_hideByLeaveTimer.cancel();
|
||||||
instance->hide();
|
instance->hide();
|
||||||
instance->deleteLater();
|
InvokeQueued(instance, [instance] { instance->deleteLater(); });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue