Fix Windows64 mouse capture and static initialization crashes (#177)
This commit is contained in:
@@ -403,6 +403,15 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
|
|||||||
if (LOWORD(wParam) == WA_INACTIVE)
|
if (LOWORD(wParam) == WA_INACTIVE)
|
||||||
KMInput.SetCapture(false);
|
KMInput.SetCapture(false);
|
||||||
break;
|
break;
|
||||||
|
case WM_SETFOCUS:
|
||||||
|
{
|
||||||
|
// Re-capture when window receives focus (e.g., after clicking on it)
|
||||||
|
Minecraft *pMinecraft = Minecraft::GetInstance();
|
||||||
|
bool shouldCapture = pMinecraft && app.GetGameStarted() && !ui.GetMenuDisplayed(0) && pMinecraft->screen == NULL;
|
||||||
|
if (shouldCapture)
|
||||||
|
KMInput.SetCapture(true);
|
||||||
|
}
|
||||||
|
break;
|
||||||
case WM_KILLFOCUS:
|
case WM_KILLFOCUS:
|
||||||
KMInput.SetCapture(false);
|
KMInput.SetCapture(false);
|
||||||
KMInput.ClearAllState();
|
KMInput.ClearAllState();
|
||||||
|
|||||||
@@ -169,9 +169,9 @@ Packet::Packet() : createTime( System::currentTimeMillis() )
|
|||||||
|
|
||||||
unordered_map<int, packetCreateFn> Packet::idToCreateMap;
|
unordered_map<int, packetCreateFn> Packet::idToCreateMap;
|
||||||
|
|
||||||
unordered_set<int> Packet::clientReceivedPackets = unordered_set<int>();
|
unordered_set<int> Packet::clientReceivedPackets;
|
||||||
unordered_set<int> Packet::serverReceivedPackets = unordered_set<int>();
|
unordered_set<int> Packet::serverReceivedPackets;
|
||||||
unordered_set<int> Packet::sendToAnyClientPackets = unordered_set<int>();
|
unordered_set<int> Packet::sendToAnyClientPackets;
|
||||||
|
|
||||||
// 4J Added
|
// 4J Added
|
||||||
unordered_map<int, Packet::PacketStatistics *> Packet::outgoingStatistics = unordered_map<int, Packet::PacketStatistics *>();
|
unordered_map<int, Packet::PacketStatistics *> Packet::outgoingStatistics = unordered_map<int, Packet::PacketStatistics *>();
|
||||||
|
|||||||
Reference in New Issue
Block a user