summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/m_gui.h5
-rw-r--r--libs/win32/mir_core.libbin490770 -> 491056 bytes
-rw-r--r--libs/win64/mir_core.libbin495950 -> 496242 bytes
-rw-r--r--src/mir_app/src/profilemanager.cpp1
-rw-r--r--src/mir_core/src/Windows/CCtrlPages.cpp2
-rw-r--r--src/mir_core/src/mir_core.def1
-rw-r--r--src/mir_core/src/mir_core64.def1
7 files changed, 9 insertions, 1 deletions
diff --git a/include/m_gui.h b/include/m_gui.h
index 60d4dc2933..17b544ef61 100644
--- a/include/m_gui.h
+++ b/include/m_gui.h
@@ -1413,6 +1413,7 @@ class MIR_CORE_EXPORT CCtrlPages : public CCtrlBase
HIMAGELIST m_hIml;
CDlgBase *m_pActivePage;
int m_numRows = 1;
+ bool m_bOwnPages = false;
struct TPageInfo;
void InsertPage(TPageInfo *pPage);
@@ -1439,6 +1440,10 @@ public:
{ return m_pActivePage;
}
+ __forceinline void SetPageOwner()
+ { m_bOwnPages = true;
+ }
+
protected:
BOOL OnNotify(int idCtrl, NMHDR *pnmh) override;
diff --git a/libs/win32/mir_core.lib b/libs/win32/mir_core.lib
index 64bac7249c..d9dbb534ec 100644
--- a/libs/win32/mir_core.lib
+++ b/libs/win32/mir_core.lib
Binary files differ
diff --git a/libs/win64/mir_core.lib b/libs/win64/mir_core.lib
index 2b27d2acd6..48b6a8c9a0 100644
--- a/libs/win64/mir_core.lib
+++ b/libs/win64/mir_core.lib
Binary files differ
diff --git a/src/mir_app/src/profilemanager.cpp b/src/mir_app/src/profilemanager.cpp
index b2ea141b6c..ab7f00edf0 100644
--- a/src/mir_app/src/profilemanager.cpp
+++ b/src/mir_app/src/profilemanager.cpp
@@ -586,6 +586,7 @@ public:
{
m_chkSmEnabled.OnChange = Callback(this, &CProfileManager::onChanged);
+ m_tab.SetPageOwner();
m_tab.AddPage(LPGENW("My profiles"), nullptr, new CChooseProfileDlg(m_btnOk, m_pd));
m_tab.AddPage(LPGENW("New profile"), nullptr, new CCreateProfileDlg(m_btnOk, m_pd));
}
diff --git a/src/mir_core/src/Windows/CCtrlPages.cpp b/src/mir_core/src/Windows/CCtrlPages.cpp
index 11f78c1b21..8d7e120f13 100644
--- a/src/mir_core/src/Windows/CCtrlPages.cpp
+++ b/src/mir_core/src/Windows/CCtrlPages.cpp
@@ -266,7 +266,7 @@ void CCtrlPages::RemovePage(int iPage)
void CCtrlPages::ShowPage(CDlgBase *pDlg)
{
if (pDlg->GetHwnd() == nullptr) {
- pDlg->SetParent(GetParent()->GetHwnd());
+ pDlg->SetParent(m_bOwnPages ? m_hwnd : GetParent()->GetHwnd());
pDlg->Create();
RECT rc;
diff --git a/src/mir_core/src/mir_core.def b/src/mir_core/src/mir_core.def
index 677bf03c83..3410eda604 100644
--- a/src/mir_core/src/mir_core.def
+++ b/src/mir_core/src/mir_core.def
@@ -1550,3 +1550,4 @@ _Utils_CorrectFontSize@4 @1762 NONAME
db_event_replace @1771
db_event_updateId @1772
?db_get_usm@@YG?AV?$CMStringT@DV?$ChTraitsCRT@D@@@@IPBD00@Z @1773 NONAME
+?SetPageOwner@CCtrlPages@@QAEXXZ @1774 NONAME
diff --git a/src/mir_core/src/mir_core64.def b/src/mir_core/src/mir_core64.def
index 4aace13f6e..d1afc89380 100644
--- a/src/mir_core/src/mir_core64.def
+++ b/src/mir_core/src/mir_core64.def
@@ -1550,3 +1550,4 @@ Utils_CorrectFontSize @1762 NONAME
db_event_replace @1771
db_event_updateId @1772
?db_get_usm@@YA?AV?$CMStringT@DV?$ChTraitsCRT@D@@@@IPEBD00@Z @1773 NONAME
+?SetPageOwner@CCtrlPages@@QEAAXXZ @1774 NONAME