Bug #166138. modules/plugins changes for gtk2. r=serge,sr=blizzard patch by robin.lu@sun.com

This commit is contained in:
blizzard%redhat.com 2002-09-03 14:45:02 +00:00
Родитель d344d95c7f
Коммит 3193a3d22f
6 изменённых файлов: 40 добавлений и 19 удалений

Просмотреть файл

@ -119,6 +119,12 @@ CFLAGS += $(MOZ_GTK_CFLAGS)
EXTRA_DSO_LDOPTS += -lgtkxtbin -lgtksuperwin $(XLDFLAGS) -lXt $(MOZ_GTK_LDFLAGS)
endif #MOZ_ENABLE_GTK
ifdef MOZ_ENABLE_GTK2
CXXFLAGS += $(MOZ_GTK2_CFLAGS)
CFLAGS += $(MOZ_GTK2_CFLAGS)
EXTRA_DSO_LDOPTS += -lgtkxtbin $(XLDFLAGS) -lXt $(MOZ_GTK2_LIBS)
endif #MOZ_ENABLE_GTK2
ifdef MOZ_ENABLE_XLIB
EXTRA_DSO_LDOPTS += -lxlibxtbin -lxlibrgb -L/usr/X11R6/lib -lXt
ifndef MOZ_MONOLITHIC_TOOLKIT

Просмотреть файл

@ -59,12 +59,19 @@
#endif
//needed for nppdf plugin
#if defined(MOZ_WIDGET_GTK)
#ifdef MOZ_WIDGET_GTK
#include <gdk/gdk.h>
#include <gdk/gdkx.h>
#include "gtkxtbin.h"
#endif
#ifdef MOZ_WIDGET_GTK2
#include <gdk/gdk.h>
#include <gdk/gdkx.h>
#include "gtk2xtbin.h"
#endif
// POST/GET stream type
enum eNPPStreamTypeInternal {
eNPPStreamTypeInternal_Get,
@ -1172,13 +1179,13 @@ _getvalue(NPP npp, NPNVariable variable, void *result)
switch(variable) {
#ifdef XP_UNIX
case NPNVxDisplay : {
#if defined(MOZ_WIDGET_GTK)
#if defined(MOZ_WIDGET_GTK) || defined(MOZ_WIDGET_GTK2)
// adobe nppdf calls XtGetApplicationNameAndClass(display, &instance, &class)
// we have to init Xt toolkit before get XtDisplay
// just call gtk_xtbin_new(w,0) once
static GtkWidget *gtkXtBinHolder = 0;
if (!gtkXtBinHolder) {
gtkXtBinHolder = gtk_xtbin_new((GdkWindow*)&gdk_root_parent,0);
gtkXtBinHolder = gtk_xtbin_new(GDK_ROOT_PARENT(),0);
// it crashes on destroy, let it leak
// gtk_widget_destroy(gtkXtBinHolder);
}

Просмотреть файл

@ -49,11 +49,19 @@
#include "nsIPref.h" // needed for NS_TRY_SAFE_CALL_*
#include "nsPluginLogging.h"
#if defined(MOZ_WIDGET_GTK)
#ifdef MOZ_WIDGET_GTK
#include <gdk/gdk.h>
#include <gdk/gdkx.h>
#include "gtkxtbin.h"
#elif defined(MOZ_WIDGET_XLIB)
#endif
#ifdef MOZ_WIDGET_GTK2
#include <gdk/gdk.h>
#include <gdk/gdkx.h>
#include "gtk2xtbin.h"
#endif
#ifdef MOZ_WIDGET_XLIB
#include "xlibxtbin.h"
#include "xlibrgb.h"
#endif
@ -587,7 +595,7 @@ ns4xPluginInstance :: ~ns4xPluginInstance(void)
{
PLUGIN_LOG(PLUGIN_LOG_BASIC, ("ns4xPluginInstance dtor: this=%p\n",this));
#if defined(MOZ_WIDGET_GTK)
#if defined(MOZ_WIDGET_GTK) || defined (MOZ_WIDGET_GTK2)
if (mXtBin)
gtk_widget_destroy(mXtBin);
#elif defined(MOZ_WIDGET_XLIB)
@ -618,7 +626,7 @@ NS_IMETHODIMP ns4xPluginInstance::Initialize(nsIPluginInstancePeer* peer)
{
PLUGIN_LOG(PLUGIN_LOG_NORMAL, ("ns4xPluginInstance::Initialize this=%p\n",this));
#ifdef MOZ_WIDGET_GTK
#if defined (MOZ_WIDGET_GTK) || defined (MOZ_WIDGET_GTK2)
mXtBin = nsnull;
#elif defined(MOZ_WIDGET_XLIB)
mXlibXtBin = nsnull;
@ -669,7 +677,7 @@ NS_IMETHODIMP ns4xPluginInstance::Stop(void)
NPError error;
#if defined(MOZ_WIDGET_GTK)
#if defined(MOZ_WIDGET_GTK) || defined (MOZ_WIDGET_GTK2)
if (mXtBin) {
gtk_widget_destroy(mXtBin);
mXtBin = 0;
@ -837,7 +845,7 @@ NS_IMETHODIMP ns4xPluginInstance::Destroy(void)
////////////////////////////////////////////////////////////////////////
NS_IMETHODIMP ns4xPluginInstance::SetWindow(nsPluginWindow* window)
{
#if defined(MOZ_WIDGET_GTK) || defined(MOZ_WIDGET_XLIB)
#if defined(MOZ_WIDGET_GTK) || defined (MOZ_WIDGET_GTK2) || defined(MOZ_WIDGET_XLIB)
NPSetWindowCallbackStruct *ws;
#endif
@ -847,7 +855,7 @@ NS_IMETHODIMP ns4xPluginInstance::SetWindow(nsPluginWindow* window)
NPError error;
#ifdef MOZ_WIDGET_GTK
#if defined (MOZ_WIDGET_GTK) || defined (MOZ_WIDGET_GTK2)
// bug 108337, flash plugin on linux doesn't like window->width <= 0
if ((PRInt32) window->width <= 0 || (PRInt32) window->height <= 0)
return NS_OK;

Просмотреть файл

@ -54,9 +54,9 @@
#include "prlink.h" // for PRLibrary
#include "nsIScriptablePlugin.h"
#ifdef MOZ_WIDGET_GTK
#if defined (MOZ_WIDGET_GTK) || defined (MOZ_WIDGET_GTK2)
#include <gtk/gtk.h>
#elif MOZ_WIDGET_XLIB
#elif defined (MOZ_WIDGET_XLIB)
#include "xlibxtbin.h"
#endif
@ -169,13 +169,13 @@ protected:
*/
NPPluginFuncs* fCallbacks;
#ifdef MOZ_WIDGET_GTK
#if defined (MOZ_WIDGET_GTK) || defined (MOZ_WIDGET_GTK2)
/**
* Special GtkXtBin widget that encapsulates the Xt toolkit
* within a Gtk Application
*/
GtkWidget *mXtBin;
#elif MOZ_WIDGET_XLIB
#elif defined (MOZ_WIDGET_XLIB)
xtbin *mXlibXtBin;
#endif

Просмотреть файл

@ -164,7 +164,7 @@
#include "nsIDocShell.h"
#ifdef XP_UNIX
#if defined(MOZ_WIDGET_GTK)
#if defined(MOZ_WIDGET_GTK) || defined (MOZ_WIDGET_GTK2)
#include <gdk/gdkx.h> // for GDK_DISPLAY()
#elif defined(MOZ_WIDGET_QT)
#include <qwindowdefs.h> // for qt_xdisplay()
@ -2734,7 +2734,7 @@ NS_IMETHODIMP nsPluginHostImpl::GetValue(nsPluginManagerVariable aVariable, void
#if defined(XP_UNIX) && !defined(XP_MACOSX) && !defined(NO_X11)
if (nsPluginManagerVariable_XDisplay == aVariable) {
Display** value = NS_REINTERPRET_CAST(Display**, aValue);
#if defined(MOZ_WIDGET_GTK)
#if defined(MOZ_WIDGET_GTK) || defined (MOZ_WIDGET_GTK2)
*value = GDK_DISPLAY();
#elif defined(MOZ_WIDGET_QT)
*value = qt_xdisplay();

Просмотреть файл

@ -77,7 +77,7 @@ static NS_DEFINE_CID(kPrefServiceCID, NS_PREF_CID);
#define DEFAULT_X11_PATH ""
#endif
#ifdef MOZ_WIDGET_GTK
#if defined(MOZ_WIDGET_GTK) || defined(MOZ_WIDGET_GTK2)
#define PLUGIN_MAX_LEN_OF_TMP_ARR 512
@ -239,7 +239,7 @@ static void LoadExtraSharedLibs()
}
}
}
#endif //MOZ_WIDGET_GTK
#endif //MOZ_WIDGET_GTK || MOZ_WIDGET_GTK2
@ -299,7 +299,7 @@ nsresult nsPluginFile::LoadPlugin(PRLibrary* &outLibrary)
pLibrary = outLibrary = PR_LoadLibraryWithFlags(libSpec, 0);
#ifdef MOZ_WIDGET_GTK
#if defined(MOZ_WIDGET_GTK) || defined(MOZ_WIDGET_GTK2)
///////////////////////////////////////////////////////////
// Normally, Mozilla isn't linked against libXt and libXext