diff options
-rw-r--r-- | win32/PlatWin.cxx | 8 | ||||
-rw-r--r-- | win32/PlatWin.h | 3 | ||||
-rw-r--r-- | win32/ScintillaWin.cxx | 12 |
3 files changed, 9 insertions, 14 deletions
diff --git a/win32/PlatWin.cxx b/win32/PlatWin.cxx index bcca2ac65..e2a220e35 100644 --- a/win32/PlatWin.cxx +++ b/win32/PlatWin.cxx @@ -237,8 +237,6 @@ HFONT FormatAndMetrics::HFont() { #define CLEARTYPE_QUALITY 5 #endif -namespace { - void *PointerFromWindow(HWND hWnd) noexcept { return reinterpret_cast<void *>(::GetWindowLongPtr(hWnd, 0)); } @@ -247,6 +245,8 @@ void SetWindowPointer(HWND hWnd, void *ptr) noexcept { ::SetWindowLongPtr(hWnd, 0, reinterpret_cast<LONG_PTR>(ptr)); } +namespace { + HINSTANCE hinstPlatformRes {}; HCURSOR reverseArrowCursor {}; @@ -2156,7 +2156,7 @@ static RECT RectFromMonitor(HMONITOR hMonitor) noexcept { } void Window::SetPositionRelative(PRectangle rc, const Window *relativeTo) { - const LONG style = ::GetWindowLong(HwndFromWindowID(wid), GWL_STYLE); + const DWORD style = GetWindowStyle(HwndFromWindowID(wid)); if (style & WS_POPUP) { POINT ptOther = {0, 0}; ::ClientToScreen(HwndFromWindow(*relativeTo), &ptOther); @@ -3075,7 +3075,7 @@ LRESULT ListBoxX::WndProc(HWND hWnd, UINT iMessage, WPARAM wParam, LPARAM lParam case WM_DESTROY: lb = 0; - ::SetWindowLong(hWnd, 0, 0); + SetWindowPointer(hWnd, nullptr); return ::DefWindowProc(hWnd, iMessage, wParam, lParam); case WM_ERASEBKGND: diff --git a/win32/PlatWin.h b/win32/PlatWin.h index 001a834cc..d7e544da6 100644 --- a/win32/PlatWin.h +++ b/win32/PlatWin.h @@ -35,6 +35,9 @@ inline HWND HwndFromWindow(const Window &w) noexcept { return HwndFromWindowID(w.GetID()); } +void *PointerFromWindow(HWND hWnd) noexcept; +void SetWindowPointer(HWND hWnd, void *ptr) noexcept; + #if defined(USE_D2D) extern bool LoadD2D(); extern ID2D1Factory *pD2DFactory; diff --git a/win32/ScintillaWin.cxx b/win32/ScintillaWin.cxx index be485f051..90af4494b 100644 --- a/win32/ScintillaWin.cxx +++ b/win32/ScintillaWin.cxx @@ -144,14 +144,6 @@ namespace { const TCHAR callClassName[] = TEXT("CallTip"); -void *PointerFromWindow(HWND hWnd) noexcept { - return reinterpret_cast<void *>(::GetWindowLongPtr(hWnd, 0)); -} - -void SetWindowPointer(HWND hWnd, void *ptr) noexcept { - ::SetWindowLongPtr(hWnd, 0, reinterpret_cast<LONG_PTR>(ptr)); -} - void SetWindowID(HWND hWnd, int identifier) noexcept { ::SetWindowLongPtr(hWnd, GWLP_ID, identifier); } @@ -3367,7 +3359,7 @@ LRESULT PASCAL ScintillaWin::CTWndProc( } } else { if (iMessage == WM_NCDESTROY) { - ::SetWindowLong(hWnd, 0, 0); + SetWindowPointer(hWnd, nullptr); return ::DefWindowProc(hWnd, iMessage, wParam, lParam); } else if (iMessage == WM_PAINT) { PAINTSTRUCT ps; @@ -3490,7 +3482,7 @@ LRESULT PASCAL ScintillaWin::SWndProc( delete sci; } catch (...) { } - ::SetWindowLong(hWnd, 0, 0); + SetWindowPointer(hWnd, nullptr); return ::DefWindowProc(hWnd, iMessage, wParam, lParam); } else { return sci->WndProc(iMessage, wParam, lParam); |