On Tue, Dec 13, 2016 at 10:40 AM, Peter Bortas @ Pike developers forum 10353@lyskom.lysator.liu.se wrote:
I'd be OK with disabling GTK on Windows in 8.1 for now if the alternative is uglifying your entire codebase. Grubba might need it for something though, so don't commit anything to that effect until he gives the go ahead.
I'd not be OK with disabling GTK on Windows in 8.1. :) I got it down to just four lines, and I've commented them out and put C89 equivalents (with alloca) underneath. Some day we (and by "we" I probably mean "I") can go in, notice that, and switch to the cleaner version. The change will be pushed (to rosuav/gtk2-drag-drop) as soon as I figure out why Pike is segfaulting, which seems to be unrelated.
ChrisA
On Tue, Dec 13, 2016 at 10:47 AM, Chris Angelico rosuav@gmail.com wrote:
The change will be pushed (to rosuav/gtk2-drag-drop) as soon as I figure out why Pike is segfaulting, which seems to be unrelated.
Found it. The GTK build script includes this (massively cut down):
//build_pgtk.pike void main() { add_constant( "Function", class { } ); program output_plugin = (program)"doc-pikeref.pike"; } //doc-pikeref.pike protected string trim_xml( string what ) { object p = Parser.XML.Tree.parse_input(what); }
Some change in the past month or so meant that this causes a big fat noisy segfault at some point where Parser.XML.Tree tries to use something from the Function module, and all hell breaks loose. I've fixed it by renaming the class (it's entirely within the GTK build process, so that shouldn't have any ill effects), but it's curious that this can cause Pike to actually segfault.
Anyway, the gtk2-drag-drop branch is now C89 compliant, so far as I can tell. If I don't hear any objections, I'll merge it - can always revert if something horrific happens.
ChrisA
pike-devel@lists.lysator.liu.se