From e5f03039d8212c0aecec9f63e1cd9b705e59f06f Mon Sep 17 00:00:00 2001 From: l10n daemon script Date: Tue, 25 Jun 2019 08:31:40 +0200 Subject: [PATCH 1/3] SVN_SILENT made messages (.desktop file) - always resolve ours In case of conflict in i18n, keep the version of the branch "ours" To resolve a particular conflict, "git checkout --ours path/to/file.desktop" --- kcmkwin/kwindecoration/kwindecoration.desktop | 1 + kcmkwin/kwindecoration/package/metadata.desktop | 1 + 2 files changed, 2 insertions(+) diff --git a/kcmkwin/kwindecoration/kwindecoration.desktop b/kcmkwin/kwindecoration/kwindecoration.desktop index b21b6a9ee2..ba7fff99b9 100644 --- a/kcmkwin/kwindecoration/kwindecoration.desktop +++ b/kcmkwin/kwindecoration/kwindecoration.desktop @@ -79,6 +79,7 @@ Comment[da]=Indstil vinduets titellinjer og kanter Comment[en_GB]=Configure window titlebars and borders Comment[es]=Configurar barra de título y bordes de las ventanas Comment[eu]=Konfiguratu leihoen titulu-barrak eta ertzak +Comment[fi]=Ikkunan otsikkopalkkien ja reunojen asetukset Comment[fr]=Configure les barres de titre et les bordures de la fenêtre Comment[gl]=Configurar as barras de título e os bordos das xanelas Comment[id]=Konfigurasikan bingkai dan bilah-judul window diff --git a/kcmkwin/kwindecoration/package/metadata.desktop b/kcmkwin/kwindecoration/package/metadata.desktop index 36edb526d4..6e8d4b232b 100644 --- a/kcmkwin/kwindecoration/package/metadata.desktop +++ b/kcmkwin/kwindecoration/package/metadata.desktop @@ -81,6 +81,7 @@ Comment[da]=Indstil vinduets titellinjer og kanter Comment[en_GB]=Configure window titlebars and borders Comment[es]=Configurar barra de título y bordes de las ventanas Comment[eu]=Konfiguratu leihoen titulu-barrak eta ertzak +Comment[fi]=Ikkunan otsikkopalkkien ja reunojen asetukset Comment[fr]=Configure les barres de titre et les bordures de la fenêtre Comment[gl]=Configurar as barras de título e os bordos das xanelas Comment[id]=Konfigurasikan bingkai dan bilah-judul window From 137b3fbf26c3e5d1c0b82d631e52f2a65c4872ba Mon Sep 17 00:00:00 2001 From: Jonathan Riddell Date: Tue, 25 Jun 2019 12:15:02 +0100 Subject: [PATCH 2/3] Update version number for 5.16.2 GIT_SILENT --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index aa56a9d4da..106ddca12b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 3.1 FATAL_ERROR) project(KWIN) -set(PROJECT_VERSION "5.16.1") +set(PROJECT_VERSION "5.16.2") set(PROJECT_VERSION_MAJOR 5) set(QT_MIN_VERSION "5.12.0") From 61956025f0801170692c02d313ddc324e27e9c6c Mon Sep 17 00:00:00 2001 From: Vlad Zagorodniy Date: Sat, 29 Jun 2019 01:24:14 +0300 Subject: [PATCH 3/3] Decorate only toplevel internal clients Summary: Unfortunately Aurorae decoration engine creates several internal clients per each decoration. One of those clients represents QOffscreenSurface, which is not a toplevel. Given that no QWindow object will be found for such clients, m_internalWindowFlags contains undefined value. Luckily, QOffscreenSurface sets FramelessWindowHint flag, but because InternalClient is not able to find matching QWindow object, cached QWindow flags won't have that hint set. Thus InternalClient will attempt to decorate QOffscreenSurface. A new Aurorae decoration will be created, which means a new QOffscreenSurface will be created, which means a new Aurorae decoration will be created, and so on. This change restricts subset of internal clients that can be decorated. Only clients with valid m_internalWindow can be decorated. If m_internalWindow isn't null, then m_internalWindowFlags is guaranteed to be valid as well. BUG: 407612 FIXED-IN: 5.16.3 Reviewers: #kwin, davidedmundson Reviewed By: #kwin, davidedmundson Subscribers: kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D22136 --- internal_client.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/internal_client.cpp b/internal_client.cpp index f8232b7d0c..bec8b6e5dd 100644 --- a/internal_client.cpp +++ b/internal_client.cpp @@ -37,7 +37,19 @@ InternalClient::InternalClient(KWayland::Server::ShellSurfaceInterface *surface) { findInternalWindow(); updateInternalWindowGeometry(); - updateDecoration(true); + + // Qt asks our QPA to create a platform window for each QOffscreenSurface. + // Given that those windows aren't toplevels, findInternalWindow may not be + // able to find corresponding QWindow object for this client, which means + // no-border and pretty much every other property that depends on QWindow + // flags will have undefined value. Unfortunately the Aurorae decoration + // engine creates three internal clients per each decoration. One of those + // clients represents QOffscreenSurface. Thus we have to ensure that the + // QOffscreenSurface client is not decorated, otherwise kwin will fall + // into an infinite "recursion." + if (m_internalWindow) { + updateDecoration(true); + } } InternalClient::InternalClient(KWayland::Server::XdgShellSurfaceInterface *surface)