aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMihai Moldovan <ionic@ionic.de>2015-02-13 13:41:31 +0100
committerMike Gabriel <mike.gabriel@das-netzwerkteam.de>2015-02-13 13:41:31 +0100
commit6e662473126d0668493732ece7e3c3bb1b0ea72c (patch)
treec857c6b64a7bb03b4c54625479de4b2df2953c8c
parenta8fb7d4f5149e28216ffd38838af1cbfd6527002 (diff)
downloadnx-libs-6e662473126d0668493732ece7e3c3bb1b0ea72c.tar.gz
nx-libs-6e662473126d0668493732ece7e3c3bb1b0ea72c.tar.bz2
nx-libs-6e662473126d0668493732ece7e3c3bb1b0ea72c.zip
Several fixes for building debug versions of NX (990_fix-DEBUG-and-TEST-builds.full.patch).
(1) In nx-X11/programs/Xserver/dix: Fix several compile errors when specifying -DDEBUG globally. Previous GCC versions were more liberal and the code thus compiled. Also initialize/reset a count variable correctly. (2) In nx-X11/programs/Xserver/hw/nxagent/Render.c: Check for pSrc->pDrawable to exist instead of having nxagent segfault when it does not. This enables the possibility of compiling all nxagent modules in TEST mode.
-rw-r--r--debian/patches/990_fix-DEBUG-and-TEST-builds.full.patch69
-rw-r--r--debian/patches/series1
-rw-r--r--nx-X11/programs/Xserver/dix/dixfonts.c2
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/Render.c9
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/X/NXdispatch.c2
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/X/NXdixfonts.c2
6 files changed, 8 insertions, 77 deletions
diff --git a/debian/patches/990_fix-DEBUG-and-TEST-builds.full.patch b/debian/patches/990_fix-DEBUG-and-TEST-builds.full.patch
deleted file mode 100644
index 23c8508a2..000000000
--- a/debian/patches/990_fix-DEBUG-and-TEST-builds.full.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-Author: Mihai Moldovan <ionic@ionic.de>
-Description: Several fixes for building debug versions of NX
-Abstract:
- (1) In nx-X11/programs/Xserver/dix:
- .
- Fix several compile errors when specifying -DDEBUG globally. Previous GCC
- versions were more liberal and the code thus compiled.
- .
- Also initialize/reset a count variable correctly.
- .
- .
- (2) In nx-X11/programs/Xserver/hw/nxagent/Render.c:
- .
- Check for pSrc->pDrawable to exist instead of having nxagent segfault when
- it does not.
- .
- This enables the possibility of compiling all nxagent modules in TEST mode.
-
---- a/nx-X11/programs/Xserver/dix/dixfonts.c
-+++ b/nx-X11/programs/Xserver/dix/dixfonts.c
-@@ -2203,7 +2203,7 @@
- byte = 0;
- for (l = 0; l <= (cip->metrics.rightSideBearing -
- cip->metrics.leftSideBearing); l++) {
-- if (maskTab[l & 7] & row[l >> 3])
-+ if (maskTab[l & 7] & (((int*)row)[l >> 3]))
- putchar('X');
- else
- putchar('.');
---- a/nx-X11/programs/Xserver/hw/nxagent/Render.c
-+++ b/nx-X11/programs/Xserver/hw/nxagent/Render.c
-@@ -1678,10 +1678,11 @@
-
- #ifdef TEST
-
-- fprintf(stderr, "nxagentTrapezoids: Source is a [%s] of geometry [%d,%d].\n",
-- (pSrc -> pDrawable -> type == DRAWABLE_PIXMAP ? "pixmap" : "window"),
-- pSrc -> pDrawable -> width, pSrc -> pDrawable -> height);
--
-+ if (pSrc->pDrawable) {
-+ fprintf(stderr, "nxagentTrapezoids: Source is a [%s] of geometry [%d,%d].\n",
-+ (pSrc -> pDrawable -> type == DRAWABLE_PIXMAP ? "pixmap" : "window"),
-+ pSrc -> pDrawable -> width, pSrc -> pDrawable -> height);
-+ }
- if (pSrc ->pDrawable != pDst -> pDrawable)
- {
- fprintf(stderr, "nxagentTrapezoids: Destination is a [%s] of geometry [%d,%d].\n",
---- a/nx-X11/programs/Xserver/hw/nxagent/X/NXdispatch.c
-+++ b/nx-X11/programs/Xserver/hw/nxagent/X/NXdispatch.c
-@@ -735,7 +735,7 @@
-
- client->sequence++;
- #ifdef DEBUG
-- if (client->requestLogIndex == MAX_REQUEST_LOG)
-+ if ((client->requestLogIndex >= MAX_REQUEST_LOG) || (client->requestLogIndex <= 0))
- client->requestLogIndex = 0;
- client->requestLog[client->requestLogIndex] = MAJOROP;
- client->requestLogIndex++;
---- a/nx-X11/programs/Xserver/hw/nxagent/X/NXdixfonts.c
-+++ b/nx-X11/programs/Xserver/hw/nxagent/X/NXdixfonts.c
-@@ -2351,7 +2351,7 @@
- byte = 0;
- for (l = 0; l <= (cip->metrics.rightSideBearing -
- cip->metrics.leftSideBearing); l++) {
-- if (maskTab[l & 7] & row[l >> 3])
-+ if (maskTab[l & 7] & (((int *)row)[l >> 3]))
- putchar('X');
- else
- putchar('.');
diff --git a/debian/patches/series b/debian/patches/series
index 0c9d34366..76709c4ad 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,5 +1,4 @@
#401_nxcomp_bigrequests-and-genericevent-extensions.full+lite.patch
-990_fix-DEBUG-and-TEST-builds.full.patch
991_fix-hr-typos.full+lite.patch
991_fix-hr-typos.full.patch
999_nxagent_unbrand-nxagent-brand-x2goagent.full.patch
diff --git a/nx-X11/programs/Xserver/dix/dixfonts.c b/nx-X11/programs/Xserver/dix/dixfonts.c
index b66fe23bd..193f5558c 100644
--- a/nx-X11/programs/Xserver/dix/dixfonts.c
+++ b/nx-X11/programs/Xserver/dix/dixfonts.c
@@ -2203,7 +2203,7 @@ dump_char_ascii(CharInfoPtr cip)
byte = 0;
for (l = 0; l <= (cip->metrics.rightSideBearing -
cip->metrics.leftSideBearing); l++) {
- if (maskTab[l & 7] & row[l >> 3])
+ if (maskTab[l & 7] & (((int*)row)[l >> 3]))
putchar('X');
else
putchar('.');
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Render.c b/nx-X11/programs/Xserver/hw/nxagent/Render.c
index 41a1ec02e..c5fd06352 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Render.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Render.c
@@ -1678,10 +1678,11 @@ FIXME: Is this useful or just a waste of bandwidth?
#ifdef TEST
- fprintf(stderr, "nxagentTrapezoids: Source is a [%s] of geometry [%d,%d].\n",
- (pSrc -> pDrawable -> type == DRAWABLE_PIXMAP ? "pixmap" : "window"),
- pSrc -> pDrawable -> width, pSrc -> pDrawable -> height);
-
+ if (pSrc->pDrawable) {
+ fprintf(stderr, "nxagentTrapezoids: Source is a [%s] of geometry [%d,%d].\n",
+ (pSrc -> pDrawable -> type == DRAWABLE_PIXMAP ? "pixmap" : "window"),
+ pSrc -> pDrawable -> width, pSrc -> pDrawable -> height);
+ }
if (pSrc ->pDrawable != pDst -> pDrawable)
{
fprintf(stderr, "nxagentTrapezoids: Destination is a [%s] of geometry [%d,%d].\n",
diff --git a/nx-X11/programs/Xserver/hw/nxagent/X/NXdispatch.c b/nx-X11/programs/Xserver/hw/nxagent/X/NXdispatch.c
index f18c09fe4..3d9ee8c7f 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/X/NXdispatch.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/X/NXdispatch.c
@@ -735,7 +735,7 @@ Reply Total Cached Bits In Bits Out Bits/Reply Ratio
client->sequence++;
#ifdef DEBUG
- if (client->requestLogIndex == MAX_REQUEST_LOG)
+ if ((client->requestLogIndex >= MAX_REQUEST_LOG) || (client->requestLogIndex <= 0))
client->requestLogIndex = 0;
client->requestLog[client->requestLogIndex] = MAJOROP;
client->requestLogIndex++;
diff --git a/nx-X11/programs/Xserver/hw/nxagent/X/NXdixfonts.c b/nx-X11/programs/Xserver/hw/nxagent/X/NXdixfonts.c
index 3234c9929..2b642692f 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/X/NXdixfonts.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/X/NXdixfonts.c
@@ -2351,7 +2351,7 @@ dump_char_ascii(CharInfoPtr cip)
byte = 0;
for (l = 0; l <= (cip->metrics.rightSideBearing -
cip->metrics.leftSideBearing); l++) {
- if (maskTab[l & 7] & row[l >> 3])
+ if (maskTab[l & 7] & (((int *)row)[l >> 3]))
putchar('X');
else
putchar('.');