summaryrefslogtreecommitdiff
path: root/src/plugins
diff options
context:
space:
mode:
authorTarja Sundqvist <tarja.sundqvist@qt.io>2023-03-23 16:00:33 +0200
committerTarja Sundqvist <tarja.sundqvist@qt.io>2023-03-23 16:00:33 +0200
commit8f56244ea77a54da7593a7d65a4e5470d34e905e (patch)
treef91caaf061710c72b448a4728a65c7427fe82e0d /src/plugins
parentdfb0129c01d2aadc996cce6ef9abcfc49e33ae70 (diff)
parent5288fc2c68bc1097a0c4853364d1f297188e5d9d (diff)
downloadqtwayland-5.15.tar.gz
Merge remote-tracking branch 'origin/tqtc/lts-5.15.9' into tqtc/lts-5.15-opensourcev5.15.9-lts-lgpl5.15
Change-Id: Id7e59c8258165ebca9bcb552d5a4e9872d872232
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/decorations/bradient/main.cpp9
-rw-r--r--src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp4
2 files changed, 7 insertions, 6 deletions
diff --git a/src/plugins/decorations/bradient/main.cpp b/src/plugins/decorations/bradient/main.cpp
index e75fda3c..fa885143 100644
--- a/src/plugins/decorations/bradient/main.cpp
+++ b/src/plugins/decorations/bradient/main.cpp
@@ -164,13 +164,10 @@ void QWaylandBradientDecoration::paint(QPaintDevice *device)
// Window icon
QIcon icon = waylandWindow()->windowIcon();
if (!icon.isNull()) {
- QPixmap pixmap = icon.pixmap(QSize(128, 128));
- QPixmap scaled = pixmap.scaled(22, 22, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
-
QRectF iconRect(0, 0, 22, 22);
- p.drawPixmap(iconRect.adjusted(margins().left() + BUTTON_SPACING, 4,
- margins().left() + BUTTON_SPACING, 4),
- scaled, iconRect);
+ iconRect.adjust(margins().left() + BUTTON_SPACING, 4,
+ margins().left() + BUTTON_SPACING, 4),
+ icon.paint(&p, iconRect.toRect());
}
// Window title
diff --git a/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp b/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp
index f3e3c330..f50e1c0e 100644
--- a/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp
+++ b/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp
@@ -414,6 +414,10 @@ void QWaylandXdgSurface::setPopup(QWaylandWindow *parent)
positioner->set_anchor(QtWayland::xdg_positioner::anchor_top_left);
positioner->set_gravity(QtWayland::xdg_positioner::gravity_bottom_right);
positioner->set_size(m_window->geometry().width(), m_window->geometry().height());
+ positioner->set_constraint_adjustment(QtWayland::xdg_positioner::constraint_adjustment_slide_x
+ | QtWayland::xdg_positioner::constraint_adjustment_slide_y
+ | QtWayland::xdg_positioner::constraint_adjustment_flip_x
+ | QtWayland::xdg_positioner::constraint_adjustment_flip_y);
m_popup = new Popup(this, parentXdgSurface, positioner);
positioner->destroy();
delete positioner;