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); | 
