diff options
Diffstat (limited to 'qxldod/QxlDod.cpp')
-rwxr-xr-x | qxldod/QxlDod.cpp | 7 |
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;
}
|