| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Silences a compiler warning.
|
|
|
|
| |
Silences various compiler warnings.
|
|
|
|
|
| |
The get_window_position_relative_to_parent() function has been moved
into Clutter's own backend.
|
|
|
|
|
|
|
| |
Ensure backward compatibility in case someone access the stage before we
map/show the embedding GtkWidget.
https://bugzilla.gnome.org/show_bug.cgi?id=755053
|
|
|
|
|
|
| |
This is mostly for the sake similarity.
https://bugzilla.gnome.org/show_bug.cgi?id=755017
|
|
|
|
|
|
|
|
|
| |
This changes works in conjunction with a Clutter change [1] to ensure
rendering is correctly synchronized at the different level of the stack.
[1] : https://git.gnome.org/browse/clutter/commit/?id=ee98a5bbe8ad21519d5e368ca5b2336e5d1da880
https://bugzilla.gnome.org/show_bug.cgi?id=755016
|
|
|
|
|
|
|
|
|
|
|
|
| |
Something I didn't quite realize is that the map vfunc is called :
"when widget is going to be mapped"
This is unnecessary now that we want to realize the stage only once
the embedding widget is actually visible. We just need to listen to
the "map-event" signal.
https://bugzilla.gnome.org/show_bug.cgi?id=754944
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
On hide/unmap the GDK wayland backend might decide to destroy its
wayland surface [1]. There is no event notifying Clutter/Cogl of this.
We need to notify Clutter/Cogl that the surface has changed when the
embed widget becomes visible/invisible. So instead of mapping the
different mapped/visible/realized properties of the GtkWidget to the
ClutterStage, we take a different approach by considering that an
invisible GtkWidget means an unrealized ClutterStage.
[1] : https://git.gnome.org/browse/gtk+/commit/?id=87e2a7d4b23e633d0f2263d6ebd205c113eede0f
https://bugzilla.gnome.org/show_bug.cgi?id=754891
|
| |
|
|
|
|
| |
Instead of the old ones.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We should note that calling GTK API that deals with events from a
ClutterActor event handler will cause re-entrancy issues.
In other words:
If you call GTK event API
from Clutter event handlers
[ South Park ski instructor ]
You're going to have
a bad time
https://bugzilla.gnome.org/show_bug.cgi?id=745248
|
|
|
|
|
|
|
| |
Instead of relying on the widget one. This is similar to what we do when
running with the X11 backend.
https://bugzilla.gnome.org/show_bug.cgi?id=747489
|
| |
|
|
|
|
|
|
| |
It fixes DLL generation by cross compile.
https://bugzilla.gnome.org/show_bug.cgi?id=699202
|
|
|
|
|
|
|
|
| |
It is installed under "clutter/win32/" directory. Other include paths
were fixed in 9da7dd191dae7d1cc626ea22998145ebc2bb0722 but it was not
fixed.
https://bugzilla.gnome.org/show_bug.cgi?id=697945
|
|
|
|
| |
We are disabling deprecation warnings in the build.
|
|
|
|
|
|
|
|
|
| |
Such as the embed inside a GtkStack, as used in Cheese or Totem.
With help from Matthias Clasen (positioning inside the window), and
Jasper St. Pierre (Wayland API help).
https://bugzilla.gnome.org/show_bug.cgi?id=736564
|
|
|
|
|
|
|
| |
This reverts commit 0fc73a07770223964dbf41a20a4b0a8c3ef9a29c.
I could have gotten away with this, if it wasn't for you meddling kids
and your Wayland.
|
|
|
|
| |
They have been long since deprecated by AM_CPPFLAGS and AM_CFLAGS.
|
| |
|
| |
|
|
|
|
|
| |
The whole GtkClutterTexture class should be deprecated, and replaced by
a GtkClutterPixbuf class that implements the ClutterContent interface.
|
|
|
|
|
| |
Don't use deprecated API, or disable deprecation warnings if that's not
possible without a more thorough investigation.
|
|
|
|
|
| |
We *really* need to disable double buffering in GTK, otherwise we
flicker horribly.
|
|
|
|
| |
We really need to drop the internal usage of ClutterX11TexturePixmap.
|
|
|
|
|
| |
If Clutter has a GDK backend compiled in, we want to use that to
minimize the interaction surface between GTK and Clutter.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Calling clutter_actor_queue_redraw() triggers an asynchronous redraw
cycle, which triggers the callback from gtk-clutter-embed on the
'queue-redraw' signal, thus triggering another GTK+ paint cycle.
This ends up in a infinite draw loop.
This patch uses the clutter_stage_ensure_redraw() methods, which
prevents the 'queue-redraw' signal emission (this is exactly what we
want).
https://bugzilla.gnome.org/show_bug.cgi?id=734906
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
GtkClutterEmbed puts a filter on its GdkWindow to capture events and
pass them to the ClutterBackend. That works well for X11, because the
filter function receives an XEvent that can be directly fed to the
ClutterX11Backend.
For the GDK backend we can't do this because the filter function
provides an untranslated event to the callee. Thus we can't give a
valid GdkEvent to the ClutterGDKBackend.
To work around this problem the current GtkClutterEmbed listen to the
'event' signal of its widget, and puts fed them to the
ClutterGDKBackend.
The problem with this is that Gtk+ already does some filtering, mostly
on Expose events. This means that initially a GtkClutterEmbed often
appears unpainted with the Gdk backend of Clutter.
This patch adds the draw() vfunc on the widget and triggers a
clutter_actor_queue_redraw() upon call only for the GDK backend.
https://bugzilla.gnome.org/show_bug.cgi?id=734906
|
|
|
|
|
|
|
|
|
| |
Using the gdk backend of Clutter, you could end up in situation where
none of the embedded widgets were being displayed. That's because the
conditions for invalidating the canvas where inconsistent with the
rest of the code.
https://bugzilla.gnome.org/show_bug.cgi?id=734905
|
|
|
|
|
|
|
|
|
|
| |
The subsurface protocol lets us "embed" one surface within another. The
compositor will compose the two surfaces together to create a single
window. We use it here to take the surface we get from Clutter and make
that into a subsurface and then associate that subsurface with the main
surface coming from GTK+.
https://bugzilla.gnome.org/show_bug.cgi?id=695737
|
|
|
|
|
|
| |
Pretty useless, but gets the code running a little bit further.
https://bugzilla.gnome.org/show_bug.cgi?id=695737
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=695737
|
|
|
|
|
|
| |
Get these two methods back in sync.
https://bugzilla.gnome.org/show_bug.cgi?id=695737
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=695737
|
|
|
|
|
|
| |
This is what the post-parse hook does.
https://bugzilla.gnome.org/show_bug.cgi?id=695737
|
|
|
|
|
|
| |
This is already done in the post-parse hook
https://bugzilla.gnome.org/show_bug.cgi?id=695737
|
|
|
|
|
|
|
|
| |
This reverts commit cae450696787485bb3db024f2c7b7e59d6fc2ccb.
We never installed the pick handler. If this is actually fixing
something with vfunc installed, we can re-revert this and add the
vfunc at the same time.
|
|
|
|
|
|
|
| |
Instead of messing with the allocation leave it as is
and send the scaled size to clutter in the synthetic XConfigureEvent.
https://bugzilla.gnome.org/show_bug.cgi?id=724055
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=724055
|
| |
|
|
|
|
|
| |
The unstable ClutterCanvas API was changed, so we need to update
GtkClutterActor to use it.
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, we can only embed a GtkWidget into a ClutterActor on X11 by
using a Pixmap and the GLX texture_from_pixmap extension. There is no
reason why we shouldn't be able to allow the same to happen by using
Cairo surfaces — except the performance implications of making copies of
the contents of the Drawable used by GDK.
This should allow embedding widgets on platforms that do not have the
texture_from_pixmap extension.
|
|
|
|
|
|
|
|
| |
Otherwise all the clicks from touchscreens will appear as synthetised
events coming from the virtual core pointer instead of touch events
coming from the touchscreen itself.
https://bugzilla.gnome.org/show_bug.cgi?id=698969
|
|
|
|
|
|
| |
We shouldn't be running this on non-X11 windowing systems.
https://bugzilla.gnome.org/show_bug.cgi?id=696687
|
|
|
|
|
|
| |
The XInput code in Clutter is enabled by default in the version we
require for Clutter-GTK, and clutter_x11_enable_xinput() is deprecated,
so we should just drop it.
|
|
|
|
|
|
|
|
|
|
| |
Right now, clutter-gtk applications are basically behaving
as a gtk application with some clutter effects, so the accessibility
support required is the one provided by gtk. We disable loading
clutter accessibility support in order to not override gtk
accessibility support.
https://bugzilla.gnome.org/show_bug.cgi?id=691468
|
|
|
|
|
|
| |
Rather than assuming a single backend.
https://bugzilla.gnome.org/show_bug.cgi?id=695685
|
|
|
|
|
|
|
| |
Otherwise we could potentially try to run the GDK, X11 and
Wayland functions on startup.
https://bugzilla.gnome.org/show_bug.cgi?id=695685
|
|
|
|
|
|
|
|
|
| |
This shouldn't be needed anymore with recent GTK versions. As a side
effect, bump the required GTK version to 3.6.
This reverts commit bf3397b588e0209486945e4bd71d28c5dc2e1497
https://bugzilla.gnome.org/show_bug.cgi?id=692399
|
|
|
|
|
|
|
|
|
|
|
|
| |
The intention of the current code seems to be adding a global event
filter instead of one per realized embed; the filter is unconditionally
removed in unrealize() though. This is a problem if an embed is
unrealized and another one is realized later (for instance because a
window is destroyed and another window is recreated later).
Fix the bug by tracking the number of realized embeds with a counter,
and removing the event filter only when the counter reaches zero.
https://bugzilla.gnome.org/show_bug.cgi?id=689879
|