RFC: X*IfEvent, generic events and threads
Hi, The documentation for predicate function used with X*IfEvent states that calling back to Xlib from the predicate is forbidden. This is inconvenient with generic events, because calling XGetEventData is mandatory for filtering them. However, calling XGetEventData in the predicate is forbidden by the documentation and also causes a deadlock with multithreaded clients. Would it make sense to create new variants like X*IfGenericEvent using an extended predicate function that would also receive a pointer to the generic event data? That way event filtering could be done for generic events as well without violating the specification for predicates. Current situation is a bit annoying, because only legacy events can be filtered reliably. -- Rami ___ 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 xinit] xcb port of xinit. Unsure of correctness in removing error handling in shutdown
Twas brillig at 22:59:49 10.03.2011 UTC+00 when gunkm...@gmail.com did gyre and gimble: FYI: I've got similar patch (not submitted upstream as it broke Xfree86_VT functionality here: http://git.iplinux.org/xinit.git/commit/?id=9bae70664b1dfb2731fc6ceaab6dbf1b7acaf783 DR Signed-off-by: Demur Rumed gunkm...@gmail.com DR --- DR configure.ac |6 ++-- DR xinit.c | 95 +++--- DR 2 files changed, 47 insertions(+), 54 deletions(-) DR diff --git a/configure.ac b/configure.ac DR index 67214cb..2a9d5da 100644 DR --- a/configure.ac DR +++ b/configure.ac DR @@ -1,5 +1,5 @@ DR dnl Copyright 2005 Red Hat, Inc. DR -dnl DR +dnl Please don't mix whitespace and semantic changes in single patch. DR dnl Permission to use, copy, modify, distribute, and sell this software and its DR dnl documentation for any purpose is hereby granted without fee, provided that DR dnl the above copyright notice appear in all copies and that both that DR @@ -9,7 +9,7 @@ dnl advertising or publicity pertaining to distribution of the software without DR dnl specific, written prior permission. Red Hat makes no DR dnl representations about the suitability of this software for any purpose. It DR dnl is provided as is without express or implied warranty. DR -dnl DR +dnl DR dnl RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, DR dnl INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO DR dnl EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR DR @@ -134,7 +134,7 @@ AM_CONDITIONAL(LAUNCHD, [test x$LAUNCHD = xyes]) DR AM_CONDITIONAL(TIGER_LAUNCHD, [test x$TIGER_LAUNCHD = xyes]) DR DR # Checks for pkg-config packages DR -PKG_CHECK_MODULES(XINIT, x11) DR +PKG_CHECK_MODULES(XINIT, xcb) DR DR case $host_os in DR *bsd*) DR diff --git a/xinit.c b/xinit.c DR index 42ff008..8e50d78 100644 DR --- a/xinit.c DR +++ b/xinit.c DR @@ -28,9 +28,8 @@ in this Software without prior written authorization from The Open Group. DR # include config.h DR #endif DR DR -#include X11/Xlib.h DR +#include xcb/xcb.h DR #include X11/Xos.h DR -#include X11/Xatom.h DR #include stdio.h DR #include ctype.h DR #include stdint.h DR @@ -38,7 +37,6 @@ in this Software without prior written authorization from The Open Group. DR #include signal.h DR #include sys/wait.h DR #include errno.h DR -#include setjmp.h DR #include stdarg.h DR DR #ifdef __APPLE__ DR @@ -101,18 +99,17 @@ static char **server = serverargv + 2;/* make sure room for sh .xserverr DR static char **client = clientargv + 2;/* make sure room for sh .xinitrc args */ DR static char *displayNum = NULL; DR static char *program = NULL; DR -static Display *xd = NULL;/* server connection */ DR +static xcb_connection_t *xd = NULL;/* server connection */ DR int status; DR int serverpid = -1; DR int clientpid = -1; DR volatile int gotSignal = 0; DR DR static void Execute(char **vec); DR -static Bool waitforserver(void); DR -static Bool processTimeout(int timeout, char *string); DR +static int waitforserver(void); DR +static int processTimeout(int timeout, char *string); DR static int startServer(char *server[]); DR static int startClient(char *client[]); DR -static int ignorexio(Display *dpy); DR static void shutdown(void); DR static void set_environment(void); DR DR @@ -134,13 +131,13 @@ sigIgnore(int sig) DR } DR DR static void DR -Execute(char **vec)/* has room from up above */ DR +Execute(char **vec)/* has room from up above */ Ditto. DR { DR execvp(vec[0], vec); DR if (access(vec[0], R_OK) == 0) { DR -vec--;/* back it up to stuff shell in */ DR -vec[0] = SHELL; DR -execvp(vec[0], vec); DR +vec--;/* back it up to stuff shell in */ DR +vec[0] = SHELL; DR +execvp(vec[0], vec); Ditto. DR } DR return; DR } DR @@ -215,12 +212,12 @@ main(int argc, char *argv[]) DR */ DR if (!client_given) { DR char *cp; DR -Bool required = False; DR +int required = FALSE; Where does this FALSE come from? xcb? Why not bool / true / false with autoconf check? DR DR xinitrcbuf[0] = '\0'; DR if ((cp = getenv(XINITRC)) != NULL) { DR snprintf(xinitrcbuf, sizeof(xinitrcbuf), %s, cp); DR -required = True; DR +required = TRUE; DR } else if ((cp = getenv(HOME)) != NULL) { DR snprintf(xinitrcbuf, sizeof(xinitrcbuf), DR %s/%s, cp, XINITRC); DR @@ -241,12 +238,12 @@ main(int argc, char *argv[]) DR */ DR if (!server_given) { DR char *cp; DR -Bool required = False; DR +int required = FALSE; DR DR xserverrcbuf[0]
[PULL] [libx11] Three static analysis fixes that slipped through the cracks
The following changes since commit 807a7fc0354f2212dfa5ff1f9e4ede56d8e69ef4: Gaetan Nadon (1): Docbook: change the book id to match the xml file basename are available in the git repository at: http://git.gitorious.org/erkkise/libx11-fixes.git fixes-missing-3 After reviewing the patch statuses I noticed that there was no pull-request for these three reviewed patches based on static analysis. So here it is! Erkki Seppälä (3): im/ximcp: release modifiermap before returning keyBind: Use Xcalloc to initialize allocated _XKeytrans xkb: XkbPropertyPtr determined allocation success from wrong variables modules/im/ximcp/imThaiFlt.c | 11 +-- src/KeyBind.c|2 +- src/xkb/XKBGAlloc.c |4 ++-- 3 files changed, 12 insertions(+), 5 deletions(-) ___ 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: [PULL] [libx11] Three static analysis fixes that slipped through the cracks
On Fri, Mar 11, 2011 at 12:49:15 +0200, Erkki Seppala wrote: The following changes since commit 807a7fc0354f2212dfa5ff1f9e4ede56d8e69ef4: Gaetan Nadon (1): Docbook: change the book id to match the xml file basename are available in the git repository at: http://git.gitorious.org/erkkise/libx11-fixes.git fixes-missing-3 After reviewing the patch statuses I noticed that there was no pull-request for these three reviewed patches based on static analysis. So here it is! Pulled, thanks! 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
[PATCH xserver] xkb: Release XKB component names when compiling keymap.
Reviewed-by: Erkki Seppälä erkki.sepp...@vincit.fi Signed-off-by: Rami Ylimäki rami.ylim...@vincit.fi --- I tested this with X server 1.9. However, I did cherry pick enough patches from master so that I could make the patch apply cleanly on X server master also. include/xkbsrv.h |5 + xkb/XKBAlloc.c | 19 +++ xkb/ddxLoad.c| 22 +++--- xkb/xkb.c| 11 +-- 4 files changed, 36 insertions(+), 21 deletions(-) diff --git a/include/xkbsrv.h b/include/xkbsrv.h index 9f1507e..34ef574 100644 --- a/include/xkbsrv.h +++ b/include/xkbsrv.h @@ -447,6 +447,11 @@ extern _X_EXPORT void XkbFreeKeyboard( Bool/* freeDesc */ ); +extern _X_EXPORT void XkbFreeComponentNames( + XkbComponentNamesPtr/* names */, + Bool/* freeNames */ +); + extern _X_EXPORT void XkbSetActionKeyMods( XkbDescPtr /* xkb */, XkbAction * /* act */, diff --git a/xkb/XKBAlloc.c b/xkb/XKBAlloc.c index c52e091..87f8a5a 100644 --- a/xkb/XKBAlloc.c +++ b/xkb/XKBAlloc.c @@ -335,3 +335,22 @@ XkbFreeKeyboard(XkbDescPtr xkb,unsigned which,Bool freeAll) free(xkb); return; } + + +/******/ + +void +XkbFreeComponentNames(XkbComponentNamesPtr names, Bool freeNames) +{ +if (names) +{ +free(names-keycodes); +free(names-types); +free(names-compat); +free(names-symbols); +free(names-geometry); +memset(names, 0, sizeof(XkbComponentNamesRec)); +} +if (freeNames) +free(names); +} diff --git a/xkb/ddxLoad.c b/xkb/ddxLoad.c index 00ac034..501104e 100644 --- a/xkb/ddxLoad.c +++ b/xkb/ddxLoad.c @@ -449,23 +449,23 @@ XkbRMLVOtoKcCGST(DeviceIntPtr dev, XkbRMLVOSet *rmlvo, XkbComponentNamesPtr kccg static XkbDescPtr XkbCompileKeymapForDevice(DeviceIntPtr dev, XkbRMLVOSet *rmlvo, int need) { -XkbDescPtr xkb; +XkbDescPtr xkb = NULL; unsigned int provided; -XkbComponentNamesRec kccgst; +XkbComponentNamesRec kccgst = {0}; char name[PATH_MAX]; -if (!XkbRMLVOtoKcCGST(dev, rmlvo, kccgst)) -return NULL; - -provided = XkbDDXLoadKeymapByNames(dev, kccgst, XkmAllIndicesMask, need, - xkb, name, PATH_MAX); -if ((need provided) != need) { -if (xkb) { -XkbFreeKeyboard(xkb, 0, TRUE); -xkb = NULL; +if (XkbRMLVOtoKcCGST(dev, rmlvo, kccgst)) { +provided = XkbDDXLoadKeymapByNames(dev, kccgst, XkmAllIndicesMask, need, + xkb, name, PATH_MAX); +if ((need provided) != need) { +if (xkb) { +XkbFreeKeyboard(xkb, 0, TRUE); +xkb = NULL; +} } } +XkbFreeComponentNames(kccgst, FALSE); return xkb; } diff --git a/xkb/xkb.c b/xkb/xkb.c index 39dbab4..bd0512a 100644 --- a/xkb/xkb.c +++ b/xkb/xkb.c @@ -5898,16 +5898,7 @@ ProcXkbGetKbdByName(ClientPtr client) XkbFreeKeyboard(new,XkbAllComponentsMask,TRUE); new= NULL; } -free(names.keycodes); -names.keycodes = NULL; -free(names.types); -names.types = NULL; -free(names.compat); -names.compat = NULL; -free(names.symbols); -names.symbols = NULL; -free(names.geometry); -names.geometry = NULL; +XkbFreeComponentNames(names, FALSE); return Success; } -- 1.6.3.3 ___ 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 modular v2 10/15] jhbuild: Move font modules before drivers
The driver metamodule was separated from the module definitions by the font section. Signed-off-by: Dan Nicholson dbn.li...@gmail.com --- V2: s/fonts-util/font-util/ xorg.modules | 1000 +- 1 files changed, 500 insertions(+), 500 deletions(-) diff --git a/xorg.modules b/xorg.modules index 5747ed1..4d6b344 100644 --- a/xorg.modules +++ b/xorg.modules @@ -1120,904 +1120,904 @@ /dependencies /metamodule - !-- input drivers -- + !-- core font support, still required for some configurations -- - autotools id=xf86-input-acecad -branch module=xorg/driver/xf86-input-acecad -checkoutdir=xorg/driver/xf86-input-acecad/ + autotools id=bdftopcf +branch module=xorg/app/bdftopcf +checkoutdir=xorg/app/bdftopcf/ dependencies - dep package=xserver/ + dep package=libXfont/ /dependencies /autotools - autotools id=xf86-input-aiptek -branch module=xorg/driver/xf86-input-aiptek -checkoutdir=xorg/driver/xf86-input-aiptek/ + autotools id=mkfontscale +branch module=xorg/app/mkfontscale +checkoutdir=xorg/app/mkfontscale/ dependencies - dep package=xserver/ + dep package=libfontenc/ /dependencies /autotools - autotools id=xf86-input-evdev -branch module=xorg/driver/xf86-input-evdev -checkoutdir=xorg/driver/xf86-input-evdev/ + autotools id=mkfontdir +branch module=xorg/app/mkfontdir +checkoutdir=xorg/app/mkfontdir/ dependencies - dep package=xserver/ + dep package=mkfontscale/ /dependencies /autotools - autotools id=xf86-input-joystick -branch module=xorg/driver/xf86-input-joystick -checkoutdir=xorg/driver/xf86-input-joystick/ + autotools id=font-util +branch module=xorg/font/util +checkoutdir=xorg/font/util/ + /autotools + + autotools id=encodings +branch module=xorg/font/encodings +checkoutdir=xorg/font/encodings/ dependencies - dep package=xserver/ + dep package=mkfontscale/ /dependencies /autotools - autotools id=xf86-input-keyboard -branch module=xorg/driver/xf86-input-keyboard -checkoutdir=xorg/driver/xf86-input-keyboard/ + autotools id=font-adobe-100dpi +branch module=xorg/font/adobe-100dpi +checkoutdir=xorg/font/adobe-100dpi/ dependencies - dep package=xserver/ + dep package=bdftopcf/ + dep package=mkfontscale/ + dep package=mkfontdir/ + dep package=fontconfig/ + dep package=font-util/ /dependencies /autotools - autotools id=xf86-input-mouse -branch module=xorg/driver/xf86-input-mouse -checkoutdir=xorg/driver/xf86-input-mouse/ + autotools id=font-adobe-75dpi +branch module=xorg/font/adobe-75dpi +checkoutdir=xorg/font/adobe-75dpi/ dependencies - dep package=xserver/ + dep package=bdftopcf/ + dep package=mkfontscale/ + dep package=mkfontdir/ + dep package=fontconfig/ + dep package=font-util/ /dependencies /autotools - autotools id=xf86-input-synaptics -branch module=xorg/driver/xf86-input-synaptics -checkoutdir=xorg/driver/xf86-input-synaptics/ + autotools id=font-adobe-utopia-100dpi +branch module=xorg/font/adobe-utopia-100dpi +checkoutdir=xorg/font/adobe-utopia-100dpi/ dependencies - dep package=xserver/ + dep package=bdftopcf/ + dep package=mkfontscale/ + dep package=mkfontdir/ + dep package=fontconfig/ + dep package=font-util/ /dependencies /autotools - autotools id=xf86-input-vmmouse -branch module=xorg/driver/xf86-input-vmmouse -checkoutdir=xorg/driver/xf86-input-vmmouse/ + autotools id=font-adobe-utopia-75dpi +branch module=xorg/font/adobe-utopia-75dpi +checkoutdir=xorg/font/adobe-utopia-75dpi/ dependencies - dep package=xserver/ + dep package=bdftopcf/ + dep package=mkfontscale/ + dep package=mkfontdir/ + dep package=fontconfig/ + dep package=font-util/ /dependencies /autotools - autotools id=xf86-input-void -branch module=xorg/driver/xf86-input-void -checkoutdir=xorg/driver/xf86-input-void/ + autotools id=font-adobe-utopia-type1 +branch module=xorg/font/adobe-utopia-type1 +checkoutdir=xorg/font/adobe-utopia-type1/ dependencies - dep package=xserver/ + dep package=bdftopcf/ + dep package=mkfontscale/ + dep package=mkfontdir/ + dep package=fontconfig/ + dep package=font-util/ /dependencies /autotools - autotools id=xf86-video-apm -branch module=xorg/driver/xf86-video-apm -checkoutdir=xorg/driver/xf86-video-apm/ + autotools id=font-arabic-misc +branch module=xorg/font/font-arabic-misc +checkoutdir=xorg/font/font-arabic-misc/ dependencies - dep package=xserver/ +
[PATCH modular v2 05/15] jhbuild: Build openchrome driver from svn
Since the openchrome driver is being distributed in the katamari, it makes sense to build it here even if it's not under X.Org. The openchrome svn setup is a little unusual. Rather than having the code in it's own project subdirectory, it's directly in the root svn directory. If svn is used as the branch module, jhbuild will use the trunk or branches directories as directed by the revision attribute. Signed-off-by: Dan Nicholson dbn.li...@gmail.com --- V2: Just updating the commit text. I checked this out this jhbuild tagged 2.30.2 and it worked fine. xorg.modules | 11 +++ 1 files changed, 11 insertions(+), 0 deletions(-) diff --git a/xorg.modules b/xorg.modules index 28c717d..11046c4 100644 --- a/xorg.modules +++ b/xorg.modules @@ -7,6 +7,8 @@ moduleset repository type=git name=git.freedesktop.org default=yes href=git://anongit.freedesktop.org/git// + repository type=svn name=svn.openchrome.org + href=http://svn.openchrome.org// autotools id=fontconfig branch module=fontconfig @@ -1284,6 +1286,14 @@ /dependencies /autotools + autotools id=xf86-video-openchrome +branch module=svn repo=svn.openchrome.org +checkoutdir=xorg/driver/xf86-video-openchrome/ +dependencies + dep package=xserver/ +/dependencies + /autotools + autotools id=xf86-video-r128 branch module=xorg/driver/xf86-video-r128 checkoutdir=xorg/driver/xf86-video-r128/ @@ -1715,6 +1725,7 @@ dep package=xf86-video-neomagic/ dep package=xf86-video-nouveau/ dep package=xf86-video-nv/ + dep package=xf86-video-openchrome/ dep package=xf86-video-r128/ dep package=xf86-video-rendition/ dep package=xf86-video-savage/ -- 1.7.3.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 modular v2 06/15] jhbuild: Build applications included in the katamari
If they're good enough to make a X.Org release, they're good enough to be build tested. Signed-off-by: Dan Nicholson dbn.li...@gmail.com --- V2: Moved xcursorgen module correction to 0004 xorg.modules | 78 ++ 1 files changed, 78 insertions(+), 0 deletions(-) diff --git a/xorg.modules b/xorg.modules index 11046c4..267f915 100644 --- a/xorg.modules +++ b/xorg.modules @@ -763,6 +763,14 @@ checkoutdir=xorg/app/scripts/ /autotools + autotools id=sessreg +branch module=xorg/app/sessreg +checkoutdir=xorg/app/sessreg/ +dependencies + dep package=x11proto/ +/dependencies + /autotools + autotools id=setxkbmap branch module=xorg/app/setxkbmap checkoutdir=xorg/app/setxkbmap/ @@ -810,6 +818,23 @@ /dependencies /autotools + autotools id=xbacklight +branch module=xorg/app/xbacklight +checkoutdir=xorg/app/xbacklight/ +dependencies + dep package=libX11/ + dep package=libXrandr/ +/dependencies + /autotools + + autotools id=xcmsdb +branch module=xorg/app/xcmsdb +checkoutdir=xorg/app/xcmsdb/ +dependencies + dep package=libX11/ +/dependencies + /autotools + autotools id=xcursorgen branch module=xorg/app/xcursorgen checkoutdir=xorg/app/xcursorgen/ @@ -856,6 +881,15 @@ /dependencies /autotools + autotools id=xgamma +branch module=xorg/app/xgamma +checkoutdir=xorg/app/xgamma/ +dependencies + dep package=libX11/ + dep package=libXxf86vm/ +/dependencies + /autotools + autotools id=xhost branch module=xorg/app/xhost checkoutdir=xorg/app/xhost/ @@ -890,6 +924,25 @@ /dependencies /autotools + autotools id=xkbevd +branch module=xorg/app/xkbevd +checkoutdir=xorg/app/xkbevd/ +dependencies + dep package=libX11/ + dep package=libxkbfile/ +/dependencies + /autotools + + autotools id=xkbutils +branch module=xorg/app/xkbutils +checkoutdir=xorg/app/xkbutils/ +dependencies + dep package=libX11/ + dep package=libXaw/ + dep package=libXt/ +/dependencies + /autotools + autotools id=xkill branch module=xorg/app/xkill checkoutdir=xorg/app/xkill/ @@ -932,6 +985,15 @@ /dependencies /autotools + autotools id=xpr +branch module=xorg/app/xpr +checkoudir=xorg/app/xpr/ +dependencies + dep package=libX11/ + !--dep package=libXmuu/-- +/dependencies + /autotools + autotools id=xprop branch module=xorg/app/xprop checkoutdir=xorg/app/xprop/ @@ -957,6 +1019,14 @@ /dependencies /autotools + autotools id=xrefresh +branch module=xorg/app/xrefresh +checkoudir=xorg/app/xrefresh/ +dependencies + dep package=libX11/ +/dependencies + /autotools + autotools id=xset branch module=xorg/app/xset checkoutdir=xorg/app/xset/ @@ -1011,28 +1081,36 @@ dep package=luit/ dep package=rendercheck/ dep package=scripts/ + dep package=sessreg/ dep package=setxkbmap/ dep package=smproxy/ dep package=twm/ dep package=x11perf/ dep package=xauth/ + dep package=xbacklight/ + dep package=xcmsdb/ dep package=xcursorgen/ dep package=xdpyinfo/ dep package=xdriinfo/ dep package=xev/ dep package=xeyes/ + dep package=xgamma/ dep package=xhost/ dep package=xinit/ dep package=xinput/ dep package=xkbcomp/ + dep package=xkbevd/ + dep package=xkbutils/ dep package=xkill/ dep package=xlogo/ dep package=xlsatoms/ dep package=xlsclients/ dep package=xmodmap/ + dep package=xpr/ dep package=xprop/ dep package=xrandr/ dep package=xrdb/ + dep package=xrefresh/ dep package=xset/ dep package=xsetroot/ dep package=xvinfo/ -- 1.7.3.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 modular v2 14/15] jhbuild: Add script for updating moduleset tarball definitions
update-moduleset.sh takes the sha1sum and tarball and updates the module definition in a given moduleset. This should make keeping the stable moduleset easier. The module name mangling list was reached by grepping for all the package names in the moduleset. Signed-off-by: Dan Nicholson dbn.li...@gmail.com --- V2: Fix the argument order in the usage and update the module mangling list. update-moduleset.sh | 84 +++ 1 files changed, 84 insertions(+), 0 deletions(-) create mode 100755 update-moduleset.sh diff --git a/update-moduleset.sh b/update-moduleset.sh new file mode 100755 index 000..04f5ad0 --- /dev/null +++ b/update-moduleset.sh @@ -0,0 +1,84 @@ +#!/bin/sh + +module= +version= + +usage() +{ +cat EOF +Usage: `basename $0` MODULESET SHA1SUM TARBALL + +Updates the module associated to TARBALL in MODULESET. +EOF +} + +# check input arguments +moduleset=$1 +sha1sum=$2 +tarball=$3 +if [ -z $moduleset ] || [ -z $sha1sum ] || [ -z $tarball ]; then +echo error: Not enough arguments 2 +usage 2 +exit 1 +fi + +# check that the moduleset exists and is writable +if [ ! -w $moduleset ]; then +echo error: moduleset \$moduleset\ does not exist or is not writable 2 +exit 1 +fi + +# we only want the tarball name +tarball=`basename $tarball` + +# pull the module and version from the tarball +module=${tarball%-*} +version=${tarball##*-} +version=${version%.tar*} + +# sometimes the jhbuild id doesn't match the tarball name +module_id=$module +case $module in +xorg-server) + module_id=xserver + ;; +util-macros) + module_id=macros + ;; +libXres) +module_id=libXRes +;; +xtrans) +module_id=libxtrans +;; +xbitmaps) +module_id=bitmaps +;; +MesaLib) + module_id=libGL + ;; +xcursor-themes) +module_id=cursors +;; +libpthread-stubs) + module_id=pthread-stubs + ;; +xproto) + module_id=x11proto + ;; +esac + +# edit the moduleset +sed -i \ +/id=\$module_id\/{ +# read the next line until we get /, which should be the end +# of the branch tag +:next +N +/\/$/!b next + +# update the info +s/$module-[^\]*\/$tarball\/ +s/version=\[^\]*\/version=\$version\/ +s/hash=\[^\]*\/hash=\sha1:$sha1sum\/ +} $moduleset -- 1.7.3.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 modular v2 15/15] release.sh: Update jhbuild moduleset with --moduleset
In order to keep the katamari moduleset up to date with current tarball information, have release.sh update the file when new releases are made. This is enabled by passing a module file with --moduleset. Signed-off-by: Dan Nicholson dbn.li...@gmail.com --- V2: Split the sha1sum output so the hash is separate from $targz release.sh | 22 ++ 1 files changed, 22 insertions(+), 0 deletions(-) diff --git a/release.sh b/release.sh index ea4d9c9..5228a30 100755 --- a/release.sh +++ b/release.sh @@ -12,6 +12,7 @@ host_xorg=xorg.freedesktop.org host_dri=dri.freedesktop.org user= remote=origin +moduleset= usage() { @@ -24,6 +25,7 @@ Options: --helpthis help message --ignore-local-changesdon't abort on uncommitted local changes --remote git remote where the change should be pushed (default origin) + --moduleset jhbuild moduleset to update with relase info HELP } @@ -107,6 +109,11 @@ while [ $# != 0 ]; do remote=$1 shift ;; +--moduleset) +shift +moduleset=$1 +shift +;; --*) echo error: unknown option usage @@ -198,6 +205,14 @@ if [ -z $tag_previous ] || exit 1 fi +if [ -n $moduleset ]; then +echo checking for moduleset +if ! [ -w $moduleset ]; then +echo moduleset $moduleset does not exist or is not writable +exit 1 +fi +fi + if [ $section = libdrm ]; then section_path=libdrm srv_path=/srv/$host_dri/www/$section_path @@ -236,6 +251,13 @@ echo generating announce mail template, remember to sign it gen_announce_mail $announce echo at: $announce +if [ -n $moduleset ]; then +echo updating moduleset $moduleset +modulardir=`dirname $0` +sha1sum=`cd $tarball_dir $SHA1SUM $targz | cut -d' ' -f1` +$modulardir/update-moduleset.sh $moduleset $sha1sum $targz +fi + echo installing release into server scp $tarball_dir/$targz $tarball_dir/$tarbz2 $user$host_people:$srv_path -- 1.7.3.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
[PULL v2] XResource extension v1.2
Hello, Here is the pull request for introducing and implementing XResource extension v1.2. The previous pull request with some more information about this extension, that didn't make it to 1.10, can be viewed at http://www.mail-archive.com/xorg-devel@lists.x.org/msg18418.html . These branches have been rebased against the corresponding master branches. This version has been tested on 64-bit platforms as well and libXRes has been slightly amended to fix an issue (hi, Tiago!). Cc'd to interested parties. xorg/xserver: The following changes since commit a19771e4337d1c4600550314bbc42a1495a023ff: Erkki Seppälä (1): xfree86/common: Remove a configScreen leak when conf_screen is NULL are available in the git repository at: git://gitorious.org/erkkise/fdo-xserver.git client-tracking Erkki Seppälä (6): Implemented first part of XResource extension v1.2: X_XResQueryClientIds dix: add a mechanism for iterating through all subresources dix: add hashing functions to resource.h for others to use. dix: add a generic hashtable implementation dix: add reference count of the resource to ResourceSizeRec Xext: add support for X_XResQueryResourceBytes Rami Ylimäki (3): render: Report pixmap usage of pictures to resource extension. composite: Report pixmap usage of client windows to resource extension. dix: Add reverse resource name lookup function to registry. Xext/xres.c | 830 +- composite/compext.c | 24 ++ dix/Makefile.am |1 + dix/hashtable.c | 240 dix/registry.c | 10 + dix/resource.c | 375 ++- hw/xfree86/loader/sdksyms.sh |1 + include/Makefile.am |1 + include/hashtable.h | 113 ++ include/protocol-versions.h |2 +- include/registry.h |6 + include/resource.h | 59 +++ render/picture.c | 24 ++ test/Makefile.am |3 +- test/hashtabletest.c | 143 15 files changed, 1813 insertions(+), 19 deletions(-) create mode 100644 dix/hashtable.c create mode 100644 include/hashtable.h create mode 100644 test/hashtabletest.c xorg/proto/resourceproto: The following changes since commit 386946098f97b9137af3265b5608fdcf22c7d49a: Alan Coopersmith (1): Add missing XFree86 copyright notice to COPYING are available in the git repository at: git://git.gitorious.org/erkkise/fdo-resourceproto.git client-tracking Erkki Seppälä (1): Protocol records for XRes v1.2 Rami Ylimäki (1): Added protocol description for XRes v1.2 XResproto.h | 100 +- resproto.txt | 462 ++ 2 files changed, 561 insertions(+), 1 deletions(-) create mode 100644 resproto.txt xcb/proto: The following changes since commit c4497cdbf0640c376cdebb0a9e5ea62458e6ba51: Peter Harris (1): Merge branch 'master' of git://anongit.freedesktop.org/~peterh/xcbproto are available in the git repository at: git://gitorious.org/erkkise/fdo-xcb-proto.git client-tracking Erkki Seppälä (1): Prototype for XRes v1.2 src/res.xml | 70 ++- 1 files changed, 69 insertions(+), 1 deletions(-) xorg/lib/libXRes: The following changes since commit 455c02ee9143b2bfbfd99b6481a1b22a0ce2a2bf: Gaetan Nadon (1): config: comment, minor upgrade, quote and layout configure.ac are available in the git repository at: git://gitorious.org/erkkise/fdo-libXRes.git client-tracking Erkki Seppälä (2): Implemented first part of XResource extension v1.2: XResQueryClientIds Implemented second part of XResource extension v1.2: XResQueryResourceBytes include/X11/extensions/XRes.h | 79 ++ src/XRes.c| 230 - 2 files changed, 306 insertions(+), 3 deletions(-) end of pull requests :). ___ 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 1/2] man: relocate manual pages in the man subdir outside doc
The convention is to have the manual pages in a man subdir which is not under a doc dir. The doc dir contains users docs. This will move man pages out of the way for upcoming DocBook patches. Signed-off-by: Gaetan Nadon mems...@videotron.ca --- configure.ac |2 +- hw/xfree86/Makefile.am |6 ++ hw/xfree86/doc/Makefile.am |2 +- hw/xfree86/{doc = }/man/Makefile.am |0 hw/xfree86/{doc = }/man/Xorg.man|0 hw/xfree86/{doc = }/man/xorg.conf.d.man |0 hw/xfree86/{doc = }/man/xorg.conf.man |0 7 files changed, 4 insertions(+), 6 deletions(-) rename hw/xfree86/{doc = }/man/Makefile.am (100%) rename hw/xfree86/{doc = }/man/Xorg.man (100%) rename hw/xfree86/{doc = }/man/xorg.conf.d.man (100%) rename hw/xfree86/{doc = }/man/xorg.conf.man (100%) diff --git a/configure.ac b/configure.ac index 681f9d9..7eb4151 100644 --- a/configure.ac +++ b/configure.ac @@ -2205,7 +2205,6 @@ hw/xfree86/dixmods/Makefile hw/xfree86/dixmods/extmod/Makefile hw/xfree86/doc/Makefile hw/xfree86/doc/devel/Makefile -hw/xfree86/doc/man/Makefile hw/xfree86/doc/sgml/Makefile hw/xfree86/dri/Makefile hw/xfree86/dri2/Makefile @@ -2216,6 +2215,7 @@ hw/xfree86/fbdevhw/man/Makefile hw/xfree86/i2c/Makefile hw/xfree86/int10/Makefile hw/xfree86/loader/Makefile +hw/xfree86/man/Makefile hw/xfree86/modes/Makefile hw/xfree86/os-support/Makefile hw/xfree86/os-support/bsd/Makefile diff --git a/hw/xfree86/Makefile.am b/hw/xfree86/Makefile.am index c23b1fd..09d875b 100644 --- a/hw/xfree86/Makefile.am +++ b/hw/xfree86/Makefile.am @@ -27,17 +27,15 @@ if INT10MODULE INT10_SUBDIR = int10 endif -DOC_SUBDIR = doc - SUBDIRS = common ddc i2c x86emu $(INT10_SUBDIR) fbdevhw os-support parser \ ramdac shadowfb $(VBE_SUBDIR) $(VGAHW_SUBDIR) $(XAA_SUBDIR) \ loader dixmods exa modes \ - $(DRI_SUBDIR) $(DRI2_SUBDIR) $(XF86UTILS_SUBDIR) $(DOC_SUBDIR) + $(DRI_SUBDIR) $(DRI2_SUBDIR) $(XF86UTILS_SUBDIR) doc man DIST_SUBDIRS = common ddc i2c x86emu int10 fbdevhw os-support \ parser ramdac shadowfb vbe vgahw xaa \ loader dixmods dri dri2 exa modes \ - utils doc + utils doc man bin_PROGRAMS = Xorg Xorg_SOURCES = xorg.c diff --git a/hw/xfree86/doc/Makefile.am b/hw/xfree86/doc/Makefile.am index 8021736..ac316e0 100644 --- a/hw/xfree86/doc/Makefile.am +++ b/hw/xfree86/doc/Makefile.am @@ -1,4 +1,4 @@ -SUBDIRS = devel man sgml +SUBDIRS = devel sgml EXTRA_DIST = \ README.modes diff --git a/hw/xfree86/doc/man/Makefile.am b/hw/xfree86/man/Makefile.am similarity index 100% rename from hw/xfree86/doc/man/Makefile.am rename to hw/xfree86/man/Makefile.am diff --git a/hw/xfree86/doc/man/Xorg.man b/hw/xfree86/man/Xorg.man similarity index 100% rename from hw/xfree86/doc/man/Xorg.man rename to hw/xfree86/man/Xorg.man diff --git a/hw/xfree86/doc/man/xorg.conf.d.man b/hw/xfree86/man/xorg.conf.d.man similarity index 100% rename from hw/xfree86/doc/man/xorg.conf.d.man rename to hw/xfree86/man/xorg.conf.d.man diff --git a/hw/xfree86/doc/man/xorg.conf.man b/hw/xfree86/man/xorg.conf.man similarity index 100% rename from hw/xfree86/doc/man/xorg.conf.man rename to hw/xfree86/man/xorg.conf.man -- 1.6.0.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 xserver 2/2] dmx/doc: remove dead code in the makefile
This was leftover from some older ways of building dmx/scale docbook. Signed-off-by: Gaetan Nadon mems...@videotron.ca --- hw/dmx/doc/Makefile.am |7 ++- 1 files changed, 2 insertions(+), 5 deletions(-) diff --git a/hw/dmx/doc/Makefile.am b/hw/dmx/doc/Makefile.am index 8e73602..53fb784 100644 --- a/hw/dmx/doc/Makefile.am +++ b/hw/dmx/doc/Makefile.am @@ -30,8 +30,6 @@ DOXYGEN_HEAD=\ html/annotated.html DOXYGEN_REST= \ - dmx.txt \ - scaled.txt \ html/ChkNotMaskEv_8c.html \ html/ChkNotMaskEv_8h.html \ html/ChkNotMaskEv_8h_source.html \ @@ -237,7 +235,6 @@ DOXYGEN_REST= \ DOXYGEN_FILES=$(DOXYGEN_HEAD) $(DOXYGEN_REST) EXTRA_DIST = \ - $(XML_FILES) \ DMXSpec.txt \ DMXSpec-v1.txt \ doxygen.conf \ @@ -261,10 +258,10 @@ $(DOXYGEN_HEAD): $(DOXYGEN_SRC) $(DOXYGEN_REST): $(DOXYGEN_HEAD) maintainer-clean-local: - rm -rf html/ scaled.txt dmx.txt + rm -rf html/ distclean-local: - rm -rf html/ scaled.txt dmx.txt + rm -rf html/ endif HAVE_DOXYGEN endif ENABLE_DEVEL_DOCS -- 1.6.0.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 inputproto xi 2.1] Updates for pointer emulation and more touch device modes
On 03/11/2011 12:15 AM, Peter Hutterer wrote: On Thu, Mar 10, 2011 at 03:39:18PM -0500, Chase Douglas wrote: On 03/08/2011 11:59 PM, Peter Hutterer wrote: On Tue, Mar 08, 2011 at 10:24:42AM -0500, Chase Douglas wrote: On 03/08/2011 12:41 AM, Peter Hutterer wrote: On Wed, Mar 02, 2011 at 11:35:41AM -0500, Chase Douglas wrote: On 03/02/2011 05:58 AM, Daniel Stone wrote: On Tue, Feb 22, 2011 at 10:06:37AM -0500, Chase Douglas wrote: [...] I don't think it's a bug either. The X server runs as a process. The latency between when an event physically occurs and when the server handles the event includes an irq context switch, kernel/userspace context switch, scheduling delays, and then signal context switch (hopefully this is eliminated with the threaded I/O work). [...] In contrast, the Linux input system sets the evdev event timestamp to the current kernel time when the event is generated in irq context. [...] and we can't pass the timestamp from the event with the event itself? something like xf86PostMotionEvent(device, timestamp, mask); and then convert the stamp to server time. Good idea :). I'd propose leaving the conversion from device time to server time in the input module, and adding the argument only on the end of the xf86Post*EventM functions so we don't have to fix up every xf86Post* call in the old modules. Sound good? I guess daniel meant s/removed/reattached/, not as in unplugged. But you answered the question, a client registering for touch events must re-select for touch events on every hierarchy change that affects the SD (including the race conditions this implies). What is the reason for this again? If we already require clients to track the SDs, can we assume that they want the events from the device as selected, even if reattached? We enforce one touch client selection per physical device per window at selection request time. Let's say on the same window you have client A selecting on detached slave device S, and client B selecting on XIAllMasterDevices. When you attach device S to a master device, you now have two competing selections. Do you send touch events to client A or client B? I feel that client B has priority and client A's selection should be cancelled. If you inverted the priority, you would break X core and XI 1.x clients by removing their selections without them knowing. can you even select for XIAllMasterDevices for touch events? master devices don't send touch events so you can't really select for them. Not sure how that situation would then happen. if you can, I need an extra blurb to see the semantics for XIAllMasterDevices on XISelectEvents. I'm not sure where the confusion here lies. In ubuntu, qt selects on XIAllMasterDevices for touch events and things work fine. I guess I'm not sure what needs to be clarified. ok, one thing first: a protocol spec and an implementation are two different things. they're tied to each other, something that makes sense in a protocol spec may not be feasable to implement and implementation doesn't necessarily make sense as protocol. Coupling those two up is dangerous. Look at RawEvents in XI2 for example. made sense when implementing, doesn't make sense from the protocol. look at the XI2 library headers. protocol extensibility makes sense, implementation completely missed it. so things work fine can apply to any implementation. This is a good point. My reply glossed over this. anyway: XIAllMasterDevices has certain semantics. It's mostly the same as selecting for all master devices with a few extra quirks. touch events are not sent through master devices. so we can't select for touch events on a master device, but instead require the client to select on SDs directly. is this right? if you can't select on master devices, XIAllMasterDevices shouldn't have any effect. If it does have an effect and I select for (ButtonPress|Touch{Begin|...}) on XIAllMasterDevices, I get touch events from the slave device but button press from the master device? Can I still select on the slave device if I've selected on the master? with current XI2.0, I can because the two events are not coupled. has the meaning of XIAllMasterDevices changed to select for events on slave devices that are currently attached for certain event masks but not the other events masks? where am I going wrong here? Actually, the meaning of selecting for touch events from XIAllMasterDevices is the same as selecting for pointer events. A client can select for touch events from a specific device, all devices, a specific master device, or all master devices. I didn't state this explicitly in the protocol because it's not a departure from XI 2.0. I suppose you don't remember, but it was you who suggested it should operate this way and changed my thinking :). The only thing that's different with touch event delivery is the special case of pointer emulated events from direct touch devices. My
Re: [PATCH xserver 2/2] dmx/doc: remove dead code in the makefile
On Fri, Mar 11, 2011 at 8:08 AM, Gaetan Nadon mems...@videotron.ca wrote: This was leftover from some older ways of building dmx/scale docbook. Signed-off-by: Gaetan Nadon mems...@videotron.ca --- hw/dmx/doc/Makefile.am | 7 ++- 1 files changed, 2 insertions(+), 5 deletions(-) diff --git a/hw/dmx/doc/Makefile.am b/hw/dmx/doc/Makefile.am index 8e73602..53fb784 100644 --- a/hw/dmx/doc/Makefile.am +++ b/hw/dmx/doc/Makefile.am @@ -30,8 +30,6 @@ DOXYGEN_HEAD=\ html/annotated.html DOXYGEN_REST= \ - dmx.txt \ - scaled.txt \ html/ChkNotMaskEv_8c.html \ html/ChkNotMaskEv_8h.html \ html/ChkNotMaskEv_8h_source.html \ @@ -237,7 +235,6 @@ DOXYGEN_REST= \ DOXYGEN_FILES=$(DOXYGEN_HEAD) $(DOXYGEN_REST) EXTRA_DIST = \ - $(XML_FILES) \ Took me a minute to figure this part out. This variable is not used anymore, but the xml files are distributed by being part of doc_sources. Reviewed-by: Dan Nicholson dbn.li...@gmail.com ___ 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 xserver 1/2] man: relocate manual pages in the man subdir outside doc
On Fri, Mar 11, 2011 at 8:08 AM, Gaetan Nadon mems...@videotron.ca wrote: The convention is to have the manual pages in a man subdir which is not under a doc dir. The doc dir contains users docs. This will move man pages out of the way for upcoming DocBook patches. Signed-off-by: Gaetan Nadon mems...@videotron.ca Reviewed-by: Dan Nicholson dbn.li...@gmail.com ___ 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] Make xorg.conf.example rule compatible with Solaris make
Solaris make won't substitute $ in explicit rules, only implicit ones Signed-off-by: Alan Coopersmith alan.coopersm...@oracle.com --- hw/xfree86/Makefile.am |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/hw/xfree86/Makefile.am b/hw/xfree86/Makefile.am index c23b1fd..93995c6 100644 --- a/hw/xfree86/Makefile.am +++ b/hw/xfree86/Makefile.am @@ -114,7 +114,7 @@ CONF_SUBSTS = -e 's|__filemansuffix__|$(FILE_MAN_SUFFIX)|g' \ -e 's|DEFAULTFONTPATH|$(COMPILEDDEFAULTFONTPATH)|g' xorg.conf.example: xorgconf.cpp - $(AM_V_GEN)$(SED) $(CONF_SUBSTS) $ $@ + $(AM_V_GEN)$(SED) $(CONF_SUBSTS) $(srcdir)/xorgconf.cpp $@ relink: $(AM_V_at)rm -f Xorg $(MAKE) Xorg -- 1.7.3.2 ___ 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] Make xorg.conf.example rule compatible with Solaris make
On Fri, 2011-03-11 at 15:44 -0800, Alan Coopersmith wrote: Solaris make won't substitute $ in explicit rules, only implicit ones Signed-off-by: Alan Coopersmith alan.coopersm...@oracle.com --- hw/xfree86/Makefile.am |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) Reviewed-by: Gaetan Nadon mems...@videotron.ca 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] [glint] Fix uploading YV12 data to texture buffer on BE machines
On Mon, Feb 28, 2011 at 11:32 PM, Mark Kettenis mark.kette...@xs4all.nl wrote: On BE machines various hardware byteswapping options are used for the framebuffer aperture. Which option gets used depends on the depth of the framebuffer. Uploading YV12 data to the texture buffer is done through the same aperture, but is always done in 32-bit wide units. Therefore the code that does the uploading needs to take into account the byteswapping done by the hardware. For 32bpp modes we can use the same code as on LE machines, but 16bpp and 8bpp modes need their own versions. Signed-off-by: Mark Kettenis kette...@openbsd.org I think you've got commit access, so go for it! Thanks :) Matt ___ 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