Commit Graph

8344 Commits

Author SHA1 Message Date
Carlos Garnacho
45935fbe29 x11: Avoid invalid ClutterInputDevice pointers in the device list
Due to the way add_device() invariably adds to the master/slave device
lists, while keeping ClutterInputDevices 1:1 with device IDs, it may
leave invalid pointers in the list if add_device() is called multiple
times for the same device ID. There are two situations where this may
happen:

1) If devices are disabled and later enabled: devices are added invariably
   to the master/slave lists on constructed(), but then on XIDeviceEnabled
   they'd get added yet again.
2) Racy cases where the ClutterDeviceManager is created around the same time
   XIHierarchyEvents are sent. When getting the XIDeviceInfo on constructed(),
   these devices may already appear as enabled, even though XIDeviceEnabled
   is seen through XIHierarchyEvents processed in the event loop sortly after.

   This last case can be seen when starting gnome-shell on a different tty,
   and entering in the one it's been spawned on, clutter initialization
   happens around the same time devices are added back because of the tty
   switch, and multiple extra ClutterInputDevices are created.

https://bugzilla.gnome.org/show_bug.cgi?id=724971
2014-02-25 10:15:03 +01:00
Milo Casagrande
086190273b [l10n] Updated Italian translation. 2014-02-16 12:21:47 +01:00
Milo Casagrande
dd2debfc52 [l10n] Updated Italian translation. 2014-02-09 12:33:41 +01:00
Wylmer Wang
eb96602718 Update Chinese simplified translation 2014-01-24 21:12:20 +08:00
Daniel Mustieles
0258c72a5f Updated FSF's address 2014-01-23 12:47:12 +01:00
Sphinx Jiang
5be190a98a Update Chinese simplified translation 2014-01-02 09:42:43 +08:00
Milo Casagrande
7867c86c2b [l10n] Updated Italian translation. 2013-12-12 09:36:16 +01:00
Florian Müllner
f6ad53d9e0 input-device: Guard against double free
Dispose() may be called more than once, so calling g_free directly
on the device name is unsafe. Instead, use g_clear_pointer() to
make sure we don't attempt to free the memory again.

https://bugzilla.gnome.org/show_bug.cgi?id=719563
2013-12-02 00:29:47 +01:00
Owen W. Taylor
9a471cf08d Don't queue redraws when reallocating actor that haven't moved
When support for implicit animation of actor position was added,
the optimization for not queueing when allocating an actor back
to the same location was lost. This optimization is important
since when we are hierarchically allocating down from the top of
the stage we constantly reallocate the actors at the top of the
hierarchy back to the same place.

https://bugzilla.gnome.org/show_bug.cgi?id=719368
2013-11-26 12:35:33 -05:00
Owen W. Taylor
0d0248b31f Bind constraints: Don't force redraws on source relayout
When the source actor potentially changes size, that shouldn't
necessarily result in the target actor being redrawn - it should
be like when a child of a container is reallocated due to changes
in its siblings or parent - it should redraw only to the extent
that it is moved and resized. Privately export an internal function
from clutter-actor.c to allow getting this right.

https://bugzilla.gnome.org/show_bug.cgi?id=719367

Conflicts:
	clutter/clutter-actor.c
2013-11-26 12:35:07 -05:00
Lionel Landwerlin
90c05e98a8 stage: implement touch event throttling
https://bugzilla.gnome.org/show_bug.cgi?id=709761
2013-10-09 21:58:16 +01:00
Pavol Klačanský
7ae3b32cf1 Updated slovak translation 2013-10-08 23:34:58 +02:00
Bastien Nocera
79c2d3ede7 ClutterEvent: Mention _get_source_device() in docs
It's too easy getting bitten by the ->device red herring, thinking
that it's the original input device the event originated from.

https://bugzilla.gnome.org/show_bug.cgi?id=709620
2013-10-08 14:59:13 +02:00
Bastien Nocera
09085b3fee actor: Correct setting the offscreen-redirect property
It's a flags property, not an enum one.

https://bugzilla.gnome.org/show_bug.cgi?id=708922
2013-09-27 16:41:52 +02:00
Balázs Úr
bb983d6b5d Initial Hungarian translation 2013-09-26 00:20:44 +02:00
Kenneth Nielsen
935724e538 Updated Danish translation 2013-09-23 19:36:40 +02:00
António Lima
d8aecdbe78 Updated Portuguese translation 2013-09-23 00:05:49 +01:00
Benjamin Steinwender
a690668b65 Updated German translation 2013-09-16 18:59:53 +02:00
Rūdolfs Mazurs
e10276b26c Updated Latvian translation 2013-09-12 15:23:15 +03:00
Rob Bradford
29eef6de61 wayland: Check for NULL surface on pointer leave events
In the protocol this is the expected behaviour when the client has
destroyed the surface.

https://bugzilla.gnome.org/show_bug.cgi?id=707377
2013-09-09 18:19:28 +01:00
Yuri Myasoedov
c5468ddf52 Updated Russian translation 2013-09-06 13:23:15 +04:00
Jorge Pérez Pérez
cf214d71da Added Aragonese translation 2013-09-05 00:10:49 +02:00
Gil Forcada
752d932bdf [l10n] Update Catalan translation 2013-08-31 22:53:19 +02:00
Chun-wei Fan
e2f9841818 Clean up Visual Studio Build Files
-Combine entries in the property sheets and make it a bit more flexible,
 and drop some redundant items
-Use Custom Build Rules for generating enumeration and marshalling sources,
 and the .def file so that they can be wiped off when a "clean" is
 requested, and regenerate automatically when the templates/.symbols
 files are updated.
-Improve consistency by using ApiVersion rather than ClutterApiVersion
 with the Visual Studio project for other components of the Clutter/GTK+
 stack
-Get rid of unneeded configs in the "install" project
2013-08-29 17:35:13 +08:00
Chun-wei Fan
fbd0a0b479 Visual C++ Builds: Update Header "Installation"
This is taken directly from the 1.16 series, as it seems that the 1.x
development starts from here, so put this here first and make the
neccessary adjustments as we go on.
2013-08-29 10:52:37 +08:00
Ján Kyselica
dc05363545 Added slovak translation 2013-08-27 19:09:08 +02:00
Cheng Lu
03d10a19ec Update Chinese simplified translation 2013-08-23 21:21:05 +08:00
Alexandre Franke
275790f569 Update French translation 2013-08-22 14:25:27 +02:00
Piotr Drąg
aaebfc7826 Updated Polish translation 2013-08-20 22:14:57 +02:00
Rob Bradford
2b8fcfd75b wayland: When resizing only trigger a redraw if the stage has been shown
This is necessary to avoid a deadlock with the compositor. When setting
a stage size before the stage was shown this would trigger a redraw
inside clutter_stage_wayland_resize. This redraw would result
in a call into eglSwapBuffers which would attach a buffer to the surface
and commit. Unfortunately this would happen before the role for the
surface was set. This would result in the compositor not relaying to the
client that the desired frame was shown.

With this change the call to wl_shell_surface_set_toplevel is always
made before the first redraw.

https://bugzilla.gnome.org/show_bug.cgi?id=704457
2013-08-12 19:13:57 +01:00
Rafael Ferreira
4d79dd2948 Updated Brazilian Portuguese translation 2013-08-05 23:57:26 -03:00
Rob Bradford
b6a931c8d9 wayland: Only process enter and leave events Clutter created surfaces
When combining with GTK we will receive enter and leave events for surfaces
from both toolkits therefore we must filter our events appropriately.
2013-08-04 15:45:01 +01:00
Rob Bradford
61dc824c91 wayland: Check there is valid pointer or keyboard focus for events 2013-08-04 15:44:42 +01:00
Rob Bradford
de933213b7 wayland: Only create and act on shell_surface for non-foreign surfaces
We should not create a shell surface and set the role for that shell
surface if the surface was a foreign one provided through
clutter_wayland_set_wl_surface

https://bugzilla.gnome.org/show_bug.cgi?id=699578
2013-07-23 18:27:55 +01:00
Chris Cummins
d390a44615 wayland: Add foreign surface support to stage
This adds support for optionally a providing a foreign Wayland surface
to a ClutterStage before it is first show. Setting a foreign surface
prevents Cogl from allocating a surface and shell surface for the stage
automatically.

v2: add CLUTTER_AVAILABLE_IN_1_16 annotation and API reference docs
    (review from Emmanuele Bassi)
v3: set a boolean to indicate that this stage is using a foreign surface
(Rob Bradford)

https://bugzilla.gnome.org/show_bug.cgi?id=699578
2013-07-23 18:27:52 +01:00
Rob Bradford
a5230278b4 wayland: Add API for disabling the event dispatching
This allows the integration of Clutter with another library, like GTK+,
that is dispatching the events itself. This is implemented by calling
into the cogl_wayland_renderer_set_event_dispatch_enabled() and since
that function must be called on the newly created renderer the newly
added clutter_wayland_disable_event_retrieval must be called before
clutter_init()

https://bugzilla.gnome.org/show_bug.cgi?id=704279
2013-07-23 18:27:50 +01:00
Adel Gadllah
74ab8c3bda clutter-actor: Make clutter_actor_has_mapped_clones public
This allows some optimisations to be done that work when they are no clones.

https://bugzilla.gnome.org/show_bug.cgi?id=703336
2013-07-17 12:38:07 +02:00
Rob Bradford
3d646804d1 wayland: Use a fake millisecond monotonic time source for event times
The majority of Clutter input events require a time so that that the
upper levels of abstraction can identify the ordering of events and also
work out a click count.

Although some Wayland events have microsecond timestamps not all those
that Clutter expects do have. Therefore we would need to create some
fake times for those events. Instead we always calculate our own time
using the monotonic time.

https://bugzilla.gnome.org/show_bug.cgi?id=697285
2013-07-10 13:11:23 +01:00
Rob Bradford
6521701e29 wayland: add support for connecting to a foreign display
This allows the reuse of the display connection and hence objects with
existing code that is using Wayland.

https://bugzilla.gnome.org/show_bug.cgi?id=703566
2013-07-09 12:36:49 +01:00
Rob Bradford
5c93c0a1af wayland: make the surface toplevel when showing the stage
Cogl (as of 0b2b46ce) now only sets the shell surface as toplevel when
the CoglOnscreen is shown.

Without calling wl_shell_surface_set_toplevel the compositor will not
know what role to give to the compositor and thus the stage will not
appear.

When we look to support multiple roles / foreign surfaces we will need
to revisit this call and ensure we only call it when we are working in
the default case.

https://bugzilla.gnome.org/show_bug.cgi?id=703188
2013-06-28 12:15:40 +01:00
Rob Bradford
cba63dd93f wayland: Do not poll the Wayland socket for events
Since Cogl also polls on this file descriptor we can get into situations
where our event source is woken up to handle events but those events
have instead been handled by Cogl resulting in the source sitting in
poll().

We can safely rely on Cogl to handle the polling on the event source and
to dispatch those events.

https://bugzilla.gnome.org/show_bug.cgi?id=702202
2013-06-28 11:38:44 +01:00
Rob Bradford
c3be92a30c wayland: Remove now removed CLUTTER_AVAILABLE_ API annotations
In 00bee5f the API annotations were removed as the API is refreshed from
the start. This change removes the annotations from the Wayland API.

https://bugzilla.gnome.org/show_bug.cgi?id=703202
2013-06-28 11:38:44 +01:00
Adel Gadllah
2f95de91c4 clutter-offscreen-effect: Allocate the cogl texture directly
Cogl now lazy loads the textures so we cannot rely on getting NULL
from cogl_texture_new_with_size so we have to allocate it by ourselves.

https://bugzilla.redhat.com/show_bug.cgi?id=975171
2013-06-25 20:28:39 +02:00
Colin Walters
571eb318d2 Revert "Install a11y tests too"
This reverts commit 2b4f47d444.

These are presently "examples" (because they're just run
interactively, not automatable tests).

Conflicts:
	tests/accessibility/Makefile.am
2013-06-24 14:11:30 -04:00
Colin Walters
5105edca0f build: Use tabs in rule definitions 2013-06-24 13:38:41 -04:00
Matthias Clasen
2b4f47d444 Install a11y tests too
https://bugzilla.gnome.org/show_bug.cgi?id=702941
2013-06-24 10:15:07 -04:00
Matthias Clasen
e88e690d56 Install conformance tests
Install the conformance tests, and metadata to run them
with gnome-desktop-testing-runner.

https://bugzilla.gnome.org/show_bug.cgi?id=702941
2013-06-24 10:14:47 -04:00
Cosimo Cecchi
670d2357a6 text: relayout on cursor visibility change
When the cursor visibility changes, we have to relayout the ClutterText
actor instead of just redrawing it - as the cursor changes the
PangoLayout size, a size request cycle is needed.

https://bugzilla.gnome.org/show_bug.cgi?id=702610
2013-06-20 10:04:25 -07:00
Lionel Landwerlin
90243e9d88 clutter-text: prevent reset of user set font descriptions on dpi changes
When setting the font using clutter_text_set_font_description(), the
font settings on a ClutterText actor can be reset when there is a dpi
changes signaled by the backend.

https://bugzilla.gnome.org/show_bug.cgi?id=702016
2013-06-12 13:50:12 +01:00
Marek Černocký
96cc131f70 Updated Czeach translation 2013-06-04 12:17:02 +02:00