a few fixes for PBC from Jeroen
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@729 423420c4-83ab-492f-b58f-81f9feb106b5
This commit is contained in:
parent
589e0cbd87
commit
e2e2ff88aa
12
cache.c
12
cache.c
@ -32,6 +32,7 @@ int g_num_bitmaps_in_memory[3];
|
|||||||
|
|
||||||
/* BITMAP CACHE */
|
/* BITMAP CACHE */
|
||||||
static BMPCACHEENTRY g_bmpcache[3][0xa00];
|
static BMPCACHEENTRY g_bmpcache[3][0xa00];
|
||||||
|
static HBITMAP g_volatile_bc[3];
|
||||||
|
|
||||||
/* Remove the least-recently used bitmap from the cache */
|
/* Remove the least-recently used bitmap from the cache */
|
||||||
void
|
void
|
||||||
@ -75,6 +76,10 @@ cache_get_bitmap(uint8 cache_id, uint16 cache_idx)
|
|||||||
return *pbitmap;
|
return *pbitmap;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if ((cache_id < NUM_ELEMENTS(g_volatile_bc)) && (cache_idx == 0x7fff))
|
||||||
|
{
|
||||||
|
return g_volatile_bc[cache_id];
|
||||||
|
}
|
||||||
|
|
||||||
error("get bitmap %d:%d\n", cache_id, cache_idx);
|
error("get bitmap %d:%d\n", cache_id, cache_idx);
|
||||||
return NULL;
|
return NULL;
|
||||||
@ -102,6 +107,13 @@ cache_put_bitmap(uint8 cache_id, uint16 cache_idx, HBITMAP bitmap, uint32 stamp)
|
|||||||
g_bmpcache[cache_id][cache_idx].bitmap = bitmap;
|
g_bmpcache[cache_id][cache_idx].bitmap = bitmap;
|
||||||
g_bmpcache[cache_id][cache_idx].usage = stamp;
|
g_bmpcache[cache_id][cache_idx].usage = stamp;
|
||||||
}
|
}
|
||||||
|
else if ((cache_id < NUM_ELEMENTS(g_volatile_bc)) && (cache_idx == 0x7fff))
|
||||||
|
{
|
||||||
|
old = g_volatile_bc[cache_id];
|
||||||
|
if (old != NULL)
|
||||||
|
ui_destroy_bitmap(old);
|
||||||
|
g_volatile_bc[cache_id] = bitmap;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
error("put bitmap %d:%d\n", cache_id, cache_idx);
|
error("put bitmap %d:%d\n", cache_id, cache_idx);
|
||||||
|
@ -720,8 +720,8 @@ main(int argc, char *argv[])
|
|||||||
}
|
}
|
||||||
|
|
||||||
DEBUG(("Disconnecting...\n"));
|
DEBUG(("Disconnecting...\n"));
|
||||||
cache_save_state();
|
|
||||||
rdp_disconnect();
|
rdp_disconnect();
|
||||||
|
cache_save_state();
|
||||||
ui_deinit();
|
ui_deinit();
|
||||||
|
|
||||||
if (ext_disc_reason >= 2)
|
if (ext_disc_reason >= 2)
|
||||||
|
2
rdp.c
2
rdp.c
@ -539,7 +539,7 @@ rdp_out_bmpcache2_caps(STREAM s)
|
|||||||
out_uint16_le(s, RDP_CAPSET_BMPCACHE2);
|
out_uint16_le(s, RDP_CAPSET_BMPCACHE2);
|
||||||
out_uint16_le(s, RDP_CAPLEN_BMPCACHE2);
|
out_uint16_le(s, RDP_CAPLEN_BMPCACHE2);
|
||||||
|
|
||||||
out_uint16_le(s, g_bitmap_cache_persist_enable ? 1 : 0); /* version */
|
out_uint16_le(s, g_bitmap_cache_persist_enable ? 2 : 0); /* version */
|
||||||
|
|
||||||
out_uint16_le(s, 0x0300); /* flags? number of caches? */
|
out_uint16_le(s, 0x0300); /* flags? number of caches? */
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user