summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2019-08-06 12:56:02 -0400
committerMatthias Clasen <mclasen@redhat.com>2019-08-06 12:56:02 -0400
commit5af6340eef9833f0f8e878939e88d98b11813578 (patch)
tree8ff5a1b362c8f13b58b04bd1cb34e13f0d3edabc
parent22dfeef4a26984ba81c6ff30117017dac372b706 (diff)
downloadpango-5af6340eef9833f0f8e878939e88d98b11813578.tar.gz
Reinstate the return type of pango_fc_font_lock_face()
We did not remove the freetype dependency from libpango anyway, so bite the bullet, and keep including freetype headers. Changing the return type to gpointer broke C++ users, where casts from void* are not automatic.
-rw-r--r--pango/pangocairo-fcfont.c2
-rw-r--r--pango/pangofc-font-private.h16
-rw-r--r--pango/pangofc-font.c2
-rw-r--r--pango/pangofc-font.h4
-rw-r--r--pango/pangoft2.c4
-rw-r--r--pango/pangoxft-font.c6
6 files changed, 11 insertions, 23 deletions
diff --git a/pango/pangocairo-fcfont.c b/pango/pangocairo-fcfont.c
index 9c450317..0019f83a 100644
--- a/pango/pangocairo-fcfont.c
+++ b/pango/pangocairo-fcfont.c
@@ -118,7 +118,7 @@ pango_cairo_fc_font_get_glyph_extents (PangoFont *font,
logical_rect);
}
-static gpointer
+static FT_Face
pango_cairo_fc_font_lock_face (PangoFcFont *font)
{
PangoCairoFcFont *cffont = (PangoCairoFcFont *) (font);
diff --git a/pango/pangofc-font-private.h b/pango/pangofc-font-private.h
index 0f538bb7..30a2e7fd 100644
--- a/pango/pangofc-font-private.h
+++ b/pango/pangofc-font-private.h
@@ -25,20 +25,6 @@
#include <pango/pangofc-font.h>
#include <pango/pango-font-private.h>
-/* Freetype has undefined macros in its header */
-#ifdef PANGO_COMPILATION
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wundef"
-#endif
-
-#include <ft2build.h>
-#include FT_FREETYPE_H
-#include <fontconfig/fontconfig.h>
-
-#ifdef PANGO_COMPILATION
-#pragma GCC diagnostic pop
-#endif
-
G_BEGIN_DECLS
@@ -108,7 +94,7 @@ struct _PangoFcFontClass
PangoFontClass parent_class;
/*< public >*/
- gpointer (*lock_face) (PangoFcFont *font);
+ FT_Face (*lock_face) (PangoFcFont *font);
void (*unlock_face) (PangoFcFont *font);
gboolean (*has_char) (PangoFcFont *font,
gunichar wc);
diff --git a/pango/pangofc-font.c b/pango/pangofc-font.c
index bc0fa31a..98e77288 100644
--- a/pango/pangofc-font.c
+++ b/pango/pangofc-font.c
@@ -545,7 +545,7 @@ pango_fc_font_real_get_glyph (PangoFcFont *font,
* Since: 1.4
* Deprecated: 1.44: Use pango_font_get_hb_font() instead
**/
-gpointer
+FT_Face
pango_fc_font_lock_face (PangoFcFont *font)
{
g_return_val_if_fail (PANGO_IS_FC_FONT (font), NULL);
diff --git a/pango/pangofc-font.h b/pango/pangofc-font.h
index a7c5f87d..0cd4f174 100644
--- a/pango/pangofc-font.h
+++ b/pango/pangofc-font.h
@@ -32,6 +32,8 @@
#pragma GCC diagnostic ignored "-Wundef"
#endif
+#include <ft2build.h>
+#include FT_FREETYPE_H
#include <fontconfig/fontconfig.h>
#ifdef PANGO_COMPILATION
@@ -64,7 +66,7 @@ void pango_fc_font_kern_glyphs (PangoFcFont *font,
PangoGlyphString *glyphs);
PANGO_DEPRECATED_IN_1_44_FOR(pango_font_get_hb_font)
-gpointer pango_fc_font_lock_face (PangoFcFont *font);
+FT_Face pango_fc_font_lock_face (PangoFcFont *font);
PANGO_DEPRECATED_IN_1_44_FOR(pango_font_get_hb_font)
void pango_fc_font_unlock_face (PangoFcFont *font);
diff --git a/pango/pangoft2.c b/pango/pangoft2.c
index b286f906..b6467981 100644
--- a/pango/pangoft2.c
+++ b/pango/pangoft2.c
@@ -64,7 +64,7 @@ static void pango_ft2_font_get_glyph_extents (PangoFont *font,
PangoRectangle *ink_rect,
PangoRectangle *logical_rect);
-static gpointer pango_ft2_font_real_lock_face (PangoFcFont *font);
+static FT_Face pango_ft2_font_real_lock_face (PangoFcFont *font);
static void pango_ft2_font_real_unlock_face (PangoFcFont *font);
@@ -430,7 +430,7 @@ pango_ft2_font_get_kerning (PangoFont *font,
return PANGO_UNITS_26_6 (kerning.x);
}
-static gpointer
+static FT_Face
pango_ft2_font_real_lock_face (PangoFcFont *font)
{
return pango_ft2_font_get_face ((PangoFont *)font);
diff --git a/pango/pangoxft-font.c b/pango/pangoxft-font.c
index 779eb886..2526b13d 100644
--- a/pango/pangoxft-font.c
+++ b/pango/pangoxft-font.c
@@ -75,7 +75,7 @@ static void pango_xft_font_get_glyph_extents (PangoFont
PangoRectangle *ink_rect,
PangoRectangle *logical_rect);
-static gpointer pango_xft_font_real_lock_face (PangoFcFont *font);
+static FT_Face pango_xft_font_real_lock_face (PangoFcFont *font);
static void pango_xft_font_real_unlock_face (PangoFcFont *font);
static gboolean pango_xft_font_real_has_char (PangoFcFont *font,
gunichar wc);
@@ -449,12 +449,12 @@ xft_font_get_font (PangoFont *font)
return xfont->xft_font;
}
-static gpointer
+static FT_Face
pango_xft_font_real_lock_face (PangoFcFont *font)
{
XftFont *xft_font = xft_font_get_font ((PangoFont *)font);
- return (gpointer)XftLockFace (xft_font);
+ return XftLockFace (xft_font);
}
static void