After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 738871 - Pitivi does not work with clutter-gtk 1.6.0 on Mac OS X
Pitivi does not work with clutter-gtk 1.6.0 on Mac OS X
Status: RESOLVED OBSOLETE
Product: pitivi
Classification: Other
Component: General
Git
Other Mac OS
: Normal normal
: Git
Assigned To: Pitivi maintainers
Pitivi maintainers
Depends on: 684244
Blocks: 738622
 
 
Reported: 2014-10-20 14:15 UTC by Brion Vibber
Modified: 2015-10-20 13:04 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Brion Vibber 2014-10-20 14:15:40 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.
Comment 1 Emmanuele Bassi (:ebassi) 2014-10-20 14:39:48 UTC
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.
Comment 2 Brion Vibber 2014-10-20 15:06:08 UTC
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!
Comment 3 Alex Băluț 2015-10-14 13:23:57 UTC
The bug should be closed, Pitivi is not using Clutter anymore. The timeline was using Clutter and it has been ported to Gtk+.
Comment 4 Thibault Saunier 2015-10-20 13:04:12 UTC
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.