aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/changelog5
-rw-r--r--debian/patches/109_nxagent_locale-utf8-compound-text.full.patch2
-rw-r--r--debian/patches/120_nxagent_libcairo-null-source-drawables.full.patch193
-rw-r--r--debian/patches/200_nxagent_check-binary-x2go-flavour.full.patch4
-rw-r--r--debian/patches/201_nxagent_set-x2go-icon-if-x2goagent-flavour.full.patch19
-rw-r--r--debian/patches/203_nxagent_disable-rootless-exit.full.patch10
-rw-r--r--debian/patches/300_nxagent_set-wm-class.full.patch2
-rw-r--r--debian/patches/999_nxagent_unbrand-nxagent-brand-x2goagent.full.patch4
-rw-r--r--debian/patches/series1
9 files changed, 24 insertions, 216 deletions
diff --git a/debian/changelog b/debian/changelog
index 45bd03553..de39c40c7 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,9 @@
nx-libs (2:3.5.0.14-0) UNRELEASED; urgency=low
- * Continue development...
+ * New upstream release of nxagent (3.5.0-9).
+ * Adapt patch series (all hunks succeeded automatically).
+ * Drop patch: 120_nxagent_libcairo-null-source-drawables.full.patch, the issue
+ has been fixed by NoMachine (TR05J02703).
-- Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Fri, 11 May 2012 23:57:18 +0200
diff --git a/debian/patches/109_nxagent_locale-utf8-compound-text.full.patch b/debian/patches/109_nxagent_locale-utf8-compound-text.full.patch
index 29abd99dd..7fbdf45eb 100644
--- a/debian/patches/109_nxagent_locale-utf8-compound-text.full.patch
+++ b/debian/patches/109_nxagent_locale-utf8-compound-text.full.patch
@@ -17,7 +17,7 @@ Last-Update: 2011-12-31
/*
* Set here the required log level.
*/
-@@ -348,6 +351,20 @@
+@@ -366,6 +369,20 @@
*/
blackRoot = TRUE;
diff --git a/debian/patches/120_nxagent_libcairo-null-source-drawables.full.patch b/debian/patches/120_nxagent_libcairo-null-source-drawables.full.patch
deleted file mode 100644
index 319f6ed3b..000000000
--- a/debian/patches/120_nxagent_libcairo-null-source-drawables.full.patch
+++ /dev/null
@@ -1,193 +0,0 @@
-Description: Fix nxagent/x2goagent With New LibCairo (>1.12.1)
- Quoting two postings of Jim Burnes <jvburnes@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@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 @@
- #endif
- }
-
-+
-+int nxagentShouldDeferComposite(PicturePtr pSrc, PicturePtr pMask, PicturePtr pDst)
-+{
-+
-+int drawableDst;
-+int linkDeferred;
-+int unSyncedSrcMask;
-+
-+ drawableDst = ( nxagentRenderVersionMajor == 0 &&
-+ nxagentRenderVersionMinor == 8 &&
-+ (pDst) -> pDrawable -> type == DRAWABLE_PIXMAP
-+ );
-+
-+ linkDeferred = ( nxagentOption(DeferLevel) >= 2 &&
-+ nxagentOption(LinkType) < LINK_TYPE_ADSL
-+ );
-+
-+ unSyncedSrcMask = ( nxagentOption(DeferLevel) == 1 &&
-+ (pDst) -> pDrawable -> type == DRAWABLE_PIXMAP &&
-+ (
-+ (pSrc -> pDrawable && (nxagentDrawableStatus(pSrc -> pDrawable) == NotSynchronized)) ||
-+ ((pMask) && pMask -> pDrawable && (nxagentDrawableStatus((pMask) -> pDrawable) == NotSynchronized))
-+ )
-+ );
-+
-+
-+ return drawableDst || linkDeferred || unSyncedSrcMask;
-+}
-+
-+
- void nxagentComposite(CARD8 op, PicturePtr pSrc, PicturePtr pMask, PicturePtr pDst,
- INT16 xSrc, INT16 ySrc, INT16 xMask, INT16 yMask, INT16 xDst,
- INT16 yDst, CARD16 width, CARD16 height)
-@@ -1036,8 +1066,8 @@
- }
-
- #endif
--
-- if (NXAGENT_SHOULD_DEFER_COMPOSITE(pSrc, pMask, pDst))
-+ /* if (NXAGENT_SHOULD_DEFER_COMPOSITE(pSrc, pMask, pDst)) */
-+ if (nxagentShouldDeferComposite(pSrc, pMask, pDst))
- {
- pDstRegion = nxagentCreateRegion(pDst -> pDrawable, NULL, xDst, yDst, width, height);
-
-@@ -1095,7 +1125,8 @@
- }
- }
-
-- if (pMask != NULL && pMask -> pDrawable != pSrc -> pDrawable &&
-+ if ((pMask) && (pMask->pDrawable) &&
-+ pMask -> pDrawable != pSrc -> pDrawable &&
- pMask -> pDrawable != pDst -> pDrawable)
- {
- nxagentSynchronizeShmPixmap(pMask -> pDrawable, xMask, yMask, width, height);
-@@ -1259,7 +1290,7 @@
- * on the real X server.
- */
-
-- if (nxagentDrawableStatus(pSrc -> pDrawable) == NotSynchronized)
-+ if (pSrc -> pDrawable && (nxagentDrawableStatus(pSrc -> pDrawable) == NotSynchronized))
- {
- #ifdef TEST
- fprintf(stderr, "nxagentGlyphs: Synchronizing source [%s] at [%p].\n",
-@@ -1302,14 +1333,15 @@
- nxagentSynchronizeBox(pSrc -> pDrawable, &glyphBox, NEVER_BREAK);
- }
-
-- if (pSrc -> pDrawable -> type == DRAWABLE_PIXMAP)
-+ if (pSrc -> pDrawable && (pSrc -> pDrawable -> type == DRAWABLE_PIXMAP))
- {
- nxagentIncreasePixmapUsageCounter((PixmapPtr) pSrc -> pDrawable);
- }
- }
-
-- if (pSrc -> pDrawable != pDst -> pDrawable &&
-- nxagentDrawableStatus(pDst -> pDrawable) == NotSynchronized)
-+
-+ if (pSrc -> pDrawable && (pSrc -> pDrawable != pDst -> pDrawable &&
-+ nxagentDrawableStatus(pDst -> pDrawable) == NotSynchronized))
- {
- #ifdef TEST
- fprintf(stderr, "nxagentGlyphs: Synchronizing destination [%s] at [%p].\n",
-@@ -1749,7 +1781,9 @@
- return;
- }
-
-- if (nxagentDrawableStatus(pSrc -> pDrawable) == NotSynchronized)
-+ /* the following blocks need fixing to ignore null values of pDrawable */
-+
-+ if (pSrc -> pDrawable && (nxagentDrawableStatus(pSrc -> pDrawable) == NotSynchronized))
- {
- #ifdef TEST
- fprintf(stderr, "nxagentTrapezoids: Going to synchronize the source drawable at [%p].\n",
-@@ -1843,7 +1877,9 @@
- * operation like nxagentTrapezoids() does.
- */
-
-- if (nxagentDrawableStatus(pSrc -> pDrawable) == NotSynchronized)
-+
-+
-+ if (pSrc -> pDrawable && (nxagentDrawableStatus(pSrc -> pDrawable) == NotSynchronized))
- {
- #ifdef TEST
- fprintf(stderr, "nxagentTriangles: Going to synchronize the source drawable at [%p].\n",
-@@ -1920,7 +1956,8 @@
- * operation like nxagentTrapezoids() does.
- */
-
-- if (nxagentDrawableStatus(pSrc -> pDrawable) == NotSynchronized)
-+
-+ if (pSrc -> pDrawable && (nxagentDrawableStatus(pSrc -> pDrawable) == NotSynchronized))
- {
- #ifdef TEST
- fprintf(stderr, "nxagentTriStrip: Going to synchronize the source drawable at [%p].\n",
-@@ -1997,7 +2034,8 @@
- * operation like nxagentTrapezoids() does.
- */
-
-- if (nxagentDrawableStatus(pSrc -> pDrawable) == NotSynchronized)
-+
-+ if (pSrc -> pDrawable && (nxagentDrawableStatus(pSrc -> pDrawable) == NotSynchronized))
- {
- #ifdef TEST
- fprintf(stderr, "nxagentTriFan: Going to synchronize the source drawable at [%p].\n",
diff --git a/debian/patches/200_nxagent_check-binary-x2go-flavour.full.patch b/debian/patches/200_nxagent_check-binary-x2go-flavour.full.patch
index 089b57022..635d42878 100644
--- a/debian/patches/200_nxagent_check-binary-x2go-flavour.full.patch
+++ b/debian/patches/200_nxagent_check-binary-x2go-flavour.full.patch
@@ -9,7 +9,7 @@ Author: Oleksandr Shneyder <oleksandr.shneyder@obviously-nice.de>
Last-Update: 2012-01-11
--- a/nx-X11/programs/Xserver/hw/nxagent/Init.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Init.c
-@@ -178,6 +178,29 @@
+@@ -180,6 +180,29 @@
int nxagentDoFullGeneration = 1;
@@ -39,7 +39,7 @@ Last-Update: 2012-01-11
/*
* Called at X server's initialization.
*/
-@@ -194,6 +217,11 @@
+@@ -196,6 +219,11 @@
#endif
/*
diff --git a/debian/patches/201_nxagent_set-x2go-icon-if-x2goagent-flavour.full.patch b/debian/patches/201_nxagent_set-x2go-icon-if-x2goagent-flavour.full.patch
index ff3861d6e..48e4c4a4b 100644
--- a/debian/patches/201_nxagent_set-x2go-icon-if-x2goagent-flavour.full.patch
+++ b/debian/patches/201_nxagent_set-x2go-icon-if-x2goagent-flavour.full.patch
@@ -4,9 +4,9 @@ Description: X2Go icon when run with x2goagent flavour
Forwarded: not-needed
Author: Oleksandr Shneyder <oleksandr.shneyder@obviously-nice.de>
Last-Update: 2012-01-11
---- a/nx-X11/programs/Xserver/hw/nxagent/Display.c 2012-01-11 10:09:05.000000000 +0100
-+++ b/nx-X11/programs/Xserver/hw/nxagent/Display.c 2012-01-11 12:28:11.000000000 +0100
-@@ -77,6 +77,7 @@ is" without express or implied warranty.
+--- a/nx-X11/programs/Xserver/hw/nxagent/Display.c
++++ b/nx-X11/programs/Xserver/hw/nxagent/Display.c
+@@ -77,6 +77,7 @@
#include "NXlib.h"
#include NXAGENT_ICON_NAME
@@ -14,7 +14,7 @@ Last-Update: 2012-01-11
/*
* Set here the required log level.
-@@ -1918,12 +1919,29 @@ Bool nxagentMakeIcon(Display *display, P
+@@ -1941,12 +1942,29 @@
Bool success = False;
XlibPixmap IconPixmap;
XlibPixmap IconShape;
@@ -46,7 +46,7 @@ Last-Update: 2012-01-11
if (icon_fp != NULL)
{
-@@ -1962,7 +1980,7 @@ Bool nxagentMakeIcon(Display *display, P
+@@ -1985,7 +2003,7 @@
{
status = XpmCreatePixmapFromData(display,
DefaultRootWindow(display),
@@ -55,8 +55,8 @@ Last-Update: 2012-01-11
&IconPixmap,
&IconShape,
NULL);
---- a/nx-X11/programs/Xserver/hw/nxagent/Icons.h 2012-01-11 10:09:05.000000000 +0100
-+++ b/nx-X11/programs/Xserver/hw/nxagent/Icons.h 2012-01-11 12:17:21.000000000 +0100
+--- a/nx-X11/programs/Xserver/hw/nxagent/Icons.h
++++ b/nx-X11/programs/Xserver/hw/nxagent/Icons.h
@@ -24,6 +24,8 @@
#define NXAGENT_ICON_NAME "nxagent.xpm"
@@ -66,8 +66,8 @@ Last-Update: 2012-01-11
#define NXAGENT_PLACEHOLDER_NAME "nxmissing.xpm"
#endif /* __Icons_H__ */
---- a/nx-X11/programs/Xserver/hw/nxagent/x2go.xpm 1970-01-01 01:00:00.000000000 +0100
-+++ b/nx-X11/programs/Xserver/hw/nxagent/x2go.xpm 2012-01-11 12:26:24.000000000 +0100
+--- /dev/null
++++ b/nx-X11/programs/Xserver/hw/nxagent/x2go.xpm
@@ -0,0 +1,148 @@
+/* XPM */
+static char *x2goagentIconData[]={
@@ -217,4 +217,3 @@ Last-Update: 2012-01-11
+"..#cccbne.............................................................................................................menkccc#..",
+"...okccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccbe...",
+"....mhjccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccg#....."};
-
diff --git a/debian/patches/203_nxagent_disable-rootless-exit.full.patch b/debian/patches/203_nxagent_disable-rootless-exit.full.patch
index 03154bb07..fcdecc010 100644
--- a/debian/patches/203_nxagent_disable-rootless-exit.full.patch
+++ b/debian/patches/203_nxagent_disable-rootless-exit.full.patch
@@ -1,6 +1,6 @@
--- a/nx-X11/programs/Xserver/hw/nxagent/Args.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Args.c
-@@ -656,6 +656,12 @@
+@@ -672,6 +672,12 @@
return 1;
}
@@ -13,7 +13,7 @@
if (!strcmp(argv[i], "-noonce"))
{
nxagentOnce = False;
-@@ -1837,6 +1843,7 @@
+@@ -1855,6 +1861,7 @@
ErrorF("The NX system adds the following arguments:\n");
ErrorF("-forcenx force use of NX protocol messages assuming communication through nxproxy\n");
ErrorF("-timeout int auto-disconnect timeout in seconds (minimum allowed: 60)\n");
@@ -23,7 +23,7 @@
ErrorF("-nocomposite disable the use of the composite extension\n");
--- a/nx-X11/programs/Xserver/hw/nxagent/Handlers.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Handlers.c
-@@ -217,7 +217,7 @@
+@@ -219,7 +219,7 @@
if (nxagentOption(Rootless) &&
nxagentLastWindowDestroyed && nxagentRootlessDialogPid == 0 &&
@@ -44,9 +44,9 @@
nxagentOptions.Y = 0;
--- a/nx-X11/programs/Xserver/hw/nxagent/Options.h
+++ b/nx-X11/programs/Xserver/hw/nxagent/Options.h
-@@ -369,6 +369,13 @@
+@@ -381,6 +381,13 @@
- int CopyBufferSize;
+ int ImageRateLimit;
+ /*
+ * True if agent should not exit if there are no
diff --git a/debian/patches/300_nxagent_set-wm-class.full.patch b/debian/patches/300_nxagent_set-wm-class.full.patch
index 765d6bc46..7a67e434f 100644
--- a/debian/patches/300_nxagent_set-wm-class.full.patch
+++ b/debian/patches/300_nxagent_set-wm-class.full.patch
@@ -15,7 +15,7 @@ Author: Oleksandr Shneyder <oleksandr.shneyder@obviously-nice.de>
Last-Update: 2012-01-11
--- a/nx-X11/programs/Xserver/hw/nxagent/Screen.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Screen.c
-@@ -1756,6 +1756,42 @@
+@@ -1759,6 +1759,42 @@
nxagentDefaultWindows[pScreen->myNum]);
#endif
diff --git a/debian/patches/999_nxagent_unbrand-nxagent-brand-x2goagent.full.patch b/debian/patches/999_nxagent_unbrand-nxagent-brand-x2goagent.full.patch
index 7a5ce5437..4b18aa552 100644
--- a/debian/patches/999_nxagent_unbrand-nxagent-brand-x2goagent.full.patch
+++ b/debian/patches/999_nxagent_unbrand-nxagent-brand-x2goagent.full.patch
@@ -230,7 +230,7 @@ Last-Update: 2012-01-11
#ifdef NXAGENT_LOGO_DEBUG
--- a/nx-X11/programs/Xserver/hw/nxagent/Display.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Display.c
-@@ -1403,22 +1403,10 @@
+@@ -1430,22 +1430,10 @@
g = pV.green_mask;
b = pV.blue_mask;
@@ -257,7 +257,7 @@ Last-Update: 2012-01-11
#ifdef WATCH
-@@ -2673,22 +2661,10 @@
+@@ -2696,22 +2684,10 @@
g = pV.green_mask;
b = pV.blue_mask;
diff --git a/debian/patches/series b/debian/patches/series
index 0e7726a03..dc42d85ed 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -35,7 +35,6 @@
108_nxagent_wine-close-delay.full.patch
109_nxagent_locale-utf8-compound-text.full.patch
110_nxagent_createpixmap-bounds-check.full.patch
-120_nxagent_libcairo-null-source-drawables.full.patch
200_nxagent_check-binary-x2go-flavour.full.patch
201_nxagent_set-x2go-icon-if-x2goagent-flavour.full.patch
202_nx-x11_enable-xinerama.full.patch