x64 crashes fixed

This commit is contained in:
d1str4ught
2025-08-19 03:54:44 +02:00
parent e87b6fc67b
commit 61a04096ee
10 changed files with 114 additions and 78 deletions

View File

@@ -2,9 +2,9 @@
bool PyTuple_GetImageInstance(PyObject* poArgs, int pos, CGraphicImageInstance** ppRetImageInstance)
{
int handle;
unsigned long long handle;
if (!PyTuple_GetInteger(poArgs, pos, &handle))
if (!PyTuple_GetUnsignedLongLong(poArgs, pos, &handle))
return false;
if (!handle)
@@ -16,9 +16,9 @@ bool PyTuple_GetImageInstance(PyObject* poArgs, int pos, CGraphicImageInstance**
bool PyTuple_GetExpandedImageInstance(PyObject* poArgs, int pos, CGraphicExpandedImageInstance ** ppRetImageInstance)
{
int handle;
unsigned long long handle;
if (!PyTuple_GetInteger(poArgs, pos, &handle))
if (!PyTuple_GetUnsignedLongLong(poArgs, pos, &handle))
return false;
if (!handle)
@@ -40,7 +40,7 @@ PyObject* grpImageGenerate(PyObject * poSelf, PyObject* poArgs)
return Py_BadArgument();
if (!*szFileName)
return Py_BuildValue("i", 0);
return Py_BuildValue("K", 0);
CResource * pResource = CResourceManager::Instance().GetResourcePointer(szFileName);
@@ -53,7 +53,7 @@ PyObject* grpImageGenerate(PyObject * poSelf, PyObject* poArgs)
if (pImageInstance->IsEmpty())
return Py_BuildException("Cannot load image (filename: %s)", szFileName);
return Py_BuildValue("i", pImageInstance);
return Py_BuildValue("K", pImageInstance);
}
PyObject* grpImageGenerateExpanded(PyObject* poSelf, PyObject* poArgs)
@@ -64,7 +64,7 @@ PyObject* grpImageGenerateExpanded(PyObject* poSelf, PyObject* poArgs)
return Py_BadArgument();
if (strlen(szFileName) <= 0)
return Py_BuildValue("i", 0);
return Py_BuildValue("K", 0);
CResource* pResource = CResourceManager::Instance().GetResourcePointer(szFileName);
@@ -77,7 +77,7 @@ PyObject* grpImageGenerateExpanded(PyObject* poSelf, PyObject* poArgs)
if (pImageInstance->IsEmpty())
return Py_BuildException("Cannot load image (filename: %s)", szFileName);
return Py_BuildValue("i", pImageInstance);
return Py_BuildValue("K", pImageInstance);
}
PyObject* grpImageGenerateFromHandle(PyObject * poSelf, PyObject* poArgs)
@@ -89,7 +89,7 @@ PyObject* grpImageGenerateFromHandle(PyObject * poSelf, PyObject* poArgs)
CGraphicImageInstance * pImageInstance = CGraphicImageInstance::New();
pImageInstance->SetImagePointer((CGraphicImage *)iHandle);
return Py_BuildValue("i", pImageInstance);
return Py_BuildValue("K", pImageInstance);
}
PyObject* grpImageDelete(PyObject* poSelf, PyObject* poArgs)

View File

@@ -5,8 +5,8 @@
bool PyTuple_GetWindow(PyObject* poArgs, int pos, UI::CWindow ** ppRetWindow)
{
int iHandle;
if (!PyTuple_GetInteger(poArgs, pos, &iHandle))
unsigned long long iHandle;
if (!PyTuple_GetUnsignedLongLong(poArgs, pos, &iHandle))
return false;
if (!iHandle)
return false;
@@ -53,7 +53,7 @@ PyObject * wndMgrRegister(PyObject * poSelf, PyObject * poArgs)
if (!pWindow)
return Py_BuildException();
return Py_BuildValue("i", pWindow);
return Py_BuildValue("K", pWindow);
}
// SlotWindow
@@ -67,7 +67,7 @@ PyObject * wndMgrRegisterSlotWindow(PyObject * poSelf, PyObject * poArgs)
return Py_BuildException();
UI::CWindow * pWindow = UI::CWindowManager::Instance().RegisterSlotWindow(po, szLayer);
return Py_BuildValue("i", pWindow);
return Py_BuildValue("K", pWindow);
}
// GridSlotWindow
@@ -81,7 +81,7 @@ PyObject * wndMgrRegisterGridSlotWindow(PyObject * poSelf, PyObject * poArgs)
return Py_BuildException();
UI::CWindow * pWindow = UI::CWindowManager::Instance().RegisterGridSlotWindow(po, szLayer);
return Py_BuildValue("i", pWindow);
return Py_BuildValue("K", pWindow);
}
// TextLine
@@ -95,7 +95,7 @@ PyObject * wndMgrRegisterTextLine(PyObject * poSelf, PyObject * poArgs)
return Py_BuildException();
UI::CWindow * pWindow = UI::CWindowManager::Instance().RegisterTextLine(po, szLayer);
return Py_BuildValue("i", pWindow);
return Py_BuildValue("K", pWindow);
}
// MarkBox
@@ -109,7 +109,7 @@ PyObject * wndMgrRegisterMarkBox(PyObject * poSelf, PyObject * poArgs)
return Py_BuildException();
UI::CWindow * pWindow = UI::CWindowManager::Instance().RegisterMarkBox(po, szLayer);
return Py_BuildValue("i", pWindow);
return Py_BuildValue("K", pWindow);
}
// ImageBox
@@ -123,7 +123,7 @@ PyObject * wndMgrRegisterImageBox(PyObject * poSelf, PyObject * poArgs)
return Py_BuildException();
UI::CWindow * pWindow = UI::CWindowManager::Instance().RegisterImageBox(po, szLayer);
return Py_BuildValue("i", pWindow);
return Py_BuildValue("K", pWindow);
}
// ExpandedImageBox
@@ -137,7 +137,7 @@ PyObject * wndMgrRegisterExpandedImageBox(PyObject * poSelf, PyObject * poArgs)
return Py_BuildException();
UI::CWindow * pWindow = UI::CWindowManager::Instance().RegisterExpandedImageBox(po, szLayer);
return Py_BuildValue("i", pWindow);
return Py_BuildValue("K", pWindow);
}
// AniImageBox
@@ -151,7 +151,7 @@ PyObject * wndMgrRegisterAniImageBox(PyObject * poSelf, PyObject * poArgs)
return Py_BuildException();
UI::CWindow * pWindow = UI::CWindowManager::Instance().RegisterAniImageBox(po, szLayer);
return Py_BuildValue("i", pWindow);
return Py_BuildValue("K", pWindow);
}
// RegisterButton
@@ -165,7 +165,7 @@ PyObject * wndMgrRegisterButton(PyObject * poSelf, PyObject * poArgs)
return Py_BuildException();
UI::CWindow * pWindow = UI::CWindowManager::Instance().RegisterButton(po, szLayer);
return Py_BuildValue("i", pWindow);
return Py_BuildValue("K", pWindow);
}
// RadioButton
@@ -179,7 +179,7 @@ PyObject * wndMgrRegisterRadioButton(PyObject * poSelf, PyObject * poArgs)
return Py_BuildException();
UI::CWindow * pWindow = UI::CWindowManager::Instance().RegisterRadioButton(po, szLayer);
return Py_BuildValue("i", pWindow);
return Py_BuildValue("K", pWindow);
}
// ToggleButton
@@ -193,7 +193,7 @@ PyObject * wndMgrRegisterToggleButton(PyObject * poSelf, PyObject * poArgs)
return Py_BuildException();
UI::CWindow * pWindow = UI::CWindowManager::Instance().RegisterToggleButton(po, szLayer);
return Py_BuildValue("i", pWindow);
return Py_BuildValue("K", pWindow);
}
// DragButton
@@ -207,7 +207,7 @@ PyObject * wndMgrRegisterDragButton(PyObject * poSelf, PyObject * poArgs)
return Py_BuildException();
UI::CWindow * pWindow = UI::CWindowManager::Instance().RegisterDragButton(po, szLayer);
return Py_BuildValue("i", pWindow);
return Py_BuildValue("K", pWindow);
}
// Box
@@ -221,7 +221,7 @@ PyObject * wndMgrRegisterBox(PyObject * poSelf, PyObject * poArgs)
return Py_BuildException();
UI::CWindow * pWindow = UI::CWindowManager::Instance().RegisterBox(po, szLayer);
return Py_BuildValue("i", pWindow);
return Py_BuildValue("K", pWindow);
}
// Bar
@@ -235,7 +235,7 @@ PyObject * wndMgrRegisterBar(PyObject * poSelf, PyObject * poArgs)
return Py_BuildException();
UI::CWindow * pWindow = UI::CWindowManager::Instance().RegisterBar(po, szLayer);
return Py_BuildValue("i", pWindow);
return Py_BuildValue("K", pWindow);
}
// Line
@@ -249,7 +249,7 @@ PyObject * wndMgrRegisterLine(PyObject * poSelf, PyObject * poArgs)
return Py_BuildException();
UI::CWindow * pWindow = UI::CWindowManager::Instance().RegisterLine(po, szLayer);
return Py_BuildValue("i", pWindow);
return Py_BuildValue("K", pWindow);
}
// Slot
@@ -263,7 +263,7 @@ PyObject * wndMgrRegisterBar3D(PyObject * poSelf, PyObject * poArgs)
return Py_BuildException();
UI::CWindow * pWindow = UI::CWindowManager::Instance().RegisterBar3D(po, szLayer);
return Py_BuildValue("i", pWindow);
return Py_BuildValue("K", pWindow);
}
// NumberLine
@@ -277,7 +277,7 @@ PyObject * wndMgrRegisterNumberLine(PyObject * poSelf, PyObject * poArgs)
return Py_BuildException();
UI::CWindow * pWindow = UI::CWindowManager::Instance().RegisterNumberLine(po, szLayer);
return Py_BuildValue("i", pWindow);
return Py_BuildValue("K", pWindow);
}
///// Register /////
/////////////////////////////////////////////////////////////////////////////////////////////////
@@ -298,7 +298,7 @@ PyObject * wndMgrIsFocus(PyObject * poSelf, PyObject * poArgs)
if (!PyTuple_GetWindow(poArgs, 0, &pWindow))
return Py_BuildException();
return Py_BuildValue("i", pWindow == UI::CWindowManager::Instance().GetActivateWindow());
return Py_BuildValue("K", pWindow == UI::CWindowManager::Instance().GetActivateWindow());
}
PyObject * wndMgrSetFocus(PyObject * poSelf, PyObject * poArgs)