summaryrefslogtreecommitdiff
path: root/Source
diff options
context:
space:
mode:
authorAdmiral H. Curtiss <pikachu025@gmail.com>2023-02-18 13:56:34 +0100
committerGitHub <noreply@github.com>2023-02-18 13:56:34 +0100
commit8db35e6d04f7a95fccdd8cfafb654dd32a409474 (patch)
tree2b66450cb0753506d54990f1266e4c5ad08ab4d5 /Source
parentdfc0f124831390262e5c3a191d2175760f4fc169 (diff)
parentf1f3fd5d9d417447dfab69c531656cbe42eaf071 (diff)
Merge pull request #11578 from Pokechu22/memory-leaks-feb-2023
Fix various memory leaks
Diffstat (limited to 'Source')
-rw-r--r--Source/Core/DolphinQt/Debugger/CodeViewWidget.cpp2
-rw-r--r--Source/Core/DolphinQt/Debugger/MemoryViewWidget.cpp34
-rw-r--r--Source/Core/InputCommon/ControlReference/ExpressionParser.cpp1
3 files changed, 19 insertions, 18 deletions
diff --git a/Source/Core/DolphinQt/Debugger/CodeViewWidget.cpp b/Source/Core/DolphinQt/Debugger/CodeViewWidget.cpp
index e843420b1e..15c76289b4 100644
--- a/Source/Core/DolphinQt/Debugger/CodeViewWidget.cpp
+++ b/Source/Core/DolphinQt/Debugger/CodeViewWidget.cpp
@@ -51,7 +51,7 @@ constexpr u32 WIDTH_PER_BRANCH_ARROW = 16;
class BranchDisplayDelegate : public QStyledItemDelegate
{
public:
- BranchDisplayDelegate(CodeViewWidget* parent) : m_parent(parent) {}
+ BranchDisplayDelegate(CodeViewWidget* parent) : QStyledItemDelegate(parent), m_parent(parent) {}
private:
CodeViewWidget* m_parent;
diff --git a/Source/Core/DolphinQt/Debugger/MemoryViewWidget.cpp b/Source/Core/DolphinQt/Debugger/MemoryViewWidget.cpp
index 04c8313dcf..6f057aed4f 100644
--- a/Source/Core/DolphinQt/Debugger/MemoryViewWidget.cpp
+++ b/Source/Core/DolphinQt/Debugger/MemoryViewWidget.cpp
@@ -321,36 +321,36 @@ void MemoryViewWidget::CreateTable()
// Create cells and add data that won't be changing.
// Breakpoint buttons
- auto* bp_item = new QTableWidgetItem;
- bp_item->setFlags(Qt::ItemIsEnabled);
- bp_item->setData(USER_ROLE_IS_ROW_BREAKPOINT_CELL, true);
- bp_item->setData(USER_ROLE_VALUE_TYPE, static_cast<int>(Type::Null));
+ auto bp_item = QTableWidgetItem();
+ bp_item.setFlags(Qt::ItemIsEnabled);
+ bp_item.setData(USER_ROLE_IS_ROW_BREAKPOINT_CELL, true);
+ bp_item.setData(USER_ROLE_VALUE_TYPE, static_cast<int>(Type::Null));
// Row Addresses
- auto* row_item = new QTableWidgetItem(INVALID_MEMORY);
- row_item->setFlags(Qt::ItemIsEnabled | Qt::ItemIsSelectable);
- row_item->setData(USER_ROLE_IS_ROW_BREAKPOINT_CELL, false);
- row_item->setData(USER_ROLE_VALUE_TYPE, static_cast<int>(Type::Null));
+ auto row_item = QTableWidgetItem(INVALID_MEMORY);
+ row_item.setFlags(Qt::ItemIsEnabled | Qt::ItemIsSelectable);
+ row_item.setData(USER_ROLE_IS_ROW_BREAKPOINT_CELL, false);
+ row_item.setData(USER_ROLE_VALUE_TYPE, static_cast<int>(Type::Null));
// Data item
- auto* item = new QTableWidgetItem(INVALID_MEMORY);
- item->setFlags(Qt::ItemIsEnabled | Qt::ItemIsSelectable | Qt::ItemIsEditable);
- item->setData(USER_ROLE_IS_ROW_BREAKPOINT_CELL, false);
+ auto item = QTableWidgetItem(INVALID_MEMORY);
+ item.setFlags(Qt::ItemIsEnabled | Qt::ItemIsSelectable | Qt::ItemIsEditable);
+ item.setData(USER_ROLE_IS_ROW_BREAKPOINT_CELL, false);
for (int i = 0; i < rows; i++)
{
- m_table->setItem(i, 0, bp_item->clone());
- m_table->setItem(i, 1, row_item->clone());
+ m_table->setItem(i, 0, bp_item.clone());
+ m_table->setItem(i, 1, row_item.clone());
for (int c = 0; c < m_data_columns; c++)
{
if (left_type && c < data_span)
{
- item->setData(USER_ROLE_VALUE_TYPE, static_cast<int>(left_type.value()));
+ item.setData(USER_ROLE_VALUE_TYPE, static_cast<int>(left_type.value()));
}
else
{
- item->setData(USER_ROLE_VALUE_TYPE, static_cast<int>(m_type));
+ item.setData(USER_ROLE_VALUE_TYPE, static_cast<int>(m_type));
// Left type will never be these.
auto text_alignment = Qt::AlignLeft;
@@ -359,10 +359,10 @@ void MemoryViewWidget::CreateTable()
{
text_alignment = Qt::AlignRight;
}
- item->setTextAlignment(text_alignment | Qt::AlignVCenter);
+ item.setTextAlignment(text_alignment | Qt::AlignVCenter);
}
- m_table->setItem(i, c + MISC_COLUMNS, item->clone());
+ m_table->setItem(i, c + MISC_COLUMNS, item.clone());
}
}
diff --git a/Source/Core/InputCommon/ControlReference/ExpressionParser.cpp b/Source/Core/InputCommon/ControlReference/ExpressionParser.cpp
index 1f78071856..65f9ceba4f 100644
--- a/Source/Core/InputCommon/ControlReference/ExpressionParser.cpp
+++ b/Source/Core/InputCommon/ControlReference/ExpressionParser.cpp
@@ -37,6 +37,7 @@ public:
void operator()(T* func)
{
(*func)();
+ delete func;
}
};