[PATCH] dix: fix redundant redeclaration warnings in dixfont

Yaakov (Cygwin/X) yselkowitz at users.sourceforge.net
Tue Oct 16 12:37:41 PDT 2012


From: Yaakov Selkowitz <yselkowitz at users.sourceforge.net>

These functions are already declared in <X11/fonts/fontproto.h>.
Redeclaring them just for _X_EXPORT causes tons of warnings throughout
xserver, but they need to be declared somewhere to be picked up by
sdksyms.sh.  Doing so in a private header limits the warnings to
sdksyms.c; fixing those as well would require changes to fontsproto.

Signed-off-by: Yaakov Selkowitz <yselkowitz at users.sourceforge.net>
---
 dix/dixfonts.c         |    9 +++++++++
 hw/xfree86/sdksyms.sh  |    1 +
 include/Makefile.am    |    2 +-
 include/dixfont.h      |   39 +--------------------------------------
 include/dixfontstubs.h |   45 +++++++++++++++++++++++++++++++++++++++++++++
 5 files changed, 57 insertions(+), 39 deletions(-)
 create mode 100644 include/dixfontstubs.h

diff --git a/dix/dixfonts.c b/dix/dixfonts.c
index ad21860..feb765d 100644
--- a/dix/dixfonts.c
+++ b/dix/dixfonts.c
@@ -1823,12 +1823,14 @@ InitFonts(void)
     register_fpe_functions();
 }
 
+_X_EXPORT
 int
 GetDefaultPointSize(void)
 {
     return 120;
 }
 
+_X_EXPORT
 FontResolutionPtr
 GetClientResolutions(int *num)
 {
@@ -1861,6 +1863,7 @@ GetClientResolutions(int *num)
  * should be called (only once!) by each type of fpe when initialized
  */
 
+_X_EXPORT
 int
 RegisterFPEFunctions(NameCheckFunc name_func,
                      InitFpeFunc init_func,
@@ -1932,24 +1935,28 @@ find_old_font(XID id)
     return (FontPtr) pFont;
 }
 
+_X_EXPORT
 Font
 GetNewFontClientID(void)
 {
     return FakeClientID(0);
 }
 
+_X_EXPORT
 int
 StoreFontClientFont(FontPtr pfont, Font id)
 {
     return AddResource(id, RT_NONE, (pointer) pfont);
 }
 
+_X_EXPORT
 void
 DeleteFontClientID(Font id)
 {
     FreeResource(id, RT_NONE);
 }
 
+_X_EXPORT
 int
 client_auth_generation(ClientPtr client)
 {
@@ -1959,6 +1966,7 @@ client_auth_generation(ClientPtr client)
 static int fs_handlers_installed = 0;
 static unsigned int last_server_gen;
 
+_X_EXPORT
 int
 init_fs_handlers(FontPathElementPtr fpe, BlockHandlerProcPtr block_handler)
 {
@@ -1977,6 +1985,7 @@ init_fs_handlers(FontPathElementPtr fpe, BlockHandlerProcPtr block_handler)
     return Successful;
 }
 
+_X_EXPORT
 void
 remove_fs_handlers(FontPathElementPtr fpe, BlockHandlerProcPtr block_handler,
                    Bool all)
diff --git a/hw/xfree86/sdksyms.sh b/hw/xfree86/sdksyms.sh
index fa19893..48b48b5 100755
--- a/hw/xfree86/sdksyms.sh
+++ b/hw/xfree86/sdksyms.sh
@@ -259,6 +259,7 @@ cat > sdksyms.c << EOF
 #include "dixevents.h"
 #include "dixfont.h"
 #include "dixfontstr.h"
+#include "dixfontstubs.h"
 #include "dixgrabs.h"
 #include "dixstruct.h"
 #include "exevents.h"
diff --git a/include/Makefile.am b/include/Makefile.am
index 33116f2..5cdea1d 100644
--- a/include/Makefile.am
+++ b/include/Makefile.am
@@ -69,6 +69,6 @@ AM_CFLAGS = $(DIX_CFLAGS)
 
 EXTRA_DIST = 	\
 	dix-config-apple-verbatim.h \
-	eventconvert.h eventstr.h inpututils.h \
+	dixfontstubs.h eventconvert.h eventstr.h inpututils.h \
 	protocol-versions.h \
 	xsha1.h
diff --git a/include/dixfont.h b/include/dixfont.h
index 3d09eb5..0a5f105 100644
--- a/include/dixfont.h
+++ b/include/dixfont.h
@@ -28,6 +28,7 @@ SOFTWARE.
 #include <X11/fonts/font.h>
 #include "closure.h"
 #include <X11/fonts/fontstruct.h>
+#include <X11/fonts/fontproto.h>
 
 #define NullDIXFontProp ((DIXFontPropPtr)0)
 
@@ -143,42 +144,4 @@ extern _X_EXPORT void SetGlyphCachingMode(int /*newmode */ );
 
 extern _X_EXPORT void register_fpe_functions(void);
 
-/*
- * libXfont stubs.
- */
-extern _X_EXPORT int client_auth_generation(ClientPtr client);
-
-extern _X_EXPORT void DeleteFontClientID(Font id);
-
-extern _X_EXPORT FontResolutionPtr GetClientResolutions(int *num);
-
-extern _X_EXPORT int GetDefaultPointSize(void);
-
-extern _X_EXPORT Font GetNewFontClientID(void);
-
-extern _X_EXPORT int init_fs_handlers(FontPathElementPtr fpe,
-                                      BlockHandlerProcPtr block_handler);
-
-extern _X_EXPORT int RegisterFPEFunctions(NameCheckFunc name_func,
-                                          InitFpeFunc init_func,
-                                          FreeFpeFunc free_func,
-                                          ResetFpeFunc reset_func,
-                                          OpenFontFunc open_func,
-                                          CloseFontFunc close_func,
-                                          ListFontsFunc list_func,
-                                          StartLfwiFunc start_lfwi_func,
-                                          NextLfwiFunc next_lfwi_func,
-                                          WakeupFpeFunc wakeup_func,
-                                          ClientDiedFunc client_died,
-                                          LoadGlyphsFunc load_glyphs,
-                                          StartLaFunc start_list_alias_func,
-                                          NextLaFunc next_list_alias_func,
-                                          SetPathFunc set_path_func);
-
-extern _X_EXPORT void remove_fs_handlers(FontPathElementPtr fpe,
-                                         BlockHandlerProcPtr blockHandler,
-                                         Bool all);
-
-extern _X_EXPORT int StoreFontClientFont(FontPtr pfont, Font id);
-
 #endif                          /* DIXFONT_H */
diff --git a/include/dixfontstubs.h b/include/dixfontstubs.h
new file mode 100644
index 0000000..0454ffa
--- /dev/null
+++ b/include/dixfontstubs.h
@@ -0,0 +1,45 @@
+#ifndef DIXFONTSTUBS_H
+#define DIXFONTSTUBS_H 1
+
+/*
+ * libXfont stubs replacements
+ * This header exists solely for the purpose of sdksyms generation;
+ * source code should #include "dixfonts.h" instead, which pulls in these
+ * declarations from <X11/fonts/fontproto.h>
+ */
+extern _X_EXPORT int client_auth_generation(ClientPtr client);
+
+extern _X_EXPORT void DeleteFontClientID(Font id);
+
+extern _X_EXPORT FontResolutionPtr GetClientResolutions(int *num);
+
+extern _X_EXPORT int GetDefaultPointSize(void);
+
+extern _X_EXPORT Font GetNewFontClientID(void);
+
+extern _X_EXPORT int init_fs_handlers(FontPathElementPtr fpe,
+                                      BlockHandlerProcPtr block_handler);
+
+extern _X_EXPORT int RegisterFPEFunctions(NameCheckFunc name_func,
+                                          InitFpeFunc init_func,
+                                          FreeFpeFunc free_func,
+                                          ResetFpeFunc reset_func,
+                                          OpenFontFunc open_func,
+                                          CloseFontFunc close_func,
+                                          ListFontsFunc list_func,
+                                          StartLfwiFunc start_lfwi_func,
+                                          NextLfwiFunc next_lfwi_func,
+                                          WakeupFpeFunc wakeup_func,
+                                          ClientDiedFunc client_died,
+                                          LoadGlyphsFunc load_glyphs,
+                                          StartLaFunc start_list_alias_func,
+                                          NextLaFunc next_list_alias_func,
+                                          SetPathFunc set_path_func);
+
+extern _X_EXPORT void remove_fs_handlers(FontPathElementPtr fpe,
+                                         BlockHandlerProcPtr blockHandler,
+                                         Bool all);
+
+extern _X_EXPORT int StoreFontClientFont(FontPtr pfont, Font id);
+
+#endif
-- 
1.7.9



More information about the xorg-devel mailing list