summaryrefslogtreecommitdiff
path: root/qxldod/QxlDod.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'qxldod/QxlDod.cpp')
-rwxr-xr-xqxldod/QxlDod.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/qxldod/QxlDod.cpp b/qxldod/QxlDod.cpp
index 813ab44..746f53e 100755
--- a/qxldod/QxlDod.cpp
+++ b/qxldod/QxlDod.cpp
@@ -4077,8 +4077,11 @@ void *QxlDevice::AllocMem(UINT32 mspace_type, size_t size, BOOL force)
FlushReleaseRing();
ptr = mspace_malloc(m_MSInfo[mspace_type]._mspace, size);
- if (!ptr && mspace_type == MSPACE_TYPE_VRAM)
- ptr = mspace_malloc(m_MSInfo[MSPACE_TYPE_DEVRAM]._mspace, size);
+ if (!ptr && mspace_type == MSPACE_TYPE_VRAM &&
+ (ptr = mspace_malloc(m_MSInfo[MSPACE_TYPE_DEVRAM]._mspace, size))) {
+ /* for proper address check at the end of the procedure */
+ mspace_type = MSPACE_TYPE_DEVRAM;
+ }
if (ptr) {
break;
}