gtlsinteraction: Hoist precondition before allocation
gtlsinteraction: Hoist precondition before allocation

We're using a precondition in the middle of the function, and if we
hit it, we leak the closure.

Let's allocate the closure per path; this allows us to allocate it
before path-specific preconditions, and better avoids a pointless
malloc/free pair in the unhandled case.

https://bugzilla.gnome.org/show_bug.cgi?id=733576

tchakabam/glib,gale320/glib,lukasz-skalski/glib,gale320/glib,endlessm/glib,tamaskenez/glib,endlessm/glib,ieei/glib,tamaskenez/glib,tchakabam/glib,johne53/MB3Glib,cention-sany/glib,cention-sany/glib,endlessm/glib,johne53/MB3Glib,gale320/glib,MathieuDuponchelle/glib,krichter722/glib,MathieuDuponchelle/glib,krichter722/glib,ieei/glib,Distrotech/glib,MathieuDuponchelle/glib,tchakabam/glib,johne53/MB3Glib,Distrotech/glib,Distrotech/glib,cention-sany/glib,mzabaluev/glib,krichter722/glib,gale320/glib,krichter722/glib,gale320/glib,lukasz-skalski/glib,tamaskenez/glib,cention-sany/glib,endlessm/glib,endlessm/glib,Distrotech/glib,mzabaluev/glib,mzabaluev/glib,johne53/MB3Glib,tamaskenez/glib,MathieuDuponchelle/glib,lukasz-skalski/glib,johne53/MB3Glib,lukasz-skalski/glib,cention-sany/glib,MathieuDuponchelle/glib,johne53/MB3Glib,tchakabam/glib,ieei/glib,ieei/glib,mzabaluev/glib,krichter722/glib,mzabaluev/glib,ieei/glib,tchakabam/glib,lukasz-skalski/glib,tamaskenez/glib,Distrotech/glib