This commit is contained in:
parent
8f7665fd86
commit
1671579175
44
0001-Only-resize-plot-texture-if-size-actually-changes.patch
Normal file
44
0001-Only-resize-plot-texture-if-size-actually-changes.patch
Normal file
@ -0,0 +1,44 @@
|
||||
From f399aa8b48db02f809454be5427c0ca01b809882 Mon Sep 17 00:00:00 2001
|
||||
From: David Edmundson <kde@davidedmundson.co.uk>
|
||||
Date: Tue, 7 Jul 2015 11:54:11 +0100
|
||||
Subject: [PATCH 1/1] Only resize plot texture if size actually changes
|
||||
|
||||
Test compared rounded QSize with QSizeF, which will be almost always
|
||||
returning true.
|
||||
|
||||
CCBUG: 348385
|
||||
REVIEW: 124280
|
||||
---
|
||||
src/qmlcontrols/kquickcontrolsaddons/plotter.cpp | 13 ++++++-------
|
||||
1 file changed, 6 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/src/qmlcontrols/kquickcontrolsaddons/plotter.cpp b/src/qmlcontrols/kquickcontrolsaddons/plotter.cpp
|
||||
index 9a939c3626fc6321a39e898b88e5b69c14b4e1b7..93da3c75e87aa21f6c5356b35764ded03f01d2e7 100644
|
||||
--- a/src/qmlcontrols/kquickcontrolsaddons/plotter.cpp
|
||||
+++ b/src/qmlcontrols/kquickcontrolsaddons/plotter.cpp
|
||||
@@ -799,16 +799,15 @@ QSGNode *Plotter::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *updateP
|
||||
u_matrix = s_program->uniformLocation("matrix");
|
||||
}
|
||||
|
||||
- if (n->texture()->textureSize() != boundingRect().size()) {
|
||||
- //we need a size always equal or smaller, size.toSize() won't do
|
||||
- static_cast<PlotTexture *>(n->texture())->recreate(QSize(qRound(boundingRect().size().width()), qRound(boundingRect().size().height())));
|
||||
+ //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) {
|
||||
+ static_cast<PlotTexture *>(n->texture())->recreate(targetTextureSize);
|
||||
m_matrix = QMatrix4x4();
|
||||
- m_matrix.ortho(0, qRound(width()), 0, qRound(height()), -1, 1);
|
||||
+ m_matrix.ortho(0, targetTextureSize.width(), 0, targetTextureSize.height(), -1, 1);
|
||||
}
|
||||
|
||||
- n->setRect(QRect(QPoint(0,0),
|
||||
- QSize(qRound(boundingRect().size().width()),
|
||||
- qRound(boundingRect().size().height()))));
|
||||
+ n->setRect(QRect(QPoint(0,0), targetTextureSize));
|
||||
return n;
|
||||
}
|
||||
|
||||
--
|
||||
2.4.5
|
||||
|
@ -1,3 +1,9 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Jul 8 18:58:24 UTC 2015 - hrvoje.senjan@gmail.com
|
||||
|
||||
- Added 0001-Only-resize-plot-texture-if-size-actually-changes.patch
|
||||
(kde#346134, kde#348385)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Jul 5 18:44:54 UTC 2015 - hrvoje.senjan@gmail.com
|
||||
|
||||
|
@ -49,6 +49,8 @@ Group: System/GUI/KDE
|
||||
Url: http://www.kde.org
|
||||
Source: http://download.kde.org/stable/frameworks/%{_tar_path}/%{name}-%{version}.tar.xz
|
||||
Source1: baselibs.conf
|
||||
# PATCH-FIX-UPSTREAM 0001-Only-resize-plot-texture-if-size-actually-changes.patch
|
||||
Patch0: 0001-Only-resize-plot-texture-if-size-actually-changes.patch
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
|
||||
%description
|
||||
@ -104,6 +106,7 @@ Development files.
|
||||
%lang_package -n %lname
|
||||
%prep
|
||||
%setup -q
|
||||
%patch0 -p1
|
||||
|
||||
%build
|
||||
%cmake_kf5 -d build
|
||||
|
Loading…
Reference in New Issue
Block a user