summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Sturmlechner <asturm@gentoo.org>2016-12-29 03:35:38 +0100
committerAndreas Sturmlechner <asturm@gentoo.org>2016-12-30 01:24:36 +0100
commit040f3e11669ec6f7154588421cff00c1d6990578 (patch)
tree7cfe04257d55fb61ff014f4ac425dafa4b5f6d22 /app-office/calligra/files
parentdev-libs/xapian: remove banner for cpu flags (diff)
downloadgentoo-040f3e11669ec6f7154588421cff00c1d6990578.tar.gz
gentoo-040f3e11669ec6f7154588421cff00c1d6990578.tar.bz2
gentoo-040f3e11669ec6f7154588421cff00c1d6990578.zip
app-office/calligra: Fix configure, remove file collisions, crash fixes
Gentoo-bug: 603584, 603772 Package-Manager: portage-2.3.0
Diffstat (limited to 'app-office/calligra/files')
-rw-r--r--app-office/calligra/files/calligra-3.0.0-optionaldeps.patch20
-rw-r--r--app-office/calligra/files/calligra-3.0.0-plan-crash.patch199
-rw-r--r--app-office/calligra/files/calligra-3.0.0-words-crash.patch75
3 files changed, 294 insertions, 0 deletions
diff --git a/app-office/calligra/files/calligra-3.0.0-optionaldeps.patch b/app-office/calligra/files/calligra-3.0.0-optionaldeps.patch
new file mode 100644
index 000000000000..a36edeef096a
--- /dev/null
+++ b/app-office/calligra/files/calligra-3.0.0-optionaldeps.patch
@@ -0,0 +1,20 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 0394af4..e11d998 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -223,11 +223,10 @@ find_package(KF5 ${REQUIRED_KF5_VERSION} REQUIRED
+ Notifications
+ KCMUtils
+ )
+-find_package(KF5 ${REQUIRED_KF5_VERSION} QUIET
+- OPTIONAL_COMPONENTS
+- Activities
+- KHtml
+-)
++
++find_package(KF5Activities)
++find_package(KF5KHtml)
++
+ set_package_properties(KF5Activities PROPERTIES
+ TYPE OPTIONAL
+ )
diff --git a/app-office/calligra/files/calligra-3.0.0-plan-crash.patch b/app-office/calligra/files/calligra-3.0.0-plan-crash.patch
new file mode 100644
index 000000000000..3e1073f9c31a
--- /dev/null
+++ b/app-office/calligra/files/calligra-3.0.0-plan-crash.patch
@@ -0,0 +1,199 @@
+From dd2cb16ab43d21ee25ba6ebfb36cd68ec9879c4f Mon Sep 17 00:00:00 2001
+From: Dag Andersen <danders@get2net.dk>
+Date: Mon, 12 Dec 2016 10:07:38 +0100
+Subject: Plan: Fix crash on close
+
+Due to accessing project node during delete
+
+BUG: 373527
+FIXED-IN: 3.0.0
+---
+ plan/libs/kernel/kptnode.cpp | 14 ++++++++++++--
+ plan/libs/kernel/kptnode.h | 5 ++++-
+ plan/libs/kernel/kptproject.cpp | 11 ++++++++++-
+ plan/libs/kernel/kptresource.cpp | 20 ++++++++++++++++----
+ plan/libs/kernel/kptresource.h | 7 ++++++-
+ 5 files changed, 48 insertions(+), 9 deletions(-)
+
+diff --git a/plan/libs/kernel/kptnode.cpp b/plan/libs/kernel/kptnode.cpp
+index d8b0e6b..e55f9ca 100644
+--- a/plan/libs/kernel/kptnode.cpp
++++ b/plan/libs/kernel/kptnode.cpp
+@@ -40,7 +40,8 @@ namespace KPlato
+ Node::Node(Node *parent)
+ : QObject( 0 ), // We don't use qobjects parent
+ m_nodes(), m_dependChildNodes(), m_dependParentNodes(),
+- m_estimate( 0 )
++ m_estimate( 0 ),
++ m_blockChanged(false)
+ {
+ //debugPlan<<"("<<this<<")";
+ m_parent = parent;
+@@ -53,7 +54,8 @@ Node::Node(const Node &node, Node *parent)
+ m_nodes(),
+ m_dependChildNodes(),
+ m_dependParentNodes(),
+- m_estimate( 0 )
++ m_estimate( 0 ),
++ m_blockChanged(false)
+ {
+ //debugPlan<<"("<<this<<")";
+ m_parent = parent;
+@@ -1225,7 +1227,15 @@ void Node::setRunningAccount(Account *acc)
+ changed();
+ }
+
++void Node::blockChanged(bool on)
++{
++ m_blockChanged = on;
++}
++
+ void Node::changed(Node *node, int property) {
++ if (m_blockChanged) {
++ return;
++ }
+ switch ( property) {
+ case Type:
+ case StartupCost:
+diff --git a/plan/libs/kernel/kptnode.h b/plan/libs/kernel/kptnode.h
+index cfcbd3e..4c98acc 100644
+--- a/plan/libs/kernel/kptnode.h
++++ b/plan/libs/kernel/kptnode.h
+@@ -528,6 +528,8 @@ public:
+ virtual void emitDocumentRemoved( Node *node, Document *doc, int idx );
+ virtual void emitDocumentChanged( Node *node, Document *doc, int idx );
+
++ void blockChanged(bool on = true);
++
+ public:
+ // These shouldn't be available to other than those who inherits
+ /// Calculate the critical path
+@@ -673,7 +675,8 @@ protected:
+ ResourceRequestCollection m_requests;
+
+ private:
+- void init();
++ void init();
++ bool m_blockChanged;
+ };
+
+ //////////////////////////////// Estimate ////////////////////////////////
+diff --git a/plan/libs/kernel/kptproject.cpp b/plan/libs/kernel/kptproject.cpp
+index 30cd450..d2fafb5 100644
+--- a/plan/libs/kernel/kptproject.cpp
++++ b/plan/libs/kernel/kptproject.cpp
+@@ -94,7 +94,16 @@ void Project::deref()
+ Project::~Project()
+ {
+ debugPlan;
+- disconnect(); // NOTE: may be a problem if somebody uses the destroyd() signal
++ disconnect();
++ for(Node *n : nodeIdDict) {
++ n->blockChanged();
++ }
++ for (Resource *r : resourceIdDict) {
++ r->blockChanged();
++ }
++ for (ResourceGroup *g : resourceGroupIdDict) {
++ g->blockChanged();
++ }
+ delete m_standardWorktime;
+ while ( !m_resourceGroups.isEmpty() )
+ delete m_resourceGroups.takeFirst();
+diff --git a/plan/libs/kernel/kptresource.cpp b/plan/libs/kernel/kptresource.cpp
+index 8a3d55e..b32d4e7 100644
+--- a/plan/libs/kernel/kptresource.cpp
++++ b/plan/libs/kernel/kptresource.cpp
+@@ -44,7 +44,8 @@ namespace KPlato
+ {
+
+ ResourceGroup::ResourceGroup()
+- : QObject( 0 )
++ : QObject( 0 ),
++ m_blockChanged(false)
+ {
+ m_project = 0;
+ m_type = Type_Work;
+@@ -80,8 +81,13 @@ void ResourceGroup::copy( const ResourceGroup *group )
+ m_name = group->m_name;
+ }
+
++void ResourceGroup::blockChanged(bool on)
++{
++ m_blockChanged = on;
++}
++
+ void ResourceGroup::changed() {
+- if ( m_project ) {
++ if (m_project && !m_blockChanged) {
+ m_project->changed( this );
+ }
+ }
+@@ -319,7 +325,8 @@ Resource::Resource()
+ m_project(0),
+ m_parent( 0 ),
+ m_autoAllocate( false ),
+- m_currentSchedule( 0 )
++ m_currentSchedule( 0 ),
++ m_blockChanged(false)
+ {
+ m_type = Type_Work;
+ m_units = 100; // %
+@@ -409,9 +416,14 @@ void Resource::copy(Resource *resource) {
+ //m_externalNames = resource->m_externalNames;
+ }
+
++void Resource::blockChanged(bool on)
++{
++ m_blockChanged = on;
++}
++
+ void Resource::changed()
+ {
+- if ( m_project ) {
++ if (m_project && !m_blockChanged) {
+ m_project->changed( this );
+ }
+ }
+diff --git a/plan/libs/kernel/kptresource.h b/plan/libs/kernel/kptresource.h
+index 10f6b92..fba020a 100644
+--- a/plan/libs/kernel/kptresource.h
++++ b/plan/libs/kernel/kptresource.h
+@@ -177,6 +177,8 @@ public:
+ DateTime startTime( long id ) const;
+ DateTime endTime( long id ) const;
+
++ void blockChanged(bool on = true);
++
+ #ifndef NDEBUG
+
+ void printDebug( const QString& ident );
+@@ -199,7 +201,7 @@ private:
+ Type m_type;
+
+ QList<ResourceGroupRequest*> m_requests;
+-
++ bool m_blockChanged;
+ };
+
+ /**
+@@ -492,6 +494,8 @@ public:
+ /// Set the @p account
+ void setAccount( Account *account );
+
++ void blockChanged(bool on = true);
++
+ // for xml loading code
+
+ class WorkInfoCache
+@@ -564,6 +568,7 @@ private:
+
+ // return this if resource has no calendar and is a material resource
+ Calendar m_materialCalendar;
++ bool m_blockChanged;
+
+ #ifndef NDEBUG
+ public:
+--
+cgit v0.11.2
+
diff --git a/app-office/calligra/files/calligra-3.0.0-words-crash.patch b/app-office/calligra/files/calligra-3.0.0-words-crash.patch
new file mode 100644
index 000000000000..4fe928371a6e
--- /dev/null
+++ b/app-office/calligra/files/calligra-3.0.0-words-crash.patch
@@ -0,0 +1,75 @@
+From 2d86293939bafd80bc320849ffcc7544350fc2bf Mon Sep 17 00:00:00 2001
+From: Dag Andersen <danders@get2net.dk>
+Date: Fri, 9 Dec 2016 11:19:36 +0100
+Subject: Words: Fix crash when adding connected text frame
+
+Summary:
+KWFrameConnectSelector crashes you activate existsingRadio button but do not select a frameset.
+This patch selects a frameset if none is selected.
+
+Reviewers: boemann
+
+Reviewed By: boemann
+
+Tags: #kexi, #calligra:_3.0
+
+Differential Revision: https://phabricator.kde.org/D3632
+---
+ words/part/dialogs/KWFrameConnectSelector.cpp | 14 ++++++++++++++
+ words/part/dialogs/KWFrameConnectSelector.h | 1 +
+ 2 files changed, 15 insertions(+)
+
+diff --git a/words/part/dialogs/KWFrameConnectSelector.cpp b/words/part/dialogs/KWFrameConnectSelector.cpp
+index 566dfe2..590d3b7 100644
+--- a/words/part/dialogs/KWFrameConnectSelector.cpp
++++ b/words/part/dialogs/KWFrameConnectSelector.cpp
+@@ -21,6 +21,7 @@
+ #include "KWDocument.h"
+ #include "frames/KWTextFrameSet.h"
+ #include "Words.h"
++#include "WordsDebug.h"
+
+ KWFrameConnectSelector::KWFrameConnectSelector(FrameConfigSharedState *state)
+ : m_state(state),
+@@ -30,6 +31,8 @@ KWFrameConnectSelector::KWFrameConnectSelector(FrameConfigSharedState *state)
+
+ connect(widget.framesList, SIGNAL(itemClicked(QTreeWidgetItem*,int)),
+ this, SLOT(frameSetSelected()));
++ connect(widget.existingRadio, SIGNAL(clicked(bool)),
++ this, SLOT(existingRadioClicked(bool)));
+ connect(widget.frameSetName, SIGNAL(textChanged(QString)),
+ this, SLOT(nameChanged(QString)));
+ }
+@@ -50,6 +53,17 @@ bool KWFrameConnectSelector::canOpen(KoShape *shape)
+ return true;
+ }
+
++void KWFrameConnectSelector::existingRadioClicked(bool on)
++{
++ // make sure there is a selcted frameset
++ if (on && !widget.framesList->currentItem() && widget.framesList->model()->rowCount() > 0) {
++ QModelIndex curr = widget.framesList->model()->index(0, 0);
++ widget.framesList->setCurrentIndex(curr);
++ widget.framesList->selectionModel()->select(curr, QItemSelectionModel::Select);
++ }
++ debugWords<<Q_FUNC_INFO<<on<<widget.framesList->currentItem();
++}
++
+ void KWFrameConnectSelector::frameSetSelected()
+ {
+ widget.existingRadio->setChecked(true);
+diff --git a/words/part/dialogs/KWFrameConnectSelector.h b/words/part/dialogs/KWFrameConnectSelector.h
+index 74d3f0d..75ec1613 100644
+--- a/words/part/dialogs/KWFrameConnectSelector.h
++++ b/words/part/dialogs/KWFrameConnectSelector.h
+@@ -50,6 +50,7 @@ public:
+ }
+
+ private Q_SLOTS:
++ void existingRadioClicked(bool on);
+ void frameSetSelected();
+ void nameChanged(const QString &text);
+
+--
+cgit v0.11.2
+