mirror of
https://git.FreeBSD.org/ports.git
synced 2025-01-15 07:56:36 +00:00
Add visibility to C++ exceptions to prevent crashes with applications
using libkcddb. PR: 211630 Submitted by: Adriaan de Groot <groot@kde.org>
This commit is contained in:
parent
4b895ef634
commit
dc5c4cb1ee
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=422468
@ -2,6 +2,7 @@
|
||||
|
||||
PORTNAME= libmusicbrainz
|
||||
PORTVERSION= 5.1.0
|
||||
PORTREVISION= 1
|
||||
DISTVERSIONPREFIX= release-
|
||||
CATEGORIES= audio
|
||||
PKGNAMESUFFIX= 5
|
||||
|
@ -0,0 +1,81 @@
|
||||
--- include/musicbrainz5/HTTPFetch.h.orig 2016-08-06 17:10:23.956575000 +0200
|
||||
+++ include/musicbrainz5/HTTPFetch.h 2016-08-06 17:26:10.934640000 +0200
|
||||
@@ -29,11 +29,23 @@
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
+// Visibility patch derived from https://gcc.gnu.org/wiki/Visibility ,
|
||||
+// extended for clang support.
|
||||
+#if (__clang__) || (__GNUC__ >= 4)
|
||||
+ #define DLL_PUBLIC __attribute__ ((visibility ("default")))
|
||||
+ #define DLL_LOCAL __attribute__ ((visibility ("hidden")))
|
||||
+#else
|
||||
+ #define DLL_PUBLIC
|
||||
+ #define DLL_LOCAL
|
||||
+#endif
|
||||
+
|
||||
+
|
||||
+
|
||||
namespace MusicBrainz5
|
||||
{
|
||||
class CHTTPFetchPrivate;
|
||||
|
||||
- class CExceptionBase: public std::exception
|
||||
+ class DLL_PUBLIC CExceptionBase: public std::exception
|
||||
{
|
||||
public:
|
||||
CExceptionBase(const std::string& ErrorMessage, const std::string& Exception)
|
||||
@@ -60,7 +72,7 @@
|
||||
* Exception thrown when an error occurs connecting to web service
|
||||
*/
|
||||
|
||||
- class CConnectionError: public CExceptionBase
|
||||
+ class DLL_PUBLIC CConnectionError: public CExceptionBase
|
||||
{
|
||||
public:
|
||||
CConnectionError(const std::string& ErrorMessage)
|
||||
@@ -73,7 +85,7 @@
|
||||
* Exception thrown when a connection to the web service times out
|
||||
*/
|
||||
|
||||
- class CTimeoutError: public CExceptionBase
|
||||
+ class DLL_PUBLIC CTimeoutError: public CExceptionBase
|
||||
{
|
||||
public:
|
||||
CTimeoutError(const std::string& ErrorMessage)
|
||||
@@ -86,7 +98,7 @@
|
||||
* Exception thrown when an authentication error occurs
|
||||
*/
|
||||
|
||||
- class CAuthenticationError: public CExceptionBase
|
||||
+ class DLL_PUBLIC CAuthenticationError: public CExceptionBase
|
||||
{
|
||||
public:
|
||||
CAuthenticationError(const std::string& ErrorMessage)
|
||||
@@ -99,7 +111,7 @@
|
||||
* Exception thrown when an error occurs fetching data
|
||||
*/
|
||||
|
||||
- class CFetchError: public CExceptionBase
|
||||
+ class DLL_PUBLIC CFetchError: public CExceptionBase
|
||||
{
|
||||
public:
|
||||
CFetchError(const std::string& ErrorMessage)
|
||||
@@ -112,7 +124,7 @@
|
||||
* Exception thrown when an invalid request is made
|
||||
*/
|
||||
|
||||
- class CRequestError: public CExceptionBase
|
||||
+ class DLL_PUBLIC CRequestError: public CExceptionBase
|
||||
{
|
||||
public:
|
||||
CRequestError(const std::string& ErrorMessage)
|
||||
@@ -125,7 +137,7 @@
|
||||
* Exception thrown when the requested resource is not found
|
||||
*/
|
||||
|
||||
- class CResourceNotFoundError: public CExceptionBase
|
||||
+ class DLL_PUBLIC CResourceNotFoundError: public CExceptionBase
|
||||
{
|
||||
public:
|
||||
CResourceNotFoundError(const std::string& ErrorMessage)
|
Loading…
Reference in New Issue
Block a user