summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel/k_page_group.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/hle/kernel/k_page_group.h')
-rw-r--r--src/core/hle/kernel/k_page_group.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/core/hle/kernel/k_page_group.h b/src/core/hle/kernel/k_page_group.h
index b32909f05..de9d63a8d 100644
--- a/src/core/hle/kernel/k_page_group.h
+++ b/src/core/hle/kernel/k_page_group.h
@@ -183,12 +183,17 @@ private:
class KScopedPageGroup {
public:
- explicit KScopedPageGroup(const KPageGroup* gp) : m_pg(gp) {
+ explicit KScopedPageGroup(const KPageGroup* gp, bool not_first = true) : m_pg(gp) {
if (m_pg) {
- m_pg->Open();
+ if (not_first) {
+ m_pg->Open();
+ } else {
+ m_pg->OpenFirst();
+ }
}
}
- explicit KScopedPageGroup(const KPageGroup& gp) : KScopedPageGroup(std::addressof(gp)) {}
+ explicit KScopedPageGroup(const KPageGroup& gp, bool not_first = true)
+ : KScopedPageGroup(std::addressof(gp), not_first) {}
~KScopedPageGroup() {
if (m_pg) {
m_pg->Close();