diff --git a/common/gal/cairo/cairo_compositor.cpp b/common/gal/cairo/cairo_compositor.cpp index ea56cc5d74..5fa8f6739b 100644 --- a/common/gal/cairo/cairo_compositor.cpp +++ b/common/gal/cairo/cairo_compositor.cpp @@ -88,7 +88,7 @@ void CAIRO_COMPOSITOR::Resize( unsigned int aWidth, unsigned int aHeight ) unsigned int CAIRO_COMPOSITOR::CreateBuffer() { // Pixel storage - BitmapPtr bitmap = new uint32_t[m_bufferSize](); + BitmapPtr bitmap = new uint8_t[m_bufferSize](); // Create the Cairo surface cairo_surface_t* surface = cairo_image_surface_create_for_data( @@ -138,7 +138,7 @@ void CAIRO_COMPOSITOR::Begin() void CAIRO_COMPOSITOR::ClearBuffer( const COLOR4D& aColor ) { // Clear the pixel storage - memset( m_buffers[m_current].bitmap, 0x00, m_bufferSize * sizeof( int ) ); + memset( m_buffers[m_current].bitmap, 0x00, m_bufferSize ); } diff --git a/common/gal/cairo/cairo_gal.cpp b/common/gal/cairo/cairo_gal.cpp index a10a815265..554a3279b4 100644 --- a/common/gal/cairo/cairo_gal.cpp +++ b/common/gal/cairo/cairo_gal.cpp @@ -1596,15 +1596,12 @@ void CAIRO_GAL::allocateBitmaps() { m_wxBufferWidth = m_screenSize.x; - while( ( ( m_wxBufferWidth * 3 ) % 4 ) != 0 ) - m_wxBufferWidth++; - // Create buffer, use the system independent Cairo context backend m_stride = cairo_format_stride_for_width( GAL_FORMAT, m_wxBufferWidth ); m_bufferSize = m_stride * m_screenSize.y; wxASSERT( m_bitmapBuffer == nullptr ); - m_bitmapBuffer = new unsigned char[m_bufferSize * 4]; + m_bitmapBuffer = new unsigned char[m_bufferSize]; wxASSERT( m_wxOutput == nullptr ); m_wxOutput = new unsigned char[m_wxBufferWidth * 3 * m_screenSize.y]; diff --git a/include/gal/cairo/cairo_compositor.h b/include/gal/cairo/cairo_compositor.h index 3d28c419e2..e27fb942eb 100644 --- a/include/gal/cairo/cairo_compositor.h +++ b/include/gal/cairo/cairo_compositor.h @@ -126,7 +126,7 @@ protected: return m_buffers.size(); } - typedef uint32_t* BitmapPtr; + typedef uint8_t* BitmapPtr; struct CAIRO_BUFFER { cairo_t* context; ///< Main texture handle