Don't make the global bitmap a friend of the screen bitmap, instead allocate it so

that alpha blitting and Cairo operations work correctly.  Running NetSurf on a 16-bit
screen is now possible without bits of the display missing or obliterated, however it
does suffer a small performance hit.

svn path=/trunk/netsurf/; revision=8331
This commit is contained in:
Chris Young 2009-07-05 18:15:55 +00:00
parent 0d879c2e7f
commit ab2391ade1
2 changed files with 3 additions and 4 deletions

View File

@ -509,7 +509,7 @@ void ami_openscreen(void)
if(screenmodereq = AllocAslRequest(ASL_ScreenModeRequest,NULL))
{
AslRequestTags(screenmodereq,
ASLSM_MinDepth,24,
ASLSM_MinDepth,16,
ASLSM_MaxDepth,32,
TAG_DONE);
@ -593,8 +593,7 @@ void gui_init2(int argc, char** argv)
if(!option_direct_render)
{
glob.bm = p96AllocBitMap(scrn->Width,scrn->Width,32,
BMF_CLEAR | BMF_DISPLAYABLE | BMF_INTERLEAVED,
scrn->RastPort.BitMap,RGBFB_A8R8G8B8);
BMF_INTERLEAVED, NULL, RGBFB_A8R8G8B8);
if(!glob.bm) warn_user("NoMemory","");

View File

@ -498,7 +498,7 @@ void ami_gui_opts_open(void)
GA_RelVerify, TRUE,
GA_Disabled,screenmodedisabled,
GETSCREENMODE_DisplayID,screenmodeid,
GETSCREENMODE_MinDepth, 24,
GETSCREENMODE_MinDepth, 16,
GETSCREENMODE_MaxDepth, 32,
GetScreenModeEnd,
LAYOUT_AddChild, gow->gadgets[GID_OPTS_SCREENNAME] = StringObject,