Blame 0003-build-fix.patch

f8b23ec
From 89b7cde3a6585abba6cf1f3efb8f12fae8bd16f2 Mon Sep 17 00:00:00 2001
f8b23ec
From: Robin Lee <cheeselee@fedoraproject.org>
f8b23ec
Date: Thu, 12 Nov 2020 19:12:30 +0800
f8b23ec
Subject: [PATCH 3/6] build fix
f8b23ec
f8b23ec
---
f8b23ec
 plugins/kwineffects/blur/blur.cpp                 | 15 +++++++++------
f8b23ec
 plugins/kwineffects/blur/blur.h                   |  2 +-
f8b23ec
 plugins/kwineffects/multitasking/data.qrc         |  4 ----
f8b23ec
 plugins/kwineffects/multitasking/multitasking.cpp |  2 +-
f8b23ec
 plugins/kwineffects/multitasking/multitasking.h   |  2 +-
f8b23ec
 .../multitasking/translations/multitasking.ts     | 11 -----------
f8b23ec
 .../translations/multitasking_zh_CN.ts            | 11 -----------
f8b23ec
 .../kwineffects/scissor-window/scissorwindow.cpp  |  7 ++++---
f8b23ec
 .../kwineffects/scissor-window/scissorwindow.h    |  2 +-
f8b23ec
 9 files changed, 17 insertions(+), 39 deletions(-)
f8b23ec
 delete mode 100644 plugins/kwineffects/multitasking/translations/multitasking.ts
f8b23ec
 delete mode 100644 plugins/kwineffects/multitasking/translations/multitasking_zh_CN.ts
f8b23ec
f8b23ec
diff --git a/plugins/kwineffects/blur/blur.cpp b/plugins/kwineffects/blur/blur.cpp
f8b23ec
index 9339a1fab..45b994c14 100644
f8b23ec
--- a/plugins/kwineffects/blur/blur.cpp
f8b23ec
+++ b/plugins/kwineffects/blur/blur.cpp
f8b23ec
@@ -429,8 +429,8 @@ QRegion BlurEffect::expand(const QRegion &region) const
f8b23ec
 {
f8b23ec
     QRegion expanded;
f8b23ec
 
f8b23ec
-    for (const QRect &rect : region.rects()) {
f8b23ec
-        expanded += expand(rect);
f8b23ec
+    for (auto it = region.begin(); it != region.end(); ++it) {
f8b23ec
+        expanded += expand(*it);
f8b23ec
     }
f8b23ec
 
f8b23ec
     return expanded;
f8b23ec
@@ -470,7 +470,8 @@ void BlurEffect::uploadRegion(QVector2D *&map, const QRegion &region, const int
f8b23ec
     for (int i = 0; i <= downSampleIterations; i++) {
f8b23ec
         const int divisionRatio = (1 << i);
f8b23ec
 
f8b23ec
-        for (const QRect &r : region.rects()) {
f8b23ec
+        for (auto it = region.begin(); it != region.end(); ++it) {
f8b23ec
+            const QRect& r = *it;
f8b23ec
             const QVector2D topLeft(     r.x() / divisionRatio,               r.y() / divisionRatio);
f8b23ec
             const QVector2D topRight(   (r.x() + r.width()) / divisionRatio,  r.y() / divisionRatio);
f8b23ec
             const QVector2D bottomLeft(  r.x() / divisionRatio,              (r.y() + r.height()) / divisionRatio);
f8b23ec
@@ -536,7 +537,8 @@ void BlurEffect::prePaintWindow(EffectWindow* w, WindowPrePaintData& data, int t
f8b23ec
     // to blur an area partially we have to shrink the opaque area of a window
f8b23ec
     QRegion newClip;
f8b23ec
     const QRegion oldClip = data.clip;
f8b23ec
-    for (const QRect &rect : data.clip.rects()) {
f8b23ec
+    for (auto it = data.clip.begin(); it != data.clip.end(); ++it) {
f8b23ec
+        const QRect &rect = *it;
f8b23ec
         newClip |= rect.adjusted(m_expandSize, m_expandSize, -m_expandSize, -m_expandSize);
f8b23ec
     }
f8b23ec
     data.clip = newClip;
f8b23ec
@@ -623,7 +625,8 @@ void BlurEffect::paintWindow(EffectWindow *w, int mask, QRegion region, WindowPa
f8b23ec
         if (scaled) {
f8b23ec
             QPoint pt = shape.boundingRect().topLeft();
f8b23ec
             QRegion scaledShape;
f8b23ec
-            for (QRect r : shape.rects()) {
f8b23ec
+            for (auto it = shape.cbegin(); it != shape.cend(); ++it) {
f8b23ec
+                QRect r = *it;
f8b23ec
                 r.moveTo(pt.x() + (r.x() - pt.x()) * data.xScale() + data.xTranslation(),
f8b23ec
                             pt.y() + (r.y() - pt.y()) * data.yScale() + data.yTranslation());
f8b23ec
                 r.setWidth(r.width() * data.xScale());
f8b23ec
@@ -647,7 +650,7 @@ void BlurEffect::paintWindow(EffectWindow *w, int mask, QRegion region, WindowPa
f8b23ec
     effects->drawWindow(w, mask, region, data);
f8b23ec
 }
f8b23ec
 
f8b23ec
-void BlurEffect::paintEffectFrame(EffectFrame *frame, QRegion region, double opacity, double frameOpacity)
f8b23ec
+void BlurEffect::paintEffectFrame(EffectFrame* frame, const QRegion &region, double opacity, double frameOpacity)
f8b23ec
 {
f8b23ec
     const QRect screen = effects->virtualScreenGeometry();
f8b23ec
     bool valid = m_renderTargetsValid && m_shader && m_shader->isValid();
f8b23ec
diff --git a/plugins/kwineffects/blur/blur.h b/plugins/kwineffects/blur/blur.h
f8b23ec
index 7c76a8244..58889bc8a 100644
f8b23ec
--- a/plugins/kwineffects/blur/blur.h
f8b23ec
+++ b/plugins/kwineffects/blur/blur.h
f8b23ec
@@ -58,7 +58,7 @@ public:
f8b23ec
     void prePaintScreen(ScreenPrePaintData &data, int time) override;
f8b23ec
     void prePaintWindow(EffectWindow* w, WindowPrePaintData& data, int time) override;
f8b23ec
     void paintWindow(EffectWindow *w, int mask, QRegion region, WindowPaintData &data) override;
f8b23ec
-    void paintEffectFrame(EffectFrame *frame, QRegion region, double opacity, double frameOpacity) override;
f8b23ec
+    void paintEffectFrame(EffectFrame* frame, const QRegion &region, double opacity, double frameOpacity) override;
f8b23ec
 
f8b23ec
     bool provides(Feature feature) override;
f8b23ec
 
f8b23ec
diff --git a/plugins/kwineffects/multitasking/data.qrc b/plugins/kwineffects/multitasking/data.qrc
f8b23ec
index 15f9d8029..d7572793d 100644
f8b23ec
--- a/plugins/kwineffects/multitasking/data.qrc
f8b23ec
+++ b/plugins/kwineffects/multitasking/data.qrc
f8b23ec
@@ -21,8 +21,4 @@
f8b23ec
         <file>data/unsticked_normal.svg</file>
f8b23ec
         <file>data/unsticked_press.svg</file>
f8b23ec
     </qresource>
f8b23ec
-    <qresource prefix="/">
f8b23ec
-        <file>translations/multitasking_zh_CN.qm</file>
f8b23ec
-        <file>translations/multitasking.qm</file>
f8b23ec
-    </qresource>
f8b23ec
 </RCC>
f8b23ec
diff --git a/plugins/kwineffects/multitasking/multitasking.cpp b/plugins/kwineffects/multitasking/multitasking.cpp
f8b23ec
index 934f83dce..5580c291d 100644
f8b23ec
--- a/plugins/kwineffects/multitasking/multitasking.cpp
f8b23ec
+++ b/plugins/kwineffects/multitasking/multitasking.cpp
f8b23ec
@@ -575,7 +575,7 @@ void MultitaskingEffect::prePaintScreen(ScreenPrePaintData &data, int time)
f8b23ec
     effects->prePaintScreen(data, time);
f8b23ec
 }
f8b23ec
 
f8b23ec
-void MultitaskingEffect::paintScreen(int mask, QRegion region, ScreenPaintData &data)
f8b23ec
+void MultitaskingEffect::paintScreen(int mask, const QRegion& region, ScreenPaintData &data)
f8b23ec
 {
f8b23ec
     effects->paintScreen(mask, region, data);
f8b23ec
 }
f8b23ec
diff --git a/plugins/kwineffects/multitasking/multitasking.h b/plugins/kwineffects/multitasking/multitasking.h
f8b23ec
index 5874abdcb..8ae78fc02 100644
f8b23ec
--- a/plugins/kwineffects/multitasking/multitasking.h
f8b23ec
+++ b/plugins/kwineffects/multitasking/multitasking.h
f8b23ec
@@ -256,7 +256,7 @@ public:
f8b23ec
 
f8b23ec
     // Screen painting
f8b23ec
     virtual void prePaintScreen(ScreenPrePaintData &data, int time) override;
f8b23ec
-    virtual void paintScreen(int mask, QRegion region, ScreenPaintData &data) override;
f8b23ec
+    virtual void paintScreen(int mask, const QRegion& region, ScreenPaintData &data) override;
f8b23ec
     virtual void postPaintScreen() override;
f8b23ec
 
f8b23ec
     // Window painting
f8b23ec
diff --git a/plugins/kwineffects/multitasking/translations/multitasking.ts b/plugins/kwineffects/multitasking/translations/multitasking.ts
f8b23ec
deleted file mode 100644
f8b23ec
index 40826e464..000000000
f8b23ec
--- a/plugins/kwineffects/multitasking/translations/multitasking.ts
f8b23ec
+++ /dev/null
f8b23ec
@@ -1,11 +0,0 @@
f8b23ec
-
f8b23ec
-
f8b23ec
-<TS version="2.1">
f8b23ec
-<context>
f8b23ec
-    <name>thumbmanager</name>
f8b23ec
-    <message>
f8b23ec
-        <source>Drag upwards to remove</source>
f8b23ec
-        <translation type="unfinished"></translation>
f8b23ec
-    </message>
f8b23ec
-</context>
f8b23ec
-</TS>
f8b23ec
diff --git a/plugins/kwineffects/multitasking/translations/multitasking_zh_CN.ts b/plugins/kwineffects/multitasking/translations/multitasking_zh_CN.ts
f8b23ec
deleted file mode 100644
f8b23ec
index ffa9950f3..000000000
f8b23ec
--- a/plugins/kwineffects/multitasking/translations/multitasking_zh_CN.ts
f8b23ec
+++ /dev/null
f8b23ec
@@ -1,11 +0,0 @@
f8b23ec
-
f8b23ec
-
f8b23ec
-<TS version="2.1" language="zh_CN">
f8b23ec
-<context>
f8b23ec
-    <name>thumbmanager</name>
f8b23ec
-    <message>
f8b23ec
-        <source>Drag upwards to remove</source>
f8b23ec
-        <translation>向上拖拽删除</translation>
f8b23ec
-    </message>
f8b23ec
-</context>
f8b23ec
-</TS>
f8b23ec
diff --git a/plugins/kwineffects/scissor-window/scissorwindow.cpp b/plugins/kwineffects/scissor-window/scissorwindow.cpp
f8b23ec
index c366a94f5..9205ff4db 100644
f8b23ec
--- a/plugins/kwineffects/scissor-window/scissorwindow.cpp
f8b23ec
+++ b/plugins/kwineffects/scissor-window/scissorwindow.cpp
f8b23ec
@@ -189,21 +189,22 @@ ScissorWindow::ScissorWindow(QObject *, const QVariantList &)
f8b23ec
     }
f8b23ec
 }
f8b23ec
 
f8b23ec
-void ScissorWindow::drawWindow(KWin::EffectWindow *w, int mask, QRegion region, KWin::WindowPaintData &data)
f8b23ec
+void ScissorWindow::drawWindow(KWin::EffectWindow *w, int mask, const QRegion& orig_region, KWin::WindowPaintData &data)
f8b23ec
 {
f8b23ec
     // 工作区特效会使用PAINT_WINDOW_LANCZOS绘制,此时不支持多次调用Effect::drawWindow,
f8b23ec
     // 否则只会显示第一次调用绘制的内容, 因此在这种模式下禁用掉窗口裁剪特效
f8b23ec
     if (!w->isPaintingEnabled() || (mask & PAINT_WINDOW_LANCZOS)) {
f8b23ec
-        return Effect::drawWindow(w, mask, region, data);
f8b23ec
+        return Effect::drawWindow(w, mask, orig_region, data);
f8b23ec
     }
f8b23ec
 
f8b23ec
     MaskCache::TextureData mask_texture = MaskCache::instance()->getTextureByWindow(w);
f8b23ec
 
f8b23ec
     if (!mask_texture) {
f8b23ec
-        return Effect::drawWindow(w, mask, region, data);
f8b23ec
+        return Effect::drawWindow(w, mask, orig_region, data);
f8b23ec
     }
f8b23ec
 
f8b23ec
     QRegion corner_region;
f8b23ec
+    QRegion region = orig_region;
f8b23ec
 
f8b23ec
     if (!mask_texture->customMask) {
f8b23ec
         const QRect window_rect = w->geometry();
f8b23ec
diff --git a/plugins/kwineffects/scissor-window/scissorwindow.h b/plugins/kwineffects/scissor-window/scissorwindow.h
f8b23ec
index f4e18f739..75a270a37 100644
f8b23ec
--- a/plugins/kwineffects/scissor-window/scissorwindow.h
f8b23ec
+++ b/plugins/kwineffects/scissor-window/scissorwindow.h
f8b23ec
@@ -39,7 +39,7 @@ public:
f8b23ec
 
f8b23ec
     explicit ScissorWindow(QObject *parent = nullptr, const QVariantList &args = QVariantList());
f8b23ec
 
f8b23ec
-    void drawWindow(KWin::EffectWindow* w, int mask, QRegion region, KWin::WindowPaintData& data) override;
f8b23ec
+    void drawWindow(KWin::EffectWindow* w, int mask, const QRegion& orig_region, KWin::WindowPaintData& data) override;
f8b23ec
 
f8b23ec
 private:
f8b23ec
     KWin::GLShader *m_shader = nullptr;
f8b23ec
-- 
f8b23ec
2.26.2
f8b23ec