summaryrefslogtreecommitdiff
path: root/xc/programs/Xserver/hw/kdrive/vesa/vbe.c
diff options
context:
space:
mode:
Diffstat (limited to 'xc/programs/Xserver/hw/kdrive/vesa/vbe.c')
-rw-r--r--xc/programs/Xserver/hw/kdrive/vesa/vbe.c21
1 files changed, 12 insertions, 9 deletions
diff --git a/xc/programs/Xserver/hw/kdrive/vesa/vbe.c b/xc/programs/Xserver/hw/kdrive/vesa/vbe.c
index c955d924d..f9c05d59b 100644
--- a/xc/programs/Xserver/hw/kdrive/vesa/vbe.c
+++ b/xc/programs/Xserver/hw/kdrive/vesa/vbe.c
@@ -19,7 +19,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
*/
-/* $XFree86: xc/programs/Xserver/hw/kdrive/vesa/vbe.c,v 1.8 2000/11/29 08:42:25 keithp Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/kdrive/vesa/vbe.c,v 1.9 2001/05/29 04:54:12 keithp Exp $ */
#include "vesa.h"
@@ -196,7 +196,7 @@ VbeCleanup (Vm86InfoPtr vi, VbeInfoPtr vbe)
}
int
-VbeSetMode (Vm86InfoPtr vi, VbeInfoPtr vbe, int mode, int linear)
+VbeSetMode (Vm86InfoPtr vi, VbeInfoPtr vbe, int mode, int linear, int direct)
{
int code;
VbeInfoBlock vib;
@@ -223,13 +223,16 @@ VbeSetMode (Vm86InfoPtr vi, VbeInfoPtr vbe, int mode, int linear)
vbe->windowA_offset = vbe->windowB_offset = -1;
vbe->last_window = 1;
- if(vib.Capabilities[0] & 1)
- palette_hi = 1;
- if(vib.Capabilities[0] & 4)
- palette_wait = 1;
-
- if(palette_hi || palette_wait)
- VbeSetPaletteOptions(vi, vbe, palette_hi?8:6, palette_wait);
+ if (!direct)
+ {
+ if(vib.Capabilities[0] & 1)
+ palette_hi = 1;
+ if(vib.Capabilities[0] & 4)
+ palette_wait = 1;
+
+ if(palette_hi || palette_wait)
+ VbeSetPaletteOptions(vi, vbe, palette_hi?8:6, palette_wait);
+ }
return 0;
}