--- a/XWorkstation.st Mon Feb 26 19:32:16 1996 +0100
+++ b/XWorkstation.st Mon Feb 26 22:46:14 1996 +0100
@@ -6956,37 +6956,45 @@
&& __isAtomID(typeID)
&& ISCONNECTED
&& (__isString(anObject)
- || __isSmallInteger(anObject)
- || __isSymbol(anObject)
- || __isByteArray(anObject))) {
-
- prop = _AtomVal(propertyID);
- type = _AtomVal(typeID);
- if (__isExternalAddress(aWindowID)) {
- window = _WindowVal(aWindowID);
- } else {
- window = DefaultRootWindow(dpy);
- }
- if (__isSmallInteger(anObject)) {
- value = _intVal(anObject);
- XChangeProperty(dpy, window, prop, type, 32,
- PropModeReplace,
- (unsigned char *)(&value), sizeof(unsigned int));
- } else {
- if (__isByteArray(anObject)) {
- XChangeProperty(dpy, window, prop, type, 8,
- PropModeReplace,
- _ByteArrayInstPtr(anObject)->ba_element,
- _byteArraySize(anObject));
- } else {
- /* string or symbol */
- XChangeProperty(dpy, window, prop, XA_STRING, 8,
- PropModeReplace,
- _stringVal(anObject),
- strlen(_stringVal(anObject)));
- }
- }
- RETURN (true);
+ || __isSmallInteger(anObject)
+ || __isSymbol(anObject)
+ || __isByteArray(anObject)
+ || __isWords(anObject))) {
+
+ prop = _AtomVal(propertyID);
+ type = _AtomVal(typeID);
+ if (__isExternalAddress(aWindowID)) {
+ window = _WindowVal(aWindowID);
+ } else {
+ window = DefaultRootWindow(dpy);
+ }
+ if (__isSmallInteger(anObject)) {
+ value = _intVal(anObject);
+ XChangeProperty(dpy, window, prop, type, 32,
+ PropModeReplace,
+ (unsigned char *)(&value), sizeof(unsigned int));
+ } else {
+ if (__isByteArray(anObject)) {
+ XChangeProperty(dpy, window, prop, type, 8,
+ PropModeReplace,
+ __ByteArrayInstPtr(anObject)->ba_element,
+ __byteArraySize(anObject));
+ } else {
+ /* string or symbol or wordArray-like (16bit-string) object */
+ if (__isWords(__qClass(anObject))) {
+ XChangeProperty(dpy, window, prop, XA_STRING, 16,
+ PropModeReplace,
+ __stringVal(anObject),
+ __wordArraySize(anObject));
+ } else {
+ XChangeProperty(dpy, window, prop, XA_STRING, 8,
+ PropModeReplace,
+ __stringVal(anObject),
+ strlen(__stringVal(anObject)));
+ }
+ }
+ }
+ RETURN (true);
}
%}.
^ false
@@ -7669,6 +7677,6 @@
!XWorkstation class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libview/XWorkstation.st,v 1.115 1996-02-26 16:14:00 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libview/XWorkstation.st,v 1.116 1996-02-26 21:46:14 cg Exp $'
! !
XWorkstation initialize!