Skip to content

Commit 3447f7d

Browse files
committed
fix most weak-vtable warnings
This might fix bogus MSVC problems with header includes. Signed-off-by: Rosen Penev <[email protected]>
1 parent baa524a commit 3447f7d

File tree

5 files changed

+16
-5
lines changed

5 files changed

+16
-5
lines changed

include/exiv2/basicio.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -883,6 +883,7 @@ class EXIV2API HttpIo : public RemoteIo {
883883
on demand from the server, so it avoids copying the complete file.
884884
*/
885885
explicit HttpIo(const std::string& url, size_t blockSize = 1024);
886+
~HttpIo() override;
886887

887888
private:
888889
// Pimpl idiom

src/basicio.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1473,6 +1473,8 @@ void HttpIo::HttpImpl::writeRemote(const byte* data, size_t size, size_t from, s
14731473
HttpIo::HttpIo(const std::string& url, size_t blockSize) {
14741474
p_ = std::make_unique<HttpImpl>(url, blockSize);
14751475
}
1476+
1477+
HttpIo::~HttpIo() = default;
14761478
#endif
14771479

14781480
#ifdef EXV_USE_CURL

src/pentaxmn_int.cpp

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,15 @@
1313
#include "types.hpp"
1414
#include "value.hpp"
1515

16+
#include <iomanip>
17+
18+
namespace {
19+
// Exception thrown by findLensInfo when the lens info can't be found.
20+
class LensInfoNotFound : public std::exception {
21+
using std::exception::exception;
22+
};
23+
} // namespace
24+
1625
// *****************************************************************************
1726
// class member definitions
1827
namespace Exiv2::Internal {
@@ -1040,11 +1049,6 @@ static long getKeyLong(const std::string& key, const ExifData* metadata) {
10401049
return result;
10411050
}
10421051

1043-
// Exception thrown by findLensInfo when the lens info can't be found.
1044-
class LensInfoNotFound : public std::exception {
1045-
using std::exception::exception;
1046-
};
1047-
10481052
// Throws std::exception if the LensInfo can't be found.
10491053
static ExifData::const_iterator findLensInfo(const ExifData* metadata) {
10501054
const auto dngLensInfo = metadata->findKey(ExifKey("Exif.PentaxDng.LensInfo"));

src/tiffcomposite_int.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -596,6 +596,8 @@ class TiffDataEntryBase : public TiffEntryBase {
596596
TiffDataEntryBase(uint16_t tag, IfdId group, uint16_t szTag, IfdId szGroup);
597597
//@}
598598

599+
~TiffDataEntryBase() override;
600+
599601
//! @name Manipulators
600602
//@{
601603
/*!

src/tiffvisitor_int.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -345,6 +345,8 @@ TiffDataEntryBase::TiffDataEntryBase(uint16_t tag, IfdId group, uint16_t szTag,
345345
TiffEntryBase(tag, group), szTag_(szTag), szGroup_(szGroup) {
346346
}
347347

348+
TiffDataEntryBase::~TiffDataEntryBase() = default;
349+
348350
void TiffDecoder::decodeCanonAFInfo(const TiffEntryBase* object) {
349351
// report Exif.Canon.AFInfo as usual
350352
TiffDecoder::decodeStdTiffEntry(object);

0 commit comments

Comments
 (0)