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