I really don't like this PR: too much code, too much copy, and all this for getting rid of deprecation warnings -- where this code actually has to support the deprecated API.
**Edit:** I also just noticed the `G_GNUC_*_IGNORE_DEPRECATIONS` macro, maybe tricky stuff could be wrapped directly
Yes, that sounds like a good solution.