571 lines
11 KiB
Diff
571 lines
11 KiB
Diff
Upstream-Status: Pending
|
|
|
|
---
|
|
configure.ac | 9 -
|
|
src/Makefile.am | 5
|
|
src/X18NCMSstubs.c | 428 +++++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
src/imConv.c | 4
|
|
src/locking.c | 4
|
|
5 files changed, 448 insertions(+), 2 deletions(-)
|
|
|
|
--- git.orig/configure.ac
|
|
+++ git/configure.ac
|
|
@@ -263,11 +263,18 @@ if test -f "$KEYSYMDEF"; then
|
|
else
|
|
AC_MSG_ERROR([Cannot find keysymdef.h])
|
|
fi
|
|
AC_SUBST(KEYSYMDEF)
|
|
|
|
-AM_CONDITIONAL(UDC, test xfalse = xtrue)
|
|
+AC_ARG_ENABLE(udc,
|
|
+ AC_HELP_STRING([--disable-udc],
|
|
+ [Disable Xlib support for UDC *EXPERIMENTAL*]),
|
|
+ [UDC=$enableval],[UDC=yes])
|
|
+AM_CONDITIONAL(UDC, [test x$UDC = xyes ])
|
|
+if test x"$UDC" = "xyes"; then
|
|
+ AC_DEFINE(UDC,1,[Include support for UDC])
|
|
+fi
|
|
|
|
AC_ARG_ENABLE(xcms,
|
|
AC_HELP_STRING([--disable-xcms],
|
|
[Disable Xlib support for CMS *EXPERIMENTAL*]),
|
|
[XCMS=$enableval],[XCMS=yes])
|
|
--- git.orig/src/Makefile.am
|
|
+++ git/src/Makefile.am
|
|
@@ -329,18 +329,21 @@ endif
|
|
|
|
if THRSTUBS
|
|
libX11_la_SOURCES+=UIThrStubs.c
|
|
endif
|
|
|
|
+libX11_la_SOURCES+=X18NCMSstubs.c
|
|
+
|
|
x11datadir = @X11_DATADIR@
|
|
x11data_DATA = XKeysymDB XErrorDB
|
|
|
|
EXTRA_DIST = \
|
|
$(x11data_DATA) \
|
|
os2Stubs.c \
|
|
udcInf.c \
|
|
- UIThrStubs.c
|
|
+ UIThrStubs.c \
|
|
+ X18NCMSstubs.c
|
|
|
|
if XCB
|
|
libX11_la_SOURCES += \
|
|
xcb_lock.c \
|
|
xcb_disp.c \
|
|
--- /dev/null
|
|
+++ git/src/X18NCMSstubs.c
|
|
@@ -0,0 +1,428 @@
|
|
+/*
|
|
+ * X18NCMSstubs.c
|
|
+ * - Provides stubs and dummy funcs needed when Xcms and XLocale stuff removed
|
|
+ *
|
|
+ * Copyright © 2003 Matthew Allum
|
|
+ *
|
|
+ * Permission to use, copy, modify, distribute, and sell this software and its
|
|
+ * documentation for any purpose is hereby granted without fee, provided that
|
|
+ * the above copyright notice appear in all copies and that both that
|
|
+ * copyright notice and this permission notice appear in supporting
|
|
+ * documentation, and that the name of Matthew Allum not be used in
|
|
+ * advertising or publicity pertaining to distribution of the software without
|
|
+ * specific, written prior permission. Keith Packard and Compaq makes no
|
|
+ * representations about the suitability of this software for any purpose. It
|
|
+ * is provided "as is" without express or implied warranty.
|
|
+ *
|
|
+ * MATTHEW ALLUM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
|
|
+ * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS,
|
|
+ * IN NO EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
|
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
|
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
|
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
+ * PERFORMANCE OF THIS SOFTWARE.
|
|
+ */
|
|
+
|
|
+#include <stdlib.h>
|
|
+#include "Xlibint.h"
|
|
+#include "Xlcint.h"
|
|
+#include <X11/Xlocale.h>
|
|
+#include <X11/Xos.h>
|
|
+#ifdef WIN32
|
|
+#undef close
|
|
+#endif
|
|
+#include <X11/Xutil.h>
|
|
+#include "XlcPubI.h"
|
|
+
|
|
+#include "Xcmsint.h" /* for XcmsCCC type */
|
|
+#include "XlcPubI.h" /* for XLCd type */
|
|
+#include "config.h"
|
|
+
|
|
+#if ! XLOCALE
|
|
+
|
|
+Bool
|
|
+XSupportsLocale()
|
|
+{
|
|
+ return False;
|
|
+}
|
|
+
|
|
+char *
|
|
+XSetLocaleModifiers(
|
|
+ const char *modifiers)
|
|
+{
|
|
+ return NULL;
|
|
+}
|
|
+
|
|
+XLCd
|
|
+_XOpenLC(
|
|
+ char *name)
|
|
+{
|
|
+ return NULL;
|
|
+}
|
|
+
|
|
+XLCd
|
|
+_XlcCurrentLC()
|
|
+{
|
|
+ return NULL;
|
|
+}
|
|
+
|
|
+void
|
|
+_XlcVaToArgList(
|
|
+ va_list var,
|
|
+ int count,
|
|
+ XlcArgList *args_ret)
|
|
+{
|
|
+ return;
|
|
+}
|
|
+
|
|
+void
|
|
+_XlcCountVaList(
|
|
+ va_list var,
|
|
+ int *count_ret)
|
|
+{
|
|
+ return;
|
|
+}
|
|
+
|
|
+void
|
|
+_XCloseLC(
|
|
+ XLCd lcd)
|
|
+{
|
|
+ return;
|
|
+}
|
|
+
|
|
+int
|
|
+_XlcConvert(
|
|
+ XlcConv conv,
|
|
+ XPointer *from,
|
|
+ int *from_left,
|
|
+ XPointer *to,
|
|
+ int *to_left,
|
|
+ XPointer *args,
|
|
+ int num_args)
|
|
+{
|
|
+ return 0;
|
|
+}
|
|
+
|
|
+/* XIM Stubs */
|
|
+
|
|
+XPointer
|
|
+_XimGetLocaleCode ( _Xconst char* encoding_name )
|
|
+{
|
|
+ return NULL;
|
|
+}
|
|
+
|
|
+int
|
|
+_XimGetCharCode (
|
|
+ XPointer ucs_conv,
|
|
+ KeySym keysym,
|
|
+ unsigned char* buf,
|
|
+ int nbytes)
|
|
+{
|
|
+ return 0;
|
|
+}
|
|
+
|
|
+/* Xrm Stubs */
|
|
+
|
|
+XrmMethods
|
|
+_XrmInitParseInfo(
|
|
+ XPointer *state)
|
|
+{
|
|
+ return (XrmMethods) NULL;
|
|
+}
|
|
+
|
|
+/* Xwc Stubs */
|
|
+
|
|
+int
|
|
+XwcTextExtents(
|
|
+ XFontSet font_set,
|
|
+ _Xconst wchar_t *text,
|
|
+ int text_len,
|
|
+ XRectangle *overall_ink_extents,
|
|
+ XRectangle *overall_logical_extents)
|
|
+{
|
|
+ return 0;
|
|
+}
|
|
+
|
|
+void
|
|
+XwcDrawString(Display *display,
|
|
+ Drawable d,
|
|
+ XFontSet font_set,
|
|
+ GC gc,
|
|
+ int x, int y,
|
|
+ _Xconst wchar_t *string,
|
|
+ int num_wchars)
|
|
+{
|
|
+ ;
|
|
+}
|
|
+
|
|
+void
|
|
+XwcDrawText(
|
|
+ Display *dpy,
|
|
+ Drawable d,
|
|
+ GC gc,
|
|
+ int x,
|
|
+ int y,
|
|
+ XwcTextItem *text_items,
|
|
+ int nitems)
|
|
+{
|
|
+ ;
|
|
+}
|
|
+
|
|
+void
|
|
+XwcDrawImageString(
|
|
+ Display *dpy,
|
|
+ Drawable d,
|
|
+ XFontSet font_set,
|
|
+ GC gc,
|
|
+ int x,
|
|
+ int y,
|
|
+ _Xconst wchar_t *text,
|
|
+ int text_len)
|
|
+{
|
|
+ ;
|
|
+}
|
|
+
|
|
+int
|
|
+XwcTextEscapement(
|
|
+ XFontSet font_set,
|
|
+ _Xconst wchar_t *text,
|
|
+ int text_len)
|
|
+{
|
|
+ return 0;
|
|
+}
|
|
+
|
|
+Status
|
|
+XwcTextPerCharExtents(
|
|
+ XFontSet font_set,
|
|
+ _Xconst wchar_t *text,
|
|
+ int text_len,
|
|
+ XRectangle *ink_extents_buffer,
|
|
+ XRectangle *logical_extents_buffer,
|
|
+ int buffer_size,
|
|
+ int *num_chars,
|
|
+ XRectangle *max_ink_extents,
|
|
+ XRectangle *max_logical_extents)
|
|
+{
|
|
+ ;
|
|
+}
|
|
+
|
|
+int
|
|
+XwcTextPropertyToTextList(
|
|
+ Display *dpy,
|
|
+ const XTextProperty *text_prop,
|
|
+ wchar_t ***list_ret,
|
|
+ int *count_ret)
|
|
+{
|
|
+ return 0;
|
|
+}
|
|
+
|
|
+int
|
|
+XwcTextListToTextProperty(
|
|
+ Display *dpy,
|
|
+ wchar_t **list,
|
|
+ int count,
|
|
+ XICCEncodingStyle style,
|
|
+ XTextProperty *text_prop)
|
|
+{
|
|
+ return 0;
|
|
+}
|
|
+
|
|
+void
|
|
+XwcFreeStringList(wchar_t **list)
|
|
+{
|
|
+ return;
|
|
+}
|
|
+
|
|
+
|
|
+void XmbSetWMProperties ( /* Actually from mbWMProps.c */
|
|
+ Display *dpy,
|
|
+ Window w,
|
|
+ _Xconst char *windowName,
|
|
+ _Xconst char *iconName,
|
|
+ char **argv,
|
|
+ int argc,
|
|
+ XSizeHints *sizeHints,
|
|
+ XWMHints *wmHints,
|
|
+ XClassHint *classHints)
|
|
+{
|
|
+ return;
|
|
+}
|
|
+
|
|
+int
|
|
+XmbTextPropertyToTextList(
|
|
+ Display *dpy,
|
|
+ const XTextProperty *text_prop,
|
|
+ char ***list_ret,
|
|
+ int *count_ret)
|
|
+{
|
|
+ return XLocaleNotSupported;
|
|
+}
|
|
+
|
|
+int
|
|
+XmbTextListToTextProperty(
|
|
+ Display *dpy,
|
|
+ char **list,
|
|
+ int count,
|
|
+ XICCEncodingStyle style,
|
|
+ XTextProperty *text_prop)
|
|
+{
|
|
+ return XLocaleNotSupported;
|
|
+}
|
|
+
|
|
+int
|
|
+XmbTextExtents(
|
|
+ XFontSet font_set,
|
|
+ _Xconst char *text,
|
|
+ int text_len,
|
|
+ XRectangle *overall_ink_extents,
|
|
+ XRectangle *overall_logical_extents)
|
|
+{
|
|
+ return 0;
|
|
+}
|
|
+
|
|
+void
|
|
+XmbDrawText(
|
|
+ Display *dpy,
|
|
+ Drawable d,
|
|
+ GC gc,
|
|
+ int x,
|
|
+ int y,
|
|
+ XmbTextItem *text_items,
|
|
+ int nitems)
|
|
+{
|
|
+ ;
|
|
+}
|
|
+
|
|
+void
|
|
+XmbDrawString(
|
|
+ Display *dpy,
|
|
+ Drawable d,
|
|
+ XFontSet font_set,
|
|
+ GC gc,
|
|
+ int x,
|
|
+ int y,
|
|
+ _Xconst char *text,
|
|
+ int text_len)
|
|
+{
|
|
+ ;
|
|
+}
|
|
+
|
|
+void
|
|
+XmbDrawImageString(
|
|
+ Display *dpy,
|
|
+ Drawable d,
|
|
+ XFontSet font_set,
|
|
+ GC gc,
|
|
+ int x,
|
|
+ int y,
|
|
+ _Xconst char *text,
|
|
+ int text_len)
|
|
+{
|
|
+ ;
|
|
+}
|
|
+
|
|
+int
|
|
+XmbTextEscapement(
|
|
+ XFontSet font_set,
|
|
+ _Xconst char *text,
|
|
+ int text_len)
|
|
+{
|
|
+ return 0;
|
|
+}
|
|
+
|
|
+Status
|
|
+XmbTextPerCharExtents(
|
|
+ XFontSet font_set,
|
|
+ _Xconst char *text,
|
|
+ int text_len,
|
|
+ XRectangle *ink_extents_buffer,
|
|
+ XRectangle *logical_extents_buffer,
|
|
+ int buffer_size,
|
|
+ int *num_chars,
|
|
+ XRectangle *max_ink_extents,
|
|
+ XRectangle *max_logical_extents)
|
|
+{
|
|
+ return 0;
|
|
+}
|
|
+
|
|
+unsigned int
|
|
+KeySymToUcs4(KeySym keysym)
|
|
+{
|
|
+ return 0;
|
|
+}
|
|
+
|
|
+#endif
|
|
+
|
|
+#if ! XCMS
|
|
+
|
|
+XcmsCCC
|
|
+XcmsCCCOfColormap(dpy, cmap)
|
|
+ Display *dpy;
|
|
+ Colormap cmap;
|
|
+{
|
|
+ return NULL;
|
|
+}
|
|
+
|
|
+Status
|
|
+_XcmsResolveColorString (
|
|
+ XcmsCCC ccc,
|
|
+ const char **color_string,
|
|
+ XcmsColor *pColor_exact_return,
|
|
+ XcmsColorFormat result_format)
|
|
+{
|
|
+ return(XcmsFailure);
|
|
+}
|
|
+
|
|
+void
|
|
+_XcmsUnresolveColor(
|
|
+ XcmsCCC ccc,
|
|
+ XcmsColor *pColor)
|
|
+{
|
|
+ return;
|
|
+}
|
|
+
|
|
+void
|
|
+_XUnresolveColor(
|
|
+ XcmsCCC ccc,
|
|
+ XColor *pXColor)
|
|
+{
|
|
+ return;
|
|
+}
|
|
+
|
|
+XcmsCmapRec *
|
|
+_XcmsAddCmapRec(dpy, cmap, windowID, visual)
|
|
+ Display *dpy;
|
|
+ Colormap cmap;
|
|
+ Window windowID;
|
|
+ Visual *visual;
|
|
+{
|
|
+ return NULL;
|
|
+}
|
|
+
|
|
+void
|
|
+_XcmsRGB_to_XColor(
|
|
+ XcmsColor *pColors,
|
|
+ XColor *pXColors,
|
|
+ unsigned int nColors)
|
|
+{
|
|
+ return;
|
|
+}
|
|
+
|
|
+XcmsCmapRec *
|
|
+_XcmsCopyCmapRecAndFree(
|
|
+ Display *dpy,
|
|
+ Colormap src_cmap,
|
|
+ Colormap copy_cmap)
|
|
+{
|
|
+ return NULL;
|
|
+}
|
|
+
|
|
+void
|
|
+_XcmsDeleteCmapRec(
|
|
+ Display *dpy,
|
|
+ Colormap cmap)
|
|
+{
|
|
+ return;
|
|
+}
|
|
+
|
|
+#endif
|
|
--- git.orig/src/imConv.c
|
|
+++ git/src/imConv.c
|
|
@@ -81,10 +81,11 @@ static const struct SubstRec SubstTable[
|
|
/*
|
|
* Given the name of a charset, returns the pointer to convertors
|
|
* from UCS char to specified charset char.
|
|
* This converter is needed for _XimGetCharCode subroutine.
|
|
*/
|
|
+#ifdef XLOCALE
|
|
XPointer
|
|
_XimGetLocaleCode (
|
|
_Xconst char* encoding_name)
|
|
{
|
|
XPointer cvt = _Utf8GetConvByName(encoding_name);
|
|
@@ -94,10 +95,11 @@ _XimGetLocaleCode (
|
|
if (!strcmp(encoding_name, SubstTable[i].encoding_name))
|
|
return _Utf8GetConvByName(SubstTable[i].charset_name);
|
|
}
|
|
return cvt;
|
|
}
|
|
+#endif
|
|
|
|
/*
|
|
* Returns the locale dependent representation of a keysym.
|
|
* The locale's encoding is passed in form of pointer to UCS convertor.
|
|
* The resulting multi-byte sequence is placed starting at buf (a buffer
|
|
@@ -105,10 +107,11 @@ _XimGetLocaleCode (
|
|
* Returns the length of the resulting multi-byte sequence, excluding the
|
|
* terminating NUL byte. Return 0 if the keysym is not representable in the
|
|
* locale
|
|
*/
|
|
/*ARGSUSED*/
|
|
+#ifdef XLOCALE
|
|
int
|
|
_XimGetCharCode (
|
|
XPointer ucs_conv,
|
|
KeySym keysym,
|
|
unsigned char* buf,
|
|
@@ -133,10 +136,11 @@ _XimGetCharCode (
|
|
return nbytes;
|
|
if (count<nbytes)
|
|
buf[count]= '\0';
|
|
return count;
|
|
}
|
|
+#endif
|
|
|
|
#ifdef XKB
|
|
static int lookup_string(
|
|
XKeyEvent* event,
|
|
char* buffer,
|
|
--- git.orig/src/locking.c
|
|
+++ git/src/locking.c
|
|
@@ -53,11 +53,13 @@ in this Software without prior written a
|
|
#endif
|
|
|
|
#define NUM_FREE_CVLS 4
|
|
|
|
/* in lcWrap.c */
|
|
+#ifdef XLOCALE
|
|
extern LockInfoPtr _Xi18n_lock;
|
|
+#endif
|
|
|
|
#ifdef WIN32
|
|
static DWORD _X_TlsIndex = (DWORD)-1;
|
|
|
|
void _Xthread_init()
|
|
@@ -623,13 +625,15 @@ Status XInitThreads()
|
|
return 0;
|
|
}
|
|
_Xglobal_lock = &global_lock;
|
|
xmutex_init(_Xglobal_lock->lock);
|
|
xmutex_set_name(_Xglobal_lock->lock, "Xlib global");
|
|
+#ifdef XLOCALE
|
|
_Xi18n_lock = &i18n_lock;
|
|
xmutex_init(_Xi18n_lock->lock);
|
|
xmutex_set_name(_Xi18n_lock->lock, "Xlib i18n");
|
|
+#endif
|
|
_XLockMutex_fn = _XLockMutex;
|
|
_XUnlockMutex_fn = _XUnlockMutex;
|
|
_XCreateMutex_fn = _XCreateMutex;
|
|
_XFreeMutex_fn = _XFreeMutex;
|
|
_XInitDisplayLock_fn = _XInitDisplayLock;
|