diff options
-rw-r--r-- | bin10/lib/mir_core.lib | bin | 327502 -> 327828 bytes | |||
-rw-r--r-- | bin10/lib/mir_core64.lib | bin | 329222 -> 329558 bytes | |||
-rw-r--r-- | bin12/lib/mir_core.lib | bin | 327502 -> 327828 bytes | |||
-rw-r--r-- | bin12/lib/mir_core64.lib | bin | 329222 -> 329558 bytes | |||
-rw-r--r-- | include/m_gui.h | 1 | ||||
-rw-r--r-- | src/core/miranda.h | 2 | ||||
-rw-r--r-- | src/mir_core/src/mir_core.def | 1 | ||||
-rw-r--r-- | src/mir_core/src/mir_core64.def | 1 | ||||
-rw-r--r-- | src/modules/options/options.cpp | 14 |
9 files changed, 12 insertions, 7 deletions
diff --git a/bin10/lib/mir_core.lib b/bin10/lib/mir_core.lib Binary files differindex 006178cbe7..7535a9fac8 100644 --- a/bin10/lib/mir_core.lib +++ b/bin10/lib/mir_core.lib diff --git a/bin10/lib/mir_core64.lib b/bin10/lib/mir_core64.lib Binary files differindex bfa4ae4fc4..d98ec2d567 100644 --- a/bin10/lib/mir_core64.lib +++ b/bin10/lib/mir_core64.lib diff --git a/bin12/lib/mir_core.lib b/bin12/lib/mir_core.lib Binary files differindex 006178cbe7..7380ffd3a1 100644 --- a/bin12/lib/mir_core.lib +++ b/bin12/lib/mir_core.lib diff --git a/bin12/lib/mir_core64.lib b/bin12/lib/mir_core64.lib Binary files differindex bfa4ae4fc4..f51de3c69a 100644 --- a/bin12/lib/mir_core64.lib +++ b/bin12/lib/mir_core64.lib diff --git a/include/m_gui.h b/include/m_gui.h index b71ae87ca2..e984743452 100644 --- a/include/m_gui.h +++ b/include/m_gui.h @@ -267,6 +267,7 @@ public: void Show(int nCmdShow = SW_SHOW);
int DoModal();
+ __forceinline HINSTANCE GetInst() const { return m_hInst; }
__forceinline HWND GetHwnd() const { return m_hwnd; }
__forceinline bool IsInitialized() const { return m_initialized; }
__forceinline void SetParent(HWND hwnd) { m_hwndParent = hwnd; }
diff --git a/src/core/miranda.h b/src/core/miranda.h index e5f6c88c1f..5f0d7e2ddc 100644 --- a/src/core/miranda.h +++ b/src/core/miranda.h @@ -22,8 +22,6 @@ along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#define OPTIONPAGE_OLD_SIZE offsetof(OPTIONSDIALOGPAGE,hLangpack)
-
typedef HRESULT (STDAPICALLTYPE *pfnDrawThemeTextEx)(HTHEME, HDC, int, int, LPCWSTR, int, DWORD, LPRECT, const struct _DTTOPTS *);
typedef HRESULT (STDAPICALLTYPE *pfnSetWindowThemeAttribute)(HWND, enum WINDOWTHEMEATTRIBUTETYPE, PVOID, DWORD);
typedef HRESULT (STDAPICALLTYPE *pfnBufferedPaintInit)(void);
diff --git a/src/mir_core/src/mir_core.def b/src/mir_core/src/mir_core.def index 3809861dc2..8196e031dc 100644 --- a/src/mir_core/src/mir_core.def +++ b/src/mir_core/src/mir_core.def @@ -1074,3 +1074,4 @@ ProtoWindowAdd @1071 NONAME ProtoWindowRemove @1072 NONAME
Proto_IsProtocolLoaded @1073 NONAME
Proto_RegisterModule @1074 NONAME
+?GetInst@CDlgBase@@QBEPAUHINSTANCE__@@XZ @1075 NONAME
diff --git a/src/mir_core/src/mir_core64.def b/src/mir_core/src/mir_core64.def index 0308488cca..6c7513dbbe 100644 --- a/src/mir_core/src/mir_core64.def +++ b/src/mir_core/src/mir_core64.def @@ -1075,3 +1075,4 @@ ProtoWindowRemove @1072 NONAME Proto_IsProtocolLoaded @1073 NONAME
Proto_RegisterModule @1074 NONAME
+?GetInst@CDlgBase@@QEBAPEAUHINSTANCE__@@XZ @1075 NONAME
diff --git a/src/modules/options/options.cpp b/src/modules/options/options.cpp index 48d33deb80..a9975328c8 100644 --- a/src/modules/options/options.cpp +++ b/src/modules/options/options.cpp @@ -422,7 +422,7 @@ static LRESULT CALLBACK AeroPaintSubclassProc(HWND hwnd, UINT msg, WPARAM wParam static void CALLBACK FilterSearchTimerFunc(HWND hwnd, UINT, UINT_PTR, DWORD)
{
- OptionsDlgData* dat = (OptionsDlgData*)GetWindowLongPtr(hwnd, GWLP_USERDATA);
+ OptionsDlgData *dat = (OptionsDlgData*)GetWindowLongPtr(hwnd, GWLP_USERDATA);
if (!dat)
return;
@@ -464,9 +464,10 @@ static void FillFilterCombo(HWND hDlg, OptionsDlgData* dat) SendDlgItemMessage(hDlg, IDC_KEYWORD_FILTER, (UINT)CB_SETITEMDATA, (WPARAM)index, (LPARAM)hInst);
for (int i = 0; i < dat->arOpd.getCount(); i++) {
- FindFilterStrings(FALSE, FALSE, hDlg, dat->arOpd[i]); // only modules name (fast enougth)
+ OptionsPageData *opd = dat->arOpd[i];
+ FindFilterStrings(FALSE, FALSE, hDlg, opd); // only modules name (fast enougth)
- HINSTANCE inst = dat->arOpd[i]->hInst;
+ HINSTANCE inst = opd->hInst;
if (inst == hInst)
continue;
@@ -710,7 +711,10 @@ static bool LoadOptionsPage(OPTIONSDIALOGPAGE *src, OptionsPageData *dst) dst->dlgProc = src->pfnDlgProc;
dst->dwInitParam = src->dwInitParam;
}
- else dst->pDialog = src->pDialog;
+ else {
+ dst->hInst = src->pDialog->GetInst();
+ dst->pDialog = src->pDialog;
+ }
dst->hwnd = NULL;
dst->changed = 0;
@@ -1289,7 +1293,7 @@ static INT_PTR AddOptionsPage(WPARAM wParam, LPARAM lParam) OptionsPageInit *opi = (OptionsPageInit*)wParam;
if (odp == NULL || opi == NULL) return 1;
- if (odp->cbSize != sizeof(OPTIONSDIALOGPAGE) && odp->cbSize != OPTIONPAGE_OLD_SIZE)
+ if (odp->cbSize != sizeof(OPTIONSDIALOGPAGE))
return 1;
opi->odp = (OPTIONSDIALOGPAGE*)mir_realloc(opi->odp, sizeof(OPTIONSDIALOGPAGE)*(opi->pageCount + 1));
|