- Update Firefox and gmp-api to 39.0 - Update Firefox ESR and libxul to 38.1.0 Changes: https://developer.mozilla.org/docs/Mozilla/Projects/NSS/NSS_3.19.2_release_notes Changes: https://www.mozilla.org/firefox/39.0/releasenotes/ Changes: https://www.mozilla.org/firefox/38.1.0/releasenotes/ MFH: 2015Q3 Security: https://vuxml.freebsd.org/freebsd/44d9daee-940c-4179-86bb-6e3ffd617869.html
134 lines
4.1 KiB
Text
134 lines
4.1 KiB
Text
commit 4b5b332
|
|
Author: Mike Hommey <mh+mozilla@glandium.org>
|
|
Date: Tue Mar 3 18:41:13 2015 +0900
|
|
|
|
Bug 1138845 - Don't require atk-bridge for gtk+3 builds. r=tbsaunde
|
|
---
|
|
accessible/atk/Platform.cpp | 29 +++++++++++++++++++----------
|
|
config/system-headers | 1 -
|
|
configure.in | 2 +-
|
|
3 files changed, 20 insertions(+), 12 deletions(-)
|
|
|
|
diff --git accessible/atk/Platform.cpp accessible/atk/Platform.cpp
|
|
index a2afd96..2ed5e0b 100644
|
|
--- accessible/atk/Platform.cpp
|
|
+++ accessible/atk/Platform.cpp
|
|
@@ -18,8 +18,9 @@
|
|
#include <dbus/dbus.h>
|
|
#endif
|
|
#include <gtk/gtk.h>
|
|
+
|
|
#if (MOZ_WIDGET_GTK == 3)
|
|
-#include <atk-bridge.h>
|
|
+extern "C" __attribute__((weak,visibility("default"))) int atk_bridge_adaptor_init(int*, char **[]);
|
|
#endif
|
|
|
|
using namespace mozilla;
|
|
@@ -46,7 +47,6 @@ static gulong sToplevel_hide_hook = 0;
|
|
|
|
GType g_atk_hyperlink_impl_type = G_TYPE_INVALID;
|
|
|
|
-#if (MOZ_WIDGET_GTK == 2)
|
|
struct GnomeAccessibilityModule
|
|
{
|
|
const char *libName;
|
|
@@ -67,11 +67,13 @@ static GnomeAccessibilityModule sAtkBridge = {
|
|
"gnome_accessibility_module_shutdown", nullptr
|
|
};
|
|
|
|
+#if (MOZ_WIDGET_GTK == 2)
|
|
static GnomeAccessibilityModule sGail = {
|
|
"libgail.so", nullptr,
|
|
"gnome_accessibility_module_init", nullptr,
|
|
"gnome_accessibility_module_shutdown", nullptr
|
|
};
|
|
+#endif
|
|
|
|
static nsresult
|
|
LoadGtkModule(GnomeAccessibilityModule& aModule)
|
|
@@ -98,7 +100,11 @@ LoadGtkModule(GnomeAccessibilityModule& aModule)
|
|
else
|
|
subLen = loc2 - loc1;
|
|
nsAutoCString sub(Substring(libPath, loc1, subLen));
|
|
+#if (MOZ_WIDGET_GTK == 2)
|
|
sub.AppendLiteral("/gtk-2.0/modules/");
|
|
+#else
|
|
+ sub.AppendLiteral("/gtk-3.0/modules/");
|
|
+#endif
|
|
sub.Append(aModule.libName);
|
|
aModule.lib = PR_LoadLibrary(sub.get());
|
|
if (aModule.lib)
|
|
@@ -123,7 +129,6 @@ LoadGtkModule(GnomeAccessibilityModule& aModule)
|
|
}
|
|
return NS_OK;
|
|
}
|
|
-#endif // (MOZ_WIDGET_GTK == 2)
|
|
|
|
void
|
|
a11y::PlatformInit()
|
|
@@ -175,14 +180,17 @@ a11y::PlatformInit()
|
|
|
|
// Init atk-bridge now
|
|
PR_SetEnv("NO_AT_BRIDGE=0");
|
|
-#if (MOZ_WIDGET_GTK == 2)
|
|
- rv = LoadGtkModule(sAtkBridge);
|
|
- if (NS_SUCCEEDED(rv)) {
|
|
- (*sAtkBridge.init)();
|
|
- }
|
|
-#else
|
|
- atk_bridge_adaptor_init(nullptr, nullptr);
|
|
+#if (MOZ_WIDGET_GTK == 3)
|
|
+ if (atk_bridge_adaptor_init) {
|
|
+ atk_bridge_adaptor_init(nullptr, nullptr);
|
|
+ } else
|
|
#endif
|
|
+ {
|
|
+ nsresult rv = LoadGtkModule(sAtkBridge);
|
|
+ if (NS_SUCCEEDED(rv)) {
|
|
+ (*sAtkBridge.init)();
|
|
+ }
|
|
+ }
|
|
|
|
if (!sToplevel_event_hook_added) {
|
|
sToplevel_event_hook_added = true;
|
|
@@ -210,7 +218,6 @@ a11y::PlatformShutdown()
|
|
sToplevel_hide_hook);
|
|
}
|
|
|
|
-#if (MOZ_WIDGET_GTK == 2)
|
|
if (sAtkBridge.lib) {
|
|
// Do not shutdown/unload atk-bridge,
|
|
// an exit function registered will take care of it
|
|
@@ -221,6 +228,7 @@ a11y::PlatformShutdown()
|
|
sAtkBridge.init = nullptr;
|
|
sAtkBridge.shutdown = nullptr;
|
|
}
|
|
+#if (MOZ_WIDGET_GTK == 2)
|
|
if (sGail.lib) {
|
|
// Do not shutdown gail because
|
|
// 1) Maybe it's not init-ed by us. e.g. GtkEmbed
|
|
diff --git config/system-headers config/system-headers
|
|
index 2c94a7d..cf01775 100644
|
|
--- config/system-headers
|
|
+++ config/system-headers
|
|
@@ -189,7 +189,6 @@ asm/signal.h
|
|
ASRegistry.h
|
|
assert.h
|
|
atk/atk.h
|
|
-atk-bridge.h
|
|
atlcom.h
|
|
atlconv.h
|
|
atlctl.cpp
|
|
diff --git configure.in configure.in
|
|
index 0bd1eb7..f3b3365 100644
|
|
--- configure.in
|
|
+++ configure.in
|
|
@@ -4408,7 +4408,7 @@ fi
|
|
|
|
if test "$COMPILE_ENVIRONMENT"; then
|
|
if test "$MOZ_ENABLE_GTK3"; then
|
|
- PKG_CHECK_MODULES(MOZ_GTK3, gtk+-3.0 >= $GTK3_VERSION gtk+-unix-print-3.0 glib-2.0 gobject-2.0 atk-bridge-2.0 $GDK_PACKAGES)
|
|
+ PKG_CHECK_MODULES(MOZ_GTK3, gtk+-3.0 >= $GTK3_VERSION gtk+-unix-print-3.0 glib-2.0 gobject-2.0 $GDK_PACKAGES)
|
|
MOZ_GTK3_CFLAGS="-I${_topsrcdir}/widget/gtk/compat-gtk3 $MOZ_GTK3_CFLAGS"
|
|
dnl Contrary to MOZ_GTK2_LIBS, MOZ_GTK3_LIBS needs to be literally added to TK_LIBS instead
|
|
dnl of a make reference because of how TK_LIBS is mangled in toolkit/library/moz.build
|