Index: configure.in =================================================================== RCS file: /cvs/gnome/gtk+/configure.in,v retrieving revision 1.469.2.22 diff -u -r1.469.2.22 configure.in --- gtk/configure.in 16 Mar 2006 16:39:45 -0000 1.469.2.22 +++ gtk/configure.in 20 Mar 2006 12:07:11 -0000 @@ -1115,6 +1115,8 @@ AC_CHECK_FUNCS(XConvertCase XInternAtoms) + AC_CHECK_FUNCS(XmbDrawString) + # Generic X11R6 check needed for XIM support; we could # probably use this to replace the above, but we'll # leave the separate checks for XConvertCase and XInternAtoms Index: gdk/x11/gdkdrawable-x11.c =================================================================== RCS file: /cvs/gnome/gtk+/gdk/x11/gdkdrawable-x11.c,v retrieving revision 1.58 diff -u -r1.58 gdkdrawable-x11.c --- gtk/gdk/x11/gdkdrawable-x11.c 15 Aug 2005 19:04:54 -0000 1.58 +++ gtk/gdk/x11/gdkdrawable-x11.c 20 Mar 2006 12:07:12 -0000 @@ -579,12 +579,14 @@ GDK_GC_GET_XGC (gc), x, y, (XChar2b *) text, text_length / 2); } } +#ifdef HAVE_XMBDRAWSTRING else if (font->type == GDK_FONT_FONTSET) { XFontSet fontset = (XFontSet) GDK_FONT_XFONT (font); XmbDrawString (xdisplay, impl->xid, fontset, GDK_GC_GET_XGC (gc), x, y, text, text_length); } +#endif else g_error("undefined font type\n"); } @@ -616,6 +618,7 @@ GDK_GC_GET_XGC (gc), x, y, text_8bit, text_length); g_free (text_8bit); } +#ifdef HAVE_XMBDRAWSTRING else if (font->type == GDK_FONT_FONTSET) { if (sizeof(GdkWChar) == sizeof(wchar_t)) @@ -636,6 +639,7 @@ g_free (text_wchar); } } +#endif else g_error("undefined font type\n"); } Index: gdk/x11/gdkfont-x11.c =================================================================== RCS file: /cvs/gnome/gtk+/gdk/x11/gdkfont-x11.c,v retrieving revision 1.48.2.1 diff -u -r1.48.2.1 gdkfont-x11.c --- gtk/gdk/x11/gdkfont-x11.c 20 Jan 2006 04:39:43 -0000 1.48.2.1 +++ gtk/gdk/x11/gdkfont-x11.c 20 Mar 2006 12:07:12 -0000 @@ -527,10 +527,12 @@ width = XTextWidth16 (xfont, (XChar2b *) text, text_length / 2); } break; +#ifdef HAVE_XMBDRAWSTRING case GDK_FONT_FONTSET: fontset = (XFontSet) private->xfont; width = XmbTextEscapement (fontset, text, text_length); break; +#endif default: width = 0; } @@ -580,6 +582,7 @@ width = 0; } break; +#ifdef HAVE_XMBDRAWSTRING case GDK_FONT_FONTSET: if (sizeof(GdkWChar) == sizeof(wchar_t)) { @@ -597,6 +600,7 @@ g_free (text_wchar); } break; +#endif default: width = 0; } @@ -669,6 +673,7 @@ if (descent) *descent = overall.descent; break; +#ifdef HAVE_XMBDRAWSTRING case GDK_FONT_FONTSET: fontset = (XFontSet) private->xfont; XmbTextExtents (fontset, text, text_length, &ink, &logical); @@ -683,6 +688,7 @@ if (descent) *descent = ink.y + ink.height; break; +#endif } } @@ -755,6 +761,7 @@ *descent = overall.descent; break; } +#ifdef HAVE_XMBDRAWSTRING case GDK_FONT_FONTSET: fontset = (XFontSet) private->xfont; @@ -782,6 +789,7 @@ if (descent) *descent = ink.y + ink.height; break; +#endif } } Index: gdk/x11/gdkim-x11.c =================================================================== RCS file: /cvs/gnome/gtk+/gdk/x11/gdkim-x11.c,v retrieving revision 1.38 diff -u -r1.38 gdkim-x11.c --- gtk/gdk/x11/gdkim-x11.c 16 Mar 2005 03:17:27 -0000 1.38 +++ gtk/gdk/x11/gdkim-x11.c 20 Mar 2006 12:07:12 -0000 @@ -48,6 +48,7 @@ void _gdk_x11_initialize_locale (void) { +#ifdef HAVE_XMBDRAWSTRING wchar_t result; gchar *current_locale; static char *last_locale = NULL; @@ -93,7 +94,8 @@ GDK_NOTE (XIM, g_message ("%s multi-byte string functions.", gdk_use_mb ? "Using" : "Not using")); - +#endif + return; } @@ -136,6 +138,7 @@ { gchar *mbstr; +#ifdef HAVE_XMBDRAWSTRING if (gdk_use_mb) { GdkDisplay *display = find_a_display (); @@ -178,6 +181,7 @@ XFree (tpr.value); } else +#endif { gint length = 0; gint i; @@ -210,6 +214,7 @@ gint gdk_mbstowcs (GdkWChar *dest, const gchar *src, gint dest_max) { +#ifdef HAVE_XMBDRAWSTRING if (gdk_use_mb) { GdkDisplay *display = find_a_display (); @@ -242,6 +247,7 @@ return len_cpy; } else +#endif { gint i;