Bug 793634 - Force builds to be compatible with gtk 2.18/glib 2.22. r=karlt

This commit is contained in:
Mike Hommey 2012-09-25 14:47:18 +02:00
Родитель 1d13562fd1
Коммит a94a46d3c8
23 изменённых файлов: 237 добавлений и 264 удалений

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

@ -814,3 +814,7 @@ PLY_INCLUDE = -I$(topsrcdir)/other-licenses/ply
endif
export CL_INCLUDES_PREFIX
ifeq ($(MOZ_WIDGET_GTK),2)
MOZ_GTK2_CFLAGS := -I$(topsrcdir)/widget/gtk2/compat $(MOZ_GTK2_CFLAGS)
endif

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

@ -65,7 +65,7 @@ PYTHON_VERSION_MAJOR=2
PYTHON_VERSION_MINOR=5
CAIRO_VERSION=1.10
PANGO_VERSION=1.14.0
GTK2_VERSION=2.10.0
GTK2_VERSION=2.18.0
WINDRES_VERSION=2.14.90
W32API_VERSION=3.14
GNOMEVFS_VERSION=2.0
@ -4435,6 +4435,8 @@ dnl ========================================================
dnl = Enable the toolkit as needed =
dnl ========================================================
MOZ_WIDGET_GTK=
case "$MOZ_WIDGET_TOOLKIT" in
cairo-windows)
@ -4458,7 +4460,8 @@ cairo-gtk2|cairo-gtk2-x11)
TK_CFLAGS='$(MOZ_GTK2_CFLAGS)'
TK_LIBS='$(MOZ_GTK2_LIBS)'
AC_DEFINE(MOZ_WIDGET_GTK2)
AC_DEFINE(MOZ_WIDGET_GTK,2)
MOZ_WIDGET_GTK=2
AC_DEFINE_UNQUOTED(MOZ_WIDGET_GTK,$MOZ_WIDGET_GTK)
MOZ_PDF_PRINTING=1
MOZ_INSTRUMENT_EVENT_LOOP=1
;;
@ -4732,6 +4735,7 @@ AC_SUBST(MOZ_ENABLE_QTMOBILITY)
AC_SUBST(MOZ_ENABLE_XREMOTE)
AC_SUBST(MOZ_GTK2_CFLAGS)
AC_SUBST(MOZ_GTK2_LIBS)
AC_SUBST(MOZ_WIDGET_GTK)
AC_SUBST(MOZ_QT_CFLAGS)
AC_SUBST(MOZ_QT_LIBS)

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

@ -17,7 +17,6 @@
#include <gdk/gdkx.h>
#include <gdk/gdk.h>
#include "gtk2compat.h"
#include "gtk2xtbin.h"
#include "mozilla/X11Util.h"

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

@ -23,7 +23,6 @@
#if (MOZ_WIDGET_GTK == 3)
#include <gtk/gtkx.h>
#endif
#include "gtk2compat.h"
#endif
#include "nsIFile.h"

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

@ -28,9 +28,6 @@
#include "cairo.h"
#include <gtk/gtk.h>
#if (MOZ_WIDGET_GTK == 2)
#include "gtk2compat.h"
#endif
#include "gfxImageSurface.h"
#ifdef MOZ_X11

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

@ -814,3 +814,7 @@ PLY_INCLUDE = -I$(topsrcdir)/other-licenses/ply
endif
export CL_INCLUDES_PREFIX
ifeq ($(MOZ_WIDGET_GTK),2)
MOZ_GTK2_CFLAGS := -I$(topsrcdir)/widget/gtk2/compat $(MOZ_GTK2_CFLAGS)
endif

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

@ -78,7 +78,6 @@ EXPORTS = \
nsGTKToolkit.h \
nsIImageToPixbuf.h \
mozcontainer.h \
gtk2compat.h \
$(NULL)
ifdef NATIVE_THEME_SUPPORT

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

@ -0,0 +1,33 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* 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/. */
#ifndef GDKDND_WRAPPER_H
#define GDKDND_WRAPPER_H
#define gdk_drag_context_get_actions gdk_drag_context_get_actions_
#define gdk_drag_context_list_targets gdk_drag_context_list_targets_
#define gdk_drag_context_get_dest_window gdk_drag_context_get_dest_window_
#include_next <gdk/gdkdnd.h>
#undef gdk_drag_context_get_actions
#undef gdk_drag_context_list_targets
#undef gdk_drag_context_get_dest_window
static inline GdkDragAction
gdk_drag_context_get_actions(GdkDragContext *context)
{
return context->actions;
}
static inline GList *
gdk_drag_context_list_targets(GdkDragContext *context)
{
return context->targets;
}
static inline GdkWindow *
gdk_drag_context_get_dest_window(GdkDragContext *context)
{
return context->dest_window;
}
#endif /* GDKDND_WRAPPER_H */

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

@ -0,0 +1,17 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* 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/. */
#ifndef GDKVISUAL_WRAPPER_H
#define GDKVISUAL_WRAPPER_H
#define gdk_visual_get_depth gdk_visual_get_depth_
#include_next <gdk/gdkvisual.h>
#undef gdk_visual_get_depth
static inline gint
gdk_visual_get_depth(GdkVisual *visual)
{
return visual->depth;
}
#endif /* GDKVISUAL_WRAPPER_H */

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

@ -0,0 +1,25 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* 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/. */
#ifndef GDKWINDOW_WRAPPER_H
#define GDKWINDOW_WRAPPER_H
#define gdk_window_get_display gdk_window_get_display_
#define gdk_window_get_screen gdk_window_get_screen_
#include_next <gdk/gdkwindow.h>
#undef gdk_window_get_display
#undef gdk_window_get_screen
static inline GdkDisplay *
gdk_window_get_display(GdkWindow *window)
{
return gdk_drawable_get_display(GDK_DRAWABLE(window));
}
static inline GdkScreen*
gdk_window_get_screen(GdkWindow *window)
{
return gdk_drawable_get_screen (window);
}
#endif /* GDKWINDOW_WRAPPER_H */

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

@ -0,0 +1,25 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* 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/. */
#ifndef GDKX_WRAPPER_H
#define GDKX_WRAPPER_H
#define gdk_x11_window_lookup_for_display gdk_x11_window_lookup_for_display_
#define gdk_x11_window_get_xid gdk_x11_window_get_xid_
#include_next <gdk/gdkx.h>
#undef gdk_x11_window_lookup_for_display
#undef gdk_x11_window_get_xid
static inline GdkWindow *
gdk_x11_window_lookup_for_display(GdkDisplay *display, Window window)
{
return gdk_window_lookup_for_display(display, window);
}
static inline Window
gdk_x11_window_get_xid(GdkWindow *window)
{
return(GDK_WINDOW_XWINDOW(window));
}
#endif /* GDKX_WRAPPER_H */

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

@ -0,0 +1,56 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* 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/. */
#ifndef GMEM_WRAPPER_H
#define GMEM_WRAPPER_H
#define g_malloc_n g_malloc_n_
#define g_malloc0_n g_malloc0_n_
#define g_realloc_n g_realloc_n_
#include_next <glib/gmem.h>
#undef g_malloc_n
#undef g_malloc0_n
#undef g_realloc_n
#include <glib/gmessages.h>
#undef g_new
#define g_new(type, num) \
((type *) g_malloc_n((num), sizeof(type)))
#undef g_new0
#define g_new0(type, num) \
((type *) g_malloc0_n((num), sizeof(type)))
#undef g_renew
#define g_renew(type, ptr, num) \
((type *) g_realloc_n(ptr, (num), sizeof(type)))
#define _CHECK_OVERFLOW(num, type_size) \
if (G_UNLIKELY(type_size > 0 && num > G_MAXSIZE / type_size)) { \
g_error("%s: overflow allocating %" G_GSIZE_FORMAT "*%" G_GSIZE_FORMAT " bytes", \
G_STRLOC, num, type_size); \
}
static inline gpointer
g_malloc_n(gsize num, gsize type_size)
{
_CHECK_OVERFLOW(num, type_size)
return g_malloc(num * type_size);
}
static inline gpointer
g_malloc0_n(gsize num, gsize type_size)
{
_CHECK_OVERFLOW(num, type_size)
return g_malloc0(num * type_size);
}
static inline gpointer
g_realloc_n(gpointer ptr, gsize num, gsize type_size)
{
_CHECK_OVERFLOW(num, type_size)
return g_realloc(ptr, num * type_size);
}
#endif /* GMEM_WRAPPER_H */

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

@ -0,0 +1,47 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* 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/. */
#ifndef GTKWIDGET_WRAPPER_H
#define GTKWIDGET_WRAPPER_H
#define gtk_widget_set_mapped gtk_widget_set_mapped_
#define gtk_widget_get_mapped gtk_widget_get_mapped_
#define gtk_widget_set_realized gtk_widget_set_realized_
#define gtk_widget_get_realized gtk_widget_get_realized_
#include_next <gtk/gtkwidget.h>
#undef gtk_widget_set_mapped
#undef gtk_widget_get_mapped
#undef gtk_widget_set_realized
#undef gtk_widget_get_realized
static inline void
gtk_widget_set_mapped(GtkWidget *widget, gboolean mapped)
{
if (mapped)
GTK_WIDGET_SET_FLAGS (widget, GTK_MAPPED);
else
GTK_WIDGET_UNSET_FLAGS (widget, GTK_MAPPED);
}
static inline gboolean
gtk_widget_get_mapped(GtkWidget *widget)
{
return GTK_WIDGET_MAPPED (widget);
}
static inline void
gtk_widget_set_realized(GtkWidget *widget, gboolean realized)
{
if (realized)
GTK_WIDGET_SET_FLAGS(widget, GTK_REALIZED);
else
GTK_WIDGET_UNSET_FLAGS(widget, GTK_REALIZED);
}
static inline gboolean
gtk_widget_get_realized(GtkWidget *widget)
{
return GTK_WIDGET_REALIZED (widget);
}
#endif /* GTKWIDGET_WRAPPER_H */

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

@ -0,0 +1,20 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* 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/. */
#ifndef GTKWINDOW_WRAPPER_H
#define GTKWINDOW_WRAPPER_H
#define gtk_window_group_get_current_grab gtk_window_group_get_current_grab_
#include_next <gtk/gtkwindow.h>
#undef gtk_window_group_get_current_grab
static inline GtkWidget *
gtk_window_group_get_current_grab(GtkWindowGroup *window_group)
{
if (!window_group->grabs)
return NULL;
return GTK_WIDGET(window_group->grabs->data);
}
#endif /* GTKWINDOW_WRAPPER_H */

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

@ -1,229 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim:expandtab:shiftwidth=2:tabstop=2:
*/
/* This Source Code Form is subject to the terms of the Mozilla Public
* 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/. */
/**
* gtk2compat.h: GTK2 compatibility routines
*
* gtk2compat provides an API which is not defined in GTK2.
*/
#ifndef _GTK2_COMPAT_H_
#define _GTK2_COMPAT_H_
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
#if !GTK_CHECK_VERSION(2, 14, 0)
static inline GdkWindow*
gtk_widget_get_window(GtkWidget *widget)
{
return widget->window;
}
static inline const guchar *
gtk_selection_data_get_data(GtkSelectionData *selection_data)
{
return selection_data->data;
}
static inline gint
gtk_selection_data_get_length(GtkSelectionData *selection_data)
{
return selection_data->length;
}
static inline GdkAtom
gtk_selection_data_get_target(GtkSelectionData *selection_data)
{
return selection_data->target;
}
static inline GtkWidget *
gtk_dialog_get_content_area(GtkDialog *dialog)
{
return dialog->vbox;
}
static inline GdkWindow *
gtk_plug_get_socket_window(GtkPlug *plug)
{
return plug->socket_window;
}
#endif
#if !GTK_CHECK_VERSION(2, 16, 0)
static inline GdkAtom
gtk_selection_data_get_selection(GtkSelectionData *selection_data)
{
return selection_data->selection;
}
#endif
#if !GTK_CHECK_VERSION(2, 18, 0)
static inline gboolean
gtk_widget_get_visible(GtkWidget *widget)
{
return GTK_WIDGET_VISIBLE(widget);
}
static inline gboolean
gtk_widget_has_focus(GtkWidget *widget)
{
return GTK_WIDGET_HAS_FOCUS(widget);
}
static inline gboolean
gtk_widget_has_grab(GtkWidget *widget)
{
return GTK_WIDGET_HAS_GRAB(widget);
}
static inline void
gtk_widget_get_allocation(GtkWidget *widget, GtkAllocation *allocation)
{
*allocation = widget->allocation;
}
static inline void
gtk_widget_set_allocation(GtkWidget *widget, const GtkAllocation *allocation)
{
widget->allocation = *allocation;
}
static inline gboolean
gdk_window_is_destroyed(GdkWindow *window)
{
return GDK_WINDOW_OBJECT(window)->destroyed;
}
static inline void
gtk_widget_set_can_focus(GtkWidget *widget, gboolean can_focus)
{
if (can_focus)
GTK_WIDGET_SET_FLAGS (widget, GTK_CAN_FOCUS);
else
GTK_WIDGET_UNSET_FLAGS (widget, GTK_CAN_FOCUS);
}
static inline void
gtk_widget_set_window(GtkWidget *widget, GdkWindow *window)
{
widget->window = window;
}
static inline gboolean
gtk_widget_is_toplevel(GtkWidget *widget)
{
return GTK_WIDGET_TOPLEVEL(widget);
}
#endif
#if !GTK_CHECK_VERSION(2, 20, 0)
static inline void
gtk_widget_set_mapped(GtkWidget *widget, gboolean mapped)
{
if (mapped)
GTK_WIDGET_SET_FLAGS (widget, GTK_MAPPED);
else
GTK_WIDGET_UNSET_FLAGS (widget, GTK_MAPPED);
}
static inline gboolean
gtk_widget_get_mapped(GtkWidget *widget)
{
return GTK_WIDGET_MAPPED (widget);
}
static inline void
gtk_widget_set_realized(GtkWidget *widget, gboolean realized)
{
if (realized)
GTK_WIDGET_SET_FLAGS(widget, GTK_REALIZED);
else
GTK_WIDGET_UNSET_FLAGS(widget, GTK_REALIZED);
}
static inline gboolean
gtk_widget_get_realized(GtkWidget *widget)
{
return GTK_WIDGET_REALIZED (widget);
}
#endif
#if !GTK_CHECK_VERSION(2, 22, 0)
static inline gint
gdk_visual_get_depth(GdkVisual *visual)
{
return visual->depth;
}
static inline GdkDragAction
gdk_drag_context_get_actions(GdkDragContext *context)
{
return context->actions;
}
static inline GtkWidget *
gtk_window_group_get_current_grab(GtkWindowGroup *window_group)
{
if (!window_group->grabs)
return NULL;
return GTK_WIDGET(window_group->grabs->data);
}
static inline GList *
gdk_drag_context_list_targets(GdkDragContext *context)
{
return context->targets;
}
#endif
#if !GTK_CHECK_VERSION(2, 23, 3)
static inline GdkWindow *
gdk_drag_context_get_dest_window(GdkDragContext *context)
{
return context->dest_window;
}
#endif
#if !GTK_CHECK_VERSION(2, 24, 0)
#ifdef GDK_WINDOW_XDISPLAY
static inline GdkWindow *
gdk_x11_window_lookup_for_display(GdkDisplay *display, Window window)
{
return gdk_window_lookup_for_display(display, window);
}
#endif
static inline GdkDisplay *
gdk_window_get_display(GdkWindow *window)
{
return gdk_drawable_get_display(GDK_DRAWABLE(window));
}
static inline GdkScreen*
gdk_window_get_screen (GdkWindow *window)
{
return gdk_drawable_get_screen (window);
}
#endif
#ifdef GDK_WINDOW_XWINDOW
static inline Window
gdk_x11_window_get_xid(GdkWindow *window)
{
return(GDK_WINDOW_XWINDOW(window));
}
#endif
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* _GTK2_COMPAT_H_ */

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

@ -14,10 +14,6 @@
#include "maiRedundantObjectFactory.h"
#endif
#if defined(MOZ_WIDGET_GTK2)
#include "gtk2compat.h"
#endif
/* init methods */
static void moz_container_class_init (MozContainerClass *klass);
static void moz_container_init (MozContainer *container);

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

@ -31,10 +31,6 @@
#include <sys/types.h>
#include <unistd.h>
#if (MOZ_WIDGET_GTK == 2)
#include "gtk2compat.h"
#endif
using namespace mozilla;
// Callback when someone asks us for the data

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

@ -25,10 +25,6 @@
#include "nsCRT.h"
#include "mozilla/Services.h"
#if (MOZ_WIDGET_GTK == 2)
#include "gtk2compat.h"
#endif
#include "gfxASurface.h"
#include "gfxXlibSurface.h"
#include "gfxContext.h"

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

@ -24,10 +24,6 @@
#include "mozilla/Services.h"
#endif
#if (MOZ_WIDGET_GTK == 2)
#include "gtk2compat.h"
#endif
using namespace mozilla;
using namespace mozilla::widget;

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

@ -12,9 +12,6 @@
#include "nsDebug.h"
#include "prlink.h"
#include "prlog.h"
#if (MOZ_WIDGET_GTK == 2)
#include "gtk2compat.h"
#endif
#ifdef PR_LOGGING
static PRLogModuleInfo* sIdleLog = nullptr;

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

@ -6,7 +6,6 @@
#include <gtk/gtk.h>
#if (MOZ_WIDGET_GTK == 2)
#include <gtk/gtkprintunixdialog.h>
#include "gtk2compat.h"
#else
#include <gtk/gtkunixprint.h>
#endif

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

@ -11,9 +11,6 @@
#include <X11/Xatom.h>
#endif
#include <gtk/gtk.h>
#if (MOZ_WIDGET_GTK == 2)
#include "gtk2compat.h"
#endif
nsScreenGtk :: nsScreenGtk ( )
: mScreenNum(0),

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

@ -53,10 +53,6 @@
#include <gtk/gtkprivate.h>
#endif
#if defined(MOZ_WIDGET_GTK2)
#include "gtk2compat.h"
#endif
#include "nsGkAtoms.h"
#ifdef MOZ_ENABLE_STARTUP_NOTIFICATION