rev 11401 - in trunk/packages/kdelibs/debian: . patches
Ana Beatriz Guerrero López
ana at alioth.debian.org
Tue Jul 8 20:53:02 UTC 2008
Author: ana
Date: 2008-07-08 20:53:01 +0000 (Tue, 08 Jul 2008)
New Revision: 11401
Added:
trunk/packages/kdelibs/debian/patches/56_kdepart_482268.diff
Modified:
trunk/packages/kdelibs/debian/changelog
Log:
Fix kdepart freeze with some replacements. (Closes: #482268)
Modified: trunk/packages/kdelibs/debian/changelog
===================================================================
--- trunk/packages/kdelibs/debian/changelog 2008-07-08 19:27:39 UTC (rev 11400)
+++ trunk/packages/kdelibs/debian/changelog 2008-07-08 20:53:01 UTC (rev 11401)
@@ -1,5 +1,12 @@
-kdelibs (4:3.5.9.dfsg.1-5) UNRELEASED; urgency=low
+kdelibs (4:3.5.9.dfsg.1-6) unstable; urgency=low
+ * Fix kdepart freeze with some replacements. (Closes: #482268)
+ Many thanks to Steve Cotton.
+
+ -- Ana Beatriz Guerrero Lopez <ana at debian.org> Tue, 08 Jul 2008 22:53:51 +0200
+
+kdelibs (4:3.5.9.dfsg.1-5) unstable; urgency=low
+
+++ Changes by Pino Toscano:
* Add ghostscript Suggests to kdelibs4c2a, as kdeprint can print to PDF
Added: trunk/packages/kdelibs/debian/patches/56_kdepart_482268.diff
===================================================================
--- trunk/packages/kdelibs/debian/patches/56_kdepart_482268.diff (rev 0)
+++ trunk/packages/kdelibs/debian/patches/56_kdepart_482268.diff 2008-07-08 20:53:01 UTC (rev 11401)
@@ -0,0 +1,48 @@
+--- a/kate/part/katesearch.cpp
++++ b/kate/part/katesearch.cpp
+@@ -377,23 +377,35 @@
+ {
+ QString replaceWith = m_replacement;
+ if ( s.flags.regExp && s.flags.useBackRefs ) {
+- // replace each "(?!\)\d+" with the corresponding capture
+- QRegExp br("\\\\(\\d+)");
++ // Replace each "\0"..."\9" with the corresponding capture,
++ // "\n" and "\t" with newline and tab,
++ // "\\" with "\",
++ // and remove the "\" for any other sequence.
++ QRegExp br("\\\\(.)");
+ int pos = br.search( replaceWith );
+ int ncaps = m_re.numCaptures();
+ while ( pos >= 0 ) {
+- QString sc;
+- if ( !pos || replaceWith.at( pos-1) != '\\' ) {
+- int ccap = br.cap(1).toInt();
++ QString substitute;
++ QChar argument = br.cap(1).at(0);
++ if ( argument.isDigit() ) {
++ // the second character is a digit, this is a backreference
++ int ccap = argument.digitValue();
+ if (ccap <= ncaps ) {
+- sc = m_re.cap( ccap );
+- replaceWith.replace( pos, br.matchedLength(), sc );
+- }
+- else {
++ substitute = m_re.cap( ccap );
++ } else {
+ kdDebug()<<"KateSearch::replaceOne(): you don't have "<<ccap<<" backreferences in regexp '"<<m_re.pattern()<<"'"<<endl;
++ break;
+ }
++ } else if ( argument == 'n' ) {
++ substitute = '\n';
++ } else if ( argument == 't' ) {
++ substitute = '\t';
++ } else {
++ // handle a validly escaped backslash, or an invalid escape.
++ substitute = argument;
+ }
+- pos = br.search( replaceWith, pos + (int)sc.length() );
++ replaceWith.replace( pos, br.matchedLength(), substitute );
++ pos = br.search( replaceWith, pos + substitute.length() );
+ }
+ }
+
More information about the pkg-kde-commits
mailing list