1
0
mirror of git://projects.qi-hardware.com/openwrt-packages.git synced 2024-11-25 20:36:15 +02:00
openwrt-packages/gnuplot-gfx/patches/050-ggi-close.patch

72 lines
1.5 KiB
Diff

Index: gnuplot-4.4.0/term/ggi.trm
===================================================================
--- gnuplot-4.4.0.orig/term/ggi.trm 2011-01-05 13:48:52.000000000 +0100
+++ gnuplot-4.4.0/term/ggi.trm 2011-01-05 21:52:25.000000000 +0100
@@ -230,6 +230,7 @@
static TBOOLEAN GGI_mode_changed = 1;
static char GGI_mode_spec[0xff] = "";
static int GGI_acceleration = 7; /* arbitrary */
+static TBOOLEAN GGI_initialized = 0;
enum GGI_id {
GGI_MODE,
@@ -275,6 +276,7 @@
/* Called bevore a graphic is displayed */
TERM_PUBLIC void GGI_graphics()
{
+ GGI_init();
#ifdef USE_MOUSE
int i, j;
int display_frame = ggiGetDisplayFrame(GGIvisual);
@@ -355,6 +357,12 @@
int success = 0;
ggi_mode mode;
+ if (GGI_initialized) {
+ return;
+ }
+ GGI_initialized = 1;
+ printf ("gii initializing\n");
+
#if 0
if (0 != giiInit()) {
ggiPanic("*** giiInit() failed *** \n");
@@ -554,6 +562,10 @@
TERM_PUBLIC void
GGI_close()
{
+ if (!GGI_initialized) {
+ return;
+ }
+
ggiFlush(GGIvisual);
/* DETACH EXTENSIONS */
#if HAVE_WMH_H
@@ -567,6 +579,8 @@
ggiClose(GGIvisual);
GGIvisual = (ggi_visual_t)0;
+ ggiExit();
+ GGI_initialized = 0;
/* EXIT EXTENSIONS */
#if HAVE_WMH_H
@@ -578,6 +592,8 @@
#ifdef ENABLE_XMI
xmiExit();
#endif
+
+ printf ("gii closed\n");
}
/* Called when terminal is terminated i.e.
@@ -614,6 +630,8 @@
GGI_resume()
{
/* do nothing */
+ /* why? this looks broken! */
+ GGI_init();
}
TERM_PUBLIC void