diff options
author | lofi <lofi@FreeBSD.org> | 2004-08-30 19:55:42 +0000 |
---|---|---|
committer | lofi <lofi@FreeBSD.org> | 2004-08-30 19:55:42 +0000 |
commit | 93a0477c7c4a5dde8c7a75ee28a4de9ada0ab068 (patch) | |
tree | 3f135a2d6251b6e666ce27e76a5f18a69ed89cd7 /x11/kdelibs4/files | |
parent | 533fd938e7d6cb30871ebc5cfae4dc60e853f425 (diff) | |
download | FreeBSD-ports-93a0477c7c4a5dde8c7a75ee28a4de9ada0ab068.zip FreeBSD-ports-93a0477c7c4a5dde8c7a75ee28a4de9ada0ab068.tar.gz |
Update to KDE 3.3
Diffstat (limited to 'x11/kdelibs4/files')
-rw-r--r-- | x11/kdelibs4/files/patch-dcop_dcopserver.cpp | 185 | ||||
-rw-r--r-- | x11/kdelibs4/files/patch-kdecore-kextsock.cpp | 27 | ||||
-rw-r--r-- | x11/kdelibs4/files/patch-kdecore-kidna.cpp | 58 | ||||
-rw-r--r-- | x11/kdelibs4/files/patch-kdecore_kstandarddirs.cpp | 38 | ||||
-rw-r--r-- | x11/kdelibs4/files/patch-kdefx_kstyle.cpp | 134 | ||||
-rw-r--r-- | x11/kdelibs4/files/patch-kdeui-kxmlguifactory.cpp | 23 | ||||
-rw-r--r-- | x11/kdelibs4/files/patch-post-3.2.3-kdelibs-htmlframes | 434 | ||||
-rw-r--r-- | x11/kdelibs4/files/patch-post-3.2.3-kdelibs-kcookiejar | 140 |
8 files changed, 0 insertions, 1039 deletions
diff --git a/x11/kdelibs4/files/patch-dcop_dcopserver.cpp b/x11/kdelibs4/files/patch-dcop_dcopserver.cpp deleted file mode 100644 index 2099d87..0000000 --- a/x11/kdelibs4/files/patch-dcop_dcopserver.cpp +++ /dev/null @@ -1,185 +0,0 @@ -Index: dcopserver.cpp -=================================================================== -RCS file: /home/kde/kdelibs/dcop/dcopserver.cpp,v -retrieving revision 1.160.2.3 -diff -u -p -r1.160.2.3 dcopserver.cpp ---- dcop/dcopserver.cpp 30 Apr 2004 15:00:08 -0000 1.160.2.3 -+++ dcop/dcopserver.cpp 26 Jul 2004 09:03:06 -0000 -@@ -443,35 +443,78 @@ write_iceauth (FILE *addfp, IceAuthDataE - fprintf (addfp, "\n"); - } - -+#ifndef HAVE_MKSTEMPS -+#include <string.h> -+#include <strings.h> - --#ifndef HAVE_MKSTEMP --static char *unique_filename (const char *path, const char *prefix) --#else --static char *unique_filename (const char *path, const char *prefix, int *pFd) --#endif -+/* this is based on code taken from the GNU libc, distributed under the LGPL license */ -+ -+/* Generate a unique temporary file name from TEMPLATE. -+ -+ TEMPLATE has the form: -+ -+ <path>/ccXXXXXX<suffix> -+ -+ SUFFIX_LEN tells us how long <suffix> is (it can be zero length). -+ -+ The last six characters of TEMPLATE before <suffix> must be "XXXXXX"; -+ they are replaced with a string that makes the filename unique. -+ -+ Returns a file descriptor open on the file for reading and writing. */ -+ -+int mkstemps (char* _template, int suffix_len) - { --#ifndef HAVE_MKSTEMP --#ifndef X_NOT_POSIX -- return ((char *) tempnam (path, prefix)); --#else -- char tempFile[PATH_MAX]; -- char *tmp; -+ static const char letters[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; -+ char *XXXXXX; -+ int len; -+ int count; -+ int value; -+ -+ len = strlen (_template); -+ -+ if ((int) len < 6 + suffix_len || strncmp (&_template[len - 6 - suffix_len], "XXXXXX", 6)) -+ return -1; -+ -+ XXXXXX = &_template[len - 6 - suffix_len]; -+ -+ value = rand(); -+ for (count = 0; count < 256; ++count) -+ { -+ int v = value; -+ int fd; -+ -+ /* Fill in the random bits. */ -+ XXXXXX[0] = letters[v % 62]; -+ v /= 62; -+ XXXXXX[1] = letters[v % 62]; -+ v /= 62; -+ XXXXXX[2] = letters[v % 62]; -+ v /= 62; -+ XXXXXX[3] = letters[v % 62]; -+ v /= 62; -+ XXXXXX[4] = letters[v % 62]; -+ v /= 62; -+ XXXXXX[5] = letters[v % 62]; -+ -+ fd = open (_template, O_RDWR|O_CREAT|O_EXCL, 0600); -+ if (fd >= 0) -+ /* The file does not exist. */ -+ return fd; -+ -+ /* This is a random value. It is only necessary that the next -+ TMP_MAX values generated by adding 7777 to VALUE are different -+ with (module 2^32). */ -+ value += 7777; -+ } -+ /* We return the null string if we can't find a unique file name. */ -+ _template[0] = '\0'; -+ return -1; -+} - -- snprintf (tempFile, PATH_MAX, "%s/%sXXXXXX", path, prefix); -- tmp = (char *) mktemp (tempFile); -- if (tmp) -- { -- char *ptr = (char *) malloc (strlen (tmp) + 1); -- if (ptr != NULL) -- { -- strcpy (ptr, tmp); -- } -- return (ptr); -- } -- else -- return (NULL); - #endif --#else -+ -+static char *unique_filename (const char *path, const char *prefix, int *pFd) -+{ - char tempFile[PATH_MAX]; - char *ptr; - -@@ -480,43 +523,10 @@ static char *unique_filename (const char - if (ptr != NULL) - { - strcpy(ptr, tempFile); -- *pFd = mkstemp(ptr); -+ *pFd = mkstemps(ptr, 0); - } - return ptr; --#endif --} -- --#if 0 --Status SetAuthentication_local (int count, IceListenObj *listenObjs) --{ -- int i; -- for (i = 0; i < count; i ++) { -- char *prot = IceGetListenConnectionString(listenObjs[i]); -- if (!prot) continue; -- char *host = strchr(prot, '/'); -- char *sock = 0; -- if (host) { -- *host=0; -- host++; -- sock = strchr(host, ':'); -- if (sock) { -- *sock = 0; -- sock++; -- } -- } --#ifndef NDEBUG -- qDebug("DCOPServer: SetAProc_loc: conn %d, prot=%s, file=%s", -- (unsigned)i, prot, sock); --#endif -- if (sock && !strcmp(prot, "local")) { -- chmod(sock, 0700); -- } -- IceSetHostBasedAuthProc (listenObjs[i], HostBasedAuthProc); -- free(prot); -- } -- return 1; - } --#endif - - #define MAGIC_COOKIE_LEN 16 - -@@ -529,28 +539,19 @@ SetAuthentication (int count, IceListenO - int original_umask; - int i; - QCString command; --#ifdef HAVE_MKSTEMP - int fd; --#endif - - original_umask = umask (0077); /* disallow non-owner access */ - - path = getenv ("DCOP_SAVE_DIR"); - if (!path) - path = "/tmp"; --#ifndef HAVE_MKSTEMP -- if ((addAuthFile = unique_filename (path, "dcop")) == NULL) -- goto bad; - -- if (!(addfp = fopen (addAuthFile, "w"))) -- goto bad; --#else - if ((addAuthFile = unique_filename (path, "dcop", &fd)) == NULL) - goto bad; - - if (!(addfp = fdopen(fd, "wb"))) - goto bad; --#endif - - if ((*_authDataEntries = static_cast<IceAuthDataEntry *>(malloc (count * 2 * sizeof (IceAuthDataEntry)))) == NULL) - goto bad; diff --git a/x11/kdelibs4/files/patch-kdecore-kextsock.cpp b/x11/kdelibs4/files/patch-kdecore-kextsock.cpp deleted file mode 100644 index d07c32c..0000000 --- a/x11/kdelibs4/files/patch-kdecore-kextsock.cpp +++ /dev/null @@ -1,27 +0,0 @@ ---- kdecore/kextsock.cpp 11 Dec 2003 22:54:36 -0000 1.67 -+++ kdecore/kextsock.cpp 22 Jan 2004 19:59:13 -0000 -@@ -1892,7 +1892,11 @@ int KExtendedSocket::doLookup(const QStr - err = kde_getaddrinfo(_host, _serv, &hint, res); - - #ifdef HAVE_RES_INIT -- if (err == EAI_NONAME || err == EAI_NODATA || err == EAI_AGAIN) -+ if (err == EAI_NONAME || -+#ifdef EAI_NODATA -+ err == EAI_NODATA || -+#endif -+ err == EAI_AGAIN) - { - // A loookup error occurred and nothing was resolved - // However, since the user could have just dialed up to the ISP -@@ -2274,7 +2278,11 @@ void KExtendedSocket::dnsResultsReady() - else - { - d->status = nothing; -+#ifdef EAI_NODATA - setError(IO_LookupError, EAI_NODATA); -+#else -+ setError(IO_LookupError, EAI_NONAME); -+#endif - } - - emit lookupFinished(n); diff --git a/x11/kdelibs4/files/patch-kdecore-kidna.cpp b/x11/kdelibs4/files/patch-kdecore-kidna.cpp deleted file mode 100644 index 821a171..0000000 --- a/x11/kdelibs4/files/patch-kdecore-kidna.cpp +++ /dev/null @@ -1,58 +0,0 @@ -Index: kdecore/kidna.cpp -=================================================================== -RCS file: /home/kde/kdelibs/kdecore/kidna.cpp,v -retrieving revision 1.9.4.1 -diff -u -5 -p -d -r1.9.4.1 kidna.cpp ---- kdecore/kidna.cpp 4 Feb 2004 11:43:34 -0000 1.9.4.1 -+++ kdecore/kidna.cpp 13 Mar 2004 20:24:13 -0000 -@@ -21,16 +21,16 @@ - - #include "kidna.h" - - #include <kdebug.h> - --#include "ltdl.h" -+#include <dlfcn.h> - #include <stdlib.h> - - #define IDNA_SUCCESS 0 - --static lt_dlhandle KIDNA_lib; // = 0 -+void *KIDNA_lib; // = 0 - static bool KIDNA_lib_load_failed; // = false - - typedef int (*KIDNA_utf8_to_ace_t)(const char *, char **, int); - typedef int (*KIDNA_utf8ace_to_utf8_t)(const char *, char **, int); - -@@ -38,27 +38,27 @@ static KIDNA_utf8_to_ace_t KIDNA_utf8_to - static KIDNA_utf8ace_to_utf8_t KIDNA_utf8ace_to_utf8; // = 0 - - static void KIDNA_load_lib() - { - KIDNA_lib_load_failed = true; // Unless proven otherwise -- KIDNA_lib = lt_dlopen("/usr/local/lib/libidn.la"); -+ KIDNA_lib = dlopen("%%LOCALBASE%%/lib/libidn.so", RTLD_LAZY); - if (!KIDNA_lib) - { -- KIDNA_lib = lt_dlopen("/usr/lib/libidn.la"); -+ KIDNA_lib = dlopen("/usr/lib/libidn.so", RTLD_LAZY); - } - - if (!KIDNA_lib) - return; // Error - -- KIDNA_utf8_to_ace = (KIDNA_utf8_to_ace_t) lt_dlsym(KIDNA_lib, "idna_to_ascii_8z"); -+ KIDNA_utf8_to_ace = (KIDNA_utf8_to_ace_t) dlsym(KIDNA_lib, "idna_to_ascii_8z"); - if (!KIDNA_utf8_to_ace) - { - kdWarning() << "Symbol idna_utf8_to_ace not found." << endl; - return; // Error - } - -- KIDNA_utf8ace_to_utf8 = (KIDNA_utf8ace_to_utf8_t) lt_dlsym(KIDNA_lib, "idna_to_unicode_8z8z"); -+ KIDNA_utf8ace_to_utf8 = (KIDNA_utf8ace_to_utf8_t) dlsym(KIDNA_lib, "idna_to_unicode_8z8z"); - if (!KIDNA_utf8ace_to_utf8) - { - kdWarning() << "Symbol idna_utf8ace_to_utf8 not found." << endl; - return; // Error - } diff --git a/x11/kdelibs4/files/patch-kdecore_kstandarddirs.cpp b/x11/kdelibs4/files/patch-kdecore_kstandarddirs.cpp deleted file mode 100644 index 30d6bd1..0000000 --- a/x11/kdelibs4/files/patch-kdecore_kstandarddirs.cpp +++ /dev/null @@ -1,38 +0,0 @@ -Index: kstandarddirs.cpp -=================================================================== -RCS file: /home/kde/kdelibs/kdecore/kstandarddirs.cpp,v -retrieving revision 1.168.2.3 -retrieving revision 1.168.2.4 -diff -u -p -r1.168.2.3 -r1.168.2.4 ---- kdecore/kstandarddirs.cpp 8 Jun 2004 09:27:57 -0000 1.168.2.3 -+++ kdecore/kstandarddirs.cpp 26 Jun 2004 14:42:16 -0000 1.168.2.4 -@@ -651,7 +651,28 @@ void KStandardDirs::createSpecialResourc - char link[1024]; - link[1023] = 0; - int result = readlink(QFile::encodeName(dir).data(), link, 1023); -- if ((result == -1) && (errno == ENOENT)) -+ bool relink = (result == -1) && (errno == ENOENT); -+ if ((result > 0) && (link[0] == '/')) -+ { -+ link[result] = 0; -+ struct stat stat_buf; -+ int res = lstat(link, &stat_buf); -+ if ((res == -1) && (errno == ENOENT)) -+ { -+ relink = true; -+ } -+ else if ((res == -1) || (!S_ISDIR(stat_buf.st_mode))) -+ { -+ fprintf(stderr, "Error: \"%s\" is not a directory.\n", link); -+ relink = true; -+ } -+ else if (stat_buf.st_uid != getuid()) -+ { -+ fprintf(stderr, "Error: \"%s\" is owned by uid %d instead of uid %d.\n", link, stat_buf.st_uid, getuid()); -+ relink = true; -+ } -+ } -+ if (relink) - { - QString srv = findExe(QString::fromLatin1("lnusertemp"), KDEDIR+QString::fromLatin1("/bin")); - if (srv.isEmpty()) diff --git a/x11/kdelibs4/files/patch-kdefx_kstyle.cpp b/x11/kdelibs4/files/patch-kdefx_kstyle.cpp deleted file mode 100644 index 27106d2..0000000 --- a/x11/kdelibs4/files/patch-kdefx_kstyle.cpp +++ /dev/null @@ -1,134 +0,0 @@ ---- kdefx/kstyle.cpp.orig 19 Jun 2004 15:00:06 -0000 1.49 -+++ kdefx/kstyle.cpp 19 Jun 2004 15:07:47 -0000 -@@ -158,12 +158,16 @@ struct KStylePrivate - float menuOpacity; - - TransparencyEngine transparencyEngine; - KStyle::KStyleScrollBarType scrollbarType; - TransparencyHandler* menuHandler; - KStyle::KStyleFlags flags; -+ -+ //For KPE_ListViewBranch -+ QBitmap *verticalLine; -+ QBitmap *horizontalLine; - }; - - // ----------------------------------------------------------------------------- - - - KStyle::KStyle( KStyleFlags flags, KStyleScrollBarType sbtype ) -@@ -206,23 +210,28 @@ KStyle::KStyle( KStyleFlags flags, KStyl - // Create an instance of the menu transparency handler - d->menuOpacity = settings.readDoubleEntry("/KStyle/Settings/MenuOpacity", 0.90); - d->menuHandler = new TransparencyHandler(this, d->transparencyEngine, - d->menuOpacity, d->menuDropShadow); - } - } -+ -+ d->verticalLine = 0; -+ d->horizontalLine = 0; - - // Create a transparency handler if only drop shadows are enabled. - if (!d->menuHandler && d->menuDropShadow) - d->menuHandler = new TransparencyHandler(this, Disabled, 1.0, d->menuDropShadow); - } - - - KStyle::~KStyle() - { -- if (d->menuHandler) -- delete d->menuHandler; -+ delete d->verticalLine; -+ delete d->horizontalLine; -+ -+ delete d->menuHandler; - - d->menuHandler = NULL; - delete d; - } - - -@@ -391,46 +400,40 @@ void KStyle::drawKStylePrimitive( KStyle - break; - } - - case KPE_ListViewBranch: { - // Typical Windows style listview branch element (dotted line). - -- static QBitmap *verticalLine = 0, *horizontalLine = 0; -- static QCleanupHandler<QBitmap> qlv_cleanup_bitmap; -- - // Create the dotline pixmaps if not already created -- if ( !verticalLine ) -+ if ( !d->verticalLine ) - { - // make 128*1 and 1*128 bitmaps that can be used for - // drawing the right sort of lines. -- verticalLine = new QBitmap( 1, 129, true ); -- horizontalLine = new QBitmap( 128, 1, true ); -+ d->verticalLine = new QBitmap( 1, 129, true ); -+ d->horizontalLine = new QBitmap( 128, 1, true ); - QPointArray a( 64 ); - QPainter p2; -- p2.begin( verticalLine ); -+ p2.begin( d->verticalLine ); - - int i; - for( i=0; i < 64; i++ ) - a.setPoint( i, 0, i*2+1 ); - p2.setPen( color1 ); - p2.drawPoints( a ); - p2.end(); - QApplication::flushX(); -- verticalLine->setMask( *verticalLine ); -+ d->verticalLine->setMask( *d->verticalLine ); - -- p2.begin( horizontalLine ); -+ p2.begin( d->horizontalLine ); - for( i=0; i < 64; i++ ) - a.setPoint( i, i*2+1, 0 ); - p2.setPen( color1 ); - p2.drawPoints( a ); - p2.end(); - QApplication::flushX(); -- horizontalLine->setMask( *horizontalLine ); -- -- qlv_cleanup_bitmap.add( &verticalLine ); -- qlv_cleanup_bitmap.add( &horizontalLine ); -+ d->horizontalLine->setMask( *d->horizontalLine ); - } - - p->setPen( cg.text() ); // cg.dark() is bad for dark color schemes. - - if (flags & Style_Horizontal) - { -@@ -441,13 +444,13 @@ void KStyle::drawKStylePrimitive( KStyle - - while( point < end ) - { - int i = 128; - if ( i+point > end ) - i = end-point; -- p->drawPixmap( point, other, *horizontalLine, 0, 0, i, thickness ); -+ p->drawPixmap( point, other, *d->horizontalLine, 0, 0, i, thickness ); - point += i; - } - - } else { - int point = r.y(); - int other = r.x(); -@@ -457,13 +460,13 @@ void KStyle::drawKStylePrimitive( KStyle - - while( point < end ) - { - int i = 128; - if ( i+point > end ) - i = end-point; -- p->drawPixmap( other, point, *verticalLine, 0, pixmapoffset, thickness, i ); -+ p->drawPixmap( other, point, *d->verticalLine, 0, pixmapoffset, thickness, i ); - point += i; - } - } - - break; - } diff --git a/x11/kdelibs4/files/patch-kdeui-kxmlguifactory.cpp b/x11/kdelibs4/files/patch-kdeui-kxmlguifactory.cpp deleted file mode 100644 index a9ae71f..0000000 --- a/x11/kdelibs4/files/patch-kdeui-kxmlguifactory.cpp +++ /dev/null @@ -1,23 +0,0 @@ -Index: kxmlguifactory.cpp -=================================================================== -RCS file: /home/kde/kdelibs/kdeui/kxmlguifactory.cpp,v -retrieving revision 1.149 -retrieving revision 1.151 -diff -u -3 -p -r1.149 -r1.151 ---- kxmlguifactory.cpp 19 Jun 2004 21:35:02 -0000 1.149 -+++ kdeui/kxmlguifactory.cpp 22 Jun 2004 15:56:16 -0000 1.151 -@@ -124,7 +124,14 @@ QString KXMLGUIFactory::readConfigFile( - return QString::null; - } - -+#if QT_VERSION <= 0x030302 -+ // Work around bug in QString::fromUtf8 (which calls strlen). -+ QByteArray buffer(file.size() + 1); -+ buffer = file.readAll(); -+ buffer[ buffer.size() - 1 ] = '\0'; -+#else - QByteArray buffer(file.readAll()); -+#endif - return QString::fromUtf8(buffer.data(), buffer.size()); - } - diff --git a/x11/kdelibs4/files/patch-post-3.2.3-kdelibs-htmlframes b/x11/kdelibs4/files/patch-post-3.2.3-kdelibs-htmlframes deleted file mode 100644 index bc5b3a2..0000000 --- a/x11/kdelibs4/files/patch-post-3.2.3-kdelibs-htmlframes +++ /dev/null @@ -1,434 +0,0 @@ -Index: khtml/khtml_ext.cpp -=================================================================== -RCS file: /home/kde/kdelibs/khtml/khtml_ext.cpp,v -retrieving revision 1.85.2.2 -diff -u -p -r1.85.2.2 khtml_ext.cpp ---- khtml/khtml_ext.cpp 24 Apr 2004 08:20:46 -0000 1.85.2.2 -+++ khtml/khtml_ext.cpp 3 Aug 2004 14:36:43 -0000 -@@ -646,6 +646,19 @@ bool KHTMLPartBrowserHostExtension::open - return m_part->openURLInFrame( url, urlArgs ); - } - -+void KHTMLPartBrowserHostExtension::virtual_hook( int id, void *data ) -+{ -+ if (id == VIRTUAL_FIND_FRAME_PARENT) -+ { -+ FindFrameParentParams *param = static_cast<FindFrameParentParams*>(data); -+ KHTMLPart *parentPart = m_part->findFrameParent(param->callingPart, param->frame); -+ if (parentPart) -+ param->parent = parentPart->browserHostExtension(); -+ return; -+ } -+ BrowserHostExtension::virtual_hook( id, data ); -+} -+ - // BCI: remove in KDE 4 - KHTMLZoomFactorAction::KHTMLZoomFactorAction( KHTMLPart *part, bool direction, const QString &text, const QString &icon, const QObject *receiver, const char *slot, QObject *parent, const char *name ) - : KAction( text, icon, 0, receiver, slot, parent, name ) -Index: khtml/khtml_ext.h -=================================================================== -RCS file: /home/kde/kdelibs/khtml/khtml_ext.h,v -retrieving revision 1.26.2.1 -diff -u -p -r1.26.2.1 khtml_ext.h ---- khtml/khtml_ext.h 29 Feb 2004 15:27:43 -0000 1.26.2.1 -+++ khtml/khtml_ext.h 3 Aug 2004 14:36:43 -0000 -@@ -98,6 +98,9 @@ public: - virtual const QPtrList<KParts::ReadOnlyPart> frames() const; - - virtual bool openURLInFrame( const KURL &url, const KParts::URLArgs &urlArgs ); -+ -+protected: -+ virtual void virtual_hook( int id, void* data ); - private: - KHTMLPart *m_part; - }; -Index: khtml/khtml_part.cpp -=================================================================== -RCS file: /home/kde/kdelibs/khtml/khtml_part.cpp,v -retrieving revision 1.959.2.20 -diff -u -p -r1.959.2.20 khtml_part.cpp ---- khtml/khtml_part.cpp 29 Jun 2004 09:08:16 -0000 1.959.2.20 -+++ khtml/khtml_part.cpp 3 Aug 2004 14:36:46 -0000 -@@ -757,12 +757,16 @@ DOM::Document KHTMLPart::document() cons - return d->m_doc; - } - -- - KParts::BrowserExtension *KHTMLPart::browserExtension() const - { - return d->m_extension; - } - -+KParts::BrowserHostExtension *KHTMLPart::browserHostExtension() const -+{ -+ return d->m_hostExtension; -+} -+ - KHTMLView *KHTMLPart::view() const - { - return d->m_view; -@@ -880,29 +884,18 @@ QVariant KHTMLPart::crossFrameExecuteScr - // we always allow these - } - else { -- while (destpart->parentPart()) -- destpart = destpart->parentPart(); -- destpart = destpart->findFrame(target); -- -+ destpart = findFrame(target); - if (!destpart) -- destpart = this; // ### doesn't make sense, does it? -+ destpart = this; - } - - // easy way out? - if (destpart == this) - return executeScript(DOM::Node(), script); - -- - // now compare the domains -- if (!destpart->htmlDocument().isNull() && -- !htmlDocument().isNull()) { -- DOM::DOMString actDomain = htmlDocument().domain(); -- DOM::DOMString destDomain = destpart->htmlDocument().domain(); -- -- if (actDomain == destDomain) -- return destpart->executeScript(DOM::Node(), script); -- } -- -+ if (destpart->checkFrameAccess(this)) -+ return destpart->executeScript(DOM::Node(), script); - - // eww, something went wrong. better execute it in our frame - return executeScript(DOM::Node(), script); -@@ -3358,7 +3351,7 @@ void KHTMLPart::urlSelected( const QStri - if ( hasTarget ) - { - // unknown frame names should open in a new window. -- khtml::ChildFrame *frame = recursiveFrameRequest( cURL, args, false ); -+ khtml::ChildFrame *frame = recursiveFrameRequest( this, cURL, args, false ); - if ( frame ) - { - args.metaData()["referrer"] = d->m_referrer; -@@ -4364,6 +4357,7 @@ void KHTMLPart::slotChildDocCreated() - void KHTMLPart::slotChildURLRequest( const KURL &url, const KParts::URLArgs &args ) - { - khtml::ChildFrame *child = frame( sender()->parent() ); -+ KHTMLPart *callingHtmlPart = const_cast<KHTMLPart *>(dynamic_cast<const KHTMLPart *>(sender()->parent())); - - // TODO: handle child target correctly! currently the script are always executed fur the parent - QString urlStr = url.url(); -@@ -4395,7 +4389,7 @@ void KHTMLPart::slotChildURLRequest( con - } - else if ( frameName != QString::fromLatin1( "_self" ) ) - { -- khtml::ChildFrame *_frame = recursiveFrameRequest( url, args ); -+ khtml::ChildFrame *_frame = recursiveFrameRequest( callingHtmlPart, url, args ); - - if ( !_frame ) - { -@@ -4437,46 +4431,92 @@ khtml::ChildFrame *KHTMLPart::frame( con - return 0L; - } - --//#define DEBUG_FINDFRAME -+//#define DEBUG_FINDFRAME - --KHTMLPart *KHTMLPart::findFrame( const QString &f ) -+bool KHTMLPart::checkFrameAccess(KHTMLPart *callingHtmlPart) - { -+ if (callingHtmlPart == this) -+ return true; // trivial -+ -+ if (htmlDocument().isNull()) { - #ifdef DEBUG_FINDFRAME -- kdDebug(6050) << "KHTMLPart::findFrame '" << f << "'" << endl; -- FrameIt it2 = d->m_frames.begin(); -- FrameIt end = d->m_frames.end(); -- for (; it2 != end; ++it2 ) -- kdDebug(6050) << " - having frame '" << (*it2).m_name << "'" << endl; -+ kdDebug(6050) << "KHTMLPart::checkFrameAccess: Empty part " << this << " URL = " << m_url << endl; - #endif -- // ### http://www.w3.org/TR/html4/appendix/notes.html#notes-frames -- ConstFrameIt it = d->m_frames.find( f ); -- if ( it == d->m_frames.end() ) -- { -+ return false; // we are empty? -+ } -+ -+ // now compare the domains -+ if (callingHtmlPart && !callingHtmlPart->htmlDocument().isNull() && -+ !htmlDocument().isNull()) { -+ DOM::DOMString actDomain = callingHtmlPart->htmlDocument().domain(); -+ DOM::DOMString destDomain = htmlDocument().domain(); -+ - #ifdef DEBUG_FINDFRAME -- kdDebug(6050) << "KHTMLPart::findFrame frame " << f << " not found" << endl; -+ kdDebug(6050) << "KHTMLPart::checkFrameAccess: actDomain = '" << actDomain.string() << "' destDomain = '" << destDomain.string() << "'" << endl; - #endif -- return 0L; -+ -+ if (actDomain == destDomain) -+ return true; - } -- else { -- KParts::ReadOnlyPart *p = (*it).m_part; -- if ( p && p->inherits( "KHTMLPart" )) -- { - #ifdef DEBUG_FINDFRAME -- kdDebug(6050) << "KHTMLPart::findFrame frame " << f << " is a KHTMLPart, ok" << endl; -+ else -+ { -+ kdDebug(6050) << "KHTMLPart::checkFrameAccess: Unknown part/domain " << callingHtmlPart << " tries to access part " << this << endl; -+ } - #endif -- return (KHTMLPart*)p; -- } -- else -- { -+ return false; -+} -+ -+KHTMLPart * -+KHTMLPart::findFrameParent( KParts::ReadOnlyPart *callingPart, const QString &f, khtml::ChildFrame **childFrame ) -+{ - #ifdef DEBUG_FINDFRAME -- if (p) -- kdWarning() << "KHTMLPart::findFrame frame " << f << " found but isn't a KHTMLPart ! " << p->className() << endl; -- else -- kdWarning() << "KHTMLPart::findFrame frame " << f << " found but m_part=0L" << endl; -+ kdDebug(6050) << "KHTMLPart::findFrameParent: this = " << this << " URL = " << m_url << " findFrameParent( " << f << " )" << endl; -+#endif -+ // Check access -+ KHTMLPart *callingHtmlPart = dynamic_cast<KHTMLPart *>(callingPart); -+ -+ if (!checkFrameAccess(callingHtmlPart)) -+ return 0; -+ -+ FrameIt it = d->m_frames.find( f ); -+ FrameIt end = d->m_frames.end(); -+ if ( it != end ) -+ { -+#ifdef DEBUG_FINDFRAME -+ kdDebug(6050) << "KHTMLPart::findFrameParent: FOUND!" << endl; - #endif -- return 0L; -+ if (childFrame) -+ *childFrame = &(*it); -+ return this; -+ } -+ -+ it = d->m_frames.begin(); -+ for (; it != end; ++it ) -+ { -+ KParts::ReadOnlyPart *p = (*it).m_part; -+ if ( p && p->inherits( "KHTMLPart" )) -+ { -+ KHTMLPart *frameParent = static_cast<KHTMLPart*>(p)->findFrameParent(callingPart, f, childFrame); -+ if (frameParent) -+ return frameParent; - } - } -+ return 0; -+} -+ -+ -+KHTMLPart *KHTMLPart::findFrame( const QString &f ) -+{ -+ khtml::ChildFrame *childFrame; -+ KHTMLPart *parentFrame = findFrameParent(this, f, &childFrame); -+ if (parentFrame) -+ { -+ KParts::ReadOnlyPart *p = childFrame->m_part; -+ if ( p && p->inherits( "KHTMLPart" )) -+ return static_cast<KHTMLPart *>(p); -+ } -+ return 0; - } - - KParts::ReadOnlyPart *KHTMLPart::currentFrame() const -@@ -4514,37 +4554,29 @@ KHTMLPart *KHTMLPart::parentPart() - return (KHTMLPart *)parent(); - } - --khtml::ChildFrame *KHTMLPart::recursiveFrameRequest( const KURL &url, const KParts::URLArgs &args, -- bool callParent ) -+khtml::ChildFrame *KHTMLPart::recursiveFrameRequest( KHTMLPart *callingHtmlPart, const KURL &url, -+ const KParts::URLArgs &args, bool callParent ) - { -- FrameIt it = d->m_frames.find( args.frameName ); -- -- if ( it != d->m_frames.end() ) -- return &(*it); -- -- it = d->m_frames.begin(); -- FrameIt end = d->m_frames.end(); -- for (; it != end; ++it ) -- if ( (*it).m_part && (*it).m_part->inherits( "KHTMLPart" ) ) -- { -- KHTMLPart *childPart = (KHTMLPart *)(KParts::ReadOnlyPart *)(*it).m_part; -- -- khtml::ChildFrame *res = childPart->recursiveFrameRequest( url, args, false ); -- if ( !res ) -- continue; -- -- childPart->requestObject( res, url, args ); -- return 0L; -- } -+#ifdef DEBUG_FINDFRAME -+ kdDebug( 6050 ) << "KHTMLPart::recursiveFrameRequest this = " << this << ", frame = " << args.frameName << ", url = " << url << endl; -+#endif -+ khtml::ChildFrame *childFrame; -+ KHTMLPart *childPart = findFrameParent(callingHtmlPart, args.frameName, &childFrame); -+ if (childPart) -+ { -+ if (childPart == this) -+ return childFrame; -+ -+ childPart->requestObject( childFrame, url, args ); -+ return 0; -+ } - - if ( parentPart() && callParent ) - { -- khtml::ChildFrame *res = parentPart()->recursiveFrameRequest( url, args ); -+ khtml::ChildFrame *res = parentPart()->recursiveFrameRequest( callingHtmlPart, url, args, callParent ); - -- if ( res ) -- parentPart()->requestObject( res, url, args ); -- -- return 0L; -+ if ( res ) -+ parentPart()->requestObject( res, url, args ); - } - - return 0L; -@@ -4552,7 +4584,7 @@ khtml::ChildFrame *KHTMLPart::recursiveF - - void KHTMLPart::saveState( QDataStream &stream ) - { -- kdDebug( 6050 ) << "KHTMLPart::saveState saving URL " << m_url.url() << endl; -+ kdDebug( 6050 ) << "KHTMLPart::saveState this = " << this << " saving URL " << m_url.url() << endl; - - stream << m_url << (Q_INT32)d->m_view->contentsX() << (Q_INT32)d->m_view->contentsY() - << (Q_INT32) d->m_view->contentsWidth() << (Q_INT32) d->m_view->contentsHeight() << (Q_INT32) d->m_view->marginWidth() << (Q_INT32) d->m_view->marginHeight(); -Index: khtml/khtml_part.h -=================================================================== -RCS file: /home/kde/kdelibs/khtml/khtml_part.h,v -retrieving revision 1.248.2.5 -diff -u -p -r1.248.2.5 khtml_part.h ---- khtml/khtml_part.h 29 Jun 2004 09:08:16 -0000 1.248.2.5 -+++ khtml/khtml_part.h 3 Aug 2004 14:36:47 -0000 -@@ -287,6 +287,7 @@ public: - */ - KParts::BrowserExtension *browserExtension() const; - KParts::LiveConnectExtension *liveConnectExtension( const khtml::RenderPart *) const; -+ KParts::BrowserHostExtension *browserHostExtension() const; - - /** - * Returns a pointer to the HTML document's view. -@@ -812,6 +813,16 @@ public: - KHTMLPart *findFrame( const QString &f ); - - /** -+ * @internal -+ * Recursively finds the part containing the frame with name @p f -+ * and checks if it is accessible by @p callingPart -+ * Returns 0L if no suitable frame can't be found. -+ * Returns parent part if a suitable frame was found and -+ * frame info in @p *childFrame -+ */ -+ KHTMLPart *findFrameParent( KParts::ReadOnlyPart *callingPart, const QString &f, khtml::ChildFrame **childFrame=0 ); -+ -+ /** - * Return the current frame (the one that has focus) - * Not necessarily a direct child of ours, framesets can be nested. - * Returns "this" if this part isn't a frameset. -@@ -1376,6 +1387,8 @@ private: - - bool restoreURL( const KURL &url ); - void emitSelectionChanged(); -+ // Returns whether callingHtmlPart may access this part -+ bool checkFrameAccess(KHTMLPart *callingHtmlPart); - bool openURLInFrame( const KURL &url, const KParts::URLArgs &urlArgs ); - void startAutoScroll(); - void stopAutoScroll(); -@@ -1434,7 +1447,7 @@ private: - DOM::DocumentImpl *xmlDocImpl() const; - khtml::ChildFrame *frame( const QObject *obj ); - -- khtml::ChildFrame *recursiveFrameRequest( const KURL &url, const KParts::URLArgs &args, bool callParent = true ); -+ khtml::ChildFrame *recursiveFrameRequest( KHTMLPart *callingHtmlPart, const KURL &url, const KParts::URLArgs &args, bool callParent = true ); - - bool checkLinkSecurity( const KURL &linkURL,const QString &message = QString::null, const QString &button = QString::null ); - QVariant executeScript( const QString& filename, int baseLine, const DOM::Node &n, const QString& script ); -Index: kparts/browserextension.cpp -=================================================================== -RCS file: /home/kde/kdelibs/kparts/browserextension.cpp,v -retrieving revision 1.60.2.1 -diff -u -p -r1.60.2.1 browserextension.cpp ---- kparts/browserextension.cpp 10 Apr 2004 15:08:49 -0000 1.60.2.1 -+++ kparts/browserextension.cpp 3 Aug 2004 14:36:48 -0000 -@@ -636,6 +636,17 @@ BrowserHostExtension *BrowserHostExtensi - void BrowserExtension::virtual_hook( int, void* ) - { /*BASE::virtual_hook( id, data );*/ } - -+BrowserHostExtension * -+BrowserHostExtension::findFrameParent(KParts::ReadOnlyPart *callingPart, const QString &frame) -+{ -+ FindFrameParentParams param; -+ param.parent = 0; -+ param.callingPart = callingPart; -+ param.frame = frame; -+ virtual_hook(VIRTUAL_FIND_FRAME_PARENT, ¶m); -+ return param.parent; -+} -+ - void BrowserHostExtension::virtual_hook( int, void* ) - { /*BASE::virtual_hook( id, data );*/ } - -Index: kparts/browserextension.h -=================================================================== -RCS file: /home/kde/kdelibs/kparts/browserextension.h,v -retrieving revision 1.110 -diff -u -p -r1.110 browserextension.h ---- kparts/browserextension.h 26 Sep 2003 07:13:13 -0000 1.110 -+++ kparts/browserextension.h 3 Aug 2004 14:36:48 -0000 -@@ -671,10 +671,16 @@ public: - * - * Note that this method does not query the child objects recursively. - */ -- - virtual const QPtrList<KParts::ReadOnlyPart> frames() const; - - /** -+ * @internal -+ * Returns the part that contains @p frame and that may be accessed -+ * by @p callingPart -+ */ -+ BrowserHostExtension *findFrameParent(KParts::ReadOnlyPart *callingPart, const QString &frame); -+ -+ /** - * Opens the given url in a hosted child frame. The frame name is specified in the - * frameName variable in the urlArgs argument structure (see KParts::URLArgs ) . - */ -@@ -687,6 +693,19 @@ public: - static BrowserHostExtension *childObject( QObject *obj ); - - protected: -+ /** This 'enum' along with the structure below is NOT part of the public API. -+ * It's going to disappear in KDE 4.0 and is likely to change inbetween. -+ * -+ * @internal -+ */ -+ enum { VIRTUAL_FIND_FRAME_PARENT = 0x10 }; -+ struct FindFrameParentParams -+ { -+ BrowserHostExtension *parent; -+ KParts::ReadOnlyPart *callingPart; -+ QString frame; -+ }; -+ - virtual void virtual_hook( int id, void* data ); - private: - class BrowserHostExtensionPrivate; diff --git a/x11/kdelibs4/files/patch-post-3.2.3-kdelibs-kcookiejar b/x11/kdelibs4/files/patch-post-3.2.3-kdelibs-kcookiejar deleted file mode 100644 index 2da6e9a..0000000 --- a/x11/kdelibs4/files/patch-post-3.2.3-kdelibs-kcookiejar +++ /dev/null @@ -1,140 +0,0 @@ -Index: kioslave/http/kcookiejar/kcookiejar.cpp -=================================================================== -RCS file: /home/kde/kdelibs/kioslave/http/kcookiejar/kcookiejar.cpp,v -retrieving revision 1.116 -retrieving revision 1.117 -diff -u -p -r1.116 -r1.117 ---- kioslave/http/kcookiejar/kcookiejar.cpp 19 Jul 2004 10:16:22 -0000 1.116 -+++ kioslave/http/kcookiejar/kcookiejar.cpp 20 Jul 2004 15:29:24 -0000 1.117 -@@ -244,6 +244,14 @@ KCookieJar::KCookieJar() - m_globalAdvice = KCookieDunno; - m_configChanged = false; - m_cookiesChanged = false; -+ -+ QString twoLevelTLD="name,ai,au,bd,bh,ck,eg,et,fk,il,in,kh,kr,mk,mt,na,np,nz,pg,pk,qa,sa,sb,sg,sv,ua,ug,uk,uy,vn,za,zw"; -+ QStringList countries = QStringList::split(',', twoLevelTLD); -+ for(QStringList::ConstIterator it = countries.begin(); -+ it != countries.end(); ++it) -+ { -+ m_twoLevelTLD.replace(*it, (int *) 1); -+ } - } - - // -@@ -528,14 +536,14 @@ static const char * parseNameValue(const - - } - --static void stripDomain(const QString &_fqdn, QString &_domain) -+void KCookieJar::stripDomain(const QString &_fqdn, QString &_domain) - { - QStringList domains; -- KCookieJar::extractDomains(_fqdn, domains); -+ extractDomains(_fqdn, domains); - _domain = domains[0]; - } - --static QString stripDomain( KHttpCookiePtr cookiePtr) -+QString KCookieJar::stripDomain( KHttpCookiePtr cookiePtr) - { - QString domain; // We file the cookie under this domain. - if (cookiePtr->domain().isEmpty()) -@@ -620,6 +628,13 @@ void KCookieJar::extractDomains(const QS - { - if (partList.count() == 1) - break; // We only have a TLD left. -+ -+ if ((partList.count() == 2) && (m_twoLevelTLD[partList[1].lower()])) -+ { -+ // This domain uses two-level TLDs in the form xxxx.yy -+ break; -+ } -+ - if ((partList.count() == 2) && (partList[1].length() == 2)) - { - // If this is a TLD, we should stop. (e.g. co.uk) -@@ -634,14 +649,6 @@ void KCookieJar::extractDomains(const QS - break; - } - -- // The .name domain uses <name>.<surname>.name -- // Although the TLD is striclty speaking .name, for our purpose -- // it should be <surname>.name since people should not be able -- // to set cookies for everyone with the same surname. -- // Matches <surname>.name -- if ((partList.count() == 2)&& (partList[1].lower() == L1("name"))) -- break; -- - QString domain = partList.join(L1(".")); - _domains.append('.' + domain); - _domains.append(domain); -Index: kioslave/http/kcookiejar/kcookiejar.h -=================================================================== -RCS file: /home/kde/kdelibs/kioslave/http/kcookiejar/kcookiejar.h,v -retrieving revision 1.33 -retrieving revision 1.34 -diff -u -p -r1.33 -r1.34 ---- kioslave/http/kcookiejar/kcookiejar.h 22 Nov 2003 16:50:45 -0000 1.33 -+++ kioslave/http/kcookiejar/kcookiejar.h 20 Jul 2004 15:29:24 -0000 1.34 -@@ -306,8 +306,8 @@ public: - /** - * Returns a list of domains (_domainList) relevant for this host. - */ -- static void extractDomains(const QString &_fqdn, -- QStringList &_domainList); -+ void extractDomains(const QString &_fqdn, -+ QStringList &_domainList); - - static QString adviceToStr(KCookieAdvice _advice); - static KCookieAdvice strToAdvice(const QString &_str); -@@ -329,11 +329,15 @@ public: - */ - void setShowCookieDetails (bool value) { m_showCookieDetails = value; } - -+protected: -+ void stripDomain(const QString &_fqdn, QString &_domain); -+ QString stripDomain( KHttpCookiePtr cookiePtr); - - protected: - QStringList m_domainList; - KCookieAdvice m_globalAdvice; - QDict<KHttpCookieList> m_cookieDomains; -+ QDict<int> m_twoLevelTLD; - - bool m_configChanged; - bool m_cookiesChanged; -Index: kioslave/http/kcookiejar/kcookieserver.cpp -=================================================================== -RCS file: /home/kde/kdelibs/kioslave/http/kcookiejar/kcookieserver.cpp,v -retrieving revision 1.50 -retrieving revision 1.51 -diff -u -p -r1.50 -r1.51 ---- kioslave/http/kcookiejar/kcookieserver.cpp 9 Jun 2003 10:56:42 -0000 1.50 -+++ kioslave/http/kcookiejar/kcookieserver.cpp 20 Jul 2004 15:29:24 -0000 1.51 -@@ -131,7 +131,7 @@ bool KCookieServer::cookiesPending( cons - if (!KCookieJar::parseURL(url, fqdn, path)) - return false; - -- KCookieJar::extractDomains( fqdn, domains ); -+ mCookieJar->extractDomains( fqdn, domains ); - for( KHttpCookie *cookie = mPendingCookies->first(); - cookie != 0L; - cookie = mPendingCookies->next()) -@@ -557,7 +557,7 @@ KCookieServer::setDomainAdvice(QString u - if (KCookieJar::parseURL(url, fqdn, dummy)) - { - QStringList domains; -- KCookieJar::extractDomains(fqdn, domains); -+ mCookieJar->extractDomains(fqdn, domains); - mCookieJar->setDomainAdvice(domains[0], - KCookieJar::strToAdvice(advice)); - } -@@ -573,7 +573,7 @@ KCookieServer::getDomainAdvice(QString u - if (KCookieJar::parseURL(url, fqdn, dummy)) - { - QStringList domains; -- KCookieJar::extractDomains(fqdn, domains); -+ mCookieJar->extractDomains(fqdn, domains); - advice = mCookieJar->getDomainAdvice(domains[0]); - } - return KCookieJar::adviceToStr(advice); |