You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
1.1 KiB
31 lines
1.1 KiB
Description: lxqtpanel: Fix wrongly positioned popups
|
|
Avoid the usage the QWidget::mapToGlobal(), which is unreliable sometimes.
|
|
Author: Palo Kisa <palo.kisa@gmail.com>
|
|
Origin: backport
|
|
Bug: https://github.com/lxde/lxqt/issues/1076
|
|
Bug-Ubuntu: https://pad.lv/1527013
|
|
Applied-Upstream: commit:7391172
|
|
Last-Update: 2018-02-05
|
|
--- a/panel/lxqtpanel.cpp
|
|
+++ b/panel/lxqtpanel.cpp
|
|
@@ -987,7 +987,8 @@ void LXQtPanel::setReserveSpace(bool res
|
|
************************************************/
|
|
QRect LXQtPanel::globalGometry() const
|
|
{
|
|
- return QRect(mapToGlobal(QPoint(0, 0)), this->size());
|
|
+ // panel is the the top-most widget/window, no calculation needed
|
|
+ return geometry();
|
|
}
|
|
|
|
|
|
@@ -1204,7 +1205,8 @@ QRect LXQtPanel::calculatePopupWindowPos
|
|
return QRect();
|
|
}
|
|
|
|
- return calculatePopupWindowPos(panel_plugin->mapToGlobal(QPoint(0, 0)), windowSize);
|
|
+ // Note: assuming there are not contentMargins around the "BackgroundWidget" (LXQtPanelWidget)
|
|
+ return calculatePopupWindowPos(globalGeometry().topLeft() + panel_plugin->geometry().topLeft(), windowSize);
|
|
}
|
|
|
|
|