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
|
Description: Suppress error about mismatching C++ ABI version
|
||||||
+++ wxWidgets-3.0.2/src/common/appbase.cpp 2015-05-28 12:38:30.597154298 +0900
|
In practice, the differences between recent ABI versions don't seem to be
|
||||||
@@ -762,10 +762,7 @@
|
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."),
|
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());
|
lib.c_str(), progName.c_str(), prog.c_str());
|
||||||
|
|
||||||
- wxLogFatalError(msg.c_str());
|
+ int l_off = lib.Find("compiler with C++ ABI ");
|
||||||
-
|
+ int p_off = prog.Find("compiler with C++ ABI ");
|
||||||
- // normally wxLogFatalError doesn't return
|
+ if (l_off != wxNOT_FOUND && p_off != wxNOT_FOUND) {
|
||||||
- return false;
|
+ int space;
|
||||||
+ wxLogWarning(msg.c_str());
|
+ 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