Re: [ANNOUNCE] libXcomposite 0.4.4
On 01/ 2/13 11:32 PM, Alan Coopersmith wrote: libXdamage is the Xlib based client library for the X Composite extension. I'm sure everyone knows what I meant to say, not what I failed to edit after pasting... -- -Alan Coopersmith- alan.coopersm...@oracle.com Oracle Solaris Engineering - http://blogs.oracle.com/alanc ___ xorg@lists.x.org: X.Org support Archives: http://lists.freedesktop.org/archives/xorg Info: http://lists.x.org/mailman/listinfo/xorg Your subscription address: arch...@mail-archive.com
[ANNOUNCE] libXTrap 1.0.1
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Alan Coopersmith (3): renamed: .cvsignore - .gitignore Add README with pointers to mailing list, bugzilla git repos Add note about XTrap history deprecation to README James Cloos (2): Add *~ to .gitignore to skip patch/emacs droppings Replace static ChangeLog with dist-hook to generate from git log Jamey Sharp (1): SyncHandle must not be called with the Display lock held. Jeremy Huddleston Sequoia (3): configure.ac: Use AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER for automake 1.13 configure.ac: foreign and use XORG_COMPILER_FLAGS configure.ac: 1.0.1 Matthieu Herrb (1): nuke RCS Ids Paulo Cesar Pereira de Andrade (1): Janitor: ansification, make distcheck, compiler warnings. Thomas Klausner (2): Fix memset usage. Remove unnecessary memset return value casts to void. git tag: libXTrap-1.0.1 http://xorg.freedesktop.org/archive/individual/lib/libXTrap-1.0.1.tar.bz2 MD5: 076ff6279d202f19421b51af4f723935 libXTrap-1.0.1.tar.bz2 SHA1: 40850a53d916730720b8b32e9ebd5969f66115bf libXTrap-1.0.1.tar.bz2 SHA256: 8f373d55985676b893d61bd5a255ec9f214be4682ec1167d30356e6564e7252e libXTrap-1.0.1.tar.bz2 http://xorg.freedesktop.org/archive/individual/lib/libXTrap-1.0.1.tar.gz MD5: fde266b82ee14da3e4f4f81c9584c1ea libXTrap-1.0.1.tar.gz SHA1: 1d2606246624c7ac0bc9a944c4bbe50d17595179 libXTrap-1.0.1.tar.gz SHA256: db748e299dcc9af68428795b898a4a96cf806f79b75786781136503e4fce5e17 libXTrap-1.0.1.tar.gz -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.12 (Darwin) iD8DBQFQ5cKbjC1Anjf1NmMRArxOAJ9g4O2Kr9R5RSSOjPP4EGJrENqNFQCdHcWM lZmWWujTYNRaumKRlFVdzUo= =gFl1 -END PGP SIGNATURE- ___ xorg@lists.x.org: X.Org support Archives: http://lists.freedesktop.org/archives/xorg Info: http://lists.x.org/mailman/listinfo/xorg Your subscription address: arch...@mail-archive.com
Re: [ANNOUNCE] libXTrap 1.0.1
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 If anyone is considering packaging this, they may want to consider the note in the README and check first if they have any software that truly needs it: libXTrap is the Xlib-based client API for the DEC-XTRAP extension. XTrap was a proposed standard extension for X11R5 which facilitated the capturing of server protocol and synthesizing core input events. Digital participated in the X Consortium's xtest working group which chose to evolve XTrap functionality into the XTEST RECORD extensions for X11R6. As X11R6 was released in 1994, XTrap has now been deprecated for over 15 years, and uses of it should be quite rare. - -- -Alan Coopersmith- alan.coopersm...@oracle.com Oracle Solaris Engineering - http://blogs.oracle.com/alanc -BEGIN PGP SIGNATURE- Version: GnuPG v2.0.9 (SunOS) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAlDly8IACgkQovueCB8tEw6StACeNu4FbSM03bO9hS8f9okk6rI0 t8oAoInlK1vDBLLz1gC/diY7GOGo2aas =weyb -END PGP SIGNATURE- ___ xorg@lists.x.org: X.Org support Archives: http://lists.freedesktop.org/archives/xorg Info: http://lists.x.org/mailman/listinfo/xorg Your subscription address: arch...@mail-archive.com
Re: xorg-server 1.13.1, - checksum post-mortem
On Sat, Dec 15, 2012 at 08:33:29AM +0100, Matthieu Herrb wrote: On Fri, Dec 14, 2012 at 03:04:30PM -0700, Matt Dew wrote: What I didn't realize is that the new tarballs hadn't been uploaded to the server, rather the old ones were there. So the checksums didn't match. I untarred both the tarballs on my local machine and the ones on the fdo server. The ones on my local machine matched the checksums in the announcement I sent out, but the checksums on the fdo server were different, but did infact match the ones a couple of you reported. I diffed the contents of those tarballs. No content differences. Yes this is one of the things that always annoys me with autotools's make distcheck. The tarballs created by 'make distcheck' contain directory entries which are created every time you run make distcheck and thus have different creation times every time. So you end up with different tar balls everytime. Moreover gzip also adds the mtime of the compressed file to its header, so even if you generate the same archive twice (whith the same checksums before compression) you end up with 2 different files once gzip'd. bzip2 doesn't include the timestamp so isn't affected by this 2nd issue. is there any particular reason we're still generating gz and bzip2? one should be enough, isn't it? Cheers, Peter ___ xorg@lists.x.org: X.Org support Archives: http://lists.freedesktop.org/archives/xorg Info: http://lists.x.org/mailman/listinfo/xorg Your subscription address: arch...@mail-archive.com
[ANNOUNCE] xorg-server 1.13.1.901 (RC1)
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Alan Coopersmith (1): EnableDisableExtensionError: Use ARRAY_SIZE rather than sentinel Dave Airlie (1): glx/dri2: initialise api to avoid indirect rendering failing randomly Jeremy Huddleston Sequoia (3): XQuartz: Avoid a possible deadlock with DRI on OS X 10.7.5 and OS X 10.8.2 XQuartz: Add some verbose logging to debug xp_lock_window being unbalanced XQuartz: Don't add the 15bit visual any more Matt Dew (1): version bump for 1.13.1.901 (rc1) Raphael Kubo da Costa (1): vfb: Initialize the GLX extension again. git tag: xorg-server-1.13.1.901 http://xorg.freedesktop.org/archive/individual/xserver/xorg-server-1.13.1.901.tar.bz2 MD5: 22712e8d3eb7a997a574315548fd1e93 xorg-server-1.13.1.901.tar.bz2 SHA1: bfcd63f26d5f97c78b21fb18c92686f5a380bb59 xorg-server-1.13.1.901.tar.bz2 SHA256: 259ea4ac20d4c36be2811ac726674cba5b081e0fec376b5c50b13a76eec3d909 xorg-server-1.13.1.901.tar.bz2 http://xorg.freedesktop.org/archive/individual/xserver/xorg-server-1.13.1.901.tar.gz MD5: eb3332b82406014feedfbb77f66314d7 xorg-server-1.13.1.901.tar.gz SHA1: 2c5aea3450a4a20446dc87c24d84f201ebcc40fd xorg-server-1.13.1.901.tar.gz SHA256: 07513463ce43daa6c2406ab7f6a1a3e5dec62975caf69389ad3211bb52a267a4 xorg-server-1.13.1.901.tar.gz -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.12 (GNU/Linux) iQEcBAEBAgAGBQJQ5nxeAAoJEKa/N3H3w77DvGgH/R7NFUyeGTqNXslLEQYEdzWE qCTcl4b+IAJ24QxhQEp1MTehjM+LAWNEn5Uul6EXe5/v2C2NYRzFe8leKXYinuBc FcUmB9BWqOoaNFL0QuVulhU1/j812vKQO+4/60m7Iyz/WSJIV4gwPSUiou0Ya24b r8T5CVg2K8bUJDzeVOt6m+6e+e3rbpBmd5BLVNAyVEDtzrJsdvLQusKxcG2d4Hlz lctUrbEAo9aBJBER+9riZHhjSjqxTpclh7iXOn97QWK70eZhfC1FI9Q1bUHh3DHb HVxlMlLsEndjEDUIZc0Dps7m8aeC2O6yywcQxE9GANc5dtvB69a9nQ1rPa5ufMs= =qWtO -END PGP SIGNATURE- ___ xorg@lists.x.org: X.Org support Archives: http://lists.freedesktop.org/archives/xorg Info: http://lists.x.org/mailman/listinfo/xorg Your subscription address: arch...@mail-archive.com
[PATCH libXt 2/2] Use AM_CPPFLAGS instead of INCLUDES
Recent versions of automake deprecate the INCLUDES variable. The same effect can be achieved by using AM_CPPFLAGS instead, which is also automake's recommendation. Signed-off-by: Thierry Reding thierry.red...@avionic-design.de --- src/Makefile.am | 4 ++-- test/Makefile.am | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Makefile.am b/src/Makefile.am index de60cfc..a466ae5 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -9,8 +9,8 @@ ERRORDB_DEFINES = -DERRORDB=\$(ERRORDBDIR)/XtErrorDB\ AM_CFLAGS = $(CWARNFLAGS) $(XT_CFLAGS) $(SRCH_DEFINES) $(ERRORDB_DEFINES) \ $(XTMALLOC_ZERO_CFLAGS) -INCLUDES = -I$(top_srcdir)/include/ -I$(top_srcdir)/include/X11 \ - -I$(top_builddir)/include -I$(top_builddir)/include/X11 +AM_CPPFLAGS = -I$(top_srcdir)/include/ -I$(top_srcdir)/include/X11 \ + -I$(top_builddir)/include -I$(top_builddir)/include/X11 nodist_libXt_la_SOURCES = StringDefs.c diff --git a/test/Makefile.am b/test/Makefile.am index 7494c41..adc7060 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -5,7 +5,7 @@ check_PROGRAMS = Alloc Converters Event TESTS=$(check_PROGRAMS) AM_CFLAGS = $(CWARNFLAGS) $(XT_CFLAGS) $(GLIB_CFLAGS) -INCLUDES = -I$(top_srcdir)/include -I$(top_builddir)/include +AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include LDADD= $(top_builddir)/src/libXt.la $(GLIB_LIBS) TESTS_ENVIRONMENT = $(MALLOC_DEBUG_ENV) -- 1.8.0.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
[PATCH libXt 1/2] Fix cross-compilation
When cross-compiling against a sysroot for instance, a --sysroot option is typically passed via the CPPFLAGS variable. This can cause the build to break in the util subdirectory which requires the CPPFLAGS to be set for the build system. Solve this by using the value of CPPFLAGS_FOR_BUILD for CPPFLAGS in the util subdirectory. Cross-compile setups can override the variable when calling teh configure script. Signed-off-by: Thierry Reding thierry.red...@avionic-design.de --- configure.ac | 2 ++ util/Makefile.am | 1 + 2 files changed, 3 insertions(+) diff --git a/configure.ac b/configure.ac index c59cc26..65ad585 100644 --- a/configure.ac +++ b/configure.ac @@ -65,6 +65,8 @@ if test x$CC_FOR_BUILD = x; then fi fi AC_SUBST([CC_FOR_BUILD]) +CPPFLAGS_FOR_BUILD=${CPPFLAGS_FOR_BUILD-${CPPFLAGS}} +AC_SUBST(CPPFLAGS_FOR_BUILD) CFLAGS_FOR_BUILD=${CFLAGS_FOR_BUILD-${CFLAGS}} AC_SUBST(CFLAGS_FOR_BUILD) LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-${LDFLAGS}} diff --git a/util/Makefile.am b/util/Makefile.am index dedfa6b..800b35b 100644 --- a/util/Makefile.am +++ b/util/Makefile.am @@ -1,6 +1,7 @@ noinst_PROGRAMS = makestrs CC = @CC_FOR_BUILD@ +CPPFLAGS = @CPPFLAGS_FOR_BUILD@ CFLAGS = @CFLAGS_FOR_BUILD@ LDFLAGS = @LDFLAGS_FOR_BUILD@ -- 1.8.0.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 libXt 1/2] Fix cross-compilation
On Thu, Jan 03, 2013 at 04:32:45PM +0100, Thomas Petazzoni wrote: Dear Thierry Reding, On Thu, 3 Jan 2013 10:16:55 +0100, Thierry Reding wrote: When cross-compiling against a sysroot for instance, a --sysroot option is typically passed via the CPPFLAGS variable. This can cause the build to break in the util subdirectory which requires the CPPFLAGS to be set for the build system. Solve this by using the value of CPPFLAGS_FOR_BUILD for CPPFLAGS in the util subdirectory. Cross-compile setups can override the variable when calling teh configure script. Signed-off-by: Thierry Reding thierry.red...@avionic-design.de I also sent a libXt cross-compilation fix a while ago, but it was never applied: Subject: [PATCH] libXt: util: don't link makestrs with target cflags Date: Fri, 16 Nov 2012 10:41:06 +0100 Hopefully it will get applied some day. Right, I remember seeing that. Let's see if somebody notices. If not we probably have to find out who needs to be prodded to get the patches merged. Thierry pgpMhAWbQSjx8.pgp Description: PGP 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 libXt 1/2] Fix cross-compilation
Dear Thierry Reding, On Thu, 3 Jan 2013 10:16:55 +0100, Thierry Reding wrote: When cross-compiling against a sysroot for instance, a --sysroot option is typically passed via the CPPFLAGS variable. This can cause the build to break in the util subdirectory which requires the CPPFLAGS to be set for the build system. Solve this by using the value of CPPFLAGS_FOR_BUILD for CPPFLAGS in the util subdirectory. Cross-compile setups can override the variable when calling teh configure script. Signed-off-by: Thierry Reding thierry.red...@avionic-design.de I also sent a libXt cross-compilation fix a while ago, but it was never applied: Subject: [PATCH] libXt: util: don't link makestrs with target cflags Date: Fri, 16 Nov 2012 10:41:06 +0100 Hopefully it will get applied some day. Best regards, Thomas -- Thomas Petazzoni, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.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 xserver] Add definitions for the AArch64 architecture
AArch64 is the new 64 bits architecture from ARM, for which a few definitions are needed in the X.org server to make it build properly. Like for the ARM 32 bits architecture, we for now assume that AArch64 will be used in Little Endian mode for Linux. Signed-off-by: Thomas Petazzoni thomas.petazz...@free-electrons.com --- include/servermd.h |9 + 1 file changed, 9 insertions(+) diff --git a/include/servermd.h b/include/servermd.h index d6a9a3a..c2d7d70 100644 --- a/include/servermd.h +++ b/include/servermd.h @@ -272,6 +272,15 @@ SOFTWARE. #endif /* linux/m68k */ +/* linux on AArch64 */ +#if defined(linux) defined(__aarch64__) + +#define IMAGE_BYTE_ORDER LSBFirst +#define BITMAP_BIT_ORDER LSBFirst +#define GLYPHPADBYTES 4 + +#endif + /* linux on ARM */ #if defined(linux) defined(__arm__) #define IMAGE_BYTE_ORDER LSBFirst -- 1.7.9.5 ___ 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 libXt 1/2] Fix cross-compilation
On 01/ 3/13 07:32 AM, Thomas Petazzoni wrote: Dear Thierry Reding, On Thu, 3 Jan 2013 10:16:55 +0100, Thierry Reding wrote: When cross-compiling against a sysroot for instance, a --sysroot option is typically passed via the CPPFLAGS variable. This can cause the build to break in the util subdirectory which requires the CPPFLAGS to be set for the build system. Solve this by using the value of CPPFLAGS_FOR_BUILD for CPPFLAGS in the util subdirectory. Cross-compile setups can override the variable when calling teh configure script. Signed-off-by: Thierry Reding thierry.red...@avionic-design.de I also sent a libXt cross-compilation fix a while ago, but it was never applied: Subject: [PATCH] libXt: util: don't link makestrs with target cflags Date: Fri, 16 Nov 2012 10:41:06 +0100 Hopefully it will get applied some day. http://patchwork.freedesktop.org/patch/12455/ shows an unresolved issue about the removal of X11/Xos.h introducing warnings since it handled the #include of string.h that's now missing from the file. -- -Alan Coopersmith- alan.coopersm...@oracle.com Oracle Solaris Engineering - http://blogs.oracle.com/alanc ___ 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 libX11 0/2] Mend some XIM design issues.
Happy New Year! On Fri, Dec 07, 2012 at 05:57:50AM -0500, Egbert Eich wrote: These two patches attempt to fix some issues with the design of XIM - the X Input Method. [...] Noneteless the patches have been 'field-tested' on SUSE enterprise products for quite some time now - while those fixes have eliminated the error that has been seen so far we are not aware of any reports of regressions caused by those fixes. Any takers for these - anyone willing to ack? I know, XIM is painful and I understand if noone wants to bother: The underlying issues are really messy. On the other hand these patches have resolved the bugs described and no regression has been seen so far although these patches have been used on SUSE Enterprise products for quite a while now. XIM the underlying input method doesn't play an important role any more today, it is still used by a lot of legacy applications and software that is (or at least used to be) based on legacy X11 libraries. The bugs addressed here have been found in Java applications. Therefore I believe it would still be beneficial to include these fixes in XIM. Egbert Eich (2): XIM: Fix race on focus change: set 'FABRICATED' only when keyev filters in place. XIM: Fix sync problem on focus change. modules/im/ximcp/imDefIc.c | 27 +++ modules/im/ximcp/imDefLkup.c |4 +++- 2 files changed, 30 insertions(+), 1 deletions(-) -- 1.7.7 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
Re: xserver-1.13.2 nomination window is open
On Wed, Dec 19, 2012 at 11:41:53PM +0100, Matthieu Herrb wrote: On Tue, Dec 18, 2012 at 09:43:09PM -0700, Matt Dew wrote: It's actually been open since last Thursday but this is notice for anyone wondering. The nomination window is 3 weeks; until Jan 3. I've updated the X.Org calendar. Once it gets pulled to master, the following is a good candiate for 1.13.2 (and also for the 1.12 branch if a 1.12.5 is released) ephyr: Add -resizeable option At least it was Acked-by Peter: http://lists.x.org/archives/xorg-devel/2012-December/034726.html This one might be more important, but didn't got any review yet: ephyr: Fix crash on 24bpp host framebuffer http://lists.x.org/archives/xorg-devel/2012-December/034857.html Cheers, Daniel Martin ___ 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 mkfontscale] Drop 'const' from lists to muffle compiler warnings.
Gcc seems to be more picky about 'const' than it was in the past. So don't make it expect that certain things are const when this cannot be carried through all the way. Signed-off-by: Egbert Eich e...@freedesktop.org --- mkfontscale.c |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/mkfontscale.c b/mkfontscale.c index 53c5303..15efaac 100644 --- a/mkfontscale.c +++ b/mkfontscale.c @@ -60,7 +60,7 @@ #define QUOTE(x) #x #define STRINGIFY(x) QUOTE(x) -static const char *encodings_array[] = +static char *encodings_array[] = { ascii-0, iso8859-1, iso8859-2, iso8859-3, iso8859-4, iso8859-5, iso8859-6, iso8859-6.8, iso8859-6.8x, iso8859-6.16, @@ -79,7 +79,7 @@ static const char *encodings_array[] = gb2312.1980-0, gb18030.2000-0, gb18030.2000-1, ksc5601.1987-0, ksc5601.1992-3}; -static const char *extra_encodings_array[] = +static char *extra_encodings_array[] = { iso10646-1, adobe-fontspecific, microsoft-symbol }; static ListPtr encodings, extra_encodings; -- 1.7.7 ___ 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 mkfontscale] Prefer original file over symlink.
If a symlink to a fontfile in the same directory exists the file that got picked depends on the order in which readdir() picked entries. This patch gives the file a higher preference than the symlink to it so it will be preferred if the xlfd entries match. Signed-off-by: Egbert Eich e...@freedesktop.org --- mkfontscale.c | 22 +++--- 1 files changed, 19 insertions(+), 3 deletions(-) diff --git a/mkfontscale.c b/mkfontscale.c index 15efaac..1dd7f88 100644 --- a/mkfontscale.c +++ b/mkfontscale.c @@ -25,6 +25,7 @@ #include string.h #include sys/types.h +#include sys/stat.h #include dirent.h #include unistd.h #include errno.h @@ -826,6 +827,10 @@ doDirectory(const char *dirname_given, int numEncodings, ListPtr encodingsToDo) while((entry = readdir(dirp)) != NULL) { int have_face = 0; char *xlfd_name = NULL; +#ifndef _BSD_SOURCE + struct stat f_stat; +#endif + int tprio = 1; xlfd = NULL; if (xl) { @@ -836,6 +841,16 @@ doDirectory(const char *dirname_given, int numEncodings, ListPtr encodingsToDo) filename = dsprintf(%s%s, dirname, entry-d_name); +#define PRIO(x) ((x 1) + tprio) +#ifdef _BSD_SOURCE +if (DT_LNK entry-d_type) + tprio = 0; +#else +if (lstat(filename, f_stat)) + goto done; +if (S_ISLNK(file_stat.st_mode)) + tprio = 0; +#endif if(doBitmaps) rc = bitmapIdentify(filename, xlfd_name); else @@ -896,7 +911,7 @@ doDirectory(const char *dirname_given, int numEncodings, ListPtr encodingsToDo) xlfd = listCons(s, xlfd); } else { /* Not a reencodable font -- skip all the rest of the loop body */ -putHash(entries, xlfd_name, entry-d_name, filePrio(entry-d_name)); +putHash(entries, xlfd_name, entry-d_name, PRIO(filePrio(entry-d_name))); goto done; } } @@ -930,7 +945,7 @@ doDirectory(const char *dirname_given, int numEncodings, ListPtr encodingsToDo) found = 1; snprintf(buf, MAXFONTNAMELEN, %s-%s, lp-value, encoding-value); -putHash(entries, buf, entry-d_name, filePrio(entry-d_name)); +putHash(entries, buf, entry-d_name, PRIO(filePrio(entry-d_name))); } } for(encoding = extra_encodings; encoding; @@ -939,7 +954,7 @@ doDirectory(const char *dirname_given, int numEncodings, ListPtr encodingsToDo) /* Do not set found! */ snprintf(buf, MAXFONTNAMELEN, %s-%s, lp-value, encoding-value); -putHash(entries, buf, entry-d_name, filePrio(entry-d_name)); +putHash(entries, buf, entry-d_name, PRIO(filePrio(entry-d_name))); } } } @@ -949,6 +964,7 @@ doDirectory(const char *dirname_given, int numEncodings, ListPtr encodingsToDo) deepDestroyList(xlfd); xlfd = NULL; free(filename); +#undef PRIO } closedir(dirp); -- 1.7.7 ___ 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 luit] Set up terminal before fork.
From: Mike Fabian mfab...@redhat.com After the fork it is undefined wether parent or child runs first. So there can be a race: if the child runs before the terminal of the parent is set up correctly luit may hang. This patch sets up the terminal before forking and undoes the settings in the child. Signed-off-by: Egbert Eich e...@freedesktop.org --- luit.c |7 ++- 1 files changed, 6 insertions(+), 1 deletions(-) diff --git a/luit.c b/luit.c index 0ece7b6..5cb3b8f 100644 --- a/luit.c +++ b/luit.c @@ -577,6 +577,8 @@ condom(int argc, char **argv) IGNORE_RC(pipe(c2p_waitpipe)); } +setup_io(pty); + pid = fork(); if (pid 0) { perror(Couldn't fork); @@ -584,6 +586,10 @@ condom(int argc, char **argv) } if (pid == 0) { +#ifdef SIGWINCH + installHandler(SIGWINCH, SIG_DFL); +#endif + installHandler(SIGCHLD, SIG_DFL); close(pty); if (pipe_option) { close_waitpipe(1); @@ -661,7 +667,6 @@ parent(int pid GCC_UNUSED, int pty) if (verbose) { reportIso2022(outputState); } -setup_io(pty); if (pipe_option) { write_waitpipe(p2c_waitpipe); -- 1.7.7 ___ 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 proxymngr] man: Set correct config file location in man page
Change the config file location from a hard coded path to what is set during build. Signed-off-by: Egbert Eich e...@freedesktop.org --- Makefile.am |3 +++ proxymngr.man |2 +- 2 files changed, 4 insertions(+), 1 deletions(-) diff --git a/Makefile.am b/Makefile.am index 80f149d..4877985 100644 --- a/Makefile.am +++ b/Makefile.am @@ -59,6 +59,9 @@ appman_DATA = $(appman_PRE:man=@APP_MAN_SUFFIX@) EXTRA_DIST += $(appman_PRE) CLEANFILES += $(appman_DATA) +# String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure +MAN_SUBSTS += -e 's|__configdir__|$(CONFIG_DIR)|g' + SUFFIXES = .$(APP_MAN_SUFFIX) .man # String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure diff --git a/proxymngr.man b/proxymngr.man index 0bb1ea5..f5d35bb 100644 --- a/proxymngr.man +++ b/proxymngr.man @@ -75,7 +75,7 @@ requests are received and proxies are started. The proxy manager maintains a local configuration file describing the proxy services available. This configuration file is installed in -.I __projectroot__/lib/X11/proxymngr/pmconfig +.I __configdir__ during the installation of proxymngr. The location of the configuration file can be overwritten using the \fB\-config\fP command line option. -- 1.7.7 ___ 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 proxymngr] install: Use sysconfdir instead of libdir for config files.
Most X packages today install their config files in sysconfigdir, only a few are left which still put their configuration in libdir. Signed-off-by: Egbert Eich e...@freedesktop.org --- Makefile.am |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/Makefile.am b/Makefile.am index 4877985..a20f483 100644 --- a/Makefile.am +++ b/Makefile.am @@ -21,7 +21,7 @@ bin_PROGRAMS = proxymngr -CONFIG_DIR = $(libdir)/X11/proxymngr +CONFIG_DIR = $(sysconfdir)/X11/proxymngr AM_CFLAGS =\ $(CWARNFLAGS) \ -- 1.7.7 ___ 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 rstart] install: Use sysconfdir instead of libdir for config files.
Most X packages today install their config files in sysconfigdir, only a few are left which still put their configuration in libdir. Fix and consolidate setting of the config dir in one place. Signed-off-by: Egbert Eich e...@freedesktop.org --- Makefile.am |2 +- configure.ac |5 - 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/Makefile.am b/Makefile.am index 35c3789..d50a367 100644 --- a/Makefile.am +++ b/Makefile.am @@ -26,7 +26,7 @@ rstart_PROGRAMS = rstartd.real AM_CFLAGS =\ $(CWARNFLAGS) $(RSTART_CFLAGS) \ -DSERVERNAME=\rstart\ \ - -DDEFAULT_CONFIG=\$(rstartdir)/config\ + -DDEFAULT_CONFIG=\$(configdir)/config\ rstartd_real_SOURCES = \ auth.c \ diff --git a/configure.ac b/configure.ac index bdf67da..46839c6 100644 --- a/configure.ac +++ b/configure.ac @@ -43,9 +43,12 @@ XORG_DEFAULT_OPTIONS AC_CHECK_PROGS(RSH,[remsh rsh rcmd]) AC_PROG_LN_S -# Define the root directory for client/server/config +# Define the root directory for client/server AC_SUBST([rstartdir],[$libdir/X11/rstart]) +# Define the root directory for config +AC_SUBST([configdir],[$(sysconfdir)/X11/rstart]) + # Obtain compiler options from depedencies PKG_CHECK_MODULES(RSTART, xproto) -- 1.7.7 ___ 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 rstart] man: Set correct config file location in man page
Change the config file location from a hard coded path to what is set during build. Signed-off-by: Egbert Eich e...@freedesktop.org --- man/Makefile.am |1 + man/rstartd.man |2 +- 2 files changed, 2 insertions(+), 1 deletions(-) diff --git a/man/Makefile.am b/man/Makefile.am index 08a563c..378a4c2 100644 --- a/man/Makefile.am +++ b/man/Makefile.am @@ -8,5 +8,6 @@ CLEANFILES = $(appman_DATA) SUFFIXES = .$(APP_MAN_SUFFIX) .man # String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure +MAN_SUBSTS += -e 's|__configdir__|$(configdir)|g' .man.$(APP_MAN_SUFFIX): $(AM_V_GEN)$(SED) $(MAN_SUBSTS) $ $@ diff --git a/man/rstartd.man b/man/rstartd.man index ffd9e15..df0b5aa 100644 --- a/man/rstartd.man +++ b/man/rstartd.man @@ -59,7 +59,7 @@ is to read. Normally, \fIrstartd\fP is a shell script that invokes \fIrstartd.real\fP with the \fB-c\fP switch, allowing local configuration of the location of the configuration file. If \fIrstartd.real\fP is started without the -c option, it reads -.IR __projectroot__/lib/X11/rstart/config . +.IR __configdir__/config . .SH INSTALLATION It is critical to successful interoperation of the Remote Start protocol that \fIrstartd\fP be installed in a directory which is in the default -- 1.7.7 ___ 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 twm] Fix SEGV if CreateColormapWindow() returns NULL.
twm can segfault when it cannot collect attribute information on a window that has been destroyed before it got a chance to collect it's attributes. twm seems to assume that it is always able to collect this information and disregards the error if the function that attempts to collect it fails and CreateColormapWindow() returns NULL. If this happens correct number_cmap_windows to prevent a SEGV later on due to an incorrect setting. Signed-off-by: Egbert Eich e...@freedesktop.org --- src/add_window.c |6 -- 1 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/add_window.c b/src/add_window.c index 8cf23c5..72aa0aa 100644 --- a/src/add_window.c +++ b/src/add_window.c @@ -1535,10 +1535,12 @@ FetchWmColormapWindows (TwmWindow *tmp) cwins = (ColormapWindow **) malloc(sizeof(ColormapWindow *)); if (XFindContext(dpy, tmp-w, ColormapContext, (caddr_t *)cwins[0]) == - XCNOENT) + XCNOENT) { cwins[0] = CreateColormapWindow(tmp-w, (Bool) tmp-cmaps.number_cwins == 0, False); - else + if (cwins[0] == NULL) + number_cmap_windows = 0; + } else cwins[0]-refcnt++; } -- 1.7.7 ___ 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 xfd] Fix SEGV when XftFontOpenName() returns NULL.
From: Andreas Schwab sch...@redhat.com The semantics of a callback set with XtSetTypeConverter() is to return False only if there is no conversion at all. In this case the converstion string is copied verbatim to the target. Since the from and to types differ this doesn't make sense here at all. Instead the target value needs to be set to NULL and the return needs to be True. Signed-off-by: Egbert Eich e...@freedesktop.org --- grid.c |3 --- 1 files changed, 0 insertions(+), 3 deletions(-) diff --git a/grid.c b/grid.c index e1f134d..49f7693 100644 --- a/grid.c +++ b/grid.c @@ -542,10 +542,7 @@ XmuCvtStringToXftFont(Display *dpy, XScreenNumberOfScreen (screen), name); if (!font) - { XtDisplayStringConversionWarning(dpy, (char *) fromVal-addr, XtRXftFont); - return False; - } } donestr (XftFont *, font, XtRXftFont); } -- 1.7.7 ___ 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 xinit] man: Set correct config file location in man page
Change the config file location from a hard coded path to what is set during build. Signed-off-by: Egbert Eich e...@freedesktop.org --- man/Makefile.am |4 +++- man/xinit.man |6 +++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/man/Makefile.am b/man/Makefile.am index 074bc36..b24faca 100644 --- a/man/Makefile.am +++ b/man/Makefile.am @@ -13,7 +13,9 @@ MAN_SUBSTS+= -e 's|__XSERVERNAME__|$(XSERVERNAME)|g' \ -e 's|__xinitdir__|$(XINITDIR)|g' \ -e 's|__bindir__|$(bindir)|g' \ -e 's|__libdir__|$(libdir)|g' \ - -e 's|__SCOMAN__|$(SCOMAN)|g' + -e 's|__SCOMAN__|$(SCOMAN)|g' \ + -e 's|__configdir__|$(XINITDIR)|g' + # String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure .man.$(APP_MAN_SUFFIX): diff --git a/man/xinit.man b/man/xinit.man index 31b93aa..f8005ce 100644 --- a/man/xinit.man +++ b/man/xinit.man @@ -109,7 +109,7 @@ used. This will start up a server named \fIX\fP and run the user's \fI\.xinitrc\fP, if it exists, or else start an \fIxterm\fP. .TP 8 -.B xinit \-\^\- /usr/local/bin/Xvnc :1 +.B xinit \-\^\- __bindir__/Xvnc :1 This is how one could start a specific type of server on an alternate display. .TP 8 .B xinit \-geometry =80x65+10+10 \-fn 8x13 \-j \-fg white \-bg navy @@ -149,7 +149,7 @@ a default \fI\.xinitrc\fP that references a site-wide startup file: .in +8 .nf \#!/bin/sh -\. /usr/local/lib/site.xinitrc +\. __configdir__/site.xinitrc .fi .in -8 .sp @@ -161,7 +161,7 @@ novice users: .in +8 .nf \#!/bin/sh -xinit /usr/local/lib/site.xinitrc \-\^\- __bindir__/X -br +xinit __configdir__/site.xinitrc \-\^\- __bindir__/X -br .fi .in -8 .sp -- 1.7.7 ___ 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 xinit] install: Use sysconfdir instead of libdir for config files.
Most X packages today install their config files in sysconfigdir, only a few are left which still put their configuration in libdir. Signed-off-by: Egbert Eich e...@freedesktop.org --- configure.ac |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/configure.ac b/configure.ac index db65b4c..c7fb0ab 100644 --- a/configure.ac +++ b/configure.ac @@ -50,7 +50,7 @@ DEFAULT_XTERM=xterm DEFAULT_XSERVER=${bindir}/X DEFAULT_XAUTH=xauth DEFAULT_XINIT=xinit -DEFAULT_XINITDIR=${libdir}/X11/xinit +DEFAULT_XINITDIR=${sysconfdir}/X11/xinit AC_ARG_WITH(xrdb, AS_HELP_STRING([--with-xrdb=XRDB], [Path to xrdb]), -- 1.7.7 ___ 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 xrdb] Usage: In usage message print preprocessor that's actually chosen.
The CPP macro may contain a list of preprocessors to chose from. In the usage message describing the -cpp command line option print the preprocessor that would actually be chosen. Signed-off-by: Egbert Eich e...@freedesktop.org --- xrdb.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/xrdb.c b/xrdb.c index 8513f8a..74ac03b 100644 --- a/xrdb.c +++ b/xrdb.c @@ -743,7 +743,7 @@ Syntax (void) -Dname[=value], -Uname, -Idirectorypassed to preprocessor\n \n A - or no input filename represents stdin.\n, -ProgramName, CPP, BACKUP_SUFFIX); +ProgramName, cpp_program ? cpp_program : , BACKUP_SUFFIX); exit (1); } -- 1.7.7 ___ 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 xrdb] Allow the CPP macro to contain preprocessors with command line options.
The preprocessor used for xrdb may require a command line option to produce the desired output. For the GNU cpp this could be 'traditional-cpp' which may not be valid for other preprocessors. Therefore support the specification of preprocessors along with required command line arguments when using the '--with-cpp' configure option. Example: ./configure --with-cpp=/usr/bin/cpp --traditional-cpp, /usr/lib/cpp. Signed-off-by: Egbert Eich e...@freedesktop.org --- xrdb.c |8 +++- 1 files changed, 7 insertions(+), 1 deletions(-) diff --git a/xrdb.c b/xrdb.c index 74ac03b..294bcc2 100644 --- a/xrdb.c +++ b/xrdb.c @@ -855,7 +855,13 @@ main(int argc, char *argv[]) int j; for (j = 0; j number_of_elements; j++) { - if (access(cpp_locations[j], X_OK) == 0) { + char *end, dup[PATH_MAX + 1] = { 0 }; + /* cut off arguments */ + strncpy(dup, cpp_locations[j], PATH_MAX); + end = strchr(dup,' '); + if (end) + *end = '\0'; + if (access(dup, X_OK) == 0) { cpp_program = cpp_locations[j]; break; } -- 1.7.7 ___ 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 xsm] install: Use sysconfdir instead of libdir for config files.
Most X packages today install their config files in sysconfigdir, only a few are left which still put their configuration in libdir. Signed-off-by: Egbert Eich e...@freedesktop.org --- Makefile.am |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/Makefile.am b/Makefile.am index 0180d3f..4fa81b8 100644 --- a/Makefile.am +++ b/Makefile.am @@ -22,7 +22,7 @@ SUBDIRS = man bin_PROGRAMS = xsm -SYSTEM_INIT_DIR = $(libdir)/X11/xsm +SYSTEM_INIT_DIR = $(sysconfdir)/X11/xsm AM_CFLAGS = $(XSM_CFLAGS) $(CWARNFLAGS) -DRSHCMD=\@RSH@\ \ -DSYSTEM_INIT_FILE=\$(SYSTEM_INIT_DIR)/system.xsm\ -- 1.7.7 ___ 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 mkfontscale] Prefer original file over symlink.
On Thu, Jan 3, 2013 at 13:14:58 -0500, Egbert Eich wrote: @@ -836,6 +841,16 @@ doDirectory(const char *dirname_given, int numEncodings, ListPtr encodingsToDo) filename = dsprintf(%s%s, dirname, entry-d_name); +#define PRIO(x) ((x 1) + tprio) +#ifdef _BSD_SOURCE this should be #ifdef DT_LNK... +if (DT_LNK entry-d_type) + tprio = 0; +#else and should fall back to lstat if d_type is D_UNKNOWN. Cheers, Julien +if (lstat(filename, f_stat)) + goto done; +if (S_ISLNK(file_stat.st_mode)) + tprio = 0; +#endif if(doBitmaps) rc = bitmapIdentify(filename, xlfd_name); else @@ -896,7 +911,7 @@ doDirectory(const char *dirname_given, int numEncodings, ListPtr encodingsToDo) xlfd = listCons(s, xlfd); } else { /* Not a reencodable font -- skip all the rest of the loop body */ -putHash(entries, xlfd_name, entry-d_name, filePrio(entry-d_name)); +putHash(entries, xlfd_name, entry-d_name, PRIO(filePrio(entry-d_name))); goto done; } } @@ -930,7 +945,7 @@ doDirectory(const char *dirname_given, int numEncodings, ListPtr encodingsToDo) found = 1; snprintf(buf, MAXFONTNAMELEN, %s-%s, lp-value, encoding-value); -putHash(entries, buf, entry-d_name, filePrio(entry-d_name)); +putHash(entries, buf, entry-d_name, PRIO(filePrio(entry-d_name))); } } for(encoding = extra_encodings; encoding; @@ -939,7 +954,7 @@ doDirectory(const char *dirname_given, int numEncodings, ListPtr encodingsToDo) /* Do not set found! */ snprintf(buf, MAXFONTNAMELEN, %s-%s, lp-value, encoding-value); -putHash(entries, buf, entry-d_name, filePrio(entry-d_name)); +putHash(entries, buf, entry-d_name, PRIO(filePrio(entry-d_name))); } } } @@ -949,6 +964,7 @@ doDirectory(const char *dirname_given, int numEncodings, ListPtr encodingsToDo) deepDestroyList(xlfd); xlfd = NULL; free(filename); +#undef PRIO } closedir(dirp); -- 1.7.7 ___ 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
Re: xserver-1.13.2 nomination window is open
Acked On Wed, Jan 2, 2013 at 10:58 AM, Alan Coopersmith alan.coopersm...@oracle.com wrote: On 12/18/12 09:44 PM, Alan Coopersmith wrote: Once Keith pulls it into master, this is a 1.13.2 candidate: EnableDisableExtensionError: Use ARRAY_SIZE rather than sentinel http://patchwork.freedesktop.org/patch/12682/ Fixes a crash if you run Xorg -extension crash (or any other invalid extension name), lets it print the error message with the list of valid extension names instead. This is in master now, ready for cherry-picking to 1.13.2: http://cgit.freedesktop.org/xorg/xserver/commit/?id=9ff2e831517875f96477862f979abff394e8d551 -- -Alan Coopersmith- alan.coopersm...@oracle.com Oracle Solaris Engineering - http://blogs.oracle.com/alanc ___ 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 xrdb] Allow the CPP macro to contain preprocessors with command line options.
On Thu, Jan 3, 2013 at 13:56:46 -0500, Egbert Eich wrote: The preprocessor used for xrdb may require a command line option to produce the desired output. For the GNU cpp this could be 'traditional-cpp' which may not be valid for other preprocessors. Therefore support the specification of preprocessors along with required command line arguments when using the '--with-cpp' configure option. Example: ./configure --with-cpp=/usr/bin/cpp --traditional-cpp, /usr/lib/cpp. Signed-off-by: Egbert Eich e...@freedesktop.org --- xrdb.c |8 +++- 1 files changed, 7 insertions(+), 1 deletions(-) diff --git a/xrdb.c b/xrdb.c index 74ac03b..294bcc2 100644 --- a/xrdb.c +++ b/xrdb.c @@ -855,7 +855,13 @@ main(int argc, char *argv[]) int j; for (j = 0; j number_of_elements; j++) { - if (access(cpp_locations[j], X_OK) == 0) { + char *end, dup[PATH_MAX + 1] = { 0 }; + /* cut off arguments */ + strncpy(dup, cpp_locations[j], PATH_MAX); can I suggest to replace the above with char *end, *dup; dup = strdup(cpp_locations[j]); + end = strchr(dup,' '); + if (end) + *end = '\0'; + if (access(dup, X_OK) == 0) { cpp_program = cpp_locations[j]; free(dup); break; } free(dup); to avoid the static PATH_MAX-sized buffer? 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 mkfontscale] Prefer original file over symlink (v2)
If a symlink to a fontfile in the same directory exists the file that got picked depends on the order in which readdir() picked entries. This patch gives the file a higher preference than the symlink to it so it will be preferred if the xlfd entries match. v2: Followed a suggestion by Julien Cristau jcris...@debian.org to check for DT_LNK being defined instead of _BSD_SOURCE and fall back to lstat() if d_type is DT_UNKNOWN. Signed-off-by: Egbert Eich e...@freedesktop.org --- mkfontscale.c | 24 +--- 1 files changed, 21 insertions(+), 3 deletions(-) diff --git a/mkfontscale.c b/mkfontscale.c index 15efaac..a35b2de 100644 --- a/mkfontscale.c +++ b/mkfontscale.c @@ -25,6 +25,7 @@ #include string.h #include sys/types.h +#include sys/stat.h #include dirent.h #include unistd.h #include errno.h @@ -826,6 +827,9 @@ doDirectory(const char *dirname_given, int numEncodings, ListPtr encodingsToDo) while((entry = readdir(dirp)) != NULL) { int have_face = 0; char *xlfd_name = NULL; + struct stat f_stat; + int tprio = 1; + xlfd = NULL; if (xl) { @@ -836,6 +840,19 @@ doDirectory(const char *dirname_given, int numEncodings, ListPtr encodingsToDo) filename = dsprintf(%s%s, dirname, entry-d_name); +#define PRIO(x) ((x 1) + tprio) +#ifdef DT_LNK + if (entry-d_type != DT_UNKNOWN) { + if (entry-d_type == DT_LNK) + tprio = 0; + } else +#endif + { + if (lstat(filename, f_stat)) + goto done; + if (S_ISLNK(f_stat.st_mode)) + tprio = 0; + } if(doBitmaps) rc = bitmapIdentify(filename, xlfd_name); else @@ -896,7 +913,7 @@ doDirectory(const char *dirname_given, int numEncodings, ListPtr encodingsToDo) xlfd = listCons(s, xlfd); } else { /* Not a reencodable font -- skip all the rest of the loop body */ -putHash(entries, xlfd_name, entry-d_name, filePrio(entry-d_name)); +putHash(entries, xlfd_name, entry-d_name, PRIO(filePrio(entry-d_name))); goto done; } } @@ -930,7 +947,7 @@ doDirectory(const char *dirname_given, int numEncodings, ListPtr encodingsToDo) found = 1; snprintf(buf, MAXFONTNAMELEN, %s-%s, lp-value, encoding-value); -putHash(entries, buf, entry-d_name, filePrio(entry-d_name)); +putHash(entries, buf, entry-d_name, PRIO(filePrio(entry-d_name))); } } for(encoding = extra_encodings; encoding; @@ -939,7 +956,7 @@ doDirectory(const char *dirname_given, int numEncodings, ListPtr encodingsToDo) /* Do not set found! */ snprintf(buf, MAXFONTNAMELEN, %s-%s, lp-value, encoding-value); -putHash(entries, buf, entry-d_name, filePrio(entry-d_name)); +putHash(entries, buf, entry-d_name, PRIO(filePrio(entry-d_name))); } } } @@ -949,6 +966,7 @@ doDirectory(const char *dirname_given, int numEncodings, ListPtr encodingsToDo) deepDestroyList(xlfd); xlfd = NULL; free(filename); +#undef PRIO } closedir(dirp); -- 1.7.7 ___ 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 proxymngr] man: Set correct config file location in man page
On 01/ 3/13 10:40 AM, Egbert Eich wrote: Change the config file location from a hard coded path to what is set during build. Signed-off-by: Egbert Eich e...@freedesktop.org --- Makefile.am |3 +++ proxymngr.man |2 +- 2 files changed, 4 insertions(+), 1 deletions(-) diff --git a/Makefile.am b/Makefile.am index 80f149d..4877985 100644 --- a/Makefile.am +++ b/Makefile.am @@ -59,6 +59,9 @@ appman_DATA = $(appman_PRE:man=@APP_MAN_SUFFIX@) EXTRA_DIST += $(appman_PRE) CLEANFILES += $(appman_DATA) +# String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure +MAN_SUBSTS += -e 's|__configdir__|$(CONFIG_DIR)|g' + SUFFIXES = .$(APP_MAN_SUFFIX) .man # String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure diff --git a/proxymngr.man b/proxymngr.man index 0bb1ea5..f5d35bb 100644 --- a/proxymngr.man +++ b/proxymngr.man @@ -75,7 +75,7 @@ requests are received and proxies are started. The proxy manager maintains a local configuration file describing the proxy services available. This configuration file is installed in -.I __projectroot__/lib/X11/proxymngr/pmconfig +.I __configdir__ during the installation of proxymngr. The location of the configuration file can be overwritten using the \fB\-config\fP command line option. Reviewed-by: Alan Coopersmith alan.coopersm...@oracle.com -- -Alan Coopersmith- alan.coopersm...@oracle.com Oracle Solaris Engineering - http://blogs.oracle.com/alanc ___ 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 proxymngr] install: Use sysconfdir instead of libdir for config files.
On 01/ 3/13 10:41 AM, Egbert Eich wrote: Most X packages today install their config files in sysconfigdir, only a few are left which still put their configuration in libdir. Signed-off-by: Egbert Eich e...@freedesktop.org --- Makefile.am |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/Makefile.am b/Makefile.am index 4877985..a20f483 100644 --- a/Makefile.am +++ b/Makefile.am @@ -21,7 +21,7 @@ bin_PROGRAMS = proxymngr -CONFIG_DIR = $(libdir)/X11/proxymngr +CONFIG_DIR = $(sysconfdir)/X11/proxymngr AM_CFLAGS = \ $(CWARNFLAGS) \ Reviewed-by: Alan Coopersmith alan.coopersm...@oracle.com -- -Alan Coopersmith- alan.coopersm...@oracle.com Oracle Solaris Engineering - http://blogs.oracle.com/alanc ___ 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 rstart] install: Use sysconfdir instead of libdir for config files.
On 01/ 3/13 10:44 AM, Egbert Eich wrote: Most X packages today install their config files in sysconfigdir, only a few are left which still put their configuration in libdir. Fix and consolidate setting of the config dir in one place. Signed-off-by: Egbert Eich e...@freedesktop.org --- Makefile.am |2 +- configure.ac |5 - 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/Makefile.am b/Makefile.am index 35c3789..d50a367 100644 --- a/Makefile.am +++ b/Makefile.am @@ -26,7 +26,7 @@ rstart_PROGRAMS = rstartd.real AM_CFLAGS = \ $(CWARNFLAGS) $(RSTART_CFLAGS) \ -DSERVERNAME=\rstart\ \ - -DDEFAULT_CONFIG=\$(rstartdir)/config\ + -DDEFAULT_CONFIG=\$(configdir)/config\ rstartd_real_SOURCES = \ auth.c \ diff --git a/configure.ac b/configure.ac index bdf67da..46839c6 100644 --- a/configure.ac +++ b/configure.ac @@ -43,9 +43,12 @@ XORG_DEFAULT_OPTIONS AC_CHECK_PROGS(RSH,[remsh rsh rcmd]) AC_PROG_LN_S -# Define the root directory for client/server/config +# Define the root directory for client/server AC_SUBST([rstartdir],[$libdir/X11/rstart]) +# Define the root directory for config +AC_SUBST([configdir],[$(sysconfdir)/X11/rstart]) + # Obtain compiler options from depedencies PKG_CHECK_MODULES(RSTART, xproto) Reviewed-by: Alan Coopersmith alan.coopersm...@oracle.com -- -Alan Coopersmith- alan.coopersm...@oracle.com Oracle Solaris Engineering - http://blogs.oracle.com/alanc ___ 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 rstart] man: Set correct config file location in man page
On 01/ 3/13 10:44 AM, Egbert Eich wrote: Change the config file location from a hard coded path to what is set during build. Signed-off-by: Egbert Eich e...@freedesktop.org --- man/Makefile.am |1 + man/rstartd.man |2 +- 2 files changed, 2 insertions(+), 1 deletions(-) diff --git a/man/Makefile.am b/man/Makefile.am index 08a563c..378a4c2 100644 --- a/man/Makefile.am +++ b/man/Makefile.am @@ -8,5 +8,6 @@ CLEANFILES = $(appman_DATA) SUFFIXES = .$(APP_MAN_SUFFIX) .man # String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure +MAN_SUBSTS += -e 's|__configdir__|$(configdir)|g' .man.$(APP_MAN_SUFFIX): $(AM_V_GEN)$(SED) $(MAN_SUBSTS) $ $@ diff --git a/man/rstartd.man b/man/rstartd.man index ffd9e15..df0b5aa 100644 --- a/man/rstartd.man +++ b/man/rstartd.man @@ -59,7 +59,7 @@ is to read. Normally, \fIrstartd\fP is a shell script that invokes \fIrstartd.real\fP with the \fB-c\fP switch, allowing local configuration of the location of the configuration file. If \fIrstartd.real\fP is started without the -c option, it reads -.IR __projectroot__/lib/X11/rstart/config . +.IR __configdir__/config . .SH INSTALLATION It is critical to successful interoperation of the Remote Start protocol that \fIrstartd\fP be installed in a directory which is in the default Reviewed-by: Alan Coopersmith alan.coopersm...@oracle.com -- -Alan Coopersmith- alan.coopersm...@oracle.com Oracle Solaris Engineering - http://blogs.oracle.com/alanc ___ 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 xrdb] Allow the CPP macro to contain preprocessors with command line options (v2)
The preprocessor used for xrdb may require a command line option to produce the desired output. For the GNU cpp this could be 'traditional-cpp' which may not be valid for other preprocessors. Therefore support the specification of preprocessors along with required command line arguments when using the '--with-cpp' configure option. Example: ./configure --with-cpp=/usr/bin/cpp --traditional-cpp, /usr/lib/cpp. v2: Followed a suggestion by Julien Cristau jcris...@debian.org to allocate memory for the dup string dynamically instead of using a static buffer. Signed-off-by: Egbert Eich e...@freedesktop.org --- xrdb.c | 12 ++-- 1 files changed, 10 insertions(+), 2 deletions(-) diff --git a/xrdb.c b/xrdb.c index 74ac03b..b7c9fa3 100644 --- a/xrdb.c +++ b/xrdb.c @@ -855,11 +855,19 @@ main(int argc, char *argv[]) int j; for (j = 0; j number_of_elements; j++) { - if (access(cpp_locations[j], X_OK) == 0) { + char *end, *dup; + /* cut off arguments */ + dup = strdup(cpp_locations[j]); + end = strchr(dup,' '); + if (end) + *end = '\0'; + if (access(dup, X_OK) == 0) { cpp_program = cpp_locations[j]; + free(dup); break; } - } + free(dup); + } } /* needs to be replaced with XrmParseCommand */ -- 1.7.7 ___ 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] Add definitions for the AArch64 architecture
On Thu, Jan 03, 2013 at 04:33:03PM +0100, Thomas Petazzoni wrote: AArch64 is the new 64 bits architecture from ARM, for which a few definitions are needed in the X.org server to make it build properly. Like for the ARM 32 bits architecture, we for now assume that AArch64 will be used in Little Endian mode for Linux. Is there a reason for doing so? It should be possible to get this information from predefined preprocessor macros: $ arm-unknown-linux-gnueabi-gcc -mlittle-endian -dM -E - /dev/null | grep -i arm #define __ARMEL__ 1 #define __ARM_ARCH_5T__ 1 #define __ARM_PCS 1 #define __arm__ 1 #define __ARM_EABI__ 1 $ arm-unknown-linux-gnueabi-gcc -mbig-endian -dM -E - /dev/null | grep -i arm #define __ARM_ARCH_5T__ 1 #define __ARMEB__ 1 #define __ARM_PCS 1 #define __arm__ 1 #define __ARM_EABI__ 1 So it should be possible to make the byte order conditional on __ARMEL__ and __ARMEB__ respectively. Alternatively there is __BYTE_ORDER__ which is defined to __ORDER_LITTLE_ENDIAN__ and __ORDER_BIG_ENDIAN__ for -mlittle-endian and -mbig-endian respectively. Thierry pgpnMTQZWUE9a.pgp Description: PGP 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 xserver] Add definitions for the AArch64 architecture
On 01/ 3/13 07:33 AM, Thomas Petazzoni wrote: AArch64 is the new 64 bits architecture from ARM, for which a few definitions are needed in the X.org server to make it build properly. Like for the ARM 32 bits architecture, we for now assume that AArch64 will be used in Little Endian mode for Linux. Signed-off-by: Thomas Petazzoni thomas.petazz...@free-electrons.com --- include/servermd.h |9 + 1 file changed, 9 insertions(+) diff --git a/include/servermd.h b/include/servermd.h index d6a9a3a..c2d7d70 100644 --- a/include/servermd.h +++ b/include/servermd.h @@ -272,6 +272,15 @@ SOFTWARE. #endif /* linux/m68k */ +/* linux on AArch64 */ +#if defined(linux) defined(__aarch64__) + +#define IMAGE_BYTE_ORDER LSBFirst +#define BITMAP_BIT_ORDER LSBFirst +#define GLYPHPADBYTES 4 + +#endif + /* linux on ARM */ #if defined(linux) defined(__arm__) #define IMAGE_BYTE_ORDER LSBFirst Since you're defining the same values as the next section, why not just make it #if defined(linux) (defined(__arm__) || defined(__aarch64__)) instead of duplicating them? -- -Alan Coopersmith- alan.coopersm...@oracle.com Oracle Solaris Engineering - http://blogs.oracle.com/alanc ___ 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] man: Set correct config file location in man page
On 01/ 3/13 10:54 AM, Egbert Eich wrote: Change the config file location from a hard coded path to what is set during build. Signed-off-by: Egbert Eich e...@freedesktop.org --- man/Makefile.am |4 +++- man/xinit.man |6 +++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/man/Makefile.am b/man/Makefile.am index 074bc36..b24faca 100644 --- a/man/Makefile.am +++ b/man/Makefile.am @@ -13,7 +13,9 @@ MAN_SUBSTS+=-e 's|__XSERVERNAME__|$(XSERVERNAME)|g' \ -e 's|__xinitdir__|$(XINITDIR)|g' \ -e 's|__bindir__|$(bindir)|g' \ -e 's|__libdir__|$(libdir)|g' \ - -e 's|__SCOMAN__|$(SCOMAN)|g' + -e 's|__SCOMAN__|$(SCOMAN)|g' \ + -e 's|__configdir__|$(XINITDIR)|g' + # String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure .man.$(APP_MAN_SUFFIX): diff --git a/man/xinit.man b/man/xinit.man index 31b93aa..f8005ce 100644 --- a/man/xinit.man +++ b/man/xinit.man @@ -109,7 +109,7 @@ used. This will start up a server named \fIX\fP and run the user's \fI\.xinitrc\fP, if it exists, or else start an \fIxterm\fP. .TP 8 -.B xinit \-\^\- /usr/local/bin/Xvnc :1 +.B xinit \-\^\- __bindir__/Xvnc :1 This is how one could start a specific type of server on an alternate display. .TP 8 .B xinit \-geometry =80x65+10+10 \-fn 8x13 \-j \-fg white \-bg navy @@ -149,7 +149,7 @@ a default \fI\.xinitrc\fP that references a site-wide startup file: .in +8 .nf \#!/bin/sh -\. /usr/local/lib/site.xinitrc +\. __configdir__/site.xinitrc .fi .in -8 .sp @@ -161,7 +161,7 @@ novice users: .in +8 .nf \#!/bin/sh -xinit /usr/local/lib/site.xinitrc \-\^\- __bindir__/X -br +xinit __configdir__/site.xinitrc \-\^\- __bindir__/X -br .fi .in -8 .sp Reviewed-by: Alan Coopersmith alan.coopersm...@oracle.com -- -Alan Coopersmith- alan.coopersm...@oracle.com Oracle Solaris Engineering - http://blogs.oracle.com/alanc ___ 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 xrdb] Usage: In usage message print preprocessor that's actually chosen.
On 01/ 3/13 10:56 AM, Egbert Eich wrote: The CPP macro may contain a list of preprocessors to chose from. In the usage message describing the -cpp command line option print the preprocessor that would actually be chosen. Signed-off-by: Egbert Eich e...@freedesktop.org --- xrdb.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/xrdb.c b/xrdb.c index 8513f8a..74ac03b 100644 --- a/xrdb.c +++ b/xrdb.c @@ -743,7 +743,7 @@ Syntax (void) -Dname[=value], -Uname, -Idirectorypassed to preprocessor\n \n A - or no input filename represents stdin.\n, - ProgramName, CPP, BACKUP_SUFFIX); + ProgramName, cpp_program ? cpp_program : , BACKUP_SUFFIX); exit (1); } Reviewed-by: Alan Coopersmith alan.coopersm...@oracle.com -- -Alan Coopersmith- alan.coopersm...@oracle.com Oracle Solaris Engineering - http://blogs.oracle.com/alanc ___ 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] Add definitions for the AArch64 architecture
Dear Thierry Reding, On Thu, 3 Jan 2013 21:48:22 +0100, Thierry Reding wrote: On Thu, Jan 03, 2013 at 04:33:03PM +0100, Thomas Petazzoni wrote: AArch64 is the new 64 bits architecture from ARM, for which a few definitions are needed in the X.org server to make it build properly. Like for the ARM 32 bits architecture, we for now assume that AArch64 will be used in Little Endian mode for Linux. Is there a reason for doing so? It should be possible to get this information from predefined preprocessor macros: For the AArch64 addition, there is no other reason than just using the same pattern as the one used for ARM. For sure the ARM thing itself could be improved. I think ultimately all those architecture-specific definitions could potentially be guessed from standard headers, but isn't that a separate effort? Thanks, Thomas -- Thomas Petazzoni, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.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: [ANNOUNCE] libXTrap 1.0.1
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 If anyone is considering packaging this, they may want to consider the note in the README and check first if they have any software that truly needs it: libXTrap is the Xlib-based client API for the DEC-XTRAP extension. XTrap was a proposed standard extension for X11R5 which facilitated the capturing of server protocol and synthesizing core input events. Digital participated in the X Consortium's xtest working group which chose to evolve XTrap functionality into the XTEST RECORD extensions for X11R6. As X11R6 was released in 1994, XTrap has now been deprecated for over 15 years, and uses of it should be quite rare. - -- -Alan Coopersmith- alan.coopersm...@oracle.com Oracle Solaris Engineering - http://blogs.oracle.com/alanc -BEGIN PGP SIGNATURE- Version: GnuPG v2.0.9 (SunOS) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAlDly8IACgkQovueCB8tEw6StACeNu4FbSM03bO9hS8f9okk6rI0 t8oAoInlK1vDBLLz1gC/diY7GOGo2aas =weyb -END PGP 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: xorg-server 1.13.1, - checksum post-mortem
On 01/ 3/13 03:38 PM, Peter Hutterer wrote: is there any particular reason we're still generating gz and bzip2? Because we're not hip enough to have replaced gz with xz like all the cool kids? Or because updating the automake flags in 200+ configure.ac scripts is not fun. -- -Alan Coopersmith- alan.coopersm...@oracle.com Oracle Solaris Engineering - http://blogs.oracle.com/alanc ___ 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
Unified automake init (was Re: xorg-server 1.13.1, - checksum post-mortem)
On Thu, Jan 03, 2013 at 03:55:49PM -0800, Alan Coopersmith wrote: On 01/ 3/13 03:38 PM, Peter Hutterer wrote: is there any particular reason we're still generating gz and bzip2? Because we're not hip enough to have replaced gz with xz like all the cool kids? Or because updating the automake flags in 200+ configure.ac scripts is not fun. just played around with this a bit, looks like a the common code for initialising the projects can be moved into a macro, as long as AC_INIT is still in configure.ac. which is the project-specific part anyway. So a common template could be AC_DEFUN([XORG_DEFAULT_AUTOMAKE],[ AC_PREREQ([2.60]) AC_CONFIG_SRCDIR([Makefile.am]) AC_CONFIG_HEADERS([config.h]) AC_CONFIG_AUXDIR(.) AM_INIT_AUTOMAKE([foreign dist-bzip2]) AM_MAINTAINER_MODE ]) which would make adding options easier in the future. switching to xz, changing/removing AM_MAINTAINER_MODE, etc. note, I've only tested this on a simple test project, not across all xorg modules. 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: xserver-1.13.2 nomination window is open
Hi Daniel, I'll wait on this one until they're in master. Any chance this'll be ready for rc2 or rc3? Matt On 01/03/2013 10:07 AM, Daniel Martin wrote: On Wed, Dec 19, 2012 at 11:41:53PM +0100, Matthieu Herrb wrote: On Tue, Dec 18, 2012 at 09:43:09PM -0700, Matt Dew wrote: It's actually been open since last Thursday but this is notice for anyone wondering. The nomination window is 3 weeks; until Jan 3. I've updated the X.Org calendar. Once it gets pulled to master, the following is a good candiate for 1.13.2 (and also for the 1.12 branch if a 1.12.5 is released) ephyr: Add -resizeable option At least it was Acked-by Peter: http://lists.x.org/archives/xorg-devel/2012-December/034726.html This one might be more important, but didn't got any review yet: ephyr: Fix crash on 24bpp host framebuffer http://lists.x.org/archives/xorg-devel/2012-December/034857.html Cheers, Daniel Martin ___ 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 synaptics] conf: add example for AreaBottomEdge on clickpad buttons
Those that use clickpad buttons as buttons can see cursor jumps as the press on the touchpad - largely caused by the finger changing shape as the pressure changes and thus moving the hotspot. Simple fix is to define the clickpad soft button areas as dead areas, but this cannot be set as general option as it would break for those that use tapping. Signed-off-by: Peter Hutterer peter.hutte...@who-t.net --- conf/50-synaptics.conf | 3 +++ 1 file changed, 3 insertions(+) diff --git a/conf/50-synaptics.conf b/conf/50-synaptics.conf index 9e86a7a..dd16ca2 100644 --- a/conf/50-synaptics.conf +++ b/conf/50-synaptics.conf @@ -32,6 +32,9 @@ Section InputClass Identifier Default clickpad buttons MatchDriver synaptics Option SoftButtonAreas 50% 0 82% 0 0 0 0 0 +# To disable the bottom edge area so the buttons only work as buttons, +# not for movement, set the AreaBottomEdge +# Option AreaBottomEdge 82% EndSection # This option disables software buttons on Apple touchpads. -- 1.8.0.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
[PATCH 0/5] pointer emulation and grab behaviour fixes
First two patches are Keith's patches with 2/2 having a minor fix to keep event history replaying correct. With those 5 applied, the current passive grab/pointer emulation/button state tests all pass, finally. 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
[PATCH 1/5] input: Pull TouchListener declaration to top-level
From: Keith Packard kei...@keithp.com No reason to have a struct declared inside another struct Signed-off-by: Keith Packard kei...@keithp.com Reviewed-by: Peter Hutterer peter.hutte...@who-t.net Signed-off-by: Peter Hutterer peter.hutte...@who-t.net --- include/inputstr.h | 18 ++ 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/include/inputstr.h b/include/inputstr.h index 17cee98..a9d46cc 100644 --- a/include/inputstr.h +++ b/include/inputstr.h @@ -298,6 +298,15 @@ typedef struct _ValuatorClassRec { int v_scroll_axis; /* vert smooth-scrolling axis */ } ValuatorClassRec; +typedef struct _TouchListener { +XID listener; /* grabs/event selection IDs receiving + * events for this touch */ +enum TouchListenerType type; +enum TouchListenerState state; +enum InputLevel level; /* matters only for emulating touches */ +WindowPtr window; +} TouchListener; + typedef struct _TouchPointInfo { uint32_t client_id; /* touch ID as seen in client events */ int sourceid; /* Source device's ID for this touchpoint */ @@ -306,14 +315,7 @@ typedef struct _TouchPointInfo { * but still owned by a grab */ SpriteRec sprite; /* window trace for delivery */ ValuatorMask *valuators;/* last recorded axis values */ -struct _TouchListener { -XID listener; /* grabs/event selection IDs receiving - * events for this touch */ -enum TouchListenerType type; -enum TouchListenerState state; -enum InputLevel level; /* matters only for emulating touches */ -WindowPtr window; -} *listeners; +TouchListener *listeners; /* set of listeners */ int num_listeners; int num_grabs; /* number of open grabs on this touch * which have not accepted or rejected */ -- 1.8.0.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
[PATCH v2 2/5] input: Record grab pointer in TouchListener
From: Keith Packard kei...@keithp.com This places a pointer to the grab related to a TouchListener directly in the TouchListener structure rather than hoping to find the grab later on using the resource ID. Passive grabs have resource ID in the resource DB so they can be removed when a client exits, and those resource IDs get copied when activated, but implicit grabs are constructed on-the-fly and have no resource DB entry. Signed-off-by: Keith Packard kei...@keithp.com Signed-off-by: Peter Hutterer peter.hutte...@who-t.net --- Changes since v1: - reset the grab of the listener currently removed to NULL, not the last listener Xi/exevents.c | 27 ++- dix/events.c | 1 + dix/touch.c| 22 +++--- include/input.h| 2 +- include/inputstr.h | 1 + 5 files changed, 24 insertions(+), 29 deletions(-) diff --git a/Xi/exevents.c b/Xi/exevents.c index 58fe493..22bb563 100644 --- a/Xi/exevents.c +++ b/Xi/exevents.c @@ -1187,7 +1187,6 @@ TouchRejected(DeviceIntPtr sourcedev, TouchPointInfoPtr ti, XID resource, TouchOwnershipEvent *ev) { Bool was_owner = (resource == ti-listeners[0].listener); -void *grab; int i; /* Send a TouchEnd event to the resource being removed, but only if they @@ -1202,11 +1201,7 @@ TouchRejected(DeviceIntPtr sourcedev, TouchPointInfoPtr ti, XID resource, /* Remove the resource from the listener list, updating * ti-num_listeners, as well as ti-num_grabs if it was a grab. */ -if (TouchRemoveListener(ti, resource)) { -if (dixLookupResourceByType(grab, resource, RT_PASSIVEGRAB, -serverClient, DixGetAttrAccess) == Success) -ti-num_grabs--; -} +TouchRemoveListener(ti, resource); /* If the current owner was removed and there are further listeners, deliver * the TouchOwnership or TouchBegin event to the new owner. */ @@ -1300,21 +1295,10 @@ RetrieveTouchDeliveryData(DeviceIntPtr dev, TouchPointInfoPtr ti, if (listener-type == LISTENER_GRAB || listener-type == LISTENER_POINTER_GRAB) { -rc = dixLookupResourceByType((pointer *) grab, listener-listener, - RT_PASSIVEGRAB, - serverClient, DixSendAccess); -if (rc != Success) { -/* the grab doesn't exist but we have a grabbing listener - this - * is an implicit/active grab */ -rc = dixLookupClient(client, listener-listener, serverClient, - DixSendAccess); -if (rc != Success) -return FALSE; - -*grab = dev-deviceGrab.grab; -if (!*grab) -return FALSE; -} + +*grab = listener-grab; + +BUG_RETURN_VAL(!*grab, FALSE); *client = rClient(*grab); *win = (*grab)-window; @@ -1467,6 +1451,7 @@ DeliverTouchEmulatedEvent(DeviceIntPtr dev, TouchPointInfoPtr ti, */ l = ti-listeners[ti-num_listeners - 1]; l-listener = devgrab-resource; +l-grab = devgrab; if (devgrab-grabtype != XI2 || devgrab-type != XI_TouchBegin) l-type = LISTENER_POINTER_GRAB; diff --git a/dix/events.c b/dix/events.c index 7359362..bea68cc 100644 --- a/dix/events.c +++ b/dix/events.c @@ -1438,6 +1438,7 @@ UpdateTouchesForGrab(DeviceIntPtr mouse) ti-listeners[0].type = LISTENER_POINTER_GRAB; else ti-listeners[0].type = LISTENER_GRAB; +ti-listeners[0].grab = grab; } } } diff --git a/dix/touch.c b/dix/touch.c index d890b62..99f105b 100644 --- a/dix/touch.c +++ b/dix/touch.c @@ -677,13 +677,17 @@ TouchResourceIsOwner(TouchPointInfoPtr ti, XID resource) void TouchAddListener(TouchPointInfoPtr ti, XID resource, enum InputLevel level, enum TouchListenerType type, enum TouchListenerState state, - WindowPtr window) + WindowPtr window, + GrabPtr grab) { ti-listeners[ti-num_listeners].listener = resource; ti-listeners[ti-num_listeners].level = level; ti-listeners[ti-num_listeners].state = state; ti-listeners[ti-num_listeners].type = type; ti-listeners[ti-num_listeners].window = window; +ti-listeners[ti-num_listeners].grab = grab; +if (grab) +ti-num_grabs++; ti-num_listeners++; } @@ -702,6 +706,11 @@ TouchRemoveListener(TouchPointInfoPtr ti, XID resource) if (ti-listeners[i].listener == resource) { int j; +if (ti-listeners[i].grab) { +ti-listeners[i].grab = NULL; +ti-num_grabs--; +} + for (j = i; j ti-num_listeners - 1; j++) ti-listeners[j] = ti-listeners[j + 1]; ti-num_listeners--; @@ -733,8 +742,7 @@ TouchAddGrabListener(DeviceIntPtr dev,
[PATCH 3/5] dix: add resource type to touch listeners
Instead of guessing what resource type the listener is and what property to retrieve, store the resource type in the listener directly. Breaks XIT test cases: TouchGrabTestMultipleTaps.PassiveGrabPointerEmulationMultipleTouchesFastSuccession Fixes https://bugs.freedesktop.org/show_bug.cgi?id=56557 Signed-off-by: Peter Hutterer peter.hutte...@who-t.net Reviewed-by: Chase Douglas chase.doug...@ubuntu.com --- Xi/exevents.c | 11 --- dix/touch.c| 18 ++ include/input.h| 2 +- include/inputstr.h | 1 + 4 files changed, 16 insertions(+), 16 deletions(-) diff --git a/Xi/exevents.c b/Xi/exevents.c index 22bb563..74f3610 100644 --- a/Xi/exevents.c +++ b/Xi/exevents.c @@ -1305,13 +1305,9 @@ RetrieveTouchDeliveryData(DeviceIntPtr dev, TouchPointInfoPtr ti, *mask = (*grab)-xi2mask; } else { -if (listener-level == CORE) -rc = dixLookupWindow(win, listener-listener, - serverClient, DixSendAccess); -else -rc = dixLookupResourceByType((pointer *) win, listener-listener, - RT_INPUTCLIENT, - serverClient, DixSendAccess); +rc = dixLookupResourceByType((pointer *) win, listener-listener, + listener-resource_type, + serverClient, DixSendAccess); if (rc != Success) return FALSE; @@ -1452,6 +1448,7 @@ DeliverTouchEmulatedEvent(DeviceIntPtr dev, TouchPointInfoPtr ti, l = ti-listeners[ti-num_listeners - 1]; l-listener = devgrab-resource; l-grab = devgrab; +//l-resource_type = RT_NONE; if (devgrab-grabtype != XI2 || devgrab-type != XI_TouchBegin) l-type = LISTENER_POINTER_GRAB; diff --git a/dix/touch.c b/dix/touch.c index 99f105b..0db842c 100644 --- a/dix/touch.c +++ b/dix/touch.c @@ -675,12 +675,13 @@ TouchResourceIsOwner(TouchPointInfoPtr ti, XID resource) * Add the resource to this touch's listeners. */ void -TouchAddListener(TouchPointInfoPtr ti, XID resource, enum InputLevel level, - enum TouchListenerType type, enum TouchListenerState state, - WindowPtr window, +TouchAddListener(TouchPointInfoPtr ti, XID resource, int resource_type, + enum InputLevel level, enum TouchListenerType type, + enum TouchListenerState state, WindowPtr window, GrabPtr grab) { ti-listeners[ti-num_listeners].listener = resource; +ti-listeners[ti-num_listeners].resource_type = resource_type; ti-listeners[ti-num_listeners].level = level; ti-listeners[ti-num_listeners].state = state; ti-listeners[ti-num_listeners].type = type; @@ -741,7 +742,8 @@ TouchAddGrabListener(DeviceIntPtr dev, TouchPointInfoPtr ti, type = LISTENER_POINTER_GRAB; } -TouchAddListener(ti, grab-resource, grab-grabtype, +/* grab listeners are always RT_NONE since we keep the grab pointer */ +TouchAddListener(ti, grab-resource, RT_NONE, grab-grabtype, type, LISTENER_AWAITING_BEGIN, grab-window, grab); } @@ -797,7 +799,7 @@ TouchAddRegularListener(DeviceIntPtr dev, TouchPointInfoPtr ti, if (!xi2mask_isset(iclients-xi2mask, dev, XI_TouchOwnership)) TouchEventHistoryAllocate(ti); -TouchAddListener(ti, iclients-resource, XI2, +TouchAddListener(ti, iclients-resource, RT_INPUTCLIENT, XI2, type, LISTENER_AWAITING_BEGIN, win, NULL); return TRUE; } @@ -812,7 +814,7 @@ TouchAddRegularListener(DeviceIntPtr dev, TouchPointInfoPtr ti, continue; TouchEventHistoryAllocate(ti); -TouchAddListener(ti, iclients-resource, XI, +TouchAddListener(ti, iclients-resource, RT_INPUTCLIENT, XI, LISTENER_POINTER_REGULAR, LISTENER_AWAITING_BEGIN, win, NULL); return TRUE; @@ -827,7 +829,7 @@ TouchAddRegularListener(DeviceIntPtr dev, TouchPointInfoPtr ti, /* window owner */ if (IsMaster(dev) (win-eventMask core_filter)) { TouchEventHistoryAllocate(ti); -TouchAddListener(ti, win-drawable.id, CORE, +TouchAddListener(ti, win-drawable.id, RT_WINDOW, CORE, LISTENER_POINTER_REGULAR, LISTENER_AWAITING_BEGIN, win, NULL); return TRUE; @@ -839,7 +841,7 @@ TouchAddRegularListener(DeviceIntPtr dev, TouchPointInfoPtr ti, continue; TouchEventHistoryAllocate(ti); -TouchAddListener(ti, oclients-resource, CORE, +TouchAddListener(ti, oclients-resource, RT_OTHERCLIENT, CORE, type, LISTENER_AWAITING_BEGIN, win, NULL);
[PATCH 4/5] dix: check for the right device's xi2 mask
events.c: In function 'DeactivatePointerGrab': events.c:1524:51: warning: 'dev' may be used uninitialized in this function [-Wuninitialized dev is unset when we get here, the device to check is mouse. Introduced in ece8157a59751b3ed492fb2e1eb8d5f20221e195. Signed-off-by: Peter Hutterer peter.hutte...@who-t.net --- dix/events.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dix/events.c b/dix/events.c index bea68cc..b742f67 100644 --- a/dix/events.c +++ b/dix/events.c @@ -1522,7 +1522,7 @@ DeactivatePointerGrab(DeviceIntPtr mouse) emulate a ButtonRelease here. So pretend the listener already has the end event */ if (grab-grabtype == CORE || grab-grabtype == XI || -!xi2mask_isset(dev-deviceGrab.grab-xi2mask, dev, XI_TouchBegin)) +!xi2mask_isset(mouse-deviceGrab.grab-xi2mask, mouse, XI_TouchBegin)) ti-listeners[0].state = LISTENER_HAS_END; TouchListenerAcceptReject(mouse, ti, 0, XIRejectTouch); } -- 1.8.0.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
[PATCH 5/5] dix: remove already-moved hunk
Should've been removed in bc1f90a615018c05994fae3e678dd2341256cd82a, but got left here due to a botched rebase. Fixes stray button events sent to clients after deactivating an async pointer grab on a pointer-emulating-touch. Signed-off-by: Peter Hutterer peter.hutte...@who-t.net --- dix/events.c | 9 - 1 file changed, 9 deletions(-) diff --git a/dix/events.c b/dix/events.c index b742f67..a46aaf6 100644 --- a/dix/events.c +++ b/dix/events.c @@ -1551,15 +1551,6 @@ DeactivatePointerGrab(DeviceIntPtr mouse) ReattachToOldMaster(mouse); ComputeFreezes(); - -/* If an explicit grab was deactivated, we must remove it from the head of - * all the touches' listener lists. */ -for (i = 0; mouse-touch i mouse-touch-num_touches; i++) { -TouchPointInfoPtr ti = mouse-touch-touches + i; - -if (ti-active TouchResourceIsOwner(ti, grab_resource)) -TouchListenerAcceptReject(mouse, ti, 0, XIRejectTouch); -} } /** -- 1.8.0.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: v3: Fix for GPU/CPU thrashing in DPMS off state
On Mit, 2012-12-19 at 10:35 -0500, Ilija Hadzic wrote: The following patch series is the version 3 of the fix that prevents the application from rendering at uncontrolled rate as explained in this thread: http://lists.x.org/archives/xorg-driver-ati/2012-December/024027.html Series pushed, thanks and Happy New Year. -- Earthling Michel Dänzer | http://www.amd.com Libre software enthusiast | Debian, X and DRI developer ___ xorg-driver-ati mailing list xorg-driver-ati@lists.x.org http://lists.x.org/mailman/listinfo/xorg-driver-ati
[Bug 58894] Radeon HD 7690M XT only shows 1280x1024, not able to get 1920x1080
https://bugs.freedesktop.org/show_bug.cgi?id=58894 --- Comment #12 from Benny Ammitzbøll be...@ammitzboell-consult.dk --- Created attachment 72461 -- https://bugs.freedesktop.org/attachment.cgi?id=72461action=edit /var/log/messages -- You are receiving this mail because: You are the assignee for the bug. ___ xorg-driver-ati mailing list xorg-driver-ati@lists.x.org http://lists.x.org/mailman/listinfo/xorg-driver-ati
[Bug 58894] Radeon HD 7690M XT only shows 1280x1024, not able to get 1920x1080
https://bugs.freedesktop.org/show_bug.cgi?id=58894 --- Comment #13 from Benny Ammitzbøll be...@ammitzboell-consult.dk --- Ok, I can get the radeon up and running on the LCD in 1920x1080 using vga-switcheroo, but things are a bit weird. When I boot the machine, the screen goes blank when xdm (KDE) starts. If I then connect an external monitor using HDMI and press ctrl+alt+f1 can get a console on the external monitor where I can issue a hprofile graphics.radeon and switch to using radeon - LCD screen is running and I can get KDE up as well. But I get a number of crashes reported in /var/log/messages when KDE starts and also when I connect/disconnect the HDMI conection to the external monitor - see attached /var/log/messages. I would like to just boot up and get radeon + KDE without all that of course. I've tried adding the hprofile graphics.radeon to the /etc/init.d/xdm script (removing the start/stop of xdm from the hprofile graphics scripts), but this is not really working - still have to fiddle with an external monitor to get a picture. Any ideas? -- You are receiving this mail because: You are the assignee for the bug. ___ xorg-driver-ati mailing list xorg-driver-ati@lists.x.org http://lists.x.org/mailman/listinfo/xorg-driver-ati
Re: Q: 'MacModel' replacement for radeon driver?
Hi Alex: I wish you a very happy new year 2013,. and a again thanks a lot for your help! Am 03.01.13 02:30 schrieb(en) Alex Deucher: Does the attached patch help? Unfortunately not - again, the first boot screen is visible, then the display flickers, and the shades/lines/pixels appear during the text mode boot process. Then X launches, and again the shades/lines/pixels appear. Logs and regs dump attached. Thanks, Albrecht. new-patch-logs.tar.bz2 Description: application/bzip-compressed-tar pgpOJQHAfrvAy.pgp Description: PGP signature ___ xorg-driver-ati mailing list xorg-driver-ati@lists.x.org http://lists.x.org/mailman/listinfo/xorg-driver-ati
Re: Q: 'MacModel' replacement for radeon driver?
On Thu, Jan 3, 2013 at 12:45 PM, Albrecht Dreß albrecht.dr...@arcor.de wrote: Hi Alex: I wish you a very happy new year 2013,. and a again thanks a lot for your help! Am 03.01.13 02:30 schrieb(en) Alex Deucher: Does the attached patch help? Unfortunately not - again, the first boot screen is visible, then the display flickers, and the shades/lines/pixels appear during the text mode boot process. Then X launches, and again the shades/lines/pixels appear. Logs and regs dump attached. hmmm... everything else looks pretty good. Try the attached patch. Maybe the pll isn't quite right. You might try diffing the 2 reg dumps you sent me originally and using them as a guide to identify which registers are problematic. Boot up to the broken state and then use radeonreg to set the registers to the values from the working dump. e.g., radeonreg regset 0x0250 0x009f0013 Some of the registers are related the memory configuration of each driver so try the following registers: 0050 03000600 0054 8048 0058 ff002102 0204 008c051b 0250 009f0013 0254 03ff0026 0278 009f03ff 027c 0030 0284 000300cd 02c4 008c001e 02c8 00860004 02f0 20007c7c 03f8 02000200 088c 07880100 0d04 0806 Alex Thanks, Albrecht. pll_hack.diff Description: Binary data ___ xorg-driver-ati mailing list xorg-driver-ati@lists.x.org http://lists.x.org/mailman/listinfo/xorg-driver-ati