Gentoo Archives: gentoo-commits

From: "Andreas K. Huettel" <dilfridge@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/kde:master commit in: kde-base/systemsettings/, kde-base/systemsettings/files/
Date: Sun, 03 Apr 2011 08:10:05
Message-Id: bf71cfc5c11670191d06eb63f2f1ad89756afe34.dilfridge@gentoo
1 commit: bf71cfc5c11670191d06eb63f2f1ad89756afe34
2 Author: Andreas K. Huettel (dilfridge) <mail <AT> akhuettel <DOT> de>
3 AuthorDate: Sun Apr 3 08:12:58 2011 +0000
4 Commit: Andreas K. Huettel <dilfridge <AT> gentoo <DOT> org>
5 CommitDate: Sun Apr 3 08:12:58 2011 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/kde.git;a=commit;h=bf71cfc5
7
8 [kde-base/systemsettings] Add upstream patch for flag widget crash
9
10 (Portage version: 2.1.9.45/git/Linux x86_64, signed Manifest commit with key B6C5F7DE)
11
12 ---
13 .../files/systemsettings-4.6.2-flagcrash.patch | 34 ++++++++++++++++++++
14 .../systemsettings/systemsettings-4.6.2.ebuild | 5 ++-
15 2 files changed, 38 insertions(+), 1 deletions(-)
16
17 diff --git a/kde-base/systemsettings/files/systemsettings-4.6.2-flagcrash.patch b/kde-base/systemsettings/files/systemsettings-4.6.2-flagcrash.patch
18 new file mode 100644
19 index 0000000..3e9fb7a
20 --- /dev/null
21 +++ b/kde-base/systemsettings/files/systemsettings-4.6.2-flagcrash.patch
22 @@ -0,0 +1,34 @@
23 +commit 937c7245f0f4058d2b335d160617c1cdb2398cb7
24 +Author: Andriy Rysin <arysin@×××××.com>
25 +Date: Sat Apr 2 22:27:37 2011 -0400
26 +
27 + Fix null pointer crash when no rules found; add unit test
28 + BUG: 269961
29 +
30 +diff --git a/kcontrol/keyboard/flags.cpp b/kcontrol/keyboard/flags.cpp
31 +index 24cd457..be70b1c 100644
32 +--- a/kcontrol/keyboard/flags.cpp
33 ++++ b/kcontrol/keyboard/flags.cpp
34 +@@ -116,7 +116,7 @@ static QString getDisplayText(const QString& layout, const QString& variant, con
35 + {
36 + if( variant.isEmpty() )
37 + return layout;
38 +- if( rules->version == "1.0" )
39 ++ if( rules == NULL || rules->version == "1.0" )
40 + return i18nc("layout - variant", "%1 - %2", layout, variant);
41 + return variant;
42 + }
43 +diff --git a/kcontrol/keyboard/tests/flags_test.cpp b/kcontrol/keyboard/tests/flags_test.cpp
44 +index 0f84ce5..f4cec94 100644
45 +--- a/kcontrol/keyboard/tests/flags_test.cpp
46 ++++ b/kcontrol/keyboard/tests/flags_test.cpp
47 +@@ -64,6 +64,9 @@ private Q_SLOTS:
48 + QVERIFY( flags->getLongText(layoutUnit1, rules).startsWith("USA - International") );
49 + QCOMPARE( flags->getLongText(layoutUnit2, rules), QString("USA - other") );
50 +
51 ++ rules = NULL; // when no rules found
52 ++ QCOMPARE( flags->getLongText(layoutUnit1, rules), QString("us - intl") );
53 ++
54 + flags->clearCache();
55 + }
56 +
57
58 diff --git a/kde-base/systemsettings/systemsettings-4.6.2.ebuild b/kde-base/systemsettings/systemsettings-4.6.2.ebuild
59 index a6c2456..911a23c 100644
60 --- a/kde-base/systemsettings/systemsettings-4.6.2.ebuild
61 +++ b/kde-base/systemsettings/systemsettings-4.6.2.ebuild
62 @@ -54,7 +54,10 @@ KMEXTRACTONLY="
63 add_blocker kcontrol '<4.3.98'
64 add_blocker konqueror '<4.4.70'
65
66 -PATCHES=( "${FILESDIR}/${PN}-4.4.2-xinerama_cmake_automagic.patch" )
67 +PATCHES=(
68 + "${FILESDIR}/${PN}-4.4.2-xinerama_cmake_automagic.patch"
69 + "${FILESDIR}/${PN}-4.6.2-flagcrash.patch"
70 +)
71
72 src_unpack() {
73 if use handbook; then