Created attachment 3775 replace deprecated functions attached patch replaces the in 2.20 deprecated GTK_WIDGET_REALIZED with its new function. it also replaces two invocations of GTK_WIDGET_SET_FLAGS with their new functions, even though that's deprecated in 2.22. the replacement does exist since 2.18 though. for full 2.22 -DGTK_DISABLE_DEPRECATED compatibility it'd also be required to remove the gtk_widget_set_has_separator, which defaults to FALSE in 2.22, but that'd require a dependency on gtk+-2.22.
We've already expressed multiple times we are not going to touch things like this during the 4.10 cycle. https://wiki.xfce.org/releng/4.10/roadmap#roadmap_planned_features
Well, that's not entirely the same. The roadmap simply explains that GSEAL and gtk3 won't be a goal. All this patch does is replace code that has been deprecated in 2.20, which is listed as dependency for 4.10, so I don't see a problem for this. It won't break any API or do something bad, all it does is prepare xfce for future gtk+ releases.
The replacements you did are 100% related to gseal. The problem is, if we do this in all the master branches, cherry-picking to the 4.8 branch becomes more difficult. It is also a process that takes a couple of minutes when we are switching to gtk3, which brings much more complicated tasks (like the new size allocation api). So the benefit to prepare for gtk3 is marginal, the collisions with other branches we maintain is quite large.
They're not GSEAL related, I never removed any direct member access. All I did was replace deprecated functions and macros. However I do understand the backporting problem, but this will always be a problem. So you might as well apply this patch during the 4.10 cycle, maybe as a last-minute patch, when it's unlikely that 4.8 will get any bigger updates and the first 4.10 release is coming soon. I'd also update the patch in case you want to wait and it doesn't apply anymore.
The macro is deprecated because of gseal(flags), so it's equal to me. It is only deprecated for switching to gtk3, not like previous gtk2 deprecation because that part of the api was abandoned.