aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/programs/Xserver/hw/nxagent/Display.c
diff options
context:
space:
mode:
Diffstat (limited to 'nx-X11/programs/Xserver/hw/nxagent/Display.c')
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/Display.c64
1 files changed, 35 insertions, 29 deletions
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Display.c b/nx-X11/programs/Xserver/hw/nxagent/Display.c
index b01d66cb0..9031c25c7 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Display.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Display.c
@@ -77,7 +77,6 @@ is" without express or implied warranty.
#include "NXlib.h"
#include NXAGENT_ICON_NAME
-#include X2GOAGENT_ICON_NAME
/*
* Set here the required log level.
@@ -1430,10 +1429,22 @@ FIXME: Use of nxagentParentWindow is strongly deprecated.
g = pV.green_mask;
b = pV.blue_mask;
- nxagentLogoBlack = 0x000000;
- nxagentLogoRed = 0xff0000;
- nxagentLogoWhite = 0xffffff;
- nxagentLogoGray = 0x222222;
+ if (!pV.red_mask || !pV.green_mask || !pV.blue_mask)
+ {
+ nxagentLogoBlack = 0x000000;
+ nxagentLogoRed = 0xff0000;
+ nxagentLogoWhite = 0xffffff;
+ }
+ else
+ {
+ for (or=0, off=0x800000; (r&(off>>or)) == 0; or++);
+ for (og=0, off=0x800000; (g&(off>>og)) == 0; og++);
+ for (ob=0, off=0x800000; (b&(off>>ob)) == 0; ob++);
+
+ nxagentLogoRed = nxagentLogoColor(0xff0000);
+ nxagentLogoBlack = nxagentLogoColor(0x000000);
+ nxagentLogoWhite = 0xffffff;
+ }
#ifdef WATCH
@@ -1930,29 +1941,12 @@ Bool nxagentMakeIcon(Display *display, Pixmap *nxIcon, Pixmap *nxMask)
Bool success = False;
XlibPixmap IconPixmap;
XlibPixmap IconShape;
- char* agent_icon_name;
- char* agentIconData;
-
- /*
- * selecting x2go icon when running as X2Go agent
- */
- if(nxagentX2go)
- {
- agent_icon_name=X2GOAGENT_ICON_NAME;
- agentIconData=x2goagentIconData;
- }
- else
- {
- agent_icon_name=NXAGENT_ICON_NAME;
- agentIconData=nxagentIconData;
- }
-
- snprintf(default_path, PATH_MAX-1, "/usr/NX/share/images/%s", agent_icon_name);
+ snprintf(default_path, PATH_MAX-1, "/usr/NX/share/images/%s", NXAGENT_ICON_NAME);
if ((icon_fp = fopen(default_path, "r")) == NULL)
{
- icon_fp = nxagentLookForIconFile(agent_icon_name, "r", icon_path);
+ icon_fp = nxagentLookForIconFile(NXAGENT_ICON_NAME, "r", icon_path);
if (icon_fp != NULL)
{
@@ -1991,7 +1985,7 @@ Bool nxagentMakeIcon(Display *display, Pixmap *nxIcon, Pixmap *nxMask)
{
status = XpmCreatePixmapFromData(display,
DefaultRootWindow(display),
- agentIconData,
+ nxagentIconData,
&IconPixmap,
&IconShape,
NULL);
@@ -2684,10 +2678,22 @@ Bool nxagentReconnectDisplay(void *p0)
g = pV.green_mask;
b = pV.blue_mask;
- nxagentLogoBlack = 0x000000;
- nxagentLogoRed = 0xff0000;
- nxagentLogoWhite = 0xffffff;
- nxagentLogoGray = 0x222222;
+ if (!pV.red_mask || !pV.green_mask || !pV.blue_mask)
+ {
+ nxagentLogoBlack = 0x000000;
+ nxagentLogoRed = 0xff0000;
+ nxagentLogoWhite = 0xffffff;
+ }
+ else
+ {
+ for (or=0, off=0x800000; (r&(off>>or)) == 0; or++);
+ for (og=0, off=0x800000; (g&(off>>og)) == 0; og++);
+ for (ob=0, off=0x800000; (b&(off>>ob)) == 0; ob++);
+
+ nxagentLogoRed = nxagentLogoColor(0xff0000);
+ nxagentLogoBlack = nxagentLogoColor(0x000000);
+ nxagentLogoWhite = 0xffffff;
+ }
useXpmIcon = nxagentMakeIcon(nxagentDisplay, &nxagentIconPixmap, &nxagentIconShape);