[X2go-Commits] nx-libs.git - master (branch) updated: redist-client/3.5.0.12-6-g3511e87

X2Go dev team git-admin at x2go.org
Fri May 11 23:51:18 CEST 2012


The branch, master has been updated
       via  3511e8791bd03a3e54384bdfd19e145efb4a136b (commit)
      from  45311f783acad296d37a248fb2c702c578ac3059 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 3511e8791bd03a3e54384bdfd19e145efb4a136b
Author: Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
Date:   Fri May 11 23:51:09 2012 +0200

    add patch header for 120_nxagent_libcairo-null-source-drawables.full.patch

-----------------------------------------------------------------------

Summary of changes:
 ...agent_libcairo-null-source-drawables.full.patch |   63 ++++++++++++++++++++
 1 files changed, 63 insertions(+), 0 deletions(-)

The diff of changes is:
diff --git a/debian/patches/120_nxagent_libcairo-null-source-drawables.full.patch b/debian/patches/120_nxagent_libcairo-null-source-drawables.full.patch
index 66af325..319f6ed 100644
--- a/debian/patches/120_nxagent_libcairo-null-source-drawables.full.patch
+++ b/debian/patches/120_nxagent_libcairo-null-source-drawables.full.patch
@@ -1,3 +1,66 @@
+Description: Fix nxagent/x2goagent With New LibCairo (>1.12.1)
+ Quoting two postings of Jim Burnes <jvburnes at gmail.com> on x2go-dev ML:
+
+ I don't know what the current patch status is for fixing nxagent with the
+ new libcairo (1.12.1+ I believe), but eventually I got tired of waiting and
+ created my own patches for nxagent/x2goagent.
+
+ Most of the fixes were required because the render extension now allows
+ (and libcairo uses) null source drawables (for gradients etc), null masks
+ and null mask drawables.
+
+ This change creates a bit of a logic mess in the code.   Previous patches
+ to the code tried to account for all of the possibilities, but fell a
+ little short.
+
+ Consider this an alpha-quality patch.  I've only tested it in KDE while
+ running GTK applications.   All my favorite GTK apps like Firefox, Emacs,
+ rox-filer and all my other GTK apps that were broken are now working just
+ fine.  (Though I'm getting only the standard GTK look and feel - don't know
+ if that's caused by anything I've done.)
+
+ Could someone test this under Gnome?
+
+ Also, since I'm not primarily an X software engineer I'd like a specialist
+ to take a look at it.   The fix is a little crude.   I just attached to the
+ x2goagent process and fixed the lines that caused segfaults.   (About 10 of
+ them).
+
+ I also rewrote one of the macros in Pixels.h into a local subroutine in
+ Render.c.  It had a bug in it and complex macro bugs are a PITA to debug in
+ gdb (or anything else really).   The macro is only used in one place and
+ although the code in the macro is called pretty often, it's very likely
+ that the compiler would inline it anyway.  The rewrite increases
+ readability by a large factor.
+
+ A better patch could be created by someone that understands nxagent and X
+ much better.   The render extension code receives render ops from X client
+ programs.  The render ops can contain any combination of picture source,
+ picture destination and picture mask.  It's apparently legal to send render
+ ops with combinations of null picture source drawables, picture masks and
+ picture mask drawables.   A better way to patch this would be to simply
+ perform a return on all the illegal combinations of null parameters for the
+ render ops.  That way you wouldn't have to keep re-checking the parameter
+ values.
+
+ So anyway, here it is.  I appreciate it if someone out there would test it
+ and let me know.   Also if anyone knows of the X docs which discuss null
+ picture sources and masks in the render extension I'd be glad to create a
+ cleaner patch that conforms to the stands.
+
+
+ You can reproduce the issue by running any recent copy of x2go/nxagent and
+ start any program that uses very recent versions of libCairo.  Things
+ started breaking for both ArchLinux and Debian SID users about 3 weeks ago.
+
+ The issues started with versions of libCairo >= libcairo2_1.12.0-2_amd64
+ (debian packages of course).  These versions of Cairo seem to use null
+ parameters in render ops a lot.   Users of recent GTK environments would
+ have the startup process just crash.  KDE sessions start and run fine until
+ you start a gtk app.
+Forwarded: pending
+Author: Jim Burnes <jvburnes at gmail.com>
+Last-Update: 2012-05-11
 --- a/nx-X11/programs/Xserver/hw/nxagent/Render.c
 +++ b/nx-X11/programs/Xserver/hw/nxagent/Render.c
 @@ -995,6 +995,36 @@


hooks/post-receive
-- 
nx-libs.git (NX (redistributed))

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "nx-libs.git" (NX (redistributed)).




More information about the x2go-commits mailing list