summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2009-09-17 16:41:55 +0000
committerStefan Monnier <monnier@iro.umontreal.ca>2009-09-17 16:41:55 +0000
commit742d40e805b987ff1a4d8cb9f8f8d626b263cc46 (patch)
tree7c66ee3bc53dec7f9acb4433257e5ea02fa17070
parent0ee986067afdb49968f1b7fa386ed4f544e03aa3 (diff)
downloademacs-742d40e805b987ff1a4d8cb9f8f8d626b263cc46.tar.gz
(x_get_resource_string): Re-add for non-toolkit builds (bug#4461).
-rw-r--r--src/ChangeLog5
-rw-r--r--src/frame.c26
2 files changed, 31 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 47dda2e0f80..14415997a33 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
+2009-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * frame.c (x_get_resource_string): Re-add for non-toolkit builds
+ (bug#4461).
+
2009-09-17 Dan Nicolaescu <dann@ics.uci.edu>
* puresize.h (BASE_PURESIZE): Increase to 1290000.
diff --git a/src/frame.c b/src/frame.c
index 6726a7b918a..b18446d38b6 100644
--- a/src/frame.c
+++ b/src/frame.c
@@ -3893,6 +3893,32 @@ display_x_get_resource (dpyinfo, attribute, class, component, subclass)
attribute, class, component, subclass);
}
+#if defined HAVE_X_WINDOWS && !defined USE_X_TOOLKIT
+/* Used when C code wants a resource value. */
+/* Called from oldXMenu/Create.c. */
+char *
+x_get_resource_string (attribute, class)
+ char *attribute, *class;
+{
+ char *name_key;
+ char *class_key;
+ struct frame *sf = SELECTED_FRAME ();
+
+ /* Allocate space for the components, the dots which separate them,
+ and the final '\0'. */
+ name_key = (char *) alloca (SBYTES (Vinvocation_name)
+ + strlen (attribute) + 2);
+ class_key = (char *) alloca ((sizeof (EMACS_CLASS) - 1)
+ + strlen (class) + 2);
+
+ sprintf (name_key, "%s.%s", SDATA (Vinvocation_name), attribute);
+ sprintf (class_key, "%s.%s", EMACS_CLASS, class);
+
+ return x_get_string_resource (FRAME_X_DISPLAY_INFO (sf)->xrdb,
+ name_key, class_key);
+}
+#endif
+
/* Return the value of parameter PARAM.
First search ALIST, then Vdefault_frame_alist, then the X defaults