diff options
Diffstat (limited to 'newmoon/debian/patches/UXP-eliminate-need-for-GTK-2.patch')
-rw-r--r-- | newmoon/debian/patches/UXP-eliminate-need-for-GTK-2.patch | 382 |
1 files changed, 0 insertions, 382 deletions
diff --git a/newmoon/debian/patches/UXP-eliminate-need-for-GTK-2.patch b/newmoon/debian/patches/UXP-eliminate-need-for-GTK-2.patch deleted file mode 100644 index f28fd10..0000000 --- a/newmoon/debian/patches/UXP-eliminate-need-for-GTK-2.patch +++ /dev/null @@ -1,382 +0,0 @@ -# This patch and its previous revision were created by Gordon N. Squash. -# -# This patch can be used to eliminate the Unified XUL Platform's need for both -# GTK+ 2 and GTK+ 3, even when you are compiling UXP only to use GTK+ 3. -# -# This patch is still highly experimental. The author of this patch has not -# yet encountered any issues with this patch, but there are no guarantees. -# -# This is revision 2 of the patch. The previous revisions eliminated a stub -# function from mozgtk which disabled the X Shared Memory (X MIT-SHM) extension -# from getting used by Cairo. Unfortunately, that function, while overly -# simplistic, was necessary to ensure the guaranteed operability of UXP; in -# other words, UXP crashed sometimes if this function wasn't present. -# This revision re-introduces this function into the codebase -- but part of -# libxul this time, not libmozgtk. -# -# WARNING! This is not an official patch in any way, shape or form! Do not -# contact the original authors of UXP for support of this patch! -# -diff -uprN palemoon-28.12.0-original/platform/config/recurse.mk palemoon-28.12.0-patched/platform/config/recurse.mk ---- palemoon-28.12.0-original/platform/config/recurse.mk 2020-07-30 05:37:13.000000000 -0400 -+++ palemoon-28.12.0-patched/platform/config/recurse.mk 2020-08-19 13:12:24.228334662 -0400 -@@ -161,9 +161,9 @@ endif - - # Interdependencies that moz.build world don't know about yet for compilation. - # Note some others are hardcoded or "guessed" in recursivemake.py and emitter.py --ifeq ($(MOZ_WIDGET_TOOLKIT),gtk3) --toolkit/library/target: widget/gtk/mozgtk/gtk3/target --endif -+#ifeq ($(MOZ_WIDGET_TOOLKIT),gtk3) -+#toolkit/library/target: widget/gtk/mozgtk/gtk3/target -+#endif - ifdef MOZ_LDAP_XPCOM - ldap/target: config/external/nss/target mozglue/build/target - toolkit/library/target: ldap/target -diff -uprN palemoon-28.12.0-original/platform/dom/ipc/moz.build palemoon-28.12.0-patched/platform/dom/ipc/moz.build ---- palemoon-28.12.0-original/platform/dom/ipc/moz.build 2020-07-30 05:37:13.000000000 -0400 -+++ palemoon-28.12.0-patched/platform/dom/ipc/moz.build 2020-08-19 11:20:54.768059475 -0400 -@@ -114,6 +114,7 @@ LOCAL_INCLUDES += [ - '/dom/workers', - '/embedding/components/printingui/ipc', - '/extensions/cookie', -+ '/extensions/spellcheck/hunspell/glue', - '/extensions/spellcheck/src', - '/gfx/2d', - '/hal/sandbox', -diff -uprN palemoon-28.12.0-original/platform/dom/plugins/ipc/moz.build palemoon-28.12.0-patched/platform/dom/plugins/ipc/moz.build ---- palemoon-28.12.0-original/platform/dom/plugins/ipc/moz.build 2020-07-30 05:37:13.000000000 -0400 -+++ palemoon-28.12.0-patched/platform/dom/plugins/ipc/moz.build 2020-08-18 14:55:40.548143359 -0400 -@@ -121,11 +121,7 @@ LOCAL_INCLUDES += [ - - DEFINES['FORCE_PR_LOG'] = True - --if CONFIG['MOZ_WIDGET_TOOLKIT'] != 'gtk3': -- CXXFLAGS += CONFIG['TK_CFLAGS'] --else: -- # Force build against gtk+2 for struct offsets and such. -- CXXFLAGS += CONFIG['MOZ_GTK2_CFLAGS'] -+CXXFLAGS += CONFIG['TK_CFLAGS'] - - CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS'] - -diff -uprN palemoon-28.12.0-original/platform/dom/plugins/ipc/PluginInstanceChild.cpp palemoon-28.12.0-patched/platform/dom/plugins/ipc/PluginInstanceChild.cpp ---- palemoon-28.12.0-original/platform/dom/plugins/ipc/PluginInstanceChild.cpp 2020-07-30 05:37:13.000000000 -0400 -+++ palemoon-28.12.0-patched/platform/dom/plugins/ipc/PluginInstanceChild.cpp 2020-08-19 12:33:46.736239327 -0400 -@@ -52,7 +52,9 @@ - #include <gtk/gtk.h> - #include <gdk/gdkx.h> - #include <gdk/gdk.h> -+#if MOZ_WIDGET_GTK == 2 - #include "gtk2xtbin.h" -+#endif - - #elif defined(OS_WIN) - -@@ -152,7 +154,7 @@ - , mAsyncInvalidateTask(0) - , mCachedWindowActor(nullptr) - , mCachedElementActor(nullptr) --#ifdef MOZ_WIDGET_GTK -+#if MOZ_WIDGET_GTK == 2 - , mXEmbed(false) - #endif // MOZ_WIDGET_GTK - #if defined(OS_WIN) -@@ -201,7 +203,7 @@ - #if defined(MOZ_X11) && defined(XP_UNIX) && !defined(XP_MACOSX) - mWindow.ws_info = &mWsInfo; - memset(&mWsInfo, 0, sizeof(mWsInfo)); --#ifdef MOZ_WIDGET_GTK -+#if MOZ_WIDGET_GTK == 2 - mWsInfo.display = nullptr; - mXtClient.top_widget = nullptr; - #else -@@ -610,7 +612,7 @@ - return NPERR_GENERIC_ERROR; - - NPWindowType newWindowType = windowed ? NPWindowTypeWindow : NPWindowTypeDrawable; --#ifdef MOZ_WIDGET_GTK -+#if MOZ_WIDGET_GTK == 2 - if (mWindow.type != newWindowType && mWsInfo.display) { - // plugin type has been changed but we already have a valid display - // so update it for the recent plugin mode -@@ -1202,7 +1204,7 @@ - aWindow.x, aWindow.y, - aWindow.width, aWindow.height)); - --#ifdef MOZ_WIDGET_GTK -+#if MOZ_WIDGET_GTK == 2 - if (mXEmbed) { - mWindow.window = reinterpret_cast<void*>(aWindow.window); - } -@@ -1231,7 +1233,7 @@ - if (!mWindow.window) - return; - --#ifdef MOZ_WIDGET_GTK -+#if MOZ_WIDGET_GTK == 2 - if (mXtClient.top_widget) { - xt_client_unrealize(&mXtClient); - xt_client_destroy(&mXtClient); -@@ -1313,7 +1315,7 @@ - CreateWindow(aWindow); - } - --#ifdef MOZ_WIDGET_GTK -+#if MOZ_WIDGET_GTK == 2 - if (mXEmbed && gtk_check_version(2,18,7) != nullptr) { // older - if (aWindow.type == NPWindowTypeWindow) { - GdkWindow* socket_window = gdk_window_lookup(static_cast<GdkNativeWindow>(aWindow.window)); -@@ -1439,7 +1441,7 @@ - bool - PluginInstanceChild::Initialize() - { --#ifdef MOZ_WIDGET_GTK -+#if MOZ_WIDGET_GTK == 2 - NPError rv; - - if (mWsInfo.display) { -@@ -4650,7 +4652,7 @@ - - mPendingAsyncCalls.Clear(); - --#ifdef MOZ_WIDGET_GTK -+#if MOZ_WIDGET_GTK == 2 - if (mWindow.type == NPWindowTypeWindow && !mXEmbed) { - xt_client_xloop_destroy(); - } -diff -uprN palemoon-28.12.0-original/platform/dom/plugins/ipc/PluginInstanceChild.h palemoon-28.12.0-patched/platform/dom/plugins/ipc/PluginInstanceChild.h ---- palemoon-28.12.0-original/platform/dom/plugins/ipc/PluginInstanceChild.h 2020-07-30 05:37:13.000000000 -0400 -+++ palemoon-28.12.0-patched/platform/dom/plugins/ipc/PluginInstanceChild.h 2020-08-19 11:51:36.556135241 -0400 -@@ -35,7 +35,7 @@ - - #include <map> - --#ifdef MOZ_WIDGET_GTK -+#if MOZ_WIDGET_GTK == 2 - #include "gtk2xtbin.h" - #endif - -@@ -458,7 +458,7 @@ private: - - #if defined(MOZ_X11) && defined(XP_UNIX) && !defined(XP_MACOSX) - NPSetWindowCallbackStruct mWsInfo; --#ifdef MOZ_WIDGET_GTK -+#if MOZ_WIDGET_GTK == 2 - bool mXEmbed; - XtClient mXtClient; - #endif -diff -uprN palemoon-28.12.0-original/platform/dom/plugins/ipc/PluginModuleChild.cpp palemoon-28.12.0-patched/platform/dom/plugins/ipc/PluginModuleChild.cpp ---- palemoon-28.12.0-original/platform/dom/plugins/ipc/PluginModuleChild.cpp 2020-07-30 05:37:13.000000000 -0400 -+++ palemoon-28.12.0-patched/platform/dom/plugins/ipc/PluginModuleChild.cpp 2020-08-19 12:52:01.880284378 -0400 -@@ -13,6 +13,7 @@ - - #ifdef MOZ_WIDGET_GTK - #include <gtk/gtk.h> -+#include <gtk/gtkx.h> - #endif - - #include "nsIFile.h" -@@ -1094,7 +1095,7 @@ _getvalue(NPP aNPP, - case NPNVSupportsWindowless: - *(NPBool*)aValue = PluginModuleChild::GetChrome()->Settings().supportsWindowless(); - return NPERR_NO_ERROR; --#if defined(MOZ_WIDGET_GTK) -+#if MOZ_WIDGET_GTK == 2 - case NPNVxDisplay: { - if (aNPP) { - return InstCast(aNPP)->NPN_GetValue(aVariable, aValue); -diff -uprN palemoon-28.12.0-original/platform/dom/plugins/test/testplugin/testplugin.mozbuild palemoon-28.12.0-patched/platform/dom/plugins/test/testplugin/testplugin.mozbuild ---- palemoon-28.12.0-original/platform/dom/plugins/test/testplugin/testplugin.mozbuild 2020-07-30 05:37:13.000000000 -0400 -+++ palemoon-28.12.0-patched/platform/dom/plugins/test/testplugin/testplugin.mozbuild 2020-08-18 14:56:31.168144491 -0400 -@@ -49,13 +49,20 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'wind - if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa' and '64' in CONFIG['OS_TEST']: - OS_LIBS += ['-framework Carbon'] - --if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3'): -+if CONFIG['MOZ_WIDGET_TOOLKIT'] in 'gtk2': - CXXFLAGS += CONFIG['MOZ_GTK2_CFLAGS'] - CFLAGS += CONFIG['MOZ_GTK2_CFLAGS'] - OS_LIBS += CONFIG['MOZ_GTK2_LIBS'] - OS_LIBS += CONFIG['XLDFLAGS'] - OS_LIBS += CONFIG['XLIBS'] - OS_LIBS += CONFIG['XEXT_LIBS'] -+elif CONFIG['MOZ_WIDGET_TOOLKIT'] in 'gtk3': -+ CXXFLAGS += CONFIG['MOZ_GTK3_CFLAGS'] -+ CFLAGS += CONFIG['MOZ_GTK3_CFLAGS'] -+ OS_LIBS += CONFIG['MOZ_GTK3_LIBS'] -+ OS_LIBS += CONFIG['XLDFLAGS'] -+ OS_LIBS += CONFIG['XLIBS'] -+ OS_LIBS += CONFIG['XEXT_LIBS'] - - if CONFIG['_MSC_VER']: - # This is intended as a temporary hack to support building with VS2015. -diff -uprN palemoon-28.12.0-original/platform/old-configure.in palemoon-28.12.0-patched/platform/old-configure.in ---- palemoon-28.12.0-original/platform/old-configure.in 2020-07-30 05:37:13.000000000 -0400 -+++ palemoon-28.12.0-patched/platform/old-configure.in 2020-08-18 14:54:27.952141735 -0400 -@@ -2324,8 +2324,6 @@ if test "$COMPILE_ENVIRONMENT"; then - fi - if test "$MOZ_WIDGET_TOOLKIT" = gtk2; then - GLIB_VERSION_MAX_ALLOWED=$GLIB_VERSION_MIN_REQUIRED -- fi -- if test "$MOZ_ENABLE_GTK"; then - if test "$MOZ_X11"; then - GDK_PACKAGES=gdk-x11-2.0 - fi -@@ -2334,8 +2332,6 @@ if test "$COMPILE_ENVIRONMENT"; then - - PKG_CHECK_MODULES(MOZ_GTK2, gtk+-2.0 >= $GTK2_VERSION gtk+-unix-print-2.0 glib-2.0 >= $GLIB_VERSION gobject-2.0 $GDK_PACKAGES) - MOZ_GTK2_CFLAGS="-I${_topsrcdir}/widget/gtk/compat $MOZ_GTK2_CFLAGS" -- fi -- if test "$MOZ_WIDGET_TOOLKIT" = gtk2; then - TK_CFLAGS=$MOZ_GTK2_CFLAGS - TK_LIBS=$MOZ_GTK2_LIBS - fi -diff -uprN palemoon-28.12.0-original/platform/toolkit/library/moz.build palemoon-28.12.0-patched/platform/toolkit/library/moz.build ---- palemoon-28.12.0-original/platform/toolkit/library/moz.build 2020-07-30 05:37:13.000000000 -0400 -+++ palemoon-28.12.0-patched/platform/toolkit/library/moz.build 2020-08-19 14:14:17.820487430 -0400 -@@ -117,10 +117,10 @@ if CONFIG['USE_ICU']: - 'icu', - ] - --if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk3': -- USE_LIBS += [ -- 'mozgtk_stub', -- ] -+#if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk3': -+# USE_LIBS += [ -+# 'mozgtk_stub', -+# ] - - if 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT'] or \ - CONFIG['MOZ_TREE_FREETYPE']: -@@ -231,16 +231,18 @@ if CONFIG['MOZ_ENABLE_DBUS']: - OS_LIBS += CONFIG['MOZ_DBUS_GLIB_LIBS'] - - if 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']: -- if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk3': -- OS_LIBS += [l for l in CONFIG['TK_LIBS'] -- if l not in ('-lgtk-3', '-lgdk-3')] -- else: -- OS_LIBS += CONFIG['TK_LIBS'] -+# if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk3': -+# OS_LIBS += [l for l in CONFIG['TK_LIBS'] -+# if l not in ('-lgtk-3', '-lgdk-3')] -+# else: -+# OS_LIBS += CONFIG['TK_LIBS'] -+ OS_LIBS += CONFIG['TK_LIBS'] - OS_LIBS += CONFIG['XLDFLAGS'] - OS_LIBS += CONFIG['XLIBS'] - OS_LIBS += CONFIG['XEXT_LIBS'] - OS_LIBS += CONFIG['MOZ_PANGO_LIBS'] -- OS_LIBS += CONFIG['XT_LIBS'] -+ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk2': -+ OS_LIBS += CONFIG['XT_LIBS'] - OS_LIBS += [ - 'gthread-2.0', - ] -diff -uprN palemoon-28.12.0-original/platform/widget/gtk/moz.build palemoon-28.12.0-patched/platform/widget/gtk/moz.build ---- palemoon-28.12.0-original/platform/widget/gtk/moz.build 2020-07-30 05:37:13.000000000 -0400 -+++ palemoon-28.12.0-patched/platform/widget/gtk/moz.build 2020-08-19 12:31:16.304233138 -0400 -@@ -4,8 +4,8 @@ - # License, v. 2.0. If a copy of the MPL was not distributed with this - # file, You can obtain one at http://mozilla.org/MPL/2.0/. - --if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk3': -- DIRS += ['mozgtk'] -+#if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk3': -+# DIRS += ['mozgtk'] - - EXPORTS += [ - 'mozcontainer.h', -diff -uprN palemoon-28.12.0-original/platform/widget/moz.build palemoon-28.12.0-patched/platform/widget/moz.build ---- palemoon-28.12.0-original/platform/widget/moz.build 2020-07-30 05:37:13.000000000 -0400 -+++ palemoon-28.12.0-patched/platform/widget/moz.build 2020-08-18 15:01:26.856151106 -0400 -@@ -53,7 +53,7 @@ if toolkit in ('cocoa', 'gtk2', 'gtk3'): - if 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']: - DIRS += ['gtk'] - -- if CONFIG['MOZ_X11']: -+ if CONFIG['MOZ_X11'] and CONFIG['MOZ_WIDGET_TOOKIT'] == 'gtk2': - DIRS += ['gtkxtbin'] - - XPIDL_SOURCES += [ -Date: 2020-08-20 -Message: The following was added in revision 1 of this patch. The location of the UXP -application's package manifest must be changed before this patch is applied -to any UXP application other than Pale Moon. However, this patch works -without modification on Pale Moon. -diff -uprN palemoon-28.12.0-original/palemoon/installer/package-manifest.in palemoon-28.12.0-patched/palemoon/installer/package-manifest.in ---- palemoon-28.12.0-original/palemoon/installer/package-manifest.in 2020-07-30 06:09:43.000000000 -0400 -+++ palemoon-28.12.0-patched/palemoon/installer/package-manifest.in 2020-08-20 20:57:55.116007204 -0400 -@@ -103,10 +103,6 @@ - #ifdef MOZ_ICU_DATA_ARCHIVE - @RESPATH@/@ICU_DATA_FILE@ - #endif --#ifdef MOZ_GTK3 --@BINPATH@/@DLL_PREFIX@mozgtk@DLL_SUFFIX@ --@BINPATH@/gtk2/@DLL_PREFIX@mozgtk@DLL_SUFFIX@ --#endif - - [browser] - ; [Base Browser Files] -# CHANGES MADE IN REVISION 2 -# -# Hooray GTK+ 3 users! UXP does not play well with Cairo! Therefore we -# need this separate file. This code was borrowed from mozgtk.c. -# According to bug # 1271100, basically if you scroll (or do almost anything) -# while UXP is rendering something on the page, UXP is not designed properly -# to handle this situation and a race condition results. The race condition -# ends up with the scratch buffer drawable UXP uses getting deleted. When -# this happens, the next operation UXP performs is a CopyArea request, to -# copy the drawable to the actual window where this stuff is getting displayed. -# The X server recognizes that the drawable has been deleted, signals an -# error condition, and GTK, which catches the error, throws up its hands and -# kills the whole #$@% application. -# -# This all apparently has something to do with the usage of the X MIT-SHM -# extension. Apparently by disabling Cairo's, and ultimately GTK's, use -# of the SHM extension, this bug does not occur. It turns out that the -# dynamic linker will load this function first and the real function second; -# Cairo will use this function and failures will be no more. UXP however -# uses XCB instead of XLib, so UXP still uses SHM. -# -# In other words, the Mozilla codebase does not play well with other libraries. -# Now, the Mozilla and UXP people can say that the other libraries should play -# well with Mozilla and UXP, but the fact is code should always adapt to error -# conditions if possible -- error conditions should not adapt to code. -# -# But at the very least this stuff works! -# -diff -uprN palemoon-28.12.0-original/platform/widget/gtk/gtk3frictionworkarounds.c palemoon-28.12.0-patched/platform/widget/gtk/gtk3frictionworkarounds.c ---- palemoon-28.12.0-original/platform/widget/gtk/gtk3frictionworkarounds.c 1969-12-31 19:00:00.000000000 -0500 -+++ palemoon-28.12.0-patched/platform/widget/gtk/gtk3frictionworkarounds.c 2020-08-21 20:30:01.616049093 -0400 -@@ -0,0 +1,16 @@ -+/* -+ * This file was added by Gordon N. Squash. Please see his original patch -+ * for details on what this code is for. If you have not received his patch -+ * then at least understand that THIS IS NOT THE OFFICIAL UXP SOURCE CODE IN -+ * ANY WAY, SHAPE OR FORM: IT IS A PATCHED VERSION. DO NOT CONTACT THE -+ * ORIGINAL DEVELOPERS OF UXP OR MOZILLA FOR SUPPORT OF THIS CODE. -+ */ -+ -+#include "mozilla/Types.h" -+#include <X11/Xlib.h> -+ -+MOZ_EXPORT Bool -+XShmQueryExtension(Display* aDisplay) -+{ -+ return False; -+} -diff -uprN palemoon-28.12.0-original/platform/widget/gtk/moz.build palemoon-28.12.0-patched/platform/widget/gtk/moz.build ---- palemoon-28.12.0-original/platform/widget/gtk/moz.build 2020-08-20 21:24:39.148073190 -0400 -+++ palemoon-28.12.0-patched/platform/widget/gtk/moz.build 2020-08-21 20:31:09.660050615 -0400 -@@ -104,6 +104,7 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk2 - else: - UNIFIED_SOURCES += [ - 'gtk3drawing.cpp', -+ 'gtk3frictionworkarounds.c', - 'nsApplicationChooser.cpp', - 'WidgetStyleCache.cpp', - ] - |