diff options
author | 2020-10-03 14:31:39 +1000 | |
---|---|---|
committer | 2020-10-03 14:31:39 +1000 | |
commit | d1681a8ecef978ee34bafe24e95d34f25581e9c3 (patch) | |
tree | 958f96e617f2b5cb3c7c74536a14ad19d9a45be7 /src/osd/modules/render/drawgdi.cpp | |
parent | b7de847b6e5f259fa5c67b43951586204a6ae387 (diff) | |
parent | 9ac531e2b9aa690910cbeb35a14bd93fb001592b (diff) |
Merge remote-tracking branch 'upstream/master' into master
Diffstat (limited to 'src/osd/modules/render/drawgdi.cpp')
-rw-r--r-- | src/osd/modules/render/drawgdi.cpp | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/src/osd/modules/render/drawgdi.cpp b/src/osd/modules/render/drawgdi.cpp index bd0e6425b6e..32dac94c24a 100644 --- a/src/osd/modules/render/drawgdi.cpp +++ b/src/osd/modules/render/drawgdi.cpp @@ -16,9 +16,6 @@ renderer_gdi::~renderer_gdi() { - // free the bitmap memory - if (m_bmdata != nullptr) - global_free_array(m_bmdata); } //============================================================ @@ -83,13 +80,13 @@ int renderer_gdi::draw(const int update) if (pitch * height * 4 > m_bmsize) { m_bmsize = pitch * height * 4 * 2; - global_free_array(m_bmdata); - m_bmdata = global_alloc_array(uint8_t, m_bmsize); + m_bmdata.reset(); + m_bmdata = std::make_unique<uint8_t []>(m_bmsize); } // draw the primitives to the bitmap win->m_primlist->acquire_lock(); - software_renderer<uint32_t, 0,0,0, 16,8,0>::draw_primitives(*win->m_primlist, m_bmdata, width, height, pitch); + software_renderer<uint32_t, 0,0,0, 16,8,0>::draw_primitives(*win->m_primlist, m_bmdata.get(), width, height, pitch); win->m_primlist->release_lock(); // fill in bitmap-specific info @@ -97,8 +94,9 @@ int renderer_gdi::draw(const int update) m_bminfo.bmiHeader.biHeight = -height; // blit to the screen - StretchDIBits(win->m_dc, 0, 0, width, height, - 0, 0, width, height, - m_bmdata, &m_bminfo, DIB_RGB_COLORS, SRCCOPY); + StretchDIBits( + win->m_dc, 0, 0, width, height, + 0, 0, width, height, + m_bmdata.get(), &m_bminfo, DIB_RGB_COLORS, SRCCOPY); return 0; } |