mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-10-30 20:51:06 +01:00 
			
		
		
		
	IO: fix writing to incorrect union section for MouseSource in AddMousePosEvent and AddMouseButtonEvent. (#6727, #2702)
Technically may have had no side-effects unless non-standard alignment used.
This commit is contained in:
		| @@ -1531,7 +1531,7 @@ void ImGuiIO::AddMousePosEvent(float x, float y) | ||||
|     e.EventId = g.InputEventsNextEventId++; | ||||
|     e.MousePos.PosX = pos.x; | ||||
|     e.MousePos.PosY = pos.y; | ||||
|     e.MouseWheel.MouseSource = g.InputEventsNextMouseSource; | ||||
|     e.MousePos.MouseSource = g.InputEventsNextMouseSource; | ||||
|     g.InputEventsQueue.push_back(e); | ||||
| } | ||||
|  | ||||
| @@ -1555,7 +1555,7 @@ void ImGuiIO::AddMouseButtonEvent(int mouse_button, bool down) | ||||
|     e.EventId = g.InputEventsNextEventId++; | ||||
|     e.MouseButton.Button = mouse_button; | ||||
|     e.MouseButton.Down = down; | ||||
|     e.MouseWheel.MouseSource = g.InputEventsNextMouseSource; | ||||
|     e.MouseButton.MouseSource = g.InputEventsNextMouseSource; | ||||
|     g.InputEventsQueue.push_back(e); | ||||
| } | ||||
|  | ||||
| @@ -8852,8 +8852,8 @@ static const char* GetMouseSourceName(ImGuiMouseSource source) | ||||
| static void DebugPrintInputEvent(const char* prefix, const ImGuiInputEvent* e) | ||||
| { | ||||
|     ImGuiContext& g = *GImGui; | ||||
|     if (e->Type == ImGuiInputEventType_MousePos)    { if (e->MousePos.PosX == -FLT_MAX && e->MousePos.PosY == -FLT_MAX) IMGUI_DEBUG_LOG_IO("[io] %s: MousePos (-FLT_MAX, -FLT_MAX)\n", prefix); else IMGUI_DEBUG_LOG_IO("[io] %s: MousePos (%.1f, %.1f) (%s)\n", prefix, e->MousePos.PosX, e->MousePos.PosY, GetMouseSourceName(e->MouseWheel.MouseSource)); return; } | ||||
|     if (e->Type == ImGuiInputEventType_MouseButton) { IMGUI_DEBUG_LOG_IO("[io] %s: MouseButton %d %s (%s)\n", prefix, e->MouseButton.Button, e->MouseButton.Down ? "Down" : "Up", GetMouseSourceName(e->MouseWheel.MouseSource)); return; } | ||||
|     if (e->Type == ImGuiInputEventType_MousePos)    { if (e->MousePos.PosX == -FLT_MAX && e->MousePos.PosY == -FLT_MAX) IMGUI_DEBUG_LOG_IO("[io] %s: MousePos (-FLT_MAX, -FLT_MAX)\n", prefix); else IMGUI_DEBUG_LOG_IO("[io] %s: MousePos (%.1f, %.1f) (%s)\n", prefix, e->MousePos.PosX, e->MousePos.PosY, GetMouseSourceName(e->MousePos.MouseSource)); return; } | ||||
|     if (e->Type == ImGuiInputEventType_MouseButton) { IMGUI_DEBUG_LOG_IO("[io] %s: MouseButton %d %s (%s)\n", prefix, e->MouseButton.Button, e->MouseButton.Down ? "Down" : "Up", GetMouseSourceName(e->MouseButton.MouseSource)); return; } | ||||
|     if (e->Type == ImGuiInputEventType_MouseWheel)  { IMGUI_DEBUG_LOG_IO("[io] %s: MouseWheel (%.3f, %.3f) (%s)\n", prefix, e->MouseWheel.WheelX, e->MouseWheel.WheelY, GetMouseSourceName(e->MouseWheel.MouseSource)); return; } | ||||
|     if (e->Type == ImGuiInputEventType_Key)         { IMGUI_DEBUG_LOG_IO("[io] %s: Key \"%s\" %s\n", prefix, ImGui::GetKeyName(e->Key.Key), e->Key.Down ? "Down" : "Up"); return; } | ||||
|     if (e->Type == ImGuiInputEventType_Text)        { IMGUI_DEBUG_LOG_IO("[io] %s: Text: %c (U+%08X)\n", prefix, e->Text.Char, e->Text.Char); return; } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user