root/trunk/lwlib/xrdb.c

Revision 3104, 2.0 kB (checked in by himi, 5 years ago)

set svn:eol-style

  • Property svn:eol-style set to native
Line 
1 /* This file overrides the R4 or R5 mit/lib/Xt/Initialize.c, except that
2    the functions lwlib_GetFileDatabase(), lwlib_CombineFileDatabase(), and
3    lwlib_xrdb_initialize() are called.  By doing this silly cpp hack, we
4    avoid version skew problems.
5  */
6
7 #ifdef HAVE_CONFIG_H
8 #include <config.h>
9 #endif
10
11 #include <X11/Xlib.h>
12 #include <X11/cursorfont.h>
13 #include <X11/Xutil.h>
14
15 #ifdef XlibSpecificationRelease
16 #if XlibSpecificationRelease >= 5
17 #define HAVE_X11R5
18 #endif
19 #endif
20
21 extern struct _XrmHashBucketRec *lwlib_GetFileDatabase ();
22 extern void lwlib_xrdb_initialize ();
23
24 /* Replace all calls to XrmGetFileDatabase() with lwlib_GetFileDatabase(),
25    calls to XrmCombineFileDatabase() with lwlib_CombineFileDatabase(), and
26    rename the defined _XtDisplayInitialize() function.
27  */
28 #define XrmGetFileDatabase lwlib_GetFileDatabase
29 #define XrmCombineFileDatabase lwlib_CombineFileDatabase
30 #define _XtDisplayInitialize _orig_XtDisplayInitialize
31
32 /* Suck in the original code.  Don't change this: see comments in Imakefile. */
33 #include "Initialize.c"
34
35 #undef XrmGetFileDatabase
36 #undef XrmCombineFileDatabase
37 #undef _XtDisplayInitialize
38
39 /* Now provide a definition of _XtDisplayInitialize() which invokes the
40    original code after calling our initialization hook.  Note that the R4
41    and R5 versions of _XtDisplayInitialize() take different arguments.
42  */
43
44 #ifndef HAVE_X11R5
45
46 void _XtDisplayInitialize(dpy, pd, name, class, urlist, num_urs, argc, argv)
47         Display *dpy;
48         XtPerDisplay pd;
49         String name, class;
50         XrmOptionDescRec *urlist;
51         Cardinal num_urs;
52         Cardinal *argc;
53         char *argv[];
54 {
55   lwlib_xrdb_initialize(dpy);
56   _orig_XtDisplayInitialize(dpy, pd, name, class, urlist, num_urs, argc, argv);
57 }
58
59 #else /* HAVE_X11R5 */
60
61 void _XtDisplayInitialize(dpy, pd, name, urlist, num_urs, argc, argv)
62         Display *dpy;
63         XtPerDisplay pd;
64         String name;
65         XrmOptionDescRec *urlist;
66         Cardinal num_urs;
67         int *argc;
68         char **argv;
69 {
70   lwlib_xrdb_initialize(dpy);
71   _orig_XtDisplayInitialize(dpy, pd, name, urlist, num_urs, argc, argv);
72 }
73
74 #endif  /* HAVE_X11R5 */
Note: See TracBrowser for help on using the browser.