GNOME Bugzilla – Bug 697711
Port to Clutter 1.12 API
Last modified: 2013-05-16 18:56:42 UTC
Lots of API that champlain uses have been deprecated so we should really port to new API before some of these API are dropped. Will soon attach a patch that ports ClutterPoint to new API.
(In reply to comment #0) > Lots of API that champlain uses have been deprecated so we should really port > to new API before some of these API are dropped. Will soon attach a patch that > ports ClutterPoint to new API. I meant ChamplainPoint of course. :)
Fine - I started working on porting the more core stuff of libchamplain where more changes are needed. We should just avoid doing the same things in parallel.
Created attachment 241156 [details] [review] Require Clutter 1.12
Created attachment 241157 [details] [review] ChamplainPoint: Port code to Clutter 1.12 API There is still a call to deprecated clutter_actor_set_anchor_point() but I don't yet know how to replace that one. According to docs it should simply be replaced by clutter_actor_set_pivot_point but seem translation isn't that straightforward as anchor and pivot point are not the same.
Created attachment 241163 [details] [review] ChamplainPoint: Remove now redundant proxy implementations Not sure if they were needed before but removing them now does not seem to cause any problems afaict from my limited testing.
Alright, I'm hopefully done with the port - it's in master now. libchamplain itself compiles cleanly now and only some demos have to be updated to use the new interface. This was quite a major cleanup removing like 2500 lines of code and adding around 500 so there might be some bugs.
(In reply to comment #4) > Created an attachment (id=241157) [details] [review] > ChamplainPoint: Port code to Clutter 1.12 API > > There is still a call to deprecated clutter_actor_set_anchor_point() but > I don't yet know how to replace that one. According to docs it should > simply be replaced by clutter_actor_set_pivot_point but seem translation > isn't that straightforward as anchor and pivot point are not the same. See clutter_actor_set_translation () - compared to clutter_actor_set_anchor_point() you just have to invert the sign.
(In reply to comment #5) > Created an attachment (id=241163) [details] [review] > ChamplainPoint: Remove now redundant proxy implementations > > Not sure if they were needed before but removing them now does not seem > to cause any problems afaict from my limited testing. I cleaned it up even more - these are not needed any more since ClutterActor isn't just an interface now but an instantiable class.
(In reply to comment #6) > Alright, I'm hopefully done with the port - it's in master now. libchamplain > itself compiles cleanly now and only some demos have to be updated to use the > new interface. This was quite a major cleanup removing like 2500 lines of code > and adding around 500 so there might be some bugs. Wow! that was fast. I'm impressed!
BTW, could you please update status of the patches? Patch status is IMHO the main motivation to do reviews in bz. Also should we mark this bug as obsolete?
Review of attachment 241163 [details] [review]: Committed.
Review of attachment 241157 [details] [review]: Committed.
Review of attachment 241156 [details] [review]: Committed.
Aha - I actually didn't know about the patch status feature ;-). I'll keep this bug open until everything related to it is resolved - I've fixed the C/python/vala demos, the only remaining is the js demo which I thought you could fix since you work with javascript (it fails on initializing clutter where I think different parameters should be used but I was lazy to explore). It's like 5 minutes of work I think. The zooming animation is currently slightly buggy, which happened during the migration (there are strange shifts at low zoom levels and the legend/map license disappear while zooming). I need some clarification from the clutter people about how the pivot-point works before fixing this.
(In reply to comment #14) > Aha - I actually didn't know about the patch status feature ;-). One always learns new things. :) I'm guessing then you also don't make use of git-bz? Many gnome devs use it everyday and usually it makes it pretty easy to deal with patches in bugzilla (it even allows you to create bugs from commandline): http://fishsoup.net/software/git-bz/ > I'll keep this bug open until everything related to it is resolved - I've fixed > the C/python/vala demos, the only remaining is the js demo which I thought you > could fix since you work with javascript (it fails on initializing clutter > where I think different parameters should be used but I was lazy to explore). > It's like 5 minutes of work I think. I'll have a look.. I'm no experienced JS guy for the record, Maps will be my first real JS app. :) > The zooming animation is currently slightly buggy, which happened during the > migration (there are strange shifts at low zoom levels and the legend/map > license disappear while zooming). I need some clarification from the clutter > people about how the pivot-point works before fixing this. Best way to get their attention would be #clutter or irc.gnome.org but I guess list will also do.
(In reply to comment #15) > (In reply to comment #14) > > > I'll keep this bug open until everything related to it is resolved - I've fixed > > the C/python/vala demos, the only remaining is the js demo which I thought you > > could fix since you work with javascript (it fails on initializing clutter > > where I think different parameters should be used but I was lazy to explore). > > It's like 5 minutes of work I think. > > I'll have a look.. I'm no experienced JS guy for the record, Maps will be my > first real JS app. :) Done. You are right. It was something very small so I pushed it directly.
Thanks.
Created attachment 241868 [details] [review] Deprecate champlain_view_bin_layout_add() This API requires deprecated clutter enum ClutterBinAlignment so better deprecate this function as well.
Review of attachment 241868 [details] [review]: Committed
Good, I've also replaced the calls of this function in libchamplain itself.