auto-import changelog data from Xaw3d-1.5-7.src.rpm

Mon Jul 24 2000 Bill Nottingham <notting@redhat.com>
- ia64 tweaks
Wed Jul 12 2000 Prospector <bugzilla@redhat.com>
- automatic rebuild
Mon Jul 10 2000 Bernhard Rosenkraenzer <bero@redhat.de>
- Restore Xaw3d 1.5 - the addition of the backward compatibility library
    killed the current one.
- get rid of the CDEBUGFLAGS="" hack, the current gcc fixes it
Mon Jul 03 2000 Than Ngo <than@redhat.de>
- fix Imakefile to static Xawd3d
Sat Jun 17 2000 Than Ngo <than@redhat.de>
- add backward compatibility libXaw3d.so.6 (Bug# 12261)
Mon May 15 2000 Bill Nottingham <notting@redhat.com>
- fix unaligned traps on ia64
Mon May 08 2000 Bernhard Rosenkraenzer <bero@redhat.com>
- 1.5
Sun Mar 21 1999 Cristian Gafton <gafton@redhat.com>
- auto rebuild in the new build environment (release 21)
Wed Feb 24 1999 Preston Brown <pbrown@redhat.com>
- Injected new description and group.
Fri Dec 18 1998 Preston Brown <pbrown@redhat.com>
- bumped spec number for initial rh 6.0 build
Fri Nov 06 1998 Preston Brown <pbrown@redhat.com>
- added security/update patch from debian (the X11R6.3 patch). Thanks guys.
    :)
Wed Oct 14 1998 Cristian Gafton <gafton@redhat.com>
- handle the symlink with triggers instead of getting rid of it
Mon Oct 05 1998 Jeff Johnson <jbj@redhat.com>
- remove backward compatible symlink.
Wed May 06 1998 Cristian Gafton <gafton@redhat.com>
- fixed the bad symlink
- BuildRoot
Mon Apr 27 1998 Prospector System <bugs@redhat.com>
- translations modified for de, fr, tr
Tue Nov 04 1997 Erik Troan <ewt@redhat.com>
- don't lave an improper return code from %pre
Mon Nov 03 1997 Cristian Gafton <gafton@redhat.com>
- take care of the old location of the Xaw3d includes in case that one
    exist
- updated Prereq: field
Sun Oct 26 1997 Cristian Gafton <gafton@redhat.com
- fixed the -devel package for the right include files path
Mon Oct 13 1997 Donnie Barnes <djb@redhat.com>
- minor spec file cleanups
Wed Oct 01 1997 Erik Troan <ewt@redhat.com>
- i18n widec.h patch needs to be applied on all systems
Sun Sep 14 1997 Erik Troan <ewt@redhat.com>
- changed axp check to alpha
Mon Jun 16 1997 Erik Troan <ewt@redhat.com>
- built against glibc
This commit is contained in:
cvsdist 2004-09-09 02:48:41 +00:00
parent 0119362a09
commit 833ae1c216
8 changed files with 1491 additions and 0 deletions

View File

@ -0,0 +1,2 @@
Xaw3d-1.3.tar.gz
Xaw3d-1.5.tar.gz

232
Imakefile Normal file
View File

@ -0,0 +1,232 @@
XCOMM $XConsortium: Imakefile,v 1.78 91/09/18 14:28:23 rws Exp $
#undef ForceNormalLib
#define ForceNormalLib YES
#define DoNormalLib NormalLibXaw6
#define DoSharedLib SharedLibXaw6
#define DoExtraLib SharedLibXaw6
#define DoDebugLib DebugLibXaw6
#define DoProfileLib ProfileLibXaw6
#define HasSharedData YES
#define LibName Xaw3d
#define SoRev SOXAW6REV
#define LibHeaders NO
#define NoSoSymlink
#ifdef SharedXaw6Reqs
REQUIREDLIBS = SharedXaw6Reqs
#endif
DEFINES = XawI18nDefines -DOLDXAW
EXTRA_INCLUDES = -I.
LINTLIBS = $(LINTXLIB) $(LINTXTOOL)
# EXTRA_DEFINES = -DARROW_SCROLLBAR -DUSEGRAY
# EXTRA_INCLUDES = -I.
HEADERS = \
AllWidgets.h \
AsciiSink.h \
AsciiSinkP.h \
AsciiSrc.h \
AsciiSrcP.h \
AsciiText.h \
AsciiTextP.h \
Box.h \
BoxP.h \
Cardinals.h \
Command.h \
CommandP.h \
Dialog.h \
DialogP.h \
Form.h \
FormP.h \
Grip.h \
GripP.h \
Label.h \
LabelP.h \
Layout.h \
LayoutP.h \
List.h \
ListP.h \
MenuButton.h \
MenuButtoP.h \
MultiSrc.h \
MultiSrcP.h \
MultiSink.h \
MultiSinkP.h \
Paned.h \
PanedP.h \
Panner.h \
PannerP.h \
Porthole.h \
PortholeP.h \
Repeater.h \
RepeaterP.h \
Reports.h \
Scrollbar.h \
ScrollbarP.h \
Simple.h \
SimpleP.h \
SimpleMenu.h \
SimpleMenP.h \
Sme.h \
SmeP.h \
SmeBSB.h \
SmeBSBP.h \
SmeLine.h \
SmeLineP.h \
SmeThreeD.h \
SmeThreeDP.h \
StripChart.h \
StripCharP.h \
Template.c \
Template.h \
TemplateP.h \
Text.h \
TextP.h \
TextSink.h \
TextSinkP.h \
TextSrc.h \
TextSrcP.h \
ThreeD.h \
ThreeDP.h \
Toggle.h \
ToggleP.h \
Tree.h \
TreeP.h \
VendorEP.h \
Viewport.h \
ViewportP.h \
XawImP.h \
XawInit.h
SRCS = \
AllWidgets.c \
AsciiSink.c \
AsciiSrc.c \
AsciiText.c \
Box.c \
Command.c \
Dialog.c \
Form.c \
Grip.c \
Label.c \
Layout.c \
List.c \
MenuButton.c \
MultiSrc.c \
MultiSink.c \
Paned.c \
Panner.c \
Porthole.c \
Repeater.c \
Scrollbar.c \
Simple.c \
SimpleMenu.c \
Sme.c \
SmeBSB.c \
SmeLine.c \
SmeThreeD.c \
StripChart.c \
Text.c \
TextSink.c \
TextSrc.c \
TextAction.c \
TextPop.c \
TextTr.c \
ThreeD.c \
Toggle.c \
Tree.c \
Vendor.c \
Viewport.c \
XawIm.c \
XawInit.c \
XawI18n.c \
sharedlib.c \
laygram.c \
laylex.c
#if SharedDataSeparation
UNSHAREDOBJS = AllWidgets.o sharedlib.o
#endif
OBJS = \
AllWidgets.o \
AsciiSink.o \
AsciiSrc.o \
AsciiText.o \
Box.o \
Command.o \
Dialog.o \
Form.o \
Grip.o \
Label.o \
Layout.o \
List.o \
MenuButton.o \
MultiSrc.o \
MultiSink.o \
Paned.o \
Panner.o \
Porthole.o \
Repeater.o \
Scrollbar.o \
Simple.o \
SimpleMenu.o \
Sme.o \
SmeBSB.o \
SmeLine.o \
SmeThreeD.o \
StripChart.o \
Text.o \
TextSink.o \
TextSrc.o \
TextAction.o \
TextPop.o \
TextTr.o \
ThreeD.o \
Toggle.o \
Tree.o \
Vendor.o \
Viewport.o \
XawIm.o \
XawI18n.o \
XawInit.o \
laygram.o \
laylex.o
#include <Library.tmpl>
#ifdef LexCmd
LEX=LexCmd
#endif
#ifdef YaccCmd
YACC=YaccCmd
#endif
all::
depend:: laygram.c laylex.c
#if DoSharedLib && SharedDataSeparation
SpecialCObjectRule(sharedlib.o,NullParameter,$(SHLIBDEF))
#endif
laygram.c : laygram.y
$(YACC) -d laygram.y
sed 's/yy/LayYY/g' y.tab.c > laygram.c
sed 's/yy/LayYY/g' y.tab.h > laygram.h
$(RM) y.tab.c y.tab.h
laylex.c: laylex.l
$(LEX) laylex.l
sed 's/yy/LayYY/g' lex.yy.c > laylex.c
$(RM) lex.yy.c
clean::
$(RM) laygram.c laylex.c
DependTarget()

970
Xaw3d-1.3-X11R6.3.patch Normal file
View File

@ -0,0 +1,970 @@
--- xaw3d-1.3.orig/lib/Xaw3d/AsciiSrc.c
+++ xaw3d-1.3/lib/Xaw3d/AsciiSrc.c
@@ -27,6 +27,8 @@
*/
+/* $XFree86: xc/lib/Xaw/AsciiSrc.c,v 1.1.1.2.4.2 1998/05/16 09:05:19 dawes Exp $ */
+
/*
* AsciiSrc.c - AsciiSrc object. (For use with the text widget).
*
@@ -1293,15 +1295,21 @@
XtQEfile = XrmPermStringToQuark(XtEfile);
}
+ if (strlen((char *) fromVal->addr) >= sizeof(lowerName)) {
+ XtStringConversionWarning((char *) fromVal->addr, XtRAsciiType);
+ return;
+ }
XmuCopyISOLatin1Lowered(lowerName, (char *) fromVal->addr);
q = XrmStringToQuark(lowerName);
if (q == XtQEstring) type = XawAsciiString;
if (q == XtQEfile) type = XawAsciiFile;
-
- (*toVal).size = sizeof(XawAsciiType);
- (*toVal).addr = (XPointer) &type;
- return;
+ if (q == XtQEstring || q == XtQEfile) {
+ (*toVal).size = sizeof(XawAsciiType);
+ (*toVal).addr = (XPointer) &type;
+ return;
+ }
+ XtStringConversionWarning((char *) fromVal->addr, XtRAsciiType);
}
#if (defined(ASCII_STRING) || defined(ASCII_DISK))
--- xaw3d-1.3.orig/lib/Xaw3d/AsciiSrcP.h
+++ xaw3d-1.3/lib/Xaw3d/AsciiSrcP.h
@@ -50,6 +50,7 @@
SOFTWARE.
******************************************************************/
+/* $XFree86: xc/lib/Xaw/AsciiSrcP.h,v 1.1.1.1.12.1 1998/05/19 07:31:43 dawes Exp $ */
/*
* AsciiSrcP.h - Private Header for Ascii Text Source.
@@ -85,7 +86,11 @@
#ifdef L_tmpnam
#define TMPSIZ L_tmpnam
#else
-#define TMPSIZ 32 /* bytes to allocate for tmpnam */
+#ifdef PATH_MAX
+#define TMPSIZ PATH_MAX
+#else
+#define TMPSIZ 1024 /* bytes to allocate for tmpnam */
+#endif
#endif
#define MAGIC_VALUE ((XawTextPosition) -1) /* Magic value. */
--- xaw3d-1.3.orig/lib/Xaw3d/Form.c
+++ xaw3d-1.3/lib/Xaw3d/Form.c
@@ -48,6 +48,8 @@
******************************************************************/
+/* $XFree86: xc/lib/Xaw/Form.c,v 1.1.1.1.12.2 1998/05/16 09:05:19 dawes Exp $ */
+
#include <X11/IntrinsicP.h>
#include <X11/StringDefs.h>
#include <X11/Xmu/Converters.h>
@@ -185,6 +187,10 @@
XrmQuark q;
char lowerName[1000];
+ if (strlen((char*)fromVal->addr) >= sizeof(lowerName)) {
+ XtStringConversionWarning(fromVal->addr, "edgeType");
+ return;
+ }
XmuCopyISOLatin1Lowered (lowerName, (char*)fromVal->addr);
q = XrmStringToQuark(lowerName);
if (q == XtQChainLeft) {
--- xaw3d-1.3.orig/lib/Xaw3d/MenuButton.c
+++ xaw3d-1.3/lib/Xaw3d/MenuButton.c
@@ -26,6 +26,7 @@
*
*/
+/* $XFree86: xc/lib/Xaw/MenuButton.c,v 3.0.6.2 1998/05/20 05:06:17 dawes Exp $ */
/***********************************************************************
*
@@ -53,6 +54,8 @@
#include <X11/Xaw3d/XawInit.h>
#include <X11/Xaw3d/MenuButtoP.h>
+#include "XawAlloc.h"
+
static void ClassInitialize();
static void PopupMenu();
@@ -179,9 +182,16 @@
if (menu == NULL) {
char error_buf[BUFSIZ];
- (void) sprintf(error_buf, "MenuButton: %s %s.",
- "Could not find menu widget named", mbw->menu_button.menu_name);
- XtAppWarning(XtWidgetToApplicationContext(w), error_buf);
+ char *err1 = "MenuButton: Could not find menu widget named ";
+ char *perr;
+ int len;
+
+ len = strlen(err1) + strlen(mbw->menu_button.menu_name) + 1 + 1;
+ perr = XtStackAlloc(len, error_buf);
+ if (perr == NULL) return;
+ sprintf(perr, "%s%s.", err1, mbw->menu_button.menu_name);
+ XtAppWarning(XtWidgetToApplicationContext(w), perr);
+ XtStackFree(perr, error_buf);
return;
}
if (!XtIsRealized(menu))
--- xaw3d-1.3.orig/lib/Xaw3d/MultiSrc.c
+++ xaw3d-1.3/lib/Xaw3d/MultiSrc.c
@@ -1440,13 +1440,19 @@
XtQEfile = XrmPermStringToQuark(XtEfile);
}
+ if (strlen((char *) fromVal->addr) >= sizeof(lowerName)) {
+ XtStringConversionWarning((char *) fromVal->addr, XtRAsciiType);
+ return;
+ }
XmuCopyISOLatin1Lowered(lowerName, (char *) fromVal->addr);
q = XrmStringToQuark(lowerName);
if (q == XtQEstring) type = XawAsciiString;
if (q == XtQEfile) type = XawAsciiFile;
-
- (*toVal).size = sizeof(XawAsciiType);
- (*toVal).addr = (XPointer) &type;
- return;
+ if (q == XtQEstring || q == XtQEfile) {
+ (*toVal).size = sizeof(XawAsciiType);
+ (*toVal).addr = (XPointer) &type;
+ return;
+ }
+ XtStringConversionWarning((char *) fromVal->addr, XtRAsciiType);
}
--- xaw3d-1.3.orig/lib/Xaw3d/MultiSrcP.h
+++ xaw3d-1.3/lib/Xaw3d/MultiSrcP.h
@@ -72,6 +72,7 @@
SOFTWARE.
******************************************************************/
+/* $XFree86: xc/lib/Xaw/MultiSrcP.h,v 1.1.1.1.12.2 1998/05/19 14:36:47 dawes Exp $ */
/*
* MultiSrcP.h - Private Header for Multi Text Source.
@@ -113,7 +114,11 @@
#ifdef L_tmpnam
#define TMPSIZ L_tmpnam
#else
-#define TMPSIZ 32 /* bytes to allocate for tmpnam */
+#ifdef PATH_MAX
+#define TMPSIZ PATH_MAX
+#else
+#define TMPSIZ 1024 /* bytes to allocate for tmpnam */
+#endif
#endif
#define MAGIC_VALUE ((XawTextPosition) -1) /* Magic value. */
--- xaw3d-1.3.orig/lib/Xaw3d/Simple.c
+++ xaw3d-1.3/lib/Xaw3d/Simple.c
@@ -48,6 +48,8 @@
******************************************************************/
+/* $XFree86: xc/lib/Xaw/Simple.c,v 1.1.1.1.12.2 1998/05/18 14:08:41 dawes Exp $ */
+
#include <stdio.h>
#include <X11/IntrinsicP.h>
#include <X11/StringDefs.h>
@@ -55,6 +57,8 @@
#include <X11/Xaw3d/SimpleP.h>
#include <X11/Xmu/Drawing.h>
+#include "XawAlloc.h"
+
#define offset(field) XtOffsetOf(SimpleRec, simple.field)
static XtResource resources[] = {
@@ -145,11 +149,17 @@
if (c->simple_class.change_sensitive == NULL) {
char buf[BUFSIZ];
-
- (void) sprintf(buf,
- "%s Widget: The Simple Widget class method 'change_sensitive' is undefined.\nA function must be defined or inherited.",
- c->core_class.class_name);
- XtWarning(buf);
+ char *pbuf;
+ char *msg1 = " Widget: The Simple Widget class method 'change_sensitive' is undefined.\nA function must be defined or inherited.";
+ int len;
+
+ len = strlen(msg1) + strlen(c->core_class.class_name) + 1;
+ pbuf = XtStackAlloc(len, buf);
+ if (pbuf != NULL) {
+ sprintf(pbuf, "%s%s", c->core_class.class_name, msg1);
+ XtWarning(pbuf);
+ XtStackFree(pbuf, buf);
+ }
c->simple_class.change_sensitive = ChangeSensitive;
}
--- xaw3d-1.3.orig/lib/Xaw3d/SimpleMenu.c
+++ xaw3d-1.3/lib/Xaw3d/SimpleMenu.c
@@ -25,6 +25,8 @@
in this Software without prior written authorization from the X Consortium.
*/
+/* $XFree86: xc/lib/Xaw/SimpleMenu.c,v 3.1.6.3 1998/05/20 05:06:17 dawes Exp $ */
+
/*
* SimpleMenu.c - Source code file for SimpleMenu widget.
*
@@ -47,6 +49,8 @@
#include <X11/Xmu/Initer.h>
#include <X11/Xmu/CharSet.h>
+#include "XawAlloc.h"
+
#define streq(a, b) ( strcmp((a), (b)) == 0 )
#define offset(field) XtOffsetOf(SimpleMenuRec, simple_menu.field)
@@ -625,9 +629,17 @@
if ( (menu = FindMenu(w, params[0])) == NULL) {
char error_buf[BUFSIZ];
- (void) sprintf(error_buf, "%s '%s'",
- "Xaw - SimpleMenuWidget: could not find menu named: ", params[0]);
- XtAppWarning(XtWidgetToApplicationContext(w), error_buf);
+ char *err1 = "Xaw - SimpleMenuWidget: could not find menu named: ";
+ char *perr;
+ int len;
+
+ len = strlen(err1) + strlen(params[0]) + 2 + 1;
+ perr = XtStackAlloc(len, error_buf);
+ if (perr == NULL)
+ return;
+ sprintf(perr, "%s'%s'", err1, params[0]);
+ XtAppWarning(XtWidgetToApplicationContext(w), perr);
+ XtStackFree(perr, error_buf);
return;
}
--- xaw3d-1.3.orig/lib/Xaw3d/SmeBSB.c
+++ xaw3d-1.3/lib/Xaw3d/SmeBSB.c
@@ -25,6 +25,8 @@
in this Software without prior written authorization from the X Consortium.
*/
+/* $XFree86: xc/lib/Xaw/SmeBSB.c,v 1.1.1.2.2.3 1998/05/20 05:06:18 dawes Exp $ */
+
/*
* SmeBSB.c - Source code file for BSB Menu Entry object.
*
@@ -55,6 +57,8 @@
#include <stdio.h>
+#include "XawAlloc.h"
+
#define ONE_HUNDRED 100
#define offset(field) XtOffsetOf(SmeBSBRec, sme_bsb.field)
@@ -601,22 +605,31 @@
int x, y;
unsigned int width, height;
char buf[BUFSIZ];
+ char *pbuf;
+ int len;
if (is_left) {
if (entry->sme_bsb.left_bitmap != None) {
if (!XGetGeometry(XtDisplayOfObject(w),
entry->sme_bsb.left_bitmap, &root,
&x, &y, &width, &height, &bw, &depth)) {
- (void) sprintf(buf, "Xaw SmeBSB Object: %s %s \"%s\".", "Could not",
- "get Left Bitmap geometry information for menu entry ",
- XtName(w));
- XtAppError(XtWidgetToApplicationContext(w), buf);
+ char *err1 = "Xaw SmeBSB Object: Could not get Left Bitmap geometry information for menu entry ";
+ len = strlen(err1) + strlen(XtName(w)) + 3 + 1;
+ pbuf = XtStackAlloc(len, buf);
+ if (pbuf == NULL) return;
+ sprintf(pbuf, "%s\"%s\".", err1, XtName(w));
+ XtAppError(XtWidgetToApplicationContext(w), pbuf);
+ XtStackFree(pbuf, buf);
}
if (depth != 1) {
- (void) sprintf(buf, "Xaw SmeBSB Object: %s \"%s\"%s.",
- "Left Bitmap of entry ",
- XtName(w), " is not one bit deep.");
- XtAppError(XtWidgetToApplicationContext(w), buf);
+ char *err1 = "Xaw SmeBSB Object: Left Bitmap of entry ";
+ char *err2 = " is not one bit deep.";
+ len = strlen(err1) + strlen(err2) + strlen(XtName(w)) + 2 + 1;
+ pbuf = XtStackAlloc(len, buf);
+ if (pbuf == NULL) return;
+ sprintf(pbuf, "%s\"%s\"%s", err1, XtName(w), err2);
+ XtAppError(XtWidgetToApplicationContext(w), pbuf);
+ XtStackFree(pbuf, buf);
}
entry->sme_bsb.left_bitmap_width = (Dimension) width;
entry->sme_bsb.left_bitmap_height = (Dimension) height;
@@ -626,16 +639,23 @@
if (!XGetGeometry(XtDisplayOfObject(w),
entry->sme_bsb.right_bitmap, &root,
&x, &y, &width, &height, &bw, &depth)) {
- (void) sprintf(buf, "Xaw SmeBSB Object: %s %s \"%s\".", "Could not",
- "get Right Bitmap geometry information for menu entry ",
- XtName(w));
- XtAppError(XtWidgetToApplicationContext(w), buf);
+ char *err1 = "Xaw SmeBSB Object: Could not get Right Bitmap geometry information for menu entry ";
+ len = strlen(err1) + strlen(XtName(w)) + 3 + 1;
+ pbuf = XtStackAlloc(len, buf);
+ if (pbuf == NULL) return;
+ sprintf(pbuf, "%s\"%s\".", err1, XtName(w));
+ XtAppError(XtWidgetToApplicationContext(w), pbuf);
+ XtStackFree(pbuf, buf);
}
if (depth != 1) {
- (void) sprintf(buf, "Xaw SmeBSB Object: %s \"%s\"%s.",
- "Right Bitmap of entry ", XtName(w),
- " is not one bit deep.");
- XtAppError(XtWidgetToApplicationContext(w), buf);
+ char *err1 = "Xaw SmeBSB Object: Right Bitmap of entry ";
+ char *err2 = " is not one bit deep.";
+ len = strlen(err1) + strlen(err2) + strlen(XtName(w)) + 2 + 1;
+ pbuf = XtStackAlloc(len, buf);
+ if (pbuf == NULL) return;
+ sprintf(pbuf, "%s\"%s\"%s", err1, XtName(w), err2);
+ XtAppError(XtWidgetToApplicationContext(w), pbuf);
+ XtStackFree(pbuf, buf);
}
entry->sme_bsb.right_bitmap_width = (Dimension) width;
entry->sme_bsb.right_bitmap_height = (Dimension) height;
--- xaw3d-1.3.orig/lib/Xaw3d/Text.c
+++ xaw3d-1.3/lib/Xaw3d/Text.c
@@ -48,6 +48,8 @@
******************************************************************/
+/* $XFree86: xc/lib/Xaw/Text.c,v 3.2.4.2 1998/05/16 09:05:21 dawes Exp $ */
+
#include <X11/IntrinsicP.h>
#include <X11/StringDefs.h>
#include <X11/Shell.h>
@@ -72,6 +74,8 @@
#include <X11/Xfuncs.h>
#include <ctype.h> /* for isprint() */
+#include "XawAlloc.h"
+
#ifndef MAX_LEN_CT
#define MAX_LEN_CT 6 /* for sequence: ESC $ ( A \xx \xx */
#endif
@@ -203,6 +207,10 @@
inited = TRUE;
}
+ if (strlen((char *)fromVal->addr) >= sizeof(lowerName)) {
+ XtStringConversionWarning((char *) fromVal->addr, XtRScrollMode);
+ return;
+ }
XmuCopyISOLatin1Lowered (lowerName, (char *)fromVal->addr);
q = XrmStringToQuark(lowerName);
@@ -210,7 +218,7 @@
else if (q == QScrollWhenNeeded) scrollMode = XawtextScrollWhenNeeded;
else if (q == QScrollAlways) scrollMode = XawtextScrollAlways;
else {
- done(NULL, 0);
+ XtStringConversionWarning((char *) fromVal->addr, XtRScrollMode);
return;
}
done(&scrollMode, XawTextScrollMode);
@@ -238,6 +246,10 @@
inited = TRUE;
}
+ if (strlen((char *)fromVal->addr) >= sizeof(lowerName)) {
+ XtStringConversionWarning((char *) fromVal->addr, XtRWrapMode);
+ return;
+ }
XmuCopyISOLatin1Lowered (lowerName, (char *)fromVal->addr);
q = XrmStringToQuark(lowerName);
@@ -245,7 +257,7 @@
else if (q == QWrapLine) wrapMode = XawtextWrapLine;
else if (q == QWrapWord) wrapMode = XawtextWrapWord;
else {
- done(NULL, 0);
+ XtStringConversionWarning((char *) fromVal->addr, XtRWrapMode);
return;
}
done(&wrapMode, XawTextWrapMode);
@@ -274,6 +286,10 @@
inited = TRUE;
}
+ if (strlen((char *)fromVal->addr) >= sizeof(lowerName)) {
+ XtStringConversionWarning((char *) fromVal->addr, XtRResizeMode);
+ return;
+ }
XmuCopyISOLatin1Lowered (lowerName, (char *)fromVal->addr);
q = XrmStringToQuark(lowerName);
@@ -282,7 +298,7 @@
else if (q == QResizeHeight) resizeMode = XawtextResizeHeight;
else if (q == QResizeBoth) resizeMode = XawtextResizeBoth;
else {
- done(NULL, 0);
+ XtStringConversionWarning((char *) fromVal->addr, XtRResizeMode);
return;
}
done(&resizeMode, XawTextResizeMode);
@@ -487,6 +503,8 @@
{
TextWidget ctx = (TextWidget) new;
char error_buf[BUFSIZ];
+ char *perr;
+ int len;
ctx->text.lt.lines = 0;
ctx->text.lt.info = NULL;
@@ -523,10 +541,17 @@
if (ctx->text.scroll_vert != XawtextScrollNever)
if ( (ctx->text.resize == XawtextResizeHeight) ||
(ctx->text.resize == XawtextResizeBoth) ) {
- (void) sprintf(error_buf, "Xaw Text Widget %s:\n %s %s.", ctx->core.name,
- "Vertical scrolling not allowed with height resize.\n",
- "Vertical scrolling has been DEACTIVATED.");
- XtAppWarning(XtWidgetToApplicationContext(new), error_buf);
+ char *err1 = "Xaw Text Widget ";
+ char *err2 = ":\nVertical scrolling not allowed with height resize.\n";
+ char *err3 = "Vertical scrolling has been DEACTIVATED.";
+ len = strlen(err1) + strlen(err2) + strlen(err3) +
+ strlen(ctx->core.name) + 1;
+ perr = XtStackAlloc(len, error_buf);
+ if (perr != NULL) {
+ (void) sprintf(perr, "%s%s%s%s", err1, ctx->core.name, err2, err3);
+ XtAppWarning(XtWidgetToApplicationContext(new), perr);
+ XtStackFree(perr, error_buf);
+ }
ctx->text.scroll_vert = XawtextScrollNever;
}
else if (ctx->text.scroll_vert == XawtextScrollAlways)
@@ -534,18 +559,32 @@
if (ctx->text.scroll_horiz != XawtextScrollNever)
if (ctx->text.wrap != XawtextWrapNever) {
- (void) sprintf(error_buf, "Xaw Text Widget %s:\n %s %s.", ctx->core.name,
- "Horizontal scrolling not allowed with wrapping active.\n",
- "Horizontal scrolling has been DEACTIVATED.");
- XtAppWarning(XtWidgetToApplicationContext(new), error_buf);
+ char *err1 = "Xaw Text Widget ";
+ char *err2 = ":\nHorizontal scrolling not allowed with wrapping active.";
+ char *err3 = "\nHorizontal scrolling has been DEACTIVATED.";
+ len = strlen(err1) + strlen(err2) + strlen(err3) +
+ strlen(ctx->core.name) + 1;
+ perr = XtStackAlloc(len, error_buf);
+ if (perr != NULL) {
+ (void) sprintf(perr, "%s%s%s%s", err1, ctx->core.name, err2, err3);
+ XtAppWarning(XtWidgetToApplicationContext(new), perr);
+ XtStackFree(perr, error_buf);
+ }
ctx->text.scroll_horiz = XawtextScrollNever;
}
else if ( (ctx->text.resize == XawtextResizeWidth) ||
(ctx->text.resize == XawtextResizeBoth) ) {
- (void) sprintf(error_buf, "Xaw Text Widget %s:\n %s %s.", ctx->core.name,
- "Horizontal scrolling not allowed with width resize.\n",
- "Horizontal scrolling has been DEACTIVATED.");
- XtAppWarning(XtWidgetToApplicationContext(new), error_buf);
+ char *err1 = "Xaw Text Widget ";
+ char *err2 = ":\nHorizontal scrolling not allowed with width resize.\n";
+ char *err3 = "Horizontal scrolling has been DEACTIVATED.";
+ len = strlen(err1) + strlen(err2) + strlen(err3) +
+ strlen(ctx->core.name) + 1;
+ perr = XtStackAlloc(len, error_buf);
+ if (perr != NULL) {
+ (void) sprintf(perr, "%s%s%s%s", err1, ctx->core.name, err2, err3);
+ XtAppWarning(XtWidgetToApplicationContext(new), perr);
+ XtStackFree(perr, error_buf);
+ }
ctx->text.scroll_horiz = XawtextScrollNever;
}
else if (ctx->text.scroll_horiz == XawtextScrollAlways)
--- xaw3d-1.3.orig/lib/Xaw3d/TextPop.c
+++ xaw3d-1.3/lib/Xaw3d/TextPop.c
@@ -27,6 +27,8 @@
*/
+/* $XFree86: xc/lib/Xaw/TextPop.c,v 1.1.1.2.4.2 1998/05/18 14:08:43 dawes Exp $ */
+
/************************************************************
*
* This file is broken up into three sections one dealing with
@@ -64,6 +66,8 @@
#include <X11/Xos.h> /* for O_RDONLY */
#include <errno.h>
+#include "XawAlloc.h"
+
#ifdef X_NOT_STDC_ENV
extern int errno;
#endif
@@ -805,6 +809,8 @@
struct SearchAndReplace * search;
{
char msg[BUFSIZ];
+ char *pmsg;
+ int len;
Widget tw = XtParent(search->search_popup);
XawTextPosition pos;
XawTextScanDirection dir;
@@ -828,9 +834,20 @@
/* The Raw string in find.ptr may be WC I can't use here, so I re - call
GetString to get a tame version. */
- if (pos == XawTextSearchError)
- (void) sprintf( msg, "Could not find string ``%s''.", GetString( search->search_text ) );
- else {
+ if (pos == XawTextSearchError) {
+ char *msg1 = "Could not find string ``";
+ char *msg2 = "''.";
+ len = strlen(msg1) + strlen(msg2) +
+ strlen(GetString( search->search_text )) + 1;
+ pmsg = XtStackAlloc(len, msg);
+ if (pmsg != NULL) {
+ (void) sprintf( pmsg, "%s%s%s", msg1, GetString( search->search_text ),
+ msg2);
+ } else {
+ pmsg = msg;
+ (void) sprintf( pmsg, "Could not find string");
+ }
+ } else {
if (dir == XawsdRight)
XawTextSetInsertionPoint( tw, pos + text.length);
else
@@ -842,7 +859,8 @@
}
XawTextUnsetSelection(tw);
- SetSearchLabels(search, msg, "", TRUE);
+ SetSearchLabels(search, pmsg, "", TRUE);
+ XtStackFree(pmsg, msg);
return(FALSE);
}
@@ -969,13 +987,26 @@
if ( (new_pos == XawTextSearchError) ) {
if (count == 0) {
char msg[BUFSIZ];
+ char *pmsg;
+ int len;
+ char *msg1 = "*** Error: Could not find string ``";
+ char *msg2 = "''. ***";
/* The Raw string in find.ptr may be WC I can't use here,
so I call GetString to get a tame version.*/
- (void) sprintf( msg, "%s %s %s", "*** Error: Could not find string ``",
- GetString( search->search_text ), "''. ***");
- SetSearchLabels(search, msg, "", TRUE);
+ len = strlen(msg1) + strlen(msg2) +
+ strlen(GetString( search->search_text )) + 1;
+ pmsg = XtStackAlloc(len, msg);
+ if (pmsg != NULL) {
+ (void) sprintf( pmsg, "%s%s%s", msg1,
+ GetString( search->search_text ), msg2);
+ } else {
+ pmsg = msg;
+ (void) sprintf(pmsg, "*** Error: Could not find string ***");
+ }
+ SetSearchLabels(search, pmsg, "", TRUE);
+ XtStackFree(pmsg, msg);
return(FALSE);
}
else
@@ -998,9 +1029,22 @@
if (XawTextReplace(tw, pos, end_pos, &replace) != XawEditDone) {
char msg[BUFSIZ];
-
- (void) sprintf( msg, "'%s' with '%s'. ***", find.ptr, replace.ptr);
+ char *pmsg;
+ int len;
+ char *msg1 = "' with '";
+ char *msg2 = "'. ***";
+
+ len = 1 + strlen(msg1) + strlen(msg2) + strlen(find.ptr) +
+ strlen(replace.ptr) + 1;
+ pmsg = XtStackAlloc(len, msg);
+ if (pmsg != NULL) {
+ (void) sprintf( pmsg, "`%s%s%s%s", find.ptr, msg1, replace.ptr, msg2);
+ } else {
+ pmsg = msg;
+ (void) sprintf(pmsg, "string ***");
+ }
SetSearchLabels(search, "*** Error while replacing", msg, TRUE);
+ XtStackFree(pmsg, msg);
return(FALSE);
}
@@ -1151,13 +1195,20 @@
{
Widget temp_widget;
char buf[BUFSIZ];
+ char *pbuf;
+ int len;
- (void) sprintf(buf, "%s.%s", FORM_NAME, name);
+ len = strlen(FORM_NAME) + strlen(name) + 2;
+ pbuf = XtStackAlloc(len, buf);
+ if (pbuf == NULL) return FALSE;
+ (void) sprintf(pbuf, "%s.%s", FORM_NAME, name);
- if ( (temp_widget = XtNameToWidget(shell, buf)) != NULL) {
+ if ( (temp_widget = XtNameToWidget(shell, pbuf)) != NULL) {
SetResource(temp_widget, res_name, value);
+ XtStackFree(pbuf, buf);
return(TRUE);
}
+ XtStackFree(pbuf, buf);
return(FALSE);
}
--- xaw3d-1.3.orig/lib/Xaw3d/TextSrc.c
+++ xaw3d-1.3/lib/Xaw3d/TextSrc.c
@@ -26,6 +26,8 @@
*/
+/* $XFree86: xc/lib/Xaw/TextSrc.c,v 1.1.1.1.12.2 1998/05/16 09:05:22 dawes Exp $ */
+
/*
* Author: Chris Peterson, MIT X Consortium.
* Much code taken from X11R3 String and Disk Sources.
@@ -323,6 +325,10 @@
inited = TRUE;
}
+ if (strlen((char *)fromVal->addr) >= sizeof(lowerName)) {
+ XtStringConversionWarning((char *) fromVal->addr, XtREditMode);
+ return;
+ }
XmuCopyISOLatin1Lowered (lowerName, (char *)fromVal->addr);
q = XrmStringToQuark(lowerName);
@@ -330,7 +336,7 @@
else if (q == QAppend) editType = XawtextAppend;
else if (q == QEdit) editType = XawtextEdit;
else {
- done(NULL, 0);
+ XtStringConversionWarning((char *) fromVal->addr, XtREditMode);
return;
}
done(&editType, XawTextEditType);
--- xaw3d-1.3.orig/lib/Xaw3d/XawIm.c
+++ xaw3d-1.3/lib/Xaw3d/XawIm.c
@@ -224,22 +224,6 @@
return(ve->ic.input_style);
}
-static XIMStyle GetInputStyleOfIM( p )
- String p;
-{
- if (!p || !*p)
- return((XIMStyle)0);
- if (!strcmp(p, "OverTheSpot")) {
- return((XIMPreeditPosition | XIMStatusArea));
- } else if (!strcmp(p, "OffTheSpot")) {
- return((XIMPreeditArea | XIMStatusArea));
- } else if (!strcmp(p, "Root")) {
- return((XIMPreeditNothing | XIMStatusNothing));
- } else {
- return((XIMStyle)0);
- }
-}
-
static void ConfigureCB( w, closure, event )
Widget w;
XtPointer closure;
@@ -377,14 +361,6 @@
if (contextErrData) XtFree((char *)contextErrData);
}
XDeleteContext(XtDisplay(vw), (Window)vw, extContext);
- if (ve->im.im_list) {
- XtFree((char *)ve->im.im_list[0]);
- XtFree((char *)ve->im.im_list);
- }
- if (ve->ic.ic_list) {
- XtFree((char *)ve->ic.ic_list[0]);
- XtFree((char *)ve->ic.ic_list);
- }
if (ve->ic.shared_ic_table)
XtFree((char *)ve->ic.shared_ic_table);
if (ve->im.resources) XtFree((char *)ve->im.resources);
@@ -413,25 +389,51 @@
static void OpenIM(ve)
XawVendorShellExtPart * ve;
{
- char *p, modifiers[32];
+ int i;
+ char *p, *s, *ns, *end, *pbuf, buf[32];
XIM xim = NULL;
XIMStyles *xim_styles;
- XIMStyle input_style;
- int i, j;
+ XIMStyle input_style = 0;
+ Boolean found;
if (ve->im.open_im == False) return;
ve->im.xim = NULL;
- if (ve->im.im_list_num <= 0) {
+ if (ve->im.input_method == NULL) {
if ((p = XSetLocaleModifiers("@im=none")) != NULL && *p)
xim = XOpenIM(XtDisplay(ve->parent), NULL, NULL, NULL);
} else {
- for (i = 0; i < ve->im.im_list_num; i++) {
- strcpy(modifiers, "@im=");
- strcat(modifiers, ve->im.im_list[i]);
- if ((p = XSetLocaleModifiers(modifiers)) != NULL && *p &&
- (xim = XOpenIM(XtDisplay(ve->parent), NULL, NULL, NULL)) != NULL)
+ /* no fragment can be longer than the whole string */
+ int len = strlen (ve->im.input_method) + 5;
+
+ if (len < sizeof buf) pbuf = buf;
+ else pbuf = XtMalloc (len);
+
+ if (pbuf == NULL) return;
+
+ for(ns=s=ve->im.input_method; ns && *s;) {
+ /* skip any leading blanks */
+ while (*s && isspace(*s)) s++;
+ if (!*s) break;
+ if ((ns = end = strchr(s, ',')) == NULL)
+ end = s + strlen(s);
+ /* If there is a spurious comma end can be the same as s */
+ if (end > s) {
+ /* strip any trailing blanks */
+ while (isspace(*(end - 1))) end--;
+
+ strcpy (pbuf, "@im=");
+ strncat (pbuf, s, end - s);
+ pbuf[end - s + 4] = '\0';
+ }
+
+ if ((p = XSetLocaleModifiers(pbuf)) != NULL && *p
+ && (xim = XOpenIM(XtDisplay(ve->parent), NULL, NULL, NULL)) != NULL)
break;
+
+ s = ns + 1;
}
+
+ if (pbuf != buf) XtFree (pbuf);
}
if (xim == NULL) {
if ((p = XSetLocaleModifiers("")) != NULL) {
@@ -450,24 +452,42 @@
XCloseIM(xim);
return;
}
- for (j = 0; j < ve->ic.ic_list_num; j++) {
- input_style = GetInputStyleOfIM(ve->ic.ic_list[j]);
- if (input_style == (XIMStyle)0) continue;
- for (i = 0; (unsigned short)i < xim_styles->count_styles; i++) {
+ found = False;
+ for(ns = s = ve->im.preedit_type; s && !found;) {
+ while (*s && isspace(*s)) s++;
+ if (!*s) break;
+ if ((ns = end = strchr(s, ',')) == NULL)
+ end = s + strlen(s);
+ else
+ ns++;
+ if (end > s)
+ while (isspace(*(end - 1))) end--;
+
+ if (!strncmp(s, "OverTheSpot", end - s)) {
+ input_style = (XIMPreeditPosition | XIMStatusArea);
+ } else if (!strncmp(s, "OffTheSpot", end - s)) {
+ input_style = (XIMPreeditArea | XIMStatusArea);
+ } else if (!strncmp(s, "Root", end - s)) {
+ input_style = (XIMPreeditNothing | XIMStatusNothing);
+ }
+ for (i = 0; (unsigned short)i < xim_styles->count_styles; i++)
if (input_style == xim_styles->supported_styles[i]) {
ve->ic.input_style = input_style;
SetErrCnxt(ve->parent, xim);
-/* _XipSetIOErrorHandler(IOErrorHandler); */
ve->im.xim = xim;
- XFree(xim_styles);
- return;
+ found = True;
+ break;
}
- }
+
+ s = ns;
}
- XCloseIM(xim);
- XtAppWarning(XtWidgetToApplicationContext(ve->parent),
- "input method doesn't support my input style");
XFree(xim_styles);
+
+ if (!found) {
+ XCloseIM(xim);
+ XtAppWarning(XtWidgetToApplicationContext(ve->parent),
+ "input method doesn't support my input style");
+ }
}
static Boolean ResizeVendorShell_Core(vw, ve, p)
@@ -1313,48 +1333,6 @@
#undef xrmres
}
-
-static char** ParseIMNameList(p, num)
- char* p;
- int* num;
-{
- char *s, *save_s, *ss, *list[32], **lp, *end;
- int i = 0;
-
- *num = 0;
- if (!p || !*p) return ((char **)NULL);
- while (*p && isspace(*p)) p++;
- if (!*p) return ((char **)NULL);
- if ((s = XtMalloc(strlen(p) + 1)) == NULL) return((char **)NULL);
- strcpy(s, p);
- save_s = s;
-
- while(1) {
- list[i] = s;
- ss = index(s, ',');
- if (!ss) {
- end = s + strlen(s);
- } else {
- end = ss;
- }
- while (isspace(*end)) end--;
- *end = '\0';
- i++;
- if (!ss) break;
- s = ss + 1;
- while (*s && isspace(*s)) p++;
- if (!*s) break;
- }
- if ((lp = (char **)XtMalloc(sizeof(char *) * (i + 1))) == NULL) {
- XtFree(save_s);
- return((char **)NULL);
- }
- memcpy((char *)lp, (char *)list, sizeof(char *) * i);
- *(lp + i) = NULL;
- *num = i;
- return(lp);
-}
-
static Boolean Initialize( vw, ve )
VendorShellWidget vw;
XawVendorShellExtPart* ve;
@@ -1375,10 +1353,6 @@
return(FALSE);
ve->ic.current_ic_table = NULL;
ve->ic.ic_table = NULL;
- ve->im.im_list = ParseIMNameList(ve->im.input_method, &i);
- ve->im.im_list_num = i;
- ve->ic.ic_list = ParseIMNameList(ve->im.preedit_type, &i);
- ve->ic.ic_list_num = i;
return(TRUE);
}
@@ -1676,10 +1650,10 @@
if ((vw = SearchVendorShell(inwidg)) && (ve = GetExtPart(vw)) &&
ve->im.xim && (p = GetIcTableShared(inwidg, ve)) && p->xic) {
- return(XwcLookupString(p->xic, event, buffer_return, bytes_buffer,
+ return(XwcLookupString(p->xic, event, buffer_return, bytes_buffer/sizeof(wchar_t),
keysym_return, status_return));
}
- ret = XLookupString( event, tmp_buf, 64, keysym_return,
+ ret = XLookupString( event, tmp_buf, sizeof(tmp_buf), keysym_return,
(XComposeStatus*) status_return );
for ( i = 0, tmp_p = tmp_buf, buf_p = buffer_return; i < ret; i++ ) {
*buf_p++ = _Xaw_atowc(*tmp_p++);
--- xaw3d-1.3.orig/lib/Xaw3d/XawImP.h
+++ xaw3d-1.3/lib/Xaw3d/XawImP.h
@@ -85,8 +85,6 @@
Dimension area_height;
String input_method;
String preedit_type;
- String *im_list;
- Cardinal im_list_num;
} XawImPart;
typedef struct _XawIcTablePart
@@ -109,8 +107,6 @@
typedef struct _XawIcPart
{
- String *ic_list;
- Cardinal ic_list_num;
XIMStyle input_style;
Boolean shared_ic;
XawIcTableList shared_ic_table;
--- xaw3d-1.3.orig/lib/Xaw3d/XawAlloc.h
+++ xaw3d-1.3/lib/Xaw3d/XawAlloc.h
@@ -0,0 +1,10 @@
+/* $XFree86: xc/lib/Xaw/XawAlloc.h,v 1.1.2.1 1998/05/16 09:05:23 dawes Exp $ */
+
+#define XtStackAlloc(size, stack_cache_array) \
+ ((size) <= sizeof(stack_cache_array) \
+ ? (XtPointer)(stack_cache_array) \
+ : XtMalloc((unsigned)(size)))
+
+#define XtStackFree(pointer, stack_cache_array) \
+ if ((pointer) != ((XtPointer)(stack_cache_array))) XtFree(pointer); else
+
--- xaw3d-1.3.orig/lib/Xaw3d/laygram.h
+++ xaw3d-1.3/lib/Xaw3d/laygram.h
@@ -0,0 +1,36 @@
+typedef union {
+ int ival;
+ XrmQuark qval;
+ BoxPtr bval;
+ BoxParamsPtr pval;
+ GlueRec gval;
+ LayoutDirection lval;
+ ExprPtr eval;
+ Operator oval;
+} YYSTYPE;
+#define OC 258
+#define CC 259
+#define OA 260
+#define CA 261
+#define OP 262
+#define CP 263
+#define NAME 264
+#define NUMBER 265
+#define INFINITY 266
+#define VERTICAL 267
+#define HORIZONTAL 268
+#define EQUAL 269
+#define DOLLAR 270
+#define PLUS 271
+#define MINUS 272
+#define TIMES 273
+#define DIVIDE 274
+#define PERCENTOF 275
+#define PERCENT 276
+#define WIDTH 277
+#define HEIGHT 278
+#define UMINUS 279
+#define UPLUS 280
+
+
+extern YYSTYPE LayYYlval;

21
Xaw3d-1.3-glibc.patch Normal file
View File

@ -0,0 +1,21 @@
--- Xaw3d-1.3/xc/lib/Xaw3d/XawI18n.h.orig Tue Aug 29 07:00:21 1995
+++ Xaw3d-1.3/xc/lib/Xaw3d/XawI18n.h Tue Nov 19 02:22:09 1996
@@ -27,12 +27,18 @@
********************************************************/
+#if 0
#ifdef HAS_WCTYPE_H
#include <wctype.h>
+#if !defined(__linux__)
#include <widec.h>
+#endif
+#endif
#define wcslen(c) wslen(c)
#define wcscpy(d,s) wscpy(d,s)
#define wcsncpy(d,s,l) wsncpy(d,s,l)
+#if 0
+#endif
#endif
#ifdef HAS_WCHAR_H

32
Xaw3d-ia64.patch Normal file
View File

@ -0,0 +1,32 @@
--- Xaw3d-1.5/xc/lib/Xaw3d/List.c~ Tue Oct 15 16:41:20 1996
+++ Xaw3d-1.5/xc/lib/Xaw3d/List.c Mon Jul 24 16:55:29 2000
@@ -37,6 +37,7 @@
*/
#include <stdio.h>
+#include <stdlib.h>
#include <ctype.h>
#include <X11/IntrinsicP.h>
--- Xaw3d-1.5/xc/lib/Xaw3d/MultiSink.c~ Tue Oct 15 16:41:20 1996
+++ Xaw3d-1.5/xc/lib/Xaw3d/MultiSink.c Mon Jul 24 16:58:09 2000
@@ -81,6 +81,7 @@
#include <X11/Xaw3d/TextP.h>
#include "XawI18n.h"
#include <stdio.h>
+#include <stdlib.h>
#include <ctype.h>
#ifdef GETLASTPOS
--- Xaw3d-1.5/xc/lib/Xaw3d/Text.c~ Thu May 14 21:03:24 1998
+++ Xaw3d-1.5/xc/lib/Xaw3d/Text.c Mon Jul 24 17:00:54 2000
@@ -71,6 +71,7 @@
#include <X11/Xfuncs.h>
#include <ctype.h> /* for isprint() */
+#include <stdlib.h> /* for abs() */
#ifndef MAX_LEN_CT
#define MAX_LEN_CT 6 /* for sequence: ESC $ ( A \xx \xx */

202
Xaw3d.spec Normal file
View File

@ -0,0 +1,202 @@
Summary: A version of the MIT Athena widget set for X.
Name: Xaw3d
Version: 1.5
Release: 7
Group: System Environment/Libraries
Source: ftp://ftp.x.org/contrib/widgets/Xaw3d/R6.3/Xaw3d-%{version}.tar.gz
Source1: ftp://ftp.x.org/contrib/widgets/Xaw3d/R6/Xaw3d-1.3.tar.gz
Source2: Imakefile
Url: ftp://ftp.x.org/contrib/widgets/Xaw3d/
Patch: Xaw3d-1.1-shlib.patch
Patch1: Xaw3d-1.3-glibc.patch
Patch2: Xaw3d-1.3-X11R6.3.patch
Patch3: xaw3d.patch
Patch4: Xaw3d-1.3-static.patch
Patch5: Xaw3d-ia64.patch
Copyright: MIT
Prefix: /usr
Prereq: fileutils
BuildRoot: %{_tmppath}/%{name}-root
%description
Xaw3d is an enhanced version of the MIT Athena Widget set for
the X Window System. Xaw3d adds a three-dimensional look to applications
with minimal or no source code changes.
You should install Xaw3d if you are using applications which incorporate
the MIT Athena widget set and you'd like to incorporate a 3D look into
those applications.
%package devel
Summary: Header files and static libraries for development using Xaw3d.
Group: Development/Libraries
Requires: Xaw3d
%description devel
Xaw3d is an enhanced version of the MIT Athena widget set for
the X Window System. Xaw3d adds a three-dimensional look to those
applications with minimal or no source code changes. Xaw3d-devel includes
the header files and static libraries for developing programs that take
full advantage of Xaw3d's features.
You should install Xaw3d-devel if you are going to develop applications
using the Xaw3d widget set. You'll also need to install the Xaw3d
package.
%prep
%setup -q -c
%ifnarch ia64
mkdir old
cd old
tar xzf %{SOURCE1}
cd ..
mv old/xc/lib/Xaw3d xc/lib/Xaw3d6
rm -rf old
%endif
cd xc/lib/Xaw3d
%patch -p0
ln -s .. X11
%patch1 -p4
%patch3 -p4
%patch4 -p0
%patch5 -p4
%ifnarch ia64
cd ../Xaw3d6
%patch -p0
ln -s .. X11
%patch1 -p4
%patch2 -p3
%patch3 -p4
%patch4 -p0
%endif
%build
cp %{SOURCE2} xc/lib/Xaw3d6
cd xc/lib/Xaw3d
export PATH=/usr/X11R6/bin:$PATH
xmkmf
%ifarch alpha
# alpha was giving internal compiler errors...
make CDEBUGFLAGS=""
%else
make
%endif
%ifnarch ia64
# compat libs
cd ../Xaw3d6
xmkmf
make
%endif
%install
rm -rf $RPM_BUILD_ROOT
cd xc/lib/Xaw3d
make install DESTDIR=$RPM_BUILD_ROOT
%ifnarch ia64
cd ../Xaw3d6
cp -aR libXaw*so.* $RPM_BUILD_ROOT/usr/X11R6/lib
%endif
ln -s X11/Xaw3d $RPM_BUILD_ROOT/usr/X11R6/include
%clean
rm -rf $RPM_BUILD_ROOT
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%post devel
if [ ! -d /usr/X11R6/include/Xaw3d ] ; then
rm -f /usr/X11R6/include/Xaw3d
ln -sf X11/Xaw3d /usr/X11R6/include
fi
%triggerpostun -- Xaw3d-devel < 1.5-5
[ -d /usr/X11R6/include/Xaw3d ] && rm -rf /usr/X11R6/include/Xaw3d
ln -sf X11/Xaw3d /usr/X11R6/include
%files
%defattr(-,root,root)
/usr/X11R6/lib/*.so.*
%files devel
%defattr(-,root,root)
/usr/X11R6/lib/*.a
/usr/X11R6/lib/*.so
/usr/X11R6/include/X11/Xaw3d
%ghost /usr/X11R6/include/Xaw3d
%changelog
* Mon Jul 24 2000 Bill Nottingham <notting@redhat.com>
- ia64 tweaks
* Wed Jul 12 2000 Prospector <bugzilla@redhat.com>
- automatic rebuild
* Mon Jul 10 2000 Bernhard Rosenkraenzer <bero@redhat.de>
- Restore Xaw3d 1.5 - the addition of the backward compatibility library
killed the current one.
- get rid of the CDEBUGFLAGS="" hack, the current gcc fixes it
* Mon Jul 03 2000 Than Ngo <than@redhat.de>
- fix Imakefile to static Xawd3d
* Sat Jun 17 2000 Than Ngo <than@redhat.de>
- add backward compatibility libXaw3d.so.6 (Bug# 12261)
* Mon May 15 2000 Bill Nottingham <notting@redhat.com>
- fix unaligned traps on ia64
* Mon May 8 2000 Bernhard Rosenkraenzer <bero@redhat.com>
- 1.5
* Sun Mar 21 1999 Cristian Gafton <gafton@redhat.com>
- auto rebuild in the new build environment (release 21)
* Wed Feb 24 1999 Preston Brown <pbrown@redhat.com>
- Injected new description and group.
* Fri Dec 18 1998 Preston Brown <pbrown@redhat.com>
- bumped spec number for initial rh 6.0 build
* Fri Nov 06 1998 Preston Brown <pbrown@redhat.com>
- added security/update patch from debian (the X11R6.3 patch). Thanks guys. :)
* Wed Oct 14 1998 Cristian Gafton <gafton@redhat.com>
- handle the symlink with triggers instead of getting rid of it
* Mon Oct 5 1998 Jeff Johnson <jbj@redhat.com>
- remove backward compatible symlink.
* Wed May 06 1998 Cristian Gafton <gafton@redhat.com>
- fixed the bad symlink
- BuildRoot
* Mon Apr 27 1998 Prospector System <bugs@redhat.com>
- translations modified for de, fr, tr
* Tue Nov 04 1997 Erik Troan <ewt@redhat.com>
- don't lave an improper return code from %pre
* Mon Nov 03 1997 Cristian Gafton <gafton@redhat.com>
- take care of the old location of the Xaw3d includes in case that one exist
- updated Prereq: field
* Mon Oct 26 1997 Cristian Gafton <gafton@redhat.com
- fixed the -devel package for the right include files path
* Mon Oct 13 1997 Donnie Barnes <djb@redhat.com>
- minor spec file cleanups
* Wed Oct 01 1997 Erik Troan <ewt@redhat.com>
- i18n widec.h patch needs to be applied on all systems
* Sun Sep 14 1997 Erik Troan <ewt@redhat.com>
- changed axp check to alpha
* Mon Jun 16 1997 Erik Troan <ewt@redhat.com>
- built against glibc

View File

@ -0,0 +1,2 @@
9eaac2b8cae978f3a740ebb6933b898e Xaw3d-1.3.tar.gz
a77aa4ebe3be7964e4dbbc351e48277f Xaw3d-1.5.tar.gz

30
xaw3d.patch Normal file
View File

@ -0,0 +1,30 @@
--- Xaw3d-1.5/xc/lib/Xaw3d/Scrollbar.c Tue Oct 15 07:41:21 1996
+++ Xaw3d-1.5.ia64/xc/lib/Xaw3d/Scrollbar.c Tue May 9 07:02:52 2000
@@ -1178,7 +1178,11 @@
Cardinal *num_params; /* unused */
{
register ScrollbarWidget sbw = (ScrollbarWidget) w;
- float top = sbw->scrollbar.top;
+ union {
+ XtPointer pt;
+ float top;
+ } foo;
+ foo.top = sbw->scrollbar.top;
#ifndef ARROW_SCROLLBAR
if (sbw->scrollbar.direction == 0) return; /* if no StartScroll */
@@ -1204,10 +1208,10 @@
there is no problem since in this case there is always a constant
integer number of pixels the thumb must be moved in order to scroll
to the next line/column. */
- top += 0.0001;
+ foo.top += 0.0001;
#endif
- XtCallCallbacks (w, XtNthumbProc, *(XtPointer*)&top);
- XtCallCallbacks (w, XtNjumpProc, (XtPointer)&top);
+ XtCallCallbacks (w, XtNthumbProc, foo.pt);
+ XtCallCallbacks (w, XtNjumpProc, (XtPointer)&sbw->scrollbar.top);
}