1
0
mirror of git://projects.qi-hardware.com/openwrt-packages.git synced 2024-07-03 01:08:56 +03:00

plplot: fix svgalib driver display bug w/ plenv() resetting current color

This commit is contained in:
David Kühling 2011-01-30 19:23:23 +01:00
parent f324527027
commit be5eeea07c

View File

@ -1,7 +1,7 @@
Index: plplot-5.9.7/drivers/linuxvga.c Index: plplot-5.9.7/drivers/linuxvga.c
=================================================================== ===================================================================
--- plplot-5.9.7.orig/drivers/linuxvga.c 2011-01-08 12:20:09.000000000 +0100 --- plplot-5.9.7.orig/drivers/linuxvga.c 2011-01-30 19:15:09.000000000 +0100
+++ plplot-5.9.7/drivers/linuxvga.c 2011-01-09 14:23:05.000000000 +0100 +++ plplot-5.9.7/drivers/linuxvga.c 2011-01-30 19:17:08.000000000 +0100
@@ -39,8 +39,8 @@ @@ -39,8 +39,8 @@
/* INDENT ON */ /* INDENT ON */
@ -13,7 +13,15 @@ Index: plplot-5.9.7/drivers/linuxvga.c
/* A flag to tell us whether we are in text or graphics mode */ /* A flag to tell us whether we are in text or graphics mode */
@@ -95,7 +95,7 @@ @@ -53,6 +53,7 @@
static int mode = TEXT_MODE;
static int col = 1;
static int totcol = 16;
+static int vgacol = 0;
#define CLEAN 0
#define DIRTY 1
@@ -95,7 +96,7 @@
/* What kind of VGA mode one wants is set up here. /* What kind of VGA mode one wants is set up here.
* It can be easyly made interactive! */ * It can be easyly made interactive! */
@ -22,7 +30,7 @@ Index: plplot-5.9.7/drivers/linuxvga.c
if ( vga_hasmode( mode ) ) if ( vga_hasmode( mode ) )
vga_setmode( mode ); vga_setmode( mode );
else else
@@ -111,7 +111,7 @@ @@ -111,7 +112,7 @@
totcol = vga_getcolors(); totcol = vga_getcolors();
@ -31,7 +39,15 @@ Index: plplot-5.9.7/drivers/linuxvga.c
plP_setphy( 0, vgax, 0, vgay ); plP_setphy( 0, vgax, 0, vgay );
} }
@@ -202,24 +202,34 @@ @@ -163,6 +164,7 @@
/* vga_setmode(mode); */
vga_clear(); /* just clean it */
+ vga_setcolor(vgacol); /* restore color (reset by vga_clear()) */
page_state = CLEAN;
}
@@ -202,24 +204,34 @@
void void
plD_state_vga( PLStream *pls, PLINT op ) plD_state_vga( PLStream *pls, PLINT op )
{ {
@ -60,7 +76,7 @@ Index: plplot-5.9.7/drivers/linuxvga.c
+ { + {
+ r = pls->curcolor.r, g = pls->curcolor.g, b = pls->curcolor.b; + r = pls->curcolor.r, g = pls->curcolor.g, b = pls->curcolor.b;
+ } + }
+ vga_setrgbcolor (r, g, b); + vgacol = vga_setrgbcolor (r, g, b);
+ break; + break;
case PLSTATE_COLOR1: case PLSTATE_COLOR1:
+ if ( !pls->color ) + if ( !pls->color )
@ -71,7 +87,7 @@ Index: plplot-5.9.7/drivers/linuxvga.c
+ { + {
+ r = pls->curcolor.r, g = pls->curcolor.g, b = pls->curcolor.b; + r = pls->curcolor.r, g = pls->curcolor.g, b = pls->curcolor.b;
+ } + }
+ vga_setrgbcolor( r, g, b ); + vgacol = vga_setrgbcolor( r, g, b );
break; break;
} }
} }