diff options
author | Carsten Lohrke <carlo@gentoo.org> | 2007-04-19 16:20:26 +0000 |
---|---|---|
committer | Carsten Lohrke <carlo@gentoo.org> | 2007-04-19 16:20:26 +0000 |
commit | e0c80ef9fec6fd4df8050f152b044f1b7a03fb12 (patch) | |
tree | 7efda36c2823526e6275ffbb011ac1cd6e094983 | |
parent | Work around browser plugin flaw. (diff) | |
download | gentoo-2-e0c80ef9fec6fd4df8050f152b044f1b7a03fb12.tar.gz gentoo-2-e0c80ef9fec6fd4df8050f152b044f1b7a03fb12.tar.bz2 gentoo-2-e0c80ef9fec6fd4df8050f152b044f1b7a03fb12.zip |
Work around browser plugin flaw.
(Portage version: 2.1.2.4)
-rw-r--r-- | kde-base/nsplugins/ChangeLog | 10 | ||||
-rw-r--r-- | kde-base/nsplugins/files/digest-nsplugins-3.5.5-r2 | 6 | ||||
-rw-r--r-- | kde-base/nsplugins/files/digest-nsplugins-3.5.6-r1 | 6 | ||||
-rw-r--r-- | kde-base/nsplugins/files/nsplugins-3.5.6-keyboard-handler.diff | 77 | ||||
-rw-r--r-- | kde-base/nsplugins/nsplugins-3.5.5-r2.ebuild | 23 | ||||
-rw-r--r-- | kde-base/nsplugins/nsplugins-3.5.6-r1.ebuild | 23 |
6 files changed, 144 insertions, 1 deletions
diff --git a/kde-base/nsplugins/ChangeLog b/kde-base/nsplugins/ChangeLog index 691342e24f5f..758a286d385a 100644 --- a/kde-base/nsplugins/ChangeLog +++ b/kde-base/nsplugins/ChangeLog @@ -1,6 +1,14 @@ # ChangeLog for kde-base/nsplugins # Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/kde-base/nsplugins/ChangeLog,v 1.78 2007/03/26 20:47:59 armin76 Exp $ +# $Header: /var/cvsroot/gentoo-x86/kde-base/nsplugins/ChangeLog,v 1.79 2007/04/19 16:20:26 carlo Exp $ + +*nsplugins-3.5.6-r1 (19 Apr 2007) +*nsplugins-3.5.5-r2 (19 Apr 2007) + + 19 Apr 2007; Carsten Lohrke <carlo@gentoo.org> + +files/nsplugins-3.5.6-keyboard-handler.diff, +nsplugins-3.5.5-r2.ebuild, + +nsplugins-3.5.6-r1.ebuild: + Work around browser plugin flaw. 26 Mar 2007; Raúl Porcel <armin76@gentoo.org> nsplugins-3.5.5-r1.ebuild: ia64 stable wrt bug 164080 diff --git a/kde-base/nsplugins/files/digest-nsplugins-3.5.5-r2 b/kde-base/nsplugins/files/digest-nsplugins-3.5.5-r2 new file mode 100644 index 000000000000..f51965cf1cbe --- /dev/null +++ b/kde-base/nsplugins/files/digest-nsplugins-3.5.5-r2 @@ -0,0 +1,6 @@ +MD5 420445e2dbddfd83ebc25e85a9b9cdda kdebase-3.5-patchset-03.tar.bz2 21409 +RMD160 941b919097d03347b10bccb51db2fa5e89d7ba16 kdebase-3.5-patchset-03.tar.bz2 21409 +SHA256 59c691754627f78daf7693e82496d808cf1cc31e2d6f32af829ec4ccfd776574 kdebase-3.5-patchset-03.tar.bz2 21409 +MD5 0c685af1cbca75f9c77b3ed231ba0468 kdebase-3.5.5.tar.bz2 23851886 +RMD160 6cf804de0487347a3e1d4ea6e5ba5114d23d9806 kdebase-3.5.5.tar.bz2 23851886 +SHA256 f77632e44214648e2d0adfe1a79dd61a6a738c21fe5abb0baff16b72432baaa0 kdebase-3.5.5.tar.bz2 23851886 diff --git a/kde-base/nsplugins/files/digest-nsplugins-3.5.6-r1 b/kde-base/nsplugins/files/digest-nsplugins-3.5.6-r1 new file mode 100644 index 000000000000..7f2b669fe56f --- /dev/null +++ b/kde-base/nsplugins/files/digest-nsplugins-3.5.6-r1 @@ -0,0 +1,6 @@ +MD5 420445e2dbddfd83ebc25e85a9b9cdda kdebase-3.5-patchset-03.tar.bz2 21409 +RMD160 941b919097d03347b10bccb51db2fa5e89d7ba16 kdebase-3.5-patchset-03.tar.bz2 21409 +SHA256 59c691754627f78daf7693e82496d808cf1cc31e2d6f32af829ec4ccfd776574 kdebase-3.5-patchset-03.tar.bz2 21409 +MD5 a53f589f58012e655a52220a6a151019 kdebase-3.5.6.tar.bz2 24155599 +RMD160 d3cbdcd148ea4c08d254f48faa10fc693517394c kdebase-3.5.6.tar.bz2 24155599 +SHA256 245b35f8b2e1533f9ae92b3b07bee5339a716dfb8db363d0126d2e7409b7bd7e kdebase-3.5.6.tar.bz2 24155599 diff --git a/kde-base/nsplugins/files/nsplugins-3.5.6-keyboard-handler.diff b/kde-base/nsplugins/files/nsplugins-3.5.6-keyboard-handler.diff new file mode 100644 index 000000000000..8d301d6d4e69 --- /dev/null +++ b/kde-base/nsplugins/files/nsplugins-3.5.6-keyboard-handler.diff @@ -0,0 +1,77 @@ +------------------------------------------------------------------------ +r652585 | lunakl | 2007-04-11 16:26:32 +0200 (Wed, 11 Apr 2007) | 3 lines +Changed paths: + M /branches/KDE/3.5/kdebase/nsplugins/viewer/qxteventloop.cpp + +Fix keyboard events handling. + + +------------------------------------------------------------------------ +Index: nsplugins/viewer/qxteventloop.cpp +=================================================================== +--- nsplugins/viewer/qxteventloop.cpp (revision 652584) ++++ nsplugins/viewer/qxteventloop.cpp (revision 652585) +@@ -32,12 +32,16 @@ + ** not clear to you. + ** + **********************************************************************/ ++ ++#include <config.h> ++ + #include "qxteventloop.h" + + #if QT_VERSION >= 0x030100 + + #include <qapplication.h> + #include <qwidgetintdict.h> ++#include <kglobal.h> + + // resolve the conflict between X11's FocusIn and QEvent::FocusIn + const int XFocusOut = FocusOut; +@@ -52,6 +56,8 @@ const int XKeyRelease = KeyRelease; + + Boolean qmotif_event_dispatcher( XEvent *event ); + ++static void handle_xquerykeymap( Display* dpy, XEvent* event ); ++ + class QXtEventLoopPrivate + { + public: +@@ -147,6 +153,7 @@ void QXtEventLoopPrivate::unhook() + extern bool qt_try_modal( QWidget *, XEvent * ); // defined in qapplication_x11.cpp + Boolean qmotif_event_dispatcher( XEvent *event ) + { ++ handle_xquerykeymap( qt_xdisplay(), event ); + QApplication::sendPostedEvents(); + + QWidgetIntDict *mapper = &static_d->mapper; +@@ -462,6 +469,29 @@ bool QXtEventLoop::processEvents( Proces + return ( (flags & WaitForMore) || ( pendingmask != 0 ) || nevents > 0 ); + } + ++#include <dlfcn.h> ++ ++static char xquerykeymap_data[ 32 ]; ++static int (*real_xquerykeymap)( Display*, char[32] ) = NULL; ++ ++static void handle_xquerykeymap( Display* dpy, XEvent* event ) ++{ ++ if( real_xquerykeymap == NULL ) ++ real_xquerykeymap = (int (*)( Display*, char[32] )) dlsym( RTLD_NEXT, "XQueryKeymap" ); ++ if( event->type == XFocusIn || event->type == XKeyPress || event->type == XKeyRelease ) ++ real_xquerykeymap( dpy, xquerykeymap_data ); ++ if( event->type == XFocusOut ) ++ memset( xquerykeymap_data, 0, 32 ); ++} ++ ++extern "C" KDE_EXPORT ++int XQueryKeymap( Display* , char k[32] ) ++{ ++ memcpy( k, xquerykeymap_data, 32 ); ++ return 1; ++} ++ ++ + #include "qxteventloop.moc" + + #endif diff --git a/kde-base/nsplugins/nsplugins-3.5.5-r2.ebuild b/kde-base/nsplugins/nsplugins-3.5.5-r2.ebuild new file mode 100644 index 000000000000..8452ff5e44be --- /dev/null +++ b/kde-base/nsplugins/nsplugins-3.5.5-r2.ebuild @@ -0,0 +1,23 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/kde-base/nsplugins/nsplugins-3.5.5-r2.ebuild,v 1.1 2007/04/19 16:20:26 carlo Exp $ + +KMNAME=kdebase +MAXKDEVER=$PV +KM_DEPRANGE="$PV $MAXKDEVER" +inherit kde-meta eutils + +SRC_URI="${SRC_URI} + mirror://gentoo/kdebase-3.5-patchset-03.tar.bz2" + +DESCRIPTION="Netscape plugins support for Konqueror." +KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd" +IUSE="kdehiddenvisibility" + +PATCHES="${FILESDIR}/${P}-npapi-64bit.patch + ${FILESDIR}/nsplugins-3.5.6-keyboard-handler.diff" + +src_unpack() { + kde-meta_src_unpack + sed -i -e "s:SUBDIRS = viewer test:SUBDIRS = viewer:" ${S}/nsplugins/Makefile.am || die "sed failed" +} diff --git a/kde-base/nsplugins/nsplugins-3.5.6-r1.ebuild b/kde-base/nsplugins/nsplugins-3.5.6-r1.ebuild new file mode 100644 index 000000000000..6b03c6bb00b5 --- /dev/null +++ b/kde-base/nsplugins/nsplugins-3.5.6-r1.ebuild @@ -0,0 +1,23 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/kde-base/nsplugins/nsplugins-3.5.6-r1.ebuild,v 1.1 2007/04/19 16:20:26 carlo Exp $ + +KMNAME=kdebase +MAXKDEVER=$PV +KM_DEPRANGE="$PV $MAXKDEVER" +inherit kde-meta eutils + +SRC_URI="${SRC_URI} + mirror://gentoo/kdebase-3.5-patchset-03.tar.bz2" + +DESCRIPTION="Netscape plugins support for Konqueror." +KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd" +IUSE="kdehiddenvisibility" + +PATCHES="${FILESDIR}/${PN}-3.5.5-npapi-64bit.patch + ${FILESDIR}/nsplugins-3.5.6-keyboard-handler.diff" + +src_unpack() { + kde-meta_src_unpack + sed -i -e "s:SUBDIRS = viewer test:SUBDIRS = viewer:" ${S}/nsplugins/Makefile.am || die "sed failed" +} |