1 | |
---|
2 | Open Motif 2.2.0 |
---|
3 | |
---|
4 | Release Notes |
---|
5 | |
---|
6 | The Open Group |
---|
7 | |
---|
8 | |
---|
9 | This document provides Release notes for Open Motif 2.2.0. |
---|
10 | Please see the COPYRIGHT.MOTIF file included with this release. |
---|
11 | |
---|
12 | |
---|
13 | Introduction |
---|
14 | |
---|
15 | This document describes Open Motif version 2.1.30. Whenever "Motif" |
---|
16 | is used in these release notes, it means Open Motif 2.1.30. |
---|
17 | |
---|
18 | This document and accompanying text files contain important |
---|
19 | information. Please read them carefully before starting the build and |
---|
20 | installation procedures. |
---|
21 | |
---|
22 | The command line instructions provided here are for csh. They may vary |
---|
23 | depending on the particular shell you are using. |
---|
24 | |
---|
25 | |
---|
26 | Unloading the Distribution |
---|
27 | |
---|
28 | If you received this distribution on physical media (CD) |
---|
29 | rather than electronically, the distribution should include appropriate |
---|
30 | instructions in hardcopy form. The hardcopy information pertains to your |
---|
31 | particular distribution format. |
---|
32 | |
---|
33 | The instructions in this document can be used for unloading from |
---|
34 | electronic distribution. |
---|
35 | |
---|
36 | Distribution Format |
---|
37 | |
---|
38 | The distribution consists of a single gzip'd tar file. This file contains |
---|
39 | the source code, test code, and documentation of Motif. |
---|
40 | |
---|
41 | To unpack the distribution, create a directory to hold all of the sources |
---|
42 | and untar everything into that directory: |
---|
43 | |
---|
44 | % mkdir $MOTIFSOURCEDIR |
---|
45 | % cd $MOTIFSOURCEDIR |
---|
46 | |
---|
47 | and then either |
---|
48 | |
---|
49 | % gtar zxf tar-file-name |
---|
50 | |
---|
51 | or |
---|
52 | % gzip -dc tar-file-name| tar xf - |
---|
53 | |
---|
54 | |
---|
55 | where $MOTIFSOURCEDIR designates the master source directory. If you |
---|
56 | unpack the distribution, you will have the following subdirectory under |
---|
57 | $MOTIFSOURCEDIR: |
---|
58 | |
---|
59 | motif |
---|
60 | |
---|
61 | Note that directory permissions stored in the tar file are generally |
---|
62 | set world writable. Make sure your umask is set the way you want before |
---|
63 | unpacking the distribution. |
---|
64 | |
---|
65 | Disk Space Requirements |
---|
66 | |
---|
67 | Approximately 70MB of disk space are required to unpack the Motif distribution. |
---|
68 | Disk usage is as follows (all amounts are in MB): |
---|
69 | |
---|
70 | motif 19 |
---|
71 | motif/tests 39 |
---|
72 | motif/doc 13 |
---|
73 | |
---|
74 | |
---|
75 | Building Motif |
---|
76 | |
---|
77 | This section provides a generic description of the build process for Motif. |
---|
78 | Motif has been built on the following platforms: |
---|
79 | Digital AlphaStation 200 Digital UNIX V4.0 |
---|
80 | Fujitsu DS/90 7000 UXP/DS V20L10 |
---|
81 | HP HP9000/7xx HP-UX 10.20 |
---|
82 | IBM RS/6000 AIX 4.2 |
---|
83 | Novell Intel 486/Pentium UnixWare 2.02 |
---|
84 | SGI Indigo 2 Irix 6.2 |
---|
85 | Sun SPARCstation Solaris 2.4 |
---|
86 | Linux Intel Redhat6.0->7.2 |
---|
87 | |
---|
88 | |
---|
89 | To build Motif, you must have an ANSI C compiler installed on your system |
---|
90 | and available in your $PATH. You should not have /usr/ucb in your $PATH, |
---|
91 | or the build is likely to fail. |
---|
92 | |
---|
93 | If you expect to build the distribution on more than one machine using |
---|
94 | a shared source tree, or you just want to keep the binaries out of |
---|
95 | the source tree, you may want to use the X11 program lndir to create a |
---|
96 | symbolic link tree on each build machine. The links require additional |
---|
97 | disk space but take less disk space than multiple copies of the source |
---|
98 | tree. |
---|
99 | |
---|
100 | Create a build directory that is not a subdirectory of the Motif master |
---|
101 | source directory, for example: |
---|
102 | |
---|
103 | % mkdir $MOTIFBUILDDIR |
---|
104 | |
---|
105 | Create a symbolic link tree using the following command: |
---|
106 | % lndir $MOTIFSOURCEDIR $MOTIFBUILDDIR |
---|
107 | |
---|
108 | |
---|
109 | where $MOTIFSOURCEDIR is the Motif master source directory. Note that |
---|
110 | the directory containing the lndir program must be in your $PATH. |
---|
111 | Note that the builds described below must be done in the order given: |
---|
112 | |
---|
113 | Building Motif |
---|
114 | |
---|
115 | 1. Customize $MOTIFBUILDDIR/motif/config/cf/site.def to reflect local |
---|
116 | preferences for install locations, compilers, paths, etc. Note that |
---|
117 | the default install location is /usr/dt, and is probably not the one |
---|
118 | you want. You should change it to where you want Motif to be installed, |
---|
119 | probably /usr. |
---|
120 | |
---|
121 | |
---|
122 | 2. If you are building with imports (the default setup in site.def), |
---|
123 | construct the necessary links as follows: |
---|
124 | |
---|
125 | % cd $MOTIFBUILDDIR/motif |
---|
126 | % mkdir -p imports/x11 |
---|
127 | % cd imports/x11 |
---|
128 | % ln -s <X11_bin_directory> bin |
---|
129 | % ln -s <X11_includes_directory> include |
---|
130 | % ln -s <X11_libs_directory> lib |
---|
131 | % cd $MOTIFBUILDDIR/motif/config/cf |
---|
132 | % mkdir OPENGROUP |
---|
133 | % mv * OPENGROUP |
---|
134 | % ln -s <X11_libs_directory>/X11/config/* |
---|
135 | % rm Motif.tmpl Motif.rules host.def |
---|
136 | % mv OPENGROUP/{Motif.tmpl,Motif.rules,host.def} . |
---|
137 | |
---|
138 | 3. Set your current directory as follows: |
---|
139 | |
---|
140 | % cd $MOTIFBUILDDIR/motif |
---|
141 | |
---|
142 | 4. Copy the Master Makefile into place : |
---|
143 | |
---|
144 | % cp Makefile.imake-pure Makefile |
---|
145 | |
---|
146 | 5. See if there is a BootstrapCFlags mentioned in the |
---|
147 | comments in the <vendor>.cf file. This file is in the directory |
---|
148 | $MOTIFBUILDDIR/motif/config/cf. If there isn't a definition for |
---|
149 | BootstrapCFlags, type: |
---|
150 | |
---|
151 | % make World >& world.log |
---|
152 | |
---|
153 | If there is a BootstrapCFlags definition, take its value and type: |
---|
154 | % make World BOOTSTRAPCFLAGS="value" >& world.log |
---|
155 | |
---|
156 | Installing Motif |
---|
157 | |
---|
158 | Before installing Motif, check to see if you already have an installed |
---|
159 | version of Motif. If so and you want a completely new installation |
---|
160 | (which is recommended), then rename it or back it up and then remove it. |
---|
161 | |
---|
162 | Installing Motif |
---|
163 | To install motif do the following as root: |
---|
164 | |
---|
165 | % cd $MOTIFBUILDDIR/motif |
---|
166 | % make install >& install.log |
---|
167 | |
---|
168 | |
---|
169 | Documentation |
---|
170 | The Motif guides have been provided in postscript. |
---|
171 | These are located in the directory $MOTIFBUILDDIR/motif/doc/ps. With this |
---|
172 | release, the Motif and CDE style guides have been combined and reworked |
---|
173 | into three new volumes: Motif and CDE Style Guide, Motif and CDE Style |
---|
174 | Guide Reference, and Motif and CDE Style Guide Certification Checklist. |
---|
175 | |
---|
176 | The documentation consists of: |
---|
177 | |
---|
178 | mot-pg/ Motif Programmer's Guide |
---|
179 | mot-ref/ Motif Programmer's Reference |
---|
180 | mot-mcsg.ps.Z Motif and CDE Style Guide |
---|
181 | mot-cdesgr.ps.Z Motif and CDE Style Guide Reference |
---|
182 | mot-csgcc.ps.Z Motif and CDE Style Guide Certification Checklist |
---|
183 | mot-wwg.ps.Z Motif Widget Writer's Guide |
---|
184 | mot-ug/ Motif User's Guide |
---|
185 | mot-gloss.ps.Z Motif Glossary |
---|
186 | |
---|
187 | Manual pages in man format are provided. |
---|
188 | These are located in the directory $MOTIFBUILDDIR/motif/doc/man. |
---|
189 | |
---|
190 | |
---|
191 | Building the Motif QATS Tests |
---|
192 | |
---|
193 | Most of the information required to build and run the Motif/QATS can be |
---|
194 | found in the following files: |
---|
195 | |
---|
196 | $MOTIFBUILDDIR/motif/tests/doc/Output/draft/ps/chap1 |
---|
197 | $MOTIFBUILDDIR/motif/tests/doc/Output/draft/ps/chap2 |
---|
198 | $MOTIFBUILDDIR/motif/tests/doc/Output/draft/ps/chap3 |
---|
199 | $MOTIFBUILDDIR/motif/tests/doc/Output/draft/ps/chap4 |
---|
200 | $MOTIFBUILDDIR/motif/tests/environment/README |
---|
201 | |
---|
202 | |
---|
203 | |
---|
204 | Installing Tests |
---|
205 | |
---|
206 | Test execution is fully functional inside the tests directory |
---|
207 | structure. No installation is required. |
---|
208 | |
---|
209 | |
---|
210 | Running Tests |
---|
211 | |
---|
212 | The QATS must be run on a display controlled by a Motif 2.x version |
---|
213 | of mwm (not dtwm). A suitable version of mwm is built in the |
---|
214 | $MOTIFBUILDDIR/motif/clients/mwm directory. |
---|
215 | |
---|
216 | Test Execution Results |
---|
217 | |
---|
218 | The Motif/QATS automated tests and Motif window manager were built as |
---|
219 | described in an earlier section. Automated tests were built and run |
---|
220 | on all reference platforms. Sun, HP, and SGI displays were used for |
---|
221 | displaying tests. Motif window managers built on different platforms |
---|
222 | were used to manage the windows while running the tests. The complete |
---|
223 | QATS is executed on Sun, HPUX, and SGI platforms while only the new |
---|
224 | tests or suites were executed on the remaining reference platforms. |
---|
225 | |
---|
226 | Missing Keys WARNINGS |
---|
227 | |
---|
228 | The keys on the keyboards used on the HP and Sun platforms are |
---|
229 | insufficient for the needs of the tests (keys missing from the keyboard |
---|
230 | that were expected to be mapped for the tests), causing "AUTOWARNING" |
---|
231 | errors in every one of the tests. The standard report generation scripts |
---|
232 | detect these benign errors and flag the entire test as an error. Since |
---|
233 | these were not considered to be fatal errors (after inspection of the |
---|
234 | test code), the analysis scripts filtered out AUTOWARNING errors that |
---|
235 | came from missing keys at the very beginning of a test run. |
---|
236 | |
---|
237 | New Test Clients |
---|
238 | Several new test clients were added to the QATS during this release, |
---|
239 | some automated and some manual. Test clients were added to the following |
---|
240 | directories: |
---|
241 | |
---|
242 | tests/Toolkit/Buttons |
---|
243 | tests/uil/widgets |
---|
244 | |
---|
245 | Golden data was generated where necessary. |
---|
246 | |
---|
247 | Golden Data Generation |
---|
248 | |
---|
249 | Some new QATS test suites, which do not have any previous recordings, |
---|
250 | were run in record mode to generate golden data. The recordings were |
---|
251 | added to this release. These new automated test suites are: |
---|
252 | |
---|
253 | tests/Toolkit/ComboBox |
---|
254 | tests/Toolkit/SpinBox |
---|
255 | tests/Toolkit/Notebook |
---|
256 | tests/Toolkit/IconVC |
---|
257 | |
---|
258 | |
---|
259 | Test Results |
---|
260 | |
---|
261 | The results were compared with the recordings made against Motif 2.0. The |
---|
262 | results are mostly consistent with the previous runs carried out at |
---|
263 | OSF. There are failures due to both QATS problems and Motif defects. All |
---|
264 | the errors/failures reported during the run are due to known problems |
---|
265 | in both QATS and Motif code and have defects already opened against |
---|
266 | them. Also, the results were consistent across all the platforms on |
---|
267 | which the tests were executed. |
---|
268 | |
---|
269 | |
---|
270 | Compatibility |
---|
271 | |
---|
272 | Compatibility with CDE/Motif 1.2 was given great emphasis in this release, |
---|
273 | even at the expense of compatibility with OSF/Motif 2.0. Some OSF/Motif |
---|
274 | 2.0 applications may experience problems because of the following changes: |
---|
275 | |
---|
276 | *The XmCSText widget has been withdrawn, as have those APIs added to |
---|
277 | OSF/Motif 2.0 solely to support it. |
---|
278 | |
---|
279 | *Mrm support for word-size independent .uid files has been |
---|
280 | removed. Existing .uid files compiled with Motif 2.0 uil may not be |
---|
281 | readable. As in OSF/Motif 1.2, .uid files are portable only between |
---|
282 | machines with the same word size. |
---|
283 | |
---|
284 | *New XmComboBox XmNpositionMode and XmSpinBox XmNpositionType resources |
---|
285 | default to incompatible index values, and should be forced by all |
---|
286 | applications using these widgets. XmONE_BASED is recommended for |
---|
287 | XmComboBox widgets because it lets applications distinguish between new |
---|
288 | values entered in the text field and the first item in the list. |
---|
289 | |
---|
290 | *XmStringCreateLocalized() now handles new lines and tabs. *The |
---|
291 | _XmStrings array has, on some machines, been split into multiple |
---|
292 | sub-arrays with the same techniques used by libXt. This preserves |
---|
293 | compatibility with Motif 1.2 and permits future expansion. |
---|
294 | |
---|
295 | *Labels for automatically created sub-widgets (like the buttons in a |
---|
296 | File Selection Box) are now unconditionally localized, and may not be |
---|
297 | set or overridden by the user. |
---|
298 | |
---|
299 | *The XmDisplay XmNenableThinThickness resource now has wider effect than |
---|
300 | it did in Motif 2.0. |
---|
301 | |
---|
302 | *The XmDisplay XmNenableToggleVisual resource now changes the way |
---|
303 | XmNindicatorOn and XmNindicatorType values are rendered, instead of |
---|
304 | simply changing their default values. Motif 2.0 applications that called |
---|
305 | XtSetValues for these resources may notice a change. New constants have |
---|
306 | been added to obtain the old behavior. |
---|
307 | |
---|
308 | *In Motif 2.0 there were two distinct XmREPLACE constants, with different |
---|
309 | values. The XmMergeMode constant has been renamed XmMERGE_REPLACE. This |
---|
310 | is a source compatibility issue; binary compatibility is unaffected. |
---|
311 | |
---|
312 | *XmDisplay XmNdragReceiverProtocolStyle default value has been reverted |
---|
313 | to XmDRAG_PREFER_PREREGISTER. Users may find that XmDRAG_PREFER_DYNAMIC |
---|
314 | is more efficient. |
---|
315 | |
---|
316 | *The XmNenableEtchedInMenu resource causes buttons and toggles in menus |
---|
317 | to be rendered with colors different from those in earlier releases. |
---|
318 | |
---|
319 | *XmScrolledList and XmScrolledText scrollbar colors are computed |
---|
320 | differently. They are now derived from the scrolled window's background |
---|
321 | color, not the color of the XmList or XmText widget. |
---|
322 | |
---|
323 | *To promote convergence with dtwm, mwm's panning and virtual screen |
---|
324 | support has been removed, as has mwm's support for workspaces. |
---|
325 | |
---|
326 | *The XmCxx library of C++ wrappers has been moved to the demos/lib |
---|
327 | directory. |
---|
328 | |
---|
329 | |
---|
330 | New Functionality |
---|
331 | |
---|
332 | The following paragraphs summarize the new functionality of this release |
---|
333 | relative to Motif 2.0. Please refer to the specific on-line documentation |
---|
334 | for more detailed information. |
---|
335 | |
---|
336 | Printing |
---|
337 | |
---|
338 | Starting with this release, Motif includes support for printing using |
---|
339 | an X protocol based print server. This print server produces output in |
---|
340 | three formats: PCL, Postscript and Raster. |
---|
341 | |
---|
342 | Thread-Safe Libraries |
---|
343 | |
---|
344 | Xm and Mrm are thread-safe enabled. This means that the libraries |
---|
345 | themselves are thread safe and a multithreaded application need not do |
---|
346 | explicit locking when accessing these libraries. This is supported only |
---|
347 | for platforms that support multithreaded programming. |
---|
348 | |
---|
349 | |
---|
350 | Internationalization |
---|
351 | |
---|
352 | There are several new features that support the internationalization of |
---|
353 | Motif and developing applications for international markets. Motif now |
---|
354 | supports the On-The-Spot input method for Text widget. Vertical Writing |
---|
355 | is also supported. |
---|
356 | |
---|
357 | |
---|
358 | Open/Closed Defect Lists |
---|
359 | |
---|
360 | Two files listing defect reports are provided in the directories |
---|
361 | $MOTIFSOURCEDIR/motif: |
---|
362 | |
---|
363 | |
---|
364 | OPENBUGS |
---|
365 | |
---|
366 | Lists the currently known unresolved defects reported against Motif components. |
---|
367 | |
---|
368 | CLOSEDBUGS |
---|
369 | |
---|
370 | Lists the defects that have been resolved since Motif 2.0. |
---|
371 | |
---|
372 | |
---|
373 | X11R6.4 |
---|
374 | This release has been built and tested upon a base of X11R6.4 patchlevel 3. |
---|
375 | |
---|
376 | |
---|
377 | Changes to X11R6.4: |
---|
378 | |
---|
379 | CDE and Motif 2.1.30 have been built and tested upon a base of |
---|
380 | X11R6.4 patchlevel 3. During the development of 2.1.20, a |
---|
381 | significant defect in the I18N code of X was discovered; if you have |
---|
382 | not yet corrected this problem, you are advised to do so prior |
---|
383 | to making use of 2.1.30. |
---|
384 | |
---|
385 | The symptom is that when XMODIFIERS is not set, there is a possibility |
---|
386 | of memory corruption. It is recommended that the following patch |
---|
387 | be applied: |
---|
388 | |
---|
389 | *** imInt.c@@/main/5 Sat May 30 21:04:36 1998 |
---|
390 | --- xc/lib/X11/imInt.c Mon Aug 24 16:17:25 1998 |
---|
391 | *************** |
---|
392 | *** 1,4 **** |
---|
393 | ! /* $TOG: README-2.1.30 /main/1 1999/12/14 14:52:14 devobj $ */ |
---|
394 | /****************************************************************** |
---|
395 | |
---|
396 | Copyright 1992, 1993, 1994 by FUJITSU LIMITED |
---|
397 | --- 1,4 ---- |
---|
398 | ! /* $TOG: README-2.1.30 /main/1 1999/12/14 14:52:14 devobj $ */ |
---|
399 | /****************************************************************** |
---|
400 | |
---|
401 | Copyright 1992, 1993, 1994 by FUJITSU LIMITED |
---|
402 | *************** |
---|
403 | *** 166,174 **** |
---|
404 | _XimMakeImName(lcd) |
---|
405 | XLCd lcd; |
---|
406 | { |
---|
407 | ! char* begin; |
---|
408 | ! char* end; |
---|
409 | ! char* ret; |
---|
410 | int i = 0; |
---|
411 | char* ximmodifier = XIMMODIFIER; |
---|
412 | |
---|
413 | --- 166,174 ---- |
---|
414 | _XimMakeImName(lcd) |
---|
415 | XLCd lcd; |
---|
416 | { |
---|
417 | ! char* begin = NULL; |
---|
418 | ! char* end = NULL; |
---|
419 | ! char* ret = NULL; |
---|
420 | int i = 0; |
---|
421 | char* ximmodifier = XIMMODIFIER; |
---|
422 | |
---|
423 | *************** |
---|
424 | *** 182,189 **** |
---|
425 | } |
---|
426 | ret = Xmalloc(end - begin + 2); |
---|
427 | if (ret != NULL) { |
---|
428 | ! (void)strncpy(ret, begin, end - begin + 1); |
---|
429 | ! ret[end - begin + 1] = '\0'; |
---|
430 | } |
---|
431 | return ret; |
---|
432 | } |
---|
433 | --- 182,192 ---- |
---|
434 | } |
---|
435 | ret = Xmalloc(end - begin + 2); |
---|
436 | if (ret != NULL) { |
---|
437 | ! if (begin != NULL && end != NULL) { |
---|
438 | ! (void)strncpy(ret, begin, end - begin + 1); |
---|
439 | ! ret[end - begin + 1] = '\0'; |
---|
440 | ! } |
---|
441 | ! else *ret = '\0'; |
---|
442 | } |
---|
443 | return ret; |
---|
444 | } |
---|
445 | |
---|
446 | |
---|