[meego-commits] 15019: Changes to Trunk/mx

Rolla Selbak no_reply at build.meego.com
Fri Mar 18 21:40:41 UTC 2011


Hi,
I have made the following changes to mx in project Trunk. Please review and accept ASAP.

Thank You,
Rolla Selbak

[This message was auto-generated]

---

Request #15019:

  submit:   Trunk:Testing/mx(r2) -> Trunk/mx


Message:
    Trunk promotion

State:   new          2011-03-18T14:40:01 rolla
Comment: None



changes files:
--------------
--- mx.changes
+++ mx.changes
@@ -0,0 +1,11 @@
+* Thu Mar 17 2011 Chris Lord <chris at linux.intel.com> - 1.1.10
+- Fix some concurrency issues with asynchronous loading in MxImage
+- Fix the fullscreen GObject property setter in MxWindow
+- Make the toolbar property of MxWindow writable
+- Add a title property to MxWindow
+- Fix handling of padding in MxBoxLayout get_preferred_width/height
+- Add a use-markup property to MxLabel
+- Ensure the old border-image is correctly allocated in MxWidget
+- Make sure the corners of MxFadeEffect render consistently
+- Fix focus issues when showing a still-hiding MxDialog
+

old:
----
  mx-1.1.9.tar.gz

new:
----
  mx-1.1.10.tar.gz

spec files:
-----------
--- mx.spec
+++ mx.spec
@@ -7,7 +7,7 @@
 
 Name:       mx
 Summary:    User interface toolkit built on Clutter
-Version:    1.1.9
+Version:    1.1.10
 Release:    1
 Group:      Development/Library
 License:    LGPLv2.1

other changes:
--------------

++++++ mx-1.1.9.tar.gz -> mx-1.1.10.tar.gz
--- ChangeLog
+++ ChangeLog
@@ -1,5 +1,147 @@
 # Generated by Makefile. Do not edit.
 
+commit 16d55de4d2b641af5b8482af802e9ed538e7197b
+Author: Chris Lord <chris at linux.intel.com>
+Date:   Mon Mar 14 18:10:13 2011 +0000
+
+    dialog: Fix focus issues when showing a still-hiding dialog
+    
+    If you show a dialog that's in the middle of its hiding animation, it will
+    forget to set the VISIBLE flag and it won't try to steal focus again.
+    This commit fixes both of these issues.
+
+ mx/mx-dialog.c |   25 ++++++++++++++++---------
+ 1 files changed, 16 insertions(+), 9 deletions(-)
+
+commit 4f55bb16c38c96df965bec1198f148a40fd5b5e1
+Author: Chris Lord <chris at linux.intel.com>
+Date:   Mon Mar 14 17:20:51 2011 +0000
+
+    fade-effect: Make sure the four corners render consistently
+    
+    I used counter-clock-wise vertices for all quads in the effect, meaning
+    that the four corners rendered differently - change the winding as
+    appropriate so that they render consistently (and hopefully how you'd want)
+
+ mx/mx-fade-effect.c |  102 ++++++++++++++++++++++++++++++++------------------
+ 1 files changed, 65 insertions(+), 37 deletions(-)
+
+commit a3e84995718e7c6fec26074ee18ca41ac1c74c11
+Author: Thomas Wood <thomas.wood at intel.com>
+Date:   Mon Mar 14 15:48:21 2011 +0000
+
+    widget: ensure the old border-image is always correctly allocated
+    
+    Make sure the old border-image actor is allocated, even if there is no
+    current border-image actor.
+
+ mx/mx-widget.c |   18 +++++-------------
+ 1 files changed, 5 insertions(+), 13 deletions(-)
+
+commit ec20d2ada97176bcbaba4471878c861bc942cfb8
+Author: Chris Lord <chris at linux.intel.com>
+Date:   Tue Mar 8 17:28:37 2011 -0800
+
+    label: Add a 'use-markup' property
+    
+    Add a 'use-markup' property that reflects the internal ClutterText property
+    of the same name. This makes it possible to set markup via ClutterScript.
+
+ docs/reference/libmx/mx-sections.txt |    2 +
+ mx/mx-label.c                        |   65 ++++++++++++++++++++++++++++++++--
+ mx/mx-label.h                        |    3 ++
+ 3 files changed, 67 insertions(+), 3 deletions(-)
+
+commit fb7d8acfab6df269da8b71cc9273e4879f30e24d
+Author: Chris Lord <chris at linux.intel.com>
+Date:   Tue Mar 8 14:28:50 2011 -0800
+
+    box-layout: Fix requested size when there is padding
+    
+    When orientation is vertical and there is horizontal padding, or
+    vice-versa, the padding wasn't taken into account correctly in
+    get_preferred_width/height. Make the necessary adjustment so that it is.
+
+ mx/mx-box-layout.c |    6 ++++++
+ 1 files changed, 6 insertions(+), 0 deletions(-)
+
+commit d3b17749e4425b17fdf7e37b53f863cdc91e2a91
+Author: Chris Lord <chris at linux.intel.com>
+Date:   Mon Mar 7 17:48:19 2011 -0800
+
+    window: Add a 'title' property
+    
+    Add a title property that mirrors the ClutterStage title property,
+    for convenience. This is especially handy for using MxWindow in
+    ClutterScript.
+
+ docs/reference/libmx/mx-sections.txt |    2 +
+ mx/mx-window.c                       |   62 +++++++++++++++++++++++++++++++++-
+ mx/mx-window.h                       |    3 ++
+ 3 files changed, 66 insertions(+), 1 deletions(-)
+
+commit ef414dc8e8ebbd6cc8000fc56877333bb88151ab
+Author: Chris Lord <chris at linux.intel.com>
+Date:   Mon Mar 7 17:45:16 2011 -0800
+
+    window: Allow setting of the toolbar
+    
+    Allow setting of the toolbar on MxWindow. This will let you override the
+    default window toolbar with your own toolbar (which could be a sub-class,
+    for example), and also allows populating of a toolbar from ClutterScript.
+
+ docs/reference/libmx/mx-sections.txt |    1 +
+ mx/mx-window.c                       |   73 +++++++++++++++++++++++++++------
+ mx/mx-window.h                       |    4 +-
+ 3 files changed, 63 insertions(+), 15 deletions(-)
+
+commit 2f1984fdafdebf585873b7cd704c1cf8b4d51a9b
+Author: Chris Lord <chris at linux.intel.com>
+Date:   Mon Mar 7 16:43:15 2011 -0800
+
+    window: Fix the fullscreen property setter
+    
+    There was a break missing when setting the GObject fullscreen property.
+
+ mx/mx-window.c |    1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+commit ddaa082ee473464bf8328649cce451d084ac7ddf
+Author: Chris Lord <chris at linux.intel.com>
+Date:   Fri Mar 4 22:03:30 2011 +0000
+
+    image: Fix some concurrency issues with asynchronous loading
+    
+    Always allow the idle handler to free the async data structure, check that
+    it completed before setting the image, check that the buffer is valid
+    before trying to write it in the pixbuf loader and make sure loads are
+    cancelled properly before setting the image.
+    
+    This should fix some possible warnings, and the possibility of an
+    asynchronous image load completing after a synchronous image load has been
+    done.
+
+ mx/mx-image.c |   82 ++++++++++++++++++++++++++++++--------------------------
+ 1 files changed, 44 insertions(+), 38 deletions(-)
+
+commit 26a278b418837f653e852fd2524bc8bb94ccc163
+Author: Chris Lord <chris at linux.intel.com>
+Date:   Thu Mar 3 14:29:58 2011 +0000
+
+    Post-release version bump to 1.1.10
+
+ configure.ac |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit 8e2edfe62a1ac3e1384b8042724a1a5f1383628c
+Author: Chris Lord <chris at linux.intel.com>
+Date:   Thu Mar 3 14:29:31 2011 +0000
+
+    Release 1.1.9
+
+ NEWS |   25 +++++++++++++++++++++++++
+ 1 files changed, 25 insertions(+), 0 deletions(-)
+
 commit f0b8df505e9cd5d13ac1142755caae9caf939beb
 Author: Chris Lord <chris at linux.intel.com>
 Date:   Thu Feb 24 12:54:41 2011 +0000
--- NEWS
+++ NEWS
@@ -1,3 +1,18 @@
+1.1.10
+======
+
+Changes since 1.1.9
+
+ * Fix some concurrency issues with asynchronous loading in MxImage
+ * Fix the fullscreen GObject property setter in MxWindow
+ * Make the toolbar property of MxWindow writable
+ * Add a title property to MxWindow
+ * Fix handling of padding in MxBoxLayout get_preferred_width/height
+ * Add a use-markup property to MxLabel
+ * Ensure the old border-image is correctly allocated in MxWidget
+ * Make sure the corners of MxFadeEffect render consistently
+ * Fix focus issues when showing a still-hiding MxDialog
+
 1.1.9
 =====
 
--- configure
+++ configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.66 for mx 1.1.9.
+# Generated by GNU Autoconf 2.66 for mx 1.1.10.
 #
 #
 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -559,8 +559,8 @@
 # Identity of this package.
 PACKAGE_NAME='mx'
 PACKAGE_TARNAME='mx'
-PACKAGE_VERSION='1.1.9'
-PACKAGE_STRING='mx 1.1.9'
+PACKAGE_VERSION='1.1.10'
+PACKAGE_STRING='mx 1.1.10'
 PACKAGE_BUGREPORT=''
 PACKAGE_URL=''
 
@@ -1395,7 +1395,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures mx 1.1.9 to adapt to many kinds of systems.
+\`configure' configures mx 1.1.10 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1465,7 +1465,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of mx 1.1.9:";;
+     short | recursive ) echo "Configuration of mx 1.1.10:";;
    esac
   cat <<\_ACEOF
 
@@ -1602,7 +1602,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-mx configure 1.1.9
+mx configure 1.1.10
 generated by GNU Autoconf 2.66
 
 Copyright (C) 2010 Free Software Foundation, Inc.
@@ -1967,7 +1967,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by mx $as_me 1.1.9, which was
+It was created by mx $as_me 1.1.10, which was
 generated by GNU Autoconf 2.66.  Invocation command line was
 
   $ $0 $@
@@ -2784,7 +2784,7 @@
 
 # Define the identity of the package.
  PACKAGE=mx
- VERSION=1.1.9
+ VERSION=1.1.10
 
 
 cat >>confdefs.h <<_ACEOF
@@ -11257,8 +11257,8 @@
 
 MX_MAJOR_VERSION=1
 MX_MINOR_VERSION=1
-MX_MICRO_VERSION=9
-MX_VERSION=1.1.9
+MX_MICRO_VERSION=10
+MX_VERSION=1.1.10
 MX_API_VERSION=1.0
 MX_API_VERSION_AM=1\_0
 
@@ -11271,9 +11271,9 @@
 
 
 
-MX_LT_CURRENT=109
+MX_LT_CURRENT=110
 MX_LT_REV=0
-MX_LT_AGE=107
+MX_LT_AGE=108
 MX_LT_VERSION="$MX_LT_CURRENT:$MX_LT_REV:$MX_LT_AGE"
 MX_LT_LDFLAGS="-version-info $MX_LT_VERSION"
 
@@ -14966,7 +14966,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by mx $as_me 1.1.9, which was
+This file was extended by mx $as_me 1.1.10, which was
 generated by GNU Autoconf 2.66.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -15032,7 +15032,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-mx config.status 1.1.9
+mx config.status 1.1.10
 configured by $0, generated by GNU Autoconf 2.66,
   with options \\"\$ac_cs_config\\"
 
--- configure.ac
+++ configure.ac
@@ -1,6 +1,6 @@
 m4_define([mx_major], [1])
 m4_define([mx_minor], [1])
-m4_define([mx_micro], [9])
+m4_define([mx_micro], [10])
 
 m4_define([mx_version], [mx_major.mx_minor.mx_micro])
 m4_define([mx_api_version], [mx_major.0])
--- docs/reference/libmx-gtk/html/ch01.html
+++ docs/reference/libmx-gtk/html/ch01.html
@@ -21,7 +21,7 @@
 </tr></table>
 <div class="chapter" title="GTK widgets">
 <div class="titlepage"><div><div><h2 class="title">
-<a name="id2831020"></a>GTK widgets</h2></div></div></div>
+<a name="id2914852"></a>GTK widgets</h2></div></div></div>
 <div class="toc"><dl>
 <dt>
 <span class="refentrytitle"><a href="MxGtkFrame.html">MxGtkFrame</a></span><span class="refpurpose"> — a specially styled frame for GTK+</span>
--- docs/reference/libmx-gtk/html/index.html
+++ docs/reference/libmx-gtk/html/index.html
@@ -15,7 +15,7 @@
 <div>
 <div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">Mx-GTK Reference Manual</p></th></tr></table></div>
 <div><p class="releaseinfo">
-      for mx-gtk 1.1.9
+      for mx-gtk 1.1.10
 
     </p></div>
 <div><p class="copyright">Copyright © 2009, 2010 Intel Corporation</p></div>
--- docs/reference/libmx-gtk/html/ix01.html
+++ docs/reference/libmx-gtk/html/ix01.html
@@ -29,7 +29,7 @@
 </table>
 <div class="index" title="Index of all symbols">
 <div class="titlepage"><div><div><h2 class="title">
-<a name="id2831041"></a>Index of all symbols</h2></div></div></div>
+<a name="id2914872"></a>Index of all symbols</h2></div></div></div>
 <a name="idx"></a><a name="idxF"></a><h3 class="title">F</h3>
 <dt>
 <a class="link" href="MxGtkFrame.html#MxGtkFrame-struct" title="MxGtkFrame">MxGtkFrame</a>, struct in <a class="link" href="MxGtkFrame.html" title="MxGtkFrame">MxGtkFrame</a>
--- docs/reference/libmx-gtk/html/pt01.html
+++ docs/reference/libmx-gtk/html/pt01.html
@@ -21,7 +21,7 @@
 </tr></table>
 <div class="part" title="Part I. API Reference">
 <div class="titlepage"><div><div><h1 class="title">
-<a name="id2831014"></a>Part I. API Reference</h1></div></div></div>
+<a name="id2914846"></a>Part I. API Reference</h1></div></div></div>
 <div class="toc">
 <p><b>Table of Contents</b></p>
 <dl>
--- docs/reference/libmx-gtk/version.xml
+++ docs/reference/libmx-gtk/version.xml
@@ -1 +1 @@
-1.1.9
+1.1.10
--- docs/reference/libmx/html/MxLabel.html
+++ docs/reference/libmx/html/MxLabel.html
@@ -50,6 +50,9 @@
 const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *       <a class="link" href="MxLabel.html#mx-label-get-text" title="mx_label_get_text ()">mx_label_get_text</a>                   (<em class="parameter"><code><a class="link" href="MxLabel.html" title="MxLabel"><span class="type">MxLabel</span></a> *label</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="MxLabel.html#mx-label-set-text" title="mx_label_set_text ()">mx_label_set_text</a>                   (<em class="parameter"><code><a class="link" href="MxLabel.html" title="MxLabel"><span class="type">MxLabel</span></a> *label</code></em>,
                                                          <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *text</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="MxLabel.html#mx-label-get-use-markup" title="mx_label_get_use_markup ()">mx_label_get_use_markup</a>             (<em class="parameter"><code><a class="link" href="MxLabel.html" title="MxLabel"><span class="type">MxLabel</span></a> *label</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="MxLabel.html#mx-label-set-use-markup" title="mx_label_set_use_markup ()">mx_label_set_use_markup</a>             (<em class="parameter"><code><a class="link" href="MxLabel.html" title="MxLabel"><span class="type">MxLabel</span></a> *label</code></em>,
+                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> use_markup</code></em>);
 <a href="../clutter/ClutterActor.html"><span class="returnvalue">ClutterActor</span></a> *      <a class="link" href="MxLabel.html#mx-label-get-clutter-text" title="mx_label_get_clutter_text ()">mx_label_get_clutter_text</a>           (<em class="parameter"><code><a class="link" href="MxLabel.html" title="MxLabel"><span class="type">MxLabel</span></a> *label</code></em>);
 <a class="link" href="mx-mx-types.html#MxAlign" title="enum MxAlign"><span class="returnvalue">MxAlign</span></a>             <a class="link" href="MxLabel.html#mx-label-get-x-align" title="mx_label_get_x_align ()">mx_label_get_x_align</a>                (<em class="parameter"><code><a class="link" href="MxLabel.html" title="MxLabel"><span class="type">MxLabel</span></a> *label</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="MxLabel.html#mx-label-set-x-align" title="mx_label_set_x_align ()">mx_label_set_x_align</a>                (<em class="parameter"><code><a class="link" href="MxLabel.html" title="MxLabel"><span class="type">MxLabel</span></a> *label</code></em>,
@@ -88,6 +91,7 @@
   "<a class="link" href="MxLabel.html#MxLabel--fade-out" title='The "fade-out" property'>fade-out</a>"                 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write
   "<a class="link" href="MxLabel.html#MxLabel--line-wrap" title='The "line-wrap" property'>line-wrap</a>"                <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write
   "<a class="link" href="MxLabel.html#MxLabel--text" title='The "text" property'>text</a>"                     <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>*                : Read / Write
+  "<a class="link" href="MxLabel.html#MxLabel--use-markup" title='The "use-markup" property'>use-markup</a>"               <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write
   "<a class="link" href="MxLabel.html#MxLabel--x-align" title='The "x-align" property'>x-align</a>"                  <a class="link" href="mx-mx-types.html#MxAlign" title="enum MxAlign"><span class="type">MxAlign</span></a>               : Read / Write
   "<a class="link" href="MxLabel.html#MxLabel--y-align" title='The "y-align" property'>y-align</a>"                  <a class="link" href="mx-mx-types.html#MxAlign" title="enum MxAlign"><span class="type">MxAlign</span></a>               : Read / Write
 </pre>
@@ -215,6 +219,55 @@
 </table></div>
 </div>
 <hr>
+<div class="refsect2" title="mx_label_get_use_markup ()">
+<a name="mx-label-get-use-markup"></a><h3>mx_label_get_use_markup ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            mx_label_get_use_markup             (<em class="parameter"><code><a class="link" href="MxLabel.html" title="MxLabel"><span class="type">MxLabel</span></a> *label</code></em>);</pre>
+<p>
+Determines whether the text of the label is being treated as Pango markup.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>label</code></em> :</span></p></td>
+<td>a <a class="link" href="MxLabel.html" title="MxLabel"><span class="type">MxLabel</span></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the text of the label is treated as Pango markup,
+  <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" title="mx_label_set_use_markup ()">
+<a name="mx-label-set-use-markup"></a><h3>mx_label_set_use_markup ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                mx_label_set_use_markup             (<em class="parameter"><code><a class="link" href="MxLabel.html" title="MxLabel"><span class="type">MxLabel</span></a> *label</code></em>,
+                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> use_markup</code></em>);</pre>
+<p>
+Sets whether the text of the label should be treated as Pango markup.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>label</code></em> :</span></p></td>
+<td>a <a class="link" href="MxLabel.html" title="MxLabel"><span class="type">MxLabel</span></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>use_markup</code></em> :</span></p></td>
+<td>
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> to use Pango markup, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
 <div class="refsect2" title="mx_label_get_clutter_text ()">
 <a name="mx-label-get-clutter-text"></a><h3>mx_label_get_clutter_text ()</h3>
 <pre class="programlisting"><a href="../clutter/ClutterActor.html"><span class="returnvalue">ClutterActor</span></a> *      mx_label_get_clutter_text           (<em class="parameter"><code><a class="link" href="MxLabel.html" title="MxLabel"><span class="type">MxLabel</span></a> *label</code></em>);</pre>
@@ -458,6 +511,13 @@
 <p>Default value: NULL</p>
 </div>
 <hr>
+<div class="refsect2" title='The "use-markup" property'>
+<a name="MxLabel--use-markup"></a><h3>The <code class="literal">"use-markup"</code> property</h3>
+<pre class="programlisting">  "use-markup"               <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write</pre>
+<p>Whether the text of the label should be treated as Pango markup.</p>
+<p>Default value: FALSE</p>
+</div>
+<hr>
 <div class="refsect2" title='The "x-align" property'>
 <a name="MxLabel--x-align"></a><h3>The <code class="literal">"x-align"</code> property</h3>
 <pre class="programlisting">  "x-align"                  <a class="link" href="mx-mx-types.html#MxAlign" title="enum MxAlign"><span class="type">MxAlign</span></a>               : Read / Write</pre>
--- docs/reference/libmx/html/MxStylable.html
+++ docs/reference/libmx/html/MxStylable.html
@@ -483,7 +483,7 @@
 <p>
 </p>
 <div class="example">
-<a name="id3162877"></a><p class="title"><b>Example 1. Using mx_stylable_get()</b></p>
+<a name="id2978890"></a><p class="title"><b>Example 1. Using mx_stylable_get()</b></p>
 <div class="example-contents">
 <p>An example of using <a class="link" href="MxStylable.html#mx-stylable-get" title="mx_stylable_get ()"><code class="function">mx_stylable_get()</code></a> to get the contents of
 two style properties - one of type <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#G-TYPE-INT:CAPS"><span class="type">G_TYPE_INT</span></a> and one of type
--- docs/reference/libmx/html/MxTextureCache.html
+++ docs/reference/libmx/html/MxTextureCache.html
@@ -43,11 +43,16 @@
                     <a class="link" href="MxTextureCache.html#MxTextureCacheClass" title="MxTextureCacheClass">MxTextureCacheClass</a>;
 <a class="link" href="MxTextureCache.html" title="MxTextureCache"><span class="returnvalue">MxTextureCache</span></a>*     <a class="link" href="MxTextureCache.html#mx-texture-cache-get-default" title="mx_texture_cache_get_default ()">mx_texture_cache_get_default</a>        (<em class="parameter"><code><span class="type">void</span></code></em>);
 <a href="../clutter/ClutterTexture.html"><span class="returnvalue">ClutterTexture</span></a>*     <a class="link" href="MxTextureCache.html#mx-texture-cache-get-texture" title="mx_texture_cache_get_texture ()">mx_texture_cache_get_texture</a>        (<em class="parameter"><code><a class="link" href="MxTextureCache.html" title="MxTextureCache"><span class="type">MxTextureCache</span></a> *self</code></em>,
-                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *path</code></em>);
+                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *uri</code></em>);
 <a href="../clutter/ClutterActor.html"><span class="returnvalue">ClutterActor</span></a>*       <a class="link" href="MxTextureCache.html#mx-texture-cache-get-actor" title="mx_texture_cache_get_actor ()">mx_texture_cache_get_actor</a>          (<em class="parameter"><code><a class="link" href="MxTextureCache.html" title="MxTextureCache"><span class="type">MxTextureCache</span></a> *self</code></em>,
-                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *path</code></em>);
+                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *uri</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="MxTextureCache.html#mx-texture-cache-contains" title="mx_texture_cache_contains ()">mx_texture_cache_contains</a>           (<em class="parameter"><code><a class="link" href="MxTextureCache.html" title="MxTextureCache"><span class="type">MxTextureCache</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *uri</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="MxTextureCache.html#mx-texture-cache-insert" title="mx_texture_cache_insert ()">mx_texture_cache_insert</a>             (<em class="parameter"><code><a class="link" href="MxTextureCache.html" title="MxTextureCache"><span class="type">MxTextureCache</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *uri</code></em>,
+                                                         <em class="parameter"><code><a href="../cogl/cogl-General-API.html#CoglHandle"><span class="type">CoglHandle</span></a> *texture</code></em>);
 <a href="../cogl/cogl-General-API.html#CoglHandle"><span class="returnvalue">CoglHandle</span></a>          <a class="link" href="MxTextureCache.html#mx-texture-cache-get-cogl-texture" title="mx_texture_cache_get_cogl_texture ()">mx_texture_cache_get_cogl_texture</a>   (<em class="parameter"><code><a class="link" href="MxTextureCache.html" title="MxTextureCache"><span class="type">MxTextureCache</span></a> *self</code></em>,
-                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *path</code></em>);
+                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *uri</code></em>);
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>                <a class="link" href="MxTextureCache.html#mx-texture-cache-get-size" title="mx_texture_cache_get_size ()">mx_texture_cache_get_size</a>           (<em class="parameter"><code><a class="link" href="MxTextureCache.html" title="MxTextureCache"><span class="type">MxTextureCache</span></a> *self</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="MxTextureCache.html#mx-texture-cache-load-cache" title="mx_texture_cache_load_cache ()">mx_texture_cache_load_cache</a>         (<em class="parameter"><code><a class="link" href="MxTextureCache.html" title="MxTextureCache"><span class="type">MxTextureCache</span></a> *self</code></em>,
                                                          <em class="parameter"><code>const <span class="type">char</span> *filename</code></em>);
@@ -84,7 +89,7 @@
   GObjectClass parent_class;
 
   void (* loaded)        (MxTextureCache *self,
-                          const gchar      *path,
+                          const gchar      *uri,
                           ClutterTexture   *texture);
 
   void (* error_loading) (MxTextureCache *self,
@@ -123,11 +128,11 @@
 <div class="refsect2" title="mx_texture_cache_get_texture ()">
 <a name="mx-texture-cache-get-texture"></a><h3>mx_texture_cache_get_texture ()</h3>
 <pre class="programlisting"><a href="../clutter/ClutterTexture.html"><span class="returnvalue">ClutterTexture</span></a>*     mx_texture_cache_get_texture        (<em class="parameter"><code><a class="link" href="MxTextureCache.html" title="MxTextureCache"><span class="type">MxTextureCache</span></a> *self</code></em>,
-                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *path</code></em>);</pre>
+                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *uri</code></em>);</pre>
 <p>
 Create a new ClutterTexture with the specified image. Adds the image to the
 cache if the image had not been previously loaded. Subsequent calls with
-the same image path will return a new ClutterTexture with the previously
+the same image URI/path will return a new ClutterTexture with the previously
 loaded image.
 </p>
 <div class="variablelist"><table border="0">
@@ -139,8 +144,8 @@
 </td>
 </tr>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>path</code></em> :</span></p></td>
-<td>A path to a image file
+<td><p><span class="term"><em class="parameter"><code>uri</code></em> :</span></p></td>
+<td>A URI or path to a image file
 </td>
 </tr>
 <tr>
@@ -155,7 +160,7 @@
 <div class="refsect2" title="mx_texture_cache_get_actor ()">
 <a name="mx-texture-cache-get-actor"></a><h3>mx_texture_cache_get_actor ()</h3>
 <pre class="programlisting"><a href="../clutter/ClutterActor.html"><span class="returnvalue">ClutterActor</span></a>*       mx_texture_cache_get_actor          (<em class="parameter"><code><a class="link" href="MxTextureCache.html" title="MxTextureCache"><span class="type">MxTextureCache</span></a> *self</code></em>,
-                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *path</code></em>);</pre>
+                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *uri</code></em>);</pre>
 <p>
 This is a wrapper around <a class="link" href="MxTextureCache.html#mx-texture-cache-get-texture" title="mx_texture_cache_get_texture ()"><code class="function">mx_texture_cache_get_texture()</code></a> which returns
 a ClutterActor.
@@ -169,8 +174,8 @@
 </td>
 </tr>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>path</code></em> :</span></p></td>
-<td>A path to a image file
+<td><p><span class="term"><em class="parameter"><code>uri</code></em> :</span></p></td>
+<td>A URI or path to a image file
 </td>
 </tr>
 <tr>
@@ -182,14 +187,79 @@
 </table></div>
 </div>
 <hr>
+<div class="refsect2" title="mx_texture_cache_contains ()">
+<a name="mx-texture-cache-contains"></a><h3>mx_texture_cache_contains ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            mx_texture_cache_contains           (<em class="parameter"><code><a class="link" href="MxTextureCache.html" title="MxTextureCache"><span class="type">MxTextureCache</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *uri</code></em>);</pre>
+<p>
+Checks whether the given URI/path is contained within the texture
+cache.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>A <a class="link" href="MxTextureCache.html" title="MxTextureCache"><span class="type">MxTextureCache</span></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>uri</code></em> :</span></p></td>
+<td>A URI or path to an image file
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the image exists, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" title="mx_texture_cache_insert ()">
+<a name="mx-texture-cache-insert"></a><h3>mx_texture_cache_insert ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                mx_texture_cache_insert             (<em class="parameter"><code><a class="link" href="MxTextureCache.html" title="MxTextureCache"><span class="type">MxTextureCache</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *uri</code></em>,
+                                                         <em class="parameter"><code><a href="../cogl/cogl-General-API.html#CoglHandle"><span class="type">CoglHandle</span></a> *texture</code></em>);</pre>
+<p>
+Inserts a texture into the texture cache. This can be useful if you
+want to cache a texture from a custom or unhandled URI type.
+</p>
+<p>
+If the URI is already in the cache, this texture will replace it. A
+reference will be taken on the given texture.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>A <a class="link" href="MxTextureCache.html" title="MxTextureCache"><span class="type">MxTextureCache</span></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>uri</code></em> :</span></p></td>
+<td>A URI
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>texture</code></em> :</span></p></td>
+<td>A <a href="../cogl/cogl-General-API.html#CoglHandle"><span class="type">CoglHandle</span></a> to a texture
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
 <div class="refsect2" title="mx_texture_cache_get_cogl_texture ()">
 <a name="mx-texture-cache-get-cogl-texture"></a><h3>mx_texture_cache_get_cogl_texture ()</h3>
 <pre class="programlisting"><a href="../cogl/cogl-General-API.html#CoglHandle"><span class="returnvalue">CoglHandle</span></a>          mx_texture_cache_get_cogl_texture   (<em class="parameter"><code><a class="link" href="MxTextureCache.html" title="MxTextureCache"><span class="type">MxTextureCache</span></a> *self</code></em>,
-                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *path</code></em>);</pre>
+                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *uri</code></em>);</pre>
 <p>
 Create a <a href="../cogl/cogl-General-API.html#CoglHandle"><span class="type">CoglHandle</span></a> representing a texture of the specified image. Adds
 the image to the cache if the image had not been previously loaded.
-Subsequent calls with the same image path will return the <a href="../cogl/cogl-General-API.html#CoglHandle"><span class="type">CoglHandle</span></a> of
+Subsequent calls with the same image URI/path will return the <a href="../cogl/cogl-General-API.html#CoglHandle"><span class="type">CoglHandle</span></a> of
 the previously loaded image with an increased reference count.
 </p>
 <div class="variablelist"><table border="0">
@@ -201,8 +271,8 @@
 </td>
 </tr>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>path</code></em> :</span></p></td>
-<td>A path to an image file
+<td><p><span class="term"><em class="parameter"><code>uri</code></em> :</span></p></td>
+<td>A URI or path to an image file
 </td>
 </tr>
 <tr>
--- docs/reference/libmx/html/MxWindow.html
+++ docs/reference/libmx/html/MxWindow.html
@@ -52,6 +52,8 @@
 <span class="returnvalue">void</span>                <a class="link" href="MxWindow.html#mx-window-set-child" title="mx_window_set_child ()">mx_window_set_child</a>                 (<em class="parameter"><code><a class="link" href="MxWindow.html" title="MxWindow"><span class="type">MxWindow</span></a> *window</code></em>,
                                                          <em class="parameter"><code><a href="../clutter/ClutterActor.html"><span class="type">ClutterActor</span></a> *actor</code></em>);
 <a class="link" href="MxToolbar.html" title="MxToolbar"><span class="returnvalue">MxToolbar</span></a>*          <a class="link" href="MxWindow.html#mx-window-get-toolbar" title="mx_window_get_toolbar ()">mx_window_get_toolbar</a>               (<em class="parameter"><code><a class="link" href="MxWindow.html" title="MxWindow"><span class="type">MxWindow</span></a> *window</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="MxWindow.html#mx-window-set-toolbar" title="mx_window_set_toolbar ()">mx_window_set_toolbar</a>               (<em class="parameter"><code><a class="link" href="MxWindow.html" title="MxWindow"><span class="type">MxWindow</span></a> *window</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="MxToolbar.html" title="MxToolbar"><span class="type">MxToolbar</span></a> *toolbar</code></em>);
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="MxWindow.html#mx-window-get-has-toolbar" title="mx_window_get_has_toolbar ()">mx_window_get_has_toolbar</a>           (<em class="parameter"><code><a class="link" href="MxWindow.html" title="MxWindow"><span class="type">MxWindow</span></a> *window</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="MxWindow.html#mx-window-set-has-toolbar" title="mx_window_set_has_toolbar ()">mx_window_set_has_toolbar</a>           (<em class="parameter"><code><a class="link" href="MxWindow.html" title="MxWindow"><span class="type">MxWindow</span></a> *window</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> toolbar</code></em>);
@@ -61,6 +63,9 @@
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="MxWindow.html#mx-window-get-fullscreen" title="mx_window_get_fullscreen ()">mx_window_get_fullscreen</a>            (<em class="parameter"><code><a class="link" href="MxWindow.html" title="MxWindow"><span class="type">MxWindow</span></a> *window</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="MxWindow.html#mx-window-set-fullscreen" title="mx_window_set_fullscreen ()">mx_window_set_fullscreen</a>            (<em class="parameter"><code><a class="link" href="MxWindow.html" title="MxWindow"><span class="type">MxWindow</span></a> *window</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> fullscreen</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="MxWindow.html#mx-window-set-title" title="mx_window_set_title ()">mx_window_set_title</a>                 (<em class="parameter"><code><a class="link" href="MxWindow.html" title="MxWindow"><span class="type">MxWindow</span></a> *window</code></em>,
+                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *title</code></em>);
+const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *       <a class="link" href="MxWindow.html#mx-window-get-title" title="mx_window_get_title ()">mx_window_get_title</a>                 (<em class="parameter"><code><a class="link" href="MxWindow.html" title="MxWindow"><span class="type">MxWindow</span></a> *window</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="MxWindow.html#mx-window-set-icon-name" title="mx_window_set_icon_name ()">mx_window_set_icon_name</a>             (<em class="parameter"><code><a class="link" href="MxWindow.html" title="MxWindow"><span class="type">MxWindow</span></a> *window</code></em>,
                                                          <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *icon_name</code></em>);
 const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *       <a class="link" href="MxWindow.html#mx-window-get-icon-name" title="mx_window_get_icon_name ()">mx_window_get_icon_name</a>             (<em class="parameter"><code><a class="link" href="MxWindow.html" title="MxWindow"><span class="type">MxWindow</span></a> *window</code></em>);
@@ -105,7 +110,8 @@
   "<a class="link" href="MxWindow.html#MxWindow--icon-cogl-texture" title='The "icon-cogl-texture" property'>icon-cogl-texture</a>"        <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>*                : Read / Write
   "<a class="link" href="MxWindow.html#MxWindow--icon-name" title='The "icon-name" property'>icon-name</a>"                <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>*                : Read / Write
   "<a class="link" href="MxWindow.html#MxWindow--small-screen" title='The "small-screen" property'>small-screen</a>"             <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write
-  "<a class="link" href="MxWindow.html#MxWindow--toolbar" title='The "toolbar" property'>toolbar</a>"                  <a class="link" href="MxToolbar.html" title="MxToolbar"><span class="type">MxToolbar</span></a>*            : Read
+  "<a class="link" href="MxWindow.html#MxWindow--title" title='The "title" property'>title</a>"                    <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>*                : Read / Write
+  "<a class="link" href="MxWindow.html#MxWindow--toolbar" title='The "toolbar" property'>toolbar</a>"                  <a class="link" href="MxToolbar.html" title="MxToolbar"><span class="type">MxToolbar</span></a>*            : Read / Write
   "<a class="link" href="MxWindow.html#MxWindow--window-rotation" title='The "window-rotation" property'>window-rotation</a>"          <a class="link" href="mx-mx-types.html#MxWindowRotation" title="enum MxWindowRotation"><span class="type">MxWindowRotation</span></a>      : Read / Write
   "<a class="link" href="MxWindow.html#MxWindow--window-rotation-angle" title='The "window-rotation-angle" property'>window-rotation-angle</a>"    <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gfloat"><span class="type">gfloat</span></a>                : Read
   "<a class="link" href="MxWindow.html#MxWindow--window-rotation-timeline" title='The "window-rotation-timeline" property'>window-rotation-timeline</a>" <a href="../clutter/ClutterTimeline.html"><span class="type">ClutterTimeline</span></a>*      : Read
@@ -297,6 +303,30 @@
 </table></div>
 </div>
 <hr>
+<div class="refsect2" title="mx_window_set_toolbar ()">
+<a name="mx-window-set-toolbar"></a><h3>mx_window_set_toolbar ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                mx_window_set_toolbar               (<em class="parameter"><code><a class="link" href="MxWindow.html" title="MxWindow"><span class="type">MxWindow</span></a> *window</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="MxToolbar.html" title="MxToolbar"><span class="type">MxToolbar</span></a> *toolbar</code></em>);</pre>
+<p>
+Sets the toolbar associated with the window.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>window</code></em> :</span></p></td>
+<td> A <a class="link" href="MxWindow.html" title="MxWindow"><span class="type">MxWindow</span></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>toolbar</code></em> :</span></p></td>
+<td>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
 <div class="refsect2" title="mx_window_get_has_toolbar ()">
 <a name="mx-window-get-has-toolbar"></a><h3>mx_window_get_has_toolbar ()</h3>
 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            mx_window_get_has_toolbar           (<em class="parameter"><code><a class="link" href="MxWindow.html" title="MxWindow"><span class="type">MxWindow</span></a> *window</code></em>);</pre>
@@ -460,6 +490,54 @@
 </table></div>
 </div>
 <hr>
+<div class="refsect2" title="mx_window_set_title ()">
+<a name="mx-window-set-title"></a><h3>mx_window_set_title ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                mx_window_set_title                 (<em class="parameter"><code><a class="link" href="MxWindow.html" title="MxWindow"><span class="type">MxWindow</span></a> *window</code></em>,
+                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *title</code></em>);</pre>
+<p>
+Sets the title used for the window, the results of which are
+window-system specific.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>window</code></em> :</span></p></td>
+<td>A <a class="link" href="MxWindow.html" title="MxWindow"><span class="type">MxWindow</span></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>title</code></em> :</span></p></td>
+<td>A string to use for the window title name
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" title="mx_window_get_title ()">
+<a name="mx-window-get-title"></a><h3>mx_window_get_title ()</h3>
+<pre class="programlisting">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *       mx_window_get_title                 (<em class="parameter"><code><a class="link" href="MxWindow.html" title="MxWindow"><span class="type">MxWindow</span></a> *window</code></em>);</pre>
+<p>
+Retrieves the title used for the window.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>window</code></em> :</span></p></td>
+<td>A <a class="link" href="MxWindow.html" title="MxWindow"><span class="type">MxWindow</span></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td> The title used for the window
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
 <div class="refsect2" title="mx_window_set_icon_name ()">
 <a name="mx-window-set-icon-name"></a><h3>mx_window_set_icon_name ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>                mx_window_set_icon_name             (<em class="parameter"><code><a class="link" href="MxWindow.html" title="MxWindow"><span class="type">MxWindow</span></a> *window</code></em>,
@@ -837,9 +915,16 @@
 <p>Default value: FALSE</p>
 </div>
 <hr>
+<div class="refsect2" title='The "title" property'>
+<a name="MxWindow--title"></a><h3>The <code class="literal">"title"</code> property</h3>
+<pre class="programlisting">  "title"                    <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>*                : Read / Write</pre>
+<p>Title to use for the window.</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
 <div class="refsect2" title='The "toolbar" property'>
 <a name="MxWindow--toolbar"></a><h3>The <code class="literal">"toolbar"</code> property</h3>
-<pre class="programlisting">  "toolbar"                  <a class="link" href="MxToolbar.html" title="MxToolbar"><span class="type">MxToolbar</span></a>*            : Read</pre>
+<pre class="programlisting">  "toolbar"                  <a class="link" href="MxToolbar.html" title="MxToolbar"><span class="type">MxToolbar</span></a>*            : Read / Write</pre>
 <p>The MxToolbar associated with the window.</p>
 </div>
 <hr>
--- docs/reference/libmx/html/ch01.html
+++ docs/reference/libmx/html/ch01.html
@@ -21,7 +21,7 @@
 </tr></table>
 <div class="chapter" title="Widgets">
 <div class="titlepage"><div><div><h2 class="title">
-<a name="id2993358"></a>Widgets</h2></div></div></div>
+<a name="id2816614"></a>Widgets</h2></div></div></div>
 <div class="toc"><dl>
 <dt>
 <span class="refentrytitle"><a href="MxWidget.html">MxWidget</a></span><span class="refpurpose"> — Base class for stylable actors</span>
--- docs/reference/libmx/html/ch02.html
+++ docs/reference/libmx/html/ch02.html
@@ -21,7 +21,7 @@
 </tr></table>
 <div class="chapter" title="Containers">
 <div class="titlepage"><div><div><h2 class="title">
-<a name="id2995945"></a>Containers</h2></div></div></div>
+<a name="id2810937"></a>Containers</h2></div></div></div>
 <div class="toc"><dl>
 <dt>
 <span class="refentrytitle"><a href="MxBoxLayoutChild.html">MxBoxLayoutChild</a></span><span class="refpurpose"> — meta data associated with a <a class="link" href="MxBoxLayout.html" title="MxBoxLayout"><span class="type">MxBoxLayout</span></a> child.</span>
--- docs/reference/libmx/html/ch03.html
+++ docs/reference/libmx/html/ch03.html
@@ -21,7 +21,7 @@
 </tr></table>
 <div class="chapter" title="Data Views">
 <div class="titlepage"><div><div><h2 class="title">
-<a name="id2996020"></a>Data Views</h2></div></div></div>
+<a name="id2811012"></a>Data Views</h2></div></div></div>
 <div class="toc"><dl>
 <dt>
 <span class="refentrytitle"><a href="MxItemView.html">MxItemView</a></span><span class="refpurpose"> — a flow layout driven by a model.</span>
--- docs/reference/libmx/html/ch04.html
+++ docs/reference/libmx/html/ch04.html
@@ -21,7 +21,7 @@
 </tr></table>
 <div class="chapter" title="Interfaces">
 <div class="titlepage"><div><div><h2 class="title">
-<a name="id2996035"></a>Interfaces</h2></div></div></div>
+<a name="id2811026"></a>Interfaces</h2></div></div></div>
 <div class="toc"><dl>
 <dt>
 <span class="refentrytitle"><a href="MxDraggable.html">mx-draggable</a></span><span class="refpurpose"></span>
--- docs/reference/libmx/html/ch05.html
+++ docs/reference/libmx/html/ch05.html
@@ -21,7 +21,7 @@
 </tr></table>
 <div class="chapter" title="Effects">
 <div class="titlepage"><div><div><h2 class="title">
-<a name="id2996066"></a>Effects</h2></div></div></div>
+<a name="id2811058"></a>Effects</h2></div></div></div>
 <div class="toc"><dl><dt>
 <span class="refentrytitle"><a href="MxFadeEffect.html">MxFadeEffect</a></span><span class="refpurpose"> — An effect used to fade the borders of actors</span>
 </dt></dl></div>
--- docs/reference/libmx/html/ch06.html
+++ docs/reference/libmx/html/ch06.html
@@ -21,7 +21,7 @@
 </tr></table>
 <div class="chapter" title="Abstract Types and Utilities">
 <div class="titlepage"><div><div><h2 class="title">
-<a name="id2996077"></a>Abstract Types and Utilities</h2></div></div></div>
+<a name="id2811069"></a>Abstract Types and Utilities</h2></div></div></div>
 <div class="toc"><dl>
 <dt>
 <span class="refentrytitle"><a href="MxAction.html">MxAction</a></span><span class="refpurpose"> — Represents a user action</span>
--- docs/reference/libmx/html/index.html
+++ docs/reference/libmx/html/index.html
@@ -15,7 +15,7 @@
 <div>
 <div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">Mx Toolkit Reference Manual</p></th></tr></table></div>
 <div><p class="releaseinfo">
-      for mx 1.1.9
+      for mx 1.1.10
 
     </p></div>
 <div><p class="copyright">Copyright © 2009, 2010, 2011 Intel Corporation</p></div>
--- docs/reference/libmx/html/index.sgml
+++ docs/reference/libmx/html/index.sgml
@@ -46,12 +46,15 @@
 <ANCHOR id="mx-window-get-child" href="mx/MxWindow.html#mx-window-get-child">
 <ANCHOR id="mx-window-set-child" href="mx/MxWindow.html#mx-window-set-child">
 <ANCHOR id="mx-window-get-toolbar" href="mx/MxWindow.html#mx-window-get-toolbar">
+<ANCHOR id="mx-window-set-toolbar" href="mx/MxWindow.html#mx-window-set-toolbar">
 <ANCHOR id="mx-window-get-has-toolbar" href="mx/MxWindow.html#mx-window-get-has-toolbar">
 <ANCHOR id="mx-window-set-has-toolbar" href="mx/MxWindow.html#mx-window-set-has-toolbar">
 <ANCHOR id="mx-window-get-small-screen" href="mx/MxWindow.html#mx-window-get-small-screen">
 <ANCHOR id="mx-window-set-small-screen" href="mx/MxWindow.html#mx-window-set-small-screen">
 <ANCHOR id="mx-window-get-fullscreen" href="mx/MxWindow.html#mx-window-get-fullscreen">
 <ANCHOR id="mx-window-set-fullscreen" href="mx/MxWindow.html#mx-window-set-fullscreen">
+<ANCHOR id="mx-window-set-title" href="mx/MxWindow.html#mx-window-set-title">
+<ANCHOR id="mx-window-get-title" href="mx/MxWindow.html#mx-window-get-title">
 <ANCHOR id="mx-window-set-icon-name" href="mx/MxWindow.html#mx-window-set-icon-name">
 <ANCHOR id="mx-window-get-icon-name" href="mx/MxWindow.html#mx-window-get-icon-name">
 <ANCHOR id="mx-window-set-icon-from-cogl-texture" href="mx/MxWindow.html#mx-window-set-icon-from-cogl-texture">
@@ -73,6 +76,7 @@
 <ANCHOR id="MxWindow--icon-cogl-texture" href="mx/MxWindow.html#MxWindow--icon-cogl-texture">
 <ANCHOR id="MxWindow--icon-name" href="mx/MxWindow.html#MxWindow--icon-name">
 <ANCHOR id="MxWindow--small-screen" href="mx/MxWindow.html#MxWindow--small-screen">
+<ANCHOR id="MxWindow--title" href="mx/MxWindow.html#MxWindow--title">
 <ANCHOR id="MxWindow--toolbar" href="mx/MxWindow.html#MxWindow--toolbar">
 <ANCHOR id="MxWindow--window-rotation" href="mx/MxWindow.html#MxWindow--window-rotation">
 <ANCHOR id="MxWindow--window-rotation-angle" href="mx/MxWindow.html#MxWindow--window-rotation-angle">
@@ -214,6 +218,8 @@
 <ANCHOR id="mx-label-new-with-text" href="mx/MxLabel.html#mx-label-new-with-text">
 <ANCHOR id="mx-label-get-text" href="mx/MxLabel.html#mx-label-get-text">
 <ANCHOR id="mx-label-set-text" href="mx/MxLabel.html#mx-label-set-text">
+<ANCHOR id="mx-label-get-use-markup" href="mx/MxLabel.html#mx-label-get-use-markup">
+<ANCHOR id="mx-label-set-use-markup" href="mx/MxLabel.html#mx-label-set-use-markup">
 <ANCHOR id="mx-label-get-clutter-text" href="mx/MxLabel.html#mx-label-get-clutter-text">
 <ANCHOR id="mx-label-get-x-align" href="mx/MxLabel.html#mx-label-get-x-align">
 <ANCHOR id="mx-label-set-x-align" href="mx/MxLabel.html#mx-label-set-x-align">
@@ -228,6 +234,7 @@
 <ANCHOR id="MxLabel--fade-out" href="mx/MxLabel.html#MxLabel--fade-out">
 <ANCHOR id="MxLabel--line-wrap" href="mx/MxLabel.html#MxLabel--line-wrap">
 <ANCHOR id="MxLabel--text" href="mx/MxLabel.html#MxLabel--text">
+<ANCHOR id="MxLabel--use-markup" href="mx/MxLabel.html#MxLabel--use-markup">
 <ANCHOR id="MxLabel--x-align" href="mx/MxLabel.html#MxLabel--x-align">
 <ANCHOR id="MxLabel--y-align" href="mx/MxLabel.html#MxLabel--y-align">
 <ANCHOR id="MxMenu" href="mx/MxMenu.html">
@@ -1267,6 +1274,8 @@
 <ANCHOR id="mx-texture-cache-get-default" href="mx/MxTextureCache.html#mx-texture-cache-get-default">
 <ANCHOR id="mx-texture-cache-get-texture" href="mx/MxTextureCache.html#mx-texture-cache-get-texture">
 <ANCHOR id="mx-texture-cache-get-actor" href="mx/MxTextureCache.html#mx-texture-cache-get-actor">
+<ANCHOR id="mx-texture-cache-contains" href="mx/MxTextureCache.html#mx-texture-cache-contains">
+<ANCHOR id="mx-texture-cache-insert" href="mx/MxTextureCache.html#mx-texture-cache-insert">
 <ANCHOR id="mx-texture-cache-get-cogl-texture" href="mx/MxTextureCache.html#mx-texture-cache-get-cogl-texture">
 <ANCHOR id="mx-texture-cache-get-size" href="mx/MxTextureCache.html#mx-texture-cache-get-size">
 <ANCHOR id="mx-texture-cache-load-cache" href="mx/MxTextureCache.html#mx-texture-cache-load-cache">
--- docs/reference/libmx/html/ix01.html
+++ docs/reference/libmx/html/ix01.html
@@ -61,7 +61,7 @@
 </table>
 <div class="index" title="Index of all symbols">
 <div class="titlepage"><div><div><h2 class="title">
-<a name="id2992792"></a>Index of all symbols</h2></div></div></div>
+<a name="id2807780"></a>Index of all symbols</h2></div></div></div>
 <a name="idx"></a><a name="idxA"></a><h3 class="title">A</h3>
 <dt>
 <a class="link" href="MxAction.html#MxAction-struct" title="MxAction">MxAction</a>, struct in <a class="link" href="MxAction.html" title="MxAction">MxAction</a>
@@ -1921,6 +1921,10 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="MxLabel.html#MxLabel--use-markup" title='The "use-markup" property'>MxLabel:use-markup</a>, object property in <a class="link" href="MxLabel.html" title="MxLabel">MxLabel</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="MxLabel.html#MxLabel--x-align" title='The "x-align" property'>MxLabel:x-align</a>, object property in <a class="link" href="MxLabel.html" title="MxLabel">MxLabel</a>
 </dt>
 <dd></dd>
@@ -1949,6 +1953,10 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="MxLabel.html#mx-label-get-use-markup" title="mx_label_get_use_markup ()">mx_label_get_use_markup</a>, function in <a class="link" href="MxLabel.html" title="MxLabel">MxLabel</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="MxLabel.html#mx-label-get-x-align" title="mx_label_get_x_align ()">mx_label_get_x_align</a>, function in <a class="link" href="MxLabel.html" title="MxLabel">MxLabel</a>
 </dt>
 <dd></dd>
@@ -1977,6 +1985,10 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="MxLabel.html#mx-label-set-use-markup" title="mx_label_set_use_markup ()">mx_label_set_use_markup</a>, function in <a class="link" href="MxLabel.html" title="MxLabel">MxLabel</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="MxLabel.html#mx-label-set-x-align" title="mx_label_set_x_align ()">mx_label_set_x_align</a>, function in <a class="link" href="MxLabel.html" title="MxLabel">MxLabel</a>
 </dt>
 <dd></dd>
@@ -2987,6 +2999,10 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="MxTextureCache.html#mx-texture-cache-contains" title="mx_texture_cache_contains ()">mx_texture_cache_contains</a>, function in <a class="link" href="MxTextureCache.html" title="MxTextureCache">MxTextureCache</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="MxTextureCache.html#mx-texture-cache-get-actor" title="mx_texture_cache_get_actor ()">mx_texture_cache_get_actor</a>, function in <a class="link" href="MxTextureCache.html" title="MxTextureCache">MxTextureCache</a>
 </dt>
 <dd></dd>
@@ -3007,6 +3023,10 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="MxTextureCache.html#mx-texture-cache-insert" title="mx_texture_cache_insert ()">mx_texture_cache_insert</a>, function in <a class="link" href="MxTextureCache.html" title="MxTextureCache">MxTextureCache</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="MxTextureCache.html#mx-texture-cache-load-cache" title="mx_texture_cache_load_cache ()">mx_texture_cache_load_cache</a>, function in <a class="link" href="MxTextureCache.html" title="MxTextureCache">MxTextureCache</a>
 </dt>
 <dd></dd>
@@ -3314,6 +3334,10 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="MxWindow.html#MxWindow--title" title='The "title" property'>MxWindow:title</a>, object property in <a class="link" href="MxWindow.html" title="MxWindow">MxWindow</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="MxWindow.html#MxWindow--toolbar" title='The "toolbar" property'>MxWindow:toolbar</a>, object property in <a class="link" href="MxWindow.html" title="MxWindow">MxWindow</a>
 </dt>
 <dd></dd>
@@ -3366,6 +3390,10 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="MxWindow.html#mx-window-get-title" title="mx_window_get_title ()">mx_window_get_title</a>, function in <a class="link" href="MxWindow.html" title="MxWindow">MxWindow</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="MxWindow.html#mx-window-get-toolbar" title="mx_window_get_toolbar ()">mx_window_get_toolbar</a>, function in <a class="link" href="MxWindow.html" title="MxWindow">MxWindow</a>
 </dt>
 <dd></dd>
@@ -3422,6 +3450,14 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="MxWindow.html#mx-window-set-title" title="mx_window_set_title ()">mx_window_set_title</a>, function in <a class="link" href="MxWindow.html" title="MxWindow">MxWindow</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MxWindow.html#mx-window-set-toolbar" title="mx_window_set_toolbar ()">mx_window_set_toolbar</a>, function in <a class="link" href="MxWindow.html" title="MxWindow">MxWindow</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="MxWindow.html#mx-window-set-window-position" title="mx_window_set_window_position ()">mx_window_set_window_position</a>, function in <a class="link" href="MxWindow.html" title="MxWindow">MxWindow</a>
 </dt>
 <dd></dd>
--- docs/reference/libmx/html/mx-mx-version.html
+++ docs/reference/libmx/html/mx-mx-version.html
@@ -76,7 +76,7 @@
 <hr>
 <div class="refsect2" title="MX_MICRO_VERSION">
 <a name="MX-MICRO-VERSION:CAPS"></a><h3>MX_MICRO_VERSION</h3>
-<pre class="programlisting">#define MX_MICRO_VERSION              (9)
+<pre class="programlisting">#define MX_MICRO_VERSION              (10)
 </pre>
 <p>
 The micro version of the Mx library (3, if version is 1.2.3)
@@ -85,7 +85,7 @@
 <hr>
 <div class="refsect2" title="MX_VERSION_S">
 <a name="MX-VERSION-S:CAPS"></a><h3>MX_VERSION_S</h3>
-<pre class="programlisting">#define MX_VERSION_S                  "1.1.9"
+<pre class="programlisting">#define MX_VERSION_S                  "1.1.10"
 </pre>
 <p>
 The full version of the Mx library, in string form (suited for
--- docs/reference/libmx/html/mx.devhelp
+++ docs/reference/libmx/html/mx.devhelp
@@ -112,12 +112,15 @@
     <function name="mx_window_get_child ()" link="MxWindow.html#mx-window-get-child"/>
     <function name="mx_window_set_child ()" link="MxWindow.html#mx-window-set-child"/>
     <function name="mx_window_get_toolbar ()" link="MxWindow.html#mx-window-get-toolbar"/>
+    <function name="mx_window_set_toolbar ()" link="MxWindow.html#mx-window-set-toolbar"/>
     <function name="mx_window_get_has_toolbar ()" link="MxWindow.html#mx-window-get-has-toolbar"/>
     <function name="mx_window_set_has_toolbar ()" link="MxWindow.html#mx-window-set-has-toolbar"/>
     <function name="mx_window_get_small_screen ()" link="MxWindow.html#mx-window-get-small-screen"/>
     <function name="mx_window_set_small_screen ()" link="MxWindow.html#mx-window-set-small-screen"/>
     <function name="mx_window_get_fullscreen ()" link="MxWindow.html#mx-window-get-fullscreen"/>
     <function name="mx_window_set_fullscreen ()" link="MxWindow.html#mx-window-set-fullscreen"/>
+    <function name="mx_window_set_title ()" link="MxWindow.html#mx-window-set-title"/>
+    <function name="mx_window_get_title ()" link="MxWindow.html#mx-window-get-title"/>
     <function name="mx_window_set_icon_name ()" link="MxWindow.html#mx-window-set-icon-name"/>
     <function name="mx_window_get_icon_name ()" link="MxWindow.html#mx-window-get-icon-name"/>
     <function name="mx_window_set_icon_from_cogl_texture ()" link="MxWindow.html#mx-window-set-icon-from-cogl-texture"/>
@@ -138,6 +141,7 @@
     <function name="The "icon-cogl-texture" property" link="MxWindow.html#MxWindow--icon-cogl-texture"/>
     <function name="The "icon-name" property" link="MxWindow.html#MxWindow--icon-name"/>
     <function name="The "small-screen" property" link="MxWindow.html#MxWindow--small-screen"/>
+    <function name="The "title" property" link="MxWindow.html#MxWindow--title"/>
     <function name="The "toolbar" property" link="MxWindow.html#MxWindow--toolbar"/>
     <function name="The "window-rotation" property" link="MxWindow.html#MxWindow--window-rotation"/>
     <function name="The "window-rotation-angle" property" link="MxWindow.html#MxWindow--window-rotation-angle"/>
@@ -229,6 +233,8 @@
     <function name="mx_label_new_with_text ()" link="MxLabel.html#mx-label-new-with-text"/>
     <function name="mx_label_get_text ()" link="MxLabel.html#mx-label-get-text"/>
     <function name="mx_label_set_text ()" link="MxLabel.html#mx-label-set-text"/>
+    <function name="mx_label_get_use_markup ()" link="MxLabel.html#mx-label-get-use-markup"/>
+    <function name="mx_label_set_use_markup ()" link="MxLabel.html#mx-label-set-use-markup"/>
     <function name="mx_label_get_clutter_text ()" link="MxLabel.html#mx-label-get-clutter-text"/>
     <function name="mx_label_get_x_align ()" link="MxLabel.html#mx-label-get-x-align"/>
     <function name="mx_label_set_x_align ()" link="MxLabel.html#mx-label-set-x-align"/>
@@ -242,6 +248,7 @@
     <function name="The "fade-out" property" link="MxLabel.html#MxLabel--fade-out"/>
     <function name="The "line-wrap" property" link="MxLabel.html#MxLabel--line-wrap"/>
     <function name="The "text" property" link="MxLabel.html#MxLabel--text"/>
+    <function name="The "use-markup" property" link="MxLabel.html#MxLabel--use-markup"/>
     <function name="The "x-align" property" link="MxLabel.html#MxLabel--x-align"/>
     <function name="The "y-align" property" link="MxLabel.html#MxLabel--y-align"/>
     <function name="MxMenu" link="MxMenu.html#MxMenu-struct"/>
@@ -892,6 +899,8 @@
     <function name="mx_texture_cache_get_default ()" link="MxTextureCache.html#mx-texture-cache-get-default"/>
     <function name="mx_texture_cache_get_texture ()" link="MxTextureCache.html#mx-texture-cache-get-texture"/>
     <function name="mx_texture_cache_get_actor ()" link="MxTextureCache.html#mx-texture-cache-get-actor"/>
+    <function name="mx_texture_cache_contains ()" link="MxTextureCache.html#mx-texture-cache-contains"/>
+    <function name="mx_texture_cache_insert ()" link="MxTextureCache.html#mx-texture-cache-insert"/>
     <function name="mx_texture_cache_get_cogl_texture ()" link="MxTextureCache.html#mx-texture-cache-get-cogl-texture"/>
     <function name="mx_texture_cache_get_size ()" link="MxTextureCache.html#mx-texture-cache-get-size"/>
     <function name="mx_texture_cache_load_cache ()" link="MxTextureCache.html#mx-texture-cache-load-cache"/>
--- docs/reference/libmx/html/mx.devhelp2
+++ docs/reference/libmx/html/mx.devhelp2
@@ -112,12 +112,15 @@
     <keyword type="function" name="mx_window_get_child ()" link="MxWindow.html#mx-window-get-child"/>
     <keyword type="function" name="mx_window_set_child ()" link="MxWindow.html#mx-window-set-child"/>
     <keyword type="function" name="mx_window_get_toolbar ()" link="MxWindow.html#mx-window-get-toolbar"/>
+    <keyword type="function" name="mx_window_set_toolbar ()" link="MxWindow.html#mx-window-set-toolbar"/>
     <keyword type="function" name="mx_window_get_has_toolbar ()" link="MxWindow.html#mx-window-get-has-toolbar"/>
     <keyword type="function" name="mx_window_set_has_toolbar ()" link="MxWindow.html#mx-window-set-has-toolbar"/>
     <keyword type="function" name="mx_window_get_small_screen ()" link="MxWindow.html#mx-window-get-small-screen"/>
     <keyword type="function" name="mx_window_set_small_screen ()" link="MxWindow.html#mx-window-set-small-screen"/>
     <keyword type="function" name="mx_window_get_fullscreen ()" link="MxWindow.html#mx-window-get-fullscreen"/>
     <keyword type="function" name="mx_window_set_fullscreen ()" link="MxWindow.html#mx-window-set-fullscreen"/>
+    <keyword type="function" name="mx_window_set_title ()" link="MxWindow.html#mx-window-set-title"/>
+    <keyword type="function" name="mx_window_get_title ()" link="MxWindow.html#mx-window-get-title"/>
     <keyword type="function" name="mx_window_set_icon_name ()" link="MxWindow.html#mx-window-set-icon-name"/>
     <keyword type="function" name="mx_window_get_icon_name ()" link="MxWindow.html#mx-window-get-icon-name"/>
     <keyword type="function" name="mx_window_set_icon_from_cogl_texture ()" link="MxWindow.html#mx-window-set-icon-from-cogl-texture"/>
@@ -138,6 +141,7 @@
     <keyword type="property" name="The "icon-cogl-texture" property" link="MxWindow.html#MxWindow--icon-cogl-texture"/>
     <keyword type="property" name="The "icon-name" property" link="MxWindow.html#MxWindow--icon-name"/>
     <keyword type="property" name="The "small-screen" property" link="MxWindow.html#MxWindow--small-screen"/>
+    <keyword type="property" name="The "title" property" link="MxWindow.html#MxWindow--title"/>
     <keyword type="property" name="The "toolbar" property" link="MxWindow.html#MxWindow--toolbar"/>
     <keyword type="property" name="The "window-rotation" property" link="MxWindow.html#MxWindow--window-rotation"/>
     <keyword type="property" name="The "window-rotation-angle" property" link="MxWindow.html#MxWindow--window-rotation-angle"/>
@@ -229,6 +233,8 @@
     <keyword type="function" name="mx_label_new_with_text ()" link="MxLabel.html#mx-label-new-with-text"/>
     <keyword type="function" name="mx_label_get_text ()" link="MxLabel.html#mx-label-get-text"/>
     <keyword type="function" name="mx_label_set_text ()" link="MxLabel.html#mx-label-set-text"/>
+    <keyword type="function" name="mx_label_get_use_markup ()" link="MxLabel.html#mx-label-get-use-markup"/>
+    <keyword type="function" name="mx_label_set_use_markup ()" link="MxLabel.html#mx-label-set-use-markup"/>
     <keyword type="function" name="mx_label_get_clutter_text ()" link="MxLabel.html#mx-label-get-clutter-text"/>
     <keyword type="function" name="mx_label_get_x_align ()" link="MxLabel.html#mx-label-get-x-align"/>
     <keyword type="function" name="mx_label_set_x_align ()" link="MxLabel.html#mx-label-set-x-align"/>
@@ -242,6 +248,7 @@
     <keyword type="property" name="The "fade-out" property" link="MxLabel.html#MxLabel--fade-out"/>
     <keyword type="property" name="The "line-wrap" property" link="MxLabel.html#MxLabel--line-wrap"/>
     <keyword type="property" name="The "text" property" link="MxLabel.html#MxLabel--text"/>
+    <keyword type="property" name="The "use-markup" property" link="MxLabel.html#MxLabel--use-markup"/>
     <keyword type="property" name="The "x-align" property" link="MxLabel.html#MxLabel--x-align"/>
     <keyword type="property" name="The "y-align" property" link="MxLabel.html#MxLabel--y-align"/>
     <keyword type="struct" name="MxMenu" link="MxMenu.html#MxMenu-struct"/>
@@ -892,6 +899,8 @@
     <keyword type="function" name="mx_texture_cache_get_default ()" link="MxTextureCache.html#mx-texture-cache-get-default"/>
     <keyword type="function" name="mx_texture_cache_get_texture ()" link="MxTextureCache.html#mx-texture-cache-get-texture"/>
     <keyword type="function" name="mx_texture_cache_get_actor ()" link="MxTextureCache.html#mx-texture-cache-get-actor"/>
+    <keyword type="function" name="mx_texture_cache_contains ()" link="MxTextureCache.html#mx-texture-cache-contains"/>
+    <keyword type="function" name="mx_texture_cache_insert ()" link="MxTextureCache.html#mx-texture-cache-insert"/>
     <keyword type="function" name="mx_texture_cache_get_cogl_texture ()" link="MxTextureCache.html#mx-texture-cache-get-cogl-texture"/>
     <keyword type="function" name="mx_texture_cache_get_size ()" link="MxTextureCache.html#mx-texture-cache-get-size"/>
     <keyword type="function" name="mx_texture_cache_load_cache ()" link="MxTextureCache.html#mx-texture-cache-load-cache"/>
--- docs/reference/libmx/html/pt01.html
+++ docs/reference/libmx/html/pt01.html
@@ -21,7 +21,7 @@
 </tr></table>
 <div class="part" title="Part I. Clutter Actors and Utilities">
 <div class="titlepage"><div><div><h1 class="title">
-<a name="id2993353"></a>Part I. Clutter Actors and Utilities</h1></div></div></div>
+<a name="id2816608"></a>Part I. Clutter Actors and Utilities</h1></div></div></div>
 <div class="toc">
 <p><b>Table of Contents</b></p>
 <dl>
--- docs/reference/libmx/mx-sections.txt
+++ docs/reference/libmx/mx-sections.txt
@@ -350,6 +350,8 @@
 mx_label_new_with_text
 mx_label_get_text
 mx_label_set_text
+mx_label_get_use_markup
+mx_label_set_use_markup
 mx_label_get_clutter_text
 mx_label_get_x_align
 mx_label_set_x_align
@@ -596,12 +598,15 @@
 mx_window_get_child
 mx_window_set_child
 mx_window_get_toolbar
+mx_window_set_toolbar
 mx_window_get_has_toolbar
 mx_window_set_has_toolbar
 mx_window_get_small_screen
 mx_window_set_small_screen
 mx_window_get_fullscreen
 mx_window_set_fullscreen
+mx_window_set_title
+mx_window_get_title
 mx_window_set_icon_name
 mx_window_get_icon_name
 mx_window_set_icon_from_cogl_texture
--- docs/reference/libmx/tmpl/mx-label.sgml
+++ docs/reference/libmx/tmpl/mx-label.sgml
@@ -46,6 +46,11 @@
 
 </para>
 
+<!-- ##### ARG MxLabel:use-markup ##### -->
+<para>
+
+</para>
+
 <!-- ##### ARG MxLabel:x-align ##### -->
 <para>
 
@@ -104,6 +109,24 @@
 @text: 
 
 
+<!-- ##### FUNCTION mx_label_get_use_markup ##### -->
+<para>
+
+</para>
+
+ at label: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION mx_label_set_use_markup ##### -->
+<para>
+
+</para>
+
+ at label: 
+ at use_markup: 
+
+
 <!-- ##### FUNCTION mx_label_get_clutter_text ##### -->
 <para>
 
--- docs/reference/libmx/tmpl/mx-texture-cache.sgml
+++ docs/reference/libmx/tmpl/mx-texture-cache.sgml
@@ -55,7 +55,7 @@
 </para>
 
 @self: 
- at path: 
+ at uri: 
 @Returns: 
 
 
@@ -65,17 +65,37 @@
 </para>
 
 @self: 
- at path: 
+ at uri: 
 @Returns: 
 
 
+<!-- ##### FUNCTION mx_texture_cache_contains ##### -->
+<para>
+
+</para>
+
+ at self: 
+ at uri: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION mx_texture_cache_insert ##### -->
+<para>
+
+</para>
+
+ at self: 
+ at uri: 
+ at texture: 
+
+
 <!-- ##### FUNCTION mx_texture_cache_get_cogl_texture ##### -->
 <para>
 
 </para>
 
 @self: 
- at path: 
+ at uri: 
 @Returns: 
 
 
--- docs/reference/libmx/tmpl/mx-unused.sgml
+++ docs/reference/libmx/tmpl/mx-unused.sgml
@@ -150,6 +150,12 @@
 </para>
 
 
+<!-- ##### ARG MxLabel:markup ##### -->
+<para>
+
+</para>
+
+
 <!-- ##### STRUCT MxModalFrame ##### -->
 <para>
 
@@ -334,6 +340,22 @@
 @effect: 
 @freeze: 
 
+<!-- ##### FUNCTION mx_image_set_from_cogl_texture ##### -->
+<para>
+
+</para>
+
+ at image: 
+ at texture: 
+
+<!-- ##### FUNCTION mx_label_set_markup ##### -->
+<para>
+
+</para>
+
+ at label: 
+ at markup: 
+
 <!-- ##### FUNCTION mx_modal_frame_hide ##### -->
 <para>
 
--- docs/reference/libmx/tmpl/mx-window.sgml
+++ docs/reference/libmx/tmpl/mx-window.sgml
@@ -68,6 +68,11 @@
 
 </para>
 
+<!-- ##### ARG MxWindow:title ##### -->
+<para>
+
+</para>
+
 <!-- ##### ARG MxWindow:toolbar ##### -->
 <para>
 
@@ -155,6 +160,15 @@
 @Returns: 
 
 
+<!-- ##### FUNCTION mx_window_set_toolbar ##### -->
+<para>
+
+</para>
+
+ at window: 
+ at toolbar: 
+
+
 <!-- ##### FUNCTION mx_window_get_has_toolbar ##### -->
 <para>
 
@@ -209,6 +223,24 @@
 @fullscreen: 
 
 
+<!-- ##### FUNCTION mx_window_set_title ##### -->
+<para>
+
+</para>
+
+ at window: 
+ at title: 
+
+
+<!-- ##### FUNCTION mx_window_get_title ##### -->
+<para>
+
+</para>
+
+ at window: 
+ at Returns: 
+
+
 <!-- ##### FUNCTION mx_window_set_icon_name ##### -->
 <para>
 
--- docs/reference/libmx/version.xml
+++ docs/reference/libmx/version.xml
@@ -1 +1 @@
-1.1.9
+1.1.10
--- mx/mx-box-layout.c
+++ mx/mx-box-layout.c
@@ -830,6 +830,9 @@
   if (natural_width_p)
     *natural_width_p = 0;
 
+  if (for_height > 0)
+    for_height = MAX (0, for_height - padding.top - padding.bottom);
+
   for (l = priv->children; l; l = g_list_next (l))
     {
       gfloat child_min = 0, child_nat = 0;
@@ -906,6 +909,9 @@
   if (natural_height_p)
     *natural_height_p = 0;
 
+  if (for_width > 0)
+    for_width = MAX (0, for_width - padding.left - padding.right);
+
 
   for (l = priv->children; l; l = g_list_next (l))
     {
--- mx/mx-dialog.c
+++ mx/mx-dialog.c
@@ -1052,6 +1052,18 @@
 }
 
 static void
+mx_dialog_steal_focus (MxDialog *self)
+{
+  ClutterActor *stage = clutter_actor_get_stage (CLUTTER_ACTOR (self));
+  if (stage)
+    {
+      MxFocusManager *manager =
+        mx_focus_manager_get_for_stage (CLUTTER_STAGE (stage));
+      mx_focus_manager_push_focus (manager, MX_FOCUSABLE (self));
+    }
+}
+
+static void
 mx_dialog_show (ClutterActor *self)
 {
   MxDialog *dialog = MX_DIALOG (self);
@@ -1059,7 +1071,6 @@
 
   if (!priv->visible)
     {
-      ClutterActor *stage;
       ClutterActor *parent = clutter_actor_get_parent (self);
 
       if (!parent)
@@ -1076,6 +1087,9 @@
             CLUTTER_TIMELINE_BACKWARD : CLUTTER_TIMELINE_FORWARD;
           clutter_timeline_set_direction (priv->timeline, direction);
 
+          CLUTTER_ACTOR_SET_FLAGS (self, CLUTTER_ACTOR_VISIBLE);
+          mx_dialog_steal_focus (dialog);
+
           return;
         }
 
@@ -1119,14 +1133,7 @@
       clutter_alpha_set_mode (priv->alpha, CLUTTER_EASE_OUT_QUAD);
       clutter_timeline_start (priv->timeline);
 
-      /* Steal focus */
-      stage = clutter_actor_get_stage (self);
-      if (stage)
-        {
-          MxFocusManager *manager =
-            mx_focus_manager_get_for_stage (CLUTTER_STAGE (stage));
-          mx_focus_manager_push_focus (manager, MX_FOCUSABLE (self));
-        }
+      mx_dialog_steal_focus (dialog);
     }
 }
 
--- mx/mx-fade-effect.c
+++ mx/mx-fade-effect.c
@@ -330,8 +330,10 @@
                           CoglColor         *color1,
                           CoglColor         *color2,
                           CoglColor         *color3,
-                          CoglColor         *color4)
+                          CoglColor         *color4,
+                          gboolean           clockwise)
 {
+  gint i, a;
   gfloat tx1, ty1, tx2, ty2;
 
   /* The Cogl rectangle drawing functions don't allow you to alter
@@ -343,33 +345,50 @@
   tx2 = x2 / width;
   ty2 = y2 / height;
 
-  verts[0].x = x1;
-  verts[0].y = y1;
-  verts[0].z = 0;
-  verts[0].tx = tx1;
-  verts[0].ty = ty1;
-  verts[0].color = *color1;
-
-  verts[1].x = x1;
-  verts[1].y = y2;
-  verts[1].z = 0;
-  verts[1].tx = tx1;
-  verts[1].ty = ty2;
-  verts[1].color = *color4;
-
-  verts[2].x = x2;
-  verts[2].y = y2;
-  verts[2].z = 0;
-  verts[2].tx = tx2;
-  verts[2].ty = ty2;
-  verts[2].color = *color3;
-
-  verts[3].x = x2;
-  verts[3].y = y1;
-  verts[3].z = 0;
-  verts[3].tx = tx2;
-  verts[3].ty = ty1;
-  verts[3].color = *color2;
+  if (clockwise)
+    {
+      i = 3;
+      a = -1;
+    }
+  else
+    {
+      i = 0;
+      a = 1;
+    }
+
+  verts[i].x = x1;
+  verts[i].y = y1;
+  verts[i].z = 0;
+  verts[i].tx = tx1;
+  verts[i].ty = ty1;
+  verts[i].color = *color1;
+
+  i += a;
+
+  verts[i].x = x1;
+  verts[i].y = y2;
+  verts[i].z = 0;
+  verts[i].tx = tx1;
+  verts[i].ty = ty2;
+  verts[i].color = *color4;
+
+  i += a;
+
+  verts[i].x = x2;
+  verts[i].y = y2;
+  verts[i].z = 0;
+  verts[i].tx = tx2;
+  verts[i].ty = ty2;
+  verts[i].color = *color3;
+
+  i += a;
+
+  verts[i].x = x2;
+  verts[i].y = y1;
+  verts[i].z = 0;
+  verts[i].tx = tx2;
+  verts[i].ty = ty1;
+  verts[i].color = *color2;
 }
 
 static void
@@ -436,7 +455,8 @@
                                 x1 + bl, y1 + bu,
                                 priv->width, priv->height,
                                 &color, &color,
-                                &opaque, &color);
+                                &opaque, &color,
+                                FALSE);
       n_quads ++;
     }
 
@@ -448,7 +468,8 @@
                                 x2 - br, y1 + bu,
                                 priv->width, priv->height,
                                 &color, &color,
-                                &opaque, &opaque);
+                                &opaque, &opaque,
+                                FALSE);
       n_quads ++;
     }
 
@@ -460,7 +481,8 @@
                                 x2, y1 + bu,
                                 priv->width, priv->height,
                                 &color, &color,
-                                &color, &opaque);
+                                &color, &opaque,
+                                TRUE);
       n_quads ++;
     }
 
@@ -472,7 +494,8 @@
                                 x1 + bl, y2 - bb,
                                 priv->width, priv->height,
                                 &color, &opaque,
-                                &opaque, &color);
+                                &opaque, &color,
+                                TRUE);
       n_quads ++;
     }
 
@@ -482,7 +505,8 @@
                             x2 - br, y2 - bb,
                             priv->width, priv->height,
                             &opaque, &opaque,
-                            &opaque, &opaque);
+                            &opaque, &opaque,
+                            TRUE);
   n_quads ++;
 
   /* Generate the right square */
@@ -493,7 +517,8 @@
                                 x2, y2 - bb,
                                 priv->width, priv->height,
                                 &opaque, &color,
-                                &color, &opaque);
+                                &color, &opaque,
+                                TRUE);
       n_quads ++;
     }
 
@@ -505,7 +530,8 @@
                                 x1 + bl, y2,
                                 priv->width, priv->height,
                                 &color, &opaque,
-                                &color, &color);
+                                &color, &color,
+                                TRUE);
       n_quads ++;
     }
 
@@ -517,7 +543,8 @@
                                 x2 - br, y2,
                                 priv->width, priv->height,
                                 &opaque, &opaque,
-                                &color, &color);
+                                &color, &color,
+                                FALSE);
       n_quads ++;
     }
 
@@ -529,7 +556,8 @@
                                 x2, y2,
                                 priv->width, priv->height,
                                 &opaque, &color,
-                                &color, &color);
+                                &color, &color,
+                                FALSE);
       n_quads ++;
     }
 
--- mx/mx-image.c
+++ mx/mx-image.c
@@ -46,25 +46,17 @@
  * The idea is that you create this structure (with the pixbuf as NULL)
  * and add it to the thread-pool.
  *
- * The 'complete' member of the struct is protected by the mutex. The
- * main thread can use this to indicate to the thread handler that the
- * load was cancelled, where as the thread handler uses this to indicate
- * that the load was completed.
+ * The 'complete' member of the struct is protected by the mutex.
+ * The thread handler uses this to indicate that the load was completed.
  *
- * The thread will take the mutex while it's loading data - if complete
- * is set when it takes the mutex, it will mark the thread as cancelled
- * and do nothing, otherwise it will load the image. It will then unlock
- * the mutex.
+ * The thread will take the mutex while it's loading data - if cancelled
+ * is set when it takes the mutex, it will add the idle handler and let the
+ * main thread free the data.
  *
  * The idle handler will check that the cancelled member isn't set and if not,
  * will try to upload the image using mx_image_set_from_pixbuf(). It will free
  * the async structure always. It will also reset the pointer to the task in
  * the MxImage priv struct, but only if the cancelled member *isn't* set.
- *
- * During MxImage dispose, if the async-data is non-NULL, it will take the
- * mutex. If it's complete, it will free the structure and remove the idle
- * handler. If it's not complete, it will set it to complete and the data
- * structure will be freed by the idle handler.
  */
 typedef struct
 {
@@ -496,20 +488,7 @@
 
   if (priv->async_load_data)
     {
-      MxImageAsyncData *data = priv->async_load_data;
-
-      g_mutex_lock (data->mutex);
-      if (data->complete)
-        {
-          g_mutex_unlock (data->mutex);
-          mx_image_async_data_free (data);
-        }
-      else
-        {
-          data->complete = TRUE;
-          g_mutex_unlock (data->mutex);
-        }
-
+      priv->async_load_data->cancelled = TRUE;
       priv->async_load_data = NULL;
     }
 
@@ -783,6 +762,19 @@
   clutter_actor_queue_relayout (CLUTTER_ACTOR (image));
 }
 
+static void
+mx_image_cancel_in_progress (MxImage *image)
+{
+  MxImagePrivate *priv = image->priv;
+
+  /* Cancel any asynchronous image load */
+  if (priv->async_load_data)
+    {
+      priv->async_load_data->cancelled = TRUE;
+      priv->async_load_data = NULL;
+    }
+}
+
 /**
  * mx_image_clear:
  * @image: A #MxImage
@@ -796,6 +788,8 @@
 {
   MxImagePrivate *priv = image->priv;
 
+  mx_image_cancel_in_progress (image);
+
   if (priv->texture)
     cogl_object_unref (priv->texture);
 
@@ -852,6 +846,8 @@
   err = NULL;
   priv = image->priv;
 
+  mx_image_cancel_in_progress (image);
+
   if (priv->old_texture)
     cogl_object_unref (priv->old_texture);
 
@@ -965,8 +961,11 @@
   data->idle_handler = 0;
 
   /* Don't do anything with the image data if we've been cancelled already */
-  if (!data->cancelled)
+  if (!data->cancelled && data->complete)
     {
+      /* Reset the current async image load data pointer */
+      data->parent->priv->async_load_data = NULL;
+
       /* If we managed to load the pixbuf, set it now, otherwise forward the
        * error on to the user via a signal.
        */
@@ -986,9 +985,6 @@
         }
       else
         g_signal_emit (data->parent, signals[IMAGE_LOAD_ERROR], 0, data->error);
-
-      /* Reset the image pointer to the data if necessary */
-      data->parent->priv->async_load_data = NULL;
     }
 
   /* Free the async loading struct */
@@ -1100,6 +1096,12 @@
       g_object_weak_ref (G_OBJECT (loader), (GWeakNotify)g_free, buffer);
     }
 
+  if (!buffer)
+    {
+      g_object_unref (loader);
+      return NULL;
+    }
+
   if (!gdk_pixbuf_loader_write (loader, buffer, count, &err))
     {
       g_propagate_error (error, err);
@@ -1132,11 +1134,16 @@
 
   g_mutex_lock (data->mutex);
 
-  /* Check if the task has been cancelled and free/bail out */
-  if (data->complete)
+  /* Check if the task has been cancelled and bail out - leave to the main
+   * thread to free the data.
+   */
+  if (data->cancelled)
     {
-      data->cancelled = TRUE;
+      data->idle_handler =
+        clutter_threads_add_idle_full (G_PRIORITY_HIGH_IDLE,
+                                       mx_image_load_complete_cb, data, NULL);
       g_mutex_unlock (data->mutex);
+
       return;
     }
 
@@ -1211,11 +1218,9 @@
         {
           if (old_data->complete)
             {
-              /* The load finished, cancel the upload and free
-               * the data.
-               */
+              /* The load finished, cancel the upload */
+              old_data->cancelled = TRUE;
               g_mutex_unlock (old_data->mutex);
-              mx_image_async_data_free (old_data);
             }
           else
             {
@@ -1227,6 +1232,7 @@
               old_data->free_func = free_func;
               old_data->width = width;
               old_data->height = height;
+              old_data->cancelled = FALSE;
               g_mutex_unlock (old_data->mutex);
 
               data = old_data;
--- mx/mx-label.c
+++ mx/mx-label.c
@@ -55,6 +55,7 @@
 
   PROP_CLUTTER_TEXT,
   PROP_TEXT,
+  PROP_USE_MARKUP,
   PROP_X_ALIGN,
   PROP_Y_ALIGN,
   PROP_LINE_WRAP,
@@ -96,6 +97,10 @@
       mx_label_set_text (label, g_value_get_string (value));
       break;
 
+    case PROP_USE_MARKUP:
+      mx_label_set_use_markup (label, g_value_get_boolean (value));
+      break;
+
     case PROP_Y_ALIGN:
       mx_label_set_y_align (label, g_value_get_enum (value));
       break;
@@ -124,7 +129,8 @@
                        GValue     *value,
                        GParamSpec *pspec)
 {
-  MxLabelPrivate *priv = MX_LABEL (gobject)->priv;
+  MxLabel *self = MX_LABEL (gobject);
+  MxLabelPrivate *priv = self->priv;
 
   switch (prop_id)
     {
@@ -137,6 +143,10 @@
                           clutter_text_get_text (CLUTTER_TEXT (priv->label)));
       break;
 
+    case PROP_USE_MARKUP:
+      g_value_set_boolean (value, mx_label_get_use_markup (self));
+      break;
+
     case PROP_X_ALIGN:
       g_value_set_enum (value, priv->x_align);
       break;
@@ -146,7 +156,7 @@
       break;
 
     case PROP_LINE_WRAP:
-      g_value_set_boolean (value, mx_label_get_line_wrap (MX_LABEL (gobject)));
+      g_value_set_boolean (value, mx_label_get_line_wrap (self));
       break;
 
     case PROP_FADE_OUT:
@@ -404,6 +414,14 @@
                                MX_PARAM_READWRITE | MX_PARAM_TRANSLATEABLE);
   g_object_class_install_property (gobject_class, PROP_TEXT, pspec);
 
+  pspec = g_param_spec_boolean ("use-markup",
+                                "Use markup",
+                                "Whether the text of the label should be "
+                                "treated as Pango markup",
+                                FALSE,
+                                MX_PARAM_READWRITE);
+  g_object_class_install_property (gobject_class, PROP_USE_MARKUP, pspec);
+
   pspec = g_param_spec_enum ("x-align",
                              "X Align",
                              "Horizontal position of the text layout",
@@ -643,12 +661,53 @@
 
   priv = label->priv;
 
-  clutter_text_set_text (CLUTTER_TEXT (priv->label), text);
+  if (clutter_text_get_use_markup (CLUTTER_TEXT (priv->label)))
+    clutter_text_set_markup (CLUTTER_TEXT (priv->label), text);
+  else
+    clutter_text_set_text (CLUTTER_TEXT (priv->label), text);
 
   g_object_notify (G_OBJECT (label), "text");
 }
 
 /**
+ * mx_label_get_use_markup:
+ * @label: a #MxLabel
+ *
+ * Determines whether the text of the label is being treated as Pango markup.
+ *
+ * Returns: %TRUE if the text of the label is treated as Pango markup,
+ *   %FALSE otherwise.
+ */
+gboolean
+mx_label_get_use_markup (MxLabel *label)
+{
+  g_return_val_if_fail (MX_IS_LABEL (label), FALSE);
+  return clutter_text_get_use_markup (CLUTTER_TEXT (label->priv->label));
+}
+
+/**
+ * mx_label_set_use_markup:
+ * @label: a #MxLabel
+ * @use_markup: %TRUE to use Pango markup, %FALSE otherwise
+ *
+ * Sets whether the text of the label should be treated as Pango markup.
+ */
+void
+mx_label_set_use_markup (MxLabel  *label,
+                         gboolean  use_markup)
+{
+  MxLabelPrivate *priv;
+
+  g_return_if_fail (MX_IS_LABEL (label));
+
+  priv = label->priv;
+
+  clutter_text_set_use_markup (CLUTTER_TEXT (priv->label), use_markup);
+
+  g_object_notify (G_OBJECT (label), "use-markup");
+}
+
+/**
  * mx_label_get_clutter_text:
  * @label: a #MxLabel
  *
--- mx/mx-label.h
+++ mx/mx-label.h
@@ -77,6 +77,9 @@
 G_CONST_RETURN gchar *mx_label_get_text         (MxLabel     *label);
 void                  mx_label_set_text         (MxLabel     *label,
                                                  const gchar *text);
+gboolean              mx_label_get_use_markup   (MxLabel *label);
+void                  mx_label_set_use_markup   (MxLabel     *label,
+                                                 gboolean use_markup);
 ClutterActor *        mx_label_get_clutter_text (MxLabel     *label);
 
 MxAlign               mx_label_get_x_align      (MxLabel *label);
--- mx/mx-widget.c
+++ mx/mx-widget.c
@@ -321,6 +321,7 @@
 {
   MxWidgetPrivate *priv = MX_WIDGET (actor)->priv;
   ClutterActorClass *klass;
+  ClutterActorBox frame_box = { 0, 0, box->x2 - box->x1, box->y2 - box->y1 };
 
   klass = CLUTTER_ACTOR_CLASS (mx_widget_parent_class);
   klass->allocate (actor, box, flags);
@@ -359,22 +360,13 @@
 
 
 
+  /* allocate border images */
   if (priv->border_image)
-    {
-      ClutterActorBox frame_box = {
-        0,
-        0,
-        box->x2 - box->x1,
-        box->y2 - box->y1
-      };
-
-      clutter_actor_allocate (CLUTTER_ACTOR (priv->border_image),
-                              &frame_box,
-                              flags);
+    clutter_actor_allocate (priv->border_image, &frame_box, flags);
+
+  if (priv->old_border_image)
+    clutter_actor_allocate (priv->old_border_image, &frame_box, flags);
 
-      if (priv->old_border_image)
-        clutter_actor_allocate (priv->old_border_image, &frame_box, flags);
-    }
 
   if (priv->background_image)
     {
--- mx/mx-window.c
+++ mx/mx-window.c
@@ -91,6 +91,7 @@
   PROP_TOOLBAR,
   PROP_SMALL_SCREEN,
   PROP_FULLSCREEN,
+  PROP_TITLE,
   PROP_ICON_NAME,
   PROP_ICON_COGL_TEXTURE,
   PROP_CLUTTER_STAGE,
@@ -115,7 +116,8 @@
                         GValue     *value,
                         GParamSpec *pspec)
 {
-  MxWindowPrivate *priv = MX_WINDOW (object)->priv;
+  MxWindow *self = MX_WINDOW (object);
+  MxWindowPrivate *priv = self->priv;
 
   switch (property_id)
     {
@@ -135,6 +137,10 @@
       g_value_set_boolean (value, priv->fullscreen);
       break;
 
+    case PROP_TITLE:
+      g_value_set_string (value, mx_window_get_title (self));
+      break;
+
     case PROP_ICON_NAME:
       g_value_set_string (value, priv->icon_name);
       break;
@@ -183,6 +189,10 @@
                                  g_value_get_boolean (value));
       break;
 
+    case PROP_TOOLBAR:
+      mx_window_set_toolbar (window, g_value_get_object (value));
+      break;
+
     case PROP_SMALL_SCREEN:
       mx_window_set_small_screen (window,
                                   g_value_get_boolean (value));
@@ -190,6 +200,11 @@
 
     case PROP_FULLSCREEN:
       mx_window_set_fullscreen (window, g_value_get_boolean (value));
+      break;
+
+    case PROP_TITLE:
+      mx_window_set_title (window, g_value_get_string (value));
+      break;
 
     case PROP_ICON_NAME:
       mx_window_set_icon_name (window,
@@ -221,7 +236,8 @@
 static void
 mx_window_dispose (GObject *object)
 {
-  MxWindowPrivate *priv = MX_WINDOW (object)->priv;
+  MxWindow *self = MX_WINDOW (object);
+  MxWindowPrivate *priv = self->priv;
 
   if (priv->icon_texture)
     {
@@ -230,11 +246,7 @@
     }
 
   if (priv->toolbar)
-    {
-      g_object_remove_weak_pointer (G_OBJECT (priv->toolbar),
-                                    (gpointer *)&priv->toolbar);
-      priv->toolbar = NULL;
-    }
+    mx_window_set_toolbar (self, NULL);
 
   if (priv->resize_grip)
     {
@@ -498,6 +510,14 @@
 }
 
 static void
+mx_window_title_cb (ClutterStage *stage,
+                    GParamSpec   *pspec,
+                    MxWindow     *self)
+{
+  g_object_notify (G_OBJECT (self), "title");
+}
+
+static void
 mx_window_destroy_cb (ClutterStage *stage, MxWindow *self)
 {
   self->priv->stage = NULL;
@@ -572,11 +592,8 @@
                              (gpointer *)&priv->stage);
   g_object_set_qdata (G_OBJECT (priv->stage), window_quark, object);
 
-  priv->has_toolbar = TRUE;
-  priv->toolbar = mx_toolbar_new ();
-  clutter_container_add_actor (CLUTTER_CONTAINER (priv->stage), priv->toolbar);
-  g_object_add_weak_pointer (G_OBJECT (priv->toolbar),
-                             (gpointer *)&priv->toolbar);
+  if (!priv->toolbar && priv->has_toolbar)
+    mx_window_set_toolbar (self, MX_TOOLBAR (mx_toolbar_new ()));
 
   priv->resize_grip = mx_icon_new ();
   mx_stylable_set_style_class (MX_STYLABLE (priv->resize_grip), "ResizeGrip");
@@ -593,10 +610,10 @@
                           G_CALLBACK (mx_window_post_paint_cb), object);
   g_signal_connect (priv->stage, "allocation-changed",
                     G_CALLBACK (mx_window_allocation_changed_cb), object);
-  g_signal_connect (priv->toolbar, "allocation-changed",
-                    G_CALLBACK (mx_window_allocation_changed_cb), object);
   g_signal_connect (priv->stage, "notify::fullscreen-set",
                     G_CALLBACK (mx_window_fullscreen_set_cb), object);
+  g_signal_connect (priv->stage, "notify::title",
+                    G_CALLBACK (mx_window_title_cb), object);
   g_signal_connect (priv->stage, "destroy",
                     G_CALLBACK (mx_window_destroy_cb), object);
   g_signal_connect (priv->stage, "actor-added",
@@ -639,7 +656,7 @@
                                "Toolbar",
                                "The MxToolbar associated with the window.",
                                MX_TYPE_TOOLBAR,
-                               MX_PARAM_READABLE);
+                               MX_PARAM_READWRITE);
   g_object_class_install_property (object_class, PROP_TOOLBAR, pspec);
 
   pspec = g_param_spec_boolean ("small-screen",
@@ -658,6 +675,13 @@
                                 MX_PARAM_READWRITE);
   g_object_class_install_property (object_class, PROP_FULLSCREEN, pspec);
 
+  pspec = g_param_spec_string ("title",
+                               "Title",
+                               "Title to use for the window.",
+                               NULL,
+                               MX_PARAM_READWRITE);
+  g_object_class_install_property (object_class, PROP_TITLE, pspec);
+
   pspec = g_param_spec_string ("icon-name",
                                "Icon name",
                                "Icon name to use for the window icon.",
@@ -769,6 +793,7 @@
   priv->rotation_timeline = clutter_timeline_new (400);
   priv->rotation_alpha = clutter_alpha_new_full (priv->rotation_timeline,
                                                  CLUTTER_EASE_IN_OUT_QUAD);
+  priv->has_toolbar = TRUE;
 
   g_signal_connect (priv->rotation_timeline, "new-frame",
                     G_CALLBACK (mx_window_rotation_new_frame_cb), self);
@@ -970,6 +995,54 @@
 }
 
 /**
+ * mx_window_set_toolbar:
+ * @window: (allow-none): A #MxWindow
+ *
+ * Sets the toolbar associated with the window.
+ */
+void
+mx_window_set_toolbar (MxWindow  *window,
+                       MxToolbar *toolbar)
+{
+  MxWindowPrivate *priv;
+
+  g_return_if_fail (MX_IS_WINDOW (window));
+  g_return_if_fail (!toolbar || MX_IS_TOOLBAR (toolbar));
+
+  priv = window->priv;
+
+  if (priv->toolbar == (ClutterActor *)toolbar)
+    return;
+
+  /* Remove old toolbar */
+  if (priv->toolbar)
+    {
+      g_signal_handlers_disconnect_by_func (priv->toolbar,
+                                            mx_window_allocation_changed_cb,
+                                            window);
+      g_object_remove_weak_pointer (G_OBJECT (priv->toolbar),
+                                    (gpointer *)&priv->toolbar);
+      clutter_container_remove_actor (CLUTTER_CONTAINER (priv->stage),
+                                      priv->toolbar);
+    }
+
+  priv->toolbar = (ClutterActor *)toolbar;
+
+  /* Add new toolbar */
+  if (toolbar)
+    {
+      clutter_container_add_actor (CLUTTER_CONTAINER (priv->stage),
+                                   priv->toolbar);
+      g_object_add_weak_pointer (G_OBJECT (priv->toolbar),
+                                 (gpointer *)&priv->toolbar);
+      g_signal_connect (priv->toolbar, "allocation-changed",
+                        G_CALLBACK (mx_window_allocation_changed_cb), window);
+    }
+
+  priv->has_toolbar = priv->toolbar ? TRUE : FALSE;
+}
+
+/**
  * mx_window_get_small_screen:
  * @window: A #MxWindow
  *
@@ -1057,6 +1130,39 @@
 }
 
 /**
+ * mx_window_set_title:
+ * @window: A #MxWindow
+ * @title: A string to use for the window title name
+ *
+ * Sets the title used for the window, the results of which are
+ * window-system specific.
+ */
+void
+mx_window_set_title (MxWindow    *window,
+                     const gchar *title)
+{
+  g_return_if_fail (MX_IS_WINDOW (window));
+  g_return_if_fail (title != NULL);
+
+  clutter_stage_set_title (CLUTTER_STAGE (window->priv->stage), title);
+}
+
+/**
+ * mx_window_get_title:
+ * @window: A #MxWindow
+ *
+ * Retrieves the title used for the window.
+ *
+ * Returns: The title used for the window
+ */
+const gchar *
+mx_window_get_title (MxWindow *window)
+{
+  g_return_val_if_fail (MX_IS_WINDOW (window), NULL);
+  return clutter_stage_get_title (CLUTTER_STAGE (window->priv->stage));
+}
+
+/**
  * mx_window_set_icon_name:
  * @window: A #MxWindow
  * @icon_name: (allow-none): An icon name, or %NULL
--- mx/mx-window.h
+++ mx/mx-window.h
@@ -101,7 +101,9 @@
 void          mx_window_set_child (MxWindow *window, ClutterActor *actor);
 
 
-MxToolbar* mx_window_get_toolbar     (MxWindow *window);
+MxToolbar* mx_window_get_toolbar (MxWindow *window);
+void       mx_window_set_toolbar (MxWindow *window, MxToolbar *toolbar);
+
 gboolean   mx_window_get_has_toolbar (MxWindow *window);
 void       mx_window_set_has_toolbar (MxWindow *window, gboolean  toolbar);
 
@@ -111,6 +113,9 @@
 gboolean   mx_window_get_fullscreen   (MxWindow *window);
 void       mx_window_set_fullscreen   (MxWindow *window, gboolean fullscreen);
 
+void         mx_window_set_title (MxWindow *window, const gchar *title);
+const gchar *mx_window_get_title (MxWindow *window);
+
 void         mx_window_set_icon_name (MxWindow *window, const gchar *icon_name);
 const gchar *mx_window_get_icon_name (MxWindow *window);
 

++++++ mx.yaml
--- mx.yaml
+++ mx.yaml
@@ -1,6 +1,6 @@
 Name: mx
 Summary: User interface toolkit built on Clutter
-Version: 1.1.9
+Version: 1.1.10
 Release: 1
 Group: Development/Library
 License: LGPLv2.1



More information about the MeeGo-commits mailing list