|
@@ -105,7 +105,11 @@ int D_open_driver(void)
|
|
|
G_debug(1, "D_open_driver():");
|
|
|
p = getenv("GRASS_RENDER_IMMEDIATE");
|
|
|
m = G__getenv("MONITOR");
|
|
|
- if (m) {
|
|
|
+
|
|
|
+ if (m && G_strncasecmp(m, "wx", 2) == 0) {
|
|
|
+ /* wx monitors always use GRASS_RENDER_IMMEDIATE. */
|
|
|
+ p = NULL; /* use default display driver */
|
|
|
+ } else if (m) {
|
|
|
char *env;
|
|
|
const char *v;
|
|
|
|
|
@@ -115,13 +119,10 @@ int D_open_driver(void)
|
|
|
env = NULL;
|
|
|
G_asprintf(&env, "MONITOR_%s_MAPFILE", m);
|
|
|
v = G__getenv(env);
|
|
|
- if (G_strncasecmp(m, "wx", 2) == 0)
|
|
|
- p = NULL; /* use default display driver */
|
|
|
- else
|
|
|
- p = m;
|
|
|
-
|
|
|
+ p = m;
|
|
|
+
|
|
|
if (v) {
|
|
|
- if (p && G_strcasecmp(p, "ps") == 0)
|
|
|
+ if (G_strcasecmp(p, "ps") == 0)
|
|
|
G_putenv("GRASS_PSFILE", v);
|
|
|
else
|
|
|
G_putenv("GRASS_PNGFILE", v);
|
|
@@ -196,9 +197,12 @@ int D_save_command(const char *cmd)
|
|
|
G_debug(1, "D_save_command(): %s", cmd);
|
|
|
|
|
|
mon_name = G__getenv("MONITOR");
|
|
|
- if (!mon_name)
|
|
|
+ if (!mon_name || /* if no monitor selected */
|
|
|
+ /* or wx monitor selected and display commands called by the monitor */
|
|
|
+ (G_strncasecmp(mon_name, "wx", 2) == 0 &&
|
|
|
+ getenv("GRASS_RENDER_IMMEDIATE")))
|
|
|
return 0;
|
|
|
-
|
|
|
+
|
|
|
env = NULL;
|
|
|
G_asprintf(&env, "MONITOR_%s_CMDFILE", mon_name);
|
|
|
mon_cmd = G__getenv(env);
|