aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/changelog5
-rw-r--r--debian/patches/204-nxagent_repaint-solidpict.full.patch53
-rw-r--r--debian/patches/series1
3 files changed, 59 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog
index 90f17324a..c2c83bfe0 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,5 +1,6 @@
nx-libs (2:3.5.0.15-0) UNRELEASED; urgency=low
+ [ Mike Gabriel ]
* Improve 020_add-nxagent-wrapper.full.patch: Properly set NX_TEMP, make
sure nxagent launches even with pam_tmpdir.so being in use.
* Improve 023_add-x2goagent-wrapper.full.patch: Properly set NX_TEMP, make
@@ -17,6 +18,10 @@ nx-libs (2:3.5.0.15-0) UNRELEASED; urgency=low
option to nxproxy options and forces nxproxy to bind to loopback devices
only.
+ [ Oleksandr Shneyder ]
+ * Add patch: 204-nxagent_repaint-solidpict.full.patch. Fixes repainting of
+ SolidFill pictures by nxagent/x2goagent on reconnects.
+
-- Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Thu, 28 Jun 2012 14:54:51 +0200
nx-libs (2:3.5.0.14-0) unstable; urgency=low
diff --git a/debian/patches/204-nxagent_repaint-solidpict.full.patch b/debian/patches/204-nxagent_repaint-solidpict.full.patch
new file mode 100644
index 000000000..139a46ad3
--- /dev/null
+++ b/debian/patches/204-nxagent_repaint-solidpict.full.patch
@@ -0,0 +1,53 @@
+Description: Fix repainting of SolidFill pictures with libcairo > 1.12.x
+Author: Oleksandr Shneyder <oleksandr.shneyder@obviously-nice.de>
+diff -rupN a/nx-X11/programs/Xserver/hw/nxagent/Render.c b/nx-X11/programs/Xserver/hw/nxagent/Render.c
+--- a/nx-X11/programs/Xserver/hw/nxagent/Render.c 2012-05-16 18:05:07.000000000 +0200
++++ b/nx-X11/programs/Xserver/hw/nxagent/Render.c 2012-09-20 20:53:37.893459269 +0200
+@@ -2689,11 +2689,17 @@ void nxagentReconnectPicture(pointer p0,
+ #endif
+ }
+
+- if (!pForm)
++ if (!pForm && pPicture->pSourcePict)
+ {
+- *pBool = False;
+-
+- return;
++ /*possible we need to add support for other picture types, for example gradients...*/
++ switch(pPicture->pSourcePict->type)
++ {
++ case SourcePictTypeSolidFill:
++ nxagentPicturePriv(pPicture) -> picture = XRenderCreateSolidFill(nxagentDisplay,
++ (const XRenderColor*) &pPicture->pSourcePict->solidFill.fullColor);
++ break;
++ }
++ return;
+ }
+
+ #ifdef TEST
+diff -rupN a/nx-X11/programs/Xserver/hw/nxagent/X/NXpicture.c b/nx-X11/programs/Xserver/hw/nxagent/X/NXpicture.c
+--- a/nx-X11/programs/Xserver/hw/nxagent/X/NXpicture.c 2010-11-11 21:18:00.000000000 +0100
++++ b/nx-X11/programs/Xserver/hw/nxagent/X/NXpicture.c 2012-09-20 20:54:50.209817849 +0200
+@@ -1137,6 +1137,10 @@ CreateSolidPicture (Picture pid, xRender
+ }
+ pPicture->pSourcePict->type = SourcePictTypeSolidFill;
+ pPicture->pSourcePict->solidFill.color = xRenderColorToCard32(*color);
++ pPicture->pSourcePict->solidFill.fullColor.alpha=color->alpha;
++ pPicture->pSourcePict->solidFill.fullColor.red=color->red;
++ pPicture->pSourcePict->solidFill.fullColor.green=color->green;
++ pPicture->pSourcePict->solidFill.fullColor.blue=color->blue;
+ return pPicture;
+ }
+
+diff -rupN a/nx-X11/programs/Xserver/hw/nxagent/X/NXpicturestr.h b/nx-X11/programs/Xserver/hw/nxagent/X/NXpicturestr.h
+--- a/nx-X11/programs/Xserver/hw/nxagent/X/NXpicturestr.h 2010-10-22 16:04:24.000000000 +0200
++++ b/nx-X11/programs/Xserver/hw/nxagent/X/NXpicturestr.h 2012-09-20 20:55:31.106020653 +0200
+@@ -95,6 +95,7 @@ typedef struct _PictTransform {
+ typedef struct _PictSolidFill {
+ unsigned int type;
+ CARD32 color;
++ xRenderColor fullColor;
+ } PictSolidFill, *PictSolidFillPtr;
+
+ typedef struct _PictGradientStop {
+
diff --git a/debian/patches/series b/debian/patches/series
index 3c4a167a6..b97897d17 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -39,6 +39,7 @@
201_nxagent_set-x2go-icon-if-x2goagent-flavour.full.patch
202_nx-x11_enable-xinerama.full.patch
203_nxagent_disable-rootless-exit.full.patch
+204-nxagent_repaint-solidpict.full.patch
209_x2goagent-add-man-page.full.patch
220_nxproxy-bind-loopback-only.full+lite.patch
300_nxagent_set-wm-class.full.patch