summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarsten Lohrke <carlo@gentoo.org>2006-04-17 18:28:09 +0000
committerCarsten Lohrke <carlo@gentoo.org>2006-04-17 18:28:09 +0000
commitb811beb5500ee5f7d81bdffc9d3197a0daf592a4 (patch)
tree1e9597f8bd47749a75a6ed701f120d7881551c2b
parentStable on ppc. (diff)
downloadgentoo-2-b811beb5500ee5f7d81bdffc9d3197a0daf592a4.tar.gz
gentoo-2-b811beb5500ee5f7d81bdffc9d3197a0daf592a4.tar.bz2
gentoo-2-b811beb5500ee5f7d81bdffc9d3197a0daf592a4.zip
Updated patch set, fixing various issues.
(Portage version: 2.0.54)
-rw-r--r--kde-base/kdelibs/ChangeLog10
-rw-r--r--kde-base/kdelibs/Manifest87
-rw-r--r--kde-base/kdelibs/files/digest-kdelibs-3.5.2-r31
-rw-r--r--kde-base/kdelibs/files/kdelibs-3.5.2-kate-fixes-2.diff366
-rw-r--r--kde-base/kdelibs/files/kdelibs-3.5.2-kio-fixes.diff177
-rw-r--r--kde-base/kdelibs/files/kdelibs-3.5.2-misc-fixes.diff446
-rw-r--r--kde-base/kdelibs/kdelibs-3.5.2-r3.ebuild144
7 files changed, 1149 insertions, 82 deletions
diff --git a/kde-base/kdelibs/ChangeLog b/kde-base/kdelibs/ChangeLog
index d58b292f6341..2d853f35dc52 100644
--- a/kde-base/kdelibs/ChangeLog
+++ b/kde-base/kdelibs/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for kde-base/kdelibs
# Copyright 2002-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/kde-base/kdelibs/ChangeLog,v 1.316 2006/04/06 08:42:42 flameeyes Exp $
+# $Header: /var/cvsroot/gentoo-x86/kde-base/kdelibs/ChangeLog,v 1.317 2006/04/17 18:28:09 carlo Exp $
+
+*kdelibs-3.5.2-r3 (17 Apr 2006)
+
+ 17 Apr 2006; Carsten Lohrke <carlo@gentoo.org>
+ +files/kdelibs-3.5.2-kate-fixes-2.diff,
+ +files/kdelibs-3.5.2-kio-fixes.diff, +files/kdelibs-3.5.2-misc-fixes.diff,
+ +kdelibs-3.5.2-r3.ebuild:
+ Updated patch set, fixing various issues.
06 Apr 2006; Diego Pettenò <flameeyes@gentoo.org>
-files/kdelibs-3.5.1-kurllabel.patch, -kdelibs-3.5.0.ebuild,
diff --git a/kde-base/kdelibs/Manifest b/kde-base/kdelibs/Manifest
index e72cf77f3b26..e739468476a2 100644
--- a/kde-base/kdelibs/Manifest
+++ b/kde-base/kdelibs/Manifest
@@ -1,115 +1,40 @@
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA1
-
-MD5 23d986c3fe63c7bf5feaacfc66e27b14 ChangeLog 50870
-RMD160 b89abb962da2235ddc388db92725defdefda3316 ChangeLog 50870
-SHA256 28767286ef7709fd537ffd9245a39aae2db85612bfb066630f00695ff2de83b2 ChangeLog 50870
+MD5 45318cbb96b7787a4c758b581c7d355e ChangeLog 51144
MD5 e8b51d92930950619b2139c22d4e1407 files/digest-kdelibs-3.3.2-r10 517
-RMD160 02fa5c01bcd3d1ca4d7197e6278e524ef3f3ed57 files/digest-kdelibs-3.3.2-r10 517
-SHA256 1de0e42937ee68816eabf4f32d6a445a2eb4fddbbe88ff524f466c57b4ba5d17 files/digest-kdelibs-3.3.2-r10 517
MD5 b6eeb54c84f336414abfd45f4fa6a156 files/digest-kdelibs-3.4.1-r1 68
-RMD160 ab733bc1102f57a113e946f52588d01977ea22c7 files/digest-kdelibs-3.4.1-r1 68
-SHA256 977c66e32d01c7fe8937e0cb70edda4ccd82b15191a644d06fc749f136603c00 files/digest-kdelibs-3.4.1-r1 68
MD5 b6eeb54c84f336414abfd45f4fa6a156 files/digest-kdelibs-3.4.1-r2 68
-RMD160 ab733bc1102f57a113e946f52588d01977ea22c7 files/digest-kdelibs-3.4.1-r2 68
-SHA256 977c66e32d01c7fe8937e0cb70edda4ccd82b15191a644d06fc749f136603c00 files/digest-kdelibs-3.4.1-r2 68
MD5 ac733469cad0b673ee2a6fc35edc0e91 files/digest-kdelibs-3.4.2 68
-RMD160 35b4b5cd961783f698f9571d192d651a55b11c16 files/digest-kdelibs-3.4.2 68
-SHA256 4a9d071579695c2aa2c1007ae216694c93da77532fc8b860c3e1943d5a117674 files/digest-kdelibs-3.4.2 68
MD5 ac733469cad0b673ee2a6fc35edc0e91 files/digest-kdelibs-3.4.2-r1 68
-RMD160 35b4b5cd961783f698f9571d192d651a55b11c16 files/digest-kdelibs-3.4.2-r1 68
-SHA256 4a9d071579695c2aa2c1007ae216694c93da77532fc8b860c3e1943d5a117674 files/digest-kdelibs-3.4.2-r1 68
MD5 e7fe23c3618de82d63dfdc90fb483a86 files/digest-kdelibs-3.4.3 68
-RMD160 e797fa494c2558ef314a455adad009ddfba8937d files/digest-kdelibs-3.4.3 68
-SHA256 0955ab88a478ca0674c741794f05c54ec25663013e73c381360d524b60df7c74 files/digest-kdelibs-3.4.3 68
MD5 e7fe23c3618de82d63dfdc90fb483a86 files/digest-kdelibs-3.4.3-r1 68
-RMD160 e797fa494c2558ef314a455adad009ddfba8937d files/digest-kdelibs-3.4.3-r1 68
-SHA256 0955ab88a478ca0674c741794f05c54ec25663013e73c381360d524b60df7c74 files/digest-kdelibs-3.4.3-r1 68
MD5 4c4f49895caa9f8976a6dced47216f21 files/digest-kdelibs-3.5.2-r2 250
-RMD160 350f7a5f0dcebef5284f69bf12fd63fda5d4b554 files/digest-kdelibs-3.5.2-r2 250
-SHA256 0f76ea6e9b50e50652b39e7372552cab0d8578b6ac2f9c76d2e9efcbf3e5bc97 files/digest-kdelibs-3.5.2-r2 250
+MD5 380d0beea866646a3702d083896cff80 files/digest-kdelibs-3.5.2-r3 68
MD5 a5d3cb18c9572d8ca3dd06cbe5d226f1 files/kde3-dcopidlng.patch 681
-RMD160 ed51b79d085abf13a6883a313c02fbe9fad946e0 files/kde3-dcopidlng.patch 681
-SHA256 5ecc91e40a6e33b9f2a5057867409bc88e350f16595d02a756803c5e5d169bbe files/kde3-dcopidlng.patch 681
MD5 25ab050b323a8efb2049fd770f50058b files/kdelibs-3.3.2-anchor-fix.patch 5947
-RMD160 9bfa0b6a09aa60a7c52b3f2897b8f9d2e7479c70 files/kdelibs-3.3.2-anchor-fix.patch 5947
-SHA256 581d8dbb36681b9455e9479f3b5b1c2df13442a84ce0469b709148edd7ced770 files/kdelibs-3.3.2-anchor-fix.patch 5947
MD5 d3df6d042148fd884422822aaf4ffbab files/kdelibs-3.3.2-aspell-dir.patch 467
-RMD160 955e64a9c0e01926fcc842338496f718e3bcaa8d files/kdelibs-3.3.2-aspell-dir.patch 467
-SHA256 c35e1706ad5687921de1f7d38f9729df4cc812c470e9cde26348fdc5d1a15f63 files/kdelibs-3.3.2-aspell-dir.patch 467
MD5 40783b984dcb127c8852246f7eb0a1e8 files/kdelibs-3.3.2-ppc64.patch 957
-RMD160 c362fecc45636d7a2d25f79c0d2225bf98543677 files/kdelibs-3.3.2-ppc64.patch 957
-SHA256 c2492a503e41b8b652c91ee0bdbe36cb81401aa5c2aee899d3596fce873e2e02 files/kdelibs-3.3.2-ppc64.patch 957
MD5 581be8df4ecfd3cf649bb36b6f57e35a files/kdelibs-3.4.1-configure.patch 4558
-RMD160 37ae02ce1da2b281b6a7a65b72b5749a5f599ed3 files/kdelibs-3.4.1-configure.patch 4558
-SHA256 0a8baf8c4467ca1234b94c6a9a423519a980cc505d6bd8b5e19dd7ef672d5eec files/kdelibs-3.4.1-configure.patch 4558
MD5 b291a4a134cac9072ad1140a78eee9ce files/kdelibs-3.4.1-kntlm.patch 1323
-RMD160 003e35c9ddadc2fa102532b582b4301700b4fa9e files/kdelibs-3.4.1-kntlm.patch 1323
-SHA256 7da50f14bcff27a50fb0a1685e3d5622b6915c7b18dd19466b30e523c52af07b files/kdelibs-3.4.1-kntlm.patch 1323
MD5 4d3faaf48564cde79aac52957f7e6278 files/kdelibs-3.4.1-ktoolbar-crash.patch 2215
-RMD160 ac90500b2cc8a28e7380b92ec36e299bda73344d files/kdelibs-3.4.1-ktoolbar-crash.patch 2215
-SHA256 54449f95e2e1ce26d76541fa591dd99e5a7542a97f7feaee2ab3cda8170c2a6b files/kdelibs-3.4.1-ktoolbar-crash.patch 2215
MD5 4f827df22c4b05fdb50535c985ff5cb1 files/kdelibs-3.4.2-gmail-fix.patch 724
-RMD160 c5a35a17acc2a7b9644f10641e6a6791f7ad5942 files/kdelibs-3.4.2-gmail-fix.patch 724
-SHA256 d148b59cfdcbbd0596adb5d35030b3446694b4b00ff268e58694b2edc7176a08 files/kdelibs-3.4.2-gmail-fix.patch 724
MD5 b0a18256a9bb33e81f45573f07a341e1 files/kdelibs-3.4.3-inttypes.patch 365
-RMD160 168a3826787553cb018ea8f282eedaa203563690 files/kdelibs-3.4.3-inttypes.patch 365
-SHA256 8ad8265109186cc5fa10a85f8006f3147517c102e2129d5a7b4b690f3a77d103 files/kdelibs-3.4.3-inttypes.patch 365
MD5 15d3d3042e0bb2c9b640e8993aa234b1 files/kdelibs-3.5.0-bindnow.patch 1363
-RMD160 e0c25c7ac4bb4d0be389a529aded621499a844cc files/kdelibs-3.5.0-bindnow.patch 1363
-SHA256 243fc766daf2e324ccc7984843c9fe27aa463acacedb35e848eec645f1a232a4 files/kdelibs-3.5.0-bindnow.patch 1363
MD5 091d05a08330372ddbaf5ef9d426be53 files/kdelibs-3.5.0-kicker-crash.patch 1298
-RMD160 d21a8d865fb3dc94dd597221ef14e43b878864b4 files/kdelibs-3.5.0-kicker-crash.patch 1298
-SHA256 55c03dec7736a84e0ef217bef71491a223c0d4d7f9315f2f05cb935ad96b3bd8 files/kdelibs-3.5.0-kicker-crash.patch 1298
+MD5 4173e2f4114839a4f378835b6a52ed74 files/kdelibs-3.5.2-kate-fixes-2.diff 16521
MD5 b90114903755198fb136b739697819eb files/kdelibs-3.5.2-kate-fixes.diff 14651
-RMD160 a6598ddd9c1c27ab97cc7d90cbb5f185c615c103 files/kdelibs-3.5.2-kate-fixes.diff 14651
-SHA256 f9942c9454a5ec0864afc02efe1b0d55ba5b9412fed7e0b944763ff4673a0473 files/kdelibs-3.5.2-kate-fixes.diff 14651
MD5 f80013d47f75d05b7d79c2a8aa93f19c files/kdelibs-3.5.2-kio-errror-handling.diff 3919
-RMD160 116461122bf41acde461ff76cdf0b63b356b10bd files/kdelibs-3.5.2-kio-errror-handling.diff 3919
-SHA256 33293320f31258d7a402808e44d052eb6f9d1774feb9bdce35952ee78e71bbbf files/kdelibs-3.5.2-kio-errror-handling.diff 3919
+MD5 60558f20708e58f343461af74915f9de files/kdelibs-3.5.2-kio-fixes.diff 6739
+MD5 3327af3adbdebae3ca8fc90f992d4e2c files/kdelibs-3.5.2-misc-fixes.diff 14127
MD5 073d3bf868dd8f07df2029d692308cb4 files/kdelibs-3.5.2-xorg7-rgbtxt.patch 633
-RMD160 778c7cbf959ec1ed49ced9c1883d77c178f5c7b5 files/kdelibs-3.5.2-xorg7-rgbtxt.patch 633
-SHA256 a16796bcda093dcbb51fb62c7e7bd0db1d174cc7b691a6bdbd863fd803d4ed25 files/kdelibs-3.5.2-xorg7-rgbtxt.patch 633
MD5 7e082af5fd71b9b01d01a86f31646499 files/post-3.3.2-kdelibs-htmlframes2.patch 989
-RMD160 0667bec1d6c4f77d34693f33770a3d7e5db9e67b files/post-3.3.2-kdelibs-htmlframes2.patch 989
-SHA256 101f230e3e760c68323e9392ba666123a495b3885000e570c0b484370f134561 files/post-3.3.2-kdelibs-htmlframes2.patch 989
MD5 138c3252883171d55ec24ed0318950fd files/post-3.3.2-kdelibs-kate.diff 2212
-RMD160 78afa73da3f39e123a4d24aa216a5260f2484372 files/post-3.3.2-kdelibs-kate.diff 2212
-SHA256 7f02119f028936033afe7e7e49aa661c73a1b7af6801a281c832544d76b37ea1 files/post-3.3.2-kdelibs-kate.diff 2212
MD5 ecc0ec13ce3b06e94e35aa8e937e02bf files/post-3.4.3-kdelibs-kjs.diff 1570
-RMD160 95a341acfe20ac53f528c31be17e50dba2163f8d files/post-3.4.3-kdelibs-kjs.diff 1570
-SHA256 2031efa2a5e4a747d5e2630ccd0cae62d7413de025786069931c01b07fc5a724 files/post-3.4.3-kdelibs-kjs.diff 1570
MD5 a0a423eb46bcca9f140b0a97645a0177 kdelibs-3.3.2-r10.ebuild 4318
-RMD160 e6323e26050b02ff98f888659fa6c1017b7cf9e1 kdelibs-3.3.2-r10.ebuild 4318
-SHA256 a1f09717ba0e7b34c4aa6b0f3ff0b26ab63dfdf2e19f67dcc276f78a7a0e40e5 kdelibs-3.3.2-r10.ebuild 4318
MD5 176460cf9160b02b1a157612af59e346 kdelibs-3.4.1-r1.ebuild 3363
-RMD160 399a993c72c61f1bb76ac0fd3e03b5da11426a67 kdelibs-3.4.1-r1.ebuild 3363
-SHA256 4b105fc726fd5f1c778d1432409e232f041e8f188a7c57b1d477a3b8b4f109a3 kdelibs-3.4.1-r1.ebuild 3363
MD5 b75b773aa95374e55799e86e678173d6 kdelibs-3.4.1-r2.ebuild 3364
-RMD160 1bd31964a458676182791cb933861389c2b86836 kdelibs-3.4.1-r2.ebuild 3364
-SHA256 3e61422a0866d26116de0ef1fba2ae83e46f50c6f830059fb0067e1c2c4648bd kdelibs-3.4.1-r2.ebuild 3364
MD5 12b3f3cc444cc940ed50e352054ccb7f kdelibs-3.4.2-r1.ebuild 3341
-RMD160 ebc4ccdbcb8cdc48b7eea50a5c6589b9862d93f0 kdelibs-3.4.2-r1.ebuild 3341
-SHA256 e7d7b2920bd0a0e8ffc6693bb8ea5f3b92fb639dea1314378e488d15aaad07a3 kdelibs-3.4.2-r1.ebuild 3341
MD5 2fd53a7c014e4527505ec32ec5425575 kdelibs-3.4.2.ebuild 3346
-RMD160 37e4dcb010637218385ca342d28088c1fd4da319 kdelibs-3.4.2.ebuild 3346
-SHA256 76d4639b702bb8ba29ed795b3ce5d0eba2bee5ca275a2c97c8b527a53a8907c0 kdelibs-3.4.2.ebuild 3346
MD5 2c50f5fde5dce4194f6b3dd5e21dfe4a kdelibs-3.4.3-r1.ebuild 3481
-RMD160 9d807e8decea2fe8b2193bec5557d8d788ec689c kdelibs-3.4.3-r1.ebuild 3481
-SHA256 6157936a48799baf75da7264fe1bf3fbff5a6009c94af65c896303230d26f247 kdelibs-3.4.3-r1.ebuild 3481
MD5 8118ed2fe88987c7ed81197599658246 kdelibs-3.4.3.ebuild 3383
-RMD160 870e0416082a16fdb32316a46c3984738b50cbd5 kdelibs-3.4.3.ebuild 3383
-SHA256 b3d115570db1abe9d8582b39824cfa31a263a6cc889fcfc280960cf3330842d7 kdelibs-3.4.3.ebuild 3383
MD5 a16c66fff6c663988a028192d97a00db kdelibs-3.5.2-r2.ebuild 4092
-RMD160 a128ed65e8f7aae482b4ea30229a572c7d9bfff1 kdelibs-3.5.2-r2.ebuild 4092
-SHA256 3174528bf98032617ec1917f57ae4fd7e4d0812b6fb2d4fce049dec5a5c11c9f kdelibs-3.5.2-r2.ebuild 4092
+MD5 c8542fe03b6750cd9f3b11ca1b75ab25 kdelibs-3.5.2-r3.ebuild 4127
MD5 acc03a4b12bb0433a57e95bd253b9501 metadata.xml 156
-RMD160 ecce3b981f150c45ae1e84e2d208e678d6124259 metadata.xml 156
-SHA256 2f4da28506b9d4185f320f67a6191d30c7a921217ed4447ed46ea0bc4aefc79a metadata.xml 156
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.2.2 (GNU/Linux)
-
-iD8DBQFENNQ6AiZjviIA2XgRAo5mAJ9dZKL6qirTLwclJKRxpt59P/9ZXACgja0k
-chstxJt0vlzP8iKZ7adP2Zw=
-=9fob
------END PGP SIGNATURE-----
diff --git a/kde-base/kdelibs/files/digest-kdelibs-3.5.2-r3 b/kde-base/kdelibs/files/digest-kdelibs-3.5.2-r3
new file mode 100644
index 000000000000..7399e31d3824
--- /dev/null
+++ b/kde-base/kdelibs/files/digest-kdelibs-3.5.2-r3
@@ -0,0 +1 @@
+MD5 367738696dc468859cf90d5a6e8f18a9 kdelibs-3.5.2.tar.bz2 15442103
diff --git a/kde-base/kdelibs/files/kdelibs-3.5.2-kate-fixes-2.diff b/kde-base/kdelibs/files/kdelibs-3.5.2-kate-fixes-2.diff
new file mode 100644
index 000000000000..a2abc7b1febf
--- /dev/null
+++ b/kde-base/kdelibs/files/kdelibs-3.5.2-kate-fixes-2.diff
@@ -0,0 +1,366 @@
+--- kdelibs/kate/part/katedocument.cpp 2006/01/08 19:00:12 495724
++++ kdelibs/kate/part/katedocument.cpp 2006/04/02 12:12:26 525537
+@@ -699,6 +699,10 @@
+
+ bool replacetabs = ( config()->configFlags() & KateDocumentConfig::cfReplaceTabsDyn && ! m_isInUndo );
+ uint tw = config()->tabWidth();
++ uint insertPosExpanded = insertPos;
++ KateTextLine::Ptr l = m_buffer->line( line );
++ if (l != 0)
++ insertPosExpanded = l->cursorX( insertPos, tw );
+
+ for (uint pos = 0; pos < len; pos++)
+ {
+@@ -706,28 +710,30 @@
+
+ if (ch == '\n')
+ {
++ editInsertText (line, insertPos, buf);
++
+ if ( !blockwise )
+ {
+- editInsertText (line, insertPos, buf);
+ editWrapLine (line, insertPos + buf.length());
++ insertPos = insertPosExpanded = 0;
+ }
+ else
+ {
+- editInsertText (line, col, buf);
+-
+ if ( line == lastLine() )
+- editWrapLine (line, col + buf.length());
++ editWrapLine (line, insertPos + buf.length());
+ }
+
+ line++;
+- insertPos = 0;
+ buf.truncate(0);
++ l = m_buffer->line( line );
++ if (l)
++ insertPosExpanded = l->cursorX( insertPos, tw );
+ }
+ else
+ {
+ if ( replacetabs && ch == '\t' )
+ {
+- uint tr = tw - ( ((blockwise?col:insertPos)+buf.length())%tw ); //###
++ uint tr = tw - ( insertPosExpanded+buf.length() )%tw;
+ for ( uint i=0; i < tr; i++ )
+ buf += ' ';
+ }
+@@ -736,10 +742,7 @@
+ }
+ }
+
+- if ( !blockwise )
+- editInsertText (line, insertPos, buf);
+- else
+- editInsertText (line, col, buf);
++ editInsertText (line, insertPos, buf);
+
+ editEnd ();
+ emit textInserted(line,insertPos);
+@@ -3097,29 +3100,7 @@
+ if (pos < 0 || pos >= (int)colX)
+ {
+ // only spaces on left side of cursor
+- // search a line with less spaces
+- int y = line;
+- while (--y >= 0)
+- {
+- // this is save, y <= line, and line was already success
+- textLine = m_buffer->plainLine(y);
+-
+- pos = textLine->firstChar();
+-
+- if (pos >= 0)
+- {
+- pos = textLine->cursorX(pos, config()->tabWidth());
+- if (pos < (int)colX)
+- {
+- replaceWithOptimizedSpace(line, col, pos, config()->configFlags());
+- break;
+- }
+- }
+- }
+- if (y < 0) {
+- // FIXME: what shoud we do in this case?
+- removeText(line, 0, line, col+complement);
+- }
++ indent( view, line, -1);
+ }
+ else
+ removeText(line, col-1, line, col+complement);
+--- kdelibs/kate/data/ada.xml 2005/07/26 18:54:59 438982
++++ kdelibs/kate/data/ada.xml 2006/04/01 13:39:45 525264
+@@ -73,14 +73,16 @@
+ <context attribute="Normal Text" lineEndContext="#stay" name="Default">
+ <RegExpr attribute="Keyword" context="#stay" String="if " insensitive="TRUE" beginRegion="Region1" firstNonSpace="true"/>
+ <StringDetect attribute="Keyword" context="#stay" String="end if" insensitive="TRUE" endRegion="Region1"/>
+- <RegExpr attribute="Keyword" context="#stay" String="case " insensitive="TRUE" beginRegion="Region2" firstNonSpace="true"/>
+- <StringDetect attribute="Keyword" context="#stay" String="end case" insensitive="TRUE" endRegion="Region2"/>
+ <RegExpr attribute="Keyword" context="#stay" String="\sloop\s+" insensitive="TRUE" beginRegion="Region3"/>
+ <RegExpr attribute="Keyword" context="#stay" String="\sloop$" insensitive="TRUE" beginRegion="Region3"/>
+ <StringDetect attribute="Keyword" context="#stay" String="end loop;" insensitive="TRUE" endRegion="Region3"/>
+ <RegExpr attribute="Keyword" context="#stay" String="\sselect\s+" insensitive="TRUE" beginRegion="Region4"/>
+ <RegExpr attribute="Keyword" context="#stay" String="\sselect$" insensitive="TRUE" beginRegion="Region4"/>
+ <StringDetect attribute="Keyword" context="#stay" String="end select;" insensitive="TRUE" endRegion="Region4"/>
++ <RegExpr attribute="Keyword" context="#stay" String="\b(begin|case|record)\b" insensitive="true" beginRegion="Region5"/>
++ <RegExpr attribute="Keyword" context="#stay" String="\bend(?=((\{[^}]*(\}|$)|\(\*.*(\*\)|$))*)([.;\s]|$)|//|$)" insensitive="true" endRegion="Region5"/>
++ <StringDetect attribute="Region Marker" context="Region Marker" String="-- BEGIN" beginRegion="RegionMarker" firstNonSpace="true" />
++ <StringDetect attribute="Region Marker" context="Region Marker" String="-- END" endRegion="RegionMarker" firstNonSpace="true" />
+ <keyword attribute="Keyword" context="#stay" String="keywords"/>
+ <Float attribute="Float" context="#stay"/>
+ <Int attribute="Decimal" context="#stay"/>
+@@ -88,6 +90,7 @@
+ <DetectChar attribute="String" context="String" char="&quot;"/>
+ <Detect2Chars attribute="Comment" context="Comment" char="-" char1="-"/>
+ </context>
++ <context attribute="Region Marker" lineEndContext="#pop" name="Region Marker"/>
+ <context attribute="String" lineEndContext="#pop" name="String">
+ <DetectChar attribute="String" context="#pop" char="&quot;"/>
+ </context>
+@@ -102,6 +105,7 @@
+ <itemData name="Char" defStyleNum="dsChar" />
+ <itemData name="String" defStyleNum="dsString" />
+ <itemData name="Comment" defStyleNum="dsComment" />
++ <itemData name="Region Marker" defStyleNum="dsRegionMarker" />
+ </itemDatas>
+ </highlighting>
+ <general>
+--- kdelibs/kate/data/cpp.xml 2006/01/02 21:02:02 493660
++++ kdelibs/kate/data/cpp.xml 2006/04/01 13:39:45 525264
+@@ -1,6 +1,6 @@
+ <?xml version="1.0" encoding="UTF-8"?>
+ <!DOCTYPE language SYSTEM "language.dtd">
+-<language name="C++" version="1.34" kateversion="2.4" section="Sources" extensions="*.cxx;*.cpp;*.cc;*.C;*.h;*.hh;*.H;*.hxx;*.hpp;*.hcc;*.moc" mimetype="text/x-c++src;text/x-c++hdr;text/x-chdr" priority="9">
++<language name="C++" version="1.36" kateversion="2.4" section="Sources" extensions="*.c++;*.cxx;*.cpp;*.cc;*.C;*.h;*.H;*.h++;*.hxx;*.hpp;*.hcc;*.moc" mimetype="text/x-c++src;text/x-c++hdr;text/x-chdr" priority="9">
+ <highlighting>
+ <list name="keywords">
+ <item> asm </item>
+@@ -31,6 +31,7 @@
+ <item> private </item>
+ <item> protected </item>
+ <item> public </item>
++ <item> qobject_cast </item>
+ <item> reinterpret_cast </item>
+ <item> return </item>
+ <item> sizeof </item>
+@@ -79,6 +80,33 @@
+ <item> Q_OVERRIDE </item>
+ <item> Q_PROPERTY </item>
+ <item> Q_SETS </item>
++ <item> Q_SIGNALS </item>
++ <item> Q_SLOTS </item>
++ <item> Q_FOREACH </item>
++ <item> Q_DECLARE_FLAGS </item>
++ <item> Q_INIT_RESOURCE </item>
++ <item> Q_CLEANUP_RESOURCE </item>
++ <item> Q_GLOBAL_STATIC </item>
++ <item> Q_GLOBAL_STATIC_WITH_ARGS </item>
++ <item> Q_DECLARE_TYPEINFO </item>
++ <item> Q_DECLARE_SHARED </item>
++ <item> Q_DECLARE_FLAGS </item>
++ <item> Q_DECLARE_OPERATORS_FOR_FLAGS </item>
++ <item> Q_FOREVER </item>
++ <item> Q_DECLARE_PRIVATE </item>
++ <item> Q_DECLARE_PUBLIC </item>
++ <item> Q_D </item>
++ <item> Q_Q </item>
++ <item> Q_DISABLE_COPY </item>
++ <item> Q_INTERFACES </item>
++ <item> Q_FLAGS </item>
++ <item> Q_SCRIPTABLE </item>
++ <item> Q_INVOKABLE </item>
++ <item> Q_GADGET </item>
++ <item> Q_ARG </item>
++ <item> Q_RETURN_ARG </item>
++ <item> Q_ASSERT </item>
++ <item> Q_ASSERT_X </item>
+ <item> TRUE </item>
+ <item> FALSE </item>
+ <item> connect </item>
+@@ -87,6 +115,7 @@
+ <item> signals </item>
+ <item> slots </item>
+ <item> foreach </item>
++ <item> forever </item>
+ </list>
+ <list name="types">
+ <item> auto </item>
+--- kdelibs/kate/data/logtalk.xml 2005/07/26 18:54:59 438982
++++ kdelibs/kate/data/logtalk.xml 2006/04/01 13:39:45 525264
+@@ -1,7 +1,7 @@
+ <?xml version="1.0" encoding="UTF-8"?>
+ <!DOCTYPE language SYSTEM "language.dtd">
+
+-<language name="Logtalk" version="1.40" kateversion="2.4" section="Sources" extensions="*.lgt;*.config" mimetype="text/x-logtalk" author="Paulo Moura (pmoura@logtalk.org)" license="Artistic License 2.0">
++<language name="Logtalk" version="1.51" kateversion="2.4" section="Sources" extensions="*.lgt;*.config" mimetype="text/x-logtalk" author="Paulo Moura (pmoura@logtalk.org)" license="Artistic License 2.0">
+
+ <highlighting>
+
+@@ -17,11 +17,11 @@
+ <!-- Reflection -->
+ <RegExpr String = "\b(current_predicate|predicate_property)(?=[(])" attribute = "Built-in" context = "#stay" />
+ <!-- DCGs -->
+- <RegExpr String = "\b(expand_term|phrase)(?=[(])" attribute = "Built-in" context = "#stay" />
++ <RegExpr String = "\b(expand_term|term_expansion|phrase)(?=[(])" attribute = "Built-in" context = "#stay" />
+ <!-- Entity -->
+ <RegExpr String = "\b(abolish|c(reate|urrent))_(object|protocol|category)(?=[(])" attribute = "Built-in" context = "#stay" />
+ <RegExpr String = "\b(object|protocol|category)_property(?=[(])" attribute = "Built-in" context = "#stay" />
+- <!-- Event handlers -->
++ <!-- Entity relations -->
+ <RegExpr String = "\bextends_(object|protocol)(?=[(])" attribute = "Built-in" context = "#stay" />
+ <RegExpr String = "\bimplements_protocol(?=[(])" attribute = "Built-in" context = "#stay" />
+ <RegExpr String = "\b(instantiates|specializes)_class(?=[(])" attribute = "Built-in" context = "#stay" />
+@@ -48,7 +48,7 @@
+ <RegExpr String = "\b(rem|mod|abs|sign)(?=[(])" attribute = "Built-in" context = "#stay" />
+ <RegExpr String = "\bfloat(_(integer|fractional)_part)?(?=[(])" attribute = "Built-in" context = "#stay" />
+ <RegExpr String = "\b(floor|truncate|round|ceiling)(?=[(])" attribute = "Built-in" context = "#stay" />
+- <!-- Other arithemtic functors -->
++ <!-- Other arithmetic functors -->
+ <RegExpr String = "\b(cos|atan|exp|log|s(in|qrt))(?=[(])" attribute = "Built-in" context = "#stay" />
+ <!-- Term testing -->
+ <RegExpr String = "\b(var|atom(ic)?|integer|float|compound|n(onvar|umber))(?=[(])" attribute = "Built-in" context = "#stay" />
+@@ -149,15 +149,16 @@
+ <!-- Entity directives -->
+ <RegExpr String = "\b(category|object|protocol)(?=[(])" attribute = "Directive" context = "entityrelations" beginRegion = "Entity"/>
+ <RegExpr String = "\bend_(category|object|protocol)[.]" attribute = "Directive" context = "#pop" endRegion = "Entity" />
++ <RegExpr String = "\bmodule(?=[(])" attribute = "Directive" context = "#pop"/>
+ <!-- Predicate scope directives -->
+ <RegExpr String = "\bp(ublic|r(otected|ivate))(?=[(])" attribute = "Directive" context = "#pop" />
+ <!-- Other directives -->
+- <RegExpr String = "\bencoding(?=[(])" attribute = "Directive" context = "#pop" />
++ <RegExpr String = "\be(ncoding|xport)(?=[(])" attribute = "Directive" context = "#pop" />
+ <RegExpr String = "\bin(fo|itialization)(?=[(])" attribute = "Directive" context = "#pop" />
+ <RegExpr String = "\bdynamic[.]" attribute = "Directive" context = "#pop" />
+- <RegExpr String = "\b(alias|d(ynamic|iscontiguous)|m(etapredicate|ode|ultifile))(?=[(])" attribute = "Directive" context = "#pop" />
++ <RegExpr String = "\b(alias|d(ynamic|iscontiguous)|meta_predicate|m(etapredicate|ode|ultifile))(?=[(])" attribute = "Directive" context = "#pop" />
+ <RegExpr String = "\bop(?=[(])" attribute = "Directive" context = "#pop" />
+- <RegExpr String = "\b(calls|uses)(?=[(])" attribute = "Directive" context = "#pop" />
++ <RegExpr String = "\b(calls|use(s|_module))(?=[(])" attribute = "Directive" context = "#pop" />
+ </context>
+
+ <context name = "entityrelations" attribute = "Normal" lineEndContext = "#stay" >
+--- kdelibs/kate/data/lua.xml 2005/07/26 18:54:59 438982
++++ kdelibs/kate/data/lua.xml 2006/04/01 13:39:45 525264
+@@ -1,6 +1,6 @@
+ <?xml version="1.0" encoding="UTF-8"?>
+ <!DOCTYPE language SYSTEM "language.dtd">
+-<language name="Lua" version="0.22" kateversion="2.3" section="Scripts" extensions="*.lua" mimetype="text/x-lua">
++<language name="Lua" version="0.23" kateversion="2.3" section="Scripts" extensions="*.lua" mimetype="text/x-lua">
+ <highlighting>
+ <list name="keywords">
+ <item> and </item>
+@@ -19,7 +19,7 @@
+ <item> else </item>
+ <item> or </item>
+ <item> while </item>
+- <item> elsif </item>
++ <item> elseif </item>
+ <item> in </item>
+ <item> repeat </item>
+ </list>
+--- kdelibs/kate/data/php.xml 2005/09/29 19:26:30 465432
++++ kdelibs/kate/data/php.xml 2006/04/01 13:39:45 525264
+@@ -1,6 +1,12 @@
+ <?xml version="1.0" encoding="UTF-8"?>
++<!--
++ Changes: version 1.25 -> 1.26
++ Date: 26/01/2006
++ Change author: Nicola Gigante
++ Added alternative syntax control structures and named logical operators (and or xor)
++-->
+ <!DOCTYPE language SYSTEM "language.dtd">
+-<language name="PHP/PHP" version="1.25" kateversion="2.4" section="Scripts" extensions="" priority="5" mimetype="" hidden="true">
++<language name="PHP/PHP" version="1.26" kateversion="2.4" section="Scripts" extensions="" priority="5" mimetype="" hidden="true">
+ <highlighting>
+ <list name="control structures">
+ <item>as</item>
+@@ -21,6 +27,11 @@
+ <item>include</item>
+ <item>require_once</item>
+ <item>include_once</item>
++ <item>endif</item>
++ <item>endwhile</item>
++ <item>endfor</item>
++ <item>endforeach</item>
++ <item>endswitch</item>
+ </list>
+ <list name="keywords">
+ <item> abstract </item>
+@@ -42,6 +53,9 @@
+ <item> public </item>
+ <item> throw </item>
+ <item> try </item>
++ <item> and </item>
++ <item> or </item>
++ <item> xor </item>
+ <item> var </item>
+ <item> __FILE__ </item>
+ <item> __LINE__ </item>
+--- kdelibs/kate/data/ruby.xml 2006/02/14 17:22:27 509424
++++ kdelibs/kate/data/ruby.xml 2006/03/28 19:38:13 523673
+@@ -34,7 +34,7 @@
+ -->
+
+ <!-- Hold the "language" opening tag on a single line, as mentioned in "language.dtd". -->
+-<language name="Ruby" version="1.17" kateversion="2.4" section="Scripts" extensions="*.rb;*.rxml" mimetype="application/x-ruby" author="Stefan Lang (langstefan@gmx.at), Sebastian Vuorinen (sebastian.vuorinen@helsinki.fi)" license="LGPL">
++<language name="Ruby" version="1.17" kateversion="2.4" section="Scripts" extensions="*.rb;*.rjs;*.rxml" mimetype="application/x-ruby" author="Stefan Lang (langstefan@gmx.at), Sebastian Vuorinen (sebastian.vuorinen@helsinki.fi)" license="LGPL">
+
+ <highlighting>
+
+--- kdelibs/kate/part/katedialogs.cpp 2005/12/26 02:23:26 491408
++++ kdelibs/kate/part/katedialogs.cpp 2006/04/06 12:43:37 526985
+@@ -1634,7 +1634,7 @@
+ // Start a KProcess that creates a diff
+ KProcIO *p = new KProcIO();
+ p->setComm( KProcess::All );
+- *p << "diff" << "-ub" << "-" << m_doc->url().path();
++ *p << "diff" << "-u" << "-" << m_doc->url().path();
+ connect( p, SIGNAL(processExited(KProcess*)), this, SLOT(slotPDone(KProcess*)) );
+ connect( p, SIGNAL(readReady(KProcIO*)), this, SLOT(slotPRead(KProcIO*)) );
+
+@@ -1644,7 +1644,7 @@
+
+ uint lastln = m_doc->numLines();
+ for ( uint l = 0; l < lastln; l++ )
+- p->writeStdin( m_doc->textLine( l ), l < lastln );
++ p->writeStdin( m_doc->textLine( l ) );
+
+ p->closeWhenDone();
+ }
+@@ -1656,15 +1656,32 @@
+ m_tmpfile = new KTempFile();
+ // put all the data we have in it
+ QString stmp;
++ bool dataRead = false;
+ while ( p->readln( stmp, false ) > -1 )
++ {
+ *m_tmpfile->textStream() << stmp << endl;
++ dataRead = true;
++ }
+
+- p->ackRead();
++ // dominik: only ackRead(), when we *really* read data, otherwise, this slot
++ // is called initity times, which leads to a crash
++ if( dataRead )
++ p->ackRead();
+ }
+
+ void KateModOnHdPrompt::slotPDone( KProcess *p )
+ {
+ setCursor( ArrowCursor );
++ if( ! m_tmpfile )
++ {
++ // dominik: there were only whitespace changes, so that the diff returned by
++ // diff(1) has 0 bytes. So slotPRead() is never called, as there is
++ // no data, so that m_tmpfile was never created and thus is NULL.
++ // NOTE: would be nice, if we could produce a fake-diff, so that kompare
++ // tells us "The files are identical". Right now, we get an ugly
++ // "Could not parse diff output".
++ m_tmpfile = new KTempFile();
++ }
+ m_tmpfile->close();
+
+ if ( ! p->normalExit() /*|| p->exitStatus()*/ )
diff --git a/kde-base/kdelibs/files/kdelibs-3.5.2-kio-fixes.diff b/kde-base/kdelibs/files/kdelibs-3.5.2-kio-fixes.diff
new file mode 100644
index 000000000000..54df574a23d2
--- /dev/null
+++ b/kde-base/kdelibs/files/kdelibs-3.5.2-kio-fixes.diff
@@ -0,0 +1,177 @@
+--- kdelibs/kio/kio/job.cpp 2006/02/27 23:07:01 514315
++++ kdelibs/kio/kio/job.cpp 2006/03/24 13:29:00 522108
+@@ -2786,7 +2786,7 @@
+ {
+ m_conflictError = job->error();
+ if ( (m_conflictError == ERR_DIR_ALREADY_EXIST)
+- || (m_conflictError == ERR_FILE_ALREADY_EXIST) )
++ || (m_conflictError == ERR_FILE_ALREADY_EXIST) ) // can't happen?
+ {
+ KURL oldURL = ((SimpleJob*)job)->url();
+ // Should we skip automatically ?
+@@ -3050,7 +3050,8 @@
+ m_conflictError = job->error(); // save for later
+ // Existing dest ?
+ if ( ( m_conflictError == ERR_FILE_ALREADY_EXIST )
+- || ( m_conflictError == ERR_DIR_ALREADY_EXIST ) )
++ || ( m_conflictError == ERR_DIR_ALREADY_EXIST )
++ || ( m_conflictError == ERR_IDENTICAL_FILES ) )
+ {
+ subjobs.remove( job );
+ assert ( subjobs.isEmpty() );
+@@ -3132,7 +3133,8 @@
+ m_reportTimer->stop();
+
+ if ( ( m_conflictError == ERR_FILE_ALREADY_EXIST )
+- || ( m_conflictError == ERR_DIR_ALREADY_EXIST ) )
++ || ( m_conflictError == ERR_DIR_ALREADY_EXIST )
++ || ( m_conflictError == ERR_IDENTICAL_FILES ) )
+ {
+ // Its modification time:
+ time_t destmtime = (time_t)-1;
+@@ -3161,6 +3163,7 @@
+ // Offer overwrite only if the existing thing is a file
+ // If src==dest, use "overwrite-itself"
+ RenameDlg_Mode mode;
++ bool isDir = true;
+
+ if( m_conflictError == ERR_DIR_ALREADY_EXIST )
+ mode = (RenameDlg_Mode) 0;
+@@ -3172,6 +3175,7 @@
+ mode = M_OVERWRITE_ITSELF;
+ else
+ mode = M_OVERWRITE;
++ isDir = false;
+ }
+
+ if ( m_bSingleFileCopy )
+@@ -3179,7 +3183,7 @@
+ else
+ mode = (RenameDlg_Mode) ( mode | M_MULTI | M_SKIP );
+
+- res = Observer::self()->open_RenameDlg( this, m_conflictError == ERR_FILE_ALREADY_EXIST ?
++ res = Observer::self()->open_RenameDlg( this, !isDir ?
+ i18n("File Already Exists") : i18n("Already Exists as Folder"),
+ (*it).uSource.url(),
+ (*it).uDest.url(),
+@@ -3602,7 +3606,9 @@
+ // In that case it's the _same_ dir, we don't want to copy+del (data loss!)
+ if ( m_currentSrcURL.isLocalFile() && m_currentSrcURL.url(-1) != dest.url(-1) &&
+ m_currentSrcURL.url(-1).lower() == dest.url(-1).lower() &&
+- ( err == ERR_FILE_ALREADY_EXIST || err == ERR_DIR_ALREADY_EXIST ) )
++ ( err == ERR_FILE_ALREADY_EXIST ||
++ err == ERR_DIR_ALREADY_EXIST ||
++ err == ERR_IDENTICAL_FILES ) )
+ {
+ kdDebug(7007) << "Couldn't rename directly, dest already exists. Detected special case of lower/uppercase renaming in same dir, try with 2 rename calls" << endl;
+ QCString _src( QFile::encodeName(m_currentSrcURL.path()) );
+@@ -3643,7 +3649,9 @@
+ Q_ASSERT( m_currentSrcURL == *m_currentStatSrc );
+
+ // Existing dest?
+- if ( ( err == ERR_DIR_ALREADY_EXIST || err == ERR_FILE_ALREADY_EXIST )
++ if ( ( err == ERR_DIR_ALREADY_EXIST ||
++ err == ERR_FILE_ALREADY_EXIST ||
++ err == ERR_IDENTICAL_FILES )
+ && isInteractive() )
+ {
+ if (m_reportTimer)
+@@ -3693,7 +3701,7 @@
+
+ RenameDlg_Result r = Observer::self()->open_RenameDlg(
+ this,
+- err == ERR_FILE_ALREADY_EXIST ? i18n("File Already Exists") : i18n("Already Exists as Folder"),
++ err != ERR_DIR_ALREADY_EXIST ? i18n("File Already Exists") : i18n("Already Exists as Folder"),
+ m_currentSrcURL.url(),
+ dest.url(),
+ mode, newPath,
+--- kdelibs/kio/kio/authinfo.cpp 2005/09/29 09:47:40 465272
++++ kdelibs/kio/kio/authinfo.cpp 2006/04/05 22:35:54 526917
+@@ -326,6 +326,7 @@
+ }
+
+ delete [] buf;
++ fclose (fstream);
+ close (fd);
+ return true;
+ }
+--- kdelibs/kio/kio/forwardingslavebase.cpp 2006/02/27 23:07:01 514315
++++ kdelibs/kio/kio/forwardingslavebase.cpp 2006/04/12 09:57:56 528985
+@@ -69,10 +69,8 @@
+ kdDebug() << "ForwardingSlaveBase::prepareUDSEntry: listing=="
+ << listing << endl;
+
+- bool mimetype_found = false;
+- bool name_found = false;
+ bool url_found = false;
+- QString name, mimetype;
++ QString name;
+ KURL url;
+
+ KIO::UDSEntry::iterator it = entry.begin();
+@@ -85,7 +83,6 @@
+ switch( (*it).m_uds )
+ {
+ case KIO::UDS_NAME:
+- name_found = true;
+ name = (*it).m_str;
+ kdDebug() << "Name = " << name << endl;
+ break;
+@@ -100,36 +97,7 @@
+ kdDebug() << "URL = " << url << endl;
+ kdDebug() << "New URL = " << (*it).m_str << endl;
+ break;
+- case KIO::UDS_MIME_TYPE:
+- mimetype_found = true;
+- mimetype = (*it).m_str;
+- kdDebug() << "Mimetype = " << (*it).m_str << endl;
+- break;
+- }
+- }
+-
+- if (!mimetype_found)
+- {
+- KURL new_url = m_processedURL;
+- if (url_found && listing)
+- {
+- new_url.addPath( url.fileName() );
+- }
+- else if (name_found && listing)
+- {
+- new_url.addPath( name );
+ }
+-
+- KMimeType::Ptr mime = KMimeType::findByURL(new_url);
+- mimetype = mime->name();
+-
+- KIO::UDSAtom atom;
+- atom.m_uds = KIO::UDS_MIME_TYPE;
+- atom.m_long = 0;
+- atom.m_str = mimetype;
+- entry.append(atom);
+-
+- kdDebug() << "New Mimetype = " << mime->name() << endl;
+ }
+
+ if ( m_processedURL.isLocalFile() )
+--- kdelibs/kio/misc/kpac/kpac_dhcp_helper.c 2005/12/09 20:37:46 487225
++++ kdelibs/kio/misc/kpac/kpac_dhcp_helper.c 2006/04/14 14:45:22 529823
+@@ -94,6 +94,7 @@
+ exit(1);
+
+ if (setsockopt(sock, SOL_SOCKET, SO_BROADCAST, &bcast, sizeof(bcast)) == -1 ||
++ setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &bcast, sizeof(bcast)) == -1 ||
+ bind(sock, (struct sockaddr *)&addr, sizeof(addr)) == -1)
+ exit(1);
+
+--- kdelibs/kio/kssl/ksslinfodlg.cc 2005/09/29 09:47:40 465272
++++ kdelibs/kio/kssl/ksslinfodlg.cc 2006/04/13 14:57:25 529483
+@@ -433,7 +433,7 @@
+ KURLLabel *mail = new KURLLabel(tmp, tmp, _frame);
+ connect(mail, SIGNAL(leftClickedURL(const QString &)), mailCatcher, SLOT(mailClicked(const QString &)));
+ } else {
+- new QLabel(tmp, _frame);
++ label = new QLabel(tmp, _frame);
+ }
+ }
+ if (label && viewport()) { \ No newline at end of file
diff --git a/kde-base/kdelibs/files/kdelibs-3.5.2-misc-fixes.diff b/kde-base/kdelibs/files/kdelibs-3.5.2-misc-fixes.diff
new file mode 100644
index 000000000000..17ee7abfb27b
--- /dev/null
+++ b/kde-base/kdelibs/files/kdelibs-3.5.2-misc-fixes.diff
@@ -0,0 +1,446 @@
+--- kdelibs/kparts/factory.cpp 2005/09/29 09:47:40 465272
++++ kdelibs/kparts/factory.cpp 2006/04/05 22:48:19 526923
+@@ -64,7 +64,7 @@
+ if ( !factory )
+ return 0;
+ KParts::Factory *pfactory = dynamic_cast<KParts::Factory *>( factory );
+- if ( !factory )
++ if ( !pfactory )
+ return 0;
+ return pfactory->partInstance();
+ }
+--- kdelibs/kdeui/kcmodule.cpp 2005/09/29 09:47:40 465272
++++ kdelibs/kdeui/kcmodule.cpp 2006/04/05 17:22:08 526823
+@@ -79,7 +79,12 @@
+ {
+ init();
+ d->_instance = instance;
+- KGlobal::locale()->insertCatalogue(instance->instanceName());
++
++ if (instance)
++ {
++ KGlobal::locale()->insertCatalogue(instance->instanceName());
++ }
++
+ d->_hasOwnInstance = false;
+ KGlobal::setActiveInstance(this->instance());
+ }
+--- kdelibs/kdeui/kcolordialog.cpp 2006/02/14 13:21:59 509356
++++ kdelibs/kdeui/kcolordialog.cpp 2006/04/07 13:50:45 527264
+@@ -242,7 +242,7 @@
+ p = (uint *) image.scanLine( ySize - s - 1 );
+ for( h = 0; h < xSize; h++ )
+ {
+- col.setHsv( 359*h/(xSize-1), 255*s/(ySize-1), 192 );
++ col.setHsv( 359*h/(xSize-1), 255*s/((ySize == 1) ? 1 : ySize-1), 192 );
+ *p = col.rgb();
+ p++;
+ }
+@@ -305,7 +305,7 @@
+
+ for( int x = 0; x < xSize; x++ )
+ {
+- col.setHsv( _hue, _sat, 255*x/(xSize-1) );
++ col.setHsv( _hue, _sat, 255*x/((xSize == 1) ? 1 : xSize-1) );
+ rgb = col.rgb();
+ *p++ = rgb;
+ }
+@@ -317,7 +317,7 @@
+ for ( int v = 0; v < ySize; v++ )
+ {
+ p = (uint *) image.scanLine( ySize - v - 1 );
+- col.setHsv( _hue, _sat, 255*v/(ySize-1) );
++ col.setHsv( _hue, _sat, 255*v/((ySize == 1) ? 1 : ySize-1) );
+ rgb = col.rgb();
+ for ( int i = 0; i < xSize; i++ )
+ *p++ = rgb;
+@@ -426,7 +426,7 @@
+
+ void KColorCells::mouseMoveEvent( QMouseEvent *e )
+ {
+- if( !(e->state() && LeftButton)) return;
++ if( !(e->state() & LeftButton)) return;
+
+ if(inMouse) {
+ int delay = KGlobalSettings::dndEventDelay();
+@@ -530,7 +530,7 @@
+ void KColorPatch::mouseMoveEvent( QMouseEvent *e )
+ {
+ // Drag color object
+- if( !(e->state() && LeftButton)) return;
++ if( !(e->state() & LeftButton)) return;
+ KColorDrag *d = new KColorDrag( color, this);
+ d->dragCopy();
+ }
+@@ -1253,30 +1253,26 @@
+ void
+ KColorDialog::readSettings()
+ {
+- KConfig* config = KGlobal::config();
++ KConfigGroup group( KGlobal::config(), "Colors" );
+
+- QString oldgroup = config->group();
+-
+- config->setGroup("Colors");
+- QString palette = config->readEntry("CurrentPalette");
++ QString palette = group.readEntry("CurrentPalette");
+ d->table->setPalette(palette);
+- config->setGroup( oldgroup );
+ }
+
+ void
+ KColorDialog::slotWriteSettings()
+ {
+- KConfig* config = KGlobal::config();
+- config->setGroup("Colors");
++ KConfigGroup group( KGlobal::config(), "Colors" );
++
+ QString palette = d->table->palette();
+- if (!config->hasDefault("CurrentPalette") &&
++ if (!group.hasDefault("CurrentPalette") &&
+ (d->table->palette() == d->originalPalette))
+ {
+- config->revertToDefault("CurrentPalette");
++ group.revertToDefault("CurrentPalette");
+ }
+ else
+ {
+- config->writeEntry("CurrentPalette", d->table->palette());
++ group.writeEntry("CurrentPalette", d->table->palette());
+ }
+ }
+
+--- kdelibs/kdeui/kdialogbase.cpp 2005/09/29 09:47:40 465272
++++ kdelibs/kdeui/kdialogbase.cpp 2006/04/05 16:45:10 526809
+@@ -668,7 +668,7 @@
+ return;
+ }
+
+- if( style < 0 || style > ActionStyleMAX ) { style = ActionStyle0; }
++ if( style < 0 || style >= ActionStyleMAX ) { style = ActionStyle0; }
+ d->mButton.style = style;
+
+ const int *layout;
+--- kdelibs/kdecore/kglobalaccel_x11.cpp 2005/09/29 09:47:40 465272
++++ kdelibs/kdecore/kglobalaccel_x11.cpp 2006/04/09 09:06:52 527729
+@@ -212,7 +212,7 @@
+ if( failed ) {
+ kdDebug(125) << "grab failed!\n";
+ for( uint m = 0; m <= 0xff; m++ ) {
+- if( m & keyModMaskX == 0 )
++ if(( m & keyModMaskX ) == 0 )
+ XUngrabKey( qt_xdisplay(), keyCodeX, keyModX | m, qt_xrootwin() );
+ }
+ }
+--- kdelibs/kdecore/network/kresolver.cpp 2006/02/26 18:55:08 513854
++++ kdelibs/kdecore/network/kresolver.cpp 2006/04/13 14:57:25 529483
+@@ -609,7 +609,7 @@
+
+ QStrList KResolver::protocolName(int protonum)
+ {
+- struct protoent *pe;
++ struct protoent *pe = 0L;
+ #ifndef HAVE_GETPROTOBYNAME_R
+ QMutexLocker locker(&getXXbyYYmutex);
+
+@@ -628,6 +628,7 @@
+ if (getprotobynumber_r(protonum, &protobuf, buf, buflen, &pe) == ERANGE)
+ # endif
+ {
++ pe = 0L;
+ buflen += 1024;
+ delete [] buf;
+ }
+@@ -655,7 +656,7 @@
+
+ QStrList KResolver::protocolName(const char *protoname)
+ {
+- struct protoent *pe;
++ struct protoent *pe = 0L;
+ #ifndef HAVE_GETPROTOBYNAME_R
+ QMutexLocker locker(&getXXbyYYmutex);
+
+@@ -674,6 +675,7 @@
+ if (getprotobyname_r(protoname, &protobuf, buf, buflen, &pe) == ERANGE)
+ # endif
+ {
++ pe = 0L;
+ buflen += 1024;
+ delete [] buf;
+ }
+@@ -701,7 +703,7 @@
+
+ int KResolver::protocolNumber(const char *protoname)
+ {
+- struct protoent *pe;
++ struct protoent *pe = 0L;
+ #ifndef HAVE_GETPROTOBYNAME_R
+ QMutexLocker locker(&getXXbyYYmutex);
+
+@@ -720,6 +722,7 @@
+ if (getprotobyname_r(protoname, &protobuf, buf, buflen, &pe) == ERANGE)
+ # endif
+ {
++ pe = 0L;
+ buflen += 1024;
+ delete [] buf;
+ }
+@@ -743,7 +746,7 @@
+
+ int KResolver::servicePort(const char *servname, const char *protoname)
+ {
+- struct servent *se;
++ struct servent *se = 0L;
+ #ifndef HAVE_GETSERVBYNAME_R
+ QMutexLocker locker(&getXXbyYYmutex);
+
+@@ -762,6 +765,7 @@
+ if (getservbyname_r(servname, protoname, &servbuf, buf, buflen, &se) == ERANGE)
+ # endif
+ {
++ se = 0L;
+ buflen += 1024;
+ delete [] buf;
+ }
+@@ -785,7 +789,7 @@
+
+ QStrList KResolver::serviceName(const char* servname, const char *protoname)
+ {
+- struct servent *se;
++ struct servent *se = 0L;
+ #ifndef HAVE_GETSERVBYNAME_R
+ QMutexLocker locker(&getXXbyYYmutex);
+
+@@ -804,6 +808,7 @@
+ if (getservbyname_r(servname, protoname, &servbuf, buf, buflen, &se) == ERANGE)
+ # endif
+ {
++ se = 0L;
+ buflen += 1024;
+ delete [] buf;
+ }
+@@ -831,7 +836,7 @@
+
+ QStrList KResolver::serviceName(int port, const char *protoname)
+ {
+- struct servent *se;
++ struct servent *se = 0L;
+ #ifndef HAVE_GETSERVBYPORT_R
+ QMutexLocker locker(&getXXbyYYmutex);
+
+@@ -850,6 +855,7 @@
+ if (getservbyport_r(port, protoname, &servbuf, buf, buflen, &se) == ERANGE)
+ # endif
+ {
++ se = 0L;
+ buflen += 1024;
+ delete [] buf;
+ }
+--- kdelibs/kdecore/ktempdir.cpp 2006/03/01 10:20:31 514742
++++ kdelibs/kdecore/ktempdir.cpp 2006/04/13 14:57:25 529483
+@@ -107,6 +107,8 @@
+ {
+ if (bAutoDelete)
+ unlink();
++
++ delete d;
+ }
+
+ int
+--- kdelibs/kdecore/netsupp.cpp 2005/09/29 09:47:40 465272
++++ kdelibs/kdecore/netsupp.cpp 2006/04/13 14:57:25 529483
+@@ -352,15 +352,9 @@
+ return 0;
+
+ out:
+- // Normal exit of the function
+- if (err == 0)
+- *result = res;
+- else
+- {
+- if (res->data != NULL)
+- freeaddrinfo(res->data);
+- free(res);
+- }
++ if (res->data != NULL)
++ freeaddrinfo(res->data);
++ free(res);
+ return err;
+ }
+
+--- kdelibs/kdeui/kdockwidget.cpp 2005/09/29 09:47:40 465272
++++ kdelibs/kdeui/kdockwidget.cpp 2006/04/13 21:35:27 529609
+@@ -762,9 +762,11 @@
+ void KDockWidget::setEnableDocking( int pos )
+ {
+ eDocking = pos;
+- if( header && header->inherits( "KDockWidgetHeader" ) )
+- ( ( KDockWidgetHeader* ) header )->showUndockButton( pos & DockDesktop );
+- updateHeader();
++ if( header ) {
++ if (header->inherits( "KDockWidgetHeader" ) )
++ ( ( KDockWidgetHeader* ) header )->showUndockButton( pos & DockDesktop );
++ updateHeader();
++ }
+ }
+
+ void KDockWidget::updateHeader()
+--- kdelibs/kdecore/netwm_def.h 2006/01/06 15:07:18 494899
++++ kdelibs/kdecore/netwm_def.h 2006/04/11 12:48:50 528573
+@@ -606,6 +606,20 @@
+ FromApplication,
+ FromTool
+ };
++
++ /**
++ Compares two X timestamps, taking into account wrapping and 64bit architectures.
++ Return value is like with strcmp(), 0 for equal, -1 for time1 < time2, 1 for time1 > time2.
++ @since 3.5.3
++ */
++ static int timestampCompare( unsigned long time1, unsigned long time2 );
++ /**
++ Returns a difference of two X timestamps, time2 - time1, where time2 must be later than time1,
++ as returned by timestampCompare().
++ @since 3.5.3
++ */
++ static int timestampDiff( unsigned long time1_, unsigned long time2_ );
++
+ };
+
+
+--- kdelibs/kdecore/kapplication.cpp 2006/03/15 13:08:02 518842
++++ kdelibs/kdecore/kapplication.cpp 2006/04/11 12:48:50 528573
+@@ -960,14 +960,13 @@
+ static int my_system (const char *command) {
+ int pid, status;
+
+- QApplication::flushX();
+ pid = fork();
+ if (pid == -1)
+ return -1;
+ if (pid == 0) {
+ const char* shell = "/bin/sh";
+ execl(shell, shell, "-c", command, (void *)0);
+- ::exit(127);
++ ::_exit(127);
+ }
+ do {
+ if (waitpid(pid, &status, 0) == -1) {
+@@ -1684,7 +1683,7 @@
+ && _event->xclient.data.l[ 3 ] != 0 )
+ {
+ if( qt_x_user_time == 0
+- || ( _event->xclient.data.l[ 3 ] - qt_x_user_time ) < 100000U )
++ || NET::timestampCompare( _event->xclient.data.l[ 3 ], qt_x_user_time ) > 0 )
+ { // and the timestamp looks reasonable
+ qt_x_user_time = _event->xclient.data.l[ 3 ]; // update our qt_x_user_time from it
+ }
+@@ -1692,7 +1691,7 @@
+ else // normal DND, only needed until Qt updates qt_x_user_time from XdndDrop
+ {
+ if( qt_x_user_time == 0
+- || ( _event->xclient.data.l[ 2 ] - qt_x_user_time ) < 100000U )
++ || NET::timestampCompare( _event->xclient.data.l[ 2 ], qt_x_user_time ) > 0 )
+ { // the timestamp looks reasonable
+ qt_x_user_time = _event->xclient.data.l[ 2 ]; // update our qt_x_user_time from it
+ }
+@@ -1812,7 +1811,7 @@
+ XDestroyWindow( qt_xdisplay(), w );
+ }
+ if( qt_x_user_time == 0
+- || time - qt_x_user_time < 1000000000U ) // check time > qt_x_user_time, handle wrapping
++ || NET::timestampCompare( time, qt_x_user_time ) > 0 ) // check time > qt_x_user_time
+ qt_x_user_time = time;
+ #endif
+ }
+--- kdelibs/kdecore/kprocess.cpp 2006/01/29 09:42:40 503447
++++ kdelibs/kdecore/kprocess.cpp 2006/03/30 22:04:03 524676
+@@ -355,8 +355,6 @@
+ if (pipe(fd))
+ fd[0] = fd[1] = -1; // Pipe failed.. continue
+
+- QApplication::flushX();
+-
+ // we don't use vfork() because
+ // - it has unclear semantics and is not standardized
+ // - we do way too much magic in the child
+@@ -768,7 +766,7 @@
+ d->shell = shell;
+ else
+ // #ifdef NON_FREE // ... as they ship non-POSIX /bin/sh
+-#if !defined(__linux__) && !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(__GNU__)
++#if !defined(__linux__) && !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(__GNU__) && !defined(__DragonFly__)
+ // Solaris POSIX ...
+ if (!access( "/usr/xpg4/bin/sh", X_OK ))
+ d->shell = "/usr/xpg4/bin/sh";
+--- kdelibs/kdecore/kxerrorhandler.cpp 2005/07/26 18:54:59 438982
++++ kdelibs/kdecore/kxerrorhandler.cpp 2006/04/11 13:28:02 528591
+@@ -28,6 +28,7 @@
+ #include "kxerrorhandler.h"
+ #include <assert.h>
+ #include <stdlib.h>
++#include <netwm_def.h>
+
+ KXErrorHandler** KXErrorHandler::handlers = NULL;
+ int KXErrorHandler::pos = 0;
+@@ -101,13 +102,14 @@
+ int KXErrorHandler::handle( Display* dpy, XErrorEvent* e )
+ {
+ if( dpy == display
+- && e->serial - first_request < 1000000000 ) // e->serial > first_request, with wrapping
++ // e->serial >= first_request , compare like X timestamps to handle wrapping
++ && NET::timestampCompare( e->serial, first_request ) >= 0 )
+ { // it's for us
+ //qDebug( "Handling: %p", static_cast< void* >( this ));
+- if( user_handler1 != NULL )
+- was_error |= user_handler1( e->request_code, e->error_code, e->resourceid );
+- else if( user_handler2 != NULL )
+- was_error |= ( user_handler2( dpy, e ) != 0 );
++ if( user_handler1 != NULL && user_handler1( e->request_code, e->error_code, e->resourceid ))
++ was_error = true;
++ if( user_handler2 != NULL && user_handler2( dpy, e ) != 0 )
++ was_error = true;
+ else // no handler set, simply set that there was an error
+ was_error = true;
+ return 0;
+--- kdelibs/kdecore/netwm.cpp 2005/07/26 18:54:59 438982
++++ kdelibs/kdecore/netwm.cpp 2006/04/11 12:48:50 528573
+@@ -4401,4 +4401,38 @@
+ void NETWinInfo::virtual_hook( int, void* )
+ { /*BASE::virtual_hook( id, data );*/ }
+
++// Functions for X timestamp comparing. For Time being 32bit they're fairly simple
++// (the #if 0 part), but on 64bit architectures Time is 64bit unsigned long,
++// so there special care needs to be taken to always use only the lower 32bits.
++#if 0
++int NET::timestampCompare( Time time1, Time time2 ) // like strcmp()
++ {
++ if( time1 == time2 )
++ return 0;
++ return ( time1 - time2 ) < 0x7fffffffU ? 1 : -1; // time1 > time2 -> 1, handle wrapping
++ }
++
++Time NET::timestampDiff( Time time1, Time time2 ) // returns time2 - time1
++ { // no need to handle wrapping?
++ return time2 - time1;
++ }
++#else
++int NET::timestampCompare( unsigned long time1_, unsigned long time2_ ) // like strcmp()
++ {
++ Q_UINT32 time1 = time1_;
++ Q_UINT32 time2 = time2_;
++ if( time1 == time2 )
++ return 0;
++ return Q_UINT32( time1 - time2 ) < 0x7fffffffU ? 1 : -1; // time1 > time2 -> 1, handle wrapping
++ }
++
++int NET::timestampDiff( unsigned long time1_, unsigned long time2_ ) // returns time2 - time1
++ { // no need to handle wrapping?
++ Q_UINT32 time1 = time1_;
++ Q_UINT32 time2 = time2_;
++ return Q_UINT32( time2 - time1 );
++ }
++#endif
++
++
+ #endif
diff --git a/kde-base/kdelibs/kdelibs-3.5.2-r3.ebuild b/kde-base/kdelibs/kdelibs-3.5.2-r3.ebuild
new file mode 100644
index 000000000000..f20a1341957c
--- /dev/null
+++ b/kde-base/kdelibs/kdelibs-3.5.2-r3.ebuild
@@ -0,0 +1,144 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/kde-base/kdelibs/kdelibs-3.5.2-r3.ebuild,v 1.1 2006/04/17 18:28:09 carlo Exp $
+inherit kde flag-o-matic eutils multilib
+set-kdedir 3.5
+
+DESCRIPTION="KDE libraries needed by all kde programs"
+HOMEPAGE="http://www.kde.org/"
+SRC_URI="mirror://kde/stable/${PV}/src/${P}.tar.bz2"
+#SRC_URI="mirror://kde/stable/3.5/src/${P}.tar.bz2"
+
+LICENSE="GPL-2 LGPL-2"
+SLOT="3.5"
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+IUSE="acl alsa arts cups doc jpeg2k kerberos openexr spell ssl tiff zeroconf"
+
+# kde.eclass has kdelibs in DEPEND, and we can't have that in here.
+# so we recreate the entire DEPEND from scratch.
+RDEPEND="$(qt_min_version 3.3.3)
+ arts? ( ~kde-base/arts-${PV} )
+ app-arch/bzip2
+ >=media-libs/freetype-2
+ media-libs/fontconfig
+ >=dev-libs/libxslt-1.1.15
+ >=dev-libs/libxml2-2.6.6
+ >=dev-libs/libpcre-4.2
+ media-libs/libart_lgpl
+ net-dns/libidn
+ virtual/utempter
+ acl? ( kernel_linux? ( sys-apps/acl ) )
+ ssl? ( >=dev-libs/openssl-0.9.7d )
+ alsa? ( media-libs/alsa-lib )
+ cups? ( >=net-print/cups-1.1.19 )
+ tiff? ( media-libs/tiff )
+ kerberos? ( virtual/krb5 )
+ jpeg2k? ( media-libs/jasper )
+ openexr? ( >=media-libs/openexr-1.2 )
+ spell? ( || ( app-text/aspell
+ app-text/ispell ) )
+ zeroconf? ( net-misc/mDNSResponder )
+ virtual/fam
+ virtual/ghostscript"
+
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )
+ sys-devel/gettext
+ dev-util/pkgconfig"
+
+RDEPEND="${RDEPEND}
+ || ( x11-apps/rgb virtual/x11 )"
+
+PATCHES="${FILESDIR}/${PN}-3.5.0-bindnow.patch
+ ${FILESDIR}/${PN}-3.5.0-kicker-crash.patch
+ ${FILESDIR}/${P}-xorg7-rgbtxt.patch
+ ${FILESDIR}/kdelibs-3.5.2-kio-fixes.diff
+ ${FILESDIR}/kdelibs-3.5.2-kate-fixes-2.diff
+ ${FILESDIR}/kdelibs-3.5.2-misc-fixes.diff"
+
+src_compile() {
+ rm -f ${S}/configure
+
+ # hspell is disabled because it requires version 0.9 of hspell that
+ # is not in portage yet; leaving it to autodetection tries to use it
+ # and then fails because of missing required functions
+
+ myconf="--with-distribution=Gentoo
+ --enable-libfam $(use_enable kernel_linux dnotify)
+ --with-libart --with-libidn --with-utempter
+ $(use_with acl) $(use_with ssl)
+ $(use_with alsa) $(use_with arts)
+ $(use_with kerberos gssapi) $(use_with tiff)
+ $(use_with jpeg2k jasper) $(use_with openexr)
+ $(use_enable cups) $(use_enable zeroconf dnssd)
+ --without-hspell"
+
+ if use spell && has_version app-text/aspell; then
+ myconf="${myconf} --with-aspell"
+ else
+ myconf="${myconf} --without-aspell"
+ fi
+
+ if has_version x11-apps/rgb; then
+ myconf="${myconf} --with-rgbfile=/usr/share/X11/rgb.txt"
+ fi
+
+ myconf="${myconf} --disable-fast-malloc"
+
+ # fix bug 58179, bug 85593
+ # kdelibs-3.4.0 needed -fno-gcse; 3.4.1 needs -mminimal-toc; this needs a
+ # closer look... - corsair
+ use ppc64 && append-flags "-mminimal-toc"
+
+ export BINDNOW_FLAGS="$(bindnow-flags)"
+
+ kde_src_compile
+
+ if use doc; then
+ make apidox || die
+ fi
+}
+
+src_install() {
+ kde_src_install
+
+ if use doc; then
+ make DESTDIR="${D}" install-apidox || die
+ fi
+
+ # Needed to create lib -> lib64 symlink for amd64 2005.0 profile
+ if [ "${SYMLINK_LIB}" = "yes" ]; then
+ dosym $(get_abi_LIBDIR ${DEFAULT_ABI}) ${KDEDIR}/lib
+ fi
+
+ if ! use arts ; then
+ dodir /etc/env.d
+
+ # List all the multilib libdirs
+ local libdirs
+ for libdir in $(get_all_libdirs); do
+ libdirs="${libdirs}:${PREFIX}/${libdir}"
+ done
+
+ cat <<EOF > ${D}/etc/env.d/45kdepaths-${SLOT} # number goes down with version upgrade
+PATH=${PREFIX}/bin
+ROOTPATH=${PREFIX}/sbin:${PREFIX}/bin
+LDPATH=${libdirs:1}
+CONFIG_PROTECT="${PREFIX}/share/config ${PREFIX}/env ${PREFIX}/shutdown"
+EOF
+ fi
+
+}
+
+pkg_postinst() {
+ if use zeroconf; then
+ echo
+ einfo "To make zeroconf support available in KDE"
+ einfo "make sure that the 'mdnsd' daemon is running."
+ einfo "Make sure also that multicast dns lookups are"
+ einfo "enabled by editing the 'hosts:' line in"
+ einfo "/etc/nsswitch.conf to include 'mdns', e.g.:"
+ einfo "hosts: files mdns dns"
+ echo
+ fi
+}