1fce237538
Aggressive compiler flags can cause the compiler to be smart enough to inline functions and detect variables not being set on certain code paths but not smart enough to understand the overall logic; add some extra initializations to suppress the warnings. Fix several minor bugs in the logic found when double checking the logic before adding the initializations. Based on a patch by Marc-Antoine Perennou <Marc-Antoine@Perennou.com>. https://bugzilla.gnome.org/show_bug.cgi?id=634225