[PATCH] Drop mozilla plugin
- From: Vincent Untz <vuntz gnome org>
- Subject: [PATCH] Drop mozilla plugin
- Date: Fri, 26 Mar 2010 14:01:10 +0100
It doesn't build against recent xulrunner, and xulrunner now has builtin
support for svg anyway.
https://bugzilla.gnome.org/show_bug.cgi?id=593961
---
Makefile.am | 2 +-
TODO | 7 -
configure.in | 32 ---
librsvg.spec.in | 2 -
moz-plugin/.cvsignore | 2 -
moz-plugin/Makefile.am | 14 --
moz-plugin/moz-plugin.c | 587 -----------------------------------------------
7 files changed, 1 insertions(+), 645 deletions(-)
delete mode 100644 moz-plugin/.cvsignore
delete mode 100644 moz-plugin/Makefile.am
delete mode 100644 moz-plugin/moz-plugin.c
diff --git a/Makefile.am b/Makefile.am
index 82dd543..3f24b79 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -4,7 +4,7 @@ else
target_rsvg_view =
endif
-SUBDIRS = . moz-plugin gdk-pixbuf-loader gtk-engine data tests doc
+SUBDIRS = . gdk-pixbuf-loader gtk-engine data tests doc
lib_LTLIBRARIES = librsvg-2.la
bin_PROGRAMS = rsvg-convert $(target_rsvg_view)
diff --git a/TODO b/TODO
index 8dbf0d4..c9f1c00 100644
--- a/TODO
+++ b/TODO
@@ -5,13 +5,6 @@ Higher priority:
to use it to load PNGs/JPEGs/etc., but that piece of code's implementation will be flexible so that it isn't exclusively
dependant on GdkPixbuf.
- * Improvements to the Mozilla plugin
- * Possibly use a Cairo backend to draw directly onto Mozilla's Drawable, rather than using our XEmbed hack.
- * Should enable proper translucency, but could be SLOW
- * Enable printing support, integrated with Mozilla's (http://wp.netscape.com/eng/mozilla/3.0/handbook/plugins/pi4.htm#npprint)
- * Ideally would use Cairo->PS for this
- * In a pinch, embedding a PNG inside of a PS snippet would also work
-
* Areas in need of improvement:
* multiImage
* Text
diff --git a/configure.in b/configure.in
index dd64a2b..76b1286 100644
--- a/configure.in
+++ b/configure.in
@@ -272,36 +272,6 @@ fi
AM_CONDITIONAL(ENABLE_PIXBUF_LOADER, test x$enable_pixbuf_loader = xyes)
##################################################
-##################################################
-
-MOZILLA_CFLAGS=
-build_mozilla_plugin=no
-
-test_mozilla_plugin=true
-AC_ARG_ENABLE(mozilla-plugin, [ --enable-mozilla-plugin Build a Mozilla/Firefox SVG viewing plugin [default = auto]],
- test_mozilla_plugin="$enableval")
-
-if test "x$test_mozilla_plugin" != "xno"; then
- if test -z "$MOZILLA_CONFIG"; then
- AC_PATH_PROGS(MOZILLA_CONFIG, mozilla-config firefox-config xulrunner-config, no)
- fi
-
- if test "x$MOZILLA_CONFIG" != "xno"; then
- MOZILLA_CFLAGS=`$MOZILLA_CONFIG --cflags plugin java`
- else
- PKG_CHECK_MODULES(MOZILLA, mozilla-plugin, build_mozilla_plugin=yes,
- [AC_MSG_WARN([mozilla-config not found. Mozilla/Netscape plugin will not be built])])
- fi
-
- if test "x$MOZILLA_CFLAGS" != "x"; then
- build_mozilla_plugin=yes
- fi
-fi
-
-AM_CONDITIONAL(WITH_MOZILLA,[test "x$build_mozilla_plugin" = "xyes"])
-AC_SUBST(MOZILLA_CFLAGS)
-
-##################################################
# Checks for gtk-doc and docbook-tools
##################################################
gtk_doc_installed=true
@@ -344,7 +314,6 @@ gtk-engine/examples/Makefile
gtk-engine/examples/bubble/Makefile
gtk-engine/examples/bubble/gtk-2.0/Makefile
gdk-pixbuf-loader/Makefile
-moz-plugin/Makefile
tests/Makefile
tests/pdiff/Makefile
doc/Makefile
@@ -361,7 +330,6 @@ librsvg-$LIBRSVG_VERSION
Build GdkPixbuf loader: ${enable_pixbuf_loader}
Build theme engine: ${enable_gtk_theme}
- Build Netscape plugin: ${build_mozilla_plugin}
Handle svgz files: ${test_gsf}
Use GIO: ${test_gio}
Use libcroco for css parsing: ${test_croco}
diff --git a/librsvg.spec.in b/librsvg.spec.in
index e4aaaf8..fb973ce 100644
--- a/librsvg.spec.in
+++ b/librsvg.spec.in
@@ -71,7 +71,6 @@ rm -rf $RPM_BUILD_ROOT
rm -f $RPM_BUILD_ROOT%{_libdir}/gtk-2.0/2.4.0/engines/*.la
rm -f $RPM_BUILD_ROOT%{_libdir}/gtk-2.0/2.4.0/loaders/*.la
rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
-rm -f $RPM_BUILD_ROOT%{_libdir}/mozilla/plugins/libmozsvgdec.la
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/gtk-2.0/gdk-pixbuf.loaders
mkdir -p $RPM_BUILD_DIR/librsvg-%{version}
touch $RPM_BUILD_DIR/librsvg-%{version}/debugfiles.list
@@ -106,7 +105,6 @@ gdk-pixbuf-query-loaders-32 > %{_sysconfdir}/gtk-2.0/gdk-pixbuf.loaders
%{_bindir}/rsvg*
%{_libdir}/gtk-2.0/2.4.0/engines/*
%{_libdir}/gtk-2.0/2.4.0/loaders/*
-%{_libdir}/mozilla/plugins/*
%{_datadir}/pixmaps/*
# %{_datadir}/themes/bubble/gtk-2.0/*
# %{_datadir}/themes/bubble/README
diff --git a/moz-plugin/.cvsignore b/moz-plugin/.cvsignore
deleted file mode 100644
index 282522d..0000000
--- a/moz-plugin/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-Makefile
-Makefile.in
diff --git a/moz-plugin/Makefile.am b/moz-plugin/Makefile.am
deleted file mode 100644
index 6fd9117..0000000
--- a/moz-plugin/Makefile.am
+++ /dev/null
@@ -1,14 +0,0 @@
-plugindir = $(libdir)/mozilla/plugins
-
-if WITH_MOZILLA
-plugin_LTLIBRARIES = libmozsvgdec.la
-else
-plugin_LTLIBRARIES =
-endif
-
-INCLUDES=$(MOZILLA_CFLAGS) -DBINDIR=\"$(bindir)/\" $(GLIB_CFLAGS) $(GDK_X11_CFLAGS)
-
-libmozsvgdec_la_SOURCES = moz-plugin.c
-libmozsvgdec_la_LDFLAGS = -module -avoid-version
-libmozsvgdec_la_LIBADD = $(GLIB_LIBS)
-EXTRA_DIST=moz-plugin.c
diff --git a/moz-plugin/moz-plugin.c b/moz-plugin/moz-plugin.c
deleted file mode 100644
index 2bd5014..0000000
--- a/moz-plugin/moz-plugin.c
+++ /dev/null
@@ -1,587 +0,0 @@
-/* vim: set sw=4: -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
-/*
- moz-plugin.c: Mozilla plugin
-
- Copyright (C) 2003-2004 Dom Lachowicz <cinamod hotmail com>
- Copyright (C) 2003 David Schleef <ds schleef org>
-
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library 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
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public
- License along with this program; if not, write to the
- Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA.
-
- Author: Dom Lachowicz <cinamod hotmail com>
-*/
-
-#include <config.h>
-
-#include <stdio.h>
-#include <unistd.h>
-#include <sys/wait.h>
-#include <signal.h>
-#include <stdarg.h>
-
-#include <X11/Xlib.h>
-#include <X11/Intrinsic.h>
-
-#include <glib.h>
-
-#define XP_UNIX 1
-#define MOZ_X11 1
-#include "npapi.h"
-#include "npupp.h"
-
-#define DEBUG(x) _svg_plugin_debug x
-
-static void
-_svg_plugin_debug(const char * fmt, ...)
-{
-#if 0
- FILE * err;
- va_list ap;
-
- err = fopen("/tmp/moz.svg", "ab");
-
- va_start(ap, fmt);
- vfprintf(err, fmt, ap);
- va_end(ap);
-
- fclose(err);
-#endif
-}
-
-typedef struct
-{
- NPP instance;
- Window window;
-
- int width, height, window_width, window_height;
- int sizes_in_percentages;
-
- GByteArray * bytes;
-
- int send_fd;
- int pid;
-
- char *base_url;
-} SvgPlugin;
-
-static NPNetscapeFuncs mozilla_funcs;
-
-static void
-svg_plugin_kill (SvgPlugin * plugin)
-{
- DEBUG(("plugin_kill\n"));
-
- if(plugin->send_fd > 0)
- {
- close (plugin->send_fd);
- plugin->send_fd = -1;
- }
-
- if(plugin->pid > 0)
- {
- kill (plugin->pid, SIGKILL);
- waitpid (plugin->pid, NULL, 0);
-
- plugin->pid = -1;
- }
-}
-
-static NPError
-svg_plugin_fork (SvgPlugin * plugin, int * plugin_pid, int * plugin_send_fd)
-{
- char xid_str[20];
- char width_str[G_ASCII_DTOSTR_BUF_SIZE];
- char height_str[G_ASCII_DTOSTR_BUF_SIZE];
- char window_width_str[G_ASCII_DTOSTR_BUF_SIZE];
- char window_height_str[G_ASCII_DTOSTR_BUF_SIZE];
- char *argv[32];
- int argc = 0;
- GError *err = NULL;
-
- DEBUG(("plugin_fork\n"));
-
- sprintf (xid_str, "%ld", plugin->window);
-
- argv[argc++] = BINDIR "rsvg-view";
-
- /* xid */
- argv[argc++] = "-i";
- argv[argc++] = xid_str;
-
- if (plugin->width)
- {
- /* width */
- if (plugin->sizes_in_percentages) {
-
- if(plugin->window_width > 0) {
- sprintf (window_width_str, "%d", plugin->window_width);
- argv[argc++] = "-w";
- argv[argc++] = window_width_str;
- }
-
- g_ascii_dtostr (width_str, sizeof (width_str), (double)plugin->width / 100.);
- argv[argc++] = "-x";
- }
- else {
- sprintf (width_str, "%d", plugin->width);
- argv[argc++] = "-w";
- }
-
- argv[argc++] = width_str;
- }
-
- if (plugin->height)
- {
- /* height */
- if (plugin->sizes_in_percentages) {
-
- if(plugin->window_height > 0) {
- sprintf (window_height_str, "%d", plugin->window_height);
- argv[argc++] = "-h";
- argv[argc++] = window_height_str;
- }
-
- g_ascii_dtostr (height_str, sizeof (height_str), (double)plugin->height / 100.);
- argv[argc++] = "-y";
- }
- else {
- sprintf (height_str, "%d", plugin->height);
- argv[argc++] = "-h";
- }
-
- argv[argc++] = height_str;
- }
-
- /* HACK!! hardcode bg color to white for Uraeus' viewing pleasure */
- argv[argc++] = "-b";
- argv[argc++] = "white";
-
- if (plugin->base_url) {
- argv[argc++] = "-u";
- argv[argc++] = plugin->base_url;
- }
-
- /* HACK: keep aspect ratio */
- if (plugin->sizes_in_percentages) {
- argv[argc++] = "-k";
- }
-
- /* read from stdin */
- argv[argc++] = "-s";
- argv[argc] = NULL;
-
- if(!g_spawn_async_with_pipes(NULL, argv, NULL, G_SPAWN_DO_NOT_REAP_CHILD | G_SPAWN_STDOUT_TO_DEV_NULL,
- NULL, NULL, plugin_pid,
- plugin_send_fd, NULL, NULL, &err))
- {
- DEBUG(("Spawn failed\n"));
-
- if(err)
- {
- fprintf(stderr, "%s\n", err->message);
- g_error_free(err);
- }
-
- return NPERR_INVALID_INSTANCE_ERROR;
- }
-
- return NPERR_NO_ERROR;
-}
-
-static NPError
-svg_plugin_redraw (SvgPlugin * plugin)
-{
- NPError res = NPERR_NO_ERROR;
-
- DEBUG(("plugin_redraw\n"));
-
- if(plugin && plugin->bytes && plugin->bytes->len)
- {
- if (plugin->pid <= 0)
- {
- if ((res = svg_plugin_fork (plugin, &plugin->pid, &plugin->send_fd)) == NPERR_NO_ERROR) {
- if(plugin->pid > 0)
- {
- size_t nwritten = 0;
- while(nwritten < plugin->bytes->len)
- nwritten += write (plugin->send_fd, plugin->bytes->data + nwritten, plugin->bytes->len - nwritten);
- }
- else
- {
- res = NPERR_INVALID_INSTANCE_ERROR;
- }
- }
- }
- }
-
- return res;
-}
-
-static NPError
-svg_plugin_newp (NPMIMEType mime_type, NPP instance,
- guint16 mode, gint16 argc, char *argn[], char *argv[],
- NPSavedData * saved)
-{
- SvgPlugin *plugin;
- int i;
-
- DEBUG (("plugin_newp\n"));
-
- if (instance == NULL)
- return NPERR_INVALID_INSTANCE_ERROR;
-
- instance->pdata = mozilla_funcs.memalloc (sizeof (SvgPlugin));
- plugin = (SvgPlugin *) instance->pdata;
-
- if (plugin == NULL)
- return NPERR_OUT_OF_MEMORY_ERROR;
- memset (plugin, 0, sizeof (SvgPlugin));
-
- /* mode is NP_EMBED, NP_FULL, or NP_BACKGROUND (see npapi.h) */
- plugin->instance = instance;
-
- for (i = 0; i < argc; i++)
- {
- DEBUG (("argv[%d] %s %s\n", i, argn[i], argv[i]));
-
- if (strcmp (argn[i], "width") == 0) {
- if (strstr (argv [i], "%") != NULL)
- plugin->sizes_in_percentages = 1;
- plugin->width = strtol (argv[i], NULL, 0);
- }
-
- if (strcmp (argn[i], "height") == 0) {
- if (strstr (argv [i], "%") != NULL)
- plugin->sizes_in_percentages = 1;
- plugin->height = strtol (argv[i], NULL, 0);
- }
- }
-
- return NPERR_NO_ERROR;
-}
-
-static NPError
-svg_plugin_destroy (NPP instance, NPSavedData ** save)
-{
- SvgPlugin *plugin;
-
- DEBUG (("plugin_destroy\n"));
-
- if (instance == NULL)
- return NPERR_INVALID_INSTANCE_ERROR;
-
- plugin = (SvgPlugin *) instance->pdata;
- if (plugin == NULL)
- return NPERR_NO_ERROR;
-
- if(plugin->bytes)
- g_byte_array_free (plugin->bytes, TRUE);
-
- svg_plugin_kill (plugin);
-
- if (plugin->base_url)
- mozilla_funcs.memfree (plugin->base_url);
-
- mozilla_funcs.memfree (instance->pdata);
- instance->pdata = NULL;
-
- return NPERR_NO_ERROR;
-}
-
-static NPError
-svg_plugin_set_window (NPP instance, NPWindow * window)
-{
- SvgPlugin *plugin;
- NPError res = NPERR_NO_ERROR;
-
- DEBUG (("plugin_set_window\n"));
-
- if (instance == NULL)
- return NPERR_INVALID_INSTANCE_ERROR;
-
- plugin = (SvgPlugin *) instance->pdata;
- if (plugin == NULL)
- return NPERR_INVALID_INSTANCE_ERROR;
-
- if (plugin->window)
- {
- if (plugin->window == (Window) window->window)
- {
- DEBUG (("window resized\n"));
-
-#if 0
- plugin->window_width = window->width;
- plugin->window_height = window->height;
-
- res = svg_plugin_redraw (plugin);
-#endif
- }
- else
- {
- DEBUG (("change. ack. window changed!\n"));
- }
- }
- else
- {
- NPSetWindowCallbackStruct *ws_info;
-
- ws_info = window->ws_info;
- plugin->window = (Window) window->window;
- }
-
- return res;
-}
-
-static NPError
-svg_plugin_new_stream (NPP instance, NPMIMEType type, NPStream *stream,
- NPBool seekable, uint16 *stype)
-{
- SvgPlugin *plugin;
-
- DEBUG (("plugin_new_stream\n"));
-
- if (instance == NULL)
- return NPERR_INVALID_INSTANCE_ERROR;
-
- plugin = (SvgPlugin *) instance->pdata;
- if (plugin == NULL)
- return NPERR_NO_ERROR;
-
- g_return_val_if_fail(plugin->bytes == NULL, NPERR_NO_ERROR);
-
- plugin->bytes = g_byte_array_new();
-
- *stype = NP_NORMAL;
-
- return NPERR_NO_ERROR;
-}
-
-static NPError
-svg_plugin_destroy_stream (NPP instance, NPStream * stream, NPError reason)
-{
- SvgPlugin *plugin;
- NPError res = NPERR_NO_ERROR;
- size_t url_len;
-
- DEBUG (("plugin_destroy_stream\n"));
-
- if (instance == NULL)
- return NPERR_INVALID_INSTANCE_ERROR;
-
- plugin = (SvgPlugin *) instance->pdata;
- if (plugin == NULL)
- return NPERR_NO_ERROR;
-
- if (stream->url) {
- url_len = strlen(stream->url);
- plugin->base_url = mozilla_funcs.memalloc (url_len + 1);
- strcpy(plugin->base_url, stream->url);
- plugin->base_url[url_len] = '\0';
- }
-
- /* trigger */
- res = svg_plugin_redraw (plugin);
-
- if(plugin->send_fd > 0)
- {
- close (plugin->send_fd);
- plugin->send_fd = -1;
- }
-
- return res;
-}
-
-static gint32
-svg_plugin_write_ready (NPP instance, NPStream * stream)
-{
- DEBUG (("plugin_write_ready\n"));
-
- /* This is arbitrary */
- return (8*1024);
-}
-
-static void
-svg_plugin_print (NPP instance, NPPrint * platformPrint)
-{
- SvgPlugin *plugin;
-
- DEBUG (("plugin_print\n"));
-
- if (instance == NULL)
- return;
-
- plugin = (SvgPlugin *) instance->pdata;
-
- if (plugin == NULL)
- return;
-
- if (NP_EMBED == platformPrint->mode) {
- NPPrintCallbackStruct *printer = (NPPrintCallbackStruct *)platformPrint->print.embedPrint.platformPrint;
-
- if (0) {
- gchar * temp_filename;
- FILE * fp;
- int fd;
-
- temp_filename = g_build_filename (g_get_tmp_dir(), ".mozilla-svg-print-XXXXXX", NULL);
- fd = g_mkstemp (temp_filename);
- close (fd);
-
- /* todo: get rsvg-view to print the file */
-
- if ((fp = fopen (temp_filename, "rb")) != NULL) {
- gchar buf [8*1024];
- gint nread;
-
- while ((nread = fread (buf, 1, sizeof (buf), fp)) > 0) {
- gint nwritten = 0;
-
- do {
- nwritten += fwrite (buf + nwritten, 1, (nread - nwritten), printer->fp);
- } while (nwritten != nread);
- }
-
- fclose (fp);
- }
-
- remove (temp_filename);
-
- g_free (temp_filename);
- }
- }
-}
-
-static gint32
-svg_plugin_write (NPP instance, NPStream * stream, gint32 offset,
- gint32 len, void *buffer)
-{
- SvgPlugin *plugin;
-
- DEBUG (("plugin_write\n"));
-
- if (instance == NULL)
- return 0;
-
- plugin = (SvgPlugin *) instance->pdata;
-
- if (plugin == NULL)
- return 0;
-
- if (!plugin->bytes)
- return 0;
-
- (void)g_byte_array_append (plugin->bytes, buffer, len);
-
- return len;
-}
-
-static void
-svg_plugin_stream_as_file (NPP instance, NPStream * stream, const char *fname)
-{
- SvgPlugin *plugin;
-
- DEBUG (("plugin_stream_as_file\n"));
-
- if (instance == NULL)
- return;
- plugin = (SvgPlugin *) instance->pdata;
-
- if (plugin == NULL)
- return;
-}
-
-/* exported functions */
-
-NPError
-NP_GetValue (void *future, NPPVariable variable, void *value)
-{
- NPError err = NPERR_NO_ERROR;
-
- DEBUG (("NP_GetValue\n"));
-
- switch (variable)
- {
- case NPPVpluginNameString:
- *((char **) value) = "Scalable Vector Graphics";
- break;
- case NPPVpluginDescriptionString:
- *((char **) value) =
- "Scalable Vector Graphics, as handled by RSVG-" VERSION
- ". "
- "Views SVG images.<br><br>"
- "This is alpha software. It will probably behave in many situations, but "
- "may also ride your motorcycle, drink all your milk, or use your computer "
- "to browse porn. Comments, feature requests, and patches are welcome.<br><br>"
- "See <a href=\"http://librsvg.sourceforge.net/\">"
- "http://librsvg.sourceforge.net/</a> for information.<br><br>";
- break;
- default:
- err = NPERR_GENERIC_ERROR;
- }
-
- return err;
-}
-
-char *
-NP_GetMIMEDescription (void)
-{
- DEBUG (("NP_GetMIMEDescription\n"));
-
- /* unfortunately, a lot of win32 servers serving up Adobe content return bogus mime-types... */
- return ("image/svg+xml:svg,svgz:Scalable Vector Graphics;image/svg-xml:svg,svgz:Scalable Vector Graphics;"
- "image/svg:svg,svgz:Scalable Vector Graphics;image/vnd.adobe.svg+xml:svg,svgz:Scalable Vector Graphics;"
- "text/xml-svg:svg,svgz:Scalable Vector Graphics");
-}
-
-NPError
-NP_Initialize (NPNetscapeFuncs * moz_funcs, NPPluginFuncs * plugin_funcs)
-{
- DEBUG (("NP_Initialize\n"));
-
- if (moz_funcs == NULL || plugin_funcs == NULL)
- return NPERR_INVALID_FUNCTABLE_ERROR;
-
- if ((moz_funcs->version >> 8) > NP_VERSION_MAJOR)
- return NPERR_INCOMPATIBLE_VERSION_ERROR;
- if (moz_funcs->size < sizeof (NPNetscapeFuncs))
- return NPERR_INVALID_FUNCTABLE_ERROR;
- if (plugin_funcs->size < sizeof (NPPluginFuncs))
- return NPERR_INVALID_FUNCTABLE_ERROR;
-
- memcpy (&mozilla_funcs, moz_funcs, sizeof (NPNetscapeFuncs));
-
- plugin_funcs->version = (NP_VERSION_MAJOR << 8) + NP_VERSION_MINOR;
- plugin_funcs->size = sizeof (NPPluginFuncs);
- plugin_funcs->newp = NewNPP_NewProc (svg_plugin_newp);
- plugin_funcs->destroy = NewNPP_DestroyProc (svg_plugin_destroy);
- plugin_funcs->setwindow = NewNPP_SetWindowProc (svg_plugin_set_window);
- plugin_funcs->newstream = NewNPP_NewStreamProc (svg_plugin_new_stream);
- plugin_funcs->destroystream =
- NewNPP_DestroyStreamProc (svg_plugin_destroy_stream);
- plugin_funcs->writeready = NewNPP_WriteReadyProc (svg_plugin_write_ready);
- plugin_funcs->asfile = NewNPP_StreamAsFileProc (svg_plugin_stream_as_file);
- plugin_funcs->write = NewNPP_WriteProc (svg_plugin_write);
- plugin_funcs->print = NewNPP_PrintProc (svg_plugin_print);
-
- return NPERR_NO_ERROR;
-}
-
-NPError
-NP_Shutdown (void)
-{
- DEBUG(("NP_Shutdown"));
-
- return NPERR_NO_ERROR;
-}
--
1.7.0.2
--9dgjiU4MmWPVapMU--
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]