diff --git a/ui/widgets/popup_menu.cpp b/ui/widgets/popup_menu.cpp index b4510ca..978fc57 100644 --- a/ui/widgets/popup_menu.cpp +++ b/ui/widgets/popup_menu.cpp @@ -770,10 +770,11 @@ void PopupMenu::showMenu(const QPoint &p, PopupMenu *parent, TriggeredSource sou } _parent = parent; + createWinId(); if (_parent) { - setScreen(_parent->screen()); + windowHandle()->setScreen(_parent->screen()); } else if (screen) { - setScreen(screen); + windowHandle()->setScreen(screen); } using Origin = PanelAnimation::Origin; diff --git a/ui/widgets/tooltip.cpp b/ui/widgets/tooltip.cpp index e7621fa..eede3e1 100644 --- a/ui/widgets/tooltip.cpp +++ b/ui/widgets/tooltip.cpp @@ -117,7 +117,8 @@ void Tooltip::popup(const QPoint &m, const QString &text, const style::Tooltip * // adjust tooltip position if (screen) { - setScreen(screen); + createWinId(); + windowHandle()->setScreen(screen); const auto r = screen->availableGeometry(); if (r.x() + r.width() - _st->skip < p.x() + s.width() && p.x() + s.width() > m.x()) { p.setX(qMax(r.x() + r.width() - int32(_st->skip) - s.width(), m.x() - s.width()));