profile/ivi/clutter.git
16 years ago2007-11-06 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Tue, 6 Nov 2007 14:36:28 +0000 (14:36 +0000)]
2007-11-06  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-box.c (clutter_box_dispose): Call unparent()
on the children, instead of destroy(), to avoid a double free
and a crash when destroying a ClutterBox.

16 years ago2007-11-06 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Tue, 6 Nov 2007 14:35:22 +0000 (14:35 +0000)]
2007-11-06  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-label.c: Break the references in ::dispose,
and free the resources in ::finalize.

16 years ago* clutter/clutter-container.[ch]: removed find_child_by_id method
Øyvind Kolås [Mon, 5 Nov 2007 17:12:11 +0000 (17:12 +0000)]
* clutter/clutter-container.[ch]: removed find_child_by_id method
from interface (and all implementations of it) since this
functionality is now implemented using a global hash.
* clutter/clutter-box.c:
* clutter/clutter-group.c:

16 years ago2007-11-01 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Thu, 1 Nov 2007 17:53:10 +0000 (17:53 +0000)]
2007-11-01  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-script.c: Do not keep ownership of the
pixbufs we load.

16 years ago* clutter/clutter-main.c: (_clutter_do_pick): disable dithering
Øyvind Kolås [Wed, 31 Oct 2007 15:38:18 +0000 (15:38 +0000)]
* clutter/clutter-main.c: (_clutter_do_pick): disable dithering
when painting in pick mode.

16 years ago2007-10-31 Matthew Allum <mallum@openedhand.com>
Matthew Allum [Wed, 31 Oct 2007 14:50:34 +0000 (14:50 +0000)]
2007-10-31  Matthew Allum  <mallum@openedhand.com>

        * clutter/clutter-score.c:
        Various minor improvements to ClutterScore.

16 years ago2007-10-30 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Tue, 30 Oct 2007 22:12:01 +0000 (22:12 +0000)]
2007-10-30  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-layout.c: Fix documentation, with regards to
the containers handling of the children implementing the
ClutterLayout interface.

16 years ago2007-10-29 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Mon, 29 Oct 2007 16:50:34 +0000 (16:50 +0000)]
2007-10-29  Emmanuele Bassi  <ebassi@openedhand.com>

* configure.ac:
* clutter/cogl/gl/cogl-defines.h.in: The OS X backend has a funny
OpenGL header location, so it basically did break every application
including clutter/cogl.h because the GL header inclusion depended
on symbols defined into Clutter's config.h. Now, we define the
GL header into the configure template and use it to create the
cogl-defines.h file cogl.h includes.

16 years ago2007-10-29 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Mon, 29 Oct 2007 16:45:25 +0000 (16:45 +0000)]
2007-10-29  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/json/json-parser.c: Enable parsing of negative numbers;
GScanner splits negative numbers into two tokens, so we need to
special case them.

16 years ago2007-10-29 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Mon, 29 Oct 2007 15:57:59 +0000 (15:57 +0000)]
2007-10-29  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-script.c: Add the :filename and :filename-set
properties, to retrieve the path of the currently parsed file (if
:filename-set is TRUE) from the ClutterScriptable implementations.

16 years ago2007-10-28 Matthew Allum <mallum@openedhand.com>
Matthew Allum [Sun, 28 Oct 2007 22:01:25 +0000 (22:01 +0000)]
2007-10-28  Matthew Allum  <mallum@openedhand.com>

        * clutter-animation.sgml:
        Fix missing func param (#583)

16 years ago2007-10-28 Matthew Allum <mallum@openedhand.com>
Matthew Allum [Sun, 28 Oct 2007 21:57:04 +0000 (21:57 +0000)]
2007-10-28  Matthew Allum  <mallum@openedhand.com>

        * clutter/clutter-effect.c:
        Small doc fix (#584)

16 years agoadd missing fixed bug nums to ChangeLog
Matthew Allum [Sat, 27 Oct 2007 22:51:35 +0000 (22:51 +0000)]
add missing fixed bug nums to ChangeLog

16 years ago2007-10-27 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Sat, 27 Oct 2007 19:49:39 +0000 (19:49 +0000)]
2007-10-27  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/json/json-parser.c:
(json_scanner_msg_handler): Set the GError to be returned by
the parsing functions into the GScanner error message handler.

(json_parser_object): Return the symbol token in case we have
a parse error after the member name.

(json_parser_load_from_data): Propagate the error set in the
message handler, if any.

* clutter/json/json-node.c (json_node_free): Unref the objects
only if are set, to avoid a couple of needless criticals we
get on error.

* tests/test-script.json: More properties.

16 years ago2007-10-27 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Sat, 27 Oct 2007 19:08:59 +0000 (19:08 +0000)]
2007-10-27  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-script.[ch]: Slight API change in the
clutter_script_get_objects() function: now it takes
object name/object return location pairs and returns the
number of objects found and returned.

* tests/test-script.c: Exercise the clutter_script_get_objects()
function.

16 years ago2007-10-27 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Sat, 27 Oct 2007 12:26:12 +0000 (12:26 +0000)]
2007-10-27  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-rectangle.c (clutter_rectangle_paint): Use
CGL_ENABLE_BLEND flag instead of CGL_BLEND value. (#580,
Gwenole Beauchesne)

16 years ago2007-10-27 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Sat, 27 Oct 2007 12:14:18 +0000 (12:14 +0000)]
2007-10-27  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-color.c (clutter_color_to_string): Update the
documentation for the format of the returned string, and remove
the note: now clutter_color_parse() can parse the string this
function returns.

16 years ago2007-10-27 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Sat, 27 Oct 2007 12:01:51 +0000 (12:01 +0000)]
2007-10-27  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/pango/pangoclutter-render.c: Last usage of guint
replaced with COGLuint. (Tommi Komulainen)

16 years ago2007-10-26 Matthew Allum <mallum@openedhand.com>
Matthew Allum [Fri, 26 Oct 2007 22:06:45 +0000 (22:06 +0000)]
2007-10-26  Matthew Allum  <mallum@openedhand.com>

        * clutter/clutter-texture.c:
        * clutter/cogl/cogl.h:
        * clutter/cogl/gl/cogl-defines.h:
        * clutter/cogl/gles/cogl-defines.h:
        * clutter/cogl/gl/cogl.c:
        * clutter/cogl/gles/cogl.c:
        Switch from use of guint to COGLuint. Avoids problems when
        guint != GLuint on some platforms, i.e OSX.
        (Tommi Komulainen, #526)

        * clutter/Makefile.am:
        * clutter/osx/Makefile.am:
        * clutter/osx/clutter-backend-osx.c:
        * clutter/osx/clutter-backend-osx.h:
        * clutter/osx/clutter-event-osx.c:
        * clutter/osx/clutter-osx.h:
        * clutter/osx/clutter-stage-osx.c:
        * clutter/osx/clutter-stage-osx.h:
        * configure.ac:
        Add initial Cocoa/OSX Backend (by Tommi Komulainen, see #526)

16 years ago2007-10-26 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Fri, 26 Oct 2007 15:56:17 +0000 (15:56 +0000)]
2007-10-26  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-entry.c: Add a :x-align property for aligning
the text in the entry, in case the actor is wider than the
text it shows.

16 years ago2007-10-26 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Fri, 26 Oct 2007 15:47:39 +0000 (15:47 +0000)]
2007-10-26  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-main.c: Add a --clutter-default-fps run-time
switch and CLUTTER_DEFAULT_FPS environment variable support for
setting the default frame-rate at run-time.

16 years ago2007-10-26 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Fri, 26 Oct 2007 09:05:06 +0000 (09:05 +0000)]
2007-10-26  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-script.h:
* clutter/clutter-script.c: Add a ::get_type_from_name() virtual
function for bindings to override. The current implementation
calls g_type_from_name() and our lazy class resolver.

* clutter.symbols: Update.

* doc/reference/clutter-sections.txt: Update.

16 years ago2007-10-25 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Thu, 25 Oct 2007 20:06:48 +0000 (20:06 +0000)]
2007-10-25  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-behaviour-path.c: Reverse the list of
parsed knots, to preserve the real ordering after prepending
them (thanks to Øyvind for spotting this).

* clutter/clutter-behaviour-bspline.c: Ditto as above.

16 years ago2007-10-25 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Thu, 25 Oct 2007 15:14:06 +0000 (15:14 +0000)]
2007-10-25  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-script-parser.c: Unset the GValue when
getting a ClutterUnit from a JSON node.

16 years ago2007-10-25 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Thu, 25 Oct 2007 15:05:19 +0000 (15:05 +0000)]
2007-10-25  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-behaviour-bspline.c: Implement the
ClutterScriptableIface to parse the custom "knots" property.

16 years ago2007-10-25 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Thu, 25 Oct 2007 14:48:12 +0000 (14:48 +0000)]
2007-10-25  Emmanuele Bassi  <ebassi@openedhand.com>

* Makefile.am: Ignore clutter-json.h header.

16 years ago2007-10-25 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Thu, 25 Oct 2007 14:46:59 +0000 (14:46 +0000)]
2007-10-25  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter.types:
* clutter-sections.txt:
* clutter-docs.sgml: Add new ClutterScriptable API.

16 years agoAdd new symbols
Emmanuele Bassi [Thu, 25 Oct 2007 14:46:22 +0000 (14:46 +0000)]
Add new symbols

16 years ago2007-10-25 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Thu, 25 Oct 2007 14:46:02 +0000 (14:46 +0000)]
2007-10-25  Emmanuele Bassi  <ebassi@openedhand.com>

* tests/test-script.c:
* tests/test-script.json: Rejig the test case and add a
path behaviour to test the knot parsing code.

16 years ago2007-10-25 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Thu, 25 Oct 2007 14:43:55 +0000 (14:43 +0000)]
2007-10-25  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/cogl/cogl.h: Do not include <clutter/clutter.h>.

16 years ago2007-10-25 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Thu, 25 Oct 2007 14:42:15 +0000 (14:42 +0000)]
2007-10-25  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-behaviour-path.c: Implement the
ClutterScriptableIface to parse the custom "knots" property.

16 years ago2007-10-25 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Thu, 25 Oct 2007 14:37:41 +0000 (14:37 +0000)]
2007-10-25  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-texture.c (clutter_texture_set_property): Do
not try to set NULL pixbufs.

16 years ago2007-10-25 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Thu, 25 Oct 2007 14:36:37 +0000 (14:36 +0000)]
2007-10-25  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-actor.c: Implement part of the ClutterScriptable
interface, using the ClutterActor API to set and get the name
of an actor.

(clutter_geometry_copy), (clutter_geometry_free): Use
the slice allocator to avoid fragmentation when setting
properties and emitting signals (that is: when packing
boxed types into GValues).

(clutter_actor_box_copy), (clutter_actor_box_free),
(clutter_vertex_copy), (clutter_vertex_free): Ditto.

* clutter/clutter-actor.h:
* clutter/clutter-actor.c:
(clutter_actor_push_transform_child),
(clutter_actor_pop_transfomr_child): Simple wrappers around
COGL API, which avoid including clutter/cogl.h when writing
container actors outside Clutter.

16 years ago2007-10-25 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Thu, 25 Oct 2007 14:34:54 +0000 (14:34 +0000)]
2007-10-25  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/Makefile.am:
* clutter/clutter.h:
* clutter/clutter-scriptable.[ch]: Add the ClutterScriptable
interface; by implementing this interface, a class can
override the UI definition parsing and transform complex data
types into GObject properties, or allow custom properties.

* clutter/clutter-script.c:
* clutter/clutter-script-parser.c:
* clutter/clutter-script-private.h: Rearrange the code and
use the ClutterScriptable interface to parse and build the
custom properties. This cleans up the code and also it makes
it more reliable (the complex type parsing is now done using
the target type and not just the name of the property).

16 years ago2007-10-25 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Thu, 25 Oct 2007 14:32:29 +0000 (14:32 +0000)]
2007-10-25  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-json.h: Header for including the JSON
parsing and data types.

* clutter/json/json-types.h: Add JSON_NODE_VALUE_TYPE() macro.

* clutter/json/Makefile.am: Install the JSON headers into a
private location. This might change in the future, and might
also cause collisions if you're using JSON-GLib and Clutter
at the same time, so be warned.

16 years agoCheck width in ClutterLabel::request_coords
Emmanuele Bassi [Mon, 22 Oct 2007 15:47:07 +0000 (15:47 +0000)]
Check width in ClutterLabel::request_coords

If we get a size requisition, and we have ellipsization active,
check if we are getting less space than what the layout needs
and recompute the width.

16 years agoChange the clutter_color_from_string() format
Emmanuele Bassi [Mon, 22 Oct 2007 15:46:56 +0000 (15:46 +0000)]
Change the clutter_color_from_string() format

The format should be "%02x%02x%02x%02x" because we use guint8 for each
component, and not guint16. The string before was completely broken.

16 years agoUpdate Clutter symbols
Emmanuele Bassi [Fri, 19 Oct 2007 12:44:59 +0000 (12:44 +0000)]
Update Clutter symbols

16 years ago2007-10-19 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Fri, 19 Oct 2007 10:15:57 +0000 (10:15 +0000)]
2007-10-19  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-entry.c (clutter_entry_paint): Fixed off by
one error. (#566, Gwenole Beauchesne)

16 years ago* clutter/clutter-timeline.c: (clutter_timeline_set_duration):
Øyvind Kolås [Thu, 18 Oct 2007 13:47:21 +0000 (13:47 +0000)]
* clutter/clutter-timeline.c: (clutter_timeline_set_duration):
rearranged arithemetic to allow specifying duration with sub second
precision (also enables durations smaller than one second).

16 years agoFix ChangeLog
Emmanuele Bassi [Thu, 18 Oct 2007 12:31:53 +0000 (12:31 +0000)]
Fix ChangeLog

16 years ago2007-10-18 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Thu, 18 Oct 2007 12:31:07 +0000 (12:31 +0000)]
2007-10-18  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-script-private.h:
* clutter/clutter-script.h:
* clutter/clutter-script.c: Allow id-less objects: as long
as they have a "type" member, a unique id will be provided.

(json_object_end): Add merge id to the object information
structure.

(apply_behaviours), (add_children): Keep the unresolved
objects around.

(construct_stage), (clutter_script_construct_object): If an
object has unresolved children or behaviours try resolving
them when we ask for it.

(json_parse_end), (clutter_script_ensure_objects): Ensure
that the objects are fully constructed as best as we can when
finished parsing.

(object_info_free), (remove_by_merge_id):
(clutter_script_unmerge_objects): Remove objects under the
same merge id returned by the loading functions. (Fixes
bug #558)

16 years ago2007-10-18 Matthew Allum <mallum@openedhand.com>
Matthew Allum [Wed, 17 Oct 2007 23:03:38 +0000 (23:03 +0000)]
2007-10-18  Matthew Allum  <mallum@openedhand.com>

        * clutter/clutter-score.c:
        * clutter/clutter-score.h:
        * tests/test-score.c:
        Implement more ClutterScore functionality.

16 years ago2007-10-17 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Wed, 17 Oct 2007 16:43:46 +0000 (16:43 +0000)]
2007-10-17  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-actor.c:
(clutter_actor_set_property), (clutter_actor_get_property),
(clutter_actor_class_init): Add the :reactive property, to
control reactiveness using the UI definition files.

(clutter_actor_reparent): Do not assume the parent is a
ClutterContainer, and call the container API only if needed.

(clutter_actor_destroy): Remove from the parent if needed,
just like the documentation says.

16 years agoUpdate TODO
Emmanuele Bassi [Wed, 17 Oct 2007 10:41:42 +0000 (10:41 +0000)]
Update TODO

16 years ago* clutter/pango/pangoclutter-render.c: (tc_get): Provide for blank
Øyvind Kolås [Tue, 16 Oct 2007 19:14:52 +0000 (19:14 +0000)]
* clutter/pango/pangoclutter-render.c: (tc_get): Provide for blank
rows/columns of pixels between adjecant glyphs in the texture cache to
avoid bilinear interpolation spillage at edges of glyphs.

16 years ago* clutter/clutter-main.c: (clutter_do_event): allow motion events
Øyvind Kolås [Tue, 16 Oct 2007 16:35:02 +0000 (16:35 +0000)]
* clutter/clutter-main.c: (clutter_do_event): allow motion events
only delivered to stage to be chaugt in the capture phase as well
as the bubbling phase.

16 years ago2007-10-16 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Tue, 16 Oct 2007 14:40:00 +0000 (14:40 +0000)]
2007-10-16  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/json/json-object.c: Automatically transform every
delimiter into an underscore.

* clutter/clutter-script.c: Implement the "parent_texture"
property translation for ClutterCloneTextures, using the
passed id of the parent texture.

16 years ago2007-10-16 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Tue, 16 Oct 2007 13:41:34 +0000 (13:41 +0000)]
2007-10-16  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-timeline.[ch]: Added ClutterTimeline:duration,
a property for setting the duration of a timeline in milliseconds.
The property comes with accessors and a new constructor. The
frame rate used is the default value.

* clutter/clutter-private.h:
* clutter/clutter-main.[ch]: Add clutter_get_default_frame_rate()
and clutter_set_default_frame_rate(); these two functions control
the default frame rate to be used when creating timelines. Currently
is set to 60 frames-per-second.

16 years ago2007-10-16 Tomas Frydrych <tf@o-hand.com>
Tomas Frydrych [Tue, 16 Oct 2007 10:18:36 +0000 (10:18 +0000)]
2007-10-16  Tomas Frydrych  <tf@o-hand.com>

        * build/msvc_2k5:
        Added MSVC project files.

16 years ago2007-10-16 Emmanuele bassi <ebassi@openedhand.com>
Emmanuele Bassi [Tue, 16 Oct 2007 09:39:15 +0000 (09:39 +0000)]
2007-10-16  Emmanuele bassi  <ebassi@openedhand.com>

* clutter/clutter-color.c: Copy the alpha when shading.

16 years ago2007-10-16 Tomas Frydrych <tf@o-hand.com>
Tomas Frydrych [Tue, 16 Oct 2007 08:34:16 +0000 (08:34 +0000)]
2007-10-16  Tomas Frydrych  <tf@o-hand.com>

* clutter.symbols:
Added a bunch of missing symbols.

* clutter/clutter-script.c:
* json/json-node.c:
Use g_slice_new0 instead of g_slice_new to avoid passing garbage to functions.

* tests/test-threads.c:
Replaced non-portable sleep() with g_usleep().

16 years ago2007-10-15 Tomas Frydrych <tf@o-hand.com>
Tomas Frydrych [Mon, 15 Oct 2007 19:19:42 +0000 (19:19 +0000)]
2007-10-15  Tomas Frydrych  <tf@o-hand.com>

* clutter/cogl/gl/cogl-defines.h:
* clutter/cogl/gl/cogl.c:
Fixed up GL include for windows.

16 years ago2007-10-15 Matthew Allum <mallum@openedhand.com>
Matthew Allum [Mon, 15 Oct 2007 16:50:59 +0000 (16:50 +0000)]
2007-10-15  Matthew Allum  <mallum@openedhand.com>

        * clutter/clutter-actor.c:
        More events documentation.

        * clutter/clutter-event.c:
        * clutter/clutter-event.h:
        Add synthetic flag and make put_event use it
        (via modded patch from pippin)

        * clutter/clutter-main.c: (clutter_do_event):
        dont use put event anymore when pushing enter/leave events.

16 years ago2007-10-15 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Mon, 15 Oct 2007 09:09:04 +0000 (09:09 +0000)]
2007-10-15  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/pango/Makefile.am: Compile with the debug flags, if
set.

16 years ago2007-10-12 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Fri, 12 Oct 2007 17:36:38 +0000 (17:36 +0000)]
2007-10-12  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter.symbols: Remove non-public symbols.

16 years ago2007-10-12 Tomas Frydrych <tf@o-hand.com>
Tomas Frydrych [Fri, 12 Oct 2007 15:16:22 +0000 (15:16 +0000)]
2007-10-12  Tomas Frydrych  <tf@o-hand.com>

* clutter.symbols:
A list of public symbols, one per line; semi-autogenerated, so
might not be complete -- PLEASE when adding new public APIs, add
the function name to this file.

16 years ago2007-10-12 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Fri, 12 Oct 2007 12:42:54 +0000 (12:42 +0000)]
2007-10-12  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-actor.c: Add a :depth property, so we can
set the initial depth of an actor inside the UI definition
files.

16 years ago2007-10-12 Tomas Frydrych <tf@o-hand.com>
Tomas Frydrych [Fri, 12 Oct 2007 10:02:28 +0000 (10:02 +0000)]
2007-10-12  Tomas Frydrych  <tf@o-hand.com>

* tests/test-actors.c:
When using MSVC, define _USE_MATH_DEFINES before including
math.h, otherwise constants like M_PI will not be defined.

16 years ago2007-10-12 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Fri, 12 Oct 2007 09:43:27 +0000 (09:43 +0000)]
2007-10-12  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-script.c (construct_timline),
(parse_member_to_property): Transfer ownership of the
implicit timelines to the behaviour, so that they get
unreferenced when the behaviour is destroyed.

(parse_member_to_property): Reverse the list of children
and behaviours.

16 years ago2007-10-12 Tomas Frydrych <tf@o-hand.com>
Tomas Frydrych [Fri, 12 Oct 2007 09:39:41 +0000 (09:39 +0000)]
2007-10-12  Tomas Frydrych  <tf@o-hand.com>

Portability fixes:

* clutter/clutter-private.h:
Bracket #include "unistd.h" with #ifdef HAVE_UNISTD_H

* clutter/clutter-fixed.c:
Use "", not <> for inclusion of local files.

(clutter_sqrtx): forward declare local variables.

* clutter/clutter-debug.h:
Added non-gcc (c99) implementation of variadic debug macros for
when not compiling with gcc.

* clutter/pango/pangoclutter-render.c:
Fixed some strange uses of CLUTTER_NOTE() + stripped trailing
whitespace.

16 years ago2007-10-12 Tomas Frydrych <tf@o-hand.com>
Tomas Frydrych [Fri, 12 Oct 2007 08:17:00 +0000 (08:17 +0000)]
2007-10-12  Tomas Frydrych  <tf@o-hand.com>

        * clutter/clutter-actor.c:
        * clutter/clutter-backend.c:
        * clutter/clutter-behaviour-depth.c:
        * clutter/clutter-box.c:
        * clutter/clutter-clone-texture.c:
        * clutter/clutter-container.c:
        * clutter/clutter-entry.c:
        * clutter/clutter-feature.c:
        * clutter/clutter-fixed.c:
        * clutter/clutter-group.c:
        * clutter/clutter-hbox.c:
        * clutter/clutter-label.c:
        * clutter/clutter-layout.c:
        * clutter/clutter-media.c:
        * clutter/clutter-rectangle.c:
        * clutter/clutter-score.c:
        * clutter/clutter-script.c:
        * clutter/clutter-stage.c:
        * clutter/clutter-texture.c:
        * clutter/clutter-timeline.c:
        * clutter/clutter-timeout-pool.c:
        * clutter/clutter-vbox.c:
        * clutter/cogl/gl/cogl.c:
        * clutter/cogl/gles/cogl.c:
        * clutter/eglnative/clutter-backend-egl.c:
        * clutter/eglnative/clutter-event-egl.c:
        * clutter/eglnative/clutter-stage-egl.c:
        * clutter/eglx/clutter-backend-egl.c:
        * clutter/eglx/clutter-event-egl.c:
        * clutter/eglx/clutter-stage-egl.c:
        * clutter/glx/clutter-event-glx.c:
        * clutter/json/json-array.c:
        * clutter/json/json-generator.c:
        * clutter/json/json-node.c:
        * clutter/json/json-object.c:
        * clutter/json/json-parser.c:
        * clutter/sdl/clutter-backend-sdl.c:
        * clutter/sdl/clutter-event-sdl.c:
        * clutter/sdl/clutter-stage-sdl.c:

Fixedup config.h inclusion (must always be bracketed with #ifdef
HAVE_CONFIG_H).

16 years ago2007-10-11 Tomas Frydrych <tf@o-hand.com>
Tomas Frydrych [Thu, 11 Oct 2007 15:07:36 +0000 (15:07 +0000)]
2007-10-11  Tomas Frydrych  <tf@o-hand.com>

* clutter/clutter-entry.c:
Avoid using C++ reserverd words to name variables.

16 years agoImprove the quality of text when the scale it is shown at screen is
Øyvind Kolås [Thu, 11 Oct 2007 12:18:01 +0000 (12:18 +0000)]
Improve the quality of text when the scale it is shown at screen is
smaller than the original, seems to work well down to about a scale
of 50%.
* clutter/pango/pangoclutter-fontmap.c:
(pango_clutter_font_map_default_substitute): turn off hinting.
* clutter/pango/pangoclutter-render.c: request linear filtering
instead of nearest neighbour when scaling down.
* tests/test-text.c: replaced test with a a test that renders a sample
grid with various pixel sizes and scales for visual inspection of
text rendering quality.

16 years ago2007-10-10 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Wed, 10 Oct 2007 16:02:54 +0000 (16:02 +0000)]
2007-10-10  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/glx/clutter-backend-glx.c: Fix documentation of the
filter function API.

* clutter/clutter-score.c:
* clutter/clutter-effect.c:
* clutter/clutter-actor.c: Documentation fixes.

* clutter/clutter-actor.h: Automatically typecast to ClutterActor
when setting/checking flags.

16 years ago2007-10-10 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Wed, 10 Oct 2007 16:00:41 +0000 (16:00 +0000)]
2007-10-10  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter-sections.txt: Add new API and rearrange the subsections.

16 years ago2007-10-10 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Wed, 10 Oct 2007 14:51:25 +0000 (14:51 +0000)]
2007-10-10  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-actor.c: Beautify the ClutterActor documentation.

16 years ago2007-10-10 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Wed, 10 Oct 2007 14:29:29 +0000 (14:29 +0000)]
2007-10-10  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-actor.c: Remove the ::event-after signal:
three event layers to connect to seems a bit overkill.

(clutter_actor_event): Return FALSE, not TRUE by default,
as g_signal_emit() will change the return value if no
handlers are connected

* clutter/clutter-stage.c: Emit ::notify when we change
the fullscreen property.

* clutter/clutter-script.c: Add more documentation for the
definition format and keywords.

(translate_property): Collapse the G_TYPE_ENUM and G_TYPE_FLAGS
cases into one, to simplify the code.

* tests/test-script.c: Test enumeration conversion by using
a value different from the default.

16 years ago2007-10-10 Matthew Allum <mallum@openedhand.com>
Matthew Allum [Wed, 10 Oct 2007 13:04:34 +0000 (13:04 +0000)]
2007-10-10  Matthew Allum  <mallum@openedhand.com>

        * clutter/clutter-actor.c:
        * clutter/clutter-actor.h:
        * clutter/clutter-event.c:
        * clutter/clutter-main.c:
        * tests/test-events.c:
        Add basic W3 DOM  event 'capture' like functionality.

16 years ago2007-10-10 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Wed, 10 Oct 2007 13:01:09 +0000 (13:01 +0000)]
2007-10-10  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-script-private.h:
* clutter/clutter-script.c: Parse flags like we parse enums.

16 years ago2007-10-10 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Wed, 10 Oct 2007 12:51:51 +0000 (12:51 +0000)]
2007-10-10  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/json/json-types.h:
* clutter/json/json-array.c:
* clutter/json/json-object.c: Resync with the upstream copy
of JSON-GLib; add json_object_remove_member() and
json_array_remove_element() and fix the g_hash_table_get_keys()
replacement for GLib 2.12.

* clutter/clutter-script.c: Clean up the complex properties
parsing code.

16 years ago2007-10-10 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Wed, 10 Oct 2007 10:44:45 +0000 (10:44 +0000)]
2007-10-10  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-script.c (json_object_end): Add "type_func"
to the list of attributes we skip.

16 years ago2007-10-10 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Wed, 10 Oct 2007 10:42:19 +0000 (10:42 +0000)]
2007-10-10  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/json/json-parser.c: Use the commodity JsonNode API
and accept bare values as root nodes.

* clutter/clutter-script-private.h:
* clutter/clutter-script.c: Unreference the created objects
only if they are top-levels, like ClutterBehaviour and
ClutterTimelines. Actors have floating references, so we
just transfer ownership to their containers, and the stage
is owned by the backend. Add the "type_func" key to the
object definition, so the user can supply its own GType
function if the class name doesn't follow the GObject rules.
Document the ClutterScript public API.

16 years ago2007-10-10 Matthew Allum <mallum@openedhand.com>
Matthew Allum [Tue, 9 Oct 2007 23:45:49 +0000 (23:45 +0000)]
2007-10-10  Matthew Allum  <mallum@openedhand.com>

        * clutter/clutter-actor.c:
        * clutter/clutter-actor.h:
        Add missing enter/leave event signals

        * clutter/clutter-main.c: (clutter_do_event):
        Set time in crossing events.
        Protect against do_pick() failing.

16 years ago2007-10-09 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Tue, 9 Oct 2007 20:04:23 +0000 (20:04 +0000)]
2007-10-09  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-script.c (resolve_alpha_func): Fix the
ClutterAlphaFunc resolution function.

16 years ago2007-10-09 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Tue, 9 Oct 2007 16:44:44 +0000 (16:44 +0000)]
2007-10-09  Emmanuele Bassi  <ebassi@openedhand.com>

* tests/Makefile.am:
* tests/test-script.c:
* tests/test-script.json: Move part of the UI definition into
its own file and exercise clutter_script_load_from_file().

16 years ago2007-10-09 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Tue, 9 Oct 2007 16:21:04 +0000 (16:21 +0000)]
2007-10-09  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-script.c (clutter_script_get_object): Construct
the requested object if it hasn't been already. This allows
referencing objects within the same snippet.

* tests/test-script.c: Declare a timeline and use it inside
multiple behaviours; apply multiple behaviours to various
actors, then retrieve the timeline to start it when the test
runs.

16 years ago2007-10-09 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Tue, 9 Oct 2007 15:11:01 +0000 (15:11 +0000)]
2007-10-09  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-script-private.h:
* clutter/clutter-script.c: Allow applying behaviours directly
inside the UI definition data.

* tests/test-script.c: Test the "behaviours" member.

16 years ago2007-10-09 Rob Bradford <rob@openedhand.com>
Robert Bradford [Tue, 9 Oct 2007 13:56:29 +0000 (13:56 +0000)]
2007-10-09  Rob Bradford  <rob@openedhand.com>

* clutter/eglnative/clutter-backend-egl.c:
(clutter_backend_egl_dispose):
Call eglTerminate() on the display when the backend is disposed of.

* clutter/eglnative/clutter-stage-egl.c:
(clutter_stage_egl_realize):
Don't use the createNativeWindow() call, it's not generic EGL.

16 years ago2007-10-09 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Tue, 9 Oct 2007 13:29:03 +0000 (13:29 +0000)]
2007-10-09  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-script-private.h:
* clutter/clutter-script.h:
* clutter/clutter-script.c: Add licensing information to
the newly added files.

* clutter/clutter-script.c: Support creating behaviours with
ClutterScript. ClutterAlpha objects are implicit, but
timelines can be both explicit objects using their id or
implicit objects. Make the property resolution and translation
more robust. Support the pixbuf property.

* tests/test-script.c: Test the newly added features.

* docs/reference/clutter-docs.sgml:
* docs/reference/clutter-sections.txt: Add ClutterScript.

16 years ago2007-10-09 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Tue, 9 Oct 2007 13:24:52 +0000 (13:24 +0000)]
2007-10-09  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-fixed.h: Add deprecation guards around
CLUTTER_FIXED_INT().

16 years agoFix typo in GLib version check
Emmanuele Bassi [Tue, 9 Oct 2007 12:10:11 +0000 (12:10 +0000)]
Fix typo in GLib version check

16 years ago2007-10-08 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Mon, 8 Oct 2007 16:48:22 +0000 (16:48 +0000)]
2007-10-08  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-script.c: Parse ClutterMargin and ClutterPadding
properties from arrays or integers (assume pixels).

16 years ago2007-10-08 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Mon, 8 Oct 2007 16:25:10 +0000 (16:25 +0000)]
2007-10-08  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-script-private.h:
* clutter/clutter-script.c: Allow defining childrens for every
container actor inside the UI definition files.

16 years ago2007-10-08 Matthew Allum <mallum@openedhand.com>
Matthew Allum [Mon, 8 Oct 2007 16:18:33 +0000 (16:18 +0000)]
2007-10-08  Matthew Allum  <mallum@openedhand.com>

        * clutter/clutter-actor.c:
        * clutter/clutter-actor.h:
        * clutter/clutter-private.h:
        * clutter/clutter-main.c:
        Add a hash to global clutter context mapping all parented actor
        id's to actors.
        Add clutter_get_actor_by_id() call.
        Convert picking machinery to use above.
        (performance/simpler composite actor creation)

        * clutter/clutter-stage.c: (clutter_stage_fullscreen),
        (clutter_stage_unfullscreen), (clutter_stage_event):
        Only set the fullscreen property on stage state fullscreen event(#545)
        Experimental as could be painful to implement on non X backends.

16 years ago2007-10-08 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Mon, 8 Oct 2007 15:18:31 +0000 (15:18 +0000)]
2007-10-08  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-script.c (json_parse_end):
* clutter/json/json-object.c (json_object_get_members): Replace
the GLib 2.14 API with the equivalent code for GLib < 2.14.

* configure.ac: Revert the dependency bump.

16 years agoFix includes in ClutterScript
Emmanuele Bassi [Mon, 8 Oct 2007 15:04:13 +0000 (15:04 +0000)]
Fix includes in ClutterScript

16 years ago2007-10-08 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Mon, 8 Oct 2007 15:03:22 +0000 (15:03 +0000)]
2007-10-08  Emmanuele Bassi  <ebassi@openedhand.com>

Initial implementation of the UI definition files. (#424)

* clutter/json/Makefile.am:
* clutter/json/*.[ch]: In-tree copy of JSON-GLib, a GLib-based
JSON parser/generator library. We use it in-tree because we might
need to change the API. Ideally, we'd depend on it.

* clutter/clutter.h:
* clutter/clutter-script-private.h:
* clutter/clutter-script.[ch]: ClutterScript, the scenegraph
generator class. It parses JSON streams in form of buffers and
files and builds the scene.

* clutter/clutter-debug.h:
* clutter/clutter-main.c: Add a "script" debug flag

* clutter/Makefile.am: Build glue.

* tests/Makefile.am:
* tests/test-script.c: Add a test case for the ClutterScript.

* configure.ac: Depend on GLib 2.14, so we can use the
g_hash_table_get_key() and g_hash_table_get_values() functions
for the time being; we can probably reimplement those, but we
are going to need 2.14 anyway if we are going to implement a
list model using GSequence.

16 years ago2007-10-03 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Mon, 8 Oct 2007 14:51:26 +0000 (14:51 +0000)]
2007-10-03  Emmanuele Bassi  <ebassi@openedhand.com>

* tests/test-behave.c: Use the right return type for the
event callbacks.

16 years ago2007-10-03 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Mon, 8 Oct 2007 14:51:14 +0000 (14:51 +0000)]
2007-10-03  Emmanuele Bassi  <ebassi@openedhand.com>

* tests/test-behave.c: Use the right return type for the
event callbacks.

16 years ago2007-10-03 Matthew Allum <mallum@openedhand.com>
Matthew Allum [Wed, 3 Oct 2007 09:28:16 +0000 (09:28 +0000)]
2007-10-03  Matthew Allum  <mallum@openedhand.com>

        * clutter/clutter-actor.c:
        * clutter/clutter-event.c:
        * clutter/clutter-event.h:
        * clutter/clutter-main.c:
        * clutter/clutter-private.h:
        * clutter/eglnative/clutter-event-egl.c:
        * clutter/eglx/clutter-event-egl.c:
        * clutter/glx/clutter-event-glx.c:
        * clutter/sdl/clutter-event-sdl.c:
        Remove seperate double/triple click events and replace with
        a click_count member.
        Move calculating click counts from backend to do_event()
        Initial implementation of ENTER/LEAVE events.

        * tests/test-events.c:
        Add code to test above.

        * tests/test-behave.c:
        Sync with newer API.

        * clutter/clutter-score.c:
        Silence a warning.

16 years ago2007-10-01 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Tue, 2 Oct 2007 14:53:32 +0000 (14:53 +0000)]
2007-10-01  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-fixed.h: Add CLUTTER_FIXED_TO_INT() and
deprecate CLUTTER_FIXED_INT(), for symmetry with
CLUTTER_FIXED_FROM_INT().

* clutter/clutter-alpha.c:
* clutter/clutter-behaviour-depth.c:
* clutter/clutter-behaviour-ellipse.c:
* clutter/clutter-behaviour-path.c:
* clutter/clutter-fixed.h: Use CLUTTER_FIXED_TO_INT().

16 years ago2007-10-01 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Tue, 2 Oct 2007 14:45:40 +0000 (14:45 +0000)]
2007-10-01  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-actor.c (clutter_actor_get_size): Implement
get_size() as a wrapper around clutter_actor_query_coords()
instead of calling g_object_get() twice.

(clutter_actor_init): Initialise the box in one call.

16 years ago2007-10-01 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Tue, 2 Oct 2007 14:03:36 +0000 (14:03 +0000)]
2007-10-01  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-actor.[ch]: Remove the ::event-after signal
class handler, as it's not meant to be overridden by sub-classes.

(clutter_actor_class_init):
Make every event-related signal return a boolean: return TRUE
in a signal handler to block the emission. The value is accumulated
automatically by the signal API.

(clutter_actor_event): If ::event returns TRUE, skip to emitting
::event-after. Return the value accumulated by the signal emission
chain.

* clutter/clutter-private.h: Rename _clutter_boolean_accumlator().

* clutter/clutter-main.c (clutter_do_event): If clutter_actor_event()
returns TRUE then stop the event emission chain from child to parent.

* clutter/clutter-stage.c (clutter_stage_event): Behave like
clutter_actor_event().

(clutter_stage_get_key_focus),
(clutter_stage_set_key_focus): Avoid a nasty circular reference
issue: if the actor passed to set_key_focus is NULL then the stage
has the key focus.

* tests/test-events.c: Update the events test with the API
changes.

16 years ago2007-10-01 Tomas Frydrych <tf@openedhand.com>
Tomas Frydrych [Mon, 1 Oct 2007 15:26:09 +0000 (15:26 +0000)]
2007-10-01  Tomas Frydrych  <tf@openedhand.com>

* clutter/clutter-actor.c:
(clutter_actor_set_scale_with_gravityx):
Use CLUTTER_QMUL for better precission (#532, patch by Gwenole
Beauchesne).

* clutter/clutter-color.c:
(clutter_color_to_hlsx):
Added missing CLUTTER_INT_TO_FIXED conversion (#544, patch by Neil
Roberts).

16 years ago2007-10-01 Neil J. Patel <njp@o-hand.com>
Neil J. Patel [Mon, 1 Oct 2007 13:44:33 +0000 (13:44 +0000)]
2007-10-01  Neil J. Patel  <njp@o-hand.com>

Patch by: Tommi Komulainen <tommi.komulainen@iki.fi>

* clutter/clutter-entry.c: (clutter_entry_delete_text):
Fix characters vs. bytes inconsistency (#520).

16 years ago2007-09-30 Matthew Allum <mallum@openedhand.com>
Matthew Allum [Sun, 30 Sep 2007 22:27:52 +0000 (22:27 +0000)]
2007-09-30  Matthew Allum  <mallum@openedhand.com>

        * clutter/clutter-event.h:
        Removed unused POINTER_ENTER and POINTER_LEAVE states. (#546)
        * clutter/clutter-stage.c: (clutter_stage_fullscreen),
        (clutter_stage_unfullscreen):
        Only Change fullscreen prop if the backend implements fullscreen
        methods. (#545)

16 years ago2007-09-28 Øyvind Kolås <pippin@openedhand.com>
Øyvind Kolås [Fri, 28 Sep 2007 14:52:54 +0000 (14:52 +0000)]
2007-09-28  Øyvind Kolås  <pippin@openedhand.com>

* clutter/clutter-container.[ch]: added
clutter_container_find_child_by_name.

16 years ago2007-09-28 Øyvind Kolås <pippin@openedhand.com>
Øyvind Kolås [Fri, 28 Sep 2007 11:03:21 +0000 (11:03 +0000)]
2007-09-28  Øyvind Kolås  <pippin@openedhand.com>

* clutter/glx/clutter-stage-glx.c: (clutter_stage_glx_realize):
removed unused variable perspective.
* tests/test-events.c: (main): added CLUTTER_STAGE() cast.
* tests/test-threads.c: include unistd.h for sleep().

16 years ago * clutter/clutter-label.c: (clutter_label_ensure_layout): avoid
Øyvind Kolås [Fri, 28 Sep 2007 10:54:42 +0000 (10:54 +0000)]
* clutter/clutter-label.c: (clutter_label_ensure_layout): avoid
calling pango_layout_set_text|markup before we've got any text.