diff options
author | marha <marha@users.sourceforge.net> | 2009-09-09 05:23:48 +0000 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2009-09-09 05:23:48 +0000 |
commit | 81f91c615982e50bb62708201569c33a3cd3d973 (patch) | |
tree | 4f32ecc48a3b7b5e76642f3792338263c53879bd /xorg-server/hw/kdrive/ephyr | |
parent | b571a562410f565af2bdde52d9f7f9a23ffae04f (diff) | |
parent | a915739887477b28d924ecc8417ee107d125bd6c (diff) | |
download | vcxsrv-81f91c615982e50bb62708201569c33a3cd3d973.tar.gz vcxsrv-81f91c615982e50bb62708201569c33a3cd3d973.tar.bz2 vcxsrv-81f91c615982e50bb62708201569c33a3cd3d973.zip |
svn merge https://vcxsrv.svn.sourceforge.net/svnroot/vcxsrv/branches/released .
Diffstat (limited to 'xorg-server/hw/kdrive/ephyr')
-rw-r--r-- | xorg-server/hw/kdrive/ephyr/Makefile.am | 22 | ||||
-rw-r--r-- | xorg-server/hw/kdrive/ephyr/Makefile.in | 180 | ||||
-rw-r--r-- | xorg-server/hw/kdrive/ephyr/XF86dri.c | 47 | ||||
-rw-r--r-- | xorg-server/hw/kdrive/ephyr/Xephyr.man.pre | 6 | ||||
-rw-r--r-- | xorg-server/hw/kdrive/ephyr/ephyr.c | 39 | ||||
-rw-r--r-- | xorg-server/hw/kdrive/ephyr/ephyrdriext.c | 60 | ||||
-rw-r--r-- | xorg-server/hw/kdrive/ephyr/ephyrhostglx.c | 2 | ||||
-rw-r--r-- | xorg-server/hw/kdrive/ephyr/ephyrinit.c | 35 | ||||
-rw-r--r-- | xorg-server/hw/kdrive/ephyr/ephyrvideo.c | 2 | ||||
-rw-r--r-- | xorg-server/hw/kdrive/ephyr/hostx.c | 60 | ||||
-rw-r--r-- | xorg-server/hw/kdrive/ephyr/hostx.h | 3 |
11 files changed, 245 insertions, 211 deletions
diff --git a/xorg-server/hw/kdrive/ephyr/Makefile.am b/xorg-server/hw/kdrive/ephyr/Makefile.am index 9380e4d0a..ec6f4450a 100644 --- a/xorg-server/hw/kdrive/ephyr/Makefile.am +++ b/xorg-server/hw/kdrive/ephyr/Makefile.am @@ -8,14 +8,14 @@ INCLUDES = \ -I$(top_srcdir)/exa if XV -LIBXEPHYR_HOSTXV=libxephyr-hostxv.a +LIBXEPHYR_HOSTXV=libxephyr-hostxv.la endif if DRI -LIBXEPHYR_HOSTDRI=libxephyr-hostdri.a +LIBXEPHYR_HOSTDRI=libxephyr-hostdri.la endif -noinst_LIBRARIES = libxephyr-hostx.a $(LIBXEPHYR_HOSTXV) $(LIBXEPHYR_HOSTDRI) libxephyr.a +noinst_LTLIBRARIES = libxephyr-hostx.la $(LIBXEPHYR_HOSTXV) $(LIBXEPHYR_HOSTDRI) libxephyr.la bin_PROGRAMS = Xephyr @@ -47,24 +47,24 @@ XEPHYR_SRCS = \ ephyr_draw.c \ os.c -libxephyr_hostx_a_SOURCES = $(HOSTX_SRCS) +libxephyr_hostx_la_SOURCES = $(HOSTX_SRCS) if XV -libxephyr_hostxv_a_SOURCES = $(HOSTVIDEO_SRCS) +libxephyr_hostxv_la_SOURCES = $(HOSTVIDEO_SRCS) endif if DRI -libxephyr_hostdri_a_SOURCES = $(HOSTDRI_SRCS) +libxephyr_hostdri_la_SOURCES = $(HOSTDRI_SRCS) endif -libxephyr_a_SOURCES = $(XEPHYR_SRCS) +libxephyr_la_SOURCES = $(XEPHYR_SRCS) Xephyr_SOURCES = \ ephyrinit.c Xephyr_LDADD = \ - libxephyr.a \ - libxephyr-hostx.a \ + libxephyr.la \ + libxephyr-hostx.la \ $(LIBXEPHYR_HOSTXV) \ $(LIBXEPHYR_HOSTDRI) \ $(top_builddir)/exa/libexa.la \ @@ -72,8 +72,8 @@ Xephyr_LDADD = \ @XEPHYR_LIBS@ Xephyr_DEPENDENCIES = \ - libxephyr.a \ - libxephyr-hostx.a \ + libxephyr.la \ + libxephyr-hostx.la \ $(LIBXEPHYR_HOSTXV) \ $(LIBXEPHYR_HOSTDRI) \ @KDRIVE_LOCAL_LIBS@ diff --git a/xorg-server/hw/kdrive/ephyr/Makefile.in b/xorg-server/hw/kdrive/ephyr/Makefile.in index af425f7e4..150757fe1 100644 --- a/xorg-server/hw/kdrive/ephyr/Makefile.in +++ b/xorg-server/hw/kdrive/ephyr/Makefile.in @@ -45,8 +45,11 @@ DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(top_srcdir)/cpprules.in subdir = hw/kdrive/ephyr ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_define_dir.m4 \ + $(top_srcdir)/m4/dolt.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/shave.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d @@ -56,37 +59,35 @@ CONFIG_HEADER = $(top_builddir)/include/do-not-use-config.h \ $(top_builddir)/include/xorg-config.h \ $(top_builddir)/include/xkb-config.h \ $(top_builddir)/include/xwin-config.h \ - $(top_builddir)/include/kdrive-config.h + $(top_builddir)/include/kdrive-config.h \ + $(top_builddir)/include/version-config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = -LIBRARIES = $(noinst_LIBRARIES) -ARFLAGS = cru -libxephyr_hostdri_a_AR = $(AR) $(ARFLAGS) -libxephyr_hostdri_a_LIBADD = -am__libxephyr_hostdri_a_SOURCES_DIST = ephyrdriext.c ephyrdriext.h \ +LTLIBRARIES = $(noinst_LTLIBRARIES) +libxephyr_hostdri_la_LIBADD = +am__libxephyr_hostdri_la_SOURCES_DIST = ephyrdriext.c ephyrdriext.h \ ephyrdri.c ephyrdri.h XF86dri.c xf86dri.h ephyrglxext.c \ ephyrglxext.h ephyrhostglx.c ephyrhostglx.h -am__objects_1 = ephyrdriext.$(OBJEXT) ephyrdri.$(OBJEXT) \ - XF86dri.$(OBJEXT) ephyrglxext.$(OBJEXT) ephyrhostglx.$(OBJEXT) -@DRI_TRUE@am_libxephyr_hostdri_a_OBJECTS = $(am__objects_1) -libxephyr_hostdri_a_OBJECTS = $(am_libxephyr_hostdri_a_OBJECTS) -libxephyr_hostx_a_AR = $(AR) $(ARFLAGS) -libxephyr_hostx_a_LIBADD = -am__objects_2 = hostx.$(OBJEXT) -am_libxephyr_hostx_a_OBJECTS = $(am__objects_2) -libxephyr_hostx_a_OBJECTS = $(am_libxephyr_hostx_a_OBJECTS) -libxephyr_hostxv_a_AR = $(AR) $(ARFLAGS) -libxephyr_hostxv_a_LIBADD = -am__libxephyr_hostxv_a_SOURCES_DIST = ephyrvideo.c ephyrhostvideo.c \ +am__objects_1 = ephyrdriext.lo ephyrdri.lo XF86dri.lo ephyrglxext.lo \ + ephyrhostglx.lo +@DRI_TRUE@am_libxephyr_hostdri_la_OBJECTS = $(am__objects_1) +libxephyr_hostdri_la_OBJECTS = $(am_libxephyr_hostdri_la_OBJECTS) +@DRI_TRUE@am_libxephyr_hostdri_la_rpath = +libxephyr_hostx_la_LIBADD = +am__objects_2 = hostx.lo +am_libxephyr_hostx_la_OBJECTS = $(am__objects_2) +libxephyr_hostx_la_OBJECTS = $(am_libxephyr_hostx_la_OBJECTS) +libxephyr_hostxv_la_LIBADD = +am__libxephyr_hostxv_la_SOURCES_DIST = ephyrvideo.c ephyrhostvideo.c \ ephyrhostvideo.h -am__objects_3 = ephyrvideo.$(OBJEXT) ephyrhostvideo.$(OBJEXT) -@XV_TRUE@am_libxephyr_hostxv_a_OBJECTS = $(am__objects_3) -libxephyr_hostxv_a_OBJECTS = $(am_libxephyr_hostxv_a_OBJECTS) -libxephyr_a_AR = $(AR) $(ARFLAGS) -libxephyr_a_LIBADD = -am__objects_4 = ephyr.$(OBJEXT) ephyr_draw.$(OBJEXT) os.$(OBJEXT) -am_libxephyr_a_OBJECTS = $(am__objects_4) -libxephyr_a_OBJECTS = $(am_libxephyr_a_OBJECTS) +am__objects_3 = ephyrvideo.lo ephyrhostvideo.lo +@XV_TRUE@am_libxephyr_hostxv_la_OBJECTS = $(am__objects_3) +libxephyr_hostxv_la_OBJECTS = $(am_libxephyr_hostxv_la_OBJECTS) +@XV_TRUE@am_libxephyr_hostxv_la_rpath = +libxephyr_la_LIBADD = +am__objects_4 = ephyr.lo ephyr_draw.lo os.lo +am_libxephyr_la_OBJECTS = $(am__objects_4) +libxephyr_la_OBJECTS = $(am_libxephyr_la_OBJECTS) am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(appmandir)" PROGRAMS = $(bin_PROGRAMS) am_Xephyr_OBJECTS = ephyrinit.$(OBJEXT) @@ -104,13 +105,13 @@ CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ -SOURCES = $(libxephyr_hostdri_a_SOURCES) $(libxephyr_hostx_a_SOURCES) \ - $(libxephyr_hostxv_a_SOURCES) $(libxephyr_a_SOURCES) \ - $(Xephyr_SOURCES) -DIST_SOURCES = $(am__libxephyr_hostdri_a_SOURCES_DIST) \ - $(libxephyr_hostx_a_SOURCES) \ - $(am__libxephyr_hostxv_a_SOURCES_DIST) $(libxephyr_a_SOURCES) \ - $(Xephyr_SOURCES) +SOURCES = $(libxephyr_hostdri_la_SOURCES) \ + $(libxephyr_hostx_la_SOURCES) $(libxephyr_hostxv_la_SOURCES) \ + $(libxephyr_la_SOURCES) $(Xephyr_SOURCES) +DIST_SOURCES = $(am__libxephyr_hostdri_la_SOURCES_DIST) \ + $(libxephyr_hostx_la_SOURCES) \ + $(am__libxephyr_hostxv_la_SOURCES_DIST) \ + $(libxephyr_la_SOURCES) $(Xephyr_SOURCES) am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ @@ -141,6 +142,7 @@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ +AM_MAKEFLAGS = @AM_MAKEFLAGS@ APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@ APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ @@ -161,9 +163,12 @@ CCASDEPMODE = @CCASDEPMODE@ CCASFLAGS = @CCASFLAGS@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ +CHANGELOG_CMD = @CHANGELOG_CMD@ COMPILEDDEFAULTFONTPATH = @COMPILEDDEFAULTFONTPATH@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ +CWARNFLAGS = @CWARNFLAGS@ +CXX = @CXX@ CYGPATH_W = @CYGPATH_W@ DARWIN_LIBS = @DARWIN_LIBS@ DBUS_CFLAGS = @DBUS_CFLAGS@ @@ -192,7 +197,9 @@ DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ DRIPROTO_LIBS = @DRIPROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ +DRI_CFLAGS = @DRI_CFLAGS@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ +DRI_LIBS = @DRI_LIBS@ DSYMUTIL = @DSYMUTIL@ DTRACE = @DTRACE@ DUMPBIN = @DUMPBIN@ @@ -201,9 +208,13 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ +F77 = @F77@ +FC = @FC@ FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ +GLIB_CFLAGS = @GLIB_CFLAGS@ +GLIB_LIBS = @GLIB_LIBS@ GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ GLX_DEFINES = @GLX_DEFINES@ GL_CFLAGS = @GL_CFLAGS@ @@ -242,12 +253,13 @@ LTCOMPILE = @LTCOMPILE@ LTCXXCOMPILE = @LTCXXCOMPILE@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ +MAIN_LIB = @MAIN_LIB@ +MAKEFLAGS = @MAKEFLAGS@ MAKEINFO = @MAKEINFO@ MAKE_HTML = @MAKE_HTML@ MAKE_PDF = @MAKE_PDF@ MAKE_PS = @MAKE_PS@ MAKE_TEXT = @MAKE_TEXT@ -MESA_SOURCE = @MESA_SOURCE@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MKDIR_P = @MKDIR_P@ @@ -267,7 +279,6 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCIACCESS_CFLAGS = @PCIACCESS_CFLAGS@ @@ -277,6 +288,7 @@ PERL = @PERL@ PKG_CONFIG = @PKG_CONFIG@ PROJECTROOT = @PROJECTROOT@ PS2PDF = @PS2PDF@ +Q = @Q@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -290,11 +302,10 @@ STRIP = @STRIP@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UTILS_SYS_LIBS = @UTILS_SYS_LIBS@ -VENDOR_MAN_VERSION = @VENDOR_MAN_VERSION@ -VENDOR_NAME = @VENDOR_NAME@ +V = @V@ VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ -VENDOR_RELEASE = @VENDOR_RELEASE@ VERSION = @VERSION@ +WINDRES = @WINDRES@ X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ XDMCP_CFLAGS = @XDMCP_CFLAGS@ @@ -330,6 +341,7 @@ XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ XORG_SYS_LIBS = @XORG_SYS_LIBS@ XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ XPBPROXY_LIBS = @XPBPROXY_LIBS@ +XQUARTZ_SPARKLE = @XQUARTZ_SPARKLE@ XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ XSDL_INCS = @XSDL_INCS@ @@ -354,7 +366,6 @@ YFLAGS = @YFLAGS@ __XCONFIGFILE__ = @__XCONFIGFILE__@ abi_ansic = @abi_ansic@ abi_extension = @abi_extension@ -abi_font = @abi_font@ abi_videodrv = @abi_videodrv@ abi_xinput = @abi_xinput@ abs_builddir = @abs_builddir@ @@ -377,6 +388,7 @@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ +distcleancheck_listfiles = @distcleancheck_listfiles@ docdir = @docdir@ driverdir = @driverdir@ dvidir = @dvidir@ @@ -408,7 +420,9 @@ psdir = @psdir@ sbindir = @sbindir@ sdkdir = @sdkdir@ sharedstatedir = @sharedstatedir@ +shavedir = @shavedir@ srcdir = @srcdir@ +symbol_visibility = @symbol_visibility@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ @@ -423,9 +437,9 @@ INCLUDES = \ -I$(top_srcdir) \ -I$(top_srcdir)/exa -@XV_TRUE@LIBXEPHYR_HOSTXV = libxephyr-hostxv.a -@DRI_TRUE@LIBXEPHYR_HOSTDRI = libxephyr-hostdri.a -noinst_LIBRARIES = libxephyr-hostx.a $(LIBXEPHYR_HOSTXV) $(LIBXEPHYR_HOSTDRI) libxephyr.a +@XV_TRUE@LIBXEPHYR_HOSTXV = libxephyr-hostxv.la +@DRI_TRUE@LIBXEPHYR_HOSTDRI = libxephyr-hostdri.la +noinst_LTLIBRARIES = libxephyr-hostx.la $(LIBXEPHYR_HOSTXV) $(LIBXEPHYR_HOSTDRI) libxephyr.la HOSTX_SRCS = \ hostx.c \ hostx.h @@ -454,16 +468,16 @@ XEPHYR_SRCS = \ ephyr_draw.c \ os.c -libxephyr_hostx_a_SOURCES = $(HOSTX_SRCS) -@XV_TRUE@libxephyr_hostxv_a_SOURCES = $(HOSTVIDEO_SRCS) -@DRI_TRUE@libxephyr_hostdri_a_SOURCES = $(HOSTDRI_SRCS) -libxephyr_a_SOURCES = $(XEPHYR_SRCS) +libxephyr_hostx_la_SOURCES = $(HOSTX_SRCS) +@XV_TRUE@libxephyr_hostxv_la_SOURCES = $(HOSTVIDEO_SRCS) +@DRI_TRUE@libxephyr_hostdri_la_SOURCES = $(HOSTDRI_SRCS) +libxephyr_la_SOURCES = $(XEPHYR_SRCS) Xephyr_SOURCES = \ ephyrinit.c Xephyr_LDADD = \ - libxephyr.a \ - libxephyr-hostx.a \ + libxephyr.la \ + libxephyr-hostx.la \ $(LIBXEPHYR_HOSTXV) \ $(LIBXEPHYR_HOSTDRI) \ $(top_builddir)/exa/libexa.la \ @@ -471,8 +485,8 @@ Xephyr_LDADD = \ @XEPHYR_LIBS@ Xephyr_DEPENDENCIES = \ - libxephyr.a \ - libxephyr-hostx.a \ + libxephyr.la \ + libxephyr-hostx.la \ $(LIBXEPHYR_HOSTXV) \ $(LIBXEPHYR_HOSTDRI) \ @KDRIVE_LOCAL_LIBS@ @@ -556,24 +570,22 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): -clean-noinstLIBRARIES: - -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) -libxephyr-hostdri.a: $(libxephyr_hostdri_a_OBJECTS) $(libxephyr_hostdri_a_DEPENDENCIES) - -rm -f libxephyr-hostdri.a - $(libxephyr_hostdri_a_AR) libxephyr-hostdri.a $(libxephyr_hostdri_a_OBJECTS) $(libxephyr_hostdri_a_LIBADD) - $(RANLIB) libxephyr-hostdri.a -libxephyr-hostx.a: $(libxephyr_hostx_a_OBJECTS) $(libxephyr_hostx_a_DEPENDENCIES) - -rm -f libxephyr-hostx.a - $(libxephyr_hostx_a_AR) libxephyr-hostx.a $(libxephyr_hostx_a_OBJECTS) $(libxephyr_hostx_a_LIBADD) - $(RANLIB) libxephyr-hostx.a -libxephyr-hostxv.a: $(libxephyr_hostxv_a_OBJECTS) $(libxephyr_hostxv_a_DEPENDENCIES) - -rm -f libxephyr-hostxv.a - $(libxephyr_hostxv_a_AR) libxephyr-hostxv.a $(libxephyr_hostxv_a_OBJECTS) $(libxephyr_hostxv_a_LIBADD) - $(RANLIB) libxephyr-hostxv.a -libxephyr.a: $(libxephyr_a_OBJECTS) $(libxephyr_a_DEPENDENCIES) - -rm -f libxephyr.a - $(libxephyr_a_AR) libxephyr.a $(libxephyr_a_OBJECTS) $(libxephyr_a_LIBADD) - $(RANLIB) libxephyr.a +clean-noinstLTLIBRARIES: + -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) + @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ + dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ + test "$$dir" != "$$p" || dir=.; \ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done +libxephyr-hostdri.la: $(libxephyr_hostdri_la_OBJECTS) $(libxephyr_hostdri_la_DEPENDENCIES) + $(LINK) $(am_libxephyr_hostdri_la_rpath) $(libxephyr_hostdri_la_OBJECTS) $(libxephyr_hostdri_la_LIBADD) $(LIBS) +libxephyr-hostx.la: $(libxephyr_hostx_la_OBJECTS) $(libxephyr_hostx_la_DEPENDENCIES) + $(LINK) $(libxephyr_hostx_la_OBJECTS) $(libxephyr_hostx_la_LIBADD) $(LIBS) +libxephyr-hostxv.la: $(libxephyr_hostxv_la_OBJECTS) $(libxephyr_hostxv_la_DEPENDENCIES) + $(LINK) $(am_libxephyr_hostxv_la_rpath) $(libxephyr_hostxv_la_OBJECTS) $(libxephyr_hostxv_la_LIBADD) $(LIBS) +libxephyr.la: $(libxephyr_la_OBJECTS) $(libxephyr_la_DEPENDENCIES) + $(LINK) $(libxephyr_la_OBJECTS) $(libxephyr_la_LIBADD) $(LIBS) install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" @@ -627,18 +639,18 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/XF86dri.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ephyr.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ephyr_draw.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ephyrdri.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ephyrdriext.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ephyrglxext.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ephyrhostglx.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ephyrhostvideo.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/XF86dri.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ephyr.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ephyr_draw.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ephyrdri.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ephyrdriext.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ephyrglxext.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ephyrhostglx.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ephyrhostvideo.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ephyrinit.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ephyrvideo.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hostx.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/os.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ephyrvideo.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hostx.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/os.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @@ -771,7 +783,7 @@ distdir: $(DISTFILES) done check-am: all-am check: check-am -all-am: Makefile $(LIBRARIES) $(PROGRAMS) $(DATA) +all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(DATA) installdirs: for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(appmandir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ @@ -805,7 +817,7 @@ maintainer-clean-generic: clean: clean-am clean-am: clean-binPROGRAMS clean-generic clean-libtool \ - clean-noinstLIBRARIES mostlyclean-am + clean-noinstLTLIBRARIES mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) @@ -876,7 +888,7 @@ uninstall-am: uninstall-appmanDATA uninstall-binPROGRAMS .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ - clean-generic clean-libtool clean-noinstLIBRARIES ctags \ + clean-generic clean-libtool clean-noinstLTLIBRARIES ctags \ distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-appmanDATA \ diff --git a/xorg-server/hw/kdrive/ephyr/XF86dri.c b/xorg-server/hw/kdrive/ephyr/XF86dri.c index 31f796331..e94a7f0f0 100644 --- a/xorg-server/hw/kdrive/ephyr/XF86dri.c +++ b/xorg-server/hw/kdrive/ephyr/XF86dri.c @@ -58,7 +58,6 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. /* THIS IS NOT AN X CONSORTIUM STANDARD */ -#define NEED_REPLIES #include <X11/Xlibint.h> #include <X11/extensions/Xext.h> #include <X11/extensions/extutil.h> @@ -134,11 +133,8 @@ Bool XF86DRIQueryExtension (Display *dpy, int *event_basep, int *error_basep) } } -Bool XF86DRIQueryVersion(dpy, majorVersion, minorVersion, patchVersion) - Display* dpy; - int* majorVersion; - int* minorVersion; - int* patchVersion; +Bool XF86DRIQueryVersion(Display *dpy, int *majorVersion, int *minorVersion, + int *patchVersion) { XExtDisplayInfo *info = find_display (dpy); xXF86DRIQueryVersionReply rep; @@ -242,10 +238,7 @@ XF86DRIOpenConnection (Display *dpy, int screen, return True; } -Bool XF86DRIAuthConnection(dpy, screen, magic) - Display* dpy; - int screen; - drm_magic_t magic; +Bool XF86DRIAuthConnection(Display *dpy, int screen, drm_magic_t magic) { XExtDisplayInfo *info = find_display (dpy); xXF86DRIAuthConnectionReq *req; @@ -273,9 +266,7 @@ Bool XF86DRIAuthConnection(dpy, screen, magic) return True; } -Bool XF86DRICloseConnection(dpy, screen) - Display* dpy; - int screen; +Bool XF86DRICloseConnection(Display *dpy, int screen) { XExtDisplayInfo *info = find_display (dpy); xXF86DRICloseConnectionReq *req; @@ -295,14 +286,11 @@ Bool XF86DRICloseConnection(dpy, screen) return True; } -Bool XF86DRIGetClientDriverName(dpy, screen, ddxDriverMajorVersion, - ddxDriverMinorVersion, ddxDriverPatchVersion, clientDriverName) - Display* dpy; - int screen; - int* ddxDriverMajorVersion; - int* ddxDriverMinorVersion; - int* ddxDriverPatchVersion; - char** clientDriverName; +Bool XF86DRIGetClientDriverName(Display *dpy, int screen, + int *ddxDriverMajorVersion, + int *ddxDriverMinorVersion, + int *ddxDriverPatchVersion, + char **clientDriverName) { XExtDisplayInfo *info = find_display (dpy); xXF86DRIGetClientDriverNameReply rep; @@ -345,13 +333,8 @@ Bool XF86DRIGetClientDriverName(dpy, screen, ddxDriverMajorVersion, return True; } -Bool XF86DRICreateContextWithConfig(dpy, screen, configID, context, - hHWContext) - Display* dpy; - int screen; - int configID; - XID* context; - drm_context_t * hHWContext; +Bool XF86DRICreateContextWithConfig(Display *dpy, int screen, int configID, + XID *context, drm_context_t *hHWContext) { XExtDisplayInfo *info = find_display (dpy); xXF86DRICreateContextReply rep; @@ -381,12 +364,8 @@ Bool XF86DRICreateContextWithConfig(dpy, screen, configID, context, return True; } -Bool XF86DRICreateContext(dpy, screen, visual, context, hHWContext) - Display* dpy; - int screen; - Visual* visual; - XID* context; - drm_context_t * hHWContext; +Bool XF86DRICreateContext(Display *dpy, int screen, Visual *visual, + XID *context, drm_context_t *hHWContext) { return XF86DRICreateContextWithConfig( dpy, screen, visual->visualid, context, hHWContext ); diff --git a/xorg-server/hw/kdrive/ephyr/Xephyr.man.pre b/xorg-server/hw/kdrive/ephyr/Xephyr.man.pre index 7f0e811a2..f5e8b984d 100644 --- a/xorg-server/hw/kdrive/ephyr/Xephyr.man.pre +++ b/xorg-server/hw/kdrive/ephyr/Xephyr.man.pre @@ -23,8 +23,8 @@ Xephyr - X server outputting to a window on a pre-existing X display .IR ... ] .SH DESCRIPTION .B Xephyr -is a a kdrive server that outputs to a window on a pre-existing -'host' X display. +is a a kdrive server that outputs to a window on a pre-existing "host" +X display. Think .I Xnest but with support for modern extensions like composite, damage and randr. @@ -75,7 +75,7 @@ round it. It doesn't appear to break anything however. .IP \(bu 2 Keyboard handling is basic but works. .TP \(bu 2 -Mouse button 5 probably wont work. +Mouse button 5 probably won't work. .SH "SEE ALSO" X(__miscmansuffix__), Xserver(__appmansuffix__) .SH AUTHOR diff --git a/xorg-server/hw/kdrive/ephyr/ephyr.c b/xorg-server/hw/kdrive/ephyr/ephyr.c index d0f02a16d..947a7ff1b 100644 --- a/xorg-server/hw/kdrive/ephyr/ephyr.c +++ b/xorg-server/hw/kdrive/ephyr/ephyr.c @@ -432,7 +432,7 @@ ephyrRandRGetInfo (ScreenPtr pScreen, Rotation *rotations) RRScreenSizePtr pSize; Rotation randr; int n = 0; - + struct { int width, height; } sizes[] = { { 1600, 1200 }, @@ -454,7 +454,7 @@ ephyrRandRGetInfo (ScreenPtr pScreen, Rotation *rotations) }; EPHYR_LOG("mark"); - + *rotations = RR_Rotate_All|RR_Reflect_All; if (!hostx_want_preexisting_window (screen) @@ -746,6 +746,7 @@ ephyrScreenFini (KdScreenInfo *screen) void ephyrUpdateModifierState(unsigned int state) { +#if 0 DeviceIntPtr pkeydev; KeyClassPtr keyc; int i; @@ -756,6 +757,18 @@ ephyrUpdateModifierState(unsigned int state) if (!pkeydev) return; +/* This is pretty broken. + * + * What should happen is that focus out should do as a VT switch does in + * traditional servers: fake releases for all keys (and buttons too, come + * to think of it) currently down. Then, on focus in, get the state from + * the host, and fake keypresses for everything currently down. + * + * So I'm leaving this broken for a little while. Sorry, folks. + * + * -daniels + */ + keyc = pkeydev->key; state = state & 0xff; @@ -773,7 +786,7 @@ ephyrUpdateModifierState(unsigned int state) int count = keyc->modifierKeyCount[i]; for (key = 0; key < MAP_LENGTH; key++) - if (keyc->modifierMap[key] & mask) + if (keyc->xkbInfo->desc->map->modmap[key] & mask) { int bit; BYTE *kptr; @@ -793,14 +806,15 @@ ephyrUpdateModifierState(unsigned int state) /* Modifier shoud be down, but isn't */ if (!(keyc->state & mask) && (state & mask)) for (key = 0; key < MAP_LENGTH; key++) - if (keyc->modifierMap[key] & mask) + if (keyc->xkbInfo->desc->map->modmap[key] & mask) { - if (keyc->modifierMap[key] & mask && ephyrKbd && + if (keyc->xkbInfo->desc->map->modmap[key] & mask && ephyrKbd && ((EphyrKbdPrivate *)ephyrKbd->driverPrivate)->enabled) KdEnqueueKeyboardEvent(ephyrKbd, key, FALSE); /* press */ break; } } +#endif } static void @@ -1071,7 +1085,7 @@ MouseInit (KdPointerInfo *pi) ((EphyrPointerPrivate *)pi->driverPrivate)->enabled = FALSE; pi->nAxes = 3; pi->nButtons = 32; - pi->name = KdSaveString("Xephyr virtual mouse"); + pi->name = strdup("Xephyr virtual mouse"); ephyrMouse = pi; return Success; } @@ -1118,14 +1132,9 @@ EphyrKeyboardInit (KdKeyboardInfo *ki) ErrorF("Couldn't load keymap from host\n"); return BadAlloc; } - ki->keySyms.minKeyCode = ephyrKeySyms.minKeyCode; - ki->keySyms.maxKeyCode = ephyrKeySyms.maxKeyCode; - ki->minScanCode = ki->keySyms.minKeyCode; - ki->maxScanCode = ki->keySyms.maxKeyCode; - ki->keySyms.mapWidth = ephyrKeySyms.mapWidth; - xfree(ki->keySyms.map); - ki->keySyms.map = ephyrKeySyms.map; - ki->name = KdSaveString("Xephyr virtual keyboard"); + ki->minScanCode = ephyrKeySyms.minKeyCode; + ki->maxScanCode = ephyrKeySyms.maxKeyCode; + ki->name = strdup("Xephyr virtual keyboard"); ephyrKbd = ki; return Success; } @@ -1147,8 +1156,6 @@ EphyrKeyboardDisable (KdKeyboardInfo *ki) static void EphyrKeyboardFini (KdKeyboardInfo *ki) { - /* not xfree: we call malloc from hostx.c. */ - free(ki->keySyms.map); ephyrKbd = NULL; return; } diff --git a/xorg-server/hw/kdrive/ephyr/ephyrdriext.c b/xorg-server/hw/kdrive/ephyr/ephyrdriext.c index a906ad170..84885d8f0 100644 --- a/xorg-server/hw/kdrive/ephyr/ephyrdriext.c +++ b/xorg-server/hw/kdrive/ephyr/ephyrdriext.c @@ -34,8 +34,6 @@ #include <string.h> -#define NEED_REPLIES -#define NEED_EVENTS #include <X11/X.h> #include <X11/Xproto.h> #define _XF86DRI_SERVER_ @@ -617,10 +615,10 @@ ProcXF86DRIQueryVersion (register ClientPtr client) { xXF86DRIQueryVersionReply rep; register int n; + REQUEST_SIZE_MATCH(xXF86DRIQueryVersionReq); EPHYR_LOG ("enter\n") ; - REQUEST_SIZE_MATCH(xXF86DRIQueryVersionReq); rep.type = X_Reply; rep.length = 0; rep.sequenceNumber = client->sequence; @@ -645,10 +643,10 @@ ProcXF86DRIQueryDirectRenderingCapable (register ClientPtr client) xXF86DRIQueryDirectRenderingCapableReply rep; Bool isCapable; register int n; - - EPHYR_LOG ("enter\n") ; REQUEST(xXF86DRIQueryDirectRenderingCapableReq); REQUEST_SIZE_MATCH(xXF86DRIQueryDirectRenderingCapableReq); + + EPHYR_LOG ("enter\n") ; if (stuff->screen >= screenInfo.numScreens) { client->errorValue = stuff->screen; return BadValue; @@ -683,10 +681,10 @@ ProcXF86DRIOpenConnection (register ClientPtr client) xXF86DRIOpenConnectionReply rep; drm_handle_t hSAREA; char* busIdString; - - EPHYR_LOG ("enter\n") ; REQUEST(xXF86DRIOpenConnectionReq); REQUEST_SIZE_MATCH(xXF86DRIOpenConnectionReq); + + EPHYR_LOG ("enter\n") ; if (stuff->screen >= screenInfo.numScreens) { client->errorValue = stuff->screen; return BadValue; @@ -703,8 +701,8 @@ ProcXF86DRIOpenConnection (register ClientPtr client) rep.busIdStringLength = 0; if (busIdString) rep.busIdStringLength = strlen(busIdString); - rep.length = (SIZEOF(xXF86DRIOpenConnectionReply) - SIZEOF(xGenericReply) + - ((rep.busIdStringLength + 3) & ~3)) >> 2; + rep.length = bytes_to_int32(SIZEOF(xXF86DRIOpenConnectionReply) - SIZEOF(xGenericReply) + + pad_to_int32(rep.busIdStringLength)); rep.hSAREALow = (CARD32)(hSAREA & 0xffffffff); #if defined(LONG64) && !defined(__linux__) @@ -724,10 +722,10 @@ static int ProcXF86DRIAuthConnection (register ClientPtr client) { xXF86DRIAuthConnectionReply rep; - - EPHYR_LOG ("enter\n") ; REQUEST(xXF86DRIAuthConnectionReq); REQUEST_SIZE_MATCH(xXF86DRIAuthConnectionReq); + + EPHYR_LOG ("enter\n") ; if (stuff->screen >= screenInfo.numScreens) { client->errorValue = stuff->screen; return BadValue; @@ -750,9 +748,9 @@ ProcXF86DRIAuthConnection (register ClientPtr client) static int ProcXF86DRICloseConnection (register ClientPtr client) { - EPHYR_LOG ("enter\n") ; REQUEST(xXF86DRICloseConnectionReq); REQUEST_SIZE_MATCH(xXF86DRICloseConnectionReq); + EPHYR_LOG ("enter\n") ; if (stuff->screen >= screenInfo.numScreens) { client->errorValue = stuff->screen; return BadValue; @@ -771,10 +769,10 @@ ProcXF86DRIGetClientDriverName (register ClientPtr client) { xXF86DRIGetClientDriverNameReply rep; char* clientDriverName; - - EPHYR_LOG ("enter\n") ; REQUEST(xXF86DRIGetClientDriverNameReq); REQUEST_SIZE_MATCH(xXF86DRIGetClientDriverNameReq); + + EPHYR_LOG ("enter\n") ; if (stuff->screen >= screenInfo.numScreens) { client->errorValue = stuff->screen; return BadValue; @@ -791,9 +789,9 @@ ProcXF86DRIGetClientDriverName (register ClientPtr client) rep.clientDriverNameLength = 0; if (clientDriverName) rep.clientDriverNameLength = strlen(clientDriverName); - rep.length = (SIZEOF(xXF86DRIGetClientDriverNameReply) - + rep.length = bytes_to_int32(SIZEOF(xXF86DRIGetClientDriverNameReply) - SIZEOF(xGenericReply) + - ((rep.clientDriverNameLength + 3) & ~3)) >> 2; + pad_to_int32(rep.clientDriverNameLength)); WriteToClient(client, sizeof(xXF86DRIGetClientDriverNameReply), (char *)&rep); @@ -813,10 +811,10 @@ ProcXF86DRICreateContext (register ClientPtr client) VisualPtr visual; int i=0; unsigned long context_id=0; - - EPHYR_LOG ("enter\n") ; REQUEST(xXF86DRICreateContextReq); REQUEST_SIZE_MATCH(xXF86DRICreateContextReq); + + EPHYR_LOG ("enter\n") ; if (stuff->screen >= screenInfo.numScreens) { client->errorValue = stuff->screen; return BadValue; @@ -854,10 +852,10 @@ ProcXF86DRICreateContext (register ClientPtr client) static int ProcXF86DRIDestroyContext (register ClientPtr client) { - EPHYR_LOG ("enter\n") ; - REQUEST(xXF86DRIDestroyContextReq); REQUEST_SIZE_MATCH(xXF86DRIDestroyContextReq); + EPHYR_LOG ("enter\n") ; + if (stuff->screen >= screenInfo.numScreens) { client->errorValue = stuff->screen; return BadValue; @@ -1026,10 +1024,10 @@ ProcXF86DRICreateDrawable (ClientPtr client) EphyrWindowPair *pair=NULL ; EphyrDRIWindowPrivPtr win_priv=NULL; int rc=0, remote_win=0; - - EPHYR_LOG ("enter\n") ; REQUEST(xXF86DRICreateDrawableReq); REQUEST_SIZE_MATCH(xXF86DRICreateDrawableReq); + + EPHYR_LOG ("enter\n") ; if (stuff->screen >= screenInfo.numScreens) { client->errorValue = stuff->screen; return BadValue; @@ -1085,12 +1083,12 @@ ProcXF86DRICreateDrawable (ClientPtr client) static int ProcXF86DRIDestroyDrawable (register ClientPtr client) { - REQUEST(xXF86DRIDestroyDrawableReq); DrawablePtr drawable=NULL; WindowPtr window=NULL; EphyrWindowPair *pair=NULL; - REQUEST_SIZE_MATCH(xXF86DRIDestroyDrawableReq); int rc=0; + REQUEST(xXF86DRIDestroyDrawableReq); + REQUEST_SIZE_MATCH(xXF86DRIDestroyDrawableReq); EPHYR_LOG ("enter\n") ; if (stuff->screen >= screenInfo.numScreens) { @@ -1136,11 +1134,11 @@ ProcXF86DRIGetDrawableInfo (register ClientPtr client) int X=0, Y=0, W=0, H=0, backX=0, backY=0, rc=0, i=0; drm_clip_rect_t *clipRects=NULL; drm_clip_rect_t *backClipRects=NULL; + REQUEST(xXF86DRIGetDrawableInfoReq); + REQUEST_SIZE_MATCH(xXF86DRIGetDrawableInfoReq); EPHYR_LOG ("enter\n") ; memset (&rep, 0, sizeof (rep)) ; - REQUEST(xXF86DRIGetDrawableInfoReq); - REQUEST_SIZE_MATCH(xXF86DRIGetDrawableInfoReq); if (stuff->screen >= screenInfo.numScreens) { client->errorValue = stuff->screen; return BadValue; @@ -1237,7 +1235,7 @@ ProcXF86DRIGetDrawableInfo (register ClientPtr client) EPHYR_LOG ("num host clip rects:%d\n", (int)rep.numClipRects) ; EPHYR_LOG ("num host back clip rects:%d\n", (int)rep.numBackClipRects) ; - rep.length = ((rep.length + 3) & ~3) >> 2; + rep.length = bytes_to_int32(rep.length); WriteToClient(client, sizeof(xXF86DRIGetDrawableInfoReply), (char *)&rep); @@ -1267,10 +1265,10 @@ ProcXF86DRIGetDeviceInfo (register ClientPtr client) xXF86DRIGetDeviceInfoReply rep; drm_handle_t hFrameBuffer; void *pDevPrivate; - - EPHYR_LOG ("enter\n") ; REQUEST(xXF86DRIGetDeviceInfoReq); REQUEST_SIZE_MATCH(xXF86DRIGetDeviceInfoReq); + + EPHYR_LOG ("enter\n") ; if (stuff->screen >= screenInfo.numScreens) { client->errorValue = stuff->screen; return BadValue; @@ -1299,9 +1297,9 @@ ProcXF86DRIGetDeviceInfo (register ClientPtr client) rep.length = 0; if (rep.devPrivateSize) { - rep.length = (SIZEOF(xXF86DRIGetDeviceInfoReply) - + rep.length = bytes_to_int32(SIZEOF(xXF86DRIGetDeviceInfoReply) - SIZEOF(xGenericReply) + - ((rep.devPrivateSize + 3) & ~3)) >> 2; + pad_to_int32(rep.devPrivateSize)); } WriteToClient(client, sizeof(xXF86DRIGetDeviceInfoReply), (char *)&rep); diff --git a/xorg-server/hw/kdrive/ephyr/ephyrhostglx.c b/xorg-server/hw/kdrive/ephyr/ephyrhostglx.c index a05bba2e3..728687b46 100644 --- a/xorg-server/hw/kdrive/ephyr/ephyrhostglx.c +++ b/xorg-server/hw/kdrive/ephyr/ephyrhostglx.c @@ -428,7 +428,7 @@ ephyrHostGLXSendClientInfo (int32_t a_major, int32_t a_minor, req->minor = a_minor; size = strlen (a_extension_list) + 1; - req->length += (size + 3) >> 2; + req->length += bytes_to_int32(size); req->numbytes = size; Data (dpy, a_extension_list, size); diff --git a/xorg-server/hw/kdrive/ephyr/ephyrinit.c b/xorg-server/hw/kdrive/ephyr/ephyrinit.c index e5ca089b1..27c346dd1 100644 --- a/xorg-server/hw/kdrive/ephyr/ephyrinit.c +++ b/xorg-server/hw/kdrive/ephyr/ephyrinit.c @@ -111,6 +111,7 @@ ddxUseMsg (void) #endif ErrorF("-noxv do not use XV\n"); ErrorF("-name [name] define the name in the WM_CLASS property\n"); + ErrorF("-title [title] set the window title in the WM_NAME property\n"); ErrorF("\n"); exit(1); @@ -245,10 +246,44 @@ ddxProcessArgument (int argc, char **argv, int i) return 0; } } + else if (!strcmp (argv[i], "-title")) + { + if (i+1 < argc && argv[i+1][0] != '-') + { + hostx_set_title(argv[i+1]); + return 2; + } + else + { + UseMsg(); + return 0; + } + } else if (argv[i][0] == ':') { hostx_set_display_name(argv[i]); } + /* Xnest compatibility */ + else if (!strcmp(argv[i], "-display")) + { + hostx_set_display_name(argv[i+1]); + return 2; + } + else if (!strcmp(argv[i], "-sync") || + !strcmp(argv[i], "-full") || + !strcmp(argv[i], "-sss") || + !strcmp(argv[i], "-install")) + { + return 1; + } + else if (!strcmp(argv[i], "-bw") || + !strcmp(argv[i], "-class") || + !strcmp(argv[i], "-geometry") || + !strcmp(argv[i], "-scrns")) + { + return 2; + } + /* end Xnest compat */ return KdProcessArgument (argc, argv, i); } diff --git a/xorg-server/hw/kdrive/ephyr/ephyrvideo.c b/xorg-server/hw/kdrive/ephyr/ephyrvideo.c index c4eb06607..5058ebe03 100644 --- a/xorg-server/hw/kdrive/ephyr/ephyrvideo.c +++ b/xorg-server/hw/kdrive/ephyr/ephyrvideo.c @@ -236,7 +236,7 @@ DoSimpleClip (BoxPtr a_dst_box, static Bool ephyrLocalAtomToHost (int a_local_atom, int *a_host_atom) { - char *atom_name=NULL; + const char *atom_name=NULL; int host_atom=None ; EPHYR_RETURN_VAL_IF_FAIL (a_host_atom, FALSE) ; diff --git a/xorg-server/hw/kdrive/ephyr/hostx.c b/xorg-server/hw/kdrive/ephyr/hostx.c index 9a31b0b94..7a828eb31 100644 --- a/xorg-server/hw/kdrive/ephyr/hostx.c +++ b/xorg-server/hw/kdrive/ephyr/hostx.c @@ -80,6 +80,7 @@ struct EphyrHostScreen { Window win; Window win_pre_existing; /* Set via -parent option like xnest */ + Window peer_win; /* Used for GL; should be at most one */ XImage *ximg; int win_width, win_height; int server_depth; @@ -123,6 +124,7 @@ extern int monitorResolution; char *ephyrResName = NULL; int ephyrResNameFromCmd = 0; +char *ephyrTitle = NULL; static void hostx_set_fullscreen_hint(void); @@ -227,20 +229,25 @@ hostx_set_screen_number(EphyrScreenInfo screen, int number) void hostx_set_win_title (EphyrScreenInfo screen, char *extra_text) { - struct EphyrHostScreen *host_screen = host_screen_from_screen_info (screen); -#define BUF_LEN 256 - char buf[BUF_LEN+1]; + struct EphyrHostScreen *host_screen = host_screen_from_screen_info (screen); - if (!host_screen) + if (!host_screen) return; - memset (buf, 0, BUF_LEN+1) ; - snprintf (buf, BUF_LEN, "Xephyr on %s.%d %s", - HostX.server_dpy_name, - host_screen->mynum, - (extra_text != NULL) ? extra_text : ""); + if (ephyrTitle) { + XStoreName(HostX.dpy, host_screen->win, ephyrTitle); + } else { +#define BUF_LEN 256 + char buf[BUF_LEN+1]; - XStoreName (HostX.dpy, host_screen->win, buf); + memset (buf, 0, BUF_LEN+1) ; + snprintf (buf, BUF_LEN, "Xephyr on %s.%d %s", + HostX.server_dpy_name, + host_screen->mynum, + (extra_text != NULL) ? extra_text : ""); + + XStoreName (HostX.dpy, host_screen->win, buf); + } } int @@ -324,6 +331,12 @@ hostx_use_resname (char *name, int fromcmd) ephyrResNameFromCmd = fromcmd; } +void +hostx_set_title (char *title) +{ + ephyrTitle = title; +} + int hostx_init (void) { @@ -592,7 +605,7 @@ hostx_calculate_color_shift(unsigned long mask) { int shift = 1; /* count # of bits in mask */ - while (mask=(mask>>1)) shift++; + while ((mask = (mask >> 1))) shift++; /* cmap entry is an unsigned char so adjust it by size of that */ shift = shift - sizeof(unsigned char) * 8; if (shift < 0) shift = 0; @@ -930,35 +943,17 @@ host_screen_from_window (Window w) { int index = 0; struct EphyrHostScreen *result = NULL; -#if 0 - unsigned int num_children = 0; - Window root = None, parent = None, *children = NULL; -#endif for (index = 0 ; index < HostX.n_screens ; index++) { - if (HostX.screens[index].win == w) + if (HostX.screens[index].win == w || HostX.screens[index].peer_win == w) { result = &HostX.screens[index]; goto out; } } -#if 0 - XQueryTree (hostx_get_display (), w, &root, &parent, - &children, &num_children); - if (parent == root || parent == None) - goto out; - result = host_screen_from_window (parent); -#endif out: -#if 0 - if (children) - { - XFree (children); - children = NULL; - } -#endif return result; } @@ -1252,6 +1247,11 @@ hostx_create_window (int a_screen_number, EPHYR_LOG_ERROR ("failed to create peer window\n") ; goto out ; } + if (HostX.screens[a_screen_number].peer_win == None) { + HostX.screens[a_screen_number].peer_win = win; + } else { + EPHYR_LOG_ERROR ("multiple peer windows created for same screen\n") ; + } XFlush (dpy) ; XMapWindow (dpy, win) ; *a_host_peer = win ; diff --git a/xorg-server/hw/kdrive/ephyr/hostx.h b/xorg-server/hw/kdrive/ephyr/hostx.h index ebc15822a..f455b3003 100644 --- a/xorg-server/hw/kdrive/ephyr/hostx.h +++ b/xorg-server/hw/kdrive/ephyr/hostx.h @@ -152,6 +152,9 @@ hostx_use_preexisting_window(unsigned long win_id); void hostx_use_resname (char *name, int fromcmd); +void +hostx_set_title(char *name); + void hostx_handle_signal(int signum); |