rpms/kdebase3/devel kdebase-3.5.8-flash.patch, 1.1, 1.2 kdebase3.spec, 1.8, 1.9
Rex Dieter (rdieter)
fedora-extras-commits at redhat.com
Fri Dec 14 17:35:00 UTC 2007
- Previous message (by thread): rpms/kdebase3/devel kdebase-3.5.8-flash.patch, NONE, 1.1 kdebase3.spec, 1.7, 1.8 kdebase-3.5.8-new-flash.patch, 1.2, NONE
- Next message (by thread): rpms/xen/devel xen-initscript.patch, 1.8, 1.8.2.1 xen.spec, 1.194.2.8, 1.194.2.9 xen-block-readonly.patch, 1.1, NONE
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: rdieter
Update of /cvs/pkgs/rpms/kdebase3/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv30825
Modified Files:
kdebase-3.5.8-flash.patch kdebase3.spec
Log Message:
respin flash patch, *really* including gtk_init this time
kdebase-3.5.8-flash.patch:
Index: kdebase-3.5.8-flash.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kdebase3/devel/kdebase-3.5.8-flash.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- kdebase-3.5.8-flash.patch 14 Dec 2007 17:25:23 -0000 1.1
+++ kdebase-3.5.8-flash.patch 14 Dec 2007 17:34:51 -0000 1.2
@@ -1,119 +1,89 @@
-diff -up kdebase-3.5.8/nsplugins/Makefile.am.new-flash kdebase-3.5.8/nsplugins/Makefile.am
-diff -up kdebase-3.5.8/nsplugins/nspluginloader.h.new-flash kdebase-3.5.8/nsplugins/nspluginloader.h
---- kdebase-3.5.8/nsplugins/nspluginloader.h.new-flash 2006-10-01 12:31:58.000000000 -0500
-+++ kdebase-3.5.8/nsplugins/nspluginloader.h 2007-12-14 10:59:58.000000000 -0600
-@@ -43,13 +43,16 @@ class KProcess;
- class QPushButton;
- class QGridLayout;
+diff -up kdebase-3.5.8/nsplugins/nspluginloader.cpp.flash kdebase-3.5.8/nsplugins/nspluginloader.cpp
+--- kdebase-3.5.8/nsplugins/nspluginloader.cpp.flash 2006-10-01 12:31:58.000000000 -0500
++++ kdebase-3.5.8/nsplugins/nspluginloader.cpp 2007-12-14 11:30:19.000000000 -0600
+@@ -54,11 +54,16 @@ NSPluginLoader *NSPluginLoader::s_instan
+ int NSPluginLoader::s_refCount = 0;
--class NSPluginInstance : public EMBEDCLASS, virtual public NSPluginInstanceIface_stub
-+class NSPluginInstance : public EMBEDCLASS
- {
- Q_OBJECT
- public:
-- NSPluginInstance(QWidget *parent, const QCString& app, const QCString& id);
-+ NSPluginInstance(QWidget *parent);
-+ void init( const QCString& app, const QCString& obj );
- ~NSPluginInstance();
-+public: // wrappers
-+ void javascriptResult( int id, QString result ) { stub->javascriptResult( id, result ); }
-
- private slots:
- void doLoadPlugin();
-@@ -62,6 +65,11 @@ protected:
- bool shown;
- QPushButton *_button;
- QGridLayout *_layout;
-+ NSPluginInstanceIface_stub* stub;
-+private: // wrappers
-+ void displayPlugin() { stub->displayPlugin(); }
-+ void resizePlugin( int w, int h ) { stub->resizePlugin( w, h ); }
-+ void shutdown() { if( stub ) stub->shutdown(); }
- };
+-NSPluginInstance::NSPluginInstance(QWidget *parent, const QCString& app, const QCString& id)
+- : DCOPStub(app, id), NSPluginInstanceIface_stub(app, id), EMBEDCLASS(parent)
++NSPluginInstance::NSPluginInstance(QWidget *parent)
++ : EMBEDCLASS(parent), stub( NULL )
+ {
+ _loader = 0L;
+ shown = false;
++}
++
++void NSPluginInstance::init(const QCString& app, const QCString& obj)
++{
++ stub = new NSPluginInstanceIface_stub( app, obj );
+ QGridLayout *_layout = new QGridLayout(this, 1, 1);
+ KConfig cfg("kcmnspluginrc", false);
+ cfg.setGroup("Misc");
+@@ -80,12 +85,19 @@ void NSPluginInstance::doLoadPlugin() {
+ _button = 0L;
+ _loader = NSPluginLoader::instance();
+ setBackgroundMode(QWidget::NoBackground);
+- setProtocol(QXEmbed::XPLAIN);
+- embed( NSPluginInstanceIface_stub::winId() );
++ WId winid = stub->winId();
++ if( winid != 0 ) {
++ setProtocol(QXEmbed::XPLAIN);
++ embed( winid );
++ } else {
++ setProtocol(QXEmbed::XEMBED);
++ }
++ // resize before showing, some plugins are stupid and can't handle repeated
++ // NPSetWindow() calls very well
++ resizePlugin(width(), height());
+ displayPlugin();
+ show();
+ shown = true;
+- if (isVisible()) resizePlugin(width(), height());
+ }
+ }
+@@ -97,6 +109,7 @@ NSPluginInstance::~NSPluginInstance()
+ kdDebug() << "release" << endl;
+ _loader->release();
+ kdDebug() << "<- NSPluginInstance::~NSPluginInstance" << endl;
++ delete stub;
+ }
-diff -up kdebase-3.5.8/nsplugins/viewer/Makefile.am.new-flash kdebase-3.5.8/nsplugins/viewer/Makefile.am
---- kdebase-3.5.8/nsplugins/viewer/Makefile.am.new-flash 2005-09-10 03:25:39.000000000 -0500
-+++ kdebase-3.5.8/nsplugins/viewer/Makefile.am 2007-12-14 11:11:35.000000000 -0600
-@@ -1,12 +1,12 @@
--INCLUDES = -I$(top_srcdir)/nsplugins -I$(top_builddir)/nsplugins $(all_includes)
-+INCLUDES = -I$(top_srcdir)/nsplugins -I$(top_builddir)/nsplugins $(all_includes) $(GTK_CFLAGS)
- METASOURCES = AUTO
- bin_PROGRAMS = nspluginviewer
+@@ -445,19 +458,19 @@ NSPluginInstance *NSPluginLoader::newIns
+ if ( mime=="application/x-shockwave-flash" )
+ embed = true; // flash doesn't work in full mode :(
- nspluginviewer_SOURCES = NSPluginCallbackIface.stub NSPluginClassIface.skel \
-- nsplugin.cpp viewer.cpp kxt.cpp qxteventloop.cpp
-+ nsplugin.cpp viewer.cpp kxt.cpp qxteventloop.cpp glibevents.cpp
- nspluginviewer_LDFLAGS = $(all_libraries) $(KDE_RPATH) -export-dynamic
--nspluginviewer_LDADD = $(LIB_KIO) $(LIB_KPARTS) -lXt
-+nspluginviewer_LDADD = $(LIB_KIO) $(LIB_KPARTS) -lXt $(GTK_LIBS)
++ NSPluginInstance *plugin = new NSPluginInstance( parent );
++ kdDebug() << "<- NSPluginLoader::NewInstance = " << (void*)plugin << endl;
- NSPluginCallbackIface_DIR = $(srcdir)/..
+ // get plugin instance
+- DCOPRef inst_ref = cls->newInstance( url, mime, embed, argn, argv, appId, callbackId, reload, doPost, postData);
++ DCOPRef inst_ref = cls->newInstance( url, mime, embed, argn, argv, appId, callbackId, reload, doPost, postData, plugin->winId());
+ if ( inst_ref.isNull() )
+ {
+ kdDebug() << "Couldn't create plugin instance" << endl;
++ delete plugin;
+ return 0;
+ }
-diff -up kdebase-3.5.8/nsplugins/viewer/NSPluginClassIface.h.new-flash kdebase-3.5.8/nsplugins/viewer/NSPluginClassIface.h
---- kdebase-3.5.8/nsplugins/viewer/NSPluginClassIface.h.new-flash 2005-11-19 05:08:29.000000000 -0600
-+++ kdebase-3.5.8/nsplugins/viewer/NSPluginClassIface.h 2007-12-14 10:59:58.000000000 -0600
-@@ -50,7 +50,7 @@ k_dcop:
- virtual DCOPRef newInstance(QString url, QString mimeType, bool embed,
- QStringList argn, QStringList argv,
- QString appId, QString callbackId, bool reload,
-- bool doPost, QByteArray postData) = 0;
-+ bool doPost, QByteArray postData, long xembed) = 0;
- virtual QString getMIMEDescription() = 0;
+- NSPluginInstance *plugin = new NSPluginInstance( parent, inst_ref.app(),
+- inst_ref.object() );
+-
+- kdDebug() << "<- NSPluginLoader::NewInstance = " << (void*)plugin << endl;
++ plugin->init( inst_ref.app(), inst_ref.object() );
- };
-diff -up /dev/null kdebase-3.5.8/nsplugins/viewer/glibevents.cpp
+ return plugin;
+ }
+diff -up /dev/null kdebase-3.5.8/nsplugins/configure.in.in
--- /dev/null 2007-12-13 13:41:14.965729569 -0600
-+++ kdebase-3.5.8/nsplugins/viewer/glibevents.cpp 2007-12-14 10:59:58.000000000 -0600
-@@ -0,0 +1,43 @@
-+/*
-+ Copyright (c) 2007 Lubos Lunak <l.lunak at suse.cz>
-+
-+ This program is free software; you can redistribute it and/or modify
-+ it under the terms of the GNU General Public License as published by
-+ the Free Software Foundation; either version 2 of the License, or
-+ (at your option) any later version.
-+
-+ This program is distributed in the hope that it will be useful,
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ GNU General Public License for more details.
-+
-+ You should have received a copy of the GNU General Public License
-+ along with this program; if not, write to the Free Software
-+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-+
-+*/
-+
-+#include "glibevents.h"
-+
-+#include <qapplication.h>
-+
-+GlibEvents::GlibEvents()
-+ {
-+ g_main_context_ref( g_main_context_default());
-+ connect( &timer, SIGNAL( timeout()), SLOT( process()));
-+ // TODO Poll for now
-+ timer.start( 10 );
-+ }
-+
-+GlibEvents::~GlibEvents()
-+ {
-+ g_main_context_unref( g_main_context_default());
-+ }
-+
-+void GlibEvents::process()
-+ {
-+ while( g_main_context_pending( g_main_context_default()))
-+ g_main_context_iteration( g_main_context_default(), false );
-+ }
-+
-+#include "glibevents.moc"
++++ kdebase-3.5.8/nsplugins/configure.in.in 2007-12-14 11:30:19.000000000 -0600
+@@ -0,0 +1 @@
++KDE_PKG_CHECK_MODULES(GTK, gtk+-2.0 >= 0.21 )
diff -up /dev/null kdebase-3.5.8/nsplugins/viewer/glibevents.h
--- /dev/null 2007-12-13 13:41:14.965729569 -0600
-+++ kdebase-3.5.8/nsplugins/viewer/glibevents.h 2007-12-14 10:59:58.000000000 -0600
++++ kdebase-3.5.8/nsplugins/viewer/glibevents.h 2007-12-14 11:30:19.000000000 -0600
@@ -0,0 +1,41 @@
+/*
+ Copyright (c) 2007 Lubos Lunak <l.lunak at suse.cz>
@@ -156,54 +126,54 @@
+ };
+
+#endif
-diff -up kdebase-3.5.8/nsplugins/viewer/nsplugin.h.new-flash kdebase-3.5.8/nsplugins/viewer/nsplugin.h
---- kdebase-3.5.8/nsplugins/viewer/nsplugin.h.new-flash 2007-10-08 04:51:23.000000000 -0500
-+++ kdebase-3.5.8/nsplugins/viewer/nsplugin.h 2007-12-14 10:59:58.000000000 -0600
-@@ -165,13 +165,13 @@ public:
- // constructor, destructor
- NSPluginInstance( NPP privateData, NPPluginFuncs *pluginFuncs, KLibrary *handle,
- int width, int height, QString src, QString mime,
-- QString appId, QString callbackId, bool embed,
-+ QString appId, QString callbackId, bool embed, WId xembed,
- QObject *parent, const char* name=0 );
- ~NSPluginInstance();
+diff -up kdebase-3.5.8/nsplugins/viewer/Makefile.am.flash kdebase-3.5.8/nsplugins/viewer/Makefile.am
+--- kdebase-3.5.8/nsplugins/viewer/Makefile.am.flash 2005-09-10 03:25:39.000000000 -0500
++++ kdebase-3.5.8/nsplugins/viewer/Makefile.am 2007-12-14 11:30:19.000000000 -0600
+@@ -1,12 +1,12 @@
+-INCLUDES = -I$(top_srcdir)/nsplugins -I$(top_builddir)/nsplugins $(all_includes)
++INCLUDES = -I$(top_srcdir)/nsplugins -I$(top_builddir)/nsplugins $(all_includes) $(GTK_CFLAGS)
+ METASOURCES = AUTO
- // DCOP functions
- void shutdown();
-- int winId() { return XtWindow(_form); }
-+ int winId() { return _form != 0 ? XtWindow(_form) : 0; }
- int setWindow(int remove=0);
- void resizePlugin(int w, int h);
- void javascriptResult(int id, QString result);
-@@ -232,6 +232,7 @@ private:
- NPPluginFuncs _pluginFuncs;
+ bin_PROGRAMS = nspluginviewer
- Widget _area, _form, _toplevel;
-+ WId _xembed_window;
- QString _baseURL;
- int _width, _height;
+ nspluginviewer_SOURCES = NSPluginCallbackIface.stub NSPluginClassIface.skel \
+- nsplugin.cpp viewer.cpp kxt.cpp qxteventloop.cpp
++ nsplugin.cpp viewer.cpp kxt.cpp qxteventloop.cpp glibevents.cpp
+ nspluginviewer_LDFLAGS = $(all_libraries) $(KDE_RPATH) -export-dynamic
+-nspluginviewer_LDADD = $(LIB_KIO) $(LIB_KPARTS) -lXt
++nspluginviewer_LDADD = $(LIB_KIO) $(LIB_KPARTS) -lXt $(GTK_LIBS)
-@@ -281,7 +282,7 @@ public:
- DCOPRef newInstance(QString url, QString mimeType, bool embed,
- QStringList argn, QStringList argv,
- QString appId, QString callbackId, bool reload, bool post,
-- QByteArray postData );
-+ QByteArray postData, long xembed );
- void destroyInstance( NSPluginInstance* inst );
- bool error() { return _error; }
+ NSPluginCallbackIface_DIR = $(srcdir)/..
-diff -up kdebase-3.5.8/nsplugins/viewer/viewer.cpp.new-flash kdebase-3.5.8/nsplugins/viewer/viewer.cpp
---- kdebase-3.5.8/nsplugins/viewer/viewer.cpp.new-flash 2006-01-19 11:01:49.000000000 -0600
-+++ kdebase-3.5.8/nsplugins/viewer/viewer.cpp 2007-12-14 10:59:58.000000000 -0600
-@@ -52,6 +52,7 @@
+diff -up kdebase-3.5.8/nsplugins/viewer/viewer.cpp.flash kdebase-3.5.8/nsplugins/viewer/viewer.cpp
+--- kdebase-3.5.8/nsplugins/viewer/viewer.cpp.flash 2006-01-19 11:01:49.000000000 -0600
++++ kdebase-3.5.8/nsplugins/viewer/viewer.cpp 2007-12-14 11:32:58.000000000 -0600
+@@ -52,8 +52,13 @@
#include <X11/Shell.h>
#else
#include "qxteventloop.h"
+#include "glibevents.h"
#endif
++// FIXME: this is just for calling gtk_init and fix the buggy flash player
++// initialization
++#include <gtk/gtkmain.h>
++
/**
-@@ -249,6 +250,7 @@ int main(int argc, char** argv)
+ * Use RLIMIT_DATA on systems that don't define RLIMIT_AS,
+ * such as FreeBSD 4.
+@@ -215,6 +220,10 @@ bool qt_set_socket_handler( int sockfd,
+
+ int main(int argc, char** argv)
+ {
++ // FIXME; the gtk_init() call is here to fix a bug in flash player that does
++ // not call it properly, or call it in a wrong place
++ gtk_init(&argc, &argv);
++
+ // nspluginviewer is a helper app, it shouldn't do session management at all
+ setenv( "SESSION_MANAGER", "", 1 );
+
+@@ -249,6 +258,7 @@ int main(int argc, char** argv)
kdDebug(1430) << "4 - create KApplication" << endl;
KApplication app( argc, argv, "nspluginviewer" );
@@ -211,9 +181,9 @@
#endif
{
-diff -up kdebase-3.5.8/nsplugins/viewer/nsplugin.cpp.new-flash kdebase-3.5.8/nsplugins/viewer/nsplugin.cpp
---- kdebase-3.5.8/nsplugins/viewer/nsplugin.cpp.new-flash 2006-10-01 12:31:58.000000000 -0500
-+++ kdebase-3.5.8/nsplugins/viewer/nsplugin.cpp 2007-12-14 10:59:58.000000000 -0600
+diff -up kdebase-3.5.8/nsplugins/viewer/nsplugin.cpp.flash kdebase-3.5.8/nsplugins/viewer/nsplugin.cpp
+--- kdebase-3.5.8/nsplugins/viewer/nsplugin.cpp.flash 2006-10-01 12:31:58.000000000 -0500
++++ kdebase-3.5.8/nsplugins/viewer/nsplugin.cpp 2007-12-14 11:30:19.000000000 -0600
@@ -180,6 +180,12 @@ NPError g_NPN_GetValue(NPP /*instance*/,
// Offline browsing - no thanks
*(bool*)value = false;
@@ -516,14 +486,104 @@
/****************************************************************************/
NSPluginStreamBase::NSPluginStreamBase( NSPluginInstance *instance )
-diff -up kdebase-3.5.8/nsplugins/configure.in.in.new-flash kdebase-3.5.8/nsplugins/configure.in.in
---- kdebase-3.5.8/nsplugins/configure.in.in.new-flash 2007-12-14 11:01:54.000000000 -0600
-+++ kdebase-3.5.8/nsplugins/configure.in.in 2007-12-14 11:08:56.000000000 -0600
-@@ -0,0 +1 @@
-+KDE_PKG_CHECK_MODULES(GTK, gtk+-2.0 >= 0.21 )
-diff -up kdebase-3.5.8/nsplugins/sdk/npapi.h.new-flash kdebase-3.5.8/nsplugins/sdk/npapi.h
---- kdebase-3.5.8/nsplugins/sdk/npapi.h.new-flash 2007-10-08 04:51:23.000000000 -0500
-+++ kdebase-3.5.8/nsplugins/sdk/npapi.h 2007-12-14 10:59:58.000000000 -0600
+diff -up kdebase-3.5.8/nsplugins/viewer/NSPluginClassIface.h.flash kdebase-3.5.8/nsplugins/viewer/NSPluginClassIface.h
+--- kdebase-3.5.8/nsplugins/viewer/NSPluginClassIface.h.flash 2005-11-19 05:08:29.000000000 -0600
++++ kdebase-3.5.8/nsplugins/viewer/NSPluginClassIface.h 2007-12-14 11:30:19.000000000 -0600
+@@ -50,7 +50,7 @@ k_dcop:
+ virtual DCOPRef newInstance(QString url, QString mimeType, bool embed,
+ QStringList argn, QStringList argv,
+ QString appId, QString callbackId, bool reload,
+- bool doPost, QByteArray postData) = 0;
++ bool doPost, QByteArray postData, long xembed) = 0;
+ virtual QString getMIMEDescription() = 0;
+
+ };
+diff -up /dev/null kdebase-3.5.8/nsplugins/viewer/glibevents.cpp
+--- /dev/null 2007-12-13 13:41:14.965729569 -0600
++++ kdebase-3.5.8/nsplugins/viewer/glibevents.cpp 2007-12-14 11:30:19.000000000 -0600
+@@ -0,0 +1,43 @@
++/*
++ Copyright (c) 2007 Lubos Lunak <l.lunak at suse.cz>
++
++ This program is free software; you can redistribute it and/or modify
++ it under the terms of the GNU General Public License as published by
++ the Free Software Foundation; either version 2 of the License, or
++ (at your option) any later version.
++
++ This program is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ GNU General Public License for more details.
++
++ You should have received a copy of the GNU General Public License
++ along with this program; if not, write to the Free Software
++ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
++
++*/
++
++#include "glibevents.h"
++
++#include <qapplication.h>
++
++GlibEvents::GlibEvents()
++ {
++ g_main_context_ref( g_main_context_default());
++ connect( &timer, SIGNAL( timeout()), SLOT( process()));
++ // TODO Poll for now
++ timer.start( 10 );
++ }
++
++GlibEvents::~GlibEvents()
++ {
++ g_main_context_unref( g_main_context_default());
++ }
++
++void GlibEvents::process()
++ {
++ while( g_main_context_pending( g_main_context_default()))
++ g_main_context_iteration( g_main_context_default(), false );
++ }
++
++#include "glibevents.moc"
+diff -up kdebase-3.5.8/nsplugins/viewer/nsplugin.h.flash kdebase-3.5.8/nsplugins/viewer/nsplugin.h
+--- kdebase-3.5.8/nsplugins/viewer/nsplugin.h.flash 2007-10-08 04:51:23.000000000 -0500
++++ kdebase-3.5.8/nsplugins/viewer/nsplugin.h 2007-12-14 11:30:19.000000000 -0600
+@@ -165,13 +165,13 @@ public:
+ // constructor, destructor
+ NSPluginInstance( NPP privateData, NPPluginFuncs *pluginFuncs, KLibrary *handle,
+ int width, int height, QString src, QString mime,
+- QString appId, QString callbackId, bool embed,
++ QString appId, QString callbackId, bool embed, WId xembed,
+ QObject *parent, const char* name=0 );
+ ~NSPluginInstance();
+
+ // DCOP functions
+ void shutdown();
+- int winId() { return XtWindow(_form); }
++ int winId() { return _form != 0 ? XtWindow(_form) : 0; }
+ int setWindow(int remove=0);
+ void resizePlugin(int w, int h);
+ void javascriptResult(int id, QString result);
+@@ -232,6 +232,7 @@ private:
+ NPPluginFuncs _pluginFuncs;
+
+ Widget _area, _form, _toplevel;
++ WId _xembed_window;
+ QString _baseURL;
+ int _width, _height;
+
+@@ -281,7 +282,7 @@ public:
+ DCOPRef newInstance(QString url, QString mimeType, bool embed,
+ QStringList argn, QStringList argv,
+ QString appId, QString callbackId, bool reload, bool post,
+- QByteArray postData );
++ QByteArray postData, long xembed );
+ void destroyInstance( NSPluginInstance* inst );
+ bool error() { return _error; }
+
+diff -up kdebase-3.5.8/nsplugins/sdk/npapi.h.flash kdebase-3.5.8/nsplugins/sdk/npapi.h
+--- kdebase-3.5.8/nsplugins/sdk/npapi.h.flash 2007-10-08 04:51:23.000000000 -0500
++++ kdebase-3.5.8/nsplugins/sdk/npapi.h 2007-12-14 11:30:19.000000000 -0600
@@ -38,7 +38,7 @@
@@ -590,7 +650,7 @@
} NPWindow;
diff -up /dev/null kdebase-3.5.8/nsplugins/sdk/npruntime.h
--- /dev/null 2007-12-13 13:41:14.965729569 -0600
-+++ kdebase-3.5.8/nsplugins/sdk/npruntime.h 2007-12-14 10:59:58.000000000 -0600
++++ kdebase-3.5.8/nsplugins/sdk/npruntime.h 2007-12-14 11:30:19.000000000 -0600
@@ -0,0 +1,399 @@
+/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
@@ -991,9 +1051,9 @@
+#endif
+
+#endif
-diff -up kdebase-3.5.8/nsplugins/sdk/npupp.h.new-flash kdebase-3.5.8/nsplugins/sdk/npupp.h
---- kdebase-3.5.8/nsplugins/sdk/npupp.h.new-flash 2007-10-08 04:51:23.000000000 -0500
-+++ kdebase-3.5.8/nsplugins/sdk/npupp.h 2007-12-14 10:59:58.000000000 -0600
+diff -up kdebase-3.5.8/nsplugins/sdk/npupp.h.flash kdebase-3.5.8/nsplugins/sdk/npupp.h
+--- kdebase-3.5.8/nsplugins/sdk/npupp.h.flash 2007-10-08 04:51:23.000000000 -0500
++++ kdebase-3.5.8/nsplugins/sdk/npupp.h 2007-12-14 11:30:19.000000000 -0600
@@ -1,11 +1,11 @@
-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
@@ -1687,9 +1747,9 @@
} NPNetscapeFuncs;
#ifdef XP_MAC
-diff -up kdebase-3.5.8/nsplugins/sdk/prcpucfg.h.new-flash kdebase-3.5.8/nsplugins/sdk/prcpucfg.h
---- kdebase-3.5.8/nsplugins/sdk/prcpucfg.h.new-flash 2007-10-08 04:51:23.000000000 -0500
-+++ kdebase-3.5.8/nsplugins/sdk/prcpucfg.h 2007-12-14 10:59:58.000000000 -0600
+diff -up kdebase-3.5.8/nsplugins/sdk/prcpucfg.h.flash kdebase-3.5.8/nsplugins/sdk/prcpucfg.h
+--- kdebase-3.5.8/nsplugins/sdk/prcpucfg.h.flash 2007-10-08 04:51:23.000000000 -0500
++++ kdebase-3.5.8/nsplugins/sdk/prcpucfg.h 2007-12-14 11:30:19.000000000 -0600
@@ -276,7 +276,7 @@
#define PR_BYTES_PER_WORD_LOG2 2
#define PR_BYTES_PER_DWORD_LOG2 3
@@ -1708,81 +1768,37 @@
#define IS_LITTLE_ENDIAN 1
#undef IS_BIG_ENDIAN
-diff -up kdebase-3.5.8/nsplugins/nspluginloader.cpp.new-flash kdebase-3.5.8/nsplugins/nspluginloader.cpp
---- kdebase-3.5.8/nsplugins/nspluginloader.cpp.new-flash 2006-10-01 12:31:58.000000000 -0500
-+++ kdebase-3.5.8/nsplugins/nspluginloader.cpp 2007-12-14 10:59:58.000000000 -0600
-@@ -54,11 +54,16 @@ NSPluginLoader *NSPluginLoader::s_instan
- int NSPluginLoader::s_refCount = 0;
-
+diff -up kdebase-3.5.8/nsplugins/nspluginloader.h.flash kdebase-3.5.8/nsplugins/nspluginloader.h
+--- kdebase-3.5.8/nsplugins/nspluginloader.h.flash 2006-10-01 12:31:58.000000000 -0500
++++ kdebase-3.5.8/nsplugins/nspluginloader.h 2007-12-14 11:30:19.000000000 -0600
+@@ -43,13 +43,16 @@ class KProcess;
+ class QPushButton;
+ class QGridLayout;
--NSPluginInstance::NSPluginInstance(QWidget *parent, const QCString& app, const QCString& id)
-- : DCOPStub(app, id), NSPluginInstanceIface_stub(app, id), EMBEDCLASS(parent)
-+NSPluginInstance::NSPluginInstance(QWidget *parent)
-+ : EMBEDCLASS(parent), stub( NULL )
+-class NSPluginInstance : public EMBEDCLASS, virtual public NSPluginInstanceIface_stub
++class NSPluginInstance : public EMBEDCLASS
{
- _loader = 0L;
- shown = false;
-+}
-+
-+void NSPluginInstance::init(const QCString& app, const QCString& obj)
-+{
-+ stub = new NSPluginInstanceIface_stub( app, obj );
- QGridLayout *_layout = new QGridLayout(this, 1, 1);
- KConfig cfg("kcmnspluginrc", false);
- cfg.setGroup("Misc");
-@@ -80,12 +85,19 @@ void NSPluginInstance::doLoadPlugin() {
- _button = 0L;
- _loader = NSPluginLoader::instance();
- setBackgroundMode(QWidget::NoBackground);
-- setProtocol(QXEmbed::XPLAIN);
-- embed( NSPluginInstanceIface_stub::winId() );
-+ WId winid = stub->winId();
-+ if( winid != 0 ) {
-+ setProtocol(QXEmbed::XPLAIN);
-+ embed( winid );
-+ } else {
-+ setProtocol(QXEmbed::XEMBED);
-+ }
-+ // resize before showing, some plugins are stupid and can't handle repeated
-+ // NPSetWindow() calls very well
-+ resizePlugin(width(), height());
- displayPlugin();
- show();
- shown = true;
-- if (isVisible()) resizePlugin(width(), height());
- }
- }
-
-@@ -97,6 +109,7 @@ NSPluginInstance::~NSPluginInstance()
- kdDebug() << "release" << endl;
- _loader->release();
- kdDebug() << "<- NSPluginInstance::~NSPluginInstance" << endl;
-+ delete stub;
- }
-
-
-@@ -445,19 +458,19 @@ NSPluginInstance *NSPluginLoader::newIns
- if ( mime=="application/x-shockwave-flash" )
- embed = true; // flash doesn't work in full mode :(
+ Q_OBJECT
-+ NSPluginInstance *plugin = new NSPluginInstance( parent );
-+ kdDebug() << "<- NSPluginLoader::NewInstance = " << (void*)plugin << endl;
+ public:
+- NSPluginInstance(QWidget *parent, const QCString& app, const QCString& id);
++ NSPluginInstance(QWidget *parent);
++ void init( const QCString& app, const QCString& obj );
+ ~NSPluginInstance();
++public: // wrappers
++ void javascriptResult( int id, QString result ) { stub->javascriptResult( id, result ); }
- // get plugin instance
-- DCOPRef inst_ref = cls->newInstance( url, mime, embed, argn, argv, appId, callbackId, reload, doPost, postData);
-+ DCOPRef inst_ref = cls->newInstance( url, mime, embed, argn, argv, appId, callbackId, reload, doPost, postData, plugin->winId());
- if ( inst_ref.isNull() )
- {
- kdDebug() << "Couldn't create plugin instance" << endl;
-+ delete plugin;
- return 0;
- }
+ private slots:
+ void doLoadPlugin();
+@@ -62,6 +65,11 @@ protected:
+ bool shown;
+ QPushButton *_button;
+ QGridLayout *_layout;
++ NSPluginInstanceIface_stub* stub;
++private: // wrappers
++ void displayPlugin() { stub->displayPlugin(); }
++ void resizePlugin( int w, int h ) { stub->resizePlugin( w, h ); }
++ void shutdown() { if( stub ) stub->shutdown(); }
+ };
-- NSPluginInstance *plugin = new NSPluginInstance( parent, inst_ref.app(),
-- inst_ref.object() );
--
-- kdDebug() << "<- NSPluginLoader::NewInstance = " << (void*)plugin << endl;
-+ plugin->init( inst_ref.app(), inst_ref.object() );
- return plugin;
- }
Index: kdebase3.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kdebase3/devel/kdebase3.spec,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- kdebase3.spec 14 Dec 2007 17:25:23 -0000 1.8
+++ kdebase3.spec 14 Dec 2007 17:34:52 -0000 1.9
@@ -22,7 +22,7 @@
%endif
Version: 3.5.8
-Release: 21%{?dist}
+Release: 22%{?dist}
%if 0%{?fedora} > 8
Name: kdebase3
@@ -775,7 +775,7 @@
%changelog
-* Thu Dec 13 2007 Rex Dieter <rdieter[AT]fedoraproject.org> - 3.5.8-21
+* Thu Dec 13 2007 Rex Dieter <rdieter[AT]fedoraproject.org> - 3.5.8-22
- nspluginviewer: respin flash patch with +gtk_init (#410651)
- use kde's kde.desktop for xsession support
- Previous message (by thread): rpms/kdebase3/devel kdebase-3.5.8-flash.patch, NONE, 1.1 kdebase3.spec, 1.7, 1.8 kdebase-3.5.8-new-flash.patch, 1.2, NONE
- Next message (by thread): rpms/xen/devel xen-initscript.patch, 1.8, 1.8.2.1 xen.spec, 1.194.2.8, 1.194.2.9 xen-block-readonly.patch, 1.1, NONE
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the fedora-extras-commits
mailing list