public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: kde-frameworks/kdeclarative/files/, kde-frameworks/kdeclarative/
@ 2017-05-31 20:21 Andreas Sturmlechner
  0 siblings, 0 replies; 5+ messages in thread
From: Andreas Sturmlechner @ 2017-05-31 20:21 UTC (permalink / raw
  To: gentoo-commits

commit:     5ee12cc942812f6368b3824a6aa2174a17eb338f
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Wed May 31 19:39:48 2017 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Wed May 31 20:21:28 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5ee12cc9

kde-frameworks/kdeclarative: Fix plasmashell/taskman memleak

See also: https://bugs.kde.org/show_bug.cgi?id=380270

Package-Manager: Portage-2.3.5, Repoman-2.3.1

 .../files/kdeclarative-5.34.0-memleak.patch        | 73 ++++++++++++++++++++++
 .../kdeclarative/kdeclarative-5.34.0-r1.ebuild     | 34 ++++++++++
 2 files changed, 107 insertions(+)

diff --git a/kde-frameworks/kdeclarative/files/kdeclarative-5.34.0-memleak.patch b/kde-frameworks/kdeclarative/files/kdeclarative-5.34.0-memleak.patch
new file mode 100644
index 00000000000..43fdb8a4bf6
--- /dev/null
+++ b/kde-frameworks/kdeclarative/files/kdeclarative-5.34.0-memleak.patch
@@ -0,0 +1,73 @@
+From 695f24fb522a5ae6fe2530cbd72d3966b234b025 Mon Sep 17 00:00:00 2001
+From: David Edmundson <kde@davidedmundson.co.uk>
+Date: Wed, 31 May 2017 10:08:25 +0100
+Subject: [PATCH] Don't leak MimeData object
+
+Summary:
+A DeclarativeDropArea creates a new DeclarativeDragDropEvent on every
+enter/move/leave event.
+
+The getter method for the mimeData property creates a new MimeData
+QObject wrapper, which then leaks.
+
+Use of the mimeData object outside of the event shouldn't be expected to
+work, and a quick grep couldn't find any usage.
+
+BUG: 380270
+
+Test Plan: Dragged some things
+
+Reviewers: #plasma, mart, hein
+
+Reviewed By: #plasma, mart, hein
+
+Subscribers: hein, plasma-devel, #frameworks
+
+Tags: #plasma, #frameworks
+
+Differential Revision: https://phabricator.kde.org/D6017
+---
+ src/qmlcontrols/draganddrop/DeclarativeDragDropEvent.cpp | 4 ++--
+ src/qmlcontrols/draganddrop/DeclarativeDragDropEvent.h   | 5 ++---
+ 2 files changed, 4 insertions(+), 5 deletions(-)
+
+diff --git a/src/qmlcontrols/draganddrop/DeclarativeDragDropEvent.cpp b/src/qmlcontrols/draganddrop/DeclarativeDragDropEvent.cpp
+index 5c1b0e3..a75f85f 100644
+--- a/src/qmlcontrols/draganddrop/DeclarativeDragDropEvent.cpp
++++ b/src/qmlcontrols/draganddrop/DeclarativeDragDropEvent.cpp
+@@ -65,7 +65,7 @@ DeclarativeMimeData* DeclarativeDragDropEvent::mimeData()
+     if (!m_data && m_event) {
+ //         TODO This should be using MimeDataWrapper eventually, although this is an API break,
+ //         so will need to be done carefully.
+-        m_data = new DeclarativeMimeData(m_event->mimeData());
++        m_data.reset(new DeclarativeMimeData(m_event->mimeData()));
+     }
+-    return m_data;
++    return m_data.data();
+ }
+diff --git a/src/qmlcontrols/draganddrop/DeclarativeDragDropEvent.h b/src/qmlcontrols/draganddrop/DeclarativeDragDropEvent.h
+index 3fd846d..b35568a 100644
+--- a/src/qmlcontrols/draganddrop/DeclarativeDragDropEvent.h
++++ b/src/qmlcontrols/draganddrop/DeclarativeDragDropEvent.h
+@@ -26,8 +26,7 @@
+ 
+ #include <QObject>
+ #include "DeclarativeDropArea.h"
+-
+-class DeclarativeMimeData;
++#include "DeclarativeMimeData.h"
+ 
+ class DeclarativeDragDropEvent : public QObject
+ {
+@@ -115,7 +114,7 @@ private:
+     int m_y;
+     Qt::MouseButtons m_buttons;
+     Qt::KeyboardModifiers m_modifiers;
+-    DeclarativeMimeData* m_data;
++    QScopedPointer<DeclarativeMimeData> m_data;
+     QDropEvent* m_event;
+ };
+ 
+-- 
+2.13.0
+

diff --git a/kde-frameworks/kdeclarative/kdeclarative-5.34.0-r1.ebuild b/kde-frameworks/kdeclarative/kdeclarative-5.34.0-r1.ebuild
new file mode 100644
index 00000000000..da3138effd9
--- /dev/null
+++ b/kde-frameworks/kdeclarative/kdeclarative-5.34.0-r1.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+KDE_TEST="false"
+inherit kde5
+
+DESCRIPTION="Framework providing integration of QML and KDE work spaces"
+LICENSE="LGPL-2+"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE=""
+
+# drop qtdeclarative subslot operator when QT_MINIMAL >= 5.8.0
+DEPEND="
+	$(add_frameworks_dep kconfig)
+	$(add_frameworks_dep kcoreaddons)
+	$(add_frameworks_dep kglobalaccel)
+	$(add_frameworks_dep ki18n)
+	$(add_frameworks_dep kiconthemes)
+	$(add_frameworks_dep kio)
+	$(add_frameworks_dep kpackage)
+	$(add_frameworks_dep kservice)
+	$(add_frameworks_dep kwidgetsaddons)
+	$(add_frameworks_dep kwindowsystem)
+	$(add_qt_dep qtdeclarative '' '' '5=')
+	$(add_qt_dep qtgui)
+	$(add_qt_dep qtnetwork)
+	$(add_qt_dep qtwidgets)
+	media-libs/libepoxy
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=( "${FILESDIR}/${P}-memleak.patch" )


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: kde-frameworks/kdeclarative/files/, kde-frameworks/kdeclarative/
@ 2019-04-22 10:41 Andreas Sturmlechner
  0 siblings, 0 replies; 5+ messages in thread
From: Andreas Sturmlechner @ 2019-04-22 10:41 UTC (permalink / raw
  To: gentoo-commits

commit:     251bc4947ad197e05b31fb1e2b2b7f717fbf2497
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 21 20:50:18 2019 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Mon Apr 22 10:41:18 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=251bc494

kde-frameworks/kdeclarative: Fix crashes on window moves etc.

KDE-Bug: https://bugs.kde.org/show_bug.cgi?id=403453
Package-Manager: Portage-2.3.64, Repoman-2.3.12
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 .../kdeclarative-5.57.0-fix-plotter-crash.patch    | 262 +++++++++++++++++++++
 .../kdeclarative/kdeclarative-5.57.0-r1.ebuild     |  33 +++
 2 files changed, 295 insertions(+)

diff --git a/kde-frameworks/kdeclarative/files/kdeclarative-5.57.0-fix-plotter-crash.patch b/kde-frameworks/kdeclarative/files/kdeclarative-5.57.0-fix-plotter-crash.patch
new file mode 100644
index 00000000000..14165109513
--- /dev/null
+++ b/kde-frameworks/kdeclarative/files/kdeclarative-5.57.0-fix-plotter-crash.patch
@@ -0,0 +1,262 @@
+From 0aab7d23a2ce155c4beb5cf77fcac02c93b183b7 Mon Sep 17 00:00:00 2001
+From: David Edmundson <kde@davidedmundson.co.uk>
+Date: Thu, 18 Apr 2019 11:15:06 +0100
+Subject: Plotter: Scope GL Program to lifespan of scenegraph node
+
+Summary:
+Currently the QOpenGLProgram was static. This works when you only have
+one OpenGL context that is never invalidated.
+
+Instead we shoul have a new program created for each context. There is
+no benefit of being static when we can use the cached shader loading.
+
+As we need a program per context, we would need to handle windowChanged
+and sceneGraphInvalidated manually. Instead we can scope the program to
+the QSGNode which will be deleted and recreated on the render thread
+automatically by the scene graph backend.
+
+We can also drop ManagedTextureNode and use
+QSGSimpleTextureNode::setOwnsTexture which does the same thing.
+
+BUG: 403453
+
+Test Plan:
+Created a CPU load viewer on my panel
+Dragged it to my desktop
+Previously that didn't render anything
+Now it does
+
+It should fix the crashes that we
+see on window moves and handling sceneGraphInvalidated
+
+Reviewers: #plasma
+
+Subscribers: kde-frameworks-devel
+
+Tags: #frameworks
+
+Differential Revision: https://phabricator.kde.org/D20656
+---
+ src/qmlcontrols/kquickcontrolsaddons/plotter.cpp | 106 ++++++++++++++---------
+ src/qmlcontrols/kquickcontrolsaddons/plotter.h   |  11 +--
+ 2 files changed, 68 insertions(+), 49 deletions(-)
+
+diff --git a/src/qmlcontrols/kquickcontrolsaddons/plotter.cpp b/src/qmlcontrols/kquickcontrolsaddons/plotter.cpp
+index 650151d..8495bbd 100644
+--- a/src/qmlcontrols/kquickcontrolsaddons/plotter.cpp
++++ b/src/qmlcontrols/kquickcontrolsaddons/plotter.cpp
+@@ -44,8 +44,6 @@
+ 
+ #include <QDebug>
+ 
+-#include <QuickAddons/ManagedTextureNode>
+-
+ #include <math.h>
+ 
+ //completely arbitrary
+@@ -262,16 +260,58 @@ void PlotTexture::recreate(const QSize &size)
+     m_size = size;
+ }
+ 
++class PlotSGNode: public QSGSimpleTextureNode
++{
++public:
++    PlotSGNode();
++    void bind() {
++        m_program->bind();
++    }
++    void setMatrix(const QMatrix4x4 &matrix) {
++        m_program->setUniformValue(u_matrix, matrix);
++    }
++    void setColor1(const QColor &color) {
++        m_program->setUniformValue(u_color1, color);
++    }
++    void setColor2(const QColor &color) {
++        m_program->setUniformValue(u_color2, color);
++    }
++    void setYMin(float min) {
++        m_program->setUniformValue(u_yMin, min);
++    }
++    void setYMax(float max) {
++        m_program->setUniformValue(u_yMax, max);
++    }
++    ~PlotSGNode() = default;
++private:
++    QScopedPointer<QOpenGLShaderProgram> m_program;
++    int u_matrix;
++    int u_color1;
++    int u_color2;
++    int u_yMin;
++    int u_yMax;
+ 
++};
++
++PlotSGNode::PlotSGNode():
++    m_program(new QOpenGLShaderProgram)
++{
++    setOwnsTexture(true);
++    m_program->addCacheableShaderFromSourceCode(QOpenGLShader::Vertex, vs_source);
++    m_program->addCacheableShaderFromSourceCode(QOpenGLShader::Fragment, fs_source);
++    m_program->bindAttributeLocation("vertex", 0);
++    m_program->link();
++
++    u_yMin = m_program->uniformLocation("yMin");
++    u_yMax = m_program->uniformLocation("yMax");
++    u_color1 = m_program->uniformLocation("color1");
++    u_color2 = m_program->uniformLocation("color2");
++    u_matrix = m_program->uniformLocation("matrix");
++}
+ 
+-// ----------------------
+ 
+-QOpenGLShaderProgram *Plotter::s_program = nullptr;
+-int Plotter::u_matrix;
+-int Plotter::u_color1;
+-int Plotter::u_color2;
+-int Plotter::u_yMin;
+-int Plotter::u_yMax;
++
++// ----------------------
+ 
+ Plotter::Plotter(QQuickItem *parent)
+     : QQuickItem(parent),
+@@ -652,18 +692,18 @@ void Plotter::render()
+     glEnableVertexAttribArray(0);
+ 
+     // Bind the shader program
+-    s_program->bind();
+-    s_program->setUniformValue(u_matrix, m_matrix);
++    m_node->bind();
++    m_node->setMatrix(m_matrix);
+ 
+     // Draw the lines
+     QColor color1 = m_gridColor;
+     QColor color2 = m_gridColor;
+     color1.setAlphaF(0.10);
+     color2.setAlphaF(0.40);
+-    s_program->setUniformValue(u_yMin, (float) 0.0);
+-    s_program->setUniformValue(u_yMax, (float) height());
+-    s_program->setUniformValue(u_color1, color1);
+-    s_program->setUniformValue(u_color2, color2);
++    m_node->setYMin((float) 0.0);
++    m_node->setYMax((float) height());
++    m_node->setColor1(color1);
++    m_node->setColor2(color2);
+ 
+     glDrawArrays(GL_LINES, 0, (m_horizontalLineCount+1) * 2 );
+ 
+@@ -677,18 +717,18 @@ void Plotter::render()
+         color2 = data->color();
+         color2.setAlphaF(0.60);
+         // Draw the graph
+-        s_program->setUniformValue(u_yMin, min);
+-        s_program->setUniformValue(u_yMax, max);
+-        s_program->setUniformValue(u_color1, data->color());
+-        s_program->setUniformValue(u_color2, color2);
++        m_node->setYMin(min);
++        m_node->setYMax(max);
++        m_node->setColor1(data->color());
++        m_node->setColor2(color2);
+ 
+         //+2 is for the bottom line
+         glDrawArrays(GL_TRIANGLE_STRIP, m_horizontalLineCount*2 + 2 + oldCount.first + oldCount.second, verticesCounts[data].first);
+ 
+         oldCount.first += verticesCounts[data].first;
+ 
+-        s_program->setUniformValue(u_color1, data->color());
+-        s_program->setUniformValue(u_color2, data->color());
++        m_node->setColor1(data->color());
++        m_node->setColor2(data->color());
+         glDrawArrays(GL_LINE_STRIP, m_horizontalLineCount*2 + 2 + oldCount.first + oldCount.second, verticesCounts[data].second);
+ 
+         oldCount.second += verticesCounts[data].second;
+@@ -697,8 +737,8 @@ void Plotter::render()
+ 
+     glDisable(GL_BLEND);
+ 
+-    s_program->setUniformValue(u_color1, m_gridColor);
+-    s_program->setUniformValue(u_color2, m_gridColor);
++    m_node->setColor1(m_gridColor);
++    m_node->setColor2(m_gridColor);
+     glDrawArrays(GL_LINES, vertices.count()-2, 2);
+ 
+     if (m_haveMSAA && m_haveFramebufferBlit) {
+@@ -723,7 +763,7 @@ QSGNode *Plotter::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *updateP
+         return nullptr;
+     }
+ 
+-    ManagedTextureNode *n = static_cast<ManagedTextureNode *>(oldNode);
++    PlotSGNode *n = static_cast<PlotSGNode *>(oldNode);
+ 
+     if (width() == 0 && height() == 0) {
+         delete oldNode;
+@@ -731,8 +771,8 @@ QSGNode *Plotter::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *updateP
+     }
+ 
+     if (!n) {
+-        n = new ManagedTextureNode();
+-        n->setTexture(QSharedPointer<QSGTexture>(new PlotTexture(window()->openglContext())));
++        n = new PlotSGNode();
++        n->setTexture(new PlotTexture(window()->openglContext()));
+         n->setFiltering(QSGTexture::Linear);
+ 
+         m_node = n;
+@@ -786,20 +826,6 @@ QSGNode *Plotter::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *updateP
+         m_initialized = true;
+     }
+ 
+-    if (!s_program) {
+-        s_program = new QOpenGLShaderProgram;
+-        s_program->addShaderFromSourceCode(QOpenGLShader::Vertex, vs_source);
+-        s_program->addShaderFromSourceCode(QOpenGLShader::Fragment, fs_source);
+-        s_program->bindAttributeLocation("vertex", 0);
+-        s_program->link();
+-
+-        u_yMin = s_program->uniformLocation("yMin");
+-        u_yMax = s_program->uniformLocation("yMax");
+-        u_color1 = s_program->uniformLocation("color1");
+-        u_color2 = s_program->uniformLocation("color2");
+-        u_matrix = s_program->uniformLocation("matrix");
+-    }
+-
+     //we need a size always equal or smaller, size.toSize() won't do
+     const QSize targetTextureSize(qRound(boundingRect().size().width()), qRound(boundingRect().size().height()));
+     if (n->texture()->textureSize() != targetTextureSize) {
+diff --git a/src/qmlcontrols/kquickcontrolsaddons/plotter.h b/src/qmlcontrols/kquickcontrolsaddons/plotter.h
+index 01c0ef2..11ae233 100644
+--- a/src/qmlcontrols/kquickcontrolsaddons/plotter.h
++++ b/src/qmlcontrols/kquickcontrolsaddons/plotter.h
+@@ -47,7 +47,7 @@
+ #include <QQuickWindow>
+ #include <QMutex>
+ 
+-class ManagedTextureNode;
++class PlotSGNode;
+ 
+ /**
+  * a Plotter can draw a graph of values arriving from an arbitrary number of data sources
+@@ -242,7 +242,7 @@ private:
+     QList<PlotData *> m_plotData;
+ 
+     GLuint m_fbo = 0;
+-    ManagedTextureNode *m_node = nullptr;
++    PlotSGNode *m_node = nullptr;
+     qreal m_min;
+     qreal m_max;
+     qreal m_rangeMax;
+@@ -262,13 +262,6 @@ private:
+     int m_samples;
+     QPointer <QQuickWindow> m_window;
+     QMutex m_mutex;
+-
+-    static QOpenGLShaderProgram *s_program;
+-    static int u_matrix;
+-    static int u_color1;
+-    static int u_color2;
+-    static int u_yMin;
+-    static int u_yMax;
+ };
+ 
+ #endif
+-- 
+cgit v1.1

diff --git a/kde-frameworks/kdeclarative/kdeclarative-5.57.0-r1.ebuild b/kde-frameworks/kdeclarative/kdeclarative-5.57.0-r1.ebuild
new file mode 100644
index 00000000000..823e38edc29
--- /dev/null
+++ b/kde-frameworks/kdeclarative/kdeclarative-5.57.0-r1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+KDE_TEST="false"
+inherit kde5
+
+DESCRIPTION="Framework providing integration of QML and KDE work spaces"
+LICENSE="LGPL-2+"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE=""
+
+DEPEND="
+	$(add_frameworks_dep kconfig)
+	$(add_frameworks_dep kcoreaddons)
+	$(add_frameworks_dep kglobalaccel)
+	$(add_frameworks_dep ki18n)
+	$(add_frameworks_dep kiconthemes)
+	$(add_frameworks_dep kio)
+	$(add_frameworks_dep kpackage)
+	$(add_frameworks_dep kservice)
+	$(add_frameworks_dep kwidgetsaddons)
+	$(add_frameworks_dep kwindowsystem)
+	$(add_qt_dep qtdeclarative)
+	$(add_qt_dep qtgui)
+	$(add_qt_dep qtnetwork)
+	$(add_qt_dep qtwidgets)
+	media-libs/libepoxy
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=( "${FILESDIR}/${P}-fix-plotter-crash.patch" )


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: kde-frameworks/kdeclarative/files/, kde-frameworks/kdeclarative/
@ 2020-09-29 12:49 Andreas Sturmlechner
  0 siblings, 0 replies; 5+ messages in thread
From: Andreas Sturmlechner @ 2020-09-29 12:49 UTC (permalink / raw
  To: gentoo-commits

commit:     9277805e61e6c5580c31cad8d2cfc7de686ce692
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Mon Sep 28 22:04:46 2020 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Tue Sep 29 12:45:27 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9277805e

kde-frameworks/kdeclarative: Fix assign Alt-based keyboard shortcuts

...which also trigger buttons in the KCM.

Upstream commit 88aabf069a0e454777c15227126732a04c8cb8b2

KDE-Bug: https://bugs.kde.org/show_bug.cgi?id=425979
Package-Manager: Portage-3.0.8, Repoman-3.0.1
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 ...ck-shortcuts-when-recording-key-sequences.patch | 104 +++++++++++++++++++++
 .../kdeclarative/kdeclarative-5.74.0-r1.ebuild     |  39 ++++++++
 2 files changed, 143 insertions(+)

diff --git a/kde-frameworks/kdeclarative/files/kdeclarative-5.74.0-block-shortcuts-when-recording-key-sequences.patch b/kde-frameworks/kdeclarative/files/kdeclarative-5.74.0-block-shortcuts-when-recording-key-sequences.patch
new file mode 100644
index 00000000000..66808f910bf
--- /dev/null
+++ b/kde-frameworks/kdeclarative/files/kdeclarative-5.74.0-block-shortcuts-when-recording-key-sequences.patch
@@ -0,0 +1,104 @@
+From 88aabf069a0e454777c15227126732a04c8cb8b2 Mon Sep 17 00:00:00 2001
+From: David Edmundson <kde@davidedmundson.co.uk>
+Date: Fri, 18 Sep 2020 00:13:07 +0100
+Subject: [PATCH] Block shortcuts when recording key sequences
+
+Otherwise you can't select alt+a as a shortcut without triggering the
+nmenomic generated shortcut on the "add application" button.
+
+Testing done:
+- clicked "Add custom shortcut", pressed alt+a, it was recorded
+successfully
+
+- focussed "Add custom shortcut", pressed alt+a, the relevant shortcut
+activated
+
+Note that isRecording was already declared, but not defined, which is
+why it looks like my diff misses something.
+
+BUG: 425979
+---
+ src/qmlcontrols/kquickcontrols/KeySequenceItem.qml        | 7 +++++++
+ .../kquickcontrols/private/keysequencehelper.cpp          | 8 +++++++-
+ .../kquickcontrols/private/keysequencehelper.h            | 7 +++++++
+ 3 files changed, 21 insertions(+), 1 deletion(-)
+
+diff --git a/src/qmlcontrols/kquickcontrols/KeySequenceItem.qml b/src/qmlcontrols/kquickcontrols/KeySequenceItem.qml
+index 9d8e035..d1fbc02 100644
+--- a/src/qmlcontrols/kquickcontrols/KeySequenceItem.qml
++++ b/src/qmlcontrols/kquickcontrols/KeySequenceItem.qml
+@@ -83,6 +83,13 @@ RowLayout {
+             }
+         }
+ 
++        Keys.onShortcutOverride: {
++            if (_helper.isRecording) {
++                _helper.keyPressed(event.key, event.modifiers);
++                event.accepted = true;
++            }
++        }
++
+         Keys.onPressed: {
+             _helper.keyPressed(event.key, event.modifiers);
+             event.accepted = true;
+diff --git a/src/qmlcontrols/kquickcontrols/private/keysequencehelper.cpp b/src/qmlcontrols/kquickcontrols/private/keysequencehelper.cpp
+index ba7ce01..26b0331 100644
+--- a/src/qmlcontrols/kquickcontrols/private/keysequencehelper.cpp
++++ b/src/qmlcontrols/kquickcontrols/private/keysequencehelper.cpp
+@@ -237,7 +237,10 @@ void KeySequenceHelper::setCheckAgainstShortcutTypes(KeySequenceHelper::Shortcut
+     Q_EMIT checkAgainstShortcutTypesChanged();
+ }
+ 
+-
++bool KeySequenceHelper::isRecording() const
++{
++    return d->isRecording;
++}
+ 
+ void KeySequenceHelper::clearKeySequence()
+ {
+@@ -251,6 +254,7 @@ void KeySequenceHelperPrivate::startRecording()
+     oldKeySequence = keySequence;
+     keySequence = QKeySequence();
+     isRecording = true;
++    emit q->isRecordingChanged();
+     grabbedWindow = QQuickRenderControl::renderWindowFor(q->window());
+     if (!grabbedWindow) {
+         grabbedWindow = q->window();
+@@ -265,6 +269,8 @@ void KeySequenceHelper::doneRecording()
+ {
+     d->modifierlessTimeout.stop();
+     d->isRecording = false;
++    emit isRecordingChanged();
++
+     d->stealActions.clear();
+     if (d->grabbedWindow) {
+         d->grabbedWindow->setKeyboardGrabEnabled(false);
+diff --git a/src/qmlcontrols/kquickcontrols/private/keysequencehelper.h b/src/qmlcontrols/kquickcontrols/private/keysequencehelper.h
+index c9068e8..daeedc5 100644
+--- a/src/qmlcontrols/kquickcontrols/private/keysequencehelper.h
++++ b/src/qmlcontrols/kquickcontrols/private/keysequencehelper.h
+@@ -51,6 +51,12 @@ class KeySequenceHelper : public QQuickItem
+         NOTIFY checkAgainstShortcutTypesChanged
+     )
+ 
++    Q_PROPERTY(
++        bool isRecording
++        READ isRecording
++        NOTIFY isRecordingChanged
++    )
++
+ public:
+ 
+     enum ShortcutType {
+@@ -116,6 +122,7 @@ Q_SIGNALS:
+     void shortcutDisplayChanged(const QString &string);
+     void captureFinished();
+     void checkAgainstShortcutTypesChanged();
++    void isRecordingChanged();
+ 
+ public Q_SLOTS:
+     void captureKeySequence();
+-- 
+GitLab
+

diff --git a/kde-frameworks/kdeclarative/kdeclarative-5.74.0-r1.ebuild b/kde-frameworks/kdeclarative/kdeclarative-5.74.0-r1.ebuild
new file mode 100644
index 00000000000..6e28a831ed9
--- /dev/null
+++ b/kde-frameworks/kdeclarative/kdeclarative-5.74.0-r1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+ECM_TEST="false"
+PVCUT=$(ver_cut 1-2)
+QTMIN=5.14.2
+inherit ecm kde.org
+
+DESCRIPTION="Framework providing integration of QML and KDE work spaces"
+LICENSE="LGPL-2+"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+IUSE=""
+
+# drop qtgui subslot operator when QT_MINIMAL >= 5.15.0
+DEPEND="
+	>=dev-qt/qtdeclarative-${QTMIN}:5
+	>=dev-qt/qtgui-${QTMIN}:5=
+	>=dev-qt/qtnetwork-${QTMIN}:5
+	>=dev-qt/qtwidgets-${QTMIN}:5
+	=kde-frameworks/kconfig-${PVCUT}*:5
+	=kde-frameworks/kcoreaddons-${PVCUT}*:5
+	=kde-frameworks/kglobalaccel-${PVCUT}*:5
+	=kde-frameworks/ki18n-${PVCUT}*:5
+	=kde-frameworks/kiconthemes-${PVCUT}*:5
+	=kde-frameworks/kio-${PVCUT}*:5
+	=kde-frameworks/knotifications-${PVCUT}*:5
+	=kde-frameworks/kpackage-${PVCUT}*:5
+	=kde-frameworks/kservice-${PVCUT}*:5
+	=kde-frameworks/kwidgetsaddons-${PVCUT}*:5
+	=kde-frameworks/kwindowsystem-${PVCUT}*:5
+	media-libs/libepoxy
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+	"${FILESDIR}"/${P}-block-shortcuts-when-recording-key-sequences.patch
+)


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: kde-frameworks/kdeclarative/files/, kde-frameworks/kdeclarative/
@ 2021-11-27 11:08 Andreas Sturmlechner
  0 siblings, 0 replies; 5+ messages in thread
From: Andreas Sturmlechner @ 2021-11-27 11:08 UTC (permalink / raw
  To: gentoo-commits

commit:     c82423d5bf28e87d5a53389b589f49d0cb431e21
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 27 09:50:16 2021 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sat Nov 27 11:07:50 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c82423d5

kde-frameworks/kdeclarative: Fix broken KeyEvent emitting

Upstream commit 2caa62d11f322ca5c9829b6bc91839e8afd42686

KDE-bug: https://bugs.kde.org/show_bug.cgi?id=445277
Package-Manager: Portage-3.0.28, Repoman-3.0.3
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 ...-KeySequenceItem-record-on-correct-window.patch | 36 ++++++++++++++++++++
 .../kdeclarative/kdeclarative-5.88.0-r1.ebuild     | 39 ++++++++++++++++++++++
 2 files changed, 75 insertions(+)

diff --git a/kde-frameworks/kdeclarative/files/kdeclarative-5.88.0-KeySequenceItem-record-on-correct-window.patch b/kde-frameworks/kdeclarative/files/kdeclarative-5.88.0-KeySequenceItem-record-on-correct-window.patch
new file mode 100644
index 000000000000..bf4d6fc5dddb
--- /dev/null
+++ b/kde-frameworks/kdeclarative/files/kdeclarative-5.88.0-KeySequenceItem-record-on-correct-window.patch
@@ -0,0 +1,36 @@
+From 2caa62d11f322ca5c9829b6bc91839e8afd42686 Mon Sep 17 00:00:00 2001
+From: David Redondo <kde@david-redondo.de>
+Date: Mon, 22 Nov 2021 14:22:14 +0100
+Subject: [PATCH] KeySequenceItem: Make sure we record on the correct window
+
+Unfortunately renderWindowFor is just a simple function call and
+so the binding is not updated when it would change. Now we make sure
+to update the window before each recording.
+BUG:445277
+---
+ src/qmlcontrols/kquickcontrols/KeySequenceItem.qml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/qmlcontrols/kquickcontrols/KeySequenceItem.qml b/src/qmlcontrols/kquickcontrols/KeySequenceItem.qml
+index 7b404bd..a41bf18 100644
+--- a/src/qmlcontrols/kquickcontrols/KeySequenceItem.qml
++++ b/src/qmlcontrols/kquickcontrols/KeySequenceItem.qml
+@@ -42,7 +42,6 @@ RowLayout {
+ 
+     KQuickControlsPrivate.KeySequenceHelper {
+         id: _helper
+-        window: renderWindow(parent.Window.window)
+         onGotKeySequence: {
+             if (isKeySequenceAvailable(keySequence)) {
+                 root.keySequence = keySequence
+@@ -95,6 +94,7 @@ RowLayout {
+ 
+         onCheckedChanged: {
+             if (checked) {
++                _helper.window = _helper.renderWindow(parent.Window.window)
+                 mainButton.forceActiveFocus()
+                 _helper.startRecording()
+             }
+-- 
+GitLab
+

diff --git a/kde-frameworks/kdeclarative/kdeclarative-5.88.0-r1.ebuild b/kde-frameworks/kdeclarative/kdeclarative-5.88.0-r1.ebuild
new file mode 100644
index 000000000000..e3888c95d29e
--- /dev/null
+++ b/kde-frameworks/kdeclarative/kdeclarative-5.88.0-r1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_TEST="false"
+PVCUT=$(ver_cut 1-2)
+QTMIN=5.15.2
+inherit ecm kde.org
+
+DESCRIPTION="Framework providing integration of QML and KDE work spaces"
+
+LICENSE="LGPL-2+"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+IUSE=""
+
+DEPEND="
+	>=dev-qt/qtdeclarative-${QTMIN}:5
+	>=dev-qt/qtgui-${QTMIN}:5
+	>=dev-qt/qtnetwork-${QTMIN}:5
+	>=dev-qt/qtwidgets-${QTMIN}:5
+	=kde-frameworks/kconfig-${PVCUT}*:5
+	=kde-frameworks/kcoreaddons-${PVCUT}*:5
+	=kde-frameworks/kglobalaccel-${PVCUT}*:5
+	=kde-frameworks/ki18n-${PVCUT}*:5
+	=kde-frameworks/kiconthemes-${PVCUT}*:5
+	=kde-frameworks/kio-${PVCUT}*:5
+	=kde-frameworks/knotifications-${PVCUT}*:5
+	=kde-frameworks/kpackage-${PVCUT}*:5
+	=kde-frameworks/kservice-${PVCUT}*:5
+	=kde-frameworks/kwidgetsaddons-${PVCUT}*:5
+	=kde-frameworks/kwindowsystem-${PVCUT}*:5
+	media-libs/libepoxy
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+	"${FILESDIR}/${P}-KeySequenceItem-record-on-correct-window.patch" # KDE-bug 445277
+)


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: kde-frameworks/kdeclarative/files/, kde-frameworks/kdeclarative/
@ 2022-02-10  9:13 Andreas Sturmlechner
  0 siblings, 0 replies; 5+ messages in thread
From: Andreas Sturmlechner @ 2022-02-10  9:13 UTC (permalink / raw
  To: gentoo-commits

commit:     b4dbafca90db40d5572b7aecfa460aed5a60ed59
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Thu Feb 10 08:20:39 2022 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Thu Feb 10 09:10:54 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b4dbafca

kde-frameworks/kdeclarative: drop 5.88.0*

Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 kde-frameworks/kdeclarative/Manifest               |  1 -
 ...-KeySequenceItem-record-on-correct-window.patch | 36 --------------------
 .../kdeclarative/kdeclarative-5.88.0-r1.ebuild     | 39 ----------------------
 3 files changed, 76 deletions(-)

diff --git a/kde-frameworks/kdeclarative/Manifest b/kde-frameworks/kdeclarative/Manifest
index 9b2f8846ecb6..028560a85955 100644
--- a/kde-frameworks/kdeclarative/Manifest
+++ b/kde-frameworks/kdeclarative/Manifest
@@ -1,2 +1 @@
-DIST kdeclarative-5.88.0.tar.xz 191048 BLAKE2B 113ed6a1ff297251cec4baf143352d3b8cb1d80cd0aca45ad21ec4d1583a5a9603897c9edfda99fe0bfc3c5c09a78c609c563602accb2e2fe7b76c3b1e7e0d1e SHA512 f72221bd6bd5fa739994482607161ea2ed7e659c18c4c9f3a161a765925c10a18cf7b5737a0489e589de13201c624d5a597e248eddaa77e1006b22ef8f19efb2
 DIST kdeclarative-5.90.0.tar.xz 199308 BLAKE2B 6cc7cbe7ab1b70fe238c32ba61f7187c251ffe04129a3681c2c441584fc8b3ee8d6026465c918a1477897f20e748f8451823e7551b905e1769cbffbfd11c80a7 SHA512 6e2dc0c19f16915b35f0c0bd1526b986987fbd450ad75666c1b5c94e2f30efbef857ffff424f3026a3da3762209dbb166d48a8146540b0d625d2203d4dda0679

diff --git a/kde-frameworks/kdeclarative/files/kdeclarative-5.88.0-KeySequenceItem-record-on-correct-window.patch b/kde-frameworks/kdeclarative/files/kdeclarative-5.88.0-KeySequenceItem-record-on-correct-window.patch
deleted file mode 100644
index bf4d6fc5dddb..000000000000
--- a/kde-frameworks/kdeclarative/files/kdeclarative-5.88.0-KeySequenceItem-record-on-correct-window.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 2caa62d11f322ca5c9829b6bc91839e8afd42686 Mon Sep 17 00:00:00 2001
-From: David Redondo <kde@david-redondo.de>
-Date: Mon, 22 Nov 2021 14:22:14 +0100
-Subject: [PATCH] KeySequenceItem: Make sure we record on the correct window
-
-Unfortunately renderWindowFor is just a simple function call and
-so the binding is not updated when it would change. Now we make sure
-to update the window before each recording.
-BUG:445277
----
- src/qmlcontrols/kquickcontrols/KeySequenceItem.qml | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/qmlcontrols/kquickcontrols/KeySequenceItem.qml b/src/qmlcontrols/kquickcontrols/KeySequenceItem.qml
-index 7b404bd..a41bf18 100644
---- a/src/qmlcontrols/kquickcontrols/KeySequenceItem.qml
-+++ b/src/qmlcontrols/kquickcontrols/KeySequenceItem.qml
-@@ -42,7 +42,6 @@ RowLayout {
- 
-     KQuickControlsPrivate.KeySequenceHelper {
-         id: _helper
--        window: renderWindow(parent.Window.window)
-         onGotKeySequence: {
-             if (isKeySequenceAvailable(keySequence)) {
-                 root.keySequence = keySequence
-@@ -95,6 +94,7 @@ RowLayout {
- 
-         onCheckedChanged: {
-             if (checked) {
-+                _helper.window = _helper.renderWindow(parent.Window.window)
-                 mainButton.forceActiveFocus()
-                 _helper.startRecording()
-             }
--- 
-GitLab
-

diff --git a/kde-frameworks/kdeclarative/kdeclarative-5.88.0-r1.ebuild b/kde-frameworks/kdeclarative/kdeclarative-5.88.0-r1.ebuild
deleted file mode 100644
index 49aae073b5e3..000000000000
--- a/kde-frameworks/kdeclarative/kdeclarative-5.88.0-r1.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-ECM_TEST="false"
-PVCUT=$(ver_cut 1-2)
-QTMIN=5.15.2
-inherit ecm kde.org
-
-DESCRIPTION="Framework providing integration of QML and KDE work spaces"
-
-LICENSE="LGPL-2+"
-KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
-IUSE=""
-
-DEPEND="
-	>=dev-qt/qtdeclarative-${QTMIN}:5
-	>=dev-qt/qtgui-${QTMIN}:5
-	>=dev-qt/qtnetwork-${QTMIN}:5
-	>=dev-qt/qtwidgets-${QTMIN}:5
-	=kde-frameworks/kconfig-${PVCUT}*:5
-	=kde-frameworks/kcoreaddons-${PVCUT}*:5
-	=kde-frameworks/kglobalaccel-${PVCUT}*:5
-	=kde-frameworks/ki18n-${PVCUT}*:5
-	=kde-frameworks/kiconthemes-${PVCUT}*:5
-	=kde-frameworks/kio-${PVCUT}*:5
-	=kde-frameworks/knotifications-${PVCUT}*:5
-	=kde-frameworks/kpackage-${PVCUT}*:5
-	=kde-frameworks/kservice-${PVCUT}*:5
-	=kde-frameworks/kwidgetsaddons-${PVCUT}*:5
-	=kde-frameworks/kwindowsystem-${PVCUT}*:5
-	media-libs/libepoxy
-"
-RDEPEND="${DEPEND}"
-
-PATCHES=(
-	"${FILESDIR}/${P}-KeySequenceItem-record-on-correct-window.patch" # KDE-bug 445277
-)


^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2022-02-10  9:13 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-11-27 11:08 [gentoo-commits] repo/gentoo:master commit in: kde-frameworks/kdeclarative/files/, kde-frameworks/kdeclarative/ Andreas Sturmlechner
  -- strict thread matches above, loose matches on Subject: below --
2022-02-10  9:13 Andreas Sturmlechner
2020-09-29 12:49 Andreas Sturmlechner
2019-04-22 10:41 Andreas Sturmlechner
2017-05-31 20:21 Andreas Sturmlechner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox