[Geany-Devel] Blank completion popups on Windows
Colomban Wendling
lists.ban at xxxxx
Sun Apr 19 15:31:41 UTC 2015
Le 19/04/2015 15:57, Enrico Tröger a écrit :
> On 17/04/15 19:44, Colomban Wendling wrote:
>> Le 15/04/2015 15:27, Colomban Wendling a écrit :
>> […]
>>
>> So we'll have to fix the Windows build issue in some way…
>
> I gave it another look, however I sort of give up :(.
>
> What I know is, with gcc 3.4 the popups work cleanly and as expected,
> even when compiled natively on Windows. This is why the nightly builds
> work, they are built with an old gcc 3.4.
>
> Then I tried gcc 4.8 and gcc 4.6 on Windows, both are failing.
> […]
>
> This might support the above supposition about binary incompatibilities
> with the GTK libs. But maybe it is something completely different.
Thanks a lot for that in-depth investigation and testing!
But… dammit. If this is really an ABI issue depending on the GCC
version, we don't have so many solutions:
1) build Geany using the same GCC as GTK was build;
2) use a GTK that is built with the same GCC as GTK (would mean
rebuilding GTK I guess);
3) avoid hitting the ABI issue by not relying on the size of the
structure (would mean not subclassing, but then I don't really have a
solution);
4) avoid hitting the ABI issue by adding dummy padding (as we don't
actually access any data ourselves it doesn't matter).
None of those solutions are really great… 1 is not really practical, and
2 is just a dream. I don't have a good way of doing 3. 4 is a bit ugly
but quite easy to implement.
> While the
>> typedef struct { GtkScrolledWindow parent; int dummy; } SmallScroller;
>> typedef struct { GtkScrolledWindowClass parent; int dummy; } SmallS...
>
> hack works pretty fine, it is still a crude hack and feels weird to send
> this to Scintilla upstream.
At worse we can always add it to our Scintilla patch…
I'll open an issue on Scintilla and see what Neil thinks, whether he'd
accept a hack like that dummy field -- or maybe if he has a better
understanding of ABI issues on Windows (but I'm afraid here there really
is an ABI incompatibility and we're screwed on that front).
> The other way, to stick with gcc 3.4.x for Windows, seems also quite
> ridiculous :(.
Indeed. And the mingw package for GCC3 even conflicts with the 4.x one :(
Regards,
Colomban
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://lists.geany.org/pipermail/devel/attachments/20150419/25f62780/attachment.sig>
More information about the Devel
mailing list