diff options
author | berkeviktor@aol.com <berkeviktor@aol.com> | 2010-04-04 04:06:25 +0200 |
---|---|---|
committer | berkeviktor@aol.com <berkeviktor@aol.com> | 2010-04-04 04:06:25 +0200 |
commit | 3fab4f0d7dc92e70e5f0e6273d75df8c4d972a61 (patch) | |
tree | 2c19ff2f2f487567ea8a1718c9499930438636ca /plugins | |
parent | 5607488e9f64c0190da57e82ea26b85086446197 (diff) |
fix for x64 xtray
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/xtray/utility.cpp | 16 | ||||
-rw-r--r-- | plugins/xtray/xtray.cpp | 20 | ||||
-rw-r--r-- | plugins/xtray/xtray.h | 9 |
3 files changed, 19 insertions, 26 deletions
diff --git a/plugins/xtray/utility.cpp b/plugins/xtray/utility.cpp index 909517df..dd9dd29f 100644 --- a/plugins/xtray/utility.cpp +++ b/plugins/xtray/utility.cpp @@ -321,24 +321,16 @@ void CheckPrefs(HWND hwnd, int iDlg) DWORD dwStyle; dwStyle = GetWindowLong(g_hXchatWnd, GWL_STYLE); dwStyle |= (1<<WS_CHILD); - SetWindowLong(g_hXchatWnd, GWL_STYLE, dwStyle); -#ifdef _WIN64 - SetWindowLong(g_hXchatWnd, GWLP_HWNDPARENT, (long)g_hHotkeyWnd); -#else - SetWindowLong(g_hXchatWnd, GWL_HWNDPARENT, (long)g_hHotkeyWnd); -#endif + SetWindowLongPtr(g_hXchatWnd, GWL_STYLE, (LONG_PTR)dwStyle); + SetWindowLongPtr(g_hXchatWnd, GWL_HWNDPARENT, (LONG_PTR)g_hHotkeyWnd); } else { DWORD dwStyle; dwStyle = GetWindowLong(g_hXchatWnd, GWL_STYLE); dwStyle &= ~(1<<WS_CHILD); - SetWindowLong(g_hXchatWnd, GWL_STYLE, dwStyle); -#ifdef _WIN64 - SetWindowLong(g_hXchatWnd, GWLP_HWNDPARENT, NULL); -#else - SetWindowLong(g_hXchatWnd, GWL_HWNDPARENT, NULL); -#endif + SetWindowLongPtr(g_hXchatWnd, GWL_STYLE, (LONG_PTR)dwStyle); + SetWindowLongPtr(g_hXchatWnd, GWL_HWNDPARENT, NULL); } } break; diff --git a/plugins/xtray/xtray.cpp b/plugins/xtray/xtray.cpp index 688464ff..c9f1bd5e 100644 --- a/plugins/xtray/xtray.cpp +++ b/plugins/xtray/xtray.cpp @@ -93,7 +93,7 @@ int xchat_plugin_init(xchat_plugin *plugin_handle, char **plugin_name, char **pl } g_hOldProc = (WNDPROC)GetWindowLongPtr(g_hXchatWnd, GWLP_WNDPROC); - SetWindowLong(g_hXchatWnd, GWLP_WNDPROC, (long)WindowProc); + SetWindowLongPtr(g_hXchatWnd, GWLP_WNDPROC, (LONG_PTR)WindowProc); /***************************************************************************************************************************/ /************************* Grab the xChat Icon, Load our menu, create the window to receive the hotkey messages ***********/ @@ -127,12 +127,8 @@ int xchat_plugin_init(xchat_plugin *plugin_handle, char **plugin_name, char **pl DWORD dwStyle; dwStyle = GetWindowLong(g_hXchatWnd, GWL_STYLE); dwStyle |= (1<<WS_CHILD); - SetWindowLong(g_hXchatWnd, GWL_STYLE, dwStyle); -#ifdef _WIN64 - SetWindowLong(g_hXchatWnd, GWLP_HWNDPARENT, (long)g_hHotkeyWnd); -#else - SetWindowLong(g_hXchatWnd, GWL_HWNDPARENT, (long)g_hHotkeyWnd); -#endif + SetWindowLongPtr(g_hXchatWnd, GWL_STYLE, (LONG_PTR)dwStyle); + SetWindowLongPtr(g_hXchatWnd, GWL_HWNDPARENT, (LONG_PTR)g_hHotkeyWnd); } /***************************************************************************************************************************/ @@ -171,12 +167,8 @@ int xchat_plugin_deinit(xchat_plugin *plugin_handle) DWORD dwStyle; dwStyle = GetWindowLong(g_hXchatWnd, GWL_STYLE); dwStyle &= ~(1<<WS_CHILD); - SetWindowLong(g_hXchatWnd, GWL_STYLE, dwStyle); -#ifdef _WIN64 - SetWindowLong(g_hXchatWnd, GWLP_HWNDPARENT, NULL); -#else - SetWindowLong(g_hXchatWnd, GWL_HWNDPARENT, NULL); -#endif + SetWindowLongPtr(g_hXchatWnd, GWL_STYLE, (LONG_PTR)dwStyle); + SetWindowLongPtr(g_hXchatWnd, GWL_HWNDPARENT, NULL); } /******************************************/ @@ -192,7 +184,7 @@ int xchat_plugin_deinit(xchat_plugin *plugin_handle) /******************************************/ /****** Remove our window hook ************/ /******************************************/ - SetWindowLong(g_hXchatWnd, GWLP_WNDPROC, (long)g_hOldProc); + SetWindowLongPtr(g_hXchatWnd, GWLP_WNDPROC, (LONG_PTR)g_hOldProc); /******************************************/ /****** Remove our hotkey, and destroy ****/ diff --git a/plugins/xtray/xtray.h b/plugins/xtray/xtray.h index 2f964860..21ec67a2 100644 --- a/plugins/xtray/xtray.h +++ b/plugins/xtray/xtray.h @@ -63,3 +63,12 @@ extern struct _xchat_plugin *ph; #define PREF_DNSIT 20 // Do not show in taskbar /******************************************************/ #endif + +#ifdef _WIN64 +/* use replacement with the same value, and use SetWindowLongPtr instead + of SetWindowLong. more info: + + http://msdn.microsoft.com/en-us/library/ms633591.aspx + http://msdn.microsoft.com/en-us/library/ms644898.aspx */ +#define GWL_HWNDPARENT GWLP_HWNDPARENT +#endif |