Discard/reconstruct list of offscreen areas on VT switch so no allocations
can occur while switched away. Set type of off_screen_areas member to actual type instead of pointer
This commit is contained in:
parent
f4bcd36a38
commit
16b2ea64e7
|
@ -121,7 +121,7 @@ typedef struct _KdScreenInfo {
|
||||||
CARD8 *memory_base;
|
CARD8 *memory_base;
|
||||||
int off_screen_base;
|
int off_screen_base;
|
||||||
int off_screen_size;
|
int off_screen_size;
|
||||||
pointer off_screen_areas;
|
struct _RealOffscreenArea *off_screen_areas;
|
||||||
} KdScreenInfo;
|
} KdScreenInfo;
|
||||||
|
|
||||||
typedef struct _KdCardFuncs {
|
typedef struct _KdCardFuncs {
|
||||||
|
|
|
@ -222,12 +222,13 @@ KdOffscreenSwapOut (ScreenPtr pScreen)
|
||||||
KdOffscreenValidate (pScreen);
|
KdOffscreenValidate (pScreen);
|
||||||
}
|
}
|
||||||
KdOffscreenValidate (pScreen);
|
KdOffscreenValidate (pScreen);
|
||||||
|
KdOffscreenFini (pScreen);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
KdOffscreenSwapIn (ScreenPtr pScreen)
|
KdOffscreenSwapIn (ScreenPtr pScreen)
|
||||||
{
|
{
|
||||||
/* nothing to do here; page in on usage */
|
KdOffscreenInit (pScreen);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* merge the next free area into this one */
|
/* merge the next free area into this one */
|
||||||
|
@ -248,7 +249,6 @@ KdOffscreenMerge (KdOffscreenArea *area)
|
||||||
void
|
void
|
||||||
KdOffscreenFree (KdOffscreenArea *area)
|
KdOffscreenFree (KdOffscreenArea *area)
|
||||||
{
|
{
|
||||||
ScreenPtr pScreen = area->screen;
|
|
||||||
RealOffscreenArea *real_area = (RealOffscreenArea *) area;
|
RealOffscreenArea *real_area = (RealOffscreenArea *) area;
|
||||||
RealOffscreenArea *next = real_area->next;
|
RealOffscreenArea *next = real_area->next;
|
||||||
RealOffscreenArea *prev = real_area->prev;
|
RealOffscreenArea *prev = real_area->prev;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user