Adobt Debian patch to avoid warning on C++ ABI mismatches (#1957142)
parent
a8ca135bc1
commit
6165d7c42a
@ -1,14 +1,38 @@
|
||||
--- wxWidgets-3.0.2/src/common/appbase.cpp.abicheck 2015-05-28 12:36:40.697163073 +0900
|
||||
+++ wxWidgets-3.0.2/src/common/appbase.cpp 2015-05-28 12:38:30.597154298 +0900
|
||||
@@ -762,10 +762,7 @@
|
||||
Description: Suppress error about mismatching C++ ABI version
|
||||
In practice, the differences between recent ABI versions don't seem to be
|
||||
incompatible since they apparently only affect obscure corner cases. So
|
||||
suppress this error so we don't have to rebuild the entire wx world in one
|
||||
go.
|
||||
Author: Olly Betts <olly@survex.com>
|
||||
Forwarded: no
|
||||
Last-Update: 2017-07-26
|
||||
|
||||
--- a/src/common/appbase.cpp
|
||||
+++ b/src/common/appbase.cpp
|
||||
@@ -766,6 +766,26 @@
|
||||
msg.Printf(wxT("Mismatch between the program and library build versions detected.\nThe library used %s,\nand %s used %s."),
|
||||
lib.c_str(), progName.c_str(), prog.c_str());
|
||||
|
||||
- wxLogFatalError(msg.c_str());
|
||||
-
|
||||
- // normally wxLogFatalError doesn't return
|
||||
- return false;
|
||||
+ wxLogWarning(msg.c_str());
|
||||
}
|
||||
+ int l_off = lib.Find("compiler with C++ ABI ");
|
||||
+ int p_off = prog.Find("compiler with C++ ABI ");
|
||||
+ if (l_off != wxNOT_FOUND && p_off != wxNOT_FOUND) {
|
||||
+ int space;
|
||||
+ space = lib.find(',', l_off + 22);
|
||||
+ lib.erase(l_off, space - l_off);
|
||||
+ space = prog.find(',', p_off + 22);
|
||||
+ prog.erase(p_off, space - p_off);
|
||||
+ if (lib == prog) {
|
||||
+ // The only difference is the ABI version, which apparently only
|
||||
+ // affect obscure cases. We used to warn here, so at least
|
||||
+ // there was an indication of what's up if there is a problem
|
||||
+ // due to ABI incompatibilities, but wxLogWarning() can result
|
||||
+ // in a pop up dialog with some applications, which is just too
|
||||
+ // intrusive, so just quietly ignore instead.
|
||||
+ //wxLogWarning(msg.c_str());
|
||||
+ return false;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
wxLogFatalError(msg.c_str());
|
||||
|
||||
return true;
|
||||
// normally wxLogFatalError doesn't return
|
||||
|
Loading…
Reference in new issue