Index: lib/Xaw/AsciiSink.c =================================================================== RCS file: /work/eich/freedesktop/cvs/xorg/xc/lib/Xaw/AsciiSink.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- lib/Xaw/AsciiSink.c 23 Apr 2004 18:43:37 -0000 1.2 +++ lib/Xaw/AsciiSink.c 21 Sep 2004 17:57:35 -0000 1.3 @@ -1706,6 +1706,8 @@ GetGC(sink); + if (!sink->ascii_sink.font) XtError("Aborting: no font found\n"); + sink->ascii_sink.cursor_position = 0; sink->ascii_sink.laststate = XawisOff; sink->ascii_sink.cursor_x = sink->ascii_sink.cursor_y = 0; Index: lib/Xaw/Label.c =================================================================== RCS file: /work/eich/freedesktop/cvs/xorg/xc/lib/Xaw/Label.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- lib/Xaw/Label.c 23 Apr 2004 18:43:37 -0000 1.2 +++ lib/Xaw/Label.c 21 Sep 2004 17:57:36 -0000 1.3 @@ -527,6 +527,8 @@ LabelWidget lw = (LabelWidget)cnew; if (!lw->label.font) XtError("Aborting: no font found\n"); + if (lw->simple.international && !lw->label.fontset) + XtError("Aborting: no fontset found\n"); if (lw->label.label == NULL) lw->label.label = XtNewString(lw->core.name); @@ -722,8 +724,8 @@ if (curlw->label.encoding != newlw->label.encoding) was_resized = True; - if (curlw->label.fontset != newlw->label.fontset && - curlw->simple.international) + if (curlw->simple.international + && curlw->label.fontset != newlw->label.fontset) was_resized = True; if (curlw->label.label != newlw->label.label) { Index: lib/Xaw/List.c =================================================================== RCS file: /work/eich/freedesktop/cvs/xorg/xc/lib/Xaw/List.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- lib/Xaw/List.c 23 Apr 2004 18:43:37 -0000 1.2 +++ lib/Xaw/List.c 21 Sep 2004 17:57:36 -0000 1.3 @@ -471,6 +471,10 @@ { ListWidget lw = (ListWidget)cnew; + if (!lw->list.font) XtError("Aborting: no font found\n"); + if (lw->simple.international && !lw->list.fontset) + XtError("Aborting: no fontset found\n"); + /* * Initialize all private resources */ Index: lib/Xaw/MultiSink.c =================================================================== RCS file: /work/eich/freedesktop/cvs/xorg/xc/lib/Xaw/MultiSink.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- lib/Xaw/MultiSink.c 23 Apr 2004 18:43:37 -0000 1.2 +++ lib/Xaw/MultiSink.c 21 Sep 2004 17:57:36 -0000 1.3 @@ -718,6 +718,8 @@ GetGC(sink); + if (!sink->multi_sink.fontset) XtError("Aborting: no fontset found\n"); + sink->multi_sink.cursor_position = 0; sink->multi_sink.laststate = XawisOff; sink->multi_sink.cursor_x = sink->multi_sink.cursor_y = 0; Index: lib/Xaw/SmeBSB.c =================================================================== RCS file: /work/eich/freedesktop/cvs/xorg/xc/lib/Xaw/SmeBSB.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- lib/Xaw/SmeBSB.c 23 Apr 2004 18:43:37 -0000 1.2 +++ lib/Xaw/SmeBSB.c 21 Sep 2004 17:57:36 -0000 1.3 @@ -266,6 +266,8 @@ { SmeBSBObject entry = (SmeBSBObject)cnew; + if (!entry->sme_bsb.font) XtError("Aborting: no font found\n"); + if (entry->sme_bsb.label == NULL) entry->sme_bsb.label = XtName(cnew); else Index: lib/Xaw/Tip.c =================================================================== RCS file: /work/eich/freedesktop/cvs/xorg/xc/lib/Xaw/Tip.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- lib/Xaw/Tip.c 23 Apr 2004 18:43:38 -0000 1.2 +++ lib/Xaw/Tip.c 21 Sep 2004 17:57:36 -0000 1.3 @@ -243,6 +243,10 @@ TipWidget tip = (TipWidget)w; XGCValues values; + if (!tip->tip.font) XtError("Aborting: no font found\n"); + if (tip->tip.international && !tip->tip.fontset) + XtError("Aborting: no fontset found\n"); + tip->tip.timer = 0; values.foreground = tip->tip.foreground; Index: lib/Xaw/XawIm.c =================================================================== RCS file: /work/eich/freedesktop/cvs/xorg/xc/lib/Xaw/XawIm.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- lib/Xaw/XawIm.c 23 Apr 2004 18:43:38 -0000 1.2 +++ lib/Xaw/XawIm.c 21 Sep 2004 17:57:36 -0000 1.3 @@ -808,8 +808,10 @@ pe_a[pe_cnt] = (XPointer) p->font_set; pe_cnt++; st_a[st_cnt] = (XPointer) XNFontSet; st_cnt++; st_a[st_cnt] = (XPointer) p->font_set; st_cnt++; - height = maxAscentOfFontSet(p->font_set) - + maxDescentOfFontSet(p->font_set); + if (p->font_set) { + height = maxAscentOfFontSet(p->font_set) + + maxDescentOfFontSet(p->font_set); + } height = SetVendorShellHeight(ve, height); } if (p->flg & CIFg) { @@ -938,7 +940,7 @@ XPointer ic_a[20], pe_a[20], st_a[20]; int ic_cnt = 0, pe_cnt = 0, st_cnt = 0; XawTextMargin *margin; - int height; + int height = 0; if ((ve->im.xim == NULL) || ((p = GetIcTableShared(w, ve)) == NULL) || (p->xic == NULL)) return; @@ -965,8 +967,10 @@ pe_a[pe_cnt] = (XPointer) p->font_set; pe_cnt++; st_a[st_cnt] = (XPointer) XNFontSet; st_cnt++; st_a[st_cnt] = (XPointer) p->font_set; st_cnt++; - height = maxAscentOfFontSet(p->font_set) - + maxDescentOfFontSet(p->font_set); + if (p->font_set) { + height = maxAscentOfFontSet(p->font_set) + + maxDescentOfFontSet(p->font_set); + } height = SetVendorShellHeight(ve, height); } if (p->flg & CIFg) {