Commit Graph

22468 Commits

Author SHA1 Message Date
bd348625c7 group: Gut the implementation
A Group is a just a ClutterActor with the layout-manager property set at
instance initialization time. It doesn't need anything else from
ClutterActor's vtable, except the slightly custom show_all/hide_all
implementation, and a simplified get_paint_volume.
2012-01-20 14:53:41 +00:00
1afd3827c7 actor: Move underallocation warning to diagnostic mode
This should keep down the warning messages — at least for the time
being.
2012-01-20 12:04:48 +00:00
c760657903 actor: Use internal add/remove child in reparent()
Do not use the public API; reparent() used to use unparent() and
set_parent(), so we need to maintain the old behaviour.
2012-01-20 12:02:49 +00:00
c0a440b852 Fix crash when meta_display_close() is called with attached modal dialogs
When meta_display_unmanage_window_for_screen() is called, it gets a list
of windows and iterates over them and unmanages them, but unmanaging a
window with attached modal dialogs also unmanages those attached modal
dialogs (in the normal case, temporarily), so we need to guard against
such cases by ref'ing the windows in the list and checking if they have
already been unmanaged.

https://bugzilla.gnome.org/show_bug.cgi?id=668299
https://bugzilla.redhat.com/show_bug.cgi?id=760918
2012-01-19 16:12:56 -05:00
683657cc30 Post-release version bump to 1.9.7 2012-01-19 14:01:20 +00:00
75d97ffdc5 Release Clutter 1.9.6 (snapshot) 2012-01-19 13:44:38 +00:00
a222e75e33 build: Bump up the Cogl requirement
Clutter requires a new version of Cogl's API, but we never bumped the
requirement inside configure.ac.
2012-01-19 13:44:38 +00:00
480514b721 stage: Use clutter_actor_set_allocation()
Instead of chaining up, given that we want to bypass chaining up and
just set the allocation. This also allows us to bail out of the
overridden allocate vfunc check, given that we want the default Actor
behaviour to apply - including eventual layout manager delegates.
2012-01-19 13:44:38 +00:00
f7bae2a064 actor: Fix the has_overridden_allocate check 2012-01-19 13:39:14 +00:00
acf8aff6d5 docs: Add clutter_actor_set_allocation() 2012-01-19 13:14:47 +00:00
b206a3d025 symbols: Add clutter_actor_set_allocation() 2012-01-19 13:14:33 +00:00
67eeea6b62 actor: Maintain behaviour of old allocate() implementations
The usual way to implement a container actor is to override the
allocate() virtual function, chain up, and then allocate the actor's
children.

Clutter now has the ability to delegate layout management to
ClutterLayoutManager directly; in the allocation, this is done by
checking whether the actor has children, and then call
clutter_layout_manager_allocate() from within the default implementation
of the ClutterActor::allocate() vfunc. The same vfunc that everyone, has
been chaining up to.

Whoopsie.

Well, we can check if there's a layout manager, and if it's NULL, we
bail out. Except that there's a default layout manager, and it's the
fixed layout manager, so that classes like Group and Stage work by
default.

Double whoopsie.

The fix for this scenario is a bit nasty; we have to check if the actor
class has overridden the allocate() vfunc or not, before actually
looking at the layout manager. This means that classes that override the
allocate() vfunc are expected to do everything that ClutterActor's
default implementation does - which I think it's a fair requirement to
have.

For newly written code, though, it would probably be best if we just
provided a function that does the right thing by default, and that
you're supposed to be calling from within the allocate() vfunc
implementation, if you ever chose to override it. This new function,
clutter_actor_set_allocation(), should come with a warning the size of
Texas, to avoid people thinking it's a way to override the whole "call
allocate() on each child" mechanism. Plus, it should check if we're
inside an allocation sequence, and bail out if not.
2012-01-19 12:40:32 +00:00
1772a2a59c adjust to new Gtk properties for app menu
https://bugzilla.gnome.org/show_bug.cgi?id=668118
2012-01-18 17:26:12 -05:00
70679dc68c actor: Be more conservative with the default paint volume
Check the allocation, when one is being used to initialize the paint
volume.
2012-01-18 16:05:12 +00:00
eafb0ee734 Updated Spanish translation 2012-01-18 12:39:55 +01:00
7e4260ee8a build: Fix up the test rules for private deps
Thanks to diegoe for the help with testing.
2012-01-17 22:56:59 +00:00
f6ae8cf621 Updated POTFILES.in 2012-01-17 23:24:14 +01:00
d7e6deef9c build: Add private deps to cflags and libs
If we go through the whole exercise of having private dependencies, we
should at least use the compiler flags and linker flags that those
dependencies give us when building Clutter.

https://bugzilla.gnome.org/show_bug.cgi?id=668137
2012-01-17 22:00:32 +00:00
f7d9eab36d actor: Add :first-child and :last-child properties
Toolkits tracking first and last children of a ClutterActor can use
these properties to get notification of hierarchy changes.
2012-01-17 18:46:41 +00:00
bb8abe832e actor: Do not use ::constructed
If we want to set a default layout manager, we need to do so inside
init(), as it's not guaranteed that people subclassing Actor and
overriding ::constructed will actually chain up as they should.
2012-01-17 18:13:42 +00:00
7dd06de6d5 interactive: Drop more deprecated classes 2012-01-17 16:54:30 +00:00
8f1575b970 interactive: Use ClutterActor instead of deprecated classes 2012-01-17 16:21:55 +00:00
8492b17ae2 conform/actor-size: Do not use Rectangle
Use ClutterActor directly, instead.
2012-01-17 16:21:55 +00:00
629ded568e actor: Provide a better default pick() behaviour
The default pick() behaviour does not take into consideration the
children of a ClutterActor because the existing containter actors
usually override pick(), chain up, and then paint their children.

With ClutterActor now a concrete class, though, we need a way to pick
its children without requiring a sub-class; we could simply iterate over
the children inside the default pick() implementation, but this would
lead to double painting, which is not acceptable.

A moderately gross hack is to check if the Actor instance did override
the pick() implementation, and if it is not the case, paint the children
in pick mode.
2012-01-17 16:21:54 +00:00
0f39f20db6 actor: Deprecate show_all()/hide_all()
The hide_all() method is pretty much pointless, as hiding an actor will
automatically prevent its children from being painted. The show_all()
method would only be marginally useful, if actors weren't set to be
visible by default when added to another actor - which was the case when
we introduced show_all() and hide_all().
2012-01-17 16:21:54 +00:00
d363279fd3 Updated Spanish translation 2012-01-17 17:12:52 +01:00
41bef2b23a Post-release version bump to 1.9.5 2012-01-17 14:44:28 +00:00
1854ce2d06 Release Clutter 1.9.4 (snapshot) 2012-01-17 14:32:19 +00:00
696f9e84c9 text: Fix the buffer length check on paint 2012-01-17 14:29:45 +00:00
9f0ba2da0f script: Fix a segfault
Accessing a variable before it is being set is not a great plan.
2012-01-17 14:29:45 +00:00
37d94c6b87 text-buffer: Fix the Since annotations 2012-01-17 14:29:45 +00:00
b03aa25469 Update the NEWS file 2012-01-17 14:29:45 +00:00
5085c11bde Add ClutterTextBuffer to the API reference 2012-01-17 14:29:45 +00:00
57f5813058 Update clutter.symbols for TextBuffer 2012-01-17 14:29:45 +00:00
40b023a33e interactive/text: Remove spurious g_object_unref() 2012-01-17 14:29:44 +00:00
c073764369 text: Implement ClutterTextBuffer
* Abstracts the buffer for text in ClutterText
 * Allows implementation of undo/redo.
 * Allows use of non-pageable memory for text
   in the case of sensitive passwords.
 * Implement a test with two ClutterText using the same
   buffer.

https://bugzilla.gnome.org/show_bug.cgi?id=652653
2012-01-17 14:29:44 +00:00
44f362ad87 tile-preview: Remove non-composited case
The main reason for handling the non-composited case was to keep
code differences with metacity small, but the tiling patch[0] never
got merged. In mutter itself, the compositor is not optional, so
there's no good reason for keeping those untested code chunks around.

[0] https://bugzilla.gnome.org/show_bug.cgi?id=607694

https://bugzilla.gnome.org/show_bug.cgi?id=666039
2012-01-17 12:53:33 +01:00
d95bdf3a07 Updated Spanish translation 2012-01-17 12:52:01 +01:00
6b5b291029 Update clutter.symbols 2012-01-17 11:49:05 +00:00
89e4bc3dcd Updated Galician translations 2012-01-17 01:44:53 +01:00
99564e7868 Makefile.am.release: Include NEWS in release message
This updates the make release-message rule to include the latest NEWS
section at the top of the release message. The release messages
currently contain a lot of boring boilerplate that I imagine very few
people are really be interested in. For someone idly following Cogl
development though it's quite possible they'd like to see a digestible
summary of what has changed in this release which is what the NEWS
section provides.

Reviewed-by: Neil Roberts <neil@linux.intel.com>
2012-01-17 00:38:18 +00:00
2d6ad03e86 Updated POTFILES.in 2012-01-17 01:29:26 +01:00
1a7ed26036 Bump development version to 1.9.5 2012-01-17 00:17:19 +00:00
1dfc503df1 Fix compiler warnings
When dereferencing GArray.data to a C structure you need a double cast
from guint8* to void*, and then from void* to the actual type. This
avoids compiler warnings, especially when using clang on OSX.
2012-01-16 23:49:49 +00:00
eb489a40de docs: Move deprecated sections to the proper location 2012-01-16 23:37:14 +00:00
f41061b8df actor: Deprecated push/pop internal methods
The concept of "internal child" only meant anything when we had a
separate API for containers and actors. Now that we plugged that
particular hole, we can drop all the hacks we used to have in place
to work around its design limitations.
2012-01-16 23:37:14 +00:00
ad2cfc0150 docs: Fixes for the API reference 2012-01-16 23:37:14 +00:00
ea6ddd1534 actor: Add boxed margin accessors
It can be convenient to be able to set, or get, all the components of an
actor's margin at the same time; since we already have a boxed type for
storing a margin, an accessors pair based on it is not a complicated
addition to the API.
2012-01-16 23:37:14 +00:00
8de4b85175 docs: Update the release notes 2012-01-16 23:37:14 +00:00
25ca2f135c build: Add inclusion guards and license notices 2012-01-16 23:37:14 +00:00