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 604200 - Compile issue: Use of deprecated clutter functions
Compile issue: Use of deprecated clutter functions
Status: RESOLVED FIXED
Product: mutter
Classification: Core
Component: general
git master
Other Linux
: Normal trivial
: ---
Assigned To: mutter-maint
mutter-maint
Depends on:
Blocks:
 
 
Reported: 2009-12-09 17:56 UTC by Hinrich
Modified: 2009-12-14 17:02 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
migrate to new cogl framebuffer framework (1.57 KB, patch)
2009-12-11 20:50 UTC, Nickolas Lloyd
committed Details | Review

Description Hinrich 2009-12-09 17:56:46 UTC
Using the git master of Mutter and Clutter, the build process stops because of the use of deprecated Clutter functions:

---
cc1: warnings being treated as errors
compositor/mutter-texture-tower.c: In function 'mutter_texture_tower_set_base_texture':
compositor/mutter-texture-tower.c:171: error: 'cogl_offscreen_unref' is deprecated (declared at /usr/include/clutter-1.0/cogl/cogl-offscreen.h:98)
compositor/mutter-texture-tower.c: In function 'texture_tower_revalidate_fbo':
compositor/mutter-texture-tower.c:462: error: 'cogl_push_draw_buffer' is deprecated (declared at /usr/include/clutter-1.0/cogl/cogl.h:833)
compositor/mutter-texture-tower.c:463: error: 'cogl_set_draw_buffer' is deprecated (declared at /usr/include/clutter-1.0/cogl/cogl.h:823)
compositor/mutter-texture-tower.c:478: error: 'cogl_pop_draw_buffer' is deprecated (declared at /usr/include/clutter-1.0/cogl/cogl.h:842)
make[4]: *** [mutter-texture-tower.o] Error 1
---

This is what the Clutter people say:
---
cogl_push_draw_buffer, cogl_set_draw_buffer and cogl_pop_draw_buffer are now deprecated and new code should use the new cogl_framebuffer_* API instead.
Code that previously did:
 cogl_push_draw_buffer ();
 cogl_set_draw_buffer (COGL_OFFSCREEN_BUFFER, buffer);
 /* draw */
 cogl_pop_draw_buffer ();
should now be re-written as:
 cogl_push_framebuffer (buffer);
 /* draw */
 cogl_pop_framebuffer (); 
---
http://git.clutter-project.org/cgit.cgi?url=clutter/commit/&id=439f8

So I guess the fix should be straight forward.
Comment 1 Nickolas Lloyd 2009-12-11 20:50:40 UTC
Created attachment 149607 [details] [review]
migrate to new cogl framebuffer framework

this fixes the compile error, and should work as expected
Comment 2 Owen Taylor 2009-12-14 17:02:10 UTC
Patch applied, thanks! I fixed up the commit message just a bit:

 - Capitalize first letter
 - Add a descriptive body to the commit message