aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Gabriel <mike.gabriel@das-netzwerkteam.de>2019-11-02 11:14:34 +0100
committerMike Gabriel <mike.gabriel@das-netzwerkteam.de>2019-11-02 11:14:34 +0100
commit7afe95535b10739d806e5d7c15a8a1e86093bf84 (patch)
tree4b373a64895cfedeb94a4e4877558cec09ee3831
parent7b63809aefde4b45684a71d0a60e0c00b287837a (diff)
parentdbf36ece31793840a16467fcac1245dfa6b587ab (diff)
downloadnx-libs-7afe95535b10739d806e5d7c15a8a1e86093bf84.tar.gz
nx-libs-7afe95535b10739d806e5d7c15a8a1e86093bf84.tar.bz2
nx-libs-7afe95535b10739d806e5d7c15a8a1e86093bf84.zip
Merge branch 'uli42-pr/drop_holders' into 3.6.x
Attributes GH PR #856: https://github.com/ArcticaProject/nx-libs/pull/856
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/GCOps.c1
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/Holder.c233
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/Holder.h35
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/Icons.h2
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/Imakefile4
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/Pixmap.c1
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/Screen.c12
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/Utils.h11
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/Window.c1
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/nxmissing.xpm57
10 files changed, 12 insertions, 345 deletions
diff --git a/nx-X11/programs/Xserver/hw/nxagent/GCOps.c b/nx-X11/programs/Xserver/hw/nxagent/GCOps.c
index 6ab46c424..7db1aff58 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/GCOps.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/GCOps.c
@@ -54,7 +54,6 @@ is" without express or implied warranty.
#include "Events.h"
#include "Client.h"
#include "Trap.h"
-#include "Holder.h"
#include "Args.h"
#include "Screen.h"
#include "Utils.h"
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Holder.c b/nx-X11/programs/Xserver/hw/nxagent/Holder.c
deleted file mode 100644
index c27f67818..000000000
--- a/nx-X11/programs/Xserver/hw/nxagent/Holder.c
+++ /dev/null
@@ -1,233 +0,0 @@
-/**************************************************************************/
-/* */
-/* Copyright (c) 2001, 2011 NoMachine (http://www.nomachine.com) */
-/* Copyright (c) 2008-2014 Oleksandr Shneyder <o.shneyder@phoca-gmbh.de> */
-/* Copyright (c) 2011-2016 Mike Gabriel <mike.gabriel@das-netzwerkteam.de>*/
-/* Copyright (c) 2014-2016 Mihai Moldovan <ionic@ionic.de> */
-/* Copyright (c) 2014-2016 Ulrich Sibiller <uli42@gmx.de> */
-/* Copyright (c) 2015-2016 Qindel Group (http://www.qindel.com) */
-/* */
-/* NXAGENT, NX protocol compression and NX extensions to this software */
-/* are copyright of the aforementioned persons and companies. */
-/* */
-/* Redistribution and use of the present software is allowed according */
-/* to terms specified in the file LICENSE which comes in the source */
-/* distribution. */
-/* */
-/* All rights reserved. */
-/* */
-/* NOTE: This software has received contributions from various other */
-/* contributors, only the core maintainers and supporters are listed as */
-/* copyright holders. Please contact us, if you feel you should be listed */
-/* as copyright holder, as well. */
-/* */
-/**************************************************************************/
-
-#include <signal.h>
-#include <stdio.h>
-
-#ifdef _XSERVER64
-
-#include "scrnintstr.h"
-#include "Agent.h"
-#define GC XlibGC
-#define Pixmap XlibPixmap
-#define PIXEL_ALREADY_TYPEDEFED
-
-#endif /* _XSERVER64 */
-
-#include "pixmapstr.h"
-#include "regionstr.h"
-#include "resource.h"
-#include "../../include/gc.h"
-#include "../../include/window.h"
-
-#include "X11/include/xpm_nxagent.h"
-
-#include "Agent.h"
-#include "Pixmaps.h"
-#include "Display.h"
-#include "Holder.h"
-#include "Icons.h"
-
-#include NXAGENT_PLACEHOLDER_NAME
-
-#define MAXDEPTH 32
-
-#define PLACEHOLDER_WIDTH 14
-#define PLACEHOLDER_HEIGHT 16
-
-#define PLACEHOLDER_BORDER_COLOR_DARK 0x000000
-#define PLACEHOLDER_BORDER_COLOR_LIGHT 0xB2B2B2
-
-/*
- * Set here the required log level.
- */
-
-#define PANIC
-#define WARNING
-#undef TEST
-#undef DEBUG
-#undef DUMP
-
-static Pixmap nxagentPlaceholderPixmaps[MAXDEPTH + 1];
-
-void nxagentMarkPlaceholderNotLoaded(int depth)
-{
- nxagentPlaceholderPixmaps[depth] = 0;
-}
-
-void nxagentInitPlaceholder(int depth)
-{
- int status;
- XpmAttributes attributes;
-
- attributes.valuemask = XpmDepth | XpmSize;
- attributes.depth = depth;
-
- status = XpmCreatePixmapFromData(nxagentDisplay, DefaultRootWindow(nxagentDisplay),
- placeholderXpm, nxagentPlaceholderPixmaps + depth, NULL, &attributes);
-
- if (status != Success)
- {
- FatalError("Error: Failed to create the placeholder pixmap.\n");
- }
-
- #ifdef TEST
- fprintf(stderr, "nxagentInitPlaceholder: Created pixmap [0x%lx] with geometry [%d,%d] for depth [%d].\n",
- nxagentPlaceholderPixmaps[depth], attributes.width, attributes.height, depth);
- #endif
-}
-
-void nxagentApplyPlaceholder(Drawable drawable, int x, int y,
- int w, int h, int depth)
-{
- /*
- * Instead of the image, a white rectangle that
- * covers the pixmap area is drawn, alongside
- * with a black and grey line that outlines the
- * boundaries of the affected area.
- */
-
- GC gc;
- XGCValues value;
- XPoint points[3];
-
- value.foreground = 0xffffffff;
- value.background = 0x00000000;
- value.plane_mask = 0xffffffff;
- value.fill_style = FillSolid;
-
- /*
- * FIXME: Should we use a gc cache to save
- * some bandwidth?
- */
-
- gc = XCreateGC(nxagentDisplay, drawable, GCBackground |
- GCForeground | GCFillStyle | GCPlaneMask, &value);
-
- XFillRectangle(nxagentDisplay, drawable, gc, x, y, w, h);
-
- if (depth == 1)
- {
- return;
- }
-
- value.foreground = PLACEHOLDER_BORDER_COLOR_DARK;
- value.line_style = LineSolid;
- value.line_width = 1;
-
- points[0].x = x;
- points[0].y = y + h - 1;
- points[1].x = x;
- points[1].y = y;
- points[2].x = x + w - 1;
- points[2].y = y;
-
- XChangeGC(nxagentDisplay, gc, GCForeground | GCLineWidth | GCLineStyle, &value);
- XDrawLines(nxagentDisplay, drawable, gc, points, 3, CoordModeOrigin);
-
- value.foreground = PLACEHOLDER_BORDER_COLOR_LIGHT;
- value.line_style = LineSolid;
- value.line_width = 1;
-
- points[0].x = x;
- points[0].y = y + h - 1;
- points[1].x = x + w - 1;
- points[1].y = y + h - 1;
- points[2].x = x + w - 1;
- points[2].y = y;
-
- XChangeGC(nxagentDisplay, gc, GCForeground | GCLineWidth | GCLineStyle, &value);
- XDrawLines(nxagentDisplay, drawable, gc, points, 3, CoordModeOrigin);
-
- /*
- * We are going to apply place holder only if on region
- * we have enough space for the placeholder plus three
- * pixel for spacing and one for region border.
- */
-
- if ((w >= PLACEHOLDER_WIDTH + 8) && (h >= PLACEHOLDER_HEIGHT + 8))
- {
- #ifdef TEST
- fprintf(stderr, "nxagentApplyPlaceholder: drawable %lx placeholder %lx from %d %d pixmap size is %d %d "
- "depth %d\n", drawable, nxagentPlaceholderPixmaps[depth], x, y, w, h, depth);
- #endif
-
- if (nxagentPlaceholderPixmaps[depth] == 0)
- {
- nxagentInitPlaceholder(depth);
- }
-
- XCopyArea(nxagentDisplay, nxagentPlaceholderPixmaps[depth],
- drawable, gc, 0, 0, PLACEHOLDER_WIDTH, PLACEHOLDER_HEIGHT, x + 4, y + 4);
-
- }
-
- XFreeGC(nxagentDisplay, gc);
-}
-
-#ifdef DUMP
-
-static char hexdigit(char c)
-{
- char map[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', '?'};
-
- return map[c];
-}
-
-/*
-FIXME: Please, check the implementation of the same
- function in nxcomp.
-*/
-char *nxagentChecksum(char *string, int length)
-{
- static char md5_output[MD5_DIGEST_LENGTH * 2 + 1];
- static char md5[MD5_DIGEST_LENGTH];
- char * ret;
- int i;
-
- memset(md5, 0, sizeof(md5));
- memset(md5_output, 0, sizeof(md5_output));
-
- ret = MD5(string, length, md5);
-
- for (i = 0; i < MD5_DIGEST_LENGTH; i++)
- {
- char c = md5[i];
-
- md5_output[i * 2 + 0] = hexdigit((c >> 0) & 0xF);
- md5_output[i * 2 + 1] = hexdigit((c >> 4) & 0xF);
- }
-
- return md5_output;
-}
-
-#else
-
-const char *nxagentChecksum(char *data, int size)
-{
- return "";
-}
-
-#endif
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Holder.h b/nx-X11/programs/Xserver/hw/nxagent/Holder.h
deleted file mode 100644
index d1378ee03..000000000
--- a/nx-X11/programs/Xserver/hw/nxagent/Holder.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/**************************************************************************/
-/* */
-/* Copyright (c) 2001, 2011 NoMachine (http://www.nomachine.com) */
-/* Copyright (c) 2008-2014 Oleksandr Shneyder <o.shneyder@phoca-gmbh.de> */
-/* Copyright (c) 2011-2016 Mike Gabriel <mike.gabriel@das-netzwerkteam.de>*/
-/* Copyright (c) 2014-2016 Mihai Moldovan <ionic@ionic.de> */
-/* Copyright (c) 2014-2016 Ulrich Sibiller <uli42@gmx.de> */
-/* Copyright (c) 2015-2016 Qindel Group (http://www.qindel.com) */
-/* */
-/* NXAGENT, NX protocol compression and NX extensions to this software */
-/* are copyright of the aforementioned persons and companies. */
-/* */
-/* Redistribution and use of the present software is allowed according */
-/* to terms specified in the file LICENSE which comes in the source */
-/* distribution. */
-/* */
-/* All rights reserved. */
-/* */
-/* NOTE: This software has received contributions from various other */
-/* contributors, only the core maintainers and supporters are listed as */
-/* copyright holders. Please contact us, if you feel you should be listed */
-/* as copyright holder, as well. */
-/* */
-/**************************************************************************/
-
-#ifndef __Holder_H__
-#define __Holder_H__
-
-void nxagentMarkPlaceholderNotLoaded(int depth);
-void nxagentInitPlaceholder(int depth);
-void nxagentApplyPlaceholder(Drawable drawable, int x, int y, int w, int h, int depth);
-
-const char *nxagentChecksum(char *data, int size);
-
-#endif /* __Holder_H__ */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Icons.h b/nx-X11/programs/Xserver/hw/nxagent/Icons.h
index 7b2280ab6..a8a155cec 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Icons.h
+++ b/nx-X11/programs/Xserver/hw/nxagent/Icons.h
@@ -34,6 +34,4 @@
#define X2GOAGENT_ICON_NAME "x2goagent.xpm"
-#define NXAGENT_PLACEHOLDER_NAME "nxmissing.xpm"
-
#endif /* __Icons_H__ */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Imakefile b/nx-X11/programs/Xserver/hw/nxagent/Imakefile
index c300e41db..58fb43403 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Imakefile
+++ b/nx-X11/programs/Xserver/hw/nxagent/Imakefile
@@ -52,8 +52,7 @@ SRCS = \
Clipboard.c \
Splash.c \
Split.c \
- Holder.c \
- Reconnect.c \
+ Reconnect.c \
Error.c \
Atoms.c \
Trap.c \
@@ -111,7 +110,6 @@ OBJS = \
Clipboard.o \
Splash.o \
Split.o \
- Holder.o \
Reconnect.o \
Error.o \
Atoms.o \
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Pixmap.c b/nx-X11/programs/Xserver/hw/nxagent/Pixmap.c
index 7a0fcd535..f8241d4d7 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Pixmap.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Pixmap.c
@@ -47,7 +47,6 @@
#include "Visual.h"
#include "Client.h"
#include "Events.h"
-#include "Holder.h"
#include "Args.h"
#include "Utils.h"
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Screen.c b/nx-X11/programs/Xserver/hw/nxagent/Screen.c
index 2b1146496..d7b7fe095 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Screen.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Screen.c
@@ -76,7 +76,6 @@ is" without express or implied warranty.
#include "Client.h"
#include "Options.h"
#include "Splash.h"
-#include "Holder.h"
#include "Render.h"
#include "Trap.h"
#include "Keyboard.h"
@@ -1453,17 +1452,6 @@ Bool nxagentOpenScreen(ScreenPtr pScreen,
nxagentInitSplitResources();
nxagentInitUnpackResources();
- /*
- * Initializing the pixmaps that will serve as
- * "placeholders" in lazy encoding. We need one
- * pixmap for each depth.
- */
-
- for (int i = 0; i < numDepths; i++)
- {
- nxagentMarkPlaceholderNotLoaded(i);
- }
-
#ifdef WATCH
fprintf(stderr, "nxagentOpenScreen: Watchpoint 7.\n");
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Utils.h b/nx-X11/programs/Xserver/hw/nxagent/Utils.h
index e61a79144..c578549dc 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Utils.h
+++ b/nx-X11/programs/Xserver/hw/nxagent/Utils.h
@@ -44,6 +44,17 @@ static inline const char * validateString(const char *str) {
return str ? str : "(null)";
}
+/*
+ * nxagentChecksum used to be in Holder.c but was broken beyond
+ * repair. As Holder.c was removed we put it here as a stub until we
+ * need it for debugging.
+ */
+
+static inline const char *nxagentChecksum(char *data, int size)
+{
+ return "not_implemented";
+}
+
#define SAFE_XFree(what) do {if (what) {XFree(what); what = NULL;}} while (0)
#define SAFE_free(what) do {free(what); what = NULL;} while (0)
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Window.c b/nx-X11/programs/Xserver/hw/nxagent/Window.c
index fadf6ffb1..88110e7dc 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Window.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Window.c
@@ -59,7 +59,6 @@
#include "Reconnect.h"
#include "Dialog.h"
#include "Splash.h"
-#include "Holder.h"
#include "Init.h"
#include "Composite.h"
#include "Events.h"
diff --git a/nx-X11/programs/Xserver/hw/nxagent/nxmissing.xpm b/nx-X11/programs/Xserver/hw/nxagent/nxmissing.xpm
deleted file mode 100644
index e6cf0fcd6..000000000
--- a/nx-X11/programs/Xserver/hw/nxagent/nxmissing.xpm
+++ /dev/null
@@ -1,57 +0,0 @@
-/**************************************************************************/
-/* */
-/* Copyright (c) 2001, 2011 NoMachine (http://www.nomachine.com) */
-/* Copyright (c) 2008-2014 Oleksandr Shneyder <o.shneyder@phoca-gmbh.de> */
-/* Copyright (c) 2011-2016 Mike Gabriel <mike.gabriel@das-netzwerkteam.de>*/
-/* Copyright (c) 2014-2016 Mihai Moldovan <ionic@ionic.de> */
-/* Copyright (c) 2014-2016 Ulrich Sibiller <uli42@gmx.de> */
-/* Copyright (c) 2015-2016 Qindel Group (http://www.qindel.com) */
-/* */
-/* NXAGENT, NX protocol compression and NX extensions to this software */
-/* are copyright of the aforementioned persons and companies. */
-/* */
-/* Redistribution and use of the present software is allowed according */
-/* to terms specified in the file LICENSE which comes in the source */
-/* distribution. */
-/* */
-/* All rights reserved. */
-/* */
-/* NOTE: This software has received contributions from various other */
-/* contributors, only the core maintainers and supporters are listed as */
-/* copyright holders. Please contact us, if you feel you should be listed */
-/* as copyright holder, as well. */
-/* */
-/**************************************************************************/
-
-/* XPM */
-static char *placeholderXpm[] = {
-/* columns rows colors chars-per-pixel */
-"14 16 10 1",
-" c #000000",
-". c #0000FF",
-"X c #008400",
-"o c #00FF00",
-"O c #00FFFF",
-"+ c #FF0000",
-"@ c #FF00FF",
-"# c #848484",
-"$ c #BDBDBD",
-"% c #FFFFFF",
-/* pixels */
-" #%%%",
-" %%%%%%%%%##%%",
-" %$$$$$$$$#%#%",
-" %$$$XX$$$#%%#",
-" %$$XoX $$ ",
-" %$$XXX $$$$% ",
-" %$$$ $$$$$% ",
-" %$$$$$$... % ",
-" %$+$$$$.O. % ",
-" %$@+$$$... % ",
-" %$@@+$$ $% ",
-" %$@@@+$$$$$% ",
-" %$ +$$$$% ",
-" %$$$$$$$$$$% ",
-" %%%%%%%%%%%% ",
-" "
-};