diff options
author | Andreas Sturmlechner <asturm@gentoo.org> | 2016-12-29 03:35:38 +0100 |
---|---|---|
committer | Andreas Sturmlechner <asturm@gentoo.org> | 2016-12-30 01:24:36 +0100 |
commit | 040f3e11669ec6f7154588421cff00c1d6990578 (patch) | |
tree | 7cfe04257d55fb61ff014f4ac425dafa4b5f6d22 /app-office/calligra/files | |
parent | dev-libs/xapian: remove banner for cpu flags (diff) | |
download | gentoo-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')
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 + |