25842
|
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
|
26087
|
7 #ifdef HAVE_CONFIG_H
|
|
8 #include <config.h>
|
|
9 #endif
|
|
10
|
25842
|
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 */
|