* xterm.h (GTK_PREREQ): Remove, replacing with GTK_CHECK_VERSION.

(GTK_CHECK_VERSION): New macro, if not already defined.
All uses of GTK_PREREQ, GTK_MAJOR_VERSION, etc.
replaced by GTK_CHECK_VERSION.
This commit is contained in:
Paul Eggert 2013-05-09 07:49:56 -07:00
parent 59c8867172
commit 7583e2a0e2
5 changed files with 34 additions and 18 deletions

View file

@ -1,3 +1,10 @@
2013-05-09 Paul Eggert <eggert@cs.ucla.edu>
* xterm.h (GTK_PREREQ): Remove, replacing with GTK_CHECK_VERSION.
(GTK_CHECK_VERSION): New macro, if not already defined.
All uses of GTK_PREREQ, GTK_MAJOR_VERSION, etc.
replaced by GTK_CHECK_VERSION.
2013-05-08 Paul Eggert <eggert@cs.ucla.edu>
* xterm.h (GTK_PREREQ): New macro.

View file

@ -70,13 +70,13 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#define gtk_adjustment_get_step_increment(w) ((w)->step_increment)
#define gtk_adjustment_set_step_increment(w, s) ((w)->step_increment = (s))
#endif
#if GTK_PREREQ (2, 12)
#if GTK_CHECK_VERSION (2, 12, 0)
#define remove_submenu(w) gtk_menu_item_set_submenu ((w), NULL)
#else
#define remove_submenu(w) gtk_menu_item_remove_submenu ((w))
#endif
#if GTK_PREREQ (3, 2)
#if GTK_CHECK_VERSION (3, 2, 0)
#define USE_NEW_GTK_FONT_CHOOSER 1
#else
#define USE_NEW_GTK_FONT_CHOOSER 0
@ -202,7 +202,7 @@ xg_display_close (Display *dpy)
gdpy_def = gdpy_new;
}
#if GTK_MAJOR_VERSION == 2 && GTK_MINOR_VERSION < 10
#if GTK_CHECK_VERSION (2, 0, 0) && ! GTK_CHECK_VERSION (2, 10, 0)
/* GTK 2.2-2.8 has a bug that makes gdk_display_close crash (bug
http://bugzilla.gnome.org/show_bug.cgi?id=85715). This way we
can continue running, but there will be memory leaks. */
@ -1155,7 +1155,8 @@ xg_create_frame_widgets (FRAME_PTR f)
has backported it to Gtk+ 2.0 and they add the resize grip for
Gtk+ 2.0 applications also. But it has a bug that makes Emacs loop
forever, so disable the grip. */
#if GTK_MAJOR_VERSION < 3 && defined (HAVE_GTK_WINDOW_SET_HAS_RESIZE_GRIP)
#if (! GTK_CHECK_VERSION (3, 0, 0) \
&& defined HAVE_GTK_WINDOW_SET_HAS_RESIZE_GRIP)
gtk_window_set_has_resize_grip (GTK_WINDOW (wtop), FALSE);
#endif

View file

@ -3804,7 +3804,7 @@ If omitted or nil, that stands for the selected frame's display. */)
Return false if and only if the workarea information cannot be
obtained via the _NET_WORKAREA root window property. */
#if ! (defined USE_GTK && GTK_PREREQ (3, 4))
#if ! GTK_CHECK_VERSION (3, 4, 0)
static bool
x_get_net_workarea (struct x_display_info *dpyinfo, XRectangle *rect)
{
@ -4265,7 +4265,7 @@ Internal use only, use `display-monitor-attributes-list' instead. */)
/ x_display_pixel_height (dpyinfo));
gdpy = gdk_x11_lookup_xdisplay (dpyinfo->display);
gscreen = gdk_display_get_default_screen (gdpy);
#if GTK_PREREQ (2, 20)
#if GTK_CHECK_VERSION (2, 20, 0)
primary_monitor = gdk_screen_get_primary_monitor (gscreen);
#endif
n_monitors = gdk_screen_get_n_monitors (gscreen);
@ -4300,7 +4300,7 @@ Internal use only, use `display-monitor-attributes-list' instead. */)
gdk_screen_get_monitor_geometry (gscreen, i, &rec);
geometry = list4i (rec.x, rec.y, rec.width, rec.height);
#if GTK_PREREQ (2, 14)
#if GTK_CHECK_VERSION (2, 14, 0)
width_mm = gdk_screen_get_monitor_width_mm (gscreen, i);
height_mm = gdk_screen_get_monitor_height_mm (gscreen, i);
#endif
@ -4312,7 +4312,7 @@ Internal use only, use `display-monitor-attributes-list' instead. */)
list2i (width_mm, height_mm)),
attributes);
#if GTK_PREREQ (3, 4)
#if GTK_CHECK_VERSION (3, 4, 0)
gdk_screen_get_monitor_workarea (gscreen, i, &rec);
workarea = list4i (rec.x, rec.y, rec.width, rec.height);
#else
@ -4339,7 +4339,7 @@ Internal use only, use `display-monitor-attributes-list' instead. */)
attributes = Fcons (Fcons (Qworkarea, workarea), attributes);
attributes = Fcons (Fcons (Qgeometry, geometry), attributes);
#if GTK_PREREQ (2, 14)
#if GTK_CHECK_VERSION (2, 14, 0)
{
char *name = gdk_screen_get_monitor_plug_name (gscreen, i);
if (name)

View file

@ -9921,7 +9921,7 @@ x_term_init (Lisp_Object display_name, char *xrm_option, char *resource_name)
dpy = DEFAULT_GDK_DISPLAY ();
#if ! GTK_PREREQ (2, 90)
#if ! GTK_CHECK_VERSION (2, 90, 0)
/* Load our own gtkrc if it exists. */
{
const char *file = "~/.emacs.d/gtkrc";

View file

@ -43,10 +43,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
typedef Widget xt_or_gtk_widget;
#endif
/* True iff GTK's version is at least MAJOR.MINOR. */
#define GTK_PREREQ(major, minor) \
((major) < GTK_MAJOR_VERSION + ((minor) <= GTK_MINOR_VERSION))
#ifdef USE_GTK
#include <gtk/gtk.h>
#include <gdk/gdkx.h>
@ -57,13 +53,25 @@ typedef GtkWidget *xt_or_gtk_widget;
#undef XSync
#define XSync(d, b) do { gdk_window_process_all_updates (); \
XSync (d, b); } while (0)
#endif /* USE_GTK */
/* The GtkTooltip API came in 2.12, but gtk-enable-tooltips in 2.14. */
#if GTK_PREREQ (2, 14)
#define USE_GTK_TOOLTIP
/* True iff GTK's version is at least I.J.K. */
#ifndef GTK_CHECK_VERSION
# ifdef USE_GTK
# define GTK_CHECK_VERSION(i, j, k) \
((i) \
< GTK_MAJOR_VERSION + ((j) \
< GTK_MINOR_VERSION + ((k) \
<= GTK_MICRO_VERSION)))
# else
# define GTK_CHECK_VERSION(i, j, k) 0
# endif
#endif
#endif /* USE_GTK */
/* The GtkTooltip API came in 2.12, but gtk-enable-tooltips in 2.14. */
#if GTK_CHECK_VERSION (2, 14, 0)
#define USE_GTK_TOOLTIP
#endif
/* Bookkeeping to distinguish X versions. */