diff options
-rw-r--r-- | debian/changelog | 5 | ||||
-rw-r--r-- | debian/patches/204-nxagent_repaint-solidpict.full.patch | 53 | ||||
-rw-r--r-- | debian/patches/series | 1 |
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 |