From ea1791a6d9135a996eb1a95285976283c0ea65ec Mon Sep 17 00:00:00 2001
From: Per Hedbor <ph@opera.com>
Date: Wed, 15 Mar 2000 19:16:09 +0100
Subject: [PATCH] moved IS_OBJECT_PROGRAM to a .pre file to use the require
 'preprocessor' macro. Also, it is now a function. :-)

Rev: src/post_modules/GTK/source/global.pre:1.8
Rev: src/post_modules/GTK/source/support.c:1.14
---
 src/post_modules/GTK/source/global.pre | 22 ++++++++++++++++++++++
 src/post_modules/GTK/source/support.c  | 10 +---------
 2 files changed, 23 insertions(+), 9 deletions(-)

diff --git a/src/post_modules/GTK/source/global.pre b/src/post_modules/GTK/source/global.pre
index 9d6e3d9eb5..ba1b3b150e 100644
--- a/src/post_modules/GTK/source/global.pre
+++ b/src/post_modules/GTK/source/global.pre
@@ -10,6 +10,28 @@ static void socket_ready_callback(int fd, void *f)
   g_main_iteration(1);
 }
 
+/* Not used in this file, really, but we need the require
+ * 'preprocessor' stuff..
+ */
+
+int IS_OBJECT_PROGRAM(struct program *X)
+{
+  return  !(((X) == pgtk_style_program)
+            || ((X) == pgtk_CTreeNode_program)
+            || ((X) == pgtk_CTreeRow_program)
+            || ((X) == pgtk_selection_data_program)
+require gtkextra;
+            /* Only when we have GTK+Extra (a lot of stuff in there that
+             * is not really objects... I don't really like it... 
+            */
+            || ((X) == pgtk_icon_list_item_program)
+            || ((X) == pgtk_plot_dataset_program)
+            || ((X) == pgtk_psfont_program)
+            || ((X) == pgtk_sheet_child_program)
+endrequire;
+            );
+}
+
 static void backend_callback()
 {
   next_timeout = current_time;
diff --git a/src/post_modules/GTK/source/support.c b/src/post_modules/GTK/source/support.c
index 216798b3a4..707b4b71e0 100644
--- a/src/post_modules/GTK/source/support.c
+++ b/src/post_modules/GTK/source/support.c
@@ -307,15 +307,7 @@ GdkImage *gdkimage_from_pikeimage( struct object *img, int fast, GdkImage *i )
   return i;
 }
 
-#define IS_OBJECT_PROGRAM(X)                 \
-!( ((X) == pgtk_style_program)               \
-|| ((X) == pgtk_CTreeNode_program)           \
-|| ((X) == pgtk_CTreeRow_program)            \
-|| ((X) == pgtk_icon_list_item_program)      \
-|| ((X) == pgtk_plot_dataset_program)        \
-|| ((X) == pgtk_psfont_program)              \
-|| ((X) == pgtk_selection_data_program)      \
-|| ((X) == pgtk_sheet_child_program))
+int IS_OBJECT_PROGRAM(struct program *X);
 
 void push_gtkobjectclass(void *obj, struct program *def)
 {
-- 
GitLab