upgpkg: sbcl 2.2.4-1
[arch-packages.git] / wxgtk / trunk / wxgtk-abicheck.patch
blobe54b404cd2ee9b71c168c52826bf121b109a54d6
1 Description: Suppress error about mismatching C++ ABI version
2 In practice, the differences between recent ABI versions don't seem to be
3 incompatible since they apparently only affect obscure corner cases. So
4 suppress this error so we don't have to rebuild the entire wx world in one
5 go.
6 Author: Olly Betts <olly@survex.com>
7 Forwarded: no
8 Last-Update: 2017-07-26
10 --- a/src/common/appbase.cpp
11 +++ b/src/common/appbase.cpp
12 @@ -766,6 +766,26 @@
13 msg.Printf(wxT("Mismatch between the program and library build versions detected.\nThe library used %s,\nand %s used %s."),
14 lib.c_str(), progName.c_str(), prog.c_str());
16 + int l_off = lib.Find("compiler with C++ ABI ");
17 + int p_off = prog.Find("compiler with C++ ABI ");
18 + if (l_off != wxNOT_FOUND && p_off != wxNOT_FOUND) {
19 + int space;
20 + space = lib.find(',', l_off + 22);
21 + lib.erase(l_off, space - l_off);
22 + space = prog.find(',', p_off + 22);
23 + prog.erase(p_off, space - p_off);
24 + if (lib == prog) {
25 + // The only difference is the ABI version, which apparently only
26 + // affect obscure cases. We used to warn here, so at least
27 + // there was an indication of what's up if there is a problem
28 + // due to ABI incompatibilities, but wxLogWarning() can result
29 + // in a pop up dialog with some applications, which is just too
30 + // intrusive, so just quietly ignore instead.
31 + //wxLogWarning(msg.c_str());
32 + return false;
33 + }
34 + }
36 wxLogFatalError(msg.c_str());
38 // normally wxLogFatalError doesn't return