[PATCH xserver 1/3] docbook.am: global maintenance update - entities, images and olinking

2011-09-14 Thread Gaetan Nadon
Adding support in libX11 for html chunking caused a reorg of docbook.am
as well as the xorg-sgml-doctools masterdb for olinking.
The parameter img.src.path is added for pdf images.
A searchpath to the root builddir is added for local entities, if present.
This feature was initiated by xserver module and made available to all.

The docbook.am makefile hides all the details and is identical for
all 22 modules having DocBook documentation. It is included by a thin
Makefile.am which requires no docbook knowledge.

Signed-off-by: Gaetan Nadon mems...@videotron.ca
---
 docbook.am |  116 
 1 files changed, 62 insertions(+), 54 deletions(-)

diff --git a/docbook.am b/docbook.am
index eb3bf0c..9377f5b 100644
--- a/docbook.am
+++ b/docbook.am
@@ -21,76 +21,84 @@ shelf_DATA =
 dist_shelf_DATA = $(docbook) $(chapters)
 
 if HAVE_XMLTO
-#
-# Generate DocBook/XML output formats with or without stylesheets
-#
-
-# Stylesheets are available if the package xorg-sgml-doctools is installed
 if HAVE_STYLESHEETS
 
-# The location where all cross reference databases are installed
-sgmldbsdir = $(XORG_SGML_PATH)/X11/dbs
-masterdb = $(sgmldbsdir)/masterdb$(suffix $@).xml
-XMLTO_FLAGS =  \
-   --searchpath $(XORG_SGML_PATH)/X11\
-   --searchpath $(abs_top_builddir)  \
-   --stringparam target.database.document=$(masterdb)  \
-   --stringparam current.docid=$(:.xml=)\
-   --stringparam collect.xref.targets=no
-
-XMLTO_XHTML_FLAGS = \
-   -x $(STYLESHEET_SRCDIR)/xorg-xhtml.xsl \
-   --stringparam html.stylesheet=$(STYLESHEET_SRCDIR)/xorg.css
-
-XMLTO_FO_FLAGS = \
-   -x $(STYLESHEET_SRCDIR)/xorg-fo.xsl
-endif HAVE_STYLESHEETS
+XMLTO_SEARCHPATH_FLAGS =   \
+   --searchpath $(XORG_SGML_PATH)/X11\
+   --searchpath $(abs_top_builddir)
+XMLTO_HTML_OLINK_FLAGS = \
+   --stringparam 
target.database.document=$(XORG_SGML_PATH)/X11/dbs/masterdb.html.xml \
+   --stringparam current.docid=$(:.xml=)
+XMLTO_HTML_STYLESHEET_FLAGS = -x $(STYLESHEET_SRCDIR)/xorg-xhtml.xsl
+XMLTO_HTML_CSS_STYLESHEET_FLAGS = --stringparam 
html.stylesheet=$(STYLESHEET_SRCDIR)/xorg.css
+XMLTO_HTML_FLAGS = \
+   $(XMLTO_SEARCHPATH_FLAGS)   \
+   $(XMLTO_HTML_STYLESHEET_FLAGS)  \
+   $(XMLTO_HTML_CSS_STYLESHEET_FLAGS)  \
+   $(XMLTO_HTML_OLINK_FLAGS)
 
 shelf_DATA += $(docbook:.xml=.html)
-%.html: %.xml  $(chapters)
-   $(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) $(XMLTO_XHTML_FLAGS) xhtml-nochunks 
$
-
-if HAVE_FOP
-shelf_DATA += $(docbook:.xml=.pdf) $(docbook:.xml=.ps)
-%.pdf: %.xml $(chapters)
-   $(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) $(XMLTO_FO_FLAGS) --with-fop pdf $
-%.ps: %.xml $(chapters)
-   $(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) $(XMLTO_FO_FLAGS) --with-fop ps $
-endif HAVE_FOP
+%.html: %.xml $(chapters)
+   $(AM_V_GEN)$(XMLTO) $(XMLTO_HTML_FLAGS) xhtml-nochunks $
 
 if HAVE_XMLTO_TEXT
+
 shelf_DATA += $(docbook:.xml=.txt)
 %.txt: %.xml $(chapters)
-   $(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) $(XMLTO_XHTML_FLAGS) txt $
+   $(AM_V_GEN)$(XMLTO) $(XMLTO_HTML_FLAGS) txt $
 endif HAVE_XMLTO_TEXT
 
-#
-# Generate documents cross-reference target databases
-#
+if HAVE_FOP
+XMLTO_FO_IMAGEPATH_FLAGS = --stringparam img.src.path=$(abs_builddir)/
+XMLTO_PDF_OLINK_FLAGS = \
+   --stringparam 
target.database.document=$(XORG_SGML_PATH)/X11/dbs/masterdb.pdf.xml \
+   --stringparam current.docid=$(:.xml=)
+XMLTO_FO_STYLESHEET_FLAGS = -x $(STYLESHEET_SRCDIR)/xorg-fo.xsl
+
+XMLTO_FO_FLAGS =   \
+   $(XMLTO_SEARCHPATH_FLAGS)   \
+   $(XMLTO_FO_STYLESHEET_FLAGS)\
+   $(XMLTO_FO_IMAGEPATH_FLAGS) \
+   $(XMLTO_PDF_OLINK_FLAGS)
+
+shelf_DATA += $(docbook:.xml=.pdf)
+%.pdf: %.xml $(chapters)
+   $(AM_V_GEN)$(XMLTO) $(XMLTO_FO_FLAGS) --with-fop pdf $
 
-# This is only possible if the xorg-sgml-doctools package is installed
-if HAVE_STYLESHEETS
-if HAVE_XSLTPROC
+shelf_DATA += $(docbook:.xml=.ps)
+%.ps: %.xml $(chapters)
+   $(AM_V_GEN)$(XMLTO) $(XMLTO_FO_FLAGS) --with-fop ps $
+endif HAVE_FOP
 
-# DocBook/XML generated document cross-reference database
-shelf_DATA += $(docbook:.xml=.html.db) $(docbook:.xml=.fo.db)
+# Generate documents cross-reference target databases
+if HAVE_XSLTPROC
 
-# Generate DocBook/XML document cross-reference database
-# Flags for the XSL Transformation processor generating xref target databases
-XSLTPROC_FLAGS =   \
+XSLT_SEARCHPATH_FLAGS =\
--path $(XORG_SGML_PATH)/X11  \
-   --path $(abs_top_builddir)\
-   --stringparam targets.filename $@ \
- 

[PATCH xserver 2/3] docbook.am: embed css styles inside the HTML HEAD element

2011-09-14 Thread Gaetan Nadon
Rather than referring to the external xorg.css stylesheet, embed the content
of the file in the html output produced. This is accomplished by using
version 1.10 of xorg-xhtml.xsl.

This makes the whole html docs tree much more relocatable.
In addition, it eliminates xorg.css as a runtime file which makes
xorg-sgml-doctools a build time only package.

Signed-off-by: Gaetan Nadon mems...@videotron.ca
---
 docbook.am |2 --
 1 files changed, 0 insertions(+), 2 deletions(-)

diff --git a/docbook.am b/docbook.am
index 9377f5b..bba4d54 100644
--- a/docbook.am
+++ b/docbook.am
@@ -30,11 +30,9 @@ XMLTO_HTML_OLINK_FLAGS = \
--stringparam 
target.database.document=$(XORG_SGML_PATH)/X11/dbs/masterdb.html.xml \
--stringparam current.docid=$(:.xml=)
 XMLTO_HTML_STYLESHEET_FLAGS = -x $(STYLESHEET_SRCDIR)/xorg-xhtml.xsl
-XMLTO_HTML_CSS_STYLESHEET_FLAGS = --stringparam 
html.stylesheet=$(STYLESHEET_SRCDIR)/xorg.css
 XMLTO_HTML_FLAGS = \
$(XMLTO_SEARCHPATH_FLAGS)   \
$(XMLTO_HTML_STYLESHEET_FLAGS)  \
-   $(XMLTO_HTML_CSS_STYLESHEET_FLAGS)  \
$(XMLTO_HTML_OLINK_FLAGS)
 
 shelf_DATA += $(docbook:.xml=.html)
-- 
1.7.4.1

___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel


[PATCH xserver 3/3] devbook.am: maintenance update from docbook.am

2011-09-14 Thread Gaetan Nadon
The developer docs are generated from a subset of docbook.am
which is sometimes updated.

The one difference for xserver is the embedded css style in the HEAD element.

Signed-off-by: Gaetan Nadon mems...@videotron.ca
---
 devbook.am |   45 +++--
 1 files changed, 19 insertions(+), 26 deletions(-)

diff --git a/devbook.am b/devbook.am
index 4e23bb7..400b2ca 100644
--- a/devbook.am
+++ b/devbook.am
@@ -20,43 +20,36 @@ noinst_DATA =
 # DocBook/XML file with chapters, appendix and images it includes
 dist_noinst_DATA = $(docbook) $(chapters)
 
-#
-# Generate DocBook/XML output formats with or without stylesheets
-#
-
-# Stylesheets are available if the package xorg-sgml-doctools is installed
 if HAVE_STYLESHEETS
 
-# The location where all cross reference databases are installed
-XMLTO_FLAGS =  \
-   --searchpath $(XORG_SGML_PATH)/X11\
+XMLTO_HTML_FLAGS = \
+   --searchpath $(XORG_SGML_PATH)/X11\
--searchpath $(abs_top_builddir)  \
-   --stringparam current.docid=$(:.xml=)
-
-XMLTO_XHTML_FLAGS = \
-   -m $(STYLESHEET_SRCDIR)/xorg-xhtml.xsl \
-   --stringparam html.stylesheet=$(STYLESHEET_SRCDIR)/xorg.css
-
-XMLTO_FO_FLAGS = \
-   -m $(STYLESHEET_SRCDIR)/xorg-fo.xsl
-endif HAVE_STYLESHEETS
+   -x $(STYLESHEET_SRCDIR)/xorg-xhtml.xsl
 
 noinst_DATA += $(docbook:.xml=.html)
 %.html: %.xml  $(chapters)
-   $(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) $(XMLTO_XHTML_FLAGS) xhtml-nochunks 
$
+   $(AM_V_GEN)$(XMLTO) $(XMLTO_HTML_FLAGS) xhtml-nochunks $
+
+if HAVE_XMLTO_TEXT
+noinst_DATA += $(docbook:.xml=.txt)
+%.txt: %.xml $(chapters)
+   $(AM_V_GEN)$(XMLTO) $(XMLTO_HTML_FLAGS) txt $
+endif HAVE_XMLTO_TEXT
 
 if HAVE_FOP
+XMLTO_FO_FLAGS =   \
+   --searchpath $(XORG_SGML_PATH)/X11\
+   --searchpath $(abs_top_builddir)  \
+   --stringparam img.src.path=$(abs_builddir)/ \
+   -x $(STYLESHEET_SRCDIR)/xorg-fo.xsl
+
 noinst_DATA += $(docbook:.xml=.pdf) $(docbook:.xml=.ps)
 %.pdf: %.xml $(chapters)
-   $(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) $(XMLTO_FO_FLAGS) --with-fop pdf $
+   $(AM_V_GEN)$(XMLTO) $(XMLTO_FO_FLAGS) --with-fop pdf $
 %.ps: %.xml $(chapters)
-   $(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) $(XMLTO_FO_FLAGS) --with-fop ps $
+   $(AM_V_GEN)$(XMLTO) $(XMLTO_FO_FLAGS) --with-fop ps $
 endif HAVE_FOP
-
-if HAVE_XMLTO_TEXT
-noinst_DATA += $(docbook:.xml=.txt)
-%.txt: %.xml $(chapters)
-   $(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) $(XMLTO_XHTML_FLAGS) txt $
-endif HAVE_XMLTO_TEXT
+endif HAVE_STYLESHEETS
 
 CLEANFILES = $(noinst_DATA)
-- 
1.7.4.1

___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel


Re: [PATCH] int10: Delete unused _PC variant methods.

2011-09-14 Thread Jamey Sharp
I retract this patch. I didn't see this section of
hw/xfree86/int10/Makefile.am:

if I386_VIDEO
I386_VIDEO_CFLAGS = -D_PC
endif

configure.ac is setting I386_VIDEO on i*86 and x86_64/amd64.

Jamey

On Tue, Sep 13, 2011 at 05:36:48PM -0500, Jamey Sharp wrote:
 I can't find any evidence that _PC has ever been defined.
 
 Patch created by fixing the documentation that referenced _PC, and
 running:
 
   for f in `git grep -Fwl _PC -- '*.[ch]'`; do
   unifdef -U_PC -B $f | sponge $f;
   done
 
 Signed-off-by: Jamey Sharp ja...@minilop.net
 Cc: Tomas Carnecky t...@dbservice.com
 ---
 Tomas, you're the last person who touched anything _PC-related, and it
 looks like you were building with _PC defined, so perhaps you could
 comment on where this symbol comes from?
 
  hw/xfree86/int10/INT10.HOWTO  |6 +--
  hw/xfree86/int10/generic.c|   85 
 -
  hw/xfree86/int10/helper_exec.c|   64 --
  hw/xfree86/int10/helper_mem.c |2 -
  hw/xfree86/int10/xf86int10.c  |6 --
  hw/xfree86/int10/xf86int10.h  |3 -
  hw/xfree86/os-support/linux/int10/linux.c |9 ---
  7 files changed, 1 insertions(+), 174 deletions(-)
 
 diff --git a/hw/xfree86/int10/INT10.HOWTO b/hw/xfree86/int10/INT10.HOWTO
 index e2154c1..7f734fc 100644
 --- a/hw/xfree86/int10/INT10.HOWTO
 +++ b/hw/xfree86/int10/INT10.HOWTO
 @@ -121,10 +121,6 @@ IPC to  map the  appropriate real  mode memory image  to 
 address  0 in
  virtual  address  space  just  prior  to execution  may  be  found  in
  xfree86/os-support/linux/int10/linux.c.
  
 -On  non-PC like  platforms emulation  of certain  PC features  such as
 -initialization of  BIOS int vectors, sys_BIOS constants  or PCI config
 -method 1 can be turned on by defining _PC.
 -
  I. Setup Code
  -
  
 @@ -316,7 +312,7 @@ is provided. The use should be self explanatory.
  
  Register  and memory  access functions  are provided  in helper_mem.c.
  The PIO register access functions  can trap access to PCI config space
 -access register (config method 1) if _PC is not defined.
 +access register (config method 1).
  
  A header  file 'defines.h' is required to  define OS/emulator specific
  ways  to access  memory and  xf86 CPU  registers: Defines  need  to be
 diff --git a/hw/xfree86/int10/generic.c b/hw/xfree86/int10/generic.c
 index fe8bb69..77eb917 100644
 --- a/hw/xfree86/int10/generic.c
 +++ b/hw/xfree86/int10/generic.c
 @@ -55,10 +55,6 @@ int10MemRec genericMem = {
  
  static void MapVRam(xf86Int10InfoPtr pInt);
  static void UnmapVRam(xf86Int10InfoPtr pInt);
 -#ifdef _PC
 -#define GET_HIGH_BASE(x) (((V_BIOS + (x) + getpagesize() - 1)/getpagesize()) 
 \
 -  * getpagesize())
 -#endif
  
  static void *sysMem = NULL;
  
 @@ -75,7 +71,6 @@ static void *sysMem = NULL;
   * etc.).  How do we know that \c pci_device_read_rom will return the
   * legacy VGA BIOS image?
   */
 -#ifndef _PC
  static int
  read_legacy_video_BIOS(struct pci_device *dev, unsigned char *Buf)
  {
 @@ -115,7 +110,6 @@ read_legacy_video_BIOS(struct pci_device *dev, unsigned 
 char *Buf)
  
  return Len;
  }
 -#endif /* _PC */
  
  
  xf86Int10InfoPtr
 @@ -161,76 +155,6 @@ xf86ExtendedInitInt10(int entityIndex, int Flags)
   * registers into this range.
   */
  MapVRam(pInt);
 -#ifdef _PC
 -if (!sysMem)
 - sysMem = xf86MapVidMem(screen, VIDMEM_MMIO, V_BIOS,
 -BIOS_SIZE + SYS_BIOS - V_BIOS);
 -INTPriv(pInt)-sysMem = sysMem;
 -
 -if (xf86ReadBIOS(0, 0, base, LOW_PAGE_SIZE)  0) {
 - xf86DrvMsg(screen, X_ERROR, Cannot read int vect\n);
 - goto error1;
 -}
 -
 -/*
 - * Retrieve everything between V_BIOS and SYS_BIOS as some system BIOSes
 - * have executable code there.  Note that xf86ReadBIOS() can only read in
 - * 64kB at a time.
 - */
 -memset((char *)base + V_BIOS, 0, SYS_BIOS - V_BIOS);
 -#if 0
 -for (cs = V_BIOS;  cs  SYS_BIOS;  cs += V_BIOS_SIZE)
 - if (xf86ReadBIOS(cs, 0, (unsigned char *)base + cs, V_BIOS_SIZE) 
 - V_BIOS_SIZE)
 - xf86DrvMsg(screen, X_WARNING,
 -Unable to retrieve all of segment 0x%06X.\n, cs);
 -#endif
 -INTPriv(pInt)-highMemory = V_BIOS;
 -
 -if (xf86IsEntityPrimary(entityIndex)  !(initPrimary(options))) {
 - if (!xf86int10GetBiosSegment(pInt, (unsigned char *)sysMem - V_BIOS))
 - goto error1;
 -
 - set_return_trap(pInt);
 -
 - pInt-Flags = Flags  (SET_BIOS_SCRATCH | RESTORE_BIOS_SCRATCH);
 - if (! (pInt-Flags  SET_BIOS_SCRATCH))
 - pInt-Flags = ~RESTORE_BIOS_SCRATCH;
 - xf86Int10SaveRestoreBIOSVars(pInt, TRUE);
 - 
 -} else {
 - const BusType location_type = xf86int10GetBiosLocationType(pInt);
 - int bios_location = V_BIOS;
 -
 -reset_int_vect(pInt);
 - set_return_trap(pInt);
 -
 - switch (location_type) {
 

[PATCH] configure.ac: Remove unreachable check for VM86 headers.

2011-09-14 Thread Jamey Sharp
configure --with-int10=yes is not a valid configuration, and the check
for sys/vm86.h and sys/io.h is not used. Delete it.

Signed-off-by: Jamey Sharp ja...@minilop.net
---
 configure.ac|4 
 include/dix-config.h.in |6 --
 2 files changed, 0 insertions(+), 10 deletions(-)

diff --git a/configure.ac b/configure.ac
index 93cd6a9..06cf9bf 100644
--- a/configure.ac
+++ b/configure.ac
@@ -702,10 +702,6 @@ AM_CONDITIONAL(SECURE_RPC, [test x$SECURE_RPC = xyes])
 AM_CONDITIONAL(INT10_VM86, [test x$INT10 = xvm86])
 AM_CONDITIONAL(INT10_X86EMU, [test x$INT10 = xx86emu])
 AM_CONDITIONAL(INT10_STUB, [test x$INT10 = xstub])
-if test x$INT10 = xyes; then
-   dnl VM86 headers
-   AC_CHECK_HEADERS([sys/vm86.h sys/io.h])
-fi
 
 dnl Handle installing libxf86config
 AM_CONDITIONAL(INSTALL_LIBXF86CONFIG, [test x$INSTALL_LIBXF86CONFIG = xyes])
diff --git a/include/dix-config.h.in b/include/dix-config.h.in
index 4710ef8..5facb11 100644
--- a/include/dix-config.h.in
+++ b/include/dix-config.h.in
@@ -209,9 +209,6 @@
*/
 #undef HAVE_SYS_DIR_H
 
-/* Define to 1 if you have the sys/io.h header file. */
-#undef HAVE_SYS_IO_H
-
 /* Define to 1 if you have the sys/ndir.h header file, and it defines `DIR'.
*/
 #undef HAVE_SYS_NDIR_H
@@ -225,9 +222,6 @@
 /* Define to 1 if you have the sys/utsname.h header file. */
 #undef HAVE_SYS_UTSNAME_H
 
-/* Define to 1 if you have the sys/vm86.h header file. */
-#undef HAVE_SYS_VM86_H
-
 /* Define to 1 if you have the tslib.h header file. */
 #undef HAVE_TSLIB_H
 
-- 
1.7.5.4

___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel


[PATCH 1/2] Extend XIAllowEvents for handling touch grab processing

2011-09-14 Thread Chase Douglas
This removes the XIAllowTouchEvents request, which was the only new
request added for multitouch.

Signed-off-by: Chase Douglas chase.doug...@canonical.com
---
 XI2.h  |6 +--
 XI2proto.h |   20 ++--
 specs/XI2proto.txt |   87 +++
 3 files changed, 38 insertions(+), 75 deletions(-)

diff --git a/XI2.h b/XI2.h
index 2e19e03..2514d55 100644
--- a/XI2.h
+++ b/XI2.h
@@ -108,10 +108,8 @@
 #define XIAsyncPairedDevice 3
 #define XIAsyncPair 4
 #define XISyncPair  5
-
-/* XIAllowTouchEvents bitmask event-modes */
-#define XITouchAccept   (1  0)
-#define XITouchReject   (1  1)
+#define XIAcceptTouch   6
+#define XIRejectTouch   7
 
 /* DeviceChangedEvent change reasons */
 #define XISlaveSwitch   1
diff --git a/XI2proto.h b/XI2proto.h
index 8117767..3315f1e 100644
--- a/XI2proto.h
+++ b/XI2proto.h
@@ -92,10 +92,9 @@
 #define X_XIDeleteProperty  58
 #define X_XIGetProperty 59
 #define X_XIGetSelectedEvents   60
-#define X_XIAllowTouchEvents61
 
 /** Number of XI requests */
-#define XI2REQUESTS (X_XIAllowTouchEvents - X_XIQueryPointer + 1)
+#define XI2REQUESTS (X_XIGetSelectedEvents - X_XIQueryPointer + 1)
 /** Number of XI2 events */
 #define XI2EVENTS   (XI_LASTEVENT + 1)
 
@@ -648,8 +647,9 @@ typedef struct {
 uint16_tdeviceid;
 uint8_t mode;
 uint8_t pad;
+uint32_ttouch_id;   /** Since XI 2.2 */
 } xXIAllowEventsReq;
-#define sz_xXIAllowEventsReq   12
+#define sz_xXIAllowEventsReq   16 /** Was 12 before XI 2.2 */
 
 
 /**
@@ -799,20 +799,6 @@ typedef struct {
 } xXIGetPropertyReply;
 #define sz_xXIGetPropertyReply   32
 
-/**
- * Accept or reject a grabbed touch sequence.
- */
-typedef struct {
-uint8_t reqType;
-uint8_t ReqType;/** Always ::X_XIAllowTouchEvents */
-uint16_tlength; /** Length in 4 byte units */
-uint32_ttouchid;
-uint16_tdeviceid;
-uint8_t mode;   /** bitmask */
-uint8_t pad;
-} xXIAllowTouchEventsReq;
-#define sz_xXIAllowTouchEventsReq   12
-
 
/*
  * 
  *
  *  EVENTS 
  *
diff --git a/specs/XI2proto.txt b/specs/XI2proto.txt
index 3eea2f5..9bd586a 100644
--- a/specs/XI2proto.txt
+++ b/specs/XI2proto.txt
@@ -360,9 +360,8 @@ Ownership of touch sequences
 
 
 Once a grabbing client becomes the owner of a touch, it must either “accept” or
-reject the touch sequence using the
-XIAllowTouchEvents request. If a touch sequence is
-rejected, a TouchEnd event is sent to the rejecting client, and it will not
+reject the touch sequence using the XIAllowEvents request. If a touch 
sequence
+is rejected, a TouchEnd event is sent to the rejecting client, and it will not
 receive any more events for this touch.  The server then looks to the next
 window in the stack for another passive grab, and attempts to pass ownership
 on to the next candidate for a passive grab (i.e. the next window towards
@@ -1371,11 +1370,16 @@ active device grab becomes not viewable.
 time:TIMESTAMP or CurrentTime
 event_mode:  { AsyncDevice, SyncDevice,
AsyncPairedDevice, SyncPairedDevice,
-   ReplayDevice, AsyncPair, SyncPair }
+   ReplayDevice, AsyncPair, SyncPair, AcceptTouch*,
+   RejectTouch* }
+touch_id*:   CARD32
 └───
 
+* since XI 2.2
+
 The XIAllowEvents request releases some queued events if the client
-has caused a device to freeze.
+has caused a device to freeze. It also is used to handle touch grab and
+ownership processing.
 
 deviceid
 The device to grab.
@@ -1383,12 +1387,19 @@ has caused a device to freeze.
 A valid server time or CurrentTime.
 event_mode
 Specifies whether a device is to be thawed and events are to be
-replayed.
+replayed, or how to handle a grabbed touch sequence.
+touch_id
+The ID of the touch sequence to accept or reject. The value is 
undefined
+for event modes other than AcceptTouch and RejectTouch.
 
 The request has no effect if the specified time is earlier than the
 last-grab time of the most recent active grab for the client, or if the
 specified time is later than the current X server time.
 
+When event-mode is AcceptTouch or RejectTouch, a BadValue error occurs if the
+touch ID is invalid. 

Re: [PATCH] configure.ac: Remove unreachable check for VM86 headers.

2011-09-14 Thread Alan Coopersmith

On 09/14/11 10:07 AM, Jamey Sharp wrote:

configure --with-int10=yes is not a valid configuration, and the check
for sys/vm86.h and sys/io.h is not used. Delete it.
  AM_CONDITIONAL(INT10_VM86, [test x$INT10 = xvm86])
  AM_CONDITIONAL(INT10_X86EMU, [test x$INT10 = xx86emu])
  AM_CONDITIONAL(INT10_STUB, [test x$INT10 = xstub])
-if test x$INT10 = xyes; then
-   dnl VM86 headers
-   AC_CHECK_HEADERS([sys/vm86.h sys/io.h])
-fi


Should that be checking for x$INT10 = xvm86 since it's checking for the 
vm86 headers?   Perhaps AC_ERRORing if vm86 is requested and they're not

found?

--
-Alan Coopersmith-alan.coopersm...@oracle.com
 Oracle Solaris Platform Engineering: X Window System
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel


Re: [PATCH] configure.ac: Remove unreachable check for VM86 headers.

2011-09-14 Thread Jamey Sharp
On Wed, Sep 14, 2011 at 10:39:53AM -0500, Alan Coopersmith wrote:
 On 09/14/11 10:07 AM, Jamey Sharp wrote:
 configure --with-int10=yes is not a valid configuration, and the check
 for sys/vm86.h and sys/io.h is not used. Delete it.
   AM_CONDITIONAL(INT10_VM86, [test x$INT10 = xvm86])
   AM_CONDITIONAL(INT10_X86EMU, [test x$INT10 = xx86emu])
   AM_CONDITIONAL(INT10_STUB, [test x$INT10 = xstub])
 -if test x$INT10 = xyes; then
 -dnl VM86 headers
 -AC_CHECK_HEADERS([sys/vm86.h sys/io.h])
 -fi
 
 Should that be checking for x$INT10 = xvm86 since it's checking
 for the vm86 headers?   Perhaps AC_ERRORing if vm86 is requested and
 they're not
 found?

Oddly, nothing in-tree #includes sys/vm86.h, not even the INT10_VM86
implementation. So no, I think this block should just die.

Some things do #include sys/io.h, but they aren't related to int10 and
didn't use HAVE_SYS_IO_H.

Jamey


signature.asc
Description: Digital signature
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Re: [PATCH 1/2] Extend XIAllowEvents for handling touch grab processing

2011-09-14 Thread Peter Hutterer
On Wed, Sep 14, 2011 at 10:22:35AM -0500, Chase Douglas wrote:
 This removes the XIAllowTouchEvents request, which was the only new
 request added for multitouch.
 
 Signed-off-by: Chase Douglas chase.doug...@canonical.com

Reviewed-by: Peter Hutterer peter.hutte...@who-t.net

 ---
  XI2.h  |6 +--
  XI2proto.h |   20 ++--
  specs/XI2proto.txt |   87 +++
  3 files changed, 38 insertions(+), 75 deletions(-)
 
 diff --git a/XI2.h b/XI2.h
 index 2e19e03..2514d55 100644
 --- a/XI2.h
 +++ b/XI2.h
 @@ -108,10 +108,8 @@
  #define XIAsyncPairedDevice 3
  #define XIAsyncPair 4
  #define XISyncPair  5
 -
 -/* XIAllowTouchEvents bitmask event-modes */
 -#define XITouchAccept   (1  0)
 -#define XITouchReject   (1  1)
 +#define XIAcceptTouch   6
 +#define XIRejectTouch   7
  
  /* DeviceChangedEvent change reasons */
  #define XISlaveSwitch   1
 diff --git a/XI2proto.h b/XI2proto.h
 index 8117767..3315f1e 100644
 --- a/XI2proto.h
 +++ b/XI2proto.h
 @@ -92,10 +92,9 @@
  #define X_XIDeleteProperty  58
  #define X_XIGetProperty 59
  #define X_XIGetSelectedEvents   60
 -#define X_XIAllowTouchEvents61
  
  /** Number of XI requests */
 -#define XI2REQUESTS (X_XIAllowTouchEvents - X_XIQueryPointer + 1)
 +#define XI2REQUESTS (X_XIGetSelectedEvents - X_XIQueryPointer + 1)
  /** Number of XI2 events */
  #define XI2EVENTS   (XI_LASTEVENT + 1)
  
 @@ -648,8 +647,9 @@ typedef struct {
  uint16_tdeviceid;
  uint8_t mode;
  uint8_t pad;
 +uint32_ttouch_id;   /** Since XI 2.2 */
  } xXIAllowEventsReq;
 -#define sz_xXIAllowEventsReq   12
 +#define sz_xXIAllowEventsReq   16 /** Was 12 before XI 2.2 
 */
  
  
  /**
 @@ -799,20 +799,6 @@ typedef struct {
  } xXIGetPropertyReply;
  #define sz_xXIGetPropertyReply   32
  
 -/**
 - * Accept or reject a grabbed touch sequence.
 - */
 -typedef struct {
 -uint8_t reqType;
 -uint8_t ReqType;/** Always ::X_XIAllowTouchEvents */
 -uint16_tlength; /** Length in 4 byte units */
 -uint32_ttouchid;
 -uint16_tdeviceid;
 -uint8_t mode;   /** bitmask */
 -uint8_t pad;
 -} xXIAllowTouchEventsReq;
 -#define sz_xXIAllowTouchEventsReq   12
 -
  
 /*
   *   
 *
   *  EVENTS   
 *
 diff --git a/specs/XI2proto.txt b/specs/XI2proto.txt
 index 3eea2f5..9bd586a 100644
 --- a/specs/XI2proto.txt
 +++ b/specs/XI2proto.txt
 @@ -360,9 +360,8 @@ Ownership of touch sequences
  
  
  Once a grabbing client becomes the owner of a touch, it must either “accept” 
 or
 -reject the touch sequence using the
 -XIAllowTouchEvents request. If a touch sequence is
 -rejected, a TouchEnd event is sent to the rejecting client, and it will not
 +reject the touch sequence using the XIAllowEvents request. If a touch 
 sequence
 +is rejected, a TouchEnd event is sent to the rejecting client, and it will 
 not
  receive any more events for this touch.  The server then looks to the next
  window in the stack for another passive grab, and attempts to pass ownership
  on to the next candidate for a passive grab (i.e. the next window towards
 @@ -1371,11 +1370,16 @@ active device grab becomes not viewable.
  time:TIMESTAMP or CurrentTime
  event_mode:  { AsyncDevice, SyncDevice,
 AsyncPairedDevice, SyncPairedDevice,
 -   ReplayDevice, AsyncPair, SyncPair }
 +   ReplayDevice, AsyncPair, SyncPair, 
 AcceptTouch*,
 +   RejectTouch* }
 +touch_id*:   CARD32
  └───
  
 +* since XI 2.2
 +
  The XIAllowEvents request releases some queued events if the client
 -has caused a device to freeze.
 +has caused a device to freeze. It also is used to handle touch grab and
 +ownership processing.
  
  deviceid
  The device to grab.
 @@ -1383,12 +1387,19 @@ has caused a device to freeze.
  A valid server time or CurrentTime.
  event_mode
  Specifies whether a device is to be thawed and events are to be
 -replayed.
 +replayed, or how to handle a grabbed touch sequence.
 +touch_id
 +The ID of the touch sequence to accept or reject. The value is 
 undefined
 +for event modes other than AcceptTouch and RejectTouch.
  
  The request has no effect if the specified time 

Re: [PATCH 2/2] Allow grabbing clients to accept or reject touches any time

2011-09-14 Thread Peter Hutterer
On Wed, Sep 14, 2011 at 10:22:36AM -0500, Chase Douglas wrote:
 This is potentially both a performance and client complexity
 improvement.

this needs more description, especially for the archives (we just talked
about this here at the XDC), please add that to the commit message.

and one more thing: if a client can reject a sequence at any time it may be
that the sequence already disappeared by the time the reject is processed.
(this shouldn't happen unless the client buffers the request but thats been
known to happen).

should we allow clients to reject any touch (even invalid ones) without
returning a BadValue?

Cheers,
  Peter

 
 Signed-off-by: Chase Douglas chase.doug...@canonical.com
 ---
  XI2proto.h |3 ++-
  specs/XI2proto.txt |   26 +-
  2 files changed, 19 insertions(+), 10 deletions(-)
 
 diff --git a/XI2proto.h b/XI2proto.h
 index 3315f1e..9e2c63c 100644
 --- a/XI2proto.h
 +++ b/XI2proto.h
 @@ -648,8 +648,9 @@ typedef struct {
  uint8_t mode;
  uint8_t pad;
  uint32_ttouch_id;   /** Since XI 2.2 */
 +Window  grab_window;/** Since XI 2.2 */
  } xXIAllowEventsReq;
 -#define sz_xXIAllowEventsReq   16 /** Was 12 before XI 2.2 
 */
 +#define sz_xXIAllowEventsReq   20 /** Was 12 before XI 2.2 
 */
  
  
  /**
 diff --git a/specs/XI2proto.txt b/specs/XI2proto.txt
 index 9bd586a..63e8bb3 100644
 --- a/specs/XI2proto.txt
 +++ b/specs/XI2proto.txt
 @@ -1373,6 +1373,7 @@ active device grab becomes not viewable.
 ReplayDevice, AsyncPair, SyncPair, 
 AcceptTouch*,
 RejectTouch* }
  touch_id*:   CARD32
 +grab_window*:Window
  └───
  
  * since XI 2.2
 @@ -1391,14 +1392,18 @@ ownership processing.
  touch_id
  The ID of the touch sequence to accept or reject. The value is 
 undefined
  for event modes other than AcceptTouch and RejectTouch.
 +grab_window
 +The window on which to accept or reject a touch sequence grab. The 
 value
 +is undefined for event modes other than AcceptTouch and RejectTouch.
  
 -The request has no effect if the specified time is earlier than the
 -last-grab time of the most recent active grab for the client, or if the
 -specified time is later than the current X server time.
 +For event modes other than AcceptTouch and RejectTouch, the request has no
 +effect if the specified time is earlier than the last-grab time of the most
 +recent active grab for the client, or if the specified time is later than the
 +current X server time.
  
  When event-mode is AcceptTouch or RejectTouch, a BadValue error occurs if the
  touch ID is invalid. A BadAccess error occurs if this client is not the 
 current
 -owner of the specified touch ID.
 +or potential owner of the specified touch ID.
  
  The following describes the processing that occurs depending on what constant
  you pass to the event-mode argument:
 @@ -1470,13 +1475,16 @@ you pass to the event-mode argument:
  paired master device frozen by the client.
  AsyncPair has no effect if deviceid specifies a slave device.
   AcceptTouch
 -The client is deemed to have taken control of the touch sequence.
 -TouchEnd events will be sent to all other clients listening to the 
 touch
 -sequence, and they will no longer receive any TouchUpdate events.
 +The client is deemed to have taken control of the touch sequence 
 once it
 +owns the sequence. TouchEnd events will be sent to all clients 
 listening
 +to the touch sequence that have either grabbed the touch sequence on 
 a
 +child window of the grab_window or have received events for the touch
 +sequence through event selection. These clients will no longer 
 receive
 +any TouchUpdate events.
   RejectTouch
  The client is no longer interested in the touch sequence, and will
 -receive a TouchEnd event. Ownership will be passed on to the next
 -listener.
 +receive a TouchEnd event. If the client is the current owner of the
 +sequence, ownership will be passed on to the next listener.
  
  [[requests-passivegrabdevice]]
  ┌───
 -- 
 1.7.4.1
 
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Re: [RFC PATCH 0/9] Bus layer cleanups

2011-09-14 Thread Jeremy Huddleston
I'm interested in this patch series since I'm working to get Xorg building on 
darwin and need to get the IOADDRESS type of shared code.  This is a pre-req 
for Tiago's --enable-pciaccess changes which I've rebased on recent master.

This series still applies except for the following:
[PATCH 5/9] vgahw: Port to pciaccess IO space routines
[PATCH 6/9] pci: Port xf86MapLegacyIO to pciaccess
[PATCH 7/9] linux: Use pci_device_get_parent_bridge instead of open-coding it

Adam, would you mind rebasing these and sending them out again for review?  For 
now I'm just going to work with Tiago's version which just does 
s/IOADDRESS/unsigned long/

--Jeremy

On Sep 21, 2010, at 6:28 PM, Adam Jackson wrote:

 This attempts to tackle Tiago's (justified) hatred for the IOADDRESS type
 in a slightly more elegant way.  We move more of the VGA hacks to vgahw,
 port it and int10 over to pciaccess' legacy I/O API, and then clean up
 some of the remaining detritus.
 
 THIS IS AN ABI BREAK.  Like, a pretty massive one.  Please do not pull
 this yet.  I'm mostly looking for r-b's here that the strategy looks
 sane.  The driver work needs to land before this lands, and it's pretty
 trivial, but I don't want to bother unless this is actually going to
 merge.
 
 Once (if) this lands, the only remaining direct usage of {in,out}[bwl]
 in xserver will be xf86SlowBcopy (jokes).  This also makes it plausible
 to convert the rest of the drivers to the pciaccess API, which then
 means we can drop roughly 137% of the content of compiler.h.
 
 ---
 
 The following changes since commit c768cdda92696b636c10bb2df64167d5274b4b99:
 
  Merge remote branch 'jamey/reviewed' (2010-09-13 16:48:33 -0700)
 
 are available in the git repository at:
 
  ssh://people.freedesktop.org/~ajax/xserver.git ioaddress
 
 Adam Jackson (9):
  xfree86: Move xf86GetClocks to vgahw
  int10: Port to pciaccess' legacy IO API
  vgahw: Move IO domain setup to IO dispatch vector setup
  vgahw: Don't default to standard (port space) access routines
  vgahw: Port to pciaccess IO space routines
  pci: Port xf86MapLegacyIO to pciaccess
  linux: Use pci_device_get_parent_bridge instead of open-coding it
  bus: remove some dead struct fields
  linux: Remove pre-2.6 PCI interface support
 
 hw/xfree86/common/xf86.h  |6 -
 hw/xfree86/common/xf86Bus.c   |1 -
 hw/xfree86/common/xf86Bus.h   |1 -
 hw/xfree86/common/xf86Helper.c|   90 ---
 hw/xfree86/common/xf86pciBus.c|   17 ++-
 hw/xfree86/common/xf86str.h   |1 -
 hw/xfree86/int10/generic.c|5 +-
 hw/xfree86/int10/helper_exec.c|   36 +++---
 hw/xfree86/int10/xf86int10.c  |   61 +-
 hw/xfree86/int10/xf86int10.h  |2 +-
 hw/xfree86/os-support/bus/Pci.c   |2 +-
 hw/xfree86/os-support/bus/Pci.h   |   16 +--
 hw/xfree86/os-support/bus/bsd_pci.c   |9 +--
 hw/xfree86/os-support/bus/linuxPci.c  |  200 +
 hw/xfree86/os-support/bus/xf86Pci.h   |4 +-
 hw/xfree86/os-support/shared/vidmem.c |6 -
 hw/xfree86/vgahw/vgaHW.c  |  178 ++---
 hw/xfree86/vgahw/vgaHW.h  |   24 ++--
 18 files changed, 221 insertions(+), 438 deletions(-)
 
 ---
 
 - ajax
 
 ___
 xorg-devel@lists.x.org: X.Org development
 Archives: http://lists.x.org/archives/xorg-devel
 Info: http://lists.x.org/mailman/listinfo/xorg-devel

___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel


[PATCH lib/libxtrans] Removing SUN specific code,let solaris create .X11-pipe with sticky bit on

2011-09-14 Thread Arvind Umrao
In solaris, /tmp/.X11-unix/ is already created with privilege 
drwxrwxrwt(01777), there is no reason to restrict /tmp/.X11-pipe with 
drwxrwxr-x (0775). So I have removed unwanted sun specific code.


Alan told me, named pipe support was added around Solaris 2.6 when that was a 
much better performing transport than Unix sockets on the Solaris kernels of 
the time. By Solaris 10, Unix sockets had been reimplemented in the kernel to 
be faster, so they became the default again. In Solaris 11, we don't even have 
named pipe support in the libxcb library that implements X client connection 
code now, so the named pipes would only be accessed by code with a different 
libX11 or a statically linked libX11 from Solaris 2.6-9

Signed-off-by: Arvind Umraoarvind.um...@oracle.com
---
 Xtranslcl.c |4 
 1 files changed, 0 insertions(+), 4 deletions(-)

diff --git a/Xtranslcl.c b/Xtranslcl.c
index ca04e7f..239d8d2 100644
--- a/Xtranslcl.c
+++ b/Xtranslcl.c
@@ -742,15 +742,11 @@ TRANS(NAMEDOpenPipe)(const char *server_path)
 struct statsbuf;
 intmode;

-#if defined(sun)  defined(X11_t)
-mode = 0775;   /* Solaris requires uid or gid 0 to create X11 pipes */
-#else
 #ifdef HAS_STICKY_DIR_BIT
 mode = 01777;
 #else
 mode = 0777;
 #endif
-#endif
 if (trans_mkdir(X_STREAMS_DIR, mode) == -1) {
PRMSG (1, NAMEDOpenPipe: mkdir(%s) failed, errno = %d\n,
   X_STREAMS_DIR, errno, 0);
--
1.7.6


___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel


Re: [PATCH 2/2] Allow grabbing clients to accept or reject touches any time

2011-09-14 Thread Chase Douglas
On 09/14/2011 11:59 AM, Peter Hutterer wrote:
 On Wed, Sep 14, 2011 at 10:22:36AM -0500, Chase Douglas wrote:
 This is potentially both a performance and client complexity
 improvement.
 
 this needs more description, especially for the archives (we just talked
 about this here at the XDC), please add that to the commit message.
 
 and one more thing: if a client can reject a sequence at any time it may be
 that the sequence already disappeared by the time the reject is processed.
 (this shouldn't happen unless the client buffers the request but thats been
 known to happen).
 
 should we allow clients to reject any touch (even invalid ones) without
 returning a BadValue?

Hmmm... The same could happen with accept too:

* Client A owns touch
* Client B has a touch grab and is listening too

1. Client A accepts touch
2. TouchEnd sent to client B
3. Client B accepts touch (which means, I accept iff I become the owner)
4. TouchEnd reaches client B
5. Client B gets an error from the touch acceptance because at the time
the server got the accept request, the touch has already ended for client B

We probably need to think a bit more about this...

-- Chase
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel


[PATCH xorg-docs] Solaris: set X11 release information

2011-09-14 Thread Gaetan Nadon
Signed-off-by: Gaetan Nadon mems...@videotron.ca
---
 general/platforms/Solaris.xml |1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/general/platforms/Solaris.xml b/general/platforms/Solaris.xml
index 0a60a34..3890c7f 100644
--- a/general/platforms/Solaris.xml
+++ b/general/platforms/Solaris.xml
@@ -13,6 +13,7 @@
  titleX Window System support for trademarkSolaris/trademark amp;
   trademarkOpenSolaris/trademark from X.Org
  /title
+ releaseinfoX Version 11, Release fullrelvers;/releaseinfo
  authorgroup
   author
 firstnameDavid/firstnamesurnameHolland/surname
-- 
1.7.4.1

___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel


[PATCH] int10: Remove the vm86 and stub backends

2011-09-14 Thread Jamey Sharp
From: Adam Jackson a...@redhat.com

vm86 has been defaulted off since 1.6, and is still a terrible idea to
actually use.  Time to say goodbye.

The stub backend is only ever built by default on freebsd/ppc, and can't
be doing any good there.  The right fix is --disable-int10 if you want
to not ship int10 support.

Signed-off-by: Adam Jackson a...@redhat.com
Reviewed-by: Jamey Sharp ja...@minilop.net
---
I'd like to resurrect this patch that ajax proposed a year ago. The
thread where it was last discussed is here:
http://lists.x.org/archives/xorg-devel/2010-July/011163.html

This patch is, as far as I can tell, a correct and complete
implementation of removing vm86 and stub. The controversy last time was
only over this is the right thing to do.

My impression is that everyone agrees that vm86 *should* die, but some
commenters were concerned that x86emu didn't support some particularly
terrible BIOSes that happened to work on vm86. I'm not convinced that's
a sufficient argument for rejecting the patch. The default has been
x86emu on everything but Linux/x86-32 since 2005, and x86emu everywhere
since 2008. If anybody still cares, please fix up x86emu.

 configure.ac   |   11 -
 hw/xfree86/int10/Makefile.am   |   17 -
 hw/xfree86/int10/stub.c|   69 ---
 hw/xfree86/os-support/int10Defines.h   |   52 +--
 hw/xfree86/os-support/linux/int10/linux.c  |  544 
 .../os-support/linux/int10/vm86/linux_vm86.c   |  300 ---
 hw/xfree86/x86emu/Makefile.am  |2 -
 7 files changed, 1 insertions(+), 994 deletions(-)
 delete mode 100644 hw/xfree86/int10/stub.c
 delete mode 100644 hw/xfree86/os-support/linux/int10/linux.c
 delete mode 100644 hw/xfree86/os-support/linux/int10/vm86/linux_vm86.c

diff --git a/configure.ac b/configure.ac
index 06cf9bf..9687f04 100644
--- a/configure.ac
+++ b/configure.ac
@@ -323,7 +323,6 @@ dnl 
---
 dnl Bus options and CPU capabilities.  Replaces logic in
 dnl hw/xfree86/os-support/bus/Makefile.am, among others.
 dnl ---
-DEFAULT_INT10=x86emu
 
 dnl Override defaults as needed for specific platforms:
 
@@ -354,9 +353,6 @@ case $host_cpu in
 ;;
   powerpc*)
PPC_VIDEO=yes
-   case $host_os in
-   *freebsd*)  DEFAULT_INT10=stub ;;
-   esac
;;
   sparc*)
SPARC64_VIDEO=yes
@@ -464,9 +460,6 @@ AC_ARG_ENABLE(debug, 
AS_HELP_STRING([--enable-debug],
 AC_ARG_ENABLE(use-sigio-by-default, 
AS_HELP_STRING([--enable-use-sigio-by-default]
   [Enable SIGIO input handlers by default (default: $USE_SIGIO_BY_DEFAULT)]),
 [USE_SIGIO_BY_DEFAULT=$enableval], [])
-AC_ARG_WITH(int10,   AS_HELP_STRING([--with-int10=BACKEND], [int10 
backend: vm86, x86emu or stub]),
-   [INT10=$withval],
-   [INT10=$DEFAULT_INT10])
 AC_ARG_WITH(vendor-name, AS_HELP_STRING([--with-vendor-name=VENDOR],
  [Vendor string reported by the server]),
[ VENDOR_NAME=$withval ], [])
@@ -699,10 +692,6 @@ XTRANS_CONNECTION_FLAGS
 XTRANS_SECURE_RPC_FLAGS
 AM_CONDITIONAL(SECURE_RPC, [test x$SECURE_RPC = xyes])
 
-AM_CONDITIONAL(INT10_VM86, [test x$INT10 = xvm86])
-AM_CONDITIONAL(INT10_X86EMU, [test x$INT10 = xx86emu])
-AM_CONDITIONAL(INT10_STUB, [test x$INT10 = xstub])
-
 dnl Handle installing libxf86config
 AM_CONDITIONAL(INSTALL_LIBXF86CONFIG, [test x$INSTALL_LIBXF86CONFIG = xyes])
 
diff --git a/hw/xfree86/int10/Makefile.am b/hw/xfree86/int10/Makefile.am
index f5ece69..79eb25a 100644
--- a/hw/xfree86/int10/Makefile.am
+++ b/hw/xfree86/int10/Makefile.am
@@ -17,16 +17,6 @@ if I386_VIDEO
 I386_VIDEO_CFLAGS = -D_PC
 endif
 
-if INT10_VM86
-AM_CFLAGS = $(I386_VIDEO_CFLAGS) -D_VM86_LINUX $(DIX_CFLAGS) $(XORG_CFLAGS) 
$(EXTRA_CFLAGS)
-INCLUDES = $(XORG_INCS)
-libint10_la_SOURCES = \
-   $(COMMON_SOURCES) \
-   $(srcdir)/../os-support/linux/int10/vm86/linux_vm86.c \
-   $(srcdir)/../os-support/linux/int10/linux.c
-endif
-
-if INT10_X86EMU
 AM_CFLAGS = $(I386_VIDEO_CFLAGS) -D_X86EMU -DNO_SYS_HEADERS \
$(XORG_CFLAGS) $(EXTRA_CFLAGS) $(DIX_CFLAGS)
 INCLUDES = $(XORG_INCS) -I$(srcdir)/../x86emu
@@ -35,12 +25,5 @@ libint10_la_SOURCES = \
xf86x86emu.c \
generic.c \
x86emu.c
-endif
-
-if INT10_STUB
-AM_CFLAGS = $(I386_VIDEO_CFLAGS) -D_VM86_LINUX $(DIX_CFLAGS) $(XORG_CFLAGS) 
$(EXTRA_CFLAGS)
-INCLUDES = $(XORG_INCS)
-libint10_la_SOURCES = stub.c xf86int10module.c
-endif
 
 EXTRA_DIST = xf86x86emu.h INT10.HOWTO
diff --git a/hw/xfree86/int10/stub.c b/hw/xfree86/int10/stub.c
deleted file mode 100644
index 58b6578..000
--- a/hw/xfree86/int10/stub.c
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * 

[PATCH] int10: Delete #if 0'd implementation that's older than our git history.

2011-09-14 Thread Jamey Sharp
Throughout the xserver git history, the generic portion of the int10
module has always used other methods for reading the video BIOS. For
some time now it's been purely libpciaccess based. This commented-out
use of xf86ReadBIOS is entirely superfluous.

Signed-off-by: Jamey Sharp ja...@minilop.net
---
 hw/xfree86/int10/generic.c |   14 +-
 1 files changed, 1 insertions(+), 13 deletions(-)

diff --git a/hw/xfree86/int10/generic.c b/hw/xfree86/int10/generic.c
index fe8bb69..9940854 100644
--- a/hw/xfree86/int10/generic.c
+++ b/hw/xfree86/int10/generic.c
@@ -128,10 +128,6 @@ xf86ExtendedInitInt10(int entityIndex, int Flags)
 int screen;
 legacyVGARec vga;
  
-#if 0
-CARD32 cs;
-#endif
-
 screen = (xf86FindScreenForEntity(entityIndex))-scrnIndex;
 
 options = xf86HandleInt10Options(xf86Screens[screen],entityIndex);
@@ -174,17 +170,9 @@ xf86ExtendedInitInt10(int entityIndex, int Flags)
 
 /*
  * Retrieve everything between V_BIOS and SYS_BIOS as some system BIOSes
- * have executable code there.  Note that xf86ReadBIOS() can only read in
- * 64kB at a time.
+ * have executable code there.
  */
 memset((char *)base + V_BIOS, 0, SYS_BIOS - V_BIOS);
-#if 0
-for (cs = V_BIOS;  cs  SYS_BIOS;  cs += V_BIOS_SIZE)
-   if (xf86ReadBIOS(cs, 0, (unsigned char *)base + cs, V_BIOS_SIZE) 
-   V_BIOS_SIZE)
-   xf86DrvMsg(screen, X_WARNING,
-  Unable to retrieve all of segment 0x%06X.\n, cs);
-#endif
 INTPriv(pInt)-highMemory = V_BIOS;
 
 if (xf86IsEntityPrimary(entityIndex)  !(initPrimary(options))) {
-- 
1.7.5.4

___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel


Re: [PATCH] int10: Remove the vm86 and stub backends

2011-09-14 Thread Julien Cristau
On Wed, Sep 14, 2011 at 12:25:20 -0500, Jamey Sharp wrote:

 From: Adam Jackson a...@redhat.com
 
 vm86 has been defaulted off since 1.6, and is still a terrible idea to
 actually use.  Time to say goodbye.
 
 The stub backend is only ever built by default on freebsd/ppc, and can't
 be doing any good there.  The right fix is --disable-int10 if you want
 to not ship int10 support.
 
 Signed-off-by: Adam Jackson a...@redhat.com
 Reviewed-by: Jamey Sharp ja...@minilop.net

Acked-by: Julien Cristau jcris...@debian.org

Cheers,
Julien
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel


Re: [PATCH 2/2] Allow grabbing clients to accept or reject touches any time

2011-09-14 Thread Peter Hutterer
On Wed, Sep 14, 2011 at 12:09:02PM -0500, Chase Douglas wrote:
 On 09/14/2011 11:59 AM, Peter Hutterer wrote:
  On Wed, Sep 14, 2011 at 10:22:36AM -0500, Chase Douglas wrote:
  This is potentially both a performance and client complexity
  improvement.
  
  this needs more description, especially for the archives (we just talked
  about this here at the XDC), please add that to the commit message.
  
  and one more thing: if a client can reject a sequence at any time it may be
  that the sequence already disappeared by the time the reject is processed.
  (this shouldn't happen unless the client buffers the request but thats been
  known to happen).
  
  should we allow clients to reject any touch (even invalid ones) without
  returning a BadValue?
 
 Hmmm... The same could happen with accept too:
 
 * Client A owns touch
 * Client B has a touch grab and is listening too
 
 1. Client A accepts touch
 2. TouchEnd sent to client B
 3. Client B accepts touch (which means, I accept iff I become the owner)
 4. TouchEnd reaches client B
 5. Client B gets an error from the touch acceptance because at the time
 the server got the accept request, the touch has already ended for client B
 
 We probably need to think a bit more about this...

accept is a different case where the client should handle errors
appropriately. reject is more fire-and-forget. same with Ungrab, iirc it
always succeeds even if you don't actually have the grab.

Cheers,
  Peter
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel


Re: [PATCH 2/2] Allow grabbing clients to accept or reject touches any time

2011-09-14 Thread Chase Douglas
On 09/14/2011 02:04 PM, Peter Hutterer wrote:
 On Wed, Sep 14, 2011 at 12:09:02PM -0500, Chase Douglas wrote:
 On 09/14/2011 11:59 AM, Peter Hutterer wrote:
 On Wed, Sep 14, 2011 at 10:22:36AM -0500, Chase Douglas wrote:
 This is potentially both a performance and client complexity
 improvement.

 this needs more description, especially for the archives (we just talked
 about this here at the XDC), please add that to the commit message.

 and one more thing: if a client can reject a sequence at any time it may be
 that the sequence already disappeared by the time the reject is processed.
 (this shouldn't happen unless the client buffers the request but thats been
 known to happen).

 should we allow clients to reject any touch (even invalid ones) without
 returning a BadValue?

 Hmmm... The same could happen with accept too:

 * Client A owns touch
 * Client B has a touch grab and is listening too

 1. Client A accepts touch
 2. TouchEnd sent to client B
 3. Client B accepts touch (which means, I accept iff I become the owner)
 4. TouchEnd reaches client B
 5. Client B gets an error from the touch acceptance because at the time
 the server got the accept request, the touch has already ended for client B

 We probably need to think a bit more about this...
 
 accept is a different case where the client should handle errors
 appropriately. reject is more fire-and-forget. same with Ungrab, iirc it
 always succeeds even if you don't actually have the grab.

This makes sense to me after further thought. I agree we should not emit
an error on reject if the touch id is invalid, as you suggest.

I'll send a v2 with this change and a more verbose commit message.

-- Chase
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel


Re: [PATCH] int10: Remove the vm86 and stub backends

2011-09-14 Thread Egbert Eich
On Wed, Sep 14, 2011 at 12:25:20PM -0500, Jamey Sharp wrote:
 From: Adam Jackson a...@redhat.com
 
 vm86 has been defaulted off since 1.6, and is still a terrible idea to
 actually use.  Time to say goodbye.

Not a good idea. I've reenabled it in our enterprise product lately.

Reason: I've run into issues with SMIs that were triggered by outb()s
to specific registers. These SMIs returned their return state in CPU 
registers whose values were checked later on in the code.
The emulator doesn't track the state of CPU register itself thus 
will not catch any such results.

 
 The stub backend is only ever built by default on freebsd/ppc, and can't
 be doing any good there.  The right fix is --disable-int10 if you want
 to not ship int10 support.

This was used to handle the request for loading the int10 module and 
provide targets for the function calls in drivers. If it can be ensured 
that drivers won't load this module and call its function this can probably 
be deleted.

Cheers,
Egbert.
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel


[PATCH inputproto multitouch v2] Allow grabbing clients to accept or reject touches any time

2011-09-14 Thread Chase Douglas
This is potentially both a performance and client complexity
improvement. An example is a gesture recognizer using touch grabs on
each window with a subscription. If events on a child window is known
to not match any subscription on the child window, then the client
should be able to reject the touch grab even if the parent window hasn't
accepted any of the touches, perhaps because the parent window
gesture hasn't timed out or crossed other thresholds yet.

As an inverse example, the events may match a child window subscription
before the root window has rejected ownership. The child window should
be able to accept the touch proactively. This allows for further clients
to receive a TouchEnd event earlier, and means the client may be able to
reduce state being tracked. If this were not allowed, the client would
need to wait until it received ownership before accepting the sequence.

Signed-off-by: Chase Douglas chase.doug...@canonical.com
---
 XI2proto.h |3 ++-
 specs/XI2proto.txt |   28 ++--
 2 files changed, 20 insertions(+), 11 deletions(-)

diff --git a/XI2proto.h b/XI2proto.h
index 3315f1e..9e2c63c 100644
--- a/XI2proto.h
+++ b/XI2proto.h
@@ -648,8 +648,9 @@ typedef struct {
 uint8_t mode;
 uint8_t pad;
 uint32_ttouch_id;   /** Since XI 2.2 */
+Window  grab_window;/** Since XI 2.2 */
 } xXIAllowEventsReq;
-#define sz_xXIAllowEventsReq   16 /** Was 12 before XI 2.2 */
+#define sz_xXIAllowEventsReq   20 /** Was 12 before XI 2.2 */
 
 
 /**
diff --git a/specs/XI2proto.txt b/specs/XI2proto.txt
index 9bd586a..dfc80cc 100644
--- a/specs/XI2proto.txt
+++ b/specs/XI2proto.txt
@@ -1373,6 +1373,7 @@ active device grab becomes not viewable.
ReplayDevice, AsyncPair, SyncPair, AcceptTouch*,
RejectTouch* }
 touch_id*:   CARD32
+grab_window*:Window
 └───
 
 * since XI 2.2
@@ -1391,13 +1392,17 @@ ownership processing.
 touch_id
 The ID of the touch sequence to accept or reject. The value is 
undefined
 for event modes other than AcceptTouch and RejectTouch.
+grab_window
+The window on which to accept or reject a touch sequence grab. The 
value
+is undefined for event modes other than AcceptTouch and RejectTouch.
 
-The request has no effect if the specified time is earlier than the
-last-grab time of the most recent active grab for the client, or if the
-specified time is later than the current X server time.
+For event modes other than AcceptTouch and RejectTouch, the request has no
+effect if the specified time is earlier than the last-grab time of the most
+recent active grab for the client, or if the specified time is later than the
+current X server time.
 
-When event-mode is AcceptTouch or RejectTouch, a BadValue error occurs if the
-touch ID is invalid. A BadAccess error occurs if this client is not the current
+When event-mode is AcceptTouch, a BadValue error occurs if the touch ID is
+invalid. A BadAccess error occurs if this client is not the current or 
potential
 owner of the specified touch ID.
 
 The following describes the processing that occurs depending on what constant
@@ -1470,13 +1475,16 @@ you pass to the event-mode argument:
 paired master device frozen by the client.
 AsyncPair has no effect if deviceid specifies a slave device.
  AcceptTouch
-The client is deemed to have taken control of the touch sequence.
-TouchEnd events will be sent to all other clients listening to the 
touch
-sequence, and they will no longer receive any TouchUpdate events.
+The client is deemed to have taken control of the touch sequence once 
it
+owns the sequence. TouchEnd events will be sent to all clients 
listening
+to the touch sequence that have either grabbed the touch sequence on a
+child window of the grab_window or have received events for the touch
+sequence through event selection. These clients will no longer receive
+any TouchUpdate events.
  RejectTouch
 The client is no longer interested in the touch sequence, and will
-receive a TouchEnd event. Ownership will be passed on to the next
-listener.
+receive a TouchEnd event. If the client is the current owner of the
+sequence, ownership will be passed on to the next listener.
 
 [[requests-passivegrabdevice]]
 ┌───
-- 
1.7.4.1

___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Re: [PATCH inputproto multitouch v2] Allow grabbing clients to accept or reject touches any time

2011-09-14 Thread Peter Hutterer
On Wed, Sep 14, 2011 at 02:43:17PM -0500, Chase Douglas wrote:
 This is potentially both a performance and client complexity
 improvement. An example is a gesture recognizer using touch grabs on
 each window with a subscription. If events on a child window is known

s/is/are/

 to not match any subscription on the child window, then the client
 should be able to reject the touch grab even if the parent window hasn't
 accepted any of the touches, perhaps because the parent window
 gesture hasn't timed out or crossed other thresholds yet.
 
 As an inverse example, the events may match a child window subscription
 before the root window has rejected ownership. The child window should
 be able to accept the touch proactively. This allows for further clients
 to receive a TouchEnd event earlier, and means the client may be able to
 reduce state being tracked. If this were not allowed, the client would
 need to wait until it received ownership before accepting the sequence.
 
 Signed-off-by: Chase Douglas chase.doug...@canonical.com

I think this may require some rewording of the other sections to emphasise
this more. We can do that at a later review of the whole document.
 ---
  XI2proto.h |3 ++-
  specs/XI2proto.txt |   28 ++--
  2 files changed, 20 insertions(+), 11 deletions(-)
 
 diff --git a/XI2proto.h b/XI2proto.h
 index 3315f1e..9e2c63c 100644
 --- a/XI2proto.h
 +++ b/XI2proto.h
 @@ -648,8 +648,9 @@ typedef struct {
  uint8_t mode;
  uint8_t pad;
  uint32_ttouch_id;   /** Since XI 2.2 */
 +Window  grab_window;/** Since XI 2.2 */
  } xXIAllowEventsReq;
 -#define sz_xXIAllowEventsReq   16 /** Was 12 before XI 2.2 
 */
 +#define sz_xXIAllowEventsReq   20 /** Was 12 before XI 2.2 
 */
  
  
  /**
 diff --git a/specs/XI2proto.txt b/specs/XI2proto.txt
 index 9bd586a..dfc80cc 100644
 --- a/specs/XI2proto.txt
 +++ b/specs/XI2proto.txt
 @@ -1373,6 +1373,7 @@ active device grab becomes not viewable.
 ReplayDevice, AsyncPair, SyncPair, 
 AcceptTouch*,
 RejectTouch* }
  touch_id*:   CARD32
 +grab_window*:Window
  └───
  
  * since XI 2.2
 @@ -1391,13 +1392,17 @@ ownership processing.
  touch_id
  The ID of the touch sequence to accept or reject. The value is 
 undefined
  for event modes other than AcceptTouch and RejectTouch.
 +grab_window
 +The window on which to accept or reject a touch sequence grab. The 
 value
 +is undefined for event modes other than AcceptTouch and RejectTouch.
  
 -The request has no effect if the specified time is earlier than the
 -last-grab time of the most recent active grab for the client, or if the
 -specified time is later than the current X server time.
 +For event modes other than AcceptTouch and RejectTouch, the request has no
 +effect if the specified time is earlier than the last-grab time of the most
 +recent active grab for the client, or if the specified time is later than the
 +current X server time.

why do we need to change this? could we not keep this around (or otherwise
force clients to use CurrentTime for passive touch grabs).

Reviewed-by: Peter Hutterer peter.hutte...@who-t.net  otherwise though.

Cheers,
  Peter


 -When event-mode is AcceptTouch or RejectTouch, a BadValue error occurs if the
 -touch ID is invalid. A BadAccess error occurs if this client is not the 
 current
 +When event-mode is AcceptTouch, a BadValue error occurs if the touch ID is
 +invalid. A BadAccess error occurs if this client is not the current or 
 potential
  owner of the specified touch ID.
  
  The following describes the processing that occurs depending on what constant
 @@ -1470,13 +1475,16 @@ you pass to the event-mode argument:
  paired master device frozen by the client.
  AsyncPair has no effect if deviceid specifies a slave device.
   AcceptTouch
 -The client is deemed to have taken control of the touch sequence.
 -TouchEnd events will be sent to all other clients listening to the 
 touch
 -sequence, and they will no longer receive any TouchUpdate events.
 +The client is deemed to have taken control of the touch sequence 
 once it
 +owns the sequence. TouchEnd events will be sent to all clients 
 listening
 +to the touch sequence that have either grabbed the touch sequence on 
 a
 +child window of the grab_window or have received events for the touch
 +sequence through event selection. These clients will no longer 
 receive
 +any TouchUpdate events.
   RejectTouch
  The client is no longer interested in the touch sequence, and will
 -receive a TouchEnd event. Ownership will be passed on to the next
 -listener.
 +receive a TouchEnd event. If the client is the current owner of the
 +

Re: [PATCH inputproto multitouch v2] Allow grabbing clients to accept or reject touches any time

2011-09-14 Thread Chase Douglas
On 09/14/2011 02:57 PM, Peter Hutterer wrote:
 On Wed, Sep 14, 2011 at 02:43:17PM -0500, Chase Douglas wrote:
 This is potentially both a performance and client complexity
 improvement. An example is a gesture recognizer using touch grabs on
 each window with a subscription. If events on a child window is known
 
 s/is/are/
 
 to not match any subscription on the child window, then the client
 should be able to reject the touch grab even if the parent window hasn't
 accepted any of the touches, perhaps because the parent window
 gesture hasn't timed out or crossed other thresholds yet.

 As an inverse example, the events may match a child window subscription
 before the root window has rejected ownership. The child window should
 be able to accept the touch proactively. This allows for further clients
 to receive a TouchEnd event earlier, and means the client may be able to
 reduce state being tracked. If this were not allowed, the client would
 need to wait until it received ownership before accepting the sequence.

 Signed-off-by: Chase Douglas chase.doug...@canonical.com
 
 I think this may require some rewording of the other sections to emphasise
 this more. We can do that at a later review of the whole document.
 ---
  XI2proto.h |3 ++-
  specs/XI2proto.txt |   28 ++--
  2 files changed, 20 insertions(+), 11 deletions(-)

 diff --git a/XI2proto.h b/XI2proto.h
 index 3315f1e..9e2c63c 100644
 --- a/XI2proto.h
 +++ b/XI2proto.h
 @@ -648,8 +648,9 @@ typedef struct {
  uint8_t mode;
  uint8_t pad;
  uint32_ttouch_id;   /** Since XI 2.2 */
 +Window  grab_window;/** Since XI 2.2 */
  } xXIAllowEventsReq;
 -#define sz_xXIAllowEventsReq   16 /** Was 12 before XI 2.2 
 */
 +#define sz_xXIAllowEventsReq   20 /** Was 12 before XI 2.2 
 */
  
  
  /**
 diff --git a/specs/XI2proto.txt b/specs/XI2proto.txt
 index 9bd586a..dfc80cc 100644
 --- a/specs/XI2proto.txt
 +++ b/specs/XI2proto.txt
 @@ -1373,6 +1373,7 @@ active device grab becomes not viewable.
 ReplayDevice, AsyncPair, SyncPair, 
 AcceptTouch*,
 RejectTouch* }
  touch_id*:   CARD32
 +grab_window*:Window
  └───
  
  * since XI 2.2
 @@ -1391,13 +1392,17 @@ ownership processing.
  touch_id
  The ID of the touch sequence to accept or reject. The value is 
 undefined
  for event modes other than AcceptTouch and RejectTouch.
 +grab_window
 +The window on which to accept or reject a touch sequence grab. The 
 value
 +is undefined for event modes other than AcceptTouch and RejectTouch.
  
 -The request has no effect if the specified time is earlier than the
 -last-grab time of the most recent active grab for the client, or if the
 -specified time is later than the current X server time.
 +For event modes other than AcceptTouch and RejectTouch, the request has no
 +effect if the specified time is earlier than the last-grab time of the most
 +recent active grab for the client, or if the specified time is later than 
 the
 +current X server time.
 
 why do we need to change this? could we not keep this around (or otherwise
 force clients to use CurrentTime for passive touch grabs).

The time check is used for pointer or key passive grabbing. For example:

1. Button press causes passive grab
2. Button press releases grab
3. Button press causes passive grab
4. Client receives passive grab events from the press in step 1
5. Client makes XIAllowEvents request

The time helps determine which grab the XIAllowEvents is supposed to
affect. Or something like that anyways.

With touches, each new touch has a new ID, so the touch_id and window
fields effectively take care of all ambiguities.

Here at XDC, Peter suggested to just require clients to use CurrenTime
instead of leaving it undefined for touch modes. I'll fix that up and
push it.

-- Chase
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Re: [PATCH xorg-docs] Solaris: set X11 release information

2011-09-14 Thread Alan Coopersmith

On 09/14/11 12:24 PM, Gaetan Nadon wrote:

Signed-off-by: Gaetan Nadonmems...@videotron.ca
---
  general/platforms/Solaris.xml |1 +
  1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/general/platforms/Solaris.xml b/general/platforms/Solaris.xml
index 0a60a34..3890c7f 100644
--- a/general/platforms/Solaris.xml
+++ b/general/platforms/Solaris.xml
@@ -13,6 +13,7 @@
   titleX Window System support fortrademarkSolaris/trademark  amp;
trademarkOpenSolaris/trademark  from X.Org
   /title
+releaseinfoX Version 11, Releasefullrelvers;/releaseinfo
   authorgroup
author
  firstnameDavid/firstnamesurnameHolland/surname


For both this  [PATCH xorg-docs] Solaris: shorten the title a bit:

Reviewed-by: Alan Coopersmith alan.coopersm...@oracle.com

--
-Alan Coopersmith-alan.coopersm...@oracle.com
 Oracle Solaris Platform Engineering: X Window System
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel


Re: [PATCH] int10: Remove the vm86 and stub backends

2011-09-14 Thread Adam Jackson
On Wed, 2011-09-14 at 19:28 +, Egbert Eich wrote:
 On Wed, Sep 14, 2011 at 12:25:20PM -0500, Jamey Sharp wrote:
  From: Adam Jackson a...@redhat.com
  
  vm86 has been defaulted off since 1.6, and is still a terrible idea to
  actually use.  Time to say goodbye.
 
 Not a good idea. I've reenabled it in our enterprise product lately.

 Reason: I've run into issues with SMIs that were triggered by outb()s
 to specific registers. These SMIs returned their return state in CPU 
 registers whose values were checked later on in the code.
 The emulator doesn't track the state of CPU register itself thus 
 will not catch any such results.

Seems like the better solution is to emulate the state machines of those
ports.  We do a half-baked job of this already for some ports.

Actually, the better better solution is not int10.

In general I consider vm86 to be completely unsupportable.  Mapping
anything at the 0 page means kernel bugs aren't segfaults, which is the
kind of security bug that's been actively exploited in the wild.
Pretending to care about bugs like the one you describe implies that the
affected machine can only work with vesa on i386 and not amd64, and
that's not the kind of gotcha I want to enable.

int10 services is a losing battle though.  Some vendors ship BIOSes that
actively flaunt their own documentation about what instructions are
legal in vm86 mode (HI INTEL HOW ARE YOU [1]), newer versions of Windows
skip it entirely which means it's going to be increasingly unreliable,
you might not have int10 at all in EFI, you can't get to unreal mode
from vm86 even though some BIOSes expect it... the list goes on.

None of this is news though.  I've already argued for why vm86 is
garbage, and why x86emu is the only thing that can be made to work
safely and reliably.  If other people want more pain in their lives,
that's a thing they can do, people make bad choices all the time and I
can't care about every damn thing.

[1] - http://lists.fedoraproject.org/pipermail/test/2011-September/102549.html

- ajax


signature.asc
Description: This is a digitally signed message part
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Re: [PATCH] Fix handling of SendEvent requests which set the SendEvent bit before sending the event down the wire

2011-09-14 Thread Jamey Sharp
Excellent, thanks Sam.

Reviewed-by: Jamey Sharp ja...@minilop.net

Peter says he'll route this through his tree, so I'll leave it to him.

Jamey

On Wed, Sep 14, 2011 at 10:00:45AM +0800, Sam Spilsbury wrote:
 From cf2cd8c03551c42d73a21ac5077904c8ec8ee4bd Mon Sep 17 00:00:00 2001
 From: Sam Spilsbury sam.spilsb...@canonical.com
 Date: Wed, 14 Sep 2011 09:58:34 +0800
 Subject: [PATCH] Remove the SendEvent bit (0x80) before doing range checks on
  event type.
 
 Some extension libraries may set this bit before converting the event to
 wire protocol and as such range checking the event will cause an invalid
 BadValue error to result. As the documentation suggests the the bit
 should be forced on, remove it before doing range checks and continue
 to force it on in the server.
 ---
  dix/events.c |   14 +-
  1 files changed, 13 insertions(+), 1 deletions(-)
 
 diff --git a/dix/events.c b/dix/events.c
 index 8a4c6b9..9e58edb 100644
 --- a/dix/events.c
 +++ b/dix/events.c
 @@ -5224,6 +5224,8 @@ CloseDownEvents(void)
  InputEventList = NULL;
  }
  
 +#define SEND_EVENT_BIT 0x80
 +
  /**
   * Server-side protocol handling for SendEvent request.
   *
 @@ -5241,6 +5243,16 @@ ProcSendEvent(ClientPtr client)
  
  REQUEST_SIZE_MATCH(xSendEventReq);
  
 +/* libXext and other extension libraries may set the bit indicating
 + * that this event came from a SendEvent request so remove it
 + * since otherwise the event type may fail the range checks
 + * and cause an invalid BadValue error to be returned.
 + *
 + * This is safe to do since we later add the SendEvent bit (0x80)
 + * back in once we send the event to the client */
 +
 +stuff-event.u.u.type = ~(SEND_EVENT_BIT);
 +
  /* The client's event type must be a core event type or one defined by an
   extension. */
  
 @@ -5298,7 +5310,7 @@ ProcSendEvent(ClientPtr client)
   client-errorValue = stuff-propagate;
   return BadValue;
  }
 -stuff-event.u.u.type |= 0x80;
 +stuff-event.u.u.type |= SEND_EVENT_BIT;
  if (stuff-propagate)
  {
   for (;pWin; pWin = pWin-parent)
 -- 
 1.7.5.4
 

 ___
 xorg-devel@lists.x.org: X.Org development
 Archives: http://lists.x.org/archives/xorg-devel
 Info: http://lists.x.org/mailman/listinfo/xorg-devel



signature.asc
Description: Digital signature
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

[PATCH] fb: Rename wfbTriangles and wfbTrapezoids

2011-09-14 Thread Aaron Plattner
These symbols were not renamed when they were added to libfb:

 # nm -D libwfb.so | grep ' fb'
 00028d00 T fbTrapezoids
 00028d60 T fbTriangles

This causes corruption and/or crashes on wfb-ful drivers like nvidia:

 Program received signal SIGABRT, Aborted.
 0x7fd67f3a0405 in *__GI_raise (sig=optimized out) at 
../nptl/sysdeps/unix/sysv/linux/raise.c:64
 64  ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
 in ../nptl/sysdeps/unix/sysv/linux/raise.c
 (gdb) bt
 #0  0x7fd67f3a0405 in *__GI_raise (sig=optimized out) at 
../nptl/sysdeps/unix/sysv/linux/raise.c:64
 #1  0x7fd67f3a3680 in *__GI_abort () at abort.c:92
 #2  0x7fd67f3995b1 in *__GI___assert_fail (assertion=0x7fd679ecb804 
key-initialized, file=optimized out, line=116, function=0x7fd679ecbbc0 
dixGetPrivateAddr)
 at assert.c:81
 #3  0x7fd679ec55b6 in ?? () from /usr/lib/xorg/modules/libfb.so
 #4  0x7fd679eca9ef in ?? () from /usr/lib/xorg/modules/libfb.so
 #5  0x7fd679ecae20 in fbTriangles () from /usr/lib/xorg/modules/libfb.so
 #6  0x7fd67a58fc55 in ?? () from 
/usr/lib/xorg/modules/drivers/nvidia_drv.so
 #7  0x004f38d1 in ?? ()
 #8  0x00437ae9 in ?? ()
 #9  0x00426eaa in ?? ()
 #10 0x7fd67f38cead in __libc_start_main (main=optimized out, 
argc=optimized out, ubp_av=optimized out, init=optimized out, 
fini=optimized out,
 rtld_fini=optimized out, stack_end=0x7fff99860d78) at libc-start.c:228
 #11 0x0042719d in _start ()

Signed-off-by: Aaron Plattner aplatt...@nvidia.com
---
 fb/wfbrename.h |2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/fb/wfbrename.h b/fb/wfbrename.h
index e855edd..8b896eb 100644
--- a/fb/wfbrename.h
+++ b/fb/wfbrename.h
@@ -160,6 +160,8 @@
 #define fbStippleTable wfbStippleTable
 #define fbTile wfbTile
 #define fbTransparentSpan wfbTransparentSpan
+#define fbTrapezoids wfbTrapezoids
+#define fbTriangles wfbTriangles
 #define fbUninstallColormap wfbUninstallColormap
 #define fbUnmapWindow wfbUnmapWindow
 #define fbUnrealizeFont wfbUnrealizeFont
-- 
1.7.4.1

___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel


[PATCH 2/3] xorg-server.pc.in: Remove libpciaccess and pixman-1 from Requires

2011-09-14 Thread Jeremy Huddleston
Every module building against xorg-server does not *Require* pixman nor
libpciaccess.  If such modules need pixman or pciaccess, they should be
depending on them directly rather than inheriting a dependency from
xorg-server.

This also moves pixman-1 to Requires.private, so CPPFLAGS is set right to
to satisfy include dependencies but avoid linking needlessly.

Signed-off-by: Jeremy Huddleston jerem...@apple.com
---
 configure.ac  |   11 ++-
 xorg-server.pc.in |1 -
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/configure.ac b/configure.ac
index 415ead8..a97da47 100644
--- a/configure.ac
+++ b/configure.ac
@@ -785,11 +785,6 @@ VIDMODEPROTO=xf86vidmodeproto = 2.2.99.1
 WINDOWSWMPROTO=windowswmproto
 APPLEWMPROTO=applewmproto = 1.4
 
-dnl Core modules for most extensions, et al.
-SDK_REQUIRED_MODULES=[xproto = 7.0.22] [randrproto = 1.2.99.3] [renderproto 
= 0.11] [xextproto = 7.1.99] [inputproto = 1.9.99.902] [kbproto = 1.0.3] 
fontsproto
-# Make SDK_REQUIRED_MODULES available for inclusion in xorg-server.pc
-AC_SUBST(SDK_REQUIRED_MODULES)
-
 dnl List of libraries that require a specific version
 LIBAPPLEWM=applewm = 1.4
 LIBDMX=dmx = 1.0.99.1
@@ -811,6 +806,11 @@ dnl specific modules against it
 PKG_CHECK_MODULES(PIXMAN, $LIBPIXMAN)
 REQUIRED_LIBS=$REQUIRED_LIBS $LIBPIXMAN $LIBXFONT xau
 
+dnl Core modules for most extensions, et al.
+SDK_REQUIRED_MODULES=[xproto = 7.0.22] [randrproto = 1.2.99.3] [renderproto 
= 0.11] [xextproto = 7.1.99] [inputproto = 1.9.99.902] [kbproto = 1.0.3] 
fontsproto $LIBPIXMAN
+# Make SDK_REQUIRED_MODULES available for inclusion in xorg-server.pc
+AC_SUBST(SDK_REQUIRED_MODULES)
+
 REQUIRED_MODULES=[fixesproto = 5.0] [damageproto = 1.1] [xcmiscproto = 
1.2.0] [xtrans = 1.2.2] [bigreqsproto = 1.1.0] $SDK_REQUIRED_MODULES
 
 if test x$CONFIG_UDEV = xyes 
@@ -1561,6 +1561,7 @@ if test x$XORG = xyes; then
if test x$PCI = xyes; then
 
PKG_CHECK_MODULES([PCIACCESS], $LIBPCIACCESS)
+   SDK_REQUIRED_MODULES=$SDK_REQUIRED_MODULES $LIBPCIACCESS
XORG_SYS_LIBS=$XORG_SYS_LIBS $PCIACCESS_LIBS $GLX_SYS_LIBS
XORG_CFLAGS=$XORG_CFLAGS $PCIACCESS_CFLAGS
 
diff --git a/xorg-server.pc.in b/xorg-server.pc.in
index fb238b5..a98eca8 100644
--- a/xorg-server.pc.in
+++ b/xorg-server.pc.in
@@ -15,7 +15,6 @@ abi_extension=@abi_extension@
 Name: xorg-server
 Description: Modular X.Org X Server
 Version: @PACKAGE_VERSION@
-Requires: pixman-1 pciaccess
 Requires.private: @SDK_REQUIRED_MODULES@
 Cflags: -I${sdkdir} @symbol_visibility@
 Libs: -L${libdir}
-- 
1.7.6.1


___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel


[PATCH 1/3] xfree86: fbdevhw: Remove unused include of pciaccess.h

2011-09-14 Thread Jeremy Huddleston

Signed-off-by: Jeremy Huddleston jerem...@apple.com
---
 hw/xfree86/fbdevhw/fbdevhw.h |2 --
 1 files changed, 0 insertions(+), 2 deletions(-)

diff --git a/hw/xfree86/fbdevhw/fbdevhw.h b/hw/xfree86/fbdevhw/fbdevhw.h
index bc46b9c..34870c2 100644
--- a/hw/xfree86/fbdevhw/fbdevhw.h
+++ b/hw/xfree86/fbdevhw/fbdevhw.h
@@ -5,8 +5,6 @@
 #include xf86str.h
 #include colormapst.h
 
-#include pciaccess.h
-
 #define FBDEVHW_PACKED_PIXELS  0   /* Packed Pixels*/
 #define FBDEVHW_PLANES 1   /* Non interleaved planes */
 #define FBDEVHW_INTERLEAVED_PLANES 2   /* Interleaved planes   */
-- 
1.7.6.1


___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel


[PATCH 3/3] xfree86: Link modules with -module

2011-09-14 Thread Jeremy Huddleston
This makes a difference on darwin (and apparently nowhere else)

Signed-off-by: Jeremy Huddleston jerem...@apple.com
---
 hw/xfree86/dixmods/Makefile.am|   12 ++--
 hw/xfree86/dixmods/extmod/Makefile.am |2 +-
 hw/xfree86/exa/Makefile.am|2 +-
 hw/xfree86/fbdevhw/Makefile.am|2 +-
 hw/xfree86/ramdac/Makefile.am |1 +
 hw/xfree86/shadowfb/Makefile.am   |2 +-
 hw/xfree86/vbe/Makefile.am|2 +-
 hw/xfree86/xaa/Makefile.am|2 +-
 8 files changed, 13 insertions(+), 12 deletions(-)

diff --git a/hw/xfree86/dixmods/Makefile.am b/hw/xfree86/dixmods/Makefile.am
index 1a162ab..b6eb54f 100644
--- a/hw/xfree86/dixmods/Makefile.am
+++ b/hw/xfree86/dixmods/Makefile.am
@@ -30,21 +30,21 @@ INCLUDES = @XORG_INCS@ \
-I$(top_srcdir)/miext/shadow \
-I$(top_srcdir)/glx
 
-libdbe_la_LDFLAGS = -avoid-version
+libdbe_la_LDFLAGS = -module -avoid-version
 libdbe_la_LIBADD = $(top_builddir)/dbe/libdbe.la
 libdbe_la_SOURCES = dbemodule.c
 
-libfb_la_LDFLAGS = -avoid-version
+libfb_la_LDFLAGS = -module -avoid-version
 libfb_la_LIBADD = $(top_builddir)/fb/libfb.la
 libfb_la_SOURCES = $(top_builddir)/fb/fbcmap_mi.c fbmodule.c
 libfb_la_CFLAGS = $(AM_CFLAGS)
 
-libwfb_la_LDFLAGS = -avoid-version
+libwfb_la_LDFLAGS = -module -avoid-version
 libwfb_la_LIBADD = $(top_builddir)/fb/libwfb.la
 libwfb_la_SOURCES = $(top_builddir)/fb/fbcmap_mi.c fbmodule.c
 libwfb_la_CFLAGS = $(AM_CFLAGS) -DFB_ACCESS_WRAPPER
 
-libglx_la_LDFLAGS = -avoid-version
+libglx_la_LDFLAGS = -module -avoid-version
 if AIGLX_DRI_LOADER
 GLXDRI_LIBRARY = $(top_builddir)/glx/libglxdri.la
 endif
@@ -53,11 +53,11 @@ libglx_la_LIBADD = \
$(GLXDRI_LIBRARY)
 libglx_la_SOURCES = glxmodule.c
 
-librecord_la_LDFLAGS = -avoid-version
+librecord_la_LDFLAGS = -module -avoid-version
 librecord_la_LIBADD = $(top_builddir)/record/librecord.la
 librecord_la_SOURCES = recordmod.c
 
-libshadow_la_LDFLAGS = -avoid-version
+libshadow_la_LDFLAGS = -module -avoid-version
 libshadow_la_LIBADD = $(top_builddir)/miext/shadow/libshadow.la
 libshadow_la_SOURCES = shmodule.c
 
diff --git a/hw/xfree86/dixmods/extmod/Makefile.am 
b/hw/xfree86/dixmods/extmod/Makefile.am
index cce19f7..87c28a4 100644
--- a/hw/xfree86/dixmods/extmod/Makefile.am
+++ b/hw/xfree86/dixmods/extmod/Makefile.am
@@ -21,7 +21,7 @@ INCLUDES = @XORG_INCS@ \
-I$(top_srcdir)/hw/xfree86/loader \
-I$(top_srcdir)/miext/shadow
 
-libextmod_la_LDFLAGS = -avoid-version
+libextmod_la_LDFLAGS = -module -avoid-version
 libextmod_la_SOURCES = modinit.c \
modinit.h \
$(DGA_SRCS) \
diff --git a/hw/xfree86/exa/Makefile.am b/hw/xfree86/exa/Makefile.am
index 39f7a90..3ced531 100644
--- a/hw/xfree86/exa/Makefile.am
+++ b/hw/xfree86/exa/Makefile.am
@@ -2,7 +2,7 @@ SUBDIRS = man
 
 module_LTLIBRARIES = libexa.la
 
-libexa_la_LDFLAGS = -avoid-version
+libexa_la_LDFLAGS = -module -avoid-version
 
 INCLUDES = \
$(XORG_INCS) \
diff --git a/hw/xfree86/fbdevhw/Makefile.am b/hw/xfree86/fbdevhw/Makefile.am
index 2a03890..4472acd 100644
--- a/hw/xfree86/fbdevhw/Makefile.am
+++ b/hw/xfree86/fbdevhw/Makefile.am
@@ -2,7 +2,7 @@ SUBDIRS = man
 
 module_LTLIBRARIES = libfbdevhw.la
 
-libfbdevhw_la_LDFLAGS = -avoid-version
+libfbdevhw_la_LDFLAGS = -module -avoid-version
 
 if FBDEVHW
 libfbdevhw_la_SOURCES = fbdevhw.c
diff --git a/hw/xfree86/ramdac/Makefile.am b/hw/xfree86/ramdac/Makefile.am
index 3c37805..d29ded5 100644
--- a/hw/xfree86/ramdac/Makefile.am
+++ b/hw/xfree86/ramdac/Makefile.am
@@ -1,5 +1,6 @@
 noinst_LTLIBRARIES = libramdac.la
 
+libramdac_la_LDFLAGS = -module -avoid-version
 libramdac_la_SOURCES = xf86RamDac.c xf86RamDacCmap.c \
   xf86Cursor.c xf86HWCurs.c IBM.c BT.c TI.c \
  xf86BitOrder.c
diff --git a/hw/xfree86/shadowfb/Makefile.am b/hw/xfree86/shadowfb/Makefile.am
index 02d2dd4..39c6610 100644
--- a/hw/xfree86/shadowfb/Makefile.am
+++ b/hw/xfree86/shadowfb/Makefile.am
@@ -1,5 +1,5 @@
 module_LTLIBRARIES = libshadowfb.la
-libshadowfb_la_LDFLAGS = -avoid-version
+libshadowfb_la_LDFLAGS = -module -avoid-version
 libshadowfb_la_SOURCES = sfbmodule.c shadow.c
 
 sdk_HEADERS = shadowfb.h
diff --git a/hw/xfree86/vbe/Makefile.am b/hw/xfree86/vbe/Makefile.am
index 85c6fd8..4b794e6 100644
--- a/hw/xfree86/vbe/Makefile.am
+++ b/hw/xfree86/vbe/Makefile.am
@@ -1,5 +1,5 @@
 module_LTLIBRARIES = libvbe.la
-libvbe_la_LDFLAGS = -avoid-version
+libvbe_la_LDFLAGS = -module -avoid-version
 libvbe_la_SOURCES = vbe.c vbeModes.c vbe_module.c
 
 sdk_HEADERS = vbe.h vbeModes.h
diff --git a/hw/xfree86/xaa/Makefile.am b/hw/xfree86/xaa/Makefile.am
index 5bfb4e9..7ebe0b9 100644
--- a/hw/xfree86/xaa/Makefile.am
+++ b/hw/xfree86/xaa/Makefile.am
@@ -8,7 +8,7 @@ MSB_FIXED = mf-xaaBitmap.c mf-xaaStipple.c mf-xaaTEGlyph.c
 MSB_3_FIXED = mf3-xaaBitmap.c mf3-xaaStipple.c
 POLYSEG = s-xaaLine.c s-xaaDashLine.c
 
-libxaa_la_LDFLAGS = 

[PATCH inputproto multitouch] Create separate structure for XI 2.2 XIAllowEvents request

2011-09-14 Thread Chase Douglas
The GetReq Xlib macro uses string contatenation of request names to
assign structures and get the appropriate size block from the Xlib
buffer. This means we can't use GetReq with a different struct name than
the original XI 2.0 name.

The only sane way around this seems to be to create a separate struct to
hold the new members of the extended request. Then, GetReqExtra can be
used to get a request set up correctly with extra room on the end for
the extended parameters.

Signed-off-by: Chase Douglas chase.doug...@canonical.com
---
 XI2proto.h |   15 ---
 1 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/XI2proto.h b/XI2proto.h
index 2460cf5..37304b9 100644
--- a/XI2proto.h
+++ b/XI2proto.h
@@ -647,10 +647,19 @@ typedef struct {
 uint16_tdeviceid;
 uint8_t mode;
 uint8_t pad;
-uint32_ttouch_id;   /** Since XI 2.2 */
-Window  grab_window;/** Since XI 2.2 */
 } xXIAllowEventsReq;
-#define sz_xXIAllowEventsReq   20 /** Was 12 before XI 2.2 */
+#define sz_xXIAllowEventsReq   12
+
+
+/**
+ * Allow or replay events on the specified grabbed device (XI 2.2 and on).
+ */
+typedef struct {
+xXIAllowEventsReq req_2_0;
+uint32_ttouch_id;
+Window  grab_window;
+} xXIAllowEventsReq_2_2;
+#define sz_xXIAllowEvents_2_2Req   20
 
 
 /**
-- 
1.7.4.1

___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel


[PATCH libXi multitouch 1/4] Bump to 1.5.99 for XI 2.2 (multitouch) support

2011-09-14 Thread Chase Douglas
Signed-off-by: Chase Douglas chase.doug...@canonical.com
---
 configure.ac |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/configure.ac b/configure.ac
index 02cf034..96d2a35 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,7 +1,7 @@
 
 # Initialize Autoconf
 AC_PREREQ([2.60])
-AC_INIT([libXi], [1.4.99],
+AC_INIT([libXi], [1.5.99],
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [libXi])
 AC_CONFIG_SRCDIR([Makefile.am])
 AC_CONFIG_HEADERS([src/config.h])
@@ -28,7 +28,7 @@ XORG_WITH_ASCIIDOC(8.4.5)
 XORG_CHECK_MALLOC_ZERO
 
 # Obtain compiler/linker options for depedencies
-PKG_CHECK_MODULES(XI, [xproto = 7.0.13] [x11 = 1.2.99.1] [xextproto = 
7.0.3] [xext = 1.0.99.1] [inputproto = 1.9.99.902])
+PKG_CHECK_MODULES(XI, [xproto = 7.0.13] [x11 = 1.2.99.1] [xextproto = 
7.0.3] [xext = 1.0.99.1] [inputproto = 2.1.99.1])
 
 # Check for xmlto and asciidoc for man page conversion
 # (only needed by people building tarballs)
-- 
1.7.4.1

___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel


[PATCH libXi multitouch 2/4] Make users aware of the unstable nature of this development branch

2011-09-14 Thread Chase Douglas
The library will fail to configure unless the --enable-unstable-library
flag is used.

Signed-off-by: Chase Douglas chase.doug...@canonical.com
---
 configure.ac |9 +
 1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/configure.ac b/configure.ac
index 96d2a35..6c2f731 100644
--- a/configure.ac
+++ b/configure.ac
@@ -30,6 +30,15 @@ XORG_CHECK_MALLOC_ZERO
 # Obtain compiler/linker options for depedencies
 PKG_CHECK_MODULES(XI, [xproto = 7.0.13] [x11 = 1.2.99.1] [xextproto = 
7.0.3] [xext = 1.0.99.1] [inputproto = 2.1.99.1])
 
+# Make sure the user knows what they are doing!
+AC_ARG_ENABLE(unstable-library,
+  AS_HELP_STRING([--enable-unstable-library],
+ [Enables compilation of yet-to-be-finalised 
library (default: disabled)]),
+  [UNSTABLE_LIB=$enableval], [UNSTABLE_LIB=no])
+if ! test x$UNSTABLE_LIB = xyes; then
+AC_MSG_ERROR([This branch contains elements which have not yet been 
finalised.  When this branch is updated, you will probably need to recompile 
both the any clients using the library, and may experience crashes or undefined 
behaviour if you do not.])
+fi
+
 # Check for xmlto and asciidoc for man page conversion
 # (only needed by people building tarballs)
 if test $have_xmlto = yes  test $have_asciidoc = yes; then
-- 
1.7.4.1

___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel


[PATCH libXi multitouch 3/4] Define macros for unstable protocol development

2011-09-14 Thread Chase Douglas
Signed-off-by: Chase Douglas chase.doug...@canonical.com
---
 configure.ac |3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/configure.ac b/configure.ac
index 6c2f731..f3d6d8e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -39,6 +39,9 @@ if ! test x$UNSTABLE_LIB = xyes; then
 AC_MSG_ERROR([This branch contains elements which have not yet been 
finalised.  When this branch is updated, you will probably need to recompile 
both the any clients using the library, and may experience crashes or undefined 
behaviour if you do not.])
 fi
 
+# Define macros for compiling with unstable protocols
+AC_SUBST(CFLAGS, -DXINPUT2_1_USE_UNSTABLE_PROTOCOL 
-DXINPUT2_2_USE_UNSTABLE_PROTOCOL)
+
 # Check for xmlto and asciidoc for man page conversion
 # (only needed by people building tarballs)
 if test $have_xmlto = yes  test $have_asciidoc = yes; then
-- 
1.7.4.1

___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel


[PATCH libXi multitouch 4/4] Implement support for XI 2.2

2011-09-14 Thread Chase Douglas
XI 2.1 has not been implemented yet, so this code defines version info
for it too. These will be dropped when XI 2.1 support is merged.

The code is based on what we have in the prototype libXi in Ubuntu. The
main differences are:

* No touch valuator classes
* No TouchUpdateUnownedEvents
* Addition of raw touch events
* Touch grab and ungrab is handled in existing passive grab functions
* XIAllowTouchEvents has been added as an extension of XIAllowEvents
* XIAllowEvents has been extended when XI 2.2 is supported

The last item causes a bit of an issue. The XIAllowEvents handling in
released X.org servers check that the size of the request is exactly the
size published in XI 2.0. Since we are extending the request, we must
get the right request size from the Xlib buffer depending on what
version of XI the server supports.

None of this code has been tested because we don't have a server to test
it with yet.

Signed-off-by: Chase Douglas chase.doug...@canonical.com
---
 include/X11/extensions/XInput2.h |   33 ++
 src/XExtInt.c|   88 +-
 src/XIAllowEvents.c  |   51 +-
 src/XIint.h  |2 +
 4 files changed, 172 insertions(+), 2 deletions(-)

diff --git a/include/X11/extensions/XInput2.h b/include/X11/extensions/XInput2.h
index 3fcf083..93b980d 100644
--- a/include/X11/extensions/XInput2.h
+++ b/include/X11/extensions/XInput2.h
@@ -135,6 +135,14 @@ typedef struct
 
 typedef struct
 {
+int type;
+int sourceid;
+int mode;
+int num_touches;
+} XITouchClassInfo;
+
+typedef struct
+{
 int deviceid;
 char*name;
 int use;
@@ -292,6 +300,23 @@ typedef struct {
 int   what;
 } XIPropertyEvent;
 
+typedef struct {
+int   type; /* GenericEvent */
+unsigned long serial;   /* # of last request processed by server */
+Bool  send_event;   /* true if this came from a SendEvent request 
*/
+Display   *display; /* Display the event was read from */
+int   extension;/* XI extension offset */
+int   evtype;
+Time  time;
+int   deviceid;
+int   sourceid;
+unsigned int  touchid;
+Windowroot;
+Windowevent;
+Windowchild;
+int   flags;
+} XITouchOwnershipEvent;
+
 _XFUNCPROTOBEGIN
 
 extern Bool XIQueryPointer(
@@ -415,6 +440,14 @@ extern Status XIAllowEvents(
 Timetime
 );
 
+extern Status XIAllowTouchEvents(
+Display*display,
+int deviceid,
+unsigned inttouch_id,
+Window  grab_window,
+int event_mode
+);
+
 extern int XIGrabButton(
 Display*display,
 int deviceid,
diff --git a/src/XExtInt.c b/src/XExtInt.c
index 86a780e..598f302 100644
--- a/src/XExtInt.c
+++ b/src/XExtInt.c
@@ -146,6 +146,9 @@ static int
 wireToEnterLeave(xXIEnterEvent *in, XGenericEventCookie *cookie);
 static int
 wireToPropertyEvent(xXIPropertyEvent *in, XGenericEventCookie *cookie);
+static int
+wireToTouchOwnershipEvent(xXITouchOwnershipEvent *in,
+  XGenericEventCookie *cookie);
 
 static /* const */ XEvent emptyevent;
 
@@ -270,7 +273,9 @@ static XExtensionVersion versions[] = { {XI_Absent, 0, 0},
  XI_Add_DevicePresenceNotify_Minor},
 {XI_Present, XI_Add_DeviceProperties_Major,
  XI_Add_DeviceProperties_Minor},
-{XI_Present, 2, 0}
+{XI_Present, 2, 0},
+{XI_Present, 2, 1},
+{XI_Present, 2, 2}
 };
 
 /***
@@ -923,6 +928,9 @@ XInputWireToCookie(
 case XI_ButtonRelease:
 case XI_KeyPress:
 case XI_KeyRelease:
+case XI_TouchBegin:
+case XI_TouchUpdate:
+case XI_TouchEnd:
 *cookie = *(XGenericEventCookie*)save;
 if (!wireToDeviceEvent((xXIDeviceEvent*)event, cookie))
 {
@@ -949,12 +957,25 @@ XInputWireToCookie(
 break;
 }
 return ENQUEUE_EVENT;
+case XI_TouchOwnership:
+*cookie = *(XGenericEventCookie*)save;
+if (!wireToTouchOwnershipEvent((xXITouchOwnershipEvent*)event,
+   cookie))
+{
+printf(XInputWireToCookie: CONVERSION FAILURE!  evtype=%d\n,
+ge-evtype);
+break;
+}
+return ENQUEUE_EVENT;
 
 case XI_RawKeyPress:
 case XI_RawKeyRelease:
 case XI_RawButtonPress:
 case XI_RawButtonRelease:
 case XI_RawMotion:
+case XI_RawTouchBegin:
+case XI_RawTouchUpdate:
+case XI_RawTouchEnd:
 *cookie = *(XGenericEventCookie*)save;
 if