|
@@ -8,7 +8,7 @@
|
|
|
|
|
|
static void start(const char *, const char *);
|
|
|
static void start_wx(const char *, const char *, const char *,
|
|
|
- const char *, const char *);
|
|
|
+ const char *, const char *, const char *);
|
|
|
|
|
|
/* start file-based monitor */
|
|
|
void start(const char *name, const char *output)
|
|
@@ -24,24 +24,19 @@ void start(const char *name, const char *output)
|
|
|
}
|
|
|
|
|
|
/* start wxGUI display monitor */
|
|
|
-void start_wx(const char *name, const char *tempfile, const char *env_value,
|
|
|
+void start_wx(const char *name, const char *tempfile,
|
|
|
+ const char *env_value, const char *cmd_value,
|
|
|
const char *width, const char *height)
|
|
|
{
|
|
|
char progname[GPATH_MAX];
|
|
|
- char *env_name, *map_value, *cmd_value;
|
|
|
+ char *env_name, *map_value;
|
|
|
|
|
|
env_name = NULL;
|
|
|
- G_asprintf(&env_name, "MONITOR_%s_CMDFILE", name);
|
|
|
- G_asprintf(&cmd_value, "%s.cmd", tempfile);
|
|
|
- G_setenv(env_name, cmd_value);
|
|
|
- close(creat(cmd_value, 0666));
|
|
|
-
|
|
|
G_asprintf(&env_name, "MONITOR_%s_MAPFILE", name);
|
|
|
G_asprintf(&map_value, "%s.ppm", tempfile);
|
|
|
G_setenv(env_name, map_value);
|
|
|
/* close(creat(map_value, 0666)); */
|
|
|
|
|
|
- G_debug(3, " cmdfile = %s", cmd_value);
|
|
|
G_debug(3, " mapfile = %s", map_value);
|
|
|
|
|
|
sprintf(progname, "%s/etc/gui/wxpython/gui_modules/mapdisp.py", G_gisbase());
|
|
@@ -53,7 +48,7 @@ int start_mon(const char *name, const char *output, int select,
|
|
|
const char *width, const char *height, const char *bgcolor)
|
|
|
{
|
|
|
const char *curr_mon;
|
|
|
- char *env_name, *env_value;
|
|
|
+ char *env_name, *env_value, *cmd_value;
|
|
|
char *tempfile, buf[1024];
|
|
|
int env_fd;
|
|
|
|
|
@@ -87,16 +82,24 @@ int start_mon(const char *name, const char *output, int select,
|
|
|
}
|
|
|
close(env_fd);
|
|
|
|
|
|
+ cmd_value = NULL;
|
|
|
+ G_asprintf(&env_name, "MONITOR_%s_CMDFILE", name);
|
|
|
+ G_asprintf(&cmd_value, "%s.cmd", tempfile);
|
|
|
+ G_setenv(env_name, cmd_value);
|
|
|
+ close(creat(cmd_value, 0666));
|
|
|
+
|
|
|
G_verbose_message(_("Staring monitor <%s> with env file '%s'"), name, env_value);
|
|
|
|
|
|
G_debug(1, "start: name=%s ", name);
|
|
|
G_debug(3, " envfile = %s", env_value);
|
|
|
-
|
|
|
+ G_debug(3, " cmdfile = %s", cmd_value);
|
|
|
+
|
|
|
if (select)
|
|
|
G_setenv("MONITOR", name);
|
|
|
|
|
|
if (strncmp(name, "wx", 2) == 0) /* use G_strncasecmp() instead */
|
|
|
- start_wx(name, tempfile, env_value, width, height);
|
|
|
+ start_wx(name, tempfile, env_value, cmd_value,
|
|
|
+ width, height);
|
|
|
else
|
|
|
start(name, output);
|
|
|
|