GNOME Bugzilla – Bug 738871
Pitivi does not work with clutter-gtk 1.6.0 on Mac OS X
Last modified: 2015-10-20 13:04:12 UTC
Building pitivi on Mac OS X 10.9... Cerbero's build system currently includes an old clutter-gtk 1.4 that just warns that it doesn't work right to embed GTK widgets on non-X11. (pitivi:94536): Clutter-Gtk-CRITICAL **: Embedding GtkWidget inside ClutterActor through GtkClutterActor does not yet work on non-X11 platforms. This seems to cause failures later when unparented widgets try to call their toplevel windows' scale factor (???!) Updating to clutter-gtk 1.6.0 fails as it currently explicitly has no support for the Quartz backend (bug 684244?): (pitivi:4126): Clutter-Gtk-ERROR **: *** Unsupported backend.
Clutter-GTK 1.6 adds the ability to redirect widgets offscreen to a Cairo image surface, and embed them; that's why you don't get the first error when you migrate from 1.4 to 1.6. the main blockers for clutter-gtk working on MacOS are: * GDK does not allow to use foreign native surfaces on Quartz * Cogl/Clutter does not have Quartz-specific API to handle native surfaces this means that you cannot get a native window surface out of a GdkWindow and associate it to a ClutterStage to draw on. this requires fixes in the API in both GDK and Clutter. currently, nobody is working on that, which means that embedding Clutter inside GTK+ on Quartz is not supported. I'd be glad to help out volunteers who wish to work on this. ideally, we could use the GDK backend in Clutter to paper over the differences — which is why I want to make the GDK backend the default for Clutter; we'll still require to fix the GDK backend (and likely Cogl) of Clutter to handle Quartz native surfaces.
I'll take a peek at this when I have more time later this week and see if I can rig something up. Looks like several moving parts here, so I'll have to read some code before I go changing it. ;) Thanks for the details!
The bug should be closed, Pitivi is not using Clutter anymore. The timeline was using Clutter and it has been ported to Gtk+.
This bug has been migrated to https://phabricator.freedesktop.org/T3242. Please use the Phabricator interface to report further bugs by creating a task and associating it with Project: Pitivi. See http://wiki.pitivi.org/wiki/Bug_reporting for details.