summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--net-irc/konversation/files/konversation-1.7.2-extjoin-crash.patch47
-rw-r--r--net-irc/konversation/files/konversation-1.7.2-focus.patch25
-rw-r--r--net-irc/konversation/files/konversation-1.7.2-memleak.patch33
-rw-r--r--net-irc/konversation/konversation-1.7.2-r1.ebuild77
4 files changed, 182 insertions, 0 deletions
diff --git a/net-irc/konversation/files/konversation-1.7.2-extjoin-crash.patch b/net-irc/konversation/files/konversation-1.7.2-extjoin-crash.patch
new file mode 100644
index 000000000000..97fc4c1494c2
--- /dev/null
+++ b/net-irc/konversation/files/konversation-1.7.2-extjoin-crash.patch
@@ -0,0 +1,47 @@
+From 783dc0f595ecf90e37225a57da0ffa2c030a470d Mon Sep 17 00:00:00 2001
+From: Peter Simonsson <peter.simonsson@gmail.com>
+Date: Sat, 10 Jun 2017 20:41:50 +0200
+Subject: Fix crash in join handling in inputfilter
+
+Make sure to check size of parameter list for extended join.
+
+BUG:378854
+---
+ src/irc/inputfilter.cpp | 19 ++++++-------------
+ 1 file changed, 6 insertions(+), 13 deletions(-)
+
+diff --git a/src/irc/inputfilter.cpp b/src/irc/inputfilter.cpp
+index 53f3b2c..f273d30 100644
+--- a/src/irc/inputfilter.cpp
++++ b/src/irc/inputfilter.cpp
+@@ -575,21 +575,14 @@ void InputFilter::parseClientCommand(const QString &prefix, const QString &comma
+ QString account;
+ QString realName;
+
+- if (!m_server->hasExtendedJoin())
+- {
+- channelName = trailing;
+- // Sometimes JOIN comes without ":" in front of the channel name
+- }
+- else
++ channelName = parameterList[0];
++
++ if (m_server->hasExtendedJoin() && plHas(3))
+ {
+- channelName = parameterList[0];
+- account = parameterList[1];
+- realName = parameterList[2];
++ if (parameterList[1] != "*")
++ account = parameterList[1];
+
+- if (account == "*")
+- {
+- account = QString();
+- }
++ realName = parameterList[2];
+ }
+
+ // Did we join the channel, or was it someone else?
+--
+cgit v0.11.2
+
diff --git a/net-irc/konversation/files/konversation-1.7.2-focus.patch b/net-irc/konversation/files/konversation-1.7.2-focus.patch
new file mode 100644
index 000000000000..b42bed488f33
--- /dev/null
+++ b/net-irc/konversation/files/konversation-1.7.2-focus.patch
@@ -0,0 +1,25 @@
+From 3263b47db2d0aab78d6a6fbc99682ac9b5ef2f2e Mon Sep 17 00:00:00 2001
+From: Eike Hein <hein@kde.org>
+Date: Wed, 21 Jun 2017 06:36:26 +0900
+Subject: Don't commit on focus loss.
+
+---
+ src/irc/channel.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/irc/channel.cpp b/src/irc/channel.cpp
+index a431c80..a5c313e 100644
+--- a/src/irc/channel.cpp
++++ b/src/irc/channel.cpp
+@@ -292,7 +292,7 @@ Channel::Channel(QWidget* parent, const QString& _name) : ChatWindow(parent)
+ connect(nicknameCombobox,SIGNAL (activated(int)),this,SLOT(nicknameComboboxChanged()));
+
+ if(nicknameCombobox->lineEdit())
+- connect(nicknameCombobox->lineEdit(), SIGNAL (editingFinished()),this,SLOT(nicknameComboboxChanged()));
++ connect(nicknameCombobox->lineEdit(), SIGNAL (returnPressed()),this,SLOT(nicknameComboboxChanged()));
+
+
+ connect(&userhostTimer,SIGNAL (timeout()),this,SLOT (autoUserhost()));
+--
+cgit v0.11.2
+
diff --git a/net-irc/konversation/files/konversation-1.7.2-memleak.patch b/net-irc/konversation/files/konversation-1.7.2-memleak.patch
new file mode 100644
index 000000000000..c079809f0c60
--- /dev/null
+++ b/net-irc/konversation/files/konversation-1.7.2-memleak.patch
@@ -0,0 +1,33 @@
+From cb2c91f06bc9247520474372d163bd0520f4db42 Mon Sep 17 00:00:00 2001
+From: Gun Park <mujjingun@gmail.com>
+Date: Mon, 10 Jul 2017 16:59:28 +0900
+Subject: Fix memory leak
+
+Reviewers: hein
+
+Reviewed By: hein
+
+Differential Revision: https://phabricator.kde.org/D6580
+---
+ src/viewer/viewcontainer.cpp | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+diff --git a/src/viewer/viewcontainer.cpp b/src/viewer/viewcontainer.cpp
+index 31ff633..94d498e 100644
+--- a/src/viewer/viewcontainer.cpp
++++ b/src/viewer/viewcontainer.cpp
+@@ -2786,9 +2786,8 @@ void ViewContainer::showJoinChannelDialog()
+ if (dlg->exec() == QDialog::Accepted)
+ {
+ Server *server = Application::instance()->getConnectionManager()->getServerByConnectionId(dlg->connectionId());
+- if (!server)
+- return;
+- server->sendJoinCommand(dlg->channel(), dlg->password());
++ if (server)
++ server->sendJoinCommand(dlg->channel(), dlg->password());
+ }
+ delete dlg;
+ }
+--
+cgit v0.11.2
+
diff --git a/net-irc/konversation/konversation-1.7.2-r1.ebuild b/net-irc/konversation/konversation-1.7.2-r1.ebuild
new file mode 100644
index 000000000000..91f420e6b1da
--- /dev/null
+++ b/net-irc/konversation/konversation-1.7.2-r1.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+KDE_HANDBOOK="forceoptional"
+inherit kde5
+
+DESCRIPTION="A user friendly IRC Client"
+HOMEPAGE="https://www.kde.org/applications/internet/konversation/ https://konversation.kde.org"
+SRC_URI="mirror://kde/stable/${PN}/${PV/_/-}/src/${P/_/-}.tar.xz"
+
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~x86"
+IUSE="+crypt"
+
+DEPEND="
+ $(add_frameworks_dep karchive)
+ $(add_frameworks_dep kbookmarks)
+ $(add_frameworks_dep kcodecs)
+ $(add_frameworks_dep kcompletion)
+ $(add_frameworks_dep kconfig)
+ $(add_frameworks_dep kconfigwidgets)
+ $(add_frameworks_dep kcoreaddons)
+ $(add_frameworks_dep kcrash)
+ $(add_frameworks_dep kdbusaddons)
+ $(add_frameworks_dep kemoticons)
+ $(add_frameworks_dep kglobalaccel)
+ $(add_frameworks_dep ki18n)
+ $(add_frameworks_dep kiconthemes)
+ $(add_frameworks_dep kidletime)
+ $(add_frameworks_dep kio)
+ $(add_frameworks_dep kitemviews)
+ $(add_frameworks_dep knotifications)
+ $(add_frameworks_dep knotifyconfig)
+ $(add_frameworks_dep kparts)
+ $(add_frameworks_dep kservice)
+ $(add_frameworks_dep ktextwidgets)
+ $(add_frameworks_dep kwallet)
+ $(add_frameworks_dep kwidgetsaddons)
+ $(add_frameworks_dep kwindowsystem)
+ $(add_frameworks_dep kxmlgui)
+ $(add_qt_dep qtdbus)
+ $(add_qt_dep qtgui)
+ $(add_qt_dep qtnetwork)
+ $(add_qt_dep qtwidgets)
+ $(add_qt_dep qtxml)
+ media-libs/phonon[qt5(+)]
+ sys-devel/gettext
+ crypt? ( app-crypt/qca:2[qt5] )
+"
+RDEPEND="${DEPEND}
+ !net-irc/konversation:4
+ crypt? ( app-crypt/qca:2[ssl] )
+"
+
+PATCHES=(
+ "${FILESDIR}/${P}-extjoin-crash.patch"
+ "${FILESDIR}/${P}-memleak.patch"
+ "${FILESDIR}/${P}-focus.patch"
+)
+
+src_configure() {
+ local mycmakeargs=(
+ $(cmake-utils_use_find_package crypt Qca-qt5)
+ )
+
+ kde5_src_configure
+}
+
+src_install() {
+ kde5_src_install
+
+ # Bug 616162
+ insinto /etc/xdg
+ doins "${FILESDIR}"/konversationrc
+}