2006-12-04 Emmanuele Bassi <ebassi@openedhand.com>

Avoid clutter segfaulting when used without invoking
	clutter_init().  This is needed when using api documentation
	tools and every other tool relying on the GObject
	introspection API (esp. on a headless box).  see the
	note in clutter/clutter-feature.c:clutter_feature_init
	for a full explanation.

	* clutter/clutter-feature.c: Call clutter_feature_init()
	when needed by one of the accessors of the features
	structure.

	* clutter/clutter-main.c:
	* clutter/clutter-private.h: Remove clutter_feature_init()
	public declaration: the features support check is done the
	first time a feature is needed.

	* clutter/clutter-main.c: Do not ever access the clutter
	main context pointer directly; instead, obtain a pointer
	to it via clutter_context_get_default(), which will always
	return something valid.
This commit is contained in:
Emmanuele Bassi
2006-12-04 19:19:53 +00:00
parent f83ffa3520
commit 6d87b1479c
6 changed files with 136 additions and 42 deletions

View File

@ -21,7 +21,7 @@ DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.sgml
DOC_SOURCE_DIR=../../clutter
# Extra options to pass to gtkdoc-scangobj. Not normally needed.
SCANGOBJ_OPTIONS=--type-init-func="clutter_init(0,0)"
SCANGOBJ_OPTIONS=
# Extra options to supply to gtkdoc-scan.
# e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED"

View File

@ -23,6 +23,21 @@ ClutterBehaviourScale
</para>
<!-- ##### ARG ClutterBehaviourScale:scale-begin ##### -->
<para>
</para>
<!-- ##### ARG ClutterBehaviourScale:scale-end ##### -->
<para>
</para>
<!-- ##### ARG ClutterBehaviourScale:scale-gravity ##### -->
<para>
</para>
<!-- ##### STRUCT ClutterBehaviourScaleClass ##### -->
<para>