[gimp] libgimpwidgets: don't babl_init() in gimp_color_scale_class_init()



commit 1176482b4b49714ee79bcbe8b9676fd370ef47a3
Author: Ell <ell_se yahoo com>
Date:   Wed May 31 21:43:34 2017 -0400

    libgimpwidgets: don't babl_init() in gimp_color_scale_class_init()
    
    Woohoo!  We can actually inject this into the gtk-doc thingy!

 devel-docs/libgimpwidgets/Makefile.am |    3 ++-
 libgimpwidgets/gimpcolorscale.c       |    7 -------
 2 files changed, 2 insertions(+), 8 deletions(-)
---
diff --git a/devel-docs/libgimpwidgets/Makefile.am b/devel-docs/libgimpwidgets/Makefile.am
index 3d65156..6a36552 100644
--- a/devel-docs/libgimpwidgets/Makefile.am
+++ b/devel-docs/libgimpwidgets/Makefile.am
@@ -10,7 +10,8 @@ DOC_MAIN_SGML_FILE = $(DOC_MODULE)-docs.sgml
 DOC_SOURCE_DIR = $(top_srcdir)/$(DOC_MODULE)
 
 # Extra options to pass to gtkdoc-scangobj
-SCANGOBJ_OPTIONS =
+# make sure babl is initialized, otherwise we segfault.
+SCANGOBJ_OPTIONS = --type-init-func="do { void babl_init (void); babl_init (); } while (0)"
 
 # Extra options to supply to gtkdoc-scan
 SCAN_OPTIONS = --deprecated-guards="GIMP_DISABLE_DEPRECATED"
diff --git a/libgimpwidgets/gimpcolorscale.c b/libgimpwidgets/gimpcolorscale.c
index 5c6d429..a0b6fa1 100644
--- a/libgimpwidgets/gimpcolorscale.c
+++ b/libgimpwidgets/gimpcolorscale.c
@@ -154,13 +154,6 @@ gimp_color_scale_class_init (GimpColorScaleClass *klass)
 
   g_type_class_add_private (object_class, sizeof (GimpColorScalePrivate));
 
-  /*  This is so ugly... we have to babl_init() here so the binary
-   *  generated by gtk-doc to scan libgimpwidgets' types won't crash.
-   *  I didn't find a way to inject this line of code into the
-   *  generated source.
-   */
-  babl_init ();
-
   fish_rgb_to_lch = babl_fish (babl_format ("R'G'B'A double"),
                                babl_format ("CIE LCH(ab) double"));
   fish_lch_to_rgb = babl_fish (babl_format ("CIE LCH(ab) double"),


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]