On Mon, 26 Feb 2001, Mariano Alvarez Fernandez wrote:
The problem is this code in src/setup/setmode.c:
if((t || buildframedriver(&vmd,&fdr)) && (t || buildcontext(&vmd,&fdr,&cxt)) && (*vmd.extinfo->setup)(&vmd,noclear)) {
We can set the frame pointer in the setup routine, but buildcontext uses it in advance, I can change the code to:
if((*vmd.extinfo->setup)(&vmd,noclear)) && (t || buildframedriver(&vmd,&fdr)) && (t || buildcontext(&vmd,&fdr,&cxt))){
but I don't know if we break any other driver with it.
Hartmut if you can, your opinion will be unvaluable here.
You should try
if((t || buildframedriver(&vmd,&fdr)) && (*vmd.extinfo->setup)(&vmd,noclear) && (t || buildcontext(&vmd,&fdr,&cxt)) )
instead. builddriver should stay before setup() since it doesnŽt use the frame address.
Note, this code is nearly unchanged since Csaba wrote it and I never really got through all details.
Hartmut