diff options
| author | Admiral H. Curtiss <pikachu025@gmail.com> | 2023-02-18 13:56:34 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-02-18 13:56:34 +0100 |
| commit | 8db35e6d04f7a95fccdd8cfafb654dd32a409474 (patch) | |
| tree | 2b66450cb0753506d54990f1266e4c5ad08ab4d5 /Source | |
| parent | dfc0f124831390262e5c3a191d2175760f4fc169 (diff) | |
| parent | f1f3fd5d9d417447dfab69c531656cbe42eaf071 (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.cpp | 2 | ||||
| -rw-r--r-- | Source/Core/DolphinQt/Debugger/MemoryViewWidget.cpp | 34 | ||||
| -rw-r--r-- | Source/Core/InputCommon/ControlReference/ExpressionParser.cpp | 1 |
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; } }; |
