From 12130a4d9e41f37a1af9caaa95fb46fd284d03aa Mon Sep 17 00:00:00 2001
From: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
Date: Mon, 18 Apr 2016 08:10:08 +0200
Subject: hw/nxagent/NXglyphcurs.c: Shrink file, drop duplicate code that can
 identically be found in dix/glyphcurs.c.

---
 nx-X11/programs/Xserver/dix/Imakefile            |  4 +-
 nx-X11/programs/Xserver/dix/glyphcurs.c          |  3 +-
 nx-X11/programs/Xserver/hw/nxagent/NXglyphcurs.c | 69 +-----------------------
 3 files changed, 5 insertions(+), 71 deletions(-)

diff --git a/nx-X11/programs/Xserver/dix/Imakefile b/nx-X11/programs/Xserver/dix/Imakefile
index f8a357e3e..da2f35eb1 100644
--- a/nx-X11/programs/Xserver/dix/Imakefile
+++ b/nx-X11/programs/Xserver/dix/Imakefile
@@ -16,11 +16,13 @@ FFS_OBJ = ffs.o
 #if (!(defined(NXAgentServer) && NXAgentServer))
 NXAGENT_SKIP_SRCS =                  \
                     extension.c      \
+                    glyphcurs.c      \
                     resource.c       \
                     window.c         \
                     $(NULL)
 NXAGENT_SKIP_OBJS =                  \
                     extension.o      \
+                    glyphcurs.o      \
                     resource.o       \
                     window.o         \
                     $(NULL)
@@ -37,7 +39,6 @@ SRCS =                          \
        events.c                 \
        gc.c                     \
        globals.c                \
-       glyphcurs.c              \
        grabs.c                  \
        main.c                   \
        property.c               \
@@ -63,7 +64,6 @@ OBJS =                          \
        events.o                 \
        gc.o                     \
        globals.o                \
-       glyphcurs.o              \
        grabs.o                  \
        main.o                   \
        property.o               \
diff --git a/nx-X11/programs/Xserver/dix/glyphcurs.c b/nx-X11/programs/Xserver/dix/glyphcurs.c
index 726297d96..f715a327f 100644
--- a/nx-X11/programs/Xserver/dix/glyphcurs.c
+++ b/nx-X11/programs/Xserver/dix/glyphcurs.c
@@ -74,6 +74,7 @@ the first one we find.
 cursor metrics.
 */
 
+#ifndef NXAGENT_SERVER
 int
 ServerBitsFromGlyph(FontPtr pfont, unsigned ch, register CursorMetricPtr cm, unsigned char **ppbits)
 {
@@ -138,7 +139,7 @@ ServerBitsFromGlyph(FontPtr pfont, unsigned ch, register CursorMetricPtr cm, uns
     (*pScreen->DestroyPixmap)(ppix);
     return Success;
 }
-
+#endif /* NXAGENT_SERVER */
 
 Bool
 CursorMetricsFromGlyph(register FontPtr pfont, unsigned ch, register CursorMetricPtr cm)
diff --git a/nx-X11/programs/Xserver/hw/nxagent/NXglyphcurs.c b/nx-X11/programs/Xserver/hw/nxagent/NXglyphcurs.c
index 1696ae51f..33492a6d6 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/NXglyphcurs.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/NXglyphcurs.c
@@ -64,20 +64,7 @@ SOFTWARE.
 
 /* $Xorg: glyphcurs.c,v 1.4 2001/02/09 02:04:40 xorgcvs Exp $ */
 
-#ifdef HAVE_DIX_CONFIG_H
-#include <dix-config.h>
-#endif
-
-#include "misc.h"
-#include <X11/fonts/fontstruct.h>
-#include "dixfontstr.h"
-#include "scrnintstr.h"
-#include "gcstruct.h"
-#include "resource.h"
-#include "dix.h"
-#include "cursorstr.h"
-#include "opaque.h"
-#include "servermd.h"
+#include "../../dix/glyphcurs.c"
 
 #include "../../fb/fb.h"
 #include "Pixmaps.h"
@@ -183,57 +170,3 @@ ServerBitsFromGlyph(FontPtr pfont, unsigned ch, register CursorMetricPtr cm, uns
 
     return Success;
 }
-
-
-Bool
-CursorMetricsFromGlyph(register FontPtr pfont, unsigned ch, register CursorMetricPtr cm)
-{
-    CharInfoPtr 	pci;
-    unsigned long	nglyphs;
-    CARD8		chs[2];
-    FontEncoding	encoding;
-
-    chs[0] = ch >> 8;
-    chs[1] = ch;
-    encoding = (FONTLASTROW(pfont) == 0) ? Linear16Bit : TwoD16Bit;
-    if (encoding == Linear16Bit)
-    {
-	if (ch < pfont->info.firstCol || pfont->info.lastCol < ch)
-	    return FALSE;
-    }
-    else
-    {
-	if (chs[0] < pfont->info.firstRow || pfont->info.lastRow < chs[0])
-	    return FALSE;
-	if (chs[1] < pfont->info.firstCol || pfont->info.lastCol < chs[1])
-	    return FALSE;
-    }
-    (*pfont->get_glyphs) (pfont, 1, chs, encoding, &nglyphs, &pci);
-    if (nglyphs == 0)
-	return FALSE;
-    cm->width = pci->metrics.rightSideBearing - pci->metrics.leftSideBearing;
-    cm->height = pci->metrics.descent + pci->metrics.ascent;
-    if (pci->metrics.leftSideBearing > 0)
-    {
-	cm->width += pci->metrics.leftSideBearing;
-	cm->xhot = 0;
-    }
-    else
-    {
-	cm->xhot = -pci->metrics.leftSideBearing;
-	if (pci->metrics.rightSideBearing < 0)
-	    cm->width -= pci->metrics.rightSideBearing;
-    }
-    if (pci->metrics.ascent < 0)
-    {
-	cm->height -= pci->metrics.ascent;
-	cm->yhot = 0;
-    }
-    else
-    {
-	cm->yhot = pci->metrics.ascent;
-	if (pci->metrics.descent < 0)
-	    cm->height -= pci->metrics.descent;
-    }
-    return TRUE;
-}
-- 
cgit v1.2.3