r25753 - in /packages/experimental/clutter-gtk/debian: ./ patches/

pochu at users.alioth.debian.org pochu at users.alioth.debian.org
Sun Dec 5 15:35:22 UTC 2010


Author: pochu
Date: Sun Dec  5 15:35:19 2010
New Revision: 25753

URL: http://svn.debian.org/wsvn/pkg-gnome/?sc=1&rev=25753
Log:
* New upstream release. Rename the source package.
* debian/patches/01_window_dont_use_size-request.patch,
  debian/patches/02_offscreen_dont_use_site-request.patch:
  - Patches from git, build with latest gtk+3.
* debian/control.in:
  - Update build dependencies.
  - Update Vcs-* fields.
  - Wrap relationship fields.
* debian/control.in,
  debian/*{0.10,1.0}*:
  - Rename binary packages for the new SONAME.
* debian/libclutter-gtk-1.0-0.symbols:
  - Updated.
* debian/copyright:
  - Updated.

Added:
    packages/experimental/clutter-gtk/debian/libclutter-gtk-1.0-0.install
      - copied unchanged from r25735, packages/experimental/clutter-gtk/debian/libclutter-gtk-0.10-0.install
    packages/experimental/clutter-gtk/debian/libclutter-gtk-1.0-0.symbols
      - copied, changed from r25735, packages/experimental/clutter-gtk/debian/libclutter-gtk-0.10-0.symbols
    packages/experimental/clutter-gtk/debian/libclutter-gtk-1.0-dev.examples
      - copied unchanged from r25735, packages/experimental/clutter-gtk/debian/libclutter-gtk-0.10-dev.examples
    packages/experimental/clutter-gtk/debian/libclutter-gtk-1.0-dev.install
      - copied unchanged from r25735, packages/experimental/clutter-gtk/debian/libclutter-gtk-0.10-dev.install
    packages/experimental/clutter-gtk/debian/libclutter-gtk-1.0-doc.install
      - copied unchanged from r25735, packages/experimental/clutter-gtk/debian/libclutter-gtk-0.10-doc.install
    packages/experimental/clutter-gtk/debian/libclutter-gtk-1.0-doc.links
      - copied, changed from r25735, packages/experimental/clutter-gtk/debian/libclutter-gtk-0.10-doc.links
    packages/experimental/clutter-gtk/debian/patches/
    packages/experimental/clutter-gtk/debian/patches/01_window_dont_use_size-request.patch
    packages/experimental/clutter-gtk/debian/patches/02_offscreen_dont_use_site-request.patch
    packages/experimental/clutter-gtk/debian/patches/series
Removed:
    packages/experimental/clutter-gtk/debian/libclutter-gtk-0.10-0.install
    packages/experimental/clutter-gtk/debian/libclutter-gtk-0.10-0.symbols
    packages/experimental/clutter-gtk/debian/libclutter-gtk-0.10-dev.examples
    packages/experimental/clutter-gtk/debian/libclutter-gtk-0.10-dev.install
    packages/experimental/clutter-gtk/debian/libclutter-gtk-0.10-doc.install
    packages/experimental/clutter-gtk/debian/libclutter-gtk-0.10-doc.links
Modified:
    packages/experimental/clutter-gtk/debian/changelog
    packages/experimental/clutter-gtk/debian/control
    packages/experimental/clutter-gtk/debian/control.in
    packages/experimental/clutter-gtk/debian/copyright

Modified: packages/experimental/clutter-gtk/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-gnome/packages/experimental/clutter-gtk/debian/changelog?rev=25753&op=diff
==============================================================================
--- packages/experimental/clutter-gtk/debian/changelog [utf-8] (original)
+++ packages/experimental/clutter-gtk/debian/changelog [utf-8] Sun Dec  5 15:35:19 2010
@@ -1,9 +1,27 @@
-clutter-gtk-0.10 (0.10.8-2) UNRELEASED; urgency=low
+clutter-gtk (0.91.4-1) experimental; urgency=low
 
+  [ Laurent Bigonville ]
   * Rename debian/libclutter-gtk-doc.links to
     debian/libclutter-gtk-0.10-doc.links and fix symlink path
 
- -- Laurent Bigonville <bigon at debian.org>  Tue, 26 Oct 2010 19:40:21 +0200
+  [ Emilio Pozuelo Monfort ]
+  * New upstream release. Rename the source package.
+  * debian/patches/01_window_dont_use_size-request.patch,
+    debian/patches/02_offscreen_dont_use_site-request.patch:
+    - Patches from git, build with latest gtk+3.
+  * debian/control.in:
+    - Update build dependencies.
+    - Update Vcs-* fields.
+    - Wrap relationship fields.
+  * debian/control.in,
+    debian/*{0.10,1.0}*:
+    - Rename binary packages for the new SONAME.
+  * debian/libclutter-gtk-1.0-0.symbols:
+    - Updated.
+  * debian/copyright:
+    - Updated.
+
+ -- Emilio Pozuelo Monfort <pochu at debian.org>  Sun, 05 Dec 2010 16:35:16 +0100
 
 clutter-gtk-0.10 (0.10.8-1) experimental; urgency=low
 

Modified: packages/experimental/clutter-gtk/debian/control
URL: http://svn.debian.org/wsvn/pkg-gnome/packages/experimental/clutter-gtk/debian/control?rev=25753&op=diff
==============================================================================
--- packages/experimental/clutter-gtk/debian/control [utf-8] (original)
+++ packages/experimental/clutter-gtk/debian/control [utf-8] Sun Dec  5 15:35:19 2010
@@ -3,7 +3,7 @@
 # Modifications should be made to debian/control.in instead.
 # This file is regenerated automatically in the clean target.
 
-Source: clutter-gtk-0.10
+Source: clutter-gtk
 Section: libs
 Priority: optional
 Maintainer: Ross Burton <ross at debian.org>
@@ -11,8 +11,8 @@
 Build-Depends: debhelper (>= 5),
                cdbs,
                gnome-pkg-tools,
-               libclutter-1.0-dev,
-               libgtk2.0-dev
+               libclutter-1.0-dev (>= 1.3.8),
+               libgtk3.0-dev (>- 2.91.0)
 Standards-Version: 3.9.1
 Vcs-Browser: http://svn.debian.org/wsvn/pkg-gnome/packages/unstable/clutter-gtk-0.10/
 Vcs-Svn: svn://svn.debian.org/svn/pkg-gnome/packages/unstable/clutter-gtk-0.10/

Modified: packages/experimental/clutter-gtk/debian/control.in
URL: http://svn.debian.org/wsvn/pkg-gnome/packages/experimental/clutter-gtk/debian/control.in?rev=25753&op=diff
==============================================================================
--- packages/experimental/clutter-gtk/debian/control.in [utf-8] (original)
+++ packages/experimental/clutter-gtk/debian/control.in [utf-8] Sun Dec  5 15:35:19 2010
@@ -1,4 +1,4 @@
-Source: clutter-gtk-0.10
+Source: clutter-gtk
 Section: libs
 Priority: optional
 Maintainer: Ross Burton <ross at debian.org>
@@ -6,26 +6,31 @@
 Build-Depends: debhelper (>= 5),
                cdbs,
                gnome-pkg-tools,
-               libclutter-1.0-dev,
-               libgtk2.0-dev
+               libgtk3.0-dev (>= 2.91.0),
+               libclutter-1.0-dev (>= 1.3.8)
 Standards-Version: 3.9.1
-Vcs-Browser: http://svn.debian.org/wsvn/pkg-gnome/packages/unstable/clutter-gtk-0.10/
-Vcs-Svn: svn://svn.debian.org/svn/pkg-gnome/packages/unstable/clutter-gtk-0.10/
+Vcs-Browser: http://svn.debian.org/viewsvn/pkg-gnome/packages/unstable/clutter-gtk/
+Vcs-Svn: svn://svn.debian.org/svn/pkg-gnome/packages/unstable/clutter-gtk/
 Homepage: http://www.clutter-project.org/
 
-Package: libclutter-gtk-0.10-0
+Package: libclutter-gtk-1.0-0
 Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends}
+Depends: ${shlibs:Depends},
+         ${misc:Depends}
 Description: Open GL based interactive canvas library GTK+ widget
  Clutter is an Open GL based interactive canvas library, designed for creating
  fast, mainly 2D single window applications such as media box UIs,
  presentations, kiosk style applications and so on.
 
-Package: libclutter-gtk-0.10-dev
+Package: libclutter-gtk-1.0-dev
 Section: libdevel
 Architecture: any
-Depends: libclutter-gtk-0.10-0 (= ${binary:Version}), pkg-config, libclutter-1.0-dev, libgtk2.0-dev, ${misc:Depends}
-Suggests: libclutter-gtk-0.10-doc
+Depends: libclutter-gtk-1.0-0 (= ${binary:Version}),
+         pkg-config,
+         libgtk3.0-dev (>= 2.91.0),
+         libclutter-1.0-dev (>= 1.3.8),
+         ${misc:Depends}
+Suggests: libclutter-gtk-1.0-doc
 Description: Open GL based interactive canvas library GTK+ widget (development files)
  Clutter is an Open GL based interactive canvas library, designed for creating
  fast, mainly 2D single window applications such as media box UIs,
@@ -33,11 +38,12 @@
  .
  This package contains the development files.
 
-Package: libclutter-gtk-0.10-dbg
+Package: libclutter-gtk-1.0-dbg
 Section: debug
 Architecture: any
 Priority: extra
-Depends: libclutter-gtk-0.10-0 (= ${binary:Version}), ${misc:Depends}
+Depends: libclutter-gtk-1.0-0 (= ${binary:Version}),
+         ${misc:Depends}
 Description: Open GL based interactive canvas library GTK+ widget (debug files)
  Clutter is an Open GL based interactive canvas library, designed for creating
  fast, mainly 2D single window applications such as media box UIs,
@@ -45,12 +51,14 @@
  .
  This package contains the debug files.
 
-Package: libclutter-gtk-0.10-doc
+Package: libclutter-gtk-1.0-doc
 Section: doc
 Architecture: all
 Depends: ${misc:Depends}
-Conflicts: libclutter-gtk-doc
-Replaces: libclutter-gtk-doc
+Conflicts: libclutter-gtk-doc,
+           libclutter-gtk-0.10-doc
+Replaces: libclutter-gtk-doc,
+          libclutter-gtk-0.10-doc
 Recommends: libclutter-1.0-doc
 Suggests: devhelp
 Description: Open GL based interactive canvas library GTK+ widget (documentation)

Modified: packages/experimental/clutter-gtk/debian/copyright
URL: http://svn.debian.org/wsvn/pkg-gnome/packages/experimental/clutter-gtk/debian/copyright?rev=25753&op=diff
==============================================================================
--- packages/experimental/clutter-gtk/debian/copyright [utf-8] (original)
+++ packages/experimental/clutter-gtk/debian/copyright [utf-8] Sun Dec  5 15:35:19 2010
@@ -1,15 +1,18 @@
 This package was debianized by Ross Burton <ross at debian.org> on Fri, 23 Mar 2007
 14:35:50 +0000
 
-It was downloaded from http://projects.o-hand.com/clutter
+It was downloaded from http://www.clutter-project.org/sources/clutter-gtk/
 
 Upstream Authors:
 Matthew Allum <mallum at o-hand.com>
 Emmanuele Bassi <ebassi at o-hand.com>
 Iain Holmes <iain at o-hand.com>
 
-Copyright (C) 2006-2008 OpenedHand Ltd.
-Copyright (C) 2006-2009 Intel Corp.
+Copyright (C) 2006-2010 OpenedHand Ltd.
+Copyright (C) 2006-2010 Intel Corp.
+Copyright (C) 2009 Collabora Ltd
+Copyright (C) 2009 Red Hat, Inc
+
 
 License:
 

Copied: packages/experimental/clutter-gtk/debian/libclutter-gtk-1.0-0.symbols (from r25735, packages/experimental/clutter-gtk/debian/libclutter-gtk-0.10-0.symbols)
URL: http://svn.debian.org/wsvn/pkg-gnome/packages/experimental/clutter-gtk/debian/libclutter-gtk-1.0-0.symbols?rev=25753&op=diff
==============================================================================
--- packages/experimental/clutter-gtk/debian/libclutter-gtk-0.10-0.symbols [utf-8] (original)
+++ packages/experimental/clutter-gtk/debian/libclutter-gtk-1.0-0.symbols [utf-8] Sun Dec  5 15:35:19 2010
@@ -1,30 +1,41 @@
-libclutter-gtk-0.10.so.0 libclutter-gtk-0.10-0 #MINVER#
- gtk_clutter_embed_get_stage at Base 0.10.2
- gtk_clutter_embed_get_type at Base 0.10.2
- gtk_clutter_embed_new at Base 0.10.2
- gtk_clutter_get_base_color at Base 0.10.2
- gtk_clutter_get_bg_color at Base 0.10.2
- gtk_clutter_get_dark_color at Base 0.10.2
- gtk_clutter_get_fg_color at Base 0.10.2
- gtk_clutter_get_light_color at Base 0.10.2
- gtk_clutter_get_mid_color at Base 0.10.2
- gtk_clutter_get_text_aa_color at Base 0.10.2
- gtk_clutter_get_text_color at Base 0.10.2
- gtk_clutter_init at Base 0.10.2
- gtk_clutter_init_with_args at Base 0.10.2
- gtk_clutter_scrollable_get_adjustments at Base 0.10.2
- gtk_clutter_scrollable_get_type at Base 0.10.2
- gtk_clutter_scrollable_set_adjustments at Base 0.10.2
- gtk_clutter_texture_error_quark at Base 0.10.2
- gtk_clutter_texture_new_from_icon_name at Base 0.10.2
- gtk_clutter_texture_new_from_pixbuf at Base 0.10.2
- gtk_clutter_texture_new_from_stock at Base 0.10.2
- gtk_clutter_texture_set_from_icon_name at Base 0.10.2
- gtk_clutter_texture_set_from_pixbuf at Base 0.10.2
- gtk_clutter_texture_set_from_stock at Base 0.10.2
- gtk_clutter_viewport_get_origin at Base 0.10.2
- gtk_clutter_viewport_get_type at Base 0.10.2
- gtk_clutter_viewport_new at Base 0.10.2
- gtk_clutter_zoomable_get_adjustment at Base 0.10.2
- gtk_clutter_zoomable_get_type at Base 0.10.2
- gtk_clutter_zoomable_set_adjustment at Base 0.10.2
+libclutter-gtk-1.0.so.0 libclutter-gtk-1.0-0 #MINVER#
+* Build-Depends-Package: libclutter-gtk-1.0-dev
+ _gtk_clutter_actor_get_embed at Base 0.91.4
+ _gtk_clutter_actor_update at Base 0.91.4
+ _gtk_clutter_embed_set_child_active at Base 0.91.4
+ _gtk_clutter_offscreen_get_type at Base 0.91.4
+ _gtk_clutter_offscreen_new at Base 0.91.4
+ _gtk_clutter_offscreen_set_active at Base 0.91.4
+ _gtk_clutter_offscreen_set_in_allocation at Base 0.91.4
+ clutter_gtk_major_version at Base 0.91.4
+ clutter_gtk_micro_version at Base 0.91.4
+ clutter_gtk_minor_version at Base 0.91.4
+ gtk_clutter_actor_get_contents at Base 0.91.4
+ gtk_clutter_actor_get_type at Base 0.91.4
+ gtk_clutter_actor_get_widget at Base 0.91.4
+ gtk_clutter_actor_new at Base 0.91.4
+ gtk_clutter_actor_new_with_contents at Base 0.91.4
+ gtk_clutter_embed_get_stage at Base 0.91.4
+ gtk_clutter_embed_get_type at Base 0.91.4
+ gtk_clutter_embed_new at Base 0.91.4
+ gtk_clutter_get_base_color at Base 0.91.4
+ gtk_clutter_get_bg_color at Base 0.91.4
+ gtk_clutter_get_dark_color at Base 0.91.4
+ gtk_clutter_get_fg_color at Base 0.91.4
+ gtk_clutter_get_light_color at Base 0.91.4
+ gtk_clutter_get_mid_color at Base 0.91.4
+ gtk_clutter_get_option_group at Base 0.91.4
+ gtk_clutter_get_text_aa_color at Base 0.91.4
+ gtk_clutter_get_text_color at Base 0.91.4
+ gtk_clutter_init at Base 0.91.4
+ gtk_clutter_init_with_args at Base 0.91.4
+ gtk_clutter_texture_error_quark at Base 0.91.4
+ gtk_clutter_texture_new_from_icon_name at Base 0.91.4
+ gtk_clutter_texture_new_from_pixbuf at Base 0.91.4
+ gtk_clutter_texture_new_from_stock at Base 0.91.4
+ gtk_clutter_texture_set_from_icon_name at Base 0.91.4
+ gtk_clutter_texture_set_from_pixbuf at Base 0.91.4
+ gtk_clutter_texture_set_from_stock at Base 0.91.4
+ gtk_clutter_window_get_stage at Base 0.91.4
+ gtk_clutter_window_get_type at Base 0.91.4
+ gtk_clutter_window_new at Base 0.91.4

Copied: packages/experimental/clutter-gtk/debian/libclutter-gtk-1.0-doc.links (from r25735, packages/experimental/clutter-gtk/debian/libclutter-gtk-0.10-doc.links)
URL: http://svn.debian.org/wsvn/pkg-gnome/packages/experimental/clutter-gtk/debian/libclutter-gtk-1.0-doc.links?rev=25753&op=diff
==============================================================================
--- packages/experimental/clutter-gtk/debian/libclutter-gtk-0.10-doc.links [utf-8] (original)
+++ packages/experimental/clutter-gtk/debian/libclutter-gtk-1.0-doc.links [utf-8] Sun Dec  5 15:35:19 2010
@@ -1,1 +1,1 @@
-usr/share/gtk-doc/html/clutter-gtk usr/share/doc/libclutter-gtk-0.10-doc/html
+usr/share/gtk-doc/html/clutter-gtk usr/share/doc/libclutter-gtk-1.0-doc/html

Added: packages/experimental/clutter-gtk/debian/patches/01_window_dont_use_size-request.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/packages/experimental/clutter-gtk/debian/patches/01_window_dont_use_size-request.patch?rev=25753&op=file
==============================================================================
--- packages/experimental/clutter-gtk/debian/patches/01_window_dont_use_size-request.patch (added)
+++ packages/experimental/clutter-gtk/debian/patches/01_window_dont_use_size-request.patch [utf-8] Sun Dec  5 15:35:19 2010
@@ -1,0 +1,67 @@
+From 5dce4bd149935ad039b4aa1e33eb96a461b36818 Mon Sep 17 00:00:00 2001
+From: Emmanuele Bassi <ebassi at linux.intel.com>
+Date: Wed, 01 Dec 2010 17:09:33 +0000
+Subject: window: Do not use size-request
+
+---
+diff --git a/clutter-gtk/gtk-clutter-window.c b/clutter-gtk/gtk-clutter-window.c
+index 1087cb1..d572d70 100644
+--- a/clutter-gtk/gtk-clutter-window.c
++++ b/clutter-gtk/gtk-clutter-window.c
+@@ -63,24 +63,31 @@ gtk_clutter_window_finalize (GObject *self)
+ }
+ 
+ static void
+-gtk_clutter_window_size_request (GtkWidget      *self,
+-                                 GtkRequisition *requisition)
++gtk_clutter_window_get_preferred_width (GtkWidget *self,
++                                        gint      *minimum,
++                                        gint      *natural)
+ {
+-  GtkClutterWindowPrivate *priv;
++  GtkClutterWindowPrivate *priv = GTK_CLUTTER_WINDOW (self)->priv;
+   GtkWidget *bin;
+ 
+-  g_return_if_fail (GTK_CLUTTER_IS_WINDOW (self));
+-  priv = GTK_CLUTTER_WINDOW (self)->priv;
+-
+   bin = gtk_clutter_actor_get_widget (GTK_CLUTTER_ACTOR (priv->actor));
++  gtk_widget_get_preferred_width (gtk_bin_get_child (GTK_BIN (bin)),
++                                  minimum,
++                                  natural);
++}
+ 
+-  /* find out what the preferred size of the bin contents are, since we
+-   * can't ask Clutter for some reason (it always returns the allocated
+-   * size -- why?). This means things like any scaling applied to the actor
+-   * won't make the window change size (feature?) */
+-  gtk_widget_get_preferred_size (gtk_bin_get_child (GTK_BIN (bin)),
+-                                 requisition,
+-                                 NULL);
++static void
++gtk_clutter_window_get_preferred_height (GtkWidget *self,
++                                         gint      *minimum,
++                                         gint      *natural)
++{
++  GtkClutterWindowPrivate *priv = GTK_CLUTTER_WINDOW (self)->priv;
++  GtkWidget *bin;
++
++  bin = gtk_clutter_actor_get_widget (GTK_CLUTTER_ACTOR (priv->actor));
++  gtk_widget_get_preferred_height (gtk_bin_get_child (GTK_BIN (bin)),
++                                   minimum,
++                                   natural);
+ }
+ 
+ static void
+@@ -230,7 +237,8 @@ gtk_clutter_window_class_init (GtkClutterWindowClass *klass)
+ 
+   gobject_class->finalize = gtk_clutter_window_finalize;
+ 
+-  widget_class->size_request = gtk_clutter_window_size_request;
++  widget_class->get_preferred_width = gtk_clutter_window_get_preferred_width;
++  widget_class->get_preferred_height = gtk_clutter_window_get_preferred_height;
+ 
+   /* connect all of the container methods up to our bin */
+   container_class->add                = gtk_clutter_window_add;
+--
+cgit v0.8.3.1-30-gff3a

Added: packages/experimental/clutter-gtk/debian/patches/02_offscreen_dont_use_site-request.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/packages/experimental/clutter-gtk/debian/patches/02_offscreen_dont_use_site-request.patch?rev=25753&op=file
==============================================================================
--- packages/experimental/clutter-gtk/debian/patches/02_offscreen_dont_use_site-request.patch (added)
+++ packages/experimental/clutter-gtk/debian/patches/02_offscreen_dont_use_site-request.patch [utf-8] Sun Dec  5 15:35:19 2010
@@ -1,0 +1,305 @@
+From 7f1e7e2ae81591e24009b369263d641379f296f9 Mon Sep 17 00:00:00 2001
+From: Emmanuele Bassi <ebassi at linux.intel.com>
+Date: Wed, 01 Dec 2010 17:10:11 +0000
+Subject: offscreen: Do not use size-request
+
+Still, something in either Clutter or GTK+ master broke the widget
+embedding.
+---
+diff --git a/clutter-gtk/gtk-clutter-offscreen.c b/clutter-gtk/gtk-clutter-offscreen.c
+index 752cebf..826e06f 100644
+--- a/clutter-gtk/gtk-clutter-offscreen.c
++++ b/clutter-gtk/gtk-clutter-offscreen.c
+@@ -20,39 +20,31 @@ static void
+ gtk_clutter_offscreen_add (GtkContainer *container,
+                            GtkWidget    *child)
+ {
+-  GtkClutterOffscreen *offscreen;
+-
+-  g_return_if_fail (GTK_CLUTTER_IS_OFFSCREEN (container));
+-
+-  offscreen = GTK_CLUTTER_OFFSCREEN (container);
++  GtkClutterOffscreen *offscreen = GTK_CLUTTER_OFFSCREEN (container);
+ 
+   GTK_CONTAINER_CLASS (_gtk_clutter_offscreen_parent_class)->add (container, child);
+ 
+-  if (CLUTTER_ACTOR_IS_VISIBLE (offscreen->actor))
++  if (offscreen->actor != NULL &&
++      CLUTTER_ACTOR_IS_VISIBLE (offscreen->actor))
+     {
+       /* force a relayout */
+-      clutter_actor_set_size (offscreen->actor, -1, -1);
+       clutter_actor_queue_relayout (offscreen->actor);
+     }
+-
+ }
+ 
+ static void
+ gtk_clutter_offscreen_remove (GtkContainer *container,
+                               GtkWidget    *child)
+ {
+-  GtkClutterOffscreen *offscreen;
+-
+-  g_return_if_fail (GTK_CLUTTER_IS_OFFSCREEN (container));
+-
+-  offscreen = GTK_CLUTTER_OFFSCREEN (container);
++  GtkClutterOffscreen *offscreen = GTK_CLUTTER_OFFSCREEN (container);
+ 
+   GTK_CONTAINER_CLASS (_gtk_clutter_offscreen_parent_class)->remove (container, child);
+ 
+-  if (offscreen->actor != NULL && CLUTTER_ACTOR_IS_VISIBLE (offscreen->actor))
++  if (offscreen->actor != NULL &&
++      CLUTTER_ACTOR_IS_VISIBLE (offscreen->actor))
+     {
+       /* force a relayout */
+-      clutter_actor_set_size (offscreen->actor, -1, -1);
++      clutter_actor_queue_relayout (offscreen->actor);
+     }
+ }
+ 
+@@ -61,16 +53,19 @@ gtk_clutter_offscreen_check_resize (GtkContainer *container)
+ {
+   GtkClutterOffscreen *offscreen = GTK_CLUTTER_OFFSCREEN (container);
+ 
++  /* queue a relayout only if we're not in the middle of an
++   * allocation
++   */
+   if (offscreen->actor != NULL && !offscreen->in_allocation)
+     clutter_actor_queue_relayout (offscreen->actor);
+ }
+ 
+ static void
+-offscreen_window_to_parent (GdkWindow       *offscreen_window,
+-                            double           offscreen_x,
+-                            double           offscreen_y,
+-                            double          *parent_x,
+-                            double          *parent_y,
++offscreen_window_to_parent (GdkWindow           *offscreen_window,
++                            double               offscreen_x,
++                            double               offscreen_y,
++                            double              *parent_x,
++                            double              *parent_y,
+                             GtkClutterOffscreen *offscreen)
+ {
+   ClutterVertex point, vertex;
+@@ -84,14 +79,15 @@ offscreen_window_to_parent (GdkWindow       *offscreen_window,
+ }
+ 
+ static void
+-offscreen_window_from_parent (GdkWindow       *window,
+-                              double           parent_x,
+-                              double           parent_y,
+-                              double          *offscreen_x,
+-                              double          *offscreen_y,
++offscreen_window_from_parent (GdkWindow           *window,
++                              double               parent_x,
++                              double               parent_y,
++                              double              *offscreen_x,
++                              double              *offscreen_y,
+                               GtkClutterOffscreen *offscreen)
+ {
+   gfloat x, y;
++
+   if (clutter_actor_transform_stage_point (offscreen->actor,
+                                            parent_x,
+                                            parent_y,
+@@ -118,20 +114,21 @@ gtk_clutter_offscreen_realize (GtkWidget *widget)
+   GdkWindowAttr attributes;
+   gint attributes_mask;
+   guint border_width;
+-  GtkWidget *parent;
++  GtkWidget *parent, *child;
+ 
+   gtk_widget_set_realized (widget, TRUE);
+ 
+   border_width = gtk_container_get_border_width (GTK_CONTAINER (widget));
+ 
+   gtk_widget_get_allocation (widget, &allocation);
++
+   attributes.x = allocation.x + border_width;
+   attributes.y = allocation.y + border_width;
+   attributes.width = allocation.width - 2 * border_width;
+   attributes.height = allocation.height - 2 * border_width;
+   attributes.window_type = GDK_WINDOW_OFFSCREEN;
+-  attributes.event_mask = gtk_widget_get_events (widget) |
+-    GDK_EXPOSURE_MASK;
++  attributes.event_mask = gtk_widget_get_events (widget)
++                        | GDK_EXPOSURE_MASK;
+   attributes.visual = gtk_widget_get_visual (widget);
+   attributes.wclass = GDK_INPUT_OUTPUT;
+ 
+@@ -140,14 +137,21 @@ gtk_clutter_offscreen_realize (GtkWidget *widget)
+   parent = gtk_widget_get_parent (widget);
+ 
+   window = gdk_window_new (gdk_screen_get_root_window (gdk_window_get_screen (gtk_widget_get_window (parent))),
+-			   &attributes, attributes_mask);
++			   &attributes,
++                           attributes_mask);
+   gtk_widget_set_window (widget, window);
+   gdk_window_set_user_data (window, widget);
+ 
+   g_signal_connect (window, "to-embedder",
+-		    G_CALLBACK (offscreen_window_to_parent), widget);
++		    G_CALLBACK (offscreen_window_to_parent),
++                    widget);
+   g_signal_connect (window, "from-embedder",
+-		    G_CALLBACK (offscreen_window_from_parent), widget);
++		    G_CALLBACK (offscreen_window_from_parent),
++                    widget);
++
++  child = gtk_bin_get_child (GTK_BIN (widget));
++  if (child != NULL)
++    gtk_widget_set_parent_window (child, window);
+ 
+   gtk_widget_style_attach (widget);
+   style = gtk_widget_get_style (widget);
+@@ -156,7 +160,6 @@ gtk_clutter_offscreen_realize (GtkWidget *widget)
+   if (offscreen->active)
+     _gtk_clutter_embed_set_child_active (GTK_CLUTTER_EMBED (parent),
+ 					 widget, TRUE);
+-
+ }
+ 
+ static void
+@@ -172,25 +175,56 @@ gtk_clutter_offscreen_unrealize (GtkWidget *widget)
+ }
+ 
+ static void
+-gtk_clutter_offscreen_size_request (GtkWidget      *widget,
+-				    GtkRequisition *requisition)
++gtk_clutter_offscreen_get_preferred_width (GtkWidget *widget,
++                                           gint      *minimum,
++                                           gint      *natural)
+ {
++  GtkBin *bin = GTK_BIN (widget);
+   GtkWidget *child;
+-  guint border_width;
++  gint border_width;
+ 
+   border_width = gtk_container_get_border_width (GTK_CONTAINER (widget));
+-  requisition->width = (border_width * 2);
+-  requisition->height = (border_width * 2);
+ 
+-  child = gtk_bin_get_child (GTK_BIN (widget));
+-  if (child && gtk_widget_get_visible (child))
++  *minimum = border_width * 2;
++  *natural = border_width * 2;
++
++  child = gtk_bin_get_child (bin);
++
++  if (child != NULL && gtk_widget_get_visible (child))
++    {
++      gint child_min, child_nat;
++
++      gtk_widget_get_preferred_width (child, &child_min, &child_nat);
++
++      *minimum += child_min;
++      *natural += child_nat;
++    }
++}
++
++static void
++gtk_clutter_offscreen_get_preferred_height (GtkWidget *widget,
++                                            gint      *minimum,
++                                            gint      *natural)
++{
++  GtkBin *bin = GTK_BIN (widget);
++  GtkWidget *child;
++  gint border_width;
++
++  border_width = gtk_container_get_border_width (GTK_CONTAINER (widget));
++
++  *minimum = border_width * 2;
++  *natural = border_width * 2;
++
++  child = gtk_bin_get_child (bin);
++
++  if (child != NULL && gtk_widget_get_visible (child))
+     {
+-      GtkRequisition child_requisition;
++      gint child_min, child_nat;
+ 
+-      gtk_widget_get_preferred_size (child, &child_requisition, NULL);
++      gtk_widget_get_preferred_height (child, &child_min, &child_nat);
+ 
+-      requisition->width += child_requisition.width;
+-      requisition->height += child_requisition.height;
++      *minimum += child_min;
++      *natural += child_nat;
+     }
+ }
+ 
+@@ -198,24 +232,22 @@ static void
+ gtk_clutter_offscreen_size_allocate (GtkWidget     *widget,
+ 				     GtkAllocation *allocation)
+ {
+-  GtkClutterOffscreen *offscreen;
+-  GtkAllocation widget_allocation;
+-  GtkWidget *child;
+-  guint border_width;
++  GtkAllocation old_allocation;
+ 
+-  offscreen = GTK_CLUTTER_OFFSCREEN (widget);
+-  gtk_widget_get_allocation (widget, &widget_allocation);
++  gtk_widget_get_allocation (widget, &old_allocation);
+ 
+   /* some widgets call gtk_widget_queue_resize() which triggers a
+-   * size-request/size-allocate cycle.
++   * size request/allocate cycle.
++   *
+    * Calling gdk_window_move_resize() triggers an expose-event of the entire
+    * widget tree, so we only want to do it if the allocation has changed in
+-   * some way, otherwise we can just ignore it. */
++   * some way, otherwise we can just ignore it.
++   */
+   if (gtk_widget_get_realized (widget) &&
+-      (allocation->x != widget_allocation.x ||
+-       allocation->y != widget_allocation.y ||
+-       allocation->width != widget_allocation.width ||
+-       allocation->height != widget_allocation.height))
++      (allocation->x != old_allocation.x ||
++       allocation->y != old_allocation.y ||
++       allocation->width != old_allocation.width ||
++       allocation->height != old_allocation.height))
+     {
+       gdk_window_move_resize (gtk_widget_get_window (widget),
+                               0, 0,
+@@ -223,25 +255,7 @@ gtk_clutter_offscreen_size_allocate (GtkWidget     *widget,
+                               allocation->height);
+     }
+ 
+-  gtk_widget_set_allocation (widget, allocation);
+-  border_width = gtk_container_get_border_width (GTK_CONTAINER (widget));
+-
+-  child = gtk_bin_get_child (GTK_BIN (offscreen));
+-  if (child && gtk_widget_get_visible (child))
+-    {
+-      GtkAllocation child_allocation;
+-
+-      child_allocation.x = border_width;
+-      child_allocation.y = border_width;
+-
+-      child_allocation.width = MAX (1, allocation->width -
+-				    border_width * 2);
+-      child_allocation.height = MAX (1, allocation->height -
+-				     border_width * 2);
+-
+-      gtk_widget_size_allocate (gtk_bin_get_child (GTK_BIN (widget)),
+-                                &child_allocation);
+-    }
++  GTK_WIDGET_CLASS (_gtk_clutter_offscreen_parent_class)->size_allocate (widget, allocation);
+ }
+ 
+ static gboolean
+@@ -267,7 +281,8 @@ _gtk_clutter_offscreen_class_init (GtkClutterOffscreenClass *klass)
+ 
+   widget_class->realize = gtk_clutter_offscreen_realize;
+   widget_class->unrealize = gtk_clutter_offscreen_unrealize;
+-  widget_class->size_request = gtk_clutter_offscreen_size_request;
++  widget_class->get_preferred_width = gtk_clutter_offscreen_get_preferred_width;
++  widget_class->get_preferred_height = gtk_clutter_offscreen_get_preferred_height;
+   widget_class->size_allocate = gtk_clutter_offscreen_size_allocate;
+ 
+   container_class->add = gtk_clutter_offscreen_add;
+--
+cgit v0.8.3.1-30-gff3a

Added: packages/experimental/clutter-gtk/debian/patches/series
URL: http://svn.debian.org/wsvn/pkg-gnome/packages/experimental/clutter-gtk/debian/patches/series?rev=25753&op=file
==============================================================================
--- packages/experimental/clutter-gtk/debian/patches/series (added)
+++ packages/experimental/clutter-gtk/debian/patches/series [utf-8] Sun Dec  5 15:35:19 2010
@@ -1,0 +1,2 @@
+01_window_dont_use_size-request.patch
+02_offscreen_dont_use_site-request.patch




More information about the pkg-gnome-commits mailing list