summaryrefslogtreecommitdiff
path: root/x11-libs/wxGTK/files/wxGTK-3.1.3-abi.patch
diff options
context:
space:
mode:
authordakkar <dakkar@thenautilus.net>2020-03-28 15:14:50 +0000
committerdakkar <dakkar@thenautilus.net>2020-03-28 15:14:50 +0000
commitd9051e89ac8dd5109ac3447670b865f108241567 (patch)
tree7cfa9b443596e5c1dd69b21b323eba319bca2305 /x11-libs/wxGTK/files/wxGTK-3.1.3-abi.patch
parentPrusaSlicer 2.2.0 and dependencies (diff)
downloadgentoo-overlay-d9051e89ac8dd5109ac3447670b865f108241567.tar.gz
gentoo-overlay-d9051e89ac8dd5109ac3447670b865f108241567.tar.bz2
gentoo-overlay-d9051e89ac8dd5109ac3447670b865f108241567.zip
wxGTK 3.1 makes PrusaSlicer more stable
Diffstat (limited to 'x11-libs/wxGTK/files/wxGTK-3.1.3-abi.patch')
-rw-r--r--x11-libs/wxGTK/files/wxGTK-3.1.3-abi.patch31
1 files changed, 31 insertions, 0 deletions
diff --git a/x11-libs/wxGTK/files/wxGTK-3.1.3-abi.patch b/x11-libs/wxGTK/files/wxGTK-3.1.3-abi.patch
new file mode 100644
index 0000000..f064da4
--- /dev/null
+++ b/x11-libs/wxGTK/files/wxGTK-3.1.3-abi.patch
@@ -0,0 +1,31 @@
+diff --git c/src/common/appbase.cpp w/src/common/appbase.cpp
+index 186d845..5b5727a 100644
+--- c/src/common/appbase.cpp
++++ w/src/common/appbase.cpp
+@@ -850,6 +850,26 @@ bool wxAppConsoleBase::CheckBuildOptions(const char *optionsSignature,
+ 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());
+
++ 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());
+
+ // normally wxLogFatalError doesn't return