summaryrefslogtreecommitdiff
path: root/ui/metadatachoicedialog.h
diff options
context:
space:
mode:
authorGlenn Smith <glenn@vector35.com>2023-01-27 18:53:27 -0500
committerGlenn Smith <glenn@vector35.com>2023-01-27 18:55:02 -0500
commitcf4220570c2d1b7105fb29719383f64026d46837 (patch)
tree044786645f5310c5877cbe2a274d898aa6c9fddc /ui/metadatachoicedialog.h
parent6ffbe30facc49f9c993951260068f1f9d490517e (diff)
Add virtual non-inline functions for interface classes
This fixes a cases where trying to dynamic_cast to one of these interfaces fails for types defined in libraries, since the linker just copies the full definition into the library because it can, and then breaks the inheritance tree.
Diffstat (limited to 'ui/metadatachoicedialog.h')
-rw-r--r--ui/metadatachoicedialog.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/ui/metadatachoicedialog.h b/ui/metadatachoicedialog.h
index e2d07a14..64a2032e 100644
--- a/ui/metadatachoicedialog.h
+++ b/ui/metadatachoicedialog.h
@@ -29,6 +29,7 @@ struct EntryItem {
*/
class ManagedTableDelegate {
public:
+ virtual ~ManagedTableDelegate();
// model
virtual size_t ManagedTableColumnCount() = 0;
virtual size_t ManagedTableRowCount() = 0;
@@ -115,6 +116,7 @@ enum MetadataMode {
class EntryItemMetadataViewDelegate {
public:
+ virtual ~EntryItemMetadataViewDelegate();
virtual MetadataMode GetCurrentMode() = 0;
virtual std::vector<BinaryNinja::DisassemblyTextLine> LinesForEntryItem(EntryItem& item) = 0;
virtual QString PlaintextForEntryItem(EntryItem& item) = 0;