зеркало из https://github.com/mozilla/pjs.git
Bug #166138. modules/plugins changes for gtk2. r=serge,sr=blizzard patch by robin.lu@sun.com
This commit is contained in:
Родитель
d344d95c7f
Коммит
3193a3d22f
|
@ -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
|
||||
|
|
Загрузка…
Ссылка в новой задаче