mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-10-30 20:51:06 +01:00 
			
		
		
		
	Backends: GLFW, Input: Use Unicode version of WndProc for get correct input for text in utf-8 code page. (#7174)
Similar to #6785, #6782, #5725, #5961 for for GLFW backend.
This commit is contained in:
		| @@ -493,7 +493,7 @@ static LRESULT CALLBACK ImGui_ImplGlfw_WndProc(HWND hWnd, UINT msg, WPARAM wPara | |||||||
|         ImGui::GetIO().AddMouseSourceEvent(GetMouseSourceFromMessageExtraInfo()); |         ImGui::GetIO().AddMouseSourceEvent(GetMouseSourceFromMessageExtraInfo()); | ||||||
|         break; |         break; | ||||||
|     } |     } | ||||||
|     return ::CallWindowProc(bd->GlfwWndProc, hWnd, msg, wParam, lParam); |     return ::CallWindowProcW(bd->GlfwWndProc, hWnd, msg, wParam, lParam); | ||||||
| } | } | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
| @@ -617,9 +617,9 @@ static bool ImGui_ImplGlfw_Init(GLFWwindow* window, bool install_callbacks, Glfw | |||||||
|  |  | ||||||
|     // Windows: register a WndProc hook so we can intercept some messages. |     // Windows: register a WndProc hook so we can intercept some messages. | ||||||
| #ifdef _WIN32 | #ifdef _WIN32 | ||||||
|     bd->GlfwWndProc = (WNDPROC)::GetWindowLongPtr((HWND)main_viewport->PlatformHandleRaw, GWLP_WNDPROC); |     bd->GlfwWndProc = (WNDPROC)::GetWindowLongPtrW((HWND)main_viewport->PlatformHandleRaw, GWLP_WNDPROC); | ||||||
|     IM_ASSERT(bd->GlfwWndProc != nullptr); |     IM_ASSERT(bd->GlfwWndProc != nullptr); | ||||||
|     ::SetWindowLongPtr((HWND)main_viewport->PlatformHandleRaw, GWLP_WNDPROC, (LONG_PTR)ImGui_ImplGlfw_WndProc); |     ::SetWindowLongPtrW((HWND)main_viewport->PlatformHandleRaw, GWLP_WNDPROC, (LONG_PTR)ImGui_ImplGlfw_WndProc); | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
|     bd->ClientApi = client_api; |     bd->ClientApi = client_api; | ||||||
| @@ -659,7 +659,7 @@ void ImGui_ImplGlfw_Shutdown() | |||||||
|     // Windows: register a WndProc hook so we can intercept some messages. |     // Windows: register a WndProc hook so we can intercept some messages. | ||||||
| #ifdef _WIN32 | #ifdef _WIN32 | ||||||
|     ImGuiViewport* main_viewport = ImGui::GetMainViewport(); |     ImGuiViewport* main_viewport = ImGui::GetMainViewport(); | ||||||
|     ::SetWindowLongPtr((HWND)main_viewport->PlatformHandleRaw, GWLP_WNDPROC, (LONG_PTR)bd->GlfwWndProc); |     ::SetWindowLongPtrW((HWND)main_viewport->PlatformHandleRaw, GWLP_WNDPROC, (LONG_PTR)bd->GlfwWndProc); | ||||||
|     bd->GlfwWndProc = nullptr; |     bd->GlfwWndProc = nullptr; | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
|   | |||||||
| @@ -92,6 +92,8 @@ Other changes: | |||||||
|   on a codebase where another copy of the library is used. |   on a codebase where another copy of the library is used. | ||||||
| - Backends: GLFW, Emscripten: Added ImGui_ImplGlfw_InstallEmscriptenCanvasResizeCallback() to | - Backends: GLFW, Emscripten: Added ImGui_ImplGlfw_InstallEmscriptenCanvasResizeCallback() to | ||||||
|   register canvas selector and auto-resize GLFW window. (#6751) [@Traveller23, @ypujante] |   register canvas selector and auto-resize GLFW window. (#6751) [@Traveller23, @ypujante] | ||||||
|  | - Backends: GLFW: Fixed Windows specific hooks to use Unicode version of WndProc even when | ||||||
|  |   compiling in MBCS mode. (#7174) [@kimidaisuki22] | ||||||
| - Backends: Vulkan: Fixed mismatching allocator passed to vkCreateCommandPool() vs | - Backends: Vulkan: Fixed mismatching allocator passed to vkCreateCommandPool() vs | ||||||
|   vkDestroyCommandPool(). (#7075) [@FoonTheRaccoon] |   vkDestroyCommandPool(). (#7075) [@FoonTheRaccoon] | ||||||
| - Examples: GLFW+Emscripten: Fixed examples not consistently resizing according to host canvas. | - Examples: GLFW+Emscripten: Fixed examples not consistently resizing according to host canvas. | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user